diff --git a/3way.cpp b/3way.cpp index 30cd14a3..ad57edf5 100644 --- a/3way.cpp +++ b/3way.cpp @@ -7,11 +7,13 @@ NAMESPACE_BEGIN(CryptoPP) +#if !defined(NDEBUG) && !defined(CRYPTOPP_DOXYGEN_PROCESSING) void ThreeWay_TestInstantiations() { ThreeWay::Encryption x1; ThreeWay::Decryption x2; } +#endif static const word32 START_E = 0x0b0b; // round constant of first encryption round static const word32 START_D = 0xb1b1; // round constant of first decryption round diff --git a/3way.h b/3way.h index ca6c0d15..72f9984d 100644 --- a/3way.h +++ b/3way.h @@ -1,12 +1,12 @@ // 3way.h - written and placed in the public domain by Wei Dai -//! \file -//! \headerfile 3way.h -//! \brief Class files for the 3way cipher +//! \file 3way.h +//! \brief Classes for the 3-Way block cipher #ifndef CRYPTOPP_THREEWAY_H #define CRYPTOPP_THREEWAY_H +#include "config.h" #include "seckey.h" #include "secblock.h" diff --git a/Doxyfile b/Doxyfile index 458f3c7c..da7bbf4c 100644 --- a/Doxyfile +++ b/Doxyfile @@ -1,4 +1,4 @@ -# Doxyfile 1.8.9.1 +# Doxyfile 1.8.9 # This file describes the settings to be used by the documentation system # doxygen (www.doxygen.org) for a project. @@ -47,14 +47,16 @@ PROJECT_NUMBER = 5.6.3 # for a project that appears at the top of each page and should give viewer a # quick idea about the purpose of the project. Keep the description short. -PROJECT_BRIEF = +# Without the HTML escape characters, Doxygen concatenates the string below... +PROJECT_BRIEF = Free C++ class library of cryptographic schemes # With the PROJECT_LOGO tag one can specify a logo or an icon that is included # in the documentation. The maximum height of the logo should not exceed 55 # pixels and the maximum width should not exceed 200 pixels. Doxygen will copy # the logo to the output directory. -PROJECT_LOGO = +# The logo looks really bad here. Don't use it. +# PROJECT_LOGO = Logo-Steel.png # The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) path # into which the generated documentation will be written. If a relative path is @@ -219,7 +221,7 @@ SEPARATE_MEMBER_PAGES = NO # uses this value to replace tabs by spaces in code fragments. # Minimum value: 1, maximum value: 16, default value: 4. -TAB_SIZE = 8 +TAB_SIZE = 4 # This tag can be used to specify a number of aliases that act as commands in # the documentation. An alias has the form: @@ -294,7 +296,7 @@ EXTENSION_MAPPING = # case of backward compatibilities issues. # The default value is: YES. -MARKDOWN_SUPPORT = YES +MARKDOWN_SUPPORT = NO # When enabled doxygen tries to link words that correspond to documented # classes, or namespaces to their corresponding documentation. Such a link can @@ -312,7 +314,7 @@ AUTOLINK_SUPPORT = YES # diagrams that involve STL classes more complete and accurate. # The default value is: NO. -BUILTIN_STL_SUPPORT = NO +BUILTIN_STL_SUPPORT = YES # If you use Microsoft's C++/CLI language, you should set this option to YES to # enable parsing support. @@ -336,7 +338,7 @@ SIP_SUPPORT = NO # should set this option to NO. # The default value is: YES. -IDL_PROPERTY_SUPPORT = YES +IDL_PROPERTY_SUPPORT = NO # 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 @@ -625,7 +627,7 @@ GENERATE_DEPRECATEDLIST= YES # sections, marked by \if ... \endif and \cond # ... \endcond blocks. -ENABLED_SECTIONS = +ENABLED_SECTIONS = NO # The MAX_INITIALIZER_LINES tag determines the maximum number of lines that the # initial value of a variable or macro / define can have for it to appear in the diff --git a/Filelist.txt b/Filelist.txt new file mode 100644 index 00000000..fd503de5 --- /dev/null +++ b/Filelist.txt @@ -0,0 +1,393 @@ +3way.cpp +3way.h +adhoc.cpp.proto +adler32.cpp +adler32.h +aes.h +algebra.cpp +algebra.h +algparam.cpp +algparam.h +arc4.cpp +arc4.h +argnames.h +asn.cpp +asn.h +authenc.cpp +authenc.h +base32.cpp +base32.h +base64.cpp +base64.h +basecode.cpp +basecode.h +bench.cpp +bench.h +bench2.cpp +bfinit.cpp +blowfish.cpp +blowfish.h +blumshub.cpp +blumshub.h +camellia.cpp +camellia.h +cast.cpp +cast.h +casts.cpp +cbcmac.cpp +cbcmac.h +ccm.cpp +ccm.h +channels.cpp +channels.h +cmac.cpp +cmac.h +config.h +config.recommend +cpu.cpp +cpu.h +crc.cpp +crc.h +cryptdll.dsp +cryptdll.vcproj +cryptest.dsp +cryptest.dsw +cryptest.sh +cryptest.sln +cryptest.vcproj +cryptest_bds.bdsgroup +cryptest_bds.bdsproj +cryptest_bds.bpf +cryptlib.cpp +cryptlib.dsp +cryptlib.h +cryptlib.vcproj +cryptlib_bds.bdsproj +cryptlib_bds.cpp +cryptopp.rc +cryptopp563.diff +datatest.cpp +default.cpp +default.h +des.cpp +des.h +dessp.cpp +dh.cpp +dh.h +dh2.cpp +dh2.h +dll.cpp +dll.h +dlltest.cpp +dlltest.dsp +dlltest.vcproj +dmac.h +dsa.cpp +dsa.h +eax.cpp +eax.h +ec2n.cpp +ec2n.h +eccrypto.cpp +eccrypto.h +ecp.cpp +ecp.h +elgamal.cpp +elgamal.h +emsa2.cpp +emsa2.h +eprecomp.cpp +eprecomp.h +esign.cpp +esign.h +factory.h +files.cpp +files.h +filters.cpp +filters.h +fips140.cpp +fips140.h +fipsalgt.cpp +fipstest.cpp +fltrimpl.h +gcm.cpp +gcm.h +gf256.cpp +gf256.h +gf2_32.cpp +gf2_32.h +gf2n.cpp +gf2n.h +gfpcrypt.cpp +gfpcrypt.h +gost.cpp +gost.h +gzip.cpp +gzip.h +hex.cpp +hex.h +hkdf.h +hmac.cpp +hmac.h +hrtimer.cpp +hrtimer.h +ida.cpp +ida.h +idea.cpp +idea.h +integer.cpp +integer.h +iterhash.cpp +iterhash.h +lubyrack.h +luc.cpp +luc.h +mars.cpp +mars.h +marss.cpp +md2.cpp +md2.h +md4.cpp +md4.h +md5.cpp +md5.h +mdc.h +mersenne.h +misc.cpp +misc.h +modarith.h +modes.cpp +modes.h +modexppc.h +mqueue.cpp +mqueue.h +mqv.cpp +mqv.h +nbtheory.cpp +nbtheory.h +network.cpp +network.h +nr.h +oaep.cpp +oaep.h +oids.h +osrng.cpp +osrng.h +panama.cpp +panama.h +pch.cpp +pch.h +pkcspad.cpp +pkcspad.h +polynomi.cpp +polynomi.h +pssr.cpp +pssr.h +pubkey.cpp +pubkey.h +pwdbased.h +queue.cpp +queue.h +rabin.cpp +rabin.h +randpool.cpp +randpool.h +rc2.cpp +rc2.h +rc5.cpp +rc5.h +rc6.cpp +rc6.h +rdrand-masm.cmd +rdrand-nasm.sh +rdrand.S +rdrand.asm +rdrand.cpp +rdrand.h +rdtables.cpp +regtest.cpp +resource.h +rijndael.cpp +rijndael.h +ripemd.cpp +ripemd.h +rng.cpp +rng.h +rsa.cpp +rsa.h +rw.cpp +rw.h +safer.cpp +safer.h +salsa.cpp +salsa.h +seal.cpp +seal.h +secblock.h +seckey.h +seed.cpp +seed.h +serpent.cpp +serpent.h +serpentp.h +sha.cpp +sha.h +sha3.cpp +sha3.h +shacal2.cpp +shacal2.h +shark.cpp +shark.h +sharkbox.cpp +simple.cpp +simple.h +skipjack.cpp +skipjack.h +smartptr.h +socketft.cpp +socketft.h +sosemanuk.cpp +sosemanuk.h +square.cpp +square.h +squaretb.cpp +stdcpp.h +strciphr.cpp +strciphr.h +tea.cpp +tea.h +test.cpp +tftables.cpp +tiger.cpp +tiger.h +tigertab.cpp +trdlocal.cpp +trdlocal.h +trunhash.h +ttmac.cpp +ttmac.h +twofish.cpp +twofish.h +validat1.cpp +validat2.cpp +validat3.cpp +validate.h +vmac.cpp +vmac.h +vs2010.zip +wait.cpp +wait.h +wake.cpp +wake.h +whrlpool.cpp +whrlpool.h +winpipes.cpp +winpipes.h +words.h +x64dll.asm +x64masm.asm +xtr.cpp +xtr.h +xtrcrypt.cpp +xtrcrypt.h +zdeflate.cpp +zdeflate.h +zinflate.cpp +zinflate.h +zlib.cpp +zlib.h +Doxyfile +GNUmakefile +GNUmakefile-cross +License.txt +Readme.txt +Install.txt +Filelist.txt +TestData/3desval.dat +TestData/3wayval.dat +TestData/camellia.dat +TestData/cast128v.dat +TestData/cast256v.dat +TestData/descert.dat +TestData/dh1024.dat +TestData/dh2048.dat +TestData/dlie1024.dat +TestData/dlie2048.dat +TestData/dsa1024.dat +TestData/dsa1024b.dat +TestData/dsa512.dat +TestData/elgc1024.dat +TestData/esig1023.dat +TestData/esig1536.dat +TestData/esig2046.dat +TestData/gostval.dat +TestData/ideaval.dat +TestData/luc1024.dat +TestData/luc2048.dat +TestData/lucc1024.dat +TestData/lucc512.dat +TestData/lucd1024.dat +TestData/lucd512.dat +TestData/lucs1024.dat +TestData/lucs512.dat +TestData/marsval.dat +TestData/mqv1024.dat +TestData/mqv2048.dat +TestData/nr1024.dat +TestData/nr2048.dat +TestData/rabi1024.dat +TestData/rabi2048.dat +TestData/rc2val.dat +TestData/rc5val.dat +TestData/rc6val.dat +TestData/rijndael.dat +TestData/rsa1024.dat +TestData/rsa2048.dat +TestData/rsa400pb.dat +TestData/rsa400pv.dat +TestData/rsa512a.dat +TestData/rw1024.dat +TestData/rw2048.dat +TestData/saferval.dat +TestData/serpentv.dat +TestData/shacal2v.dat +TestData/sharkval.dat +TestData/skipjack.dat +TestData/squareva.dat +TestData/twofishv.dat +TestData/usage.dat +TestData/xtrdh171.dat +TestData/xtrdh342.dat +TestVectors/Readme.txt +TestVectors/aes.txt +TestVectors/all.txt +TestVectors/camellia.txt +TestVectors/ccm.txt +TestVectors/cmac.txt +TestVectors/dlies.txt +TestVectors/dsa.txt +TestVectors/dsa_1363.txt +TestVectors/eax.txt +TestVectors/esign.txt +TestVectors/gcm.txt +TestVectors/hkdf.txt +TestVectors/hmac.txt +TestVectors/mars.txt +TestVectors/nr.txt +TestVectors/panama.txt +TestVectors/rsa_oaep.txt +TestVectors/rsa_pkcs1_1_5.txt +TestVectors/rsa_pss.txt +TestVectors/rw.txt +TestVectors/salsa.txt +TestVectors/seal.txt +TestVectors/seed.txt +TestVectors/sha.txt +TestVectors/sha3.txt +TestVectors/shacal2.txt +TestVectors/sosemanuk.txt +TestVectors/tea.txt +TestVectors/ttmac.txt +TestVectors/vmac.txt +TestVectors/wake.txt +TestVectors/whrlpool.txt diff --git a/GNUmakefile b/GNUmakefile old mode 100644 new mode 100755 index 8dbed505..527616cc --- a/GNUmakefile +++ b/GNUmakefile @@ -23,6 +23,7 @@ LN ?= ln -sf UNAME := $(shell uname) IS_X86 := $(shell uname -m | $(EGREP) -i -c "i.86|x86|i86|amd64") IS_X86_64 := $(shell uname -m | $(EGREP) -i -c "(_64|d64)") +IS_AARCH64 := $(shell uname -m | $(EGREP) -i -c "aarch64") IS_SUN := $(shell uname | $(EGREP) -i -c "SunOS") IS_LINUX := $(shell $(CXX) -dumpmachine 2>&1 | $(EGREP) -i -c "Linux") @@ -55,45 +56,42 @@ endif ifeq ($(IS_X86),1) IS_GCC_29 := $(shell $(CXX) -v 2>&1 | $(EGREP) -i -c gcc-9[0-9][0-9]) -IS_GCC_41 := $(shell $(CXX) -v 2>&1 | $(EGREP) -i -c "gcc version 4\.1\.") -GCC42_OR_LATER := $(shell $(CXX) -v 2>&1 | $(EGREP) -i -c "gcc version (4\.[2-9]|[5-9])") -GCC46_OR_LATER := $(shell $(CXX) -v 2>&1 | $(EGREP) -i -c "gcc version (4\.[6-9]|[5-9])") -GCC48_OR_LATER := $(shell $(CXX) -v 2>&1 | $(EGREP) -i -c "gcc version (4\.[8-9]|[5-9])") -GCC49_OR_LATER := $(shell $(CXX) -v 2>&1 | $(EGREP) -i -c "gcc version (4\.9|[5-9])") +GCC42_OR_LATER := $(shell $(CXX) -v 2>&1 | $(EGREP) -i -c "gcc version (4\.[2-9]|[5-9]\.)") +GCC46_OR_LATER := $(shell $(CXX) -v 2>&1 | $(EGREP) -i -c "gcc version (4\.[6-9]|[5-9]\.)") +GCC48_OR_LATER := $(shell $(CXX) -v 2>&1 | $(EGREP) -i -c "gcc version (4\.[8-9]|[5-9]\.)") +GCC49_OR_LATER := $(shell $(CXX) -v 2>&1 | $(EGREP) -i -c "gcc version (4\.9|[5-9]\.)") ICC111_OR_LATER := $(shell $(CXX) --version 2>&1 | $(EGREP) -c "\(ICC\) ([2-9][0-9]|1[2-9]|11\.[1-9])") GAS210_OR_LATER := $(shell $(CXX) -xc -c /dev/null -Wa,-v -o/dev/null 2>&1 | $(EGREP) -c "GNU assembler version (2\.[1-9][0-9]|[3-9])") GAS217_OR_LATER := $(shell $(CXX) -xc -c /dev/null -Wa,-v -o/dev/null 2>&1 | $(EGREP) -c "GNU assembler version (2\.1[7-9]|2\.[2-9]|[3-9])") GAS219_OR_LATER := $(shell $(CXX) -xc -c /dev/null -Wa,-v -o/dev/null 2>&1 | $(EGREP) -c "GNU assembler version (2\.19|2\.[2-9]|[3-9])") -# Add -fPIC for x86_64, but not X32 or Cygwin +# Add -fPIC for x86_64, but not X32, Cygwin or MinGW ifneq ($(IS_X86_64),0) IS_X32 := $(shell $(CXX) -dM -E - < /dev/null 2>&1 | $(EGREP) -c "ILP32") - ifeq ($(IS_X32),0) - ifeq ($(IS_CYGWIN),0) + ifeq ($(IS_X32)$(IS_CYGWIN)$(IS_MINGW),000) ifeq ($(findstring -fPIC,$(CXXFLAGS)),) CXXFLAGS += -fPIC endif endif - endif endif -# Work around GCC 4.1 bug. -ifneq ($(IS_GCC_41),0) +# Guard use of -march=native +ifeq ($(GCC_COMPILER),0) + CXXFLAGS += -march=native +else ifneq ($(GCC42_OR_LATER),0) + CXXFLAGS += -march=native +else + # GCC 3.3 and "unknown option -march=" # GCC 4.1 compiler crash with -march=native. - # Experienced on CentOS 5, which is still active. ifneq ($(IS_X86_64),0) CXXFLAGS += -m64 else CXXFLAGS += -m32 endif # X86/X32/X64 - # Not GCC 4.1, use default -else - CXXFLAGS += -march=native endif # Aligned access required at -O3 for GCC due to vectorization (circa 08/2008). Expect other compilers to do the same. -GCC46_OR_LATER ?= 0 UNALIGNED_ACCESS := $(shell $(EGREP) -c "^[[:space:]]*//[[:space:]]*\#[[:space:]]*define[[:space:]]*CRYPTOPP_NO_UNALIGNED_DATA_ACCESS" config.h) ifeq ($(findstring -O3,$(CXXFLAGS)),-O3) ifneq ($(UNALIGNED_ACCESS),0) @@ -114,13 +112,13 @@ CXXFLAGS += -DCRYPTOPP_DISABLE_ASM endif endif -ifeq ($(GAS210_OR_LATER),0) # .intel_syntax wasn't supported until GNU assembler 2.10 +ifeq ($(GCC_COMPILER)$(GAS210_OR_LATER),10) # .intel_syntax wasn't supported until GNU assembler 2.10 CXXFLAGS += -DCRYPTOPP_DISABLE_ASM else -ifeq ($(GAS217_OR_LATER),0) +ifeq ($(GCC_COMPILER)$(GAS217_OR_LATER),10) CXXFLAGS += -DCRYPTOPP_DISABLE_SSSE3 else -ifeq ($(GAS219_OR_LATER),0) +ifeq ($(GCC_COMPILER)$(GAS219_OR_LATER),10) CXXFLAGS += -DCRYPTOPP_DISABLE_AESNI endif endif @@ -154,6 +152,13 @@ M32OR64 = -m64 endif endif # IS_LINUX +# And add it for ARM64, too +ifneq ($(IS_AARCH64),0) + ifeq ($(findstring -fPIC,$(CXXFLAGS)),) + CXXFLAGS += -fPIC + endif +endif + ifneq ($(IS_DARWIN),0) AR = libtool ARFLAGS = -static -o @@ -236,6 +241,11 @@ endif # GNU Debug build # spills into POD data types, so cpu.cpp is the second candidate for explicit initialization order. SRCS := cryptlib.cpp cpu.cpp $(filter-out cryptlib.cpp cpu.cpp pch.cpp simple.cpp winpipes.cpp cryptlib_bds.cpp,$(wildcard *.cpp)) +# No need for CPU or RDRAND on non-X86 systems. X32 is represented with X64. +ifeq ($(IS_X86)$(IS_X86_64),00) + SRCS := $(filter-out cpu.cpp rdrand.cpp, $(SRCS)) +endif + ifneq ($(IS_MINGW),0) SRCS += winpipes.cpp endif @@ -256,8 +266,6 @@ LIBIMPORTOBJS := $(LIBOBJS:.o=.import.o) TESTIMPORTOBJS := $(TESTOBJS:.o=.import.o) DLLTESTOBJS := dlltest.dllonly.o -DIST_FILES := *.h *.cpp *.asm adhoc.cpp.proto License.txt Readme.txt GNUmakefile GNUmakefile-cross Doxyfile cryptest* cryptlib* dlltest* cryptdll* cryptopp.rc TestVectors/*.txt TestData/*.dat - # For Shared Objects, Diff, Dist/Zip rules LIB_VER := $(shell $(EGREP) "define CRYPTOPP_VERSION" config.h | cut -d" " -f 3) LIB_MAJOR := $(shell echo $(LIB_VER) | cut -c 1) @@ -270,6 +278,10 @@ SOLIB_COMPAT_SUFFIX=.$(LIB_MAJOR).$(LIB_MINOR) SOLIB_FLAGS=-Wl,-soname,libcryptopp.so.$(LIB_MAJOR).$(LIB_MINOR) endif # HAS_SOLIB_VERSION +ifeq ($(strip $(LIB_PATCH)),) +LIB_PATCH := 0 +endif + all: cryptest.exe ifneq ($(IS_DARWIN),0) @@ -291,17 +303,24 @@ asan ubsan align aligned: libcryptopp.a cryptest.exe test check: cryptest.exe ./cryptest.exe v -DOC_DIRECTORY := $(shell $(EGREP) "OUTPUT_DIRECTORY" Doxyfile | grep -v "\#" | cut -d "=" -f 2) -ifeq ($(DOC_DIRECTORY),) -DOC_DIRECTORY := html-docs +# Directory we want (can't specify on Doygen command line) +DOCUMENT_DIRECTORY := ref$(LIB_VER) +# Directory Doxygen uses (specified in Doygen config file) +ifeq ($(wildcard Doxyfile),Doxyfile) +DOXYGEN_DIRECTORY := $(strip $(shell $(EGREP) "OUTPUT_DIRECTORY" Doxyfile | grep -v "\#" | cut -d "=" -f 2)) +endif +# Default directory (missing in config file) +ifeq ($(strip $(DOXYGEN_DIRECTORY)),) +DOXYGEN_DIRECTORY := html-docs endif .PHONY: docs html docs html: - -$(RM) -r $(DOC_DIRECTORY)/ + -$(RM) -r $(DOXYGEN_DIRECTORY)/ $(DOCUMENT_DIRECTORY)/ html-docs/ doxygen Doxyfile -d CRYPTOPP_DOXYGEN_PROCESSING + mv $(DOXYGEN_DIRECTORY)/ $(DOCUMENT_DIRECTORY)/ -$(RM) CryptoPPRef.zip - zip -9 CryptoPPRef.zip -x ".*" -x "*/.*" -r $(DOC_DIRECTORY)/ + zip -9 CryptoPPRef.zip -x ".*" -x "*/.*" -r $(DOCUMENT_DIRECTORY)/ .PHONY: clean clean: @@ -310,14 +329,20 @@ ifeq ($(HAS_SOLIB_VERSION),1) -$(RM) libcryptopp.so libcryptopp.so$(SOLIB_COMPAT_SUFFIX) endif -$(RM) adhoc.cpp.o adhoc.cpp.proto.o $(LIBOBJS) $(TESTOBJS) $(DLLOBJS) $(LIBIMPORTOBJS) $(TESTIMPORTOBJS) $(DLLTESTOBJS) *.stackdump core-* - -$(RM) cryptest.exe dlltest.exe cryptest.import.exe ct + -$(RM) cryptest.exe dlltest.exe cryptest.import.exe ct rdrand-???.o ifneq ($(wildcard *.exe.dSYM),) -$(RM) -r *.exe.dSYM/ endif +ifneq ($(wildcard $(DOCUMENT_DIRECTORY)/),) + -$(RM) -r $(DOCUMENT_DIRECTORY)/ +endif +ifneq ($(wildcard cov-int/),) + -$(RM) -r cov-int/ +endif .PHONY: distclean distclean: clean - -$(RM) adhoc.cpp adhoc.cpp.copied GNUmakefile.deps cryptest-*result.txt *.o *.ii *.s + -$(RM) adhoc.cpp adhoc.cpp.copied GNUmakefile.deps benchmarks.html cryptest.txt cryptest-*.txt *.o *.ii *.s ifneq ($(wildcard cryptopp$(LIB_VER)\.*),) -$(RM) cryptopp$(LIB_VER)\.* endif @@ -403,40 +428,50 @@ cryptest.import.exe: cryptopp.dll libcryptopp.import.a $(TESTIMPORTOBJS) dlltest.exe: cryptopp.dll $(DLLTESTOBJS) $(CXX) -o $@ $(CXXFLAGS) $(DLLTESTOBJS) -L. -lcryptopp.dll $(LDFLAGS) $(LDLIBS) -# This recipe requires a previous "svn co -r 541 https://svn.code.sf.net/p/cryptopp/code/trunk/c5" +# This recipe requires a previous "svn co -r 541 http://svn.code.sf.net/p/cryptopp/code/trunk/c5" .PHONY: diff diff: -$(RM) cryptopp$(LIB_VER).diff -svn diff -r 541 > cryptopp$(LIB_VER).diff # This recipe prepares the distro files -TEXT_FILES := *.h *.cpp *.asm adhoc.cpp.proto License.txt Readme.txt Doxyfile cryptest* cryptlib* dlltest* cryptdll* cryptopp.rc TestVectors/*.txt TestData/*.dat -EXEC_FILES := GNUmakefile GNUmakefile-cross TestData/ TestVectors/ +TEXT_FILES := *.h *.cpp adhoc.cpp.proto License.txt Readme.txt Install.txt Filelist.txt config.recommend Doxyfile cryptest* cryptlib* dlltest* cryptdll* *.sln *.vcproj *.dsw *.dsp cryptopp.rc TestVectors/*.txt TestData/*.dat +EXEC_FILES := GNUmakefile GNUmakefile-cross cryptest.sh rdrand-nasm.sh TestData/ TestVectors/ + +ifeq ($(wildcard Filelist.txt),Filelist.txt) +DIST_FILES := $(shell cat Filelist.txt) +endif .PHONY: convert convert: - chmod a-x $(TEXT_FILES) - chmod u+x $(EXEC_FILES) - chmod u+x cryptest.sh - unix2dos --keepdate --quiet $(TEXT_FILES) - unix2dos --keepdate --quiet *.sln *.vcproj - dos2unix --keepdate --quiet GNUmakefile GNUmakefile-cross cryptest.sh + chmod 0700 TestVectors/ TestData/ + chmod 0600 $(TEXT_FILES) *.zip + chmod 0700 $(EXEC_FILES) + chmod u+x *.cmd *.sh + unix2dos --keepdate --quiet $(TEXT_FILES) *.asm *.cmd + dos2unix --keepdate --quiet GNUmakefile GNUmakefile-cross *.S *.sh +ifneq ($(IS_DARWIN),0) + xattr -c * +endif .PHONY: zip dist zip dist: | distclean convert diff zip -q -9 cryptopp$(LIB_VER).zip $(DIST_FILES) -ifeq ($(wildcard cryptopp$(LIB_VER).diff),cryptopp$(LIB_VER).diff) - zip -q -9 -u cryptopp$(LIB_VER).zip cryptopp$(LIB_VER).diff -endif -ifeq ($(wildcard vs2010.zip),vs2010.zip) - zip -q -9 -u cryptopp$(LIB_VER).zip vs2010.zip -endif -ifeq ($(wildcard config.recommend),config.recommend) - zip -q -9 -u cryptopp$(LIB_VER).zip config.recommend -endif -ifeq ($(wildcard cryptest-sh.zip),cryptest-sh.zip) - -zip -d cryptopp$(LIB_VER).zip cryptest-sh.zip -endif + +.PHONY: bench benchmark benchmarks +bench benchmark benchmarks: cryptest.exe + rm -f benchmarks.html + echo "" >> benchmarks.html + echo "" >> benchmarks.html + echo "" >> benchmarks.html + echo "Speed Comparison of Popular Crypto Algorithms" >> benchmarks.html + echo "" >> benchmarks.html + echo "" >> benchmarks.html + echo "

Crypto++" $(LIB_MAJOR).$(LIB_MINOR).$(LIB_REVISION) "Benchmarks

" >> benchmarks.html + echo "

Here are speed benchmarks for some commonly used cryptographic algorithms.

" >> benchmarks.html + ./cryptest.exe b 3 2.4 >> benchmarks.html + echo "" >> benchmarks.html + echo "" >> benchmarks.html adhoc.cpp: adhoc.cpp.proto ifeq ($(wildcard adhoc.cpp),) @@ -450,10 +485,9 @@ ifeq ($(wildcard GNUmakefile.deps),GNUmakefile.deps) -include GNUmakefile.deps endif # Dependencies -# Work around MacPorts/GCC issue with init_priority. Apple/GCC and Fink/GCC are fine; limit to MacPorts. -# Also see https://lists.macosforge.org/pipermail/macports-users/2015-September/039223.html -ifneq ($(MACPORTS_COMPILER),0) -ifneq ($(GCC_COMPILER),0) +# MacPorts/GCC issue with init_priority. Apple/GCC and Fink/GCC are fine; limit to MacPorts. +# Also see http://lists.macosforge.org/pipermail/macports-users/2015-September/039223.html +ifeq ($(GCC_COMPILER)$(MACPORTS_COMPILER),11) ifeq ($(findstring -DMACPORTS_GCC_COMPILER,$(CXXFLAGS)),) cryptlib.o: $(CXX) $(CXXFLAGS) -DMACPORTS_GCC_COMPILER=1 -c cryptlib.cpp @@ -461,7 +495,6 @@ cpu.o: $(CXX) $(CXXFLAGS) -DMACPORTS_GCC_COMPILER=1 -c cpu.cpp endif endif -endif %.dllonly.o : %.cpp $(CXX) $(CXXFLAGS) -DCRYPTOPP_DLL_ONLY -c $< -o $@ @@ -475,7 +508,7 @@ endif %.o : %.cpp $(CXX) $(CXXFLAGS) -c $< -# Warn of potential configurations issues. This will go away after 5.6.3 +# Warn of potential configurations issues. They will go away after 5.6.3. UNALIGNED_ACCESS := $(shell $(EGREP) -c "^[[:space:]]*//[[:space:]]*\#[[:space:]]*define[[:space:]]*CRYPTOPP_NO_UNALIGNED_DATA_ACCESS" config.h) NO_INIT_PRIORITY := $(shell $(EGREP) -c "^[[:space:]]*//[[:space:]]*\#[[:space:]]*define[[:space:]]*CRYPTOPP_INIT_PRIORITY" config.h) COMPATIBILITY_562 := $(shell $(EGREP) -c "^[[:space:]]*\#[[:space:]]*define[[:space:]]*CRYPTOPP_MAINTAIN_BACKWARDS_COMPATIBILITY_562" config.h) @@ -490,7 +523,7 @@ endif ifneq ($(COMPATIBILITY_562),0) $(info WARNING: CRYPTOPP_MAINTAIN_BACKWARDS_COMPATIBILITY_562 is defined in config.h.) endif -ifneq (x$(UNALIGNED_ACCESS)$(NO_INIT_PRIORITY)$(COMPATIBILITY_562),x000) +ifneq ($(UNALIGNED_ACCESS)$(NO_INIT_PRIORITY)$(COMPATIBILITY_562),000) $(info WARNING: You should make these changes in config.h, and not CXXFLAGS.) $(info WARNING: You can 'mv config.recommend config.h', but it breaks versioning.) $(info WARNING: See http://cryptopp.com/wiki/config.h for more details.) diff --git a/GNUmakefile-cross b/GNUmakefile-cross old mode 100644 new mode 100755 index 8694ef96..83aebf66 --- a/GNUmakefile-cross +++ b/GNUmakefile-cross @@ -3,7 +3,6 @@ CXXFLAGS ?= -DNDEBUG -g2 -Os -fPIC -pipe # 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 -CXXFLAGS += -Wno-unused-function -Wno-unused-parameter -Wno-unused-variable ARFLAGS = -cr # ar needs the dash on OpenBSD RANLIB ?= ranlib @@ -64,11 +63,7 @@ ifeq ($(IS_ARM_EMBEDDED),1) endif # List cryptlib.cpp first in an attempt to tame C++ static initialization problems -SRCS := cryptlib.cpp $(filter-out cryptlib.cpp pch.cpp simple.cpp winpipes.cpp cryptlib_bds.cpp,$(wildcard *.cpp)) - -ifneq ($(IS_MINGW),0) -SRCS += winpipes.cpp -endif +SRCS := cryptlib.cpp cpu.cpp $(filter-out cryptlib.cpp cpu.cpp pch.cpp simple.cpp winpipes.cpp cryptlib_bds.cpp,$(wildcard *.cpp)) # List of objects with crytlib.o at the first index position OBJS := $(SRCS:.cpp=.o) @@ -78,7 +73,7 @@ TESTOBJS := bench.o bench2.o test.o validat1.o validat2.o validat3.o adhoc.o dat LIBOBJS := $(filter-out $(TESTOBJS),$(OBJS)) # List cryptlib.cpp first in an attempt to tame C++ static initialization problems -DLLSRCS := cryptlib.cpp algebra.cpp algparam.cpp asn.cpp basecode.cpp cbcmac.cpp channels.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 +DLLSRCS := cryptlib.cpp cpu.cpp algebra.cpp algparam.cpp asn.cpp basecode.cpp cbcmac.cpp channels.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) # Import lib testing @@ -140,14 +135,14 @@ else -$(RM) $(PREFIX)/lib/libcryptopp.so endif -libcryptopp.a: $(LIBOBJS) +libcryptopp.a: public_service | $(LIBOBJS) $(AR) $(ARFLAGS) $@ $(LIBOBJS) $(RANLIB) $@ -libcryptopp.so: $(LIBOBJS) +libcryptopp.so: public_service | $(LIBOBJS) $(CXX) $(CXXFLAGS) -shared -o $@ $(LIBOBJS) $(LDFLAGS) $(LDLIBS) -cryptest.exe: libcryptopp.a $(TESTOBJS) +cryptest.exe: public_service | libcryptopp.a $(TESTOBJS) $(CXX) -o $@ $(CXXFLAGS) $(TESTOBJS) ./libcryptopp.a $(LDFLAGS) $(LDLIBS) adhoc.cpp: adhoc.cpp.proto @@ -157,13 +152,35 @@ else touch adhoc.cpp endif +# Include dependencies, if present. You must issue `make deps` to create them. +ifeq ($(wildcard GNUmakefile.deps),GNUmakefile.deps) +-include GNUmakefile.deps +endif # Dependencies + %.o : %.cpp $(CXX) $(CXXFLAGS) -c $< -# Do not build dependencies when cleaning -ifneq ($(findstring clean,$(MAKECMDGOALS)),clean) --include GNUmakefile.deps -endif - GNUmakefile.deps: $(CXX) $(CXXFLAGS) -MM *.cpp > GNUmakefile.deps + +# Warn of potential configurations issues. This will go away after 5.6.3 +UNALIGNED_ACCESS := $(shell $(EGREP) -c "^[[:space:]]*//[[:space:]]*\#[[:space:]]*define[[:space:]]*CRYPTOPP_NO_UNALIGNED_DATA_ACCESS" config.h) +NO_INIT_PRIORITY := $(shell $(EGREP) -c "^[[:space:]]*//[[:space:]]*\#[[:space:]]*define[[:space:]]*CRYPTOPP_INIT_PRIORITY" config.h) +COMPATIBILITY_562 := $(shell $(EGREP) -c "^[[:space:]]*\#[[:space:]]*define[[:space:]]*CRYPTOPP_MAINTAIN_BACKWARDS_COMPATIBILITY_562" config.h) +.PHONY: public_service +public_service: +ifneq ($(UNALIGNED_ACCESS),0) + $(info WARNING: CRYPTOPP_NO_UNALIGNED_DATA_ACCESS is not defined in config.h.) +endif +ifneq ($(NO_INIT_PRIORITY),0) + $(info WARNING: CRYPTOPP_INIT_PRIORITY is not defined in config.h.) +endif +ifneq ($(COMPATIBILITY_562),0) + $(info WARNING: CRYPTOPP_MAINTAIN_BACKWARDS_COMPATIBILITY_562 is defined in config.h.) +endif +ifneq (x$(UNALIGNED_ACCESS)$(NO_INIT_PRIORITY)$(COMPATIBILITY_562),x000) + $(info WARNING: You should make these changes in config.h, and not CXXFLAGS.) + $(info WARNING: You can 'mv config.recommend config.h', but it breaks versioning.) + $(info WARNING: See http://cryptopp.com/wiki/config.h for more details.) + $(info ) +endif diff --git a/Install.txt b/Install.txt index f9ba006b..77232b18 100644 --- a/Install.txt +++ b/Install.txt @@ -1,193 +1,169 @@ -CONTENTS OF THIS FILE ---------------------- - -* Introduction -* Building the Library -* Installing the Library -* Makefile Targets -* DataDir Patch -* Dynamic Analysis -* Acceptance Testing -* Reporting problems - -INTRODUCTION ------------- - -Crypto++ Library is a free C++ class library of cryptographic algorithms and schemes. It was written and placed in public domain by Wei Dai. The library homepage is at http://www.cryptopp.com/. The latest library source code can be found at https://github.com/weidai11/cryptopp. For licensing and copyright information, please see License.txt. - -These are general instructions for the BSDs, Linux, OS X, Solaris and Unix. On BSD you will likely have to use `gmake` to build the library. On Linux, OS X, Solaris and Unix, the system's make should be OK. On Windows, Crypto++ provides Borland and Visual Studio solutions. - -Crypto++ uses a GNU makefile, which combines configuration and a non-anemic make. You should look through the GNUmakefile and config.h to ensure settings look reasonable before building. Please pay particular attention to CRYPTOPP_NO_UNALIGNED_DATA_ACCESS in config.h. - -Crypto++ does not depend upon other tools or libraries. It does not use Autotools, does not use Cmake, and does not use Boost. - - -BUILDING THE LIBRARY --------------------- - -In general, all you should have to do is open a terminal, and then: - - make - make test - sudo make install - -The command above builds the static library and cryptest.exe program. If you want to build the shared object, then issue: - - make static dynamic cryptest.exe - -Or: - - make libcryptopp.a libcryptopp.so cryptest.exe - -On Mac OS X, you can build fat binaries by setting MULTIARCH=1: - - make MULTIARCH=1 - -Or - - export MULTIARCH=1 - make - -If you would like to use a different compiler, the set CXX: - - export CXX=/opt/intel/bin/icpc - make - -If you want to build using C++11, then: - - make CXXFLAGS="-std=c++11" - -Or: - - CXXFLAGS="-std=c++11" - make - -LLVM's libc++ is also supported, so you can: - - CXXFLAGS="-std=c++11 -stdlib=libc++" - make - -If you are experimenting with Clang and its integrated assembler, then you can: - - make FORCE_ASM=1 - -If you are experimenting with NASM, then you can: - - export AS=nasm - make - -Or - - make AS=nasm - -Be aware that the Clang assembler has a number of open issues, and trying to build with it will probably result in a compile failure or runtime test failure. - - -INSTALLING THE LIBRARY ----------------------- - -To install the library into a user selected directory, perform: - - make install PREFIX=/usr/local - -During install, the makefile copies cryptest.exe into $PREFIX/bin, copies headers into $PREFIX/include/cryptopp, and copies libraries into $PREFIX/lib. If you only built a static or dynamic version of the library, then only one library is copied. The install recipe does not fail if the static library or shared object is not built. - -PREFIX is non-standard, but its retained for historical purposes. The makefile also responds to `prefix=`. - -There are some open issues installing the library because cryptest.exe is not sympathetic to path changes of of its test vectors and test data. See the DataDir patch below to fix it. - - -MAKEFILE TARGETS ----------------- - -The following are some of the targets provided by the GNU makefile. - -`make` invokes the default rule, which builds the Crypto++ static library and test harness. They are called `libcryptopp.a` and `cryptest.exe`, respectively. `cryptest.exe` links against `libcryptopp.a`, so the static library is a prerequisite for the target. - -`make libcryptopp.a` and `make static` build the static version of the library. - -`make libcryptopp.so` and `make dynamic` build the dynamic version of the library. On Mac OS X, the recipe builds `libcryptopp.dylib` instead. - -`make cryptest.exe` builds the library test harness. - -`make test` and `make check` are the same recipe and invoke the test harness with the the validation option. That is, it executes `cryptest.exe v`. - -`make install` installs the library. By default, the makefile copies into `/usr`. On OpenBSD, `make install` uses `/usr/local` by default because C++ headers should not be placed with the system headers. - -`make clean` cleans most transient and temporary objects. - -`make disclean` cleans most objects that are not part of the original distribution. - -`make dist` and `make zip` build s ZIP file that is suitable for distribution. - - -DATADIR PATCH -------------- - -The library offers a DataDir patch to help with post-installation issues regarding the location of the test vectors and test data. Its a patch provided by the community, so it must be applied manually. To acquire the patch, see http://www.cryptopp.com/wiki/DataDir. - - -DYNAMIC ANALYSIS ----------------- - -The Crypto++ embraces tools like Undefined Behavior sanitizer (UBsan), Address sanitizer (Asan) and Valgrind. Both Clang 3.2 and above and GCC 4.8 and above provide sanitizers. Please check with your distribution on how to install the compiler with its sanitizer libraries (they are sometimes a separate install item). - -UBsan and Asan are mutually exclusive options, so you can perform only one of these at a time: - - make ubsan - ./cryptest.exe v 2>&1 | egrep "(error|FAILED)" - ./cryptest.exe tv all 2>&1 | egrep "(error|FAILED)" - -Or: - - make asan - ./cryptest.exe v 2>&1 | egrep "(error|FAILED)" - ./cryptest.exe tv all 2>&1 | egrep "(error|FAILED)" - -If you experience self test failures or see reports of undefined behavior, then you should ensure CRYPTOPP_NO_UNALIGNED_DATA_ACCESS is defined in config.h. CRYPTOPP_NO_UNALIGNED_DATA_ACCESS is not defined due to historical purposes. - -If you experience failures under Asan, then gather more information with: - - ./cryptest.exe v 2>&1 | asan_symbolize - -If you moved Crypto++ such that the paths have changed, then perform: - - ./cryptest.exe v 2>&1 | sed "s///g" | asan_symbolize - - -ACCEPTANCE TESTING ------------------- - -Crypto++ uses five security gates in its engineering process. The library must maintain the quality provided by the review system and integrity of the test suites. You can use the information to decide if the Crypto++ library suits your needs and provides a compatible security posture. - -The first gate is code review and discussion of proposed patches. Git commits often cross reference a User Group discussions. - -Second is the compiler warning system. The code must clean compile under the equivalent of GCC's -Wall -Wextra (modulo -Wno-type-limits -Wno-unknown-pragmas). This is a moving target as compiler analysis improves. - -Third, the code must pass cleanly though GCC and Clang's Undefined Behavior sanitizer (UBsan) and Address sanitizer (Asan) with CRYPTOPP_NO_UNALIGNED_DATA_ACCESS defined in config.h. See DYNAMIC ANALYSIS above on how to execute them. - -Fourth, the test harness provides a "validation" option which performs basic system checks (like endianess and word sizes) and exercises algorithms (like AES and SHA). You run the validation suite as shown below. The tail of the output should indicate 0 failed tests. - - ./cryptest.exe v - ... - - All tests passed! - Test ended at Sun Jul 26 02:10:57 2015 - Seed used was: 1437891055 - -Fifth, the test harness provides a "test vector" option which uses many known test vectors, even those published by other people (like Brian Gladman for AES). You run the test vectors as shown below. The tail of the output should indicate 0 failed tests. - - ./cryptest.exe tv all - ... - - Testing SymmetricCipher algorithm MARS/ECB. - ................. - Tests complete. Total tests = 4094. Failed tests = 0. - -REPORTING PROBLEMS ------------------- - -Dirty compiles and failures in the validation suite or test vectors should be reported at the Crypto++ User Group. The User Group is located at https://groups.google.com/forum/#!forum/cryptopp-users. - -Also see http://www.cryptopp.com/wiki/Bug_Report. - +CONTENTS OF THIS FILE +--------------------- + +* Introduction +* Building the Library +* Installing the Library +* Makefile Targets +* DataDir Patch +* Dynamic Analysis +* Acceptance Testing +* Reporting problems + +INTRODUCTION +------------ + +Crypto++ Library is a free C++ class library of cryptographic algorithms and schemes. It was written and placed in public domain by Wei Dai. The library homepage is at http://www.cryptopp.com/. The latest library source code can be found at https://github.com/weidai11/cryptopp. For licensing and copyright information, please see License.txt. + +These are general instructions for the BSDs, Linux, OS X, Solaris and Unix. On BSD you will likely have to use `gmake` to build the library. On Linux, OS X, Solaris and Unix, the system's make should be OK. On Windows, Crypto++ provides Borland and Visual Studio solutions. + +Crypto++ uses a GNU makefile, which combines configuration and a non-anemic make. You should look through the GNUmakefile and config.h to ensure settings look reasonable before building. Please pay particular attention to CRYPTOPP_NO_UNALIGNED_DATA_ACCESS in config.h. + +Crypto++ does not depend upon other tools or libraries. It does not use Autotools, does not use Cmake, and does not use Boost. + + +BUILDING THE LIBRARY +-------------------- + +In general, all you should have to do is open a terminal, and then: + + make + make test + sudo make install + +The command above builds the static library and cryptest.exe program. If you want to build the shared object, then issue: + + make static dynamic cryptest.exe + +Or: + + make libcryptopp.a libcryptopp.so cryptest.exe + + +If you would like to use a different compiler, the set CXX: + + export CXX=/opt/intel/bin/icpc + make + +If you want to build using C++11, then: + + make CXXFLAGS="-std=c++11" + +Or: + + CXXFLAGS="-std=c++11" + make + +LLVM's libc++ is also supported, so you can: + + CXXFLAGS="-std=c++11 -stdlib=libc++" + make + + +INSTALLING THE LIBRARY +---------------------- + +To install the library into a user selected directory, perform: + + make install PREFIX=/usr/local + +During install, the makefile copies cryptest.exe into $PREFIX/bin, copies headers into $PREFIX/include/cryptopp, and copies libraries into $PREFIX/lib. If you only built a static or dynamic version of the library, then only one library is copied. The install recipe does not fail if the static library or shared object is not built. + +PREFIX is non-standard, but its retained for historical purposes. The makefile also responds to `prefix=`. + +There are some open issues installing the library because cryptest.exe is not sympathetic to path changes of of its test vectors and test data. See the DataDir patch below to fix it. + + +MAKEFILE TARGETS +---------------- + +The following are some of the targets provided by the GNU makefile. + +`make` invokes the default rule, which builds the Crypto++ static library and test harness. They are called `libcryptopp.a` and `cryptest.exe`, respectively. `cryptest.exe` links against `libcryptopp.a`, so the static library is a prerequisite for the target. + +`make libcryptopp.a` and `make static` build the static version of the library. + +`make libcryptopp.so` and `make dynamic` build the dynamic version of the library. On Mac OS X, the recipe builds `libcryptopp.dylib` instead. + +`make cryptest.exe` builds the library test harness. + +`make test` and `make check` are the same recipe and invoke the test harness with the the validation option. That is, it executes `cryptest.exe v`. + +`make install` installs the library. By default, the makefile copies into `/usr`. On OpenBSD, `make install` uses `/usr/local` by default because C++ headers should not be placed with the system headers. + +`make clean` cleans most transient and temporary objects. + +`make disclean` cleans most objects that are not part of the original distribution. + +`make dist` and `make zip` build s ZIP file that is suitable for distribution. + + +DATADIR PATCH +------------- + +The library offers a DataDir patch to help with post-installation issues regarding the location of the test vectors and test data. Its a patch provided by the community, so it must be applied manually. To acquire the patch, see http://www.cryptopp.com/wiki/DataDir. + + +DYNAMIC ANALYSIS +---------------- + +The Crypto++ embraces tools like Undefined Behavior sanitizer (UBsan), Address sanitizer (Asan) and Valgrind. Both Clang 3.2 and above and GCC 4.8 and above provide sanitizers. Please check with your distribution on how to install the compiler with its sanitizer libraries (they are sometimes a separate install item). + +UBsan and Asan are mutually exclusive options, so you can perform only one of these at a time: + + make ubsan + ./cryptest.exe v 2>&1 | egrep "(error|FAILED)" + ./cryptest.exe tv all 2>&1 | egrep "(error|FAILED)" + +Or: + + make asan + ./cryptest.exe v 2>&1 | egrep "(error|FAILED)" + ./cryptest.exe tv all 2>&1 | egrep "(error|FAILED)" + +If you experience self test failures or see reports of undefined behavior, then you should ensure CRYPTOPP_NO_UNALIGNED_DATA_ACCESS is defined in config.h. CRYPTOPP_NO_UNALIGNED_DATA_ACCESS is not defined due to historical purposes. + +If you experience failures under Asan, then gather more information with: + + ./cryptest.exe v 2>&1 | asan_symbolize + +If you moved Crypto++ such that the paths have changed, then perform: + + ./cryptest.exe v 2>&1 | sed "s///g" | asan_symbolize + + +ACCEPTANCE TESTING +------------------ + +Crypto++ uses five security gates in its engineering process. The library must maintain the quality provided by the review system and integrity of the test suites. You can use the information to decide if the Crypto++ library suits your needs and provides a compatible security posture. + +The first gate is code review and discussion of proposed patches. Git commits often cross reference a User Group discussions. + +Second is the compiler warning system. The code must clean compile under the equivalent of GCC's -Wall -Wextra (modulo -Wno-type-limits -Wno-unknown-pragmas). This is a moving target as compiler analysis improves. + +Third, the code must pass cleanly though GCC and Clang's Undefined Behavior sanitizer (UBsan) and Address sanitizer (Asan) with CRYPTOPP_NO_UNALIGNED_DATA_ACCESS defined in config.h. See DYNAMIC ANALYSIS above on how to execute them. + +Fourth, the test harness provides a "validation" option which performs basic system checks (like endianess and word sizes) and exercises algorithms (like AES and SHA). You run the validation suite as shown below. The tail of the output should indicate 0 failed tests. + + ./cryptest.exe v + ... + + All tests passed! + Test ended at Sun Jul 26 02:10:57 2015 + Seed used was: 1437891055 + +Fifth, the test harness provides a "test vector" option which uses many known test vectors, even those published by other people (like Brian Gladman for AES). You run the test vectors as shown below. The tail of the output should indicate 0 failed tests. + + ./cryptest.exe tv all + ... + + Testing SymmetricCipher algorithm MARS/ECB. + ................. + Tests complete. Total tests = 4094. Failed tests = 0. + +REPORTING PROBLEMS +------------------ + +Dirty compiles and failures in the validation suite or test vectors should be reported at the Crypto++ User Group. The User Group is located at https://groups.google.com/forum/#!forum/cryptopp-users. + +Also see http://www.cryptopp.com/wiki/Bug_Report. diff --git a/Readme.txt b/Readme.txt index aac3d08e..415a62af 100644 --- a/Readme.txt +++ b/Readme.txt @@ -1,5 +1,5 @@ Crypto++: a C++ Class Library of Cryptographic Schemes -Version 5.6.3 - NOV/01/2015 +Version 5.6.3 - NOV/20/2015 Crypto++ Library is a free C++ class library of cryptographic schemes. Currently the library contains the following algorithms: @@ -454,14 +454,14 @@ the mailing list. - fixed CVE-2015-2141 - cleared most Undefined Behavior Sanitizer (UBsan) findings - cleared all Address Sanitizer (Asan) findings - - cleared most Valgrind findings + - cleared all Valgrind findings + - cleared all Coverity findings - cleared all Enterprise Analysis (/analyze) findings - cleared most GCC warnings with -Wall - cleared most Clang warnings with -Wall - cleared most MSVC warnings with /W4 - - added -fPIC for x86_64/amd64 builds. Off by default for i386 - - added HKDF class for RFC 5868 - - added generic DeviceState interface and RDRAND/RDSEED classes + - added -fPIC 64-bit builds. Off by default for i386 + - added HKDF class from RFC 5868 - switched to member_ptr due to C++ 11 warnings for auto_ptr - initialization of C++ static objects, off by default * GCC and init_priotirty/constructor attributes @@ -469,12 +469,11 @@ the mailing list. * CRYPTOPP_INIT_PRIORITY disabled by default, but available - improved OS X support - improved GNUmakefile support for Testing and QA - - added additional self tests for improved Testing and QA + - added self tests for additional Testing and QA - added cryptest.sh for systematic Testing and QA - added GNU Gold linker support - added Visual Studio 2010 solution and project files in vs2010.zip - - added more complete ARM, ARM64, MIPS, MIPS64, S/390 and X32 (ILP32) support - - __ARM_FEATURE_UNALIGNED and definition of CRYPTOPP_ALLOW_UNALIGNED_DATA_ACCESS + - added Clang integrated assembler support - unconditionally define CRYPTOPP_NO_UNALIGNED_DATA_ACCESS for Makefile target 'ubsan' and at -O3 due to GCC vectorization on x86 and x86_64 - workaround ARMEL/GCC 5.2 bug and failed self test @@ -486,13 +485,15 @@ the mailing list. - fixed X32 (ILP32) feature detection - removed _CRT_SECURE_NO_DEPRECATE for Microsoft platforms - utilized bound checking interfaces from ISO/IEC TR 24772 when available + - improved ARM, ARM64, MIPS, MIPS64, S/390 and X32 (ILP32) support - introduced CRYPTOPP_MAINTAIN_BACKWARDS_COMPATIBILITY_562 - - added additional Doxygen documentation + - added additional Doxygen-based documentation + - ported to MSVC 2015, Xcode 7.2, GCC 5.2, Clang 3.7, Intel C++ 16.00 5.7 - nearly identical to 5.6.3 - - minor breaks to the ABI and ABI + - minor breaks to the ABI and API - cleared remaining Undefined Behavior Sanitizer (UBsan) findings - - cleared remaining Valgrind findings + - cleared remaining GCC and Visual Studio warnings - removed CRYPTOPP_MAINTAIN_BACKWARDS_COMPATIBILITY_562 Written by Wei Dai and the Crypto++ Project diff --git a/TestData/3desval.dat b/TestData/3desval.dat index 1d5883ed..d43e8499 100644 --- a/TestData/3desval.dat +++ b/TestData/3desval.dat @@ -1,3 +1,3 @@ -0123456789abcdeffedcba9876543210 0123456789abcde7 7f1d0a77826b8aff -0123456789abcdeffedcba987654321089abcdef01234567 0123456789abcde7 de0b7c06ae5e0ed5 -0123456789ABCDEF01010101010101011011121314151617 94DBE082549A14EF 9011121314151617 +0123456789abcdeffedcba9876543210 0123456789abcde7 7f1d0a77826b8aff +0123456789abcdeffedcba987654321089abcdef01234567 0123456789abcde7 de0b7c06ae5e0ed5 +0123456789ABCDEF01010101010101011011121314151617 94DBE082549A14EF 9011121314151617 diff --git a/TestData/3wayval.dat b/TestData/3wayval.dat index 51bb6c16..79e6ebd2 100644 --- a/TestData/3wayval.dat +++ b/TestData/3wayval.dat @@ -1,5 +1,5 @@ -000000000000000000000000 000000010000000100000001 4059c76e83ae9dc4ad21ecf7 -000000060000000500000004 000000030000000200000001 d2f05b5ed6144138cab920cd -def01234456789abbcdef012 234567899abcdef001234567 0aa55dbb9cdddb6d7cdb76b2 -d2f05b5ed6144138cab920cd 4059c76e83ae9dc4ad21ecf7 478ea8716b13f17c15b155ed - +000000000000000000000000 000000010000000100000001 4059c76e83ae9dc4ad21ecf7 +000000060000000500000004 000000030000000200000001 d2f05b5ed6144138cab920cd +def01234456789abbcdef012 234567899abcdef001234567 0aa55dbb9cdddb6d7cdb76b2 +d2f05b5ed6144138cab920cd 4059c76e83ae9dc4ad21ecf7 478ea8716b13f17c15b155ed + diff --git a/TestData/camellia.dat b/TestData/camellia.dat index c4fcc125..833ffc05 100644 --- a/TestData/camellia.dat +++ b/TestData/camellia.dat @@ -1,45 +1,45 @@ -0123456789ABCDEFFEDCBA9876543210 0123456789ABCDEFFEDCBA9876543210 67673138549669730857065648EABE43 -80000000000000000000000000000000 00000000000000000000000000000000 6C227F749319A3AA7DA235A9BBA05A2C -00000000000000000000000000000001 00000000000000000000000000000000 41E0E6DC2DDEC65D8B8120E60977B82D -00000000000000000000000000000000 80000000000000000000000000000000 07923A39EB0A817D1C4D87BDB82D1F1C -00000000000000000000000000000000 00000000000000000000000000000001 F5574ACC3148DFCB9015200631024DF9 -00000000000000000000000000000000 00000000000000000000000000000000 3D028025B156327C17F762C1F2CBCA71 -01010101010101010101010101010101 01010101010101010101010101010101 637084CB1120D6F25DB618893040AA27 -02020202020202020202020202020202 02020202020202020202020202020202 612834AAC9EF906BAEAA076E1C75179D -04040404040404040404040404040404 04040404040404040404040404040404 B24FAF8A579E4EFE986571FB2F68B5B4 -08080808080808080808080808080808 08080808080808080808080808080808 3E5CAFBB70545AABB1109293A1C44C14 -10101010101010101010101010101010 10101010101010101010101010101010 E1FA5FD3F40B766BBE3DF469AF41B420 -20202020202020202020202020202020 20202020202020202020202020202020 7E724027BB2F591C63254D936FCC4B43 -40404040404040404040404040404040 40404040404040404040404040404040 538ADCBE104A3483B3C2A3D8CE72FBD6 -80808080808080808080808080808080 80808080808080808080808080808080 AA7627F70F6B54C217C3EF232D362459 -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 25DD9EB9DD67FBC6E8431F56F4FBE651 -0123456789ABCDEFFEDCBA98765432100011223344556677 0123456789ABCDEFFEDCBA9876543210 B4993401B3E996F84EE5CEE7D79B09B9 -800000000000000000000000000000000000000000000000 00000000000000000000000000000000 1B6220D365C2176C1D41A5826520FCA1 -000000000000000000000000000000000000000000000001 00000000000000000000000000000000 E37577F71E0E643C4D3F55219ABA1394 -000000000000000000000000000000000000000000000000 80000000000000000000000000000000 3EB6CC5618EFC98455B5992050D474E7 -000000000000000000000000000000000000000000000000 00000000000000000000000000000001 BA9AE89FDDCE4B51131E17C4D65CE587 -000000000000000000000000000000000000000000000000 00000000000000000000000000000000 56E1E129CA5C02C7F9AC6AFDEF86ADC3 -010101010101010101010101010101010101010101010101 01010101010101010101010101010101 8F764397C10BE84BA876CEEFA4225BFF -020202020202020202020202020202020202020202020202 02020202020202020202020202020202 60B00674BFD444D07B5A19851E6151CD -040404040404040404040404040404040404040404040404 04040404040404040404040404040404 81B26FF4F6B4377CC555873504B3A38B -080808080808080808080808080808080808080808080808 08080808080808080808080808080808 A2AA1C6693DC2B70D75C9B39B9B214D0 -101010101010101010101010101010101010101010101010 10101010101010101010101010101010 A907BFDAEEF8C81D05855235E8D3BE08 -202020202020202020202020202020202020202020202020 20202020202020202020202020202020 87F8EA30332036F17CEAC0097CE33BC1 -404040404040404040404040404040404040404040404040 40404040404040404040404040404040 A2C32EA499E41A248565253BACC11E3B -808080808080808080808080808080808080808080808080 80808080808080808080808080808080 F602BA7F515B082983B8F7A27F92408F -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 3F8D5676F51CE23DC3BDB627F8B3883E -0123456789ABCDEFFEDCBA987654321000112233445566778899AABBCCDDEEFF 0123456789ABCDEFFEDCBA9876543210 9ACC237DFF16D76C20EF7C919E3A7509 -8000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000 2136FABDA091DFB5171B94B8EFBB5D08 -0000000000000000000000000000000000000000000000000000000000000001 00000000000000000000000000000000 AFCD38B195E0A736304E89B9AE3019D3 -0000000000000000000000000000000000000000000000000000000000000000 80000000000000000000000000000000 B0C6B88AEA518AB09E847248E91B1B9D -0000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000001 9CDB269B5D293BC5DB9C55B057D9B591 -0000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000 396154111ADEFC500CF6E5C99038BC17 -0101010101010101010101010101010101010101010101010101010101010101 01010101010101010101010101010101 438D0C2E7E86869B56EBA23B66086A01 -0202020202020202020202020202020202020202020202020202020202020202 02020202020202020202020202020202 D4F553BFA794F55EF3B7A578629F6DEA -0404040404040404040404040404040404040404040404040404040404040404 04040404040404040404040404040404 5E858730ABC9823A93CA4CAB67F0B423 -0808080808080808080808080808080808080808080808080808080808080808 08080808080808080808080808080808 F9A9C1540AE1B314DBEDF9A49054DC9D -1010101010101010101010101010101010101010101010101010101010101010 10101010101010101010101010101010 6693FC130669F194F81E8D175194DDA2 -2020202020202020202020202020202020202020202020202020202020202020 20202020202020202020202020202020 F3E1FDA6B9C8314799F4654C29F1C690 -4040404040404040404040404040404040404040404040404040404040404040 40404040404040404040404040404040 4A30476F1141FBF303ED63FCD3CB0536 -8080808080808080808080808080808080808080808080808080808080808080 80808080808080808080808080808080 0C765AA494E048FC8BB23139F2124CB6 -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 4F05F28CA23EEAE205B67B1C95CD5280 +0123456789ABCDEFFEDCBA9876543210 0123456789ABCDEFFEDCBA9876543210 67673138549669730857065648EABE43 +80000000000000000000000000000000 00000000000000000000000000000000 6C227F749319A3AA7DA235A9BBA05A2C +00000000000000000000000000000001 00000000000000000000000000000000 41E0E6DC2DDEC65D8B8120E60977B82D +00000000000000000000000000000000 80000000000000000000000000000000 07923A39EB0A817D1C4D87BDB82D1F1C +00000000000000000000000000000000 00000000000000000000000000000001 F5574ACC3148DFCB9015200631024DF9 +00000000000000000000000000000000 00000000000000000000000000000000 3D028025B156327C17F762C1F2CBCA71 +01010101010101010101010101010101 01010101010101010101010101010101 637084CB1120D6F25DB618893040AA27 +02020202020202020202020202020202 02020202020202020202020202020202 612834AAC9EF906BAEAA076E1C75179D +04040404040404040404040404040404 04040404040404040404040404040404 B24FAF8A579E4EFE986571FB2F68B5B4 +08080808080808080808080808080808 08080808080808080808080808080808 3E5CAFBB70545AABB1109293A1C44C14 +10101010101010101010101010101010 10101010101010101010101010101010 E1FA5FD3F40B766BBE3DF469AF41B420 +20202020202020202020202020202020 20202020202020202020202020202020 7E724027BB2F591C63254D936FCC4B43 +40404040404040404040404040404040 40404040404040404040404040404040 538ADCBE104A3483B3C2A3D8CE72FBD6 +80808080808080808080808080808080 80808080808080808080808080808080 AA7627F70F6B54C217C3EF232D362459 +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 25DD9EB9DD67FBC6E8431F56F4FBE651 +0123456789ABCDEFFEDCBA98765432100011223344556677 0123456789ABCDEFFEDCBA9876543210 B4993401B3E996F84EE5CEE7D79B09B9 +800000000000000000000000000000000000000000000000 00000000000000000000000000000000 1B6220D365C2176C1D41A5826520FCA1 +000000000000000000000000000000000000000000000001 00000000000000000000000000000000 E37577F71E0E643C4D3F55219ABA1394 +000000000000000000000000000000000000000000000000 80000000000000000000000000000000 3EB6CC5618EFC98455B5992050D474E7 +000000000000000000000000000000000000000000000000 00000000000000000000000000000001 BA9AE89FDDCE4B51131E17C4D65CE587 +000000000000000000000000000000000000000000000000 00000000000000000000000000000000 56E1E129CA5C02C7F9AC6AFDEF86ADC3 +010101010101010101010101010101010101010101010101 01010101010101010101010101010101 8F764397C10BE84BA876CEEFA4225BFF +020202020202020202020202020202020202020202020202 02020202020202020202020202020202 60B00674BFD444D07B5A19851E6151CD +040404040404040404040404040404040404040404040404 04040404040404040404040404040404 81B26FF4F6B4377CC555873504B3A38B +080808080808080808080808080808080808080808080808 08080808080808080808080808080808 A2AA1C6693DC2B70D75C9B39B9B214D0 +101010101010101010101010101010101010101010101010 10101010101010101010101010101010 A907BFDAEEF8C81D05855235E8D3BE08 +202020202020202020202020202020202020202020202020 20202020202020202020202020202020 87F8EA30332036F17CEAC0097CE33BC1 +404040404040404040404040404040404040404040404040 40404040404040404040404040404040 A2C32EA499E41A248565253BACC11E3B +808080808080808080808080808080808080808080808080 80808080808080808080808080808080 F602BA7F515B082983B8F7A27F92408F +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 3F8D5676F51CE23DC3BDB627F8B3883E +0123456789ABCDEFFEDCBA987654321000112233445566778899AABBCCDDEEFF 0123456789ABCDEFFEDCBA9876543210 9ACC237DFF16D76C20EF7C919E3A7509 +8000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000 2136FABDA091DFB5171B94B8EFBB5D08 +0000000000000000000000000000000000000000000000000000000000000001 00000000000000000000000000000000 AFCD38B195E0A736304E89B9AE3019D3 +0000000000000000000000000000000000000000000000000000000000000000 80000000000000000000000000000000 B0C6B88AEA518AB09E847248E91B1B9D +0000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000001 9CDB269B5D293BC5DB9C55B057D9B591 +0000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000 396154111ADEFC500CF6E5C99038BC17 +0101010101010101010101010101010101010101010101010101010101010101 01010101010101010101010101010101 438D0C2E7E86869B56EBA23B66086A01 +0202020202020202020202020202020202020202020202020202020202020202 02020202020202020202020202020202 D4F553BFA794F55EF3B7A578629F6DEA +0404040404040404040404040404040404040404040404040404040404040404 04040404040404040404040404040404 5E858730ABC9823A93CA4CAB67F0B423 +0808080808080808080808080808080808080808080808080808080808080808 08080808080808080808080808080808 F9A9C1540AE1B314DBEDF9A49054DC9D +1010101010101010101010101010101010101010101010101010101010101010 10101010101010101010101010101010 6693FC130669F194F81E8D175194DDA2 +2020202020202020202020202020202020202020202020202020202020202020 20202020202020202020202020202020 F3E1FDA6B9C8314799F4654C29F1C690 +4040404040404040404040404040404040404040404040404040404040404040 40404040404040404040404040404040 4A30476F1141FBF303ED63FCD3CB0536 +8080808080808080808080808080808080808080808080808080808080808080 80808080808080808080808080808080 0C765AA494E048FC8BB23139F2124CB6 +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 4F05F28CA23EEAE205B67B1C95CD5280 diff --git a/TestData/cast128v.dat b/TestData/cast128v.dat index 4445305b..b46518cb 100644 --- a/TestData/cast128v.dat +++ b/TestData/cast128v.dat @@ -1,11 +1,11 @@ -01 23 45 67 12 34 56 78 23 45 67 89 34 56 78 9A -01 23 45 67 89 AB CD EF -23 8B 4F E5 84 7E 44 B2 - -01 23 45 67 12 34 56 78 23 45 -01 23 45 67 89 AB CD EF -EB 6A 71 1A 2C 02 27 1B - -01 23 45 67 12 -01 23 45 67 89 AB CD EF -7A C8 16 D1 6E 9B 30 2E +01 23 45 67 12 34 56 78 23 45 67 89 34 56 78 9A +01 23 45 67 89 AB CD EF +23 8B 4F E5 84 7E 44 B2 + +01 23 45 67 12 34 56 78 23 45 +01 23 45 67 89 AB CD EF +EB 6A 71 1A 2C 02 27 1B + +01 23 45 67 12 +01 23 45 67 89 AB CD EF +7A C8 16 D1 6E 9B 30 2E diff --git a/TestData/cast256v.dat b/TestData/cast256v.dat index 65a15dc2..40264eb7 100644 --- a/TestData/cast256v.dat +++ b/TestData/cast256v.dat @@ -1,11 +1,11 @@ -2342bb9efa38542c0af75647f29f615d -00000000000000000000000000000000 -c842a08972b43d20836c91d1b7530f6b - -2342bb9efa38542cbed0ac83940ac298bac77a7717942863 -00000000000000000000000000000000 -1b386c0210dcadcbdd0e41aa08a7a7e8 - -2342bb9efa38542cbed0ac83940ac2988d7c47ce264908461cc1b5137ae6b604 -00000000000000000000000000000000 -4f6a2038286897b9c9870136553317fa +2342bb9efa38542c0af75647f29f615d +00000000000000000000000000000000 +c842a08972b43d20836c91d1b7530f6b + +2342bb9efa38542cbed0ac83940ac298bac77a7717942863 +00000000000000000000000000000000 +1b386c0210dcadcbdd0e41aa08a7a7e8 + +2342bb9efa38542cbed0ac83940ac2988d7c47ce264908461cc1b5137ae6b604 +00000000000000000000000000000000 +4f6a2038286897b9c9870136553317fa diff --git a/TestData/descert.dat b/TestData/descert.dat index 5d3ddc7d..7fea9542 100644 --- a/TestData/descert.dat +++ b/TestData/descert.dat @@ -1,171 +1,171 @@ -0101010101010101 95F8A5E5DD31D900 8000000000000000 -0101010101010101 DD7F121CA5015619 4000000000000000 -0101010101010101 2E8653104F3834EA 2000000000000000 -0101010101010101 4BD388FF6CD81D4F 1000000000000000 -0101010101010101 20B9E767B2FB1456 0800000000000000 -0101010101010101 55579380D77138EF 0400000000000000 -0101010101010101 6CC5DEFAAF04512F 0200000000000000 -0101010101010101 0D9F279BA5D87260 0100000000000000 -0101010101010101 D9031B0271BD5A0A 0080000000000000 -0101010101010101 424250B37C3DD951 0040000000000000 -0101010101010101 B8061B7ECD9A21E5 0020000000000000 -0101010101010101 F15D0F286B65BD28 0010000000000000 -0101010101010101 ADD0CC8D6E5DEBA1 0008000000000000 -0101010101010101 E6D5F82752AD63D1 0004000000000000 -0101010101010101 ECBFE3BD3F591A5E 0002000000000000 -0101010101010101 F356834379D165CD 0001000000000000 -0101010101010101 2B9F982F20037FA9 0000800000000000 -0101010101010101 889DE068A16F0BE6 0000400000000000 -0101010101010101 E19E275D846A1298 0000200000000000 -0101010101010101 329A8ED523D71AEC 0000100000000000 -0101010101010101 E7FCE22557D23C97 0000080000000000 -0101010101010101 12A9F5817FF2D65D 0000040000000000 -0101010101010101 A484C3AD38DC9C19 0000020000000000 -0101010101010101 FBE00A8A1EF8AD72 0000010000000000 -0101010101010101 750D079407521363 0000008000000000 -0101010101010101 64FEED9C724C2FAF 0000004000000000 -0101010101010101 F02B263B328E2B60 0000002000000000 -0101010101010101 9D64555A9A10B852 0000001000000000 -0101010101010101 D106FF0BED5255D7 0000000800000000 -0101010101010101 E1652C6B138C64A5 0000000400000000 -0101010101010101 E428581186EC8F46 0000000200000000 -0101010101010101 AEB5F5EDE22D1A36 0000000100000000 -0101010101010101 E943D7568AEC0C5C 0000000080000000 -0101010101010101 DF98C8276F54B04B 0000000040000000 -0101010101010101 B160E4680F6C696F 0000000020000000 -0101010101010101 FA0752B07D9C4AB8 0000000010000000 -0101010101010101 CA3A2B036DBC8502 0000000008000000 -0101010101010101 5E0905517BB59BCF 0000000004000000 -0101010101010101 814EEB3B91D90726 0000000002000000 -0101010101010101 4D49DB1532919C9F 0000000001000000 -0101010101010101 25EB5FC3F8CF0621 0000000000800000 -0101010101010101 AB6A20C0620D1C6F 0000000000400000 -0101010101010101 79E90DBC98F92CCA 0000000000200000 -0101010101010101 866ECEDD8072BB0E 0000000000100000 -0101010101010101 8B54536F2F3E64A8 0000000000080000 -0101010101010101 EA51D3975595B86B 0000000000040000 -0101010101010101 CAFFC6AC4542DE31 0000000000020000 -0101010101010101 8DD45A2DDF90796C 0000000000010000 -0101010101010101 1029D55E880EC2D0 0000000000008000 -0101010101010101 5D86CB23639DBEA9 0000000000004000 -0101010101010101 1D1CA853AE7C0C5F 0000000000002000 -0101010101010101 CE332329248F3228 0000000000001000 -0101010101010101 8405D1ABE24FB942 0000000000000800 -0101010101010101 E643D78090CA4207 0000000000000400 -0101010101010101 48221B9937748A23 0000000000000200 -0101010101010101 DD7C0BBD61FAFD54 0000000000000100 -0101010101010101 2FBC291A570DB5C4 0000000000000080 -0101010101010101 E07C30D7E4E26E12 0000000000000040 -0101010101010101 0953E2258E8E90A1 0000000000000020 -0101010101010101 5B711BC4CEEBF2EE 0000000000000010 -0101010101010101 CC083F1E6D9E85F6 0000000000000008 -0101010101010101 D2FD8867D50D2DFE 0000000000000004 -0101010101010101 06E7EA22CE92708F 0000000000000002 -0101010101010101 166B40B44ABA4BD6 0000000000000001 -8001010101010101 0000000000000000 95A8D72813DAA94D -4001010101010101 0000000000000000 0EEC1487DD8C26D5 -2001010101010101 0000000000000000 7AD16FFB79C45926 -1001010101010101 0000000000000000 D3746294CA6A6CF3 -0801010101010101 0000000000000000 809F5F873C1FD761 -0401010101010101 0000000000000000 C02FAFFEC989D1FC -0201010101010101 0000000000000000 4615AA1D33E72F10 -0180010101010101 0000000000000000 2055123350C00858 -0140010101010101 0000000000000000 DF3B99D6577397C8 -0120010101010101 0000000000000000 31FE17369B5288C9 -0110010101010101 0000000000000000 DFDD3CC64DAE1642 -0108010101010101 0000000000000000 178C83CE2B399D94 -0104010101010101 0000000000000000 50F636324A9B7F80 -0102010101010101 0000000000000000 A8468EE3BC18F06D -0101800101010101 0000000000000000 A2DC9E92FD3CDE92 -0101400101010101 0000000000000000 CAC09F797D031287 -0101200101010101 0000000000000000 90BA680B22AEB525 -0101100101010101 0000000000000000 CE7A24F350E280B6 -0101080101010101 0000000000000000 882BFF0AA01A0B87 -0101040101010101 0000000000000000 25610288924511C2 -0101020101010101 0000000000000000 C71516C29C75D170 -0101018001010101 0000000000000000 5199C29A52C9F059 -0101014001010101 0000000000000000 C22F0A294A71F29F -0101012001010101 0000000000000000 EE371483714C02EA -0101011001010101 0000000000000000 A81FBD448F9E522F -0101010801010101 0000000000000000 4F644C92E192DFED -0101010401010101 0000000000000000 1AFA9A66A6DF92AE -0101010201010101 0000000000000000 B3C1CC715CB879D8 -0101010180010101 0000000000000000 19D032E64AB0BD8B -0101010140010101 0000000000000000 3CFAA7A7DC8720DC -0101010120010101 0000000000000000 B7265F7F447AC6F3 -0101010110010101 0000000000000000 9DB73B3C0D163F54 -0101010108010101 0000000000000000 8181B65BABF4A975 -0101010104010101 0000000000000000 93C9B64042EAA240 -0101010102010101 0000000000000000 5570530829705592 -0101010101800101 0000000000000000 8638809E878787A0 -0101010101400101 0000000000000000 41B9A79AF79AC208 -0101010101200101 0000000000000000 7A9BE42F2009A892 -0101010101100101 0000000000000000 29038D56BA6D2745 -0101010101080101 0000000000000000 5495C6ABF1E5DF51 -0101010101040101 0000000000000000 AE13DBD561488933 -0101010101020101 0000000000000000 024D1FFA8904E389 -0101010101018001 0000000000000000 D1399712F99BF02E -0101010101014001 0000000000000000 14C1D7C1CFFEC79E -0101010101012001 0000000000000000 1DE5279DAE3BED6F -0101010101011001 0000000000000000 E941A33F85501303 -0101010101010801 0000000000000000 DA99DBBC9A03F379 -0101010101010401 0000000000000000 B7FC92F91D8E92E9 -0101010101010201 0000000000000000 AE8E5CAA3CA04E85 -0101010101010180 0000000000000000 9CC62DF43B6EED74 -0101010101010140 0000000000000000 D863DBB5C59A91A0 -0101010101010120 0000000000000000 A1AB2190545B91D7 -0101010101010110 0000000000000000 0875041E64C570F7 -0101010101010108 0000000000000000 5A594528BEBEF1CC -0101010101010104 0000000000000000 FCDB3291DE21F0C0 -0101010101010102 0000000000000000 869EFD7F9F265A09 -1046913489980131 0000000000000000 88D55E54F54C97B4 -1007103489988020 0000000000000000 0C0CC00C83EA48FD -10071034C8980120 0000000000000000 83BC8EF3A6570183 -1046103489988020 0000000000000000 DF725DCAD94EA2E9 -1086911519190101 0000000000000000 E652B53B550BE8B0 -1086911519580101 0000000000000000 AF527120C485CBB0 -5107B01519580101 0000000000000000 0F04CE393DB926D5 -1007B01519190101 0000000000000000 C9F00FFC74079067 -3107915498080101 0000000000000000 7CFD82A593252B4E -3107919498080101 0000000000000000 CB49A2F9E91363E3 -10079115B9080140 0000000000000000 00B588BE70D23F56 -3107911598090140 0000000000000000 406A9A6AB43399AE -1007D01589980101 0000000000000000 6CB773611DCA9ADA -9107911589980101 0000000000000000 67FD21C17DBB5D70 -9107D01589190101 0000000000000000 9592CB4110430787 -1007D01598980120 0000000000000000 A6B7FF68A318DDD3 -1007940498190101 0000000000000000 4D102196C914CA16 -0107910491190401 0000000000000000 2DFA9F4573594965 -0107910491190101 0000000000000000 B46604816C0E0774 -0107940491190401 0000000000000000 6E7E6221A4F34E87 -19079210981A0101 0000000000000000 AA85E74643233199 -1007911998190801 0000000000000000 2E5A19DB4D1962D6 -10079119981A0801 0000000000000000 23A866A809D30894 -1007921098190101 0000000000000000 D812D961F017D320 -100791159819010B 0000000000000000 055605816E58608F -1004801598190101 0000000000000000 ABD88E8B1B7716F1 -1004801598190102 0000000000000000 537AC95BE69DA1E1 -1004801598190108 0000000000000000 AED0F6AE3C25CDD8 -1002911598100104 0000000000000000 B3E35A5EE53E7B8D -1002911598190104 0000000000000000 61C79C71921A2EF8 -1002911598100201 0000000000000000 E2F5728F0995013C -1002911698100101 0000000000000000 1AEAC39A61F0A464 -7CA110454A1A6E57 01A1D6D039776742 690F5B0D9A26939B -0131D9619DC1376E 5CD54CA83DEF57DA 7A389D10354BD271 -07A1133E4A0B2686 0248D43806F67172 868EBB51CAB4599A -3849674C2602319E 51454B582DDF440A 7178876E01F19B2A -04B915BA43FEB5B6 42FD443059577FA2 AF37FB421F8C4095 -0113B970FD34F2CE 059B5E0851CF143A 86A560F10EC6D85B -0170F175468FB5E6 0756D8E0774761D2 0CD3DA020021DC09 -43297FAD38E373FE 762514B829BF486A EA676B2CB7DB2B7A -07A7137045DA2A16 3BDD119049372802 DFD64A815CAF1A0F -04689104C2FD3B2F 26955F6835AF609A 5C513C9C4886C088 -37D06BB516CB7546 164D5E404F275232 0A2AEEAE3FF4AB77 -1F08260D1AC2465E 6B056E18759F5CCA EF1BF03E5DFA575A -584023641ABA6176 004BD6EF09176062 88BF0DB6D70DEE56 -025816164629B007 480D39006EE762F2 A1F9915541020B56 -49793EBC79B3258F 437540C8698F3CFA 6FBF1CAFCFFD0556 -4FB05E1515AB73A7 072D43A077075292 2F22E49BAB7CA1AC -49E95D6D4CA229BF 02FE55778117F12A 5A6B612CC26CCE4A -018310DC409B26D6 1D9D5C5018F728C2 5F4C038ED12B2E41 -1C587F1C13924FEF 305532286D6F295A 63FAC0D034D9F793 +0101010101010101 95F8A5E5DD31D900 8000000000000000 +0101010101010101 DD7F121CA5015619 4000000000000000 +0101010101010101 2E8653104F3834EA 2000000000000000 +0101010101010101 4BD388FF6CD81D4F 1000000000000000 +0101010101010101 20B9E767B2FB1456 0800000000000000 +0101010101010101 55579380D77138EF 0400000000000000 +0101010101010101 6CC5DEFAAF04512F 0200000000000000 +0101010101010101 0D9F279BA5D87260 0100000000000000 +0101010101010101 D9031B0271BD5A0A 0080000000000000 +0101010101010101 424250B37C3DD951 0040000000000000 +0101010101010101 B8061B7ECD9A21E5 0020000000000000 +0101010101010101 F15D0F286B65BD28 0010000000000000 +0101010101010101 ADD0CC8D6E5DEBA1 0008000000000000 +0101010101010101 E6D5F82752AD63D1 0004000000000000 +0101010101010101 ECBFE3BD3F591A5E 0002000000000000 +0101010101010101 F356834379D165CD 0001000000000000 +0101010101010101 2B9F982F20037FA9 0000800000000000 +0101010101010101 889DE068A16F0BE6 0000400000000000 +0101010101010101 E19E275D846A1298 0000200000000000 +0101010101010101 329A8ED523D71AEC 0000100000000000 +0101010101010101 E7FCE22557D23C97 0000080000000000 +0101010101010101 12A9F5817FF2D65D 0000040000000000 +0101010101010101 A484C3AD38DC9C19 0000020000000000 +0101010101010101 FBE00A8A1EF8AD72 0000010000000000 +0101010101010101 750D079407521363 0000008000000000 +0101010101010101 64FEED9C724C2FAF 0000004000000000 +0101010101010101 F02B263B328E2B60 0000002000000000 +0101010101010101 9D64555A9A10B852 0000001000000000 +0101010101010101 D106FF0BED5255D7 0000000800000000 +0101010101010101 E1652C6B138C64A5 0000000400000000 +0101010101010101 E428581186EC8F46 0000000200000000 +0101010101010101 AEB5F5EDE22D1A36 0000000100000000 +0101010101010101 E943D7568AEC0C5C 0000000080000000 +0101010101010101 DF98C8276F54B04B 0000000040000000 +0101010101010101 B160E4680F6C696F 0000000020000000 +0101010101010101 FA0752B07D9C4AB8 0000000010000000 +0101010101010101 CA3A2B036DBC8502 0000000008000000 +0101010101010101 5E0905517BB59BCF 0000000004000000 +0101010101010101 814EEB3B91D90726 0000000002000000 +0101010101010101 4D49DB1532919C9F 0000000001000000 +0101010101010101 25EB5FC3F8CF0621 0000000000800000 +0101010101010101 AB6A20C0620D1C6F 0000000000400000 +0101010101010101 79E90DBC98F92CCA 0000000000200000 +0101010101010101 866ECEDD8072BB0E 0000000000100000 +0101010101010101 8B54536F2F3E64A8 0000000000080000 +0101010101010101 EA51D3975595B86B 0000000000040000 +0101010101010101 CAFFC6AC4542DE31 0000000000020000 +0101010101010101 8DD45A2DDF90796C 0000000000010000 +0101010101010101 1029D55E880EC2D0 0000000000008000 +0101010101010101 5D86CB23639DBEA9 0000000000004000 +0101010101010101 1D1CA853AE7C0C5F 0000000000002000 +0101010101010101 CE332329248F3228 0000000000001000 +0101010101010101 8405D1ABE24FB942 0000000000000800 +0101010101010101 E643D78090CA4207 0000000000000400 +0101010101010101 48221B9937748A23 0000000000000200 +0101010101010101 DD7C0BBD61FAFD54 0000000000000100 +0101010101010101 2FBC291A570DB5C4 0000000000000080 +0101010101010101 E07C30D7E4E26E12 0000000000000040 +0101010101010101 0953E2258E8E90A1 0000000000000020 +0101010101010101 5B711BC4CEEBF2EE 0000000000000010 +0101010101010101 CC083F1E6D9E85F6 0000000000000008 +0101010101010101 D2FD8867D50D2DFE 0000000000000004 +0101010101010101 06E7EA22CE92708F 0000000000000002 +0101010101010101 166B40B44ABA4BD6 0000000000000001 +8001010101010101 0000000000000000 95A8D72813DAA94D +4001010101010101 0000000000000000 0EEC1487DD8C26D5 +2001010101010101 0000000000000000 7AD16FFB79C45926 +1001010101010101 0000000000000000 D3746294CA6A6CF3 +0801010101010101 0000000000000000 809F5F873C1FD761 +0401010101010101 0000000000000000 C02FAFFEC989D1FC +0201010101010101 0000000000000000 4615AA1D33E72F10 +0180010101010101 0000000000000000 2055123350C00858 +0140010101010101 0000000000000000 DF3B99D6577397C8 +0120010101010101 0000000000000000 31FE17369B5288C9 +0110010101010101 0000000000000000 DFDD3CC64DAE1642 +0108010101010101 0000000000000000 178C83CE2B399D94 +0104010101010101 0000000000000000 50F636324A9B7F80 +0102010101010101 0000000000000000 A8468EE3BC18F06D +0101800101010101 0000000000000000 A2DC9E92FD3CDE92 +0101400101010101 0000000000000000 CAC09F797D031287 +0101200101010101 0000000000000000 90BA680B22AEB525 +0101100101010101 0000000000000000 CE7A24F350E280B6 +0101080101010101 0000000000000000 882BFF0AA01A0B87 +0101040101010101 0000000000000000 25610288924511C2 +0101020101010101 0000000000000000 C71516C29C75D170 +0101018001010101 0000000000000000 5199C29A52C9F059 +0101014001010101 0000000000000000 C22F0A294A71F29F +0101012001010101 0000000000000000 EE371483714C02EA +0101011001010101 0000000000000000 A81FBD448F9E522F +0101010801010101 0000000000000000 4F644C92E192DFED +0101010401010101 0000000000000000 1AFA9A66A6DF92AE +0101010201010101 0000000000000000 B3C1CC715CB879D8 +0101010180010101 0000000000000000 19D032E64AB0BD8B +0101010140010101 0000000000000000 3CFAA7A7DC8720DC +0101010120010101 0000000000000000 B7265F7F447AC6F3 +0101010110010101 0000000000000000 9DB73B3C0D163F54 +0101010108010101 0000000000000000 8181B65BABF4A975 +0101010104010101 0000000000000000 93C9B64042EAA240 +0101010102010101 0000000000000000 5570530829705592 +0101010101800101 0000000000000000 8638809E878787A0 +0101010101400101 0000000000000000 41B9A79AF79AC208 +0101010101200101 0000000000000000 7A9BE42F2009A892 +0101010101100101 0000000000000000 29038D56BA6D2745 +0101010101080101 0000000000000000 5495C6ABF1E5DF51 +0101010101040101 0000000000000000 AE13DBD561488933 +0101010101020101 0000000000000000 024D1FFA8904E389 +0101010101018001 0000000000000000 D1399712F99BF02E +0101010101014001 0000000000000000 14C1D7C1CFFEC79E +0101010101012001 0000000000000000 1DE5279DAE3BED6F +0101010101011001 0000000000000000 E941A33F85501303 +0101010101010801 0000000000000000 DA99DBBC9A03F379 +0101010101010401 0000000000000000 B7FC92F91D8E92E9 +0101010101010201 0000000000000000 AE8E5CAA3CA04E85 +0101010101010180 0000000000000000 9CC62DF43B6EED74 +0101010101010140 0000000000000000 D863DBB5C59A91A0 +0101010101010120 0000000000000000 A1AB2190545B91D7 +0101010101010110 0000000000000000 0875041E64C570F7 +0101010101010108 0000000000000000 5A594528BEBEF1CC +0101010101010104 0000000000000000 FCDB3291DE21F0C0 +0101010101010102 0000000000000000 869EFD7F9F265A09 +1046913489980131 0000000000000000 88D55E54F54C97B4 +1007103489988020 0000000000000000 0C0CC00C83EA48FD +10071034C8980120 0000000000000000 83BC8EF3A6570183 +1046103489988020 0000000000000000 DF725DCAD94EA2E9 +1086911519190101 0000000000000000 E652B53B550BE8B0 +1086911519580101 0000000000000000 AF527120C485CBB0 +5107B01519580101 0000000000000000 0F04CE393DB926D5 +1007B01519190101 0000000000000000 C9F00FFC74079067 +3107915498080101 0000000000000000 7CFD82A593252B4E +3107919498080101 0000000000000000 CB49A2F9E91363E3 +10079115B9080140 0000000000000000 00B588BE70D23F56 +3107911598090140 0000000000000000 406A9A6AB43399AE +1007D01589980101 0000000000000000 6CB773611DCA9ADA +9107911589980101 0000000000000000 67FD21C17DBB5D70 +9107D01589190101 0000000000000000 9592CB4110430787 +1007D01598980120 0000000000000000 A6B7FF68A318DDD3 +1007940498190101 0000000000000000 4D102196C914CA16 +0107910491190401 0000000000000000 2DFA9F4573594965 +0107910491190101 0000000000000000 B46604816C0E0774 +0107940491190401 0000000000000000 6E7E6221A4F34E87 +19079210981A0101 0000000000000000 AA85E74643233199 +1007911998190801 0000000000000000 2E5A19DB4D1962D6 +10079119981A0801 0000000000000000 23A866A809D30894 +1007921098190101 0000000000000000 D812D961F017D320 +100791159819010B 0000000000000000 055605816E58608F +1004801598190101 0000000000000000 ABD88E8B1B7716F1 +1004801598190102 0000000000000000 537AC95BE69DA1E1 +1004801598190108 0000000000000000 AED0F6AE3C25CDD8 +1002911598100104 0000000000000000 B3E35A5EE53E7B8D +1002911598190104 0000000000000000 61C79C71921A2EF8 +1002911598100201 0000000000000000 E2F5728F0995013C +1002911698100101 0000000000000000 1AEAC39A61F0A464 +7CA110454A1A6E57 01A1D6D039776742 690F5B0D9A26939B +0131D9619DC1376E 5CD54CA83DEF57DA 7A389D10354BD271 +07A1133E4A0B2686 0248D43806F67172 868EBB51CAB4599A +3849674C2602319E 51454B582DDF440A 7178876E01F19B2A +04B915BA43FEB5B6 42FD443059577FA2 AF37FB421F8C4095 +0113B970FD34F2CE 059B5E0851CF143A 86A560F10EC6D85B +0170F175468FB5E6 0756D8E0774761D2 0CD3DA020021DC09 +43297FAD38E373FE 762514B829BF486A EA676B2CB7DB2B7A +07A7137045DA2A16 3BDD119049372802 DFD64A815CAF1A0F +04689104C2FD3B2F 26955F6835AF609A 5C513C9C4886C088 +37D06BB516CB7546 164D5E404F275232 0A2AEEAE3FF4AB77 +1F08260D1AC2465E 6B056E18759F5CCA EF1BF03E5DFA575A +584023641ABA6176 004BD6EF09176062 88BF0DB6D70DEE56 +025816164629B007 480D39006EE762F2 A1F9915541020B56 +49793EBC79B3258F 437540C8698F3CFA 6FBF1CAFCFFD0556 +4FB05E1515AB73A7 072D43A077075292 2F22E49BAB7CA1AC +49E95D6D4CA229BF 02FE55778117F12A 5A6B612CC26CCE4A +018310DC409B26D6 1D9D5C5018F728C2 5F4C038ED12B2E41 +1C587F1C13924FEF 305532286D6F295A 63FAC0D034D9F793 diff --git a/TestData/gostval.dat b/TestData/gostval.dat index f89c98bd..d81d03b8 100644 --- a/TestData/gostval.dat +++ b/TestData/gostval.dat @@ -1,23 +1,23 @@ -BE5EC2006CFF9DCF52354959F1FF0CBFE95061B5A648C10387069C25997C0672 -0DF82802B741A292 07F9027DF7F7DF89 - -B385272AC8D72A5A8B344BC80363AC4D09BF58F41F540624CBCB8FDCF55307D7 -1354EE9C0A11CD4C 4FB50536F960A7B1 - -AEE02F609A35660E4097E546FD3026B032CD107C7D459977ADF489BEF2652262 -6693D492C4B0CC39 670034AC0FA811B5 - -320E9D8422165D58911DFC7D8BBB1F81B0ECD924023BF94D9DF7DCF7801240E0 -99E2D13080928D79 8118FF9D3B3CFE7D - -C9F703BBBFC63691BFA3B7B87EA8FD5E8E8EF384EF733F1A61AEF68C8FFA265F -D1E787749C72814C A083826A790D3E0C - -728FEE32F04B4C654AD7F607D71C660C2C2670D7C999713233149A1C0C17A1F0 -D4C05323A4F7A7B5 4D1F2E6B0D9DE2CE - -35FC96402209500FCFDEF5352D1ABB038FE33FC0D9D58512E56370B22BAA133B -8742D9A05F6A3AF6 2F3BB84879D11E52 - -D416F630BE65B7FE150656183370E07018234EE5DA3D89C4CE9152A03E5BFB77 -F86506DA04E41CB8 96F0A5C77A04F5CE +BE5EC2006CFF9DCF52354959F1FF0CBFE95061B5A648C10387069C25997C0672 +0DF82802B741A292 07F9027DF7F7DF89 + +B385272AC8D72A5A8B344BC80363AC4D09BF58F41F540624CBCB8FDCF55307D7 +1354EE9C0A11CD4C 4FB50536F960A7B1 + +AEE02F609A35660E4097E546FD3026B032CD107C7D459977ADF489BEF2652262 +6693D492C4B0CC39 670034AC0FA811B5 + +320E9D8422165D58911DFC7D8BBB1F81B0ECD924023BF94D9DF7DCF7801240E0 +99E2D13080928D79 8118FF9D3B3CFE7D + +C9F703BBBFC63691BFA3B7B87EA8FD5E8E8EF384EF733F1A61AEF68C8FFA265F +D1E787749C72814C A083826A790D3E0C + +728FEE32F04B4C654AD7F607D71C660C2C2670D7C999713233149A1C0C17A1F0 +D4C05323A4F7A7B5 4D1F2E6B0D9DE2CE + +35FC96402209500FCFDEF5352D1ABB038FE33FC0D9D58512E56370B22BAA133B +8742D9A05F6A3AF6 2F3BB84879D11E52 + +D416F630BE65B7FE150656183370E07018234EE5DA3D89C4CE9152A03E5BFB77 +F86506DA04E41CB8 96F0A5C77A04F5CE diff --git a/TestData/ideaval.dat b/TestData/ideaval.dat index f7cd6fe1..4c96d338 100644 --- a/TestData/ideaval.dat +++ b/TestData/ideaval.dat @@ -1,11 +1,11 @@ -00010002000300040005000600070008 0000000100020003 11FBED2B01986DE5 -00010002000300040005000600070008 0102030405060708 540E5FEA18C2F8B1 -00010002000300040005000600070008 0019324B647D96AF 9F0A0AB6E10CED78 -00010002000300040005000600070008 F5202D5B9C671B08 CF18FD7355E2C5C5 -00010002000300040005000600070008 FAE6D2BEAA96826E 85DF52005608193D -00010002000300040005000600070008 0A141E28323C4650 2F7DE750212FB734 -00010002000300040005000600070008 050A0F14191E2328 7B7314925DE59C09 -0005000A000F00140019001E00230028 0102030405060708 3EC04780BEFF6E20 -3A984E2000195DB32EE501C8C47CEA60 0102030405060708 97BCD8200780DA86 -006400C8012C019001F4025802BC0320 05320A6414C819FA 65BE87E7A2538AED -9D4075C103BC322AFB03E7BE6AB30006 0808080808080808 F5DB1AC45E5EF9F9 +00010002000300040005000600070008 0000000100020003 11FBED2B01986DE5 +00010002000300040005000600070008 0102030405060708 540E5FEA18C2F8B1 +00010002000300040005000600070008 0019324B647D96AF 9F0A0AB6E10CED78 +00010002000300040005000600070008 F5202D5B9C671B08 CF18FD7355E2C5C5 +00010002000300040005000600070008 FAE6D2BEAA96826E 85DF52005608193D +00010002000300040005000600070008 0A141E28323C4650 2F7DE750212FB734 +00010002000300040005000600070008 050A0F14191E2328 7B7314925DE59C09 +0005000A000F00140019001E00230028 0102030405060708 3EC04780BEFF6E20 +3A984E2000195DB32EE501C8C47CEA60 0102030405060708 97BCD8200780DA86 +006400C8012C019001F4025802BC0320 05320A6414C819FA 65BE87E7A2538AED +9D4075C103BC322AFB03E7BE6AB30006 0808080808080808 F5DB1AC45E5EF9F9 diff --git a/TestData/lucd1024.dat b/TestData/lucd1024.dat index 7c2c79f7..8554fa8b 100644 --- a/TestData/lucd1024.dat +++ b/TestData/lucd1024.dat @@ -1,4 +1,4 @@ -30818702818100EE9C91E2C1D8B0AB999B3F32B3115A36AA95A36B23CC8507D2340FA21EAAF6F6EB -1B900839CD9F8AFBFC155467F91FD8917DD46EAC55A266B246DFFFEDDDA79D674F77884D34709DB3 -452C2C1E2578CCC0CCA91C504039C52762F23F2A391A58B2CAD2DB05666DDF5B9E3C1AC33DB487B7 -70C82B7E7DCDEE4381562FCEE427FD02010A +30818702818100EE9C91E2C1D8B0AB999B3F32B3115A36AA95A36B23CC8507D2340FA21EAAF6F6EB +1B900839CD9F8AFBFC155467F91FD8917DD46EAC55A266B246DFFFEDDDA79D674F77884D34709DB3 +452C2C1E2578CCC0CCA91C504039C52762F23F2A391A58B2CAD2DB05666DDF5B9E3C1AC33DB487B7 +70C82B7E7DCDEE4381562FCEE427FD02010A diff --git a/TestData/lucd512.dat b/TestData/lucd512.dat index 9c97005b..a782f445 100644 --- a/TestData/lucd512.dat +++ b/TestData/lucd512.dat @@ -1,2 +1,2 @@ -3046024100C339D027E5812ED5D9DE044F3697D0273625E5EA9EC4EF3FB89ADBFA9CD1FBF4D8C0EC -1118C44609F499EF644EEAECE2F38B3F67FAC81A075F31A60B5757A87D020109 +3046024100C339D027E5812ED5D9DE044F3697D0273625E5EA9EC4EF3FB89ADBFA9CD1FBF4D8C0EC +1118C44609F499EF644EEAECE2F38B3F67FAC81A075F31A60B5757A87D020109 diff --git a/TestData/marsval.dat b/TestData/marsval.dat index 661872fc..16a43b42 100644 --- a/TestData/marsval.dat +++ b/TestData/marsval.dat @@ -1,9 +1,9 @@ -00000000000000000000000000000000 00000000000000000000000000000000 DCC07B8DFB0738D6E30A22DFCF27E886 -00000000000000000000000000000000 DCC07B8DFB0738D6E30A22DFCF27E886 33CAFFBDDC7F1DDA0F9C15FA2F30E2FF -CB14A1776ABBC1CDAFE7243DEF2CEA02 F94512A9B42D034EC4792204D708A69B 225DA2CB64B73F79069F21A5E3CB8522 -86EDF4DA31824CABEF6A4637C40B0BAB 4DF955AD5B398D66408D620A2B27E1A9 A4B737340AE6D2CAFD930BA97D86129F -000000000000000000000000000000000000000000000000 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 97778747D60E425C2B4202599DB856FB -D158860838874D9500000000000000000000000000000000 93A953A82C10411DD158860838874D95 4FA0E5F64893131712F01408D233E9F7 -791739A58B04581A93A953A82C10411DD158860838874D95 6761C42D3E6142D2A84FBFADB383158F F706BC0FD97E28B6F1AF4E17D8755FFF -0000000000000000000000000000000000000000000000000000000000000000 62E45B4CF3477F1DD65063729D9ABA8F 0F4B897EA014D21FBC20F1054A42F719 -FBA167983E7AEF22317CE28C02AAE1A3E8E5CC3CEDBEA82A99DBC39AD65E7227 1344ABA4D3C44708A8A72116D4F49384 458335D95EA42A9F4DCCD41AECC2390D +00000000000000000000000000000000 00000000000000000000000000000000 DCC07B8DFB0738D6E30A22DFCF27E886 +00000000000000000000000000000000 DCC07B8DFB0738D6E30A22DFCF27E886 33CAFFBDDC7F1DDA0F9C15FA2F30E2FF +CB14A1776ABBC1CDAFE7243DEF2CEA02 F94512A9B42D034EC4792204D708A69B 225DA2CB64B73F79069F21A5E3CB8522 +86EDF4DA31824CABEF6A4637C40B0BAB 4DF955AD5B398D66408D620A2B27E1A9 A4B737340AE6D2CAFD930BA97D86129F +000000000000000000000000000000000000000000000000 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 97778747D60E425C2B4202599DB856FB +D158860838874D9500000000000000000000000000000000 93A953A82C10411DD158860838874D95 4FA0E5F64893131712F01408D233E9F7 +791739A58B04581A93A953A82C10411DD158860838874D95 6761C42D3E6142D2A84FBFADB383158F F706BC0FD97E28B6F1AF4E17D8755FFF +0000000000000000000000000000000000000000000000000000000000000000 62E45B4CF3477F1DD65063729D9ABA8F 0F4B897EA014D21FBC20F1054A42F719 +FBA167983E7AEF22317CE28C02AAE1A3E8E5CC3CEDBEA82A99DBC39AD65E7227 1344ABA4D3C44708A8A72116D4F49384 458335D95EA42A9F4DCCD41AECC2390D diff --git a/TestData/rc2val.dat b/TestData/rc2val.dat index b4f82a31..f28d48cc 100644 --- a/TestData/rc2val.dat +++ b/TestData/rc2val.dat @@ -1,48 +1,48 @@ -08 -3F -00000000 00000000 -00000000 00000000 -ebb773f9 93278eff - -08 -40 -ffffffff ffffffff -ffffffff ffffffff -278b27e4 2e2f0d49 - -08 -40 -30000000 00000000 -10000000 00000001 -30649edf 9be7d2c2 - -01 -40 -88 -00000000 00000000 -61a8a244 adacccf0 - -07 -40 -88bca90e 90875a -00000000 00000000 -6ccf4308 974c267f - -10 -40 -88bca90e 90875a7f 0f79c384 627bafb2 -00000000 00000000 -1a807d27 2bbe5db1 - -10 -80 -88bca90e 90875a7f 0f79c384 627bafb2 -00000000 00000000 -2269552a b0f85ca6 - -21 -81 -88bca90e 90875a7f 0f79c384 627bafb2 16f80a6f 85920584 - c42fceb0 be255daf 1e -00000000 00000000 -5b78d3a4 3dfff1f1 +08 +3F +00000000 00000000 +00000000 00000000 +ebb773f9 93278eff + +08 +40 +ffffffff ffffffff +ffffffff ffffffff +278b27e4 2e2f0d49 + +08 +40 +30000000 00000000 +10000000 00000001 +30649edf 9be7d2c2 + +01 +40 +88 +00000000 00000000 +61a8a244 adacccf0 + +07 +40 +88bca90e 90875a +00000000 00000000 +6ccf4308 974c267f + +10 +40 +88bca90e 90875a7f 0f79c384 627bafb2 +00000000 00000000 +1a807d27 2bbe5db1 + +10 +80 +88bca90e 90875a7f 0f79c384 627bafb2 +00000000 00000000 +2269552a b0f85ca6 + +21 +81 +88bca90e 90875a7f 0f79c384 627bafb2 16f80a6f 85920584 + c42fceb0 be255daf 1e +00000000 00000000 +5b78d3a4 3dfff1f1 diff --git a/TestData/rc5val.dat b/TestData/rc5val.dat index ea2b617f..4f4de591 100644 --- a/TestData/rc5val.dat +++ b/TestData/rc5val.dat @@ -1,5 +1,5 @@ -00000000000000000000000000000000 0000000000000000 21A5DBEE154B8F6D -915F4619BE41B2516355A50110A9CE91 21A5DBEE154B8F6D F7C013AC5B2B8952 -783348E75AEB0F2FD7B169BB8DC16787 F7C013AC5B2B8952 2F42B3B70369FC92 -DC49DB1375A5584F6485B413B5F12BAF 2F42B3B70369FC92 65C178B284D197CC -5269F149D41BA0152497574D7F153125 65C178B284D197CC EB44E415DA319824 +00000000000000000000000000000000 0000000000000000 21A5DBEE154B8F6D +915F4619BE41B2516355A50110A9CE91 21A5DBEE154B8F6D F7C013AC5B2B8952 +783348E75AEB0F2FD7B169BB8DC16787 F7C013AC5B2B8952 2F42B3B70369FC92 +DC49DB1375A5584F6485B413B5F12BAF 2F42B3B70369FC92 65C178B284D197CC +5269F149D41BA0152497574D7F153125 65C178B284D197CC EB44E415DA319824 diff --git a/TestData/rc6val.dat b/TestData/rc6val.dat index 3efa3c9f..d9401b2a 100644 --- a/TestData/rc6val.dat +++ b/TestData/rc6val.dat @@ -1,17 +1,17 @@ -00000000000000000000000000000000 - 00000000000000000000000000000000 8FC3A53656B1F778C129DF4E9848A41E - -0123456789ABCDEF0112233445566778 - 02132435465768798A9BACBDCEDFE0F1 524E192F4715C6231F51F6367EA43F18 - -000000000000000000000000000000000000000000000000 - 00000000000000000000000000000000 6cd61bcb190b30384e8a3f168690ae82 - -0123456789abcdef0112233445566778899aabbccddeeff0 - 02132435465768798a9bacbdcedfe0f1 688329d019e505041e52e92af95291d4 - -0000000000000000000000000000000000000000000000000000000000000000 - 00000000000000000000000000000000 8f5fbd0510d15fa893fa3fda6e857ec2 - -0123456789abcdef0112233445566778899aabbccddeeff01032547698badcfe +00000000000000000000000000000000 + 00000000000000000000000000000000 8FC3A53656B1F778C129DF4E9848A41E + +0123456789ABCDEF0112233445566778 + 02132435465768798A9BACBDCEDFE0F1 524E192F4715C6231F51F6367EA43F18 + +000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000 6cd61bcb190b30384e8a3f168690ae82 + +0123456789abcdef0112233445566778899aabbccddeeff0 + 02132435465768798a9bacbdcedfe0f1 688329d019e505041e52e92af95291d4 + +0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000 8f5fbd0510d15fa893fa3fda6e857ec2 + +0123456789abcdef0112233445566778899aabbccddeeff01032547698badcfe 02132435465768798a9bacbdcedfe0f1 c8241816f0d7e48920ad16a1674e5d48 \ No newline at end of file diff --git a/TestData/rijndael.dat b/TestData/rijndael.dat index c3e43f04..cf97819a 100644 --- a/TestData/rijndael.dat +++ b/TestData/rijndael.dat @@ -1,9 +1,9 @@ -000102030405060708090A0B0C0D0E0F 000102030405060708090A0B0C0D0E0F 0A940BB5416EF045F1C39458C653EA5A -00010203050607080A0B0C0D0F101112 506812A45F08C889B97F5980038B8359 D8F532538289EF7D06B506A4FD5BE9C9 -14151617191A1B1C1E1F202123242526 5C6D71CA30DE8B8B00549984D2EC7D4B 59AB30F4D4EE6E4FF9907EF65B1FB68C -28292A2B2D2E2F30323334353738393A 53F3F4C64F8616E4E7C56199F48F21F6 BF1ED2FCB2AF3FD41443B56D85025CB1 -00010203050607080A0B0C0D0F10111214151617191A1B1C 2D33EEF2C0430A8A9EBF45E809C40BB6 DFF4945E0336DF4C1C56BC700EFF837F -1E1F20212324252628292A2B2D2E2F30323334353738393A 6AA375D1FA155A61FB72353E0A5A8756 B6FDDEF4752765E347D5D2DC196D1252 -3C3D3E3F41424344464748494B4C4D4E5051525355565758 BC3736518B9490DCB8ED60EB26758ED4 D23684E3D963B3AFCF1A114ACA90CBD6 -00010203050607080A0B0C0D0F10111214151617191A1B1C1E1F202123242526 834EADFCCAC7E1B30664B1ABA44815AB 1946DABF6A03A2A2C3D0B05080AED6FC -28292A2B2D2E2F30323334353738393A3C3D3E3F41424344464748494B4C4D4E D9DC4DBA3021B05D67C0518F72B62BF1 5ED301D747D3CC715445EBDEC62F2FB4 +000102030405060708090A0B0C0D0E0F 000102030405060708090A0B0C0D0E0F 0A940BB5416EF045F1C39458C653EA5A +00010203050607080A0B0C0D0F101112 506812A45F08C889B97F5980038B8359 D8F532538289EF7D06B506A4FD5BE9C9 +14151617191A1B1C1E1F202123242526 5C6D71CA30DE8B8B00549984D2EC7D4B 59AB30F4D4EE6E4FF9907EF65B1FB68C +28292A2B2D2E2F30323334353738393A 53F3F4C64F8616E4E7C56199F48F21F6 BF1ED2FCB2AF3FD41443B56D85025CB1 +00010203050607080A0B0C0D0F10111214151617191A1B1C 2D33EEF2C0430A8A9EBF45E809C40BB6 DFF4945E0336DF4C1C56BC700EFF837F +1E1F20212324252628292A2B2D2E2F30323334353738393A 6AA375D1FA155A61FB72353E0A5A8756 B6FDDEF4752765E347D5D2DC196D1252 +3C3D3E3F41424344464748494B4C4D4E5051525355565758 BC3736518B9490DCB8ED60EB26758ED4 D23684E3D963B3AFCF1A114ACA90CBD6 +00010203050607080A0B0C0D0F10111214151617191A1B1C1E1F202123242526 834EADFCCAC7E1B30664B1ABA44815AB 1946DABF6A03A2A2C3D0B05080AED6FC +28292A2B2D2E2F30323334353738393A3C3D3E3F41424344464748494B4C4D4E D9DC4DBA3021B05D67C0518F72B62BF1 5ED301D747D3CC715445EBDEC62F2FB4 diff --git a/TestData/rsa1024.dat b/TestData/rsa1024.dat index 70fb1724..92b99f4b 100644 --- a/TestData/rsa1024.dat +++ b/TestData/rsa1024.dat @@ -1,32 +1,32 @@ -30820274020100300D06092A864886F70D010101 -05000482025E3082025A02010002818100A39D4F -72D1BCFF65A47545C2897C0464CE9181E8703421 -2EC04407C4C24D569AA20C58B8138C85E17510BC -6B861CADA9034C3ECE3B050B546E97D2BDC07A07 -CF8A612F7D3646739633041893EF18C411264E45 -C9E033A1BD5EE5FA02D95E9A9ADA2D0C6DF480E3 -2FA3FCE02889798455CE53F084AAB4C5549266F7 -CE8C77DF1D0201110281800E6FC33ED64561D443 -378627C0D63C9F7BA36D584622B7A23E241ECD98 -AC78952C6A804C7A320BD020EAE372E62FB4F853 -1D50D5F6261796823A929845B06A19B35A5227CB -C819852A9CBE588CC2D1CEE07F426D13C2BF2FCA -1C99FDEEFDFE387859E2B3F654E85A71481A71E9 -D5256583B1200F29C1AA0F437CFDC2AEAF218102 -4100D5DDB104AD074F6C1B8192D9AC8AED4DE05C -F5C6509490DA8CCFC91FDF7B3A1323E03894DCAA -B2587716D652A56904F86244E10C1B8FA597C389 -2591C55DBD65024100C3D930B583B8AD9A349218 -795C988CF0004F09DA04FFEF6FDF7CB4FA654F74 -B262521FE185693CD6290A337589F62CDEECE24E -CCB5E79865275540F3B603FB59024064A48F89BA -D6437E2B0FCCA2AB8CABE86995285D5318BCA315 -167CC3B47639726B3C56DCA41417B128FBB026E4 -6DA7FC6A7AC441EEDA2FCEF29AE480D5594A1102 -40228FBD4D355CD35772B05EAC014818DF0F1D01 -BD0FF0EE04AEF7E3B3B7867E015CA514AF53C746 -F89DD49FAB5494DABDED9159332F28DEA8705A56 -C198974A79024100D1DCA40FBD19036F0E2A9438 -7D03C090DDF0A677CDE0B8634A81F247752A355E -C1CEA2482A4887767145C2BA703C9C10228FDA1E -BB2EBEA73D23AA9C34182179 +30820274020100300D06092A864886F70D010101 +05000482025E3082025A02010002818100A39D4F +72D1BCFF65A47545C2897C0464CE9181E8703421 +2EC04407C4C24D569AA20C58B8138C85E17510BC +6B861CADA9034C3ECE3B050B546E97D2BDC07A07 +CF8A612F7D3646739633041893EF18C411264E45 +C9E033A1BD5EE5FA02D95E9A9ADA2D0C6DF480E3 +2FA3FCE02889798455CE53F084AAB4C5549266F7 +CE8C77DF1D0201110281800E6FC33ED64561D443 +378627C0D63C9F7BA36D584622B7A23E241ECD98 +AC78952C6A804C7A320BD020EAE372E62FB4F853 +1D50D5F6261796823A929845B06A19B35A5227CB +C819852A9CBE588CC2D1CEE07F426D13C2BF2FCA +1C99FDEEFDFE387859E2B3F654E85A71481A71E9 +D5256583B1200F29C1AA0F437CFDC2AEAF218102 +4100D5DDB104AD074F6C1B8192D9AC8AED4DE05C +F5C6509490DA8CCFC91FDF7B3A1323E03894DCAA +B2587716D652A56904F86244E10C1B8FA597C389 +2591C55DBD65024100C3D930B583B8AD9A349218 +795C988CF0004F09DA04FFEF6FDF7CB4FA654F74 +B262521FE185693CD6290A337589F62CDEECE24E +CCB5E79865275540F3B603FB59024064A48F89BA +D6437E2B0FCCA2AB8CABE86995285D5318BCA315 +167CC3B47639726B3C56DCA41417B128FBB026E4 +6DA7FC6A7AC441EEDA2FCEF29AE480D5594A1102 +40228FBD4D355CD35772B05EAC014818DF0F1D01 +BD0FF0EE04AEF7E3B3B7867E015CA514AF53C746 +F89DD49FAB5494DABDED9159332F28DEA8705A56 +C198974A79024100D1DCA40FBD19036F0E2A9438 +7D03C090DDF0A677CDE0B8634A81F247752A355E +C1CEA2482A4887767145C2BA703C9C10228FDA1E +BB2EBEA73D23AA9C34182179 diff --git a/TestData/rsa2048.dat b/TestData/rsa2048.dat index 83200c27..9b39ea3c 100644 --- a/TestData/rsa2048.dat +++ b/TestData/rsa2048.dat @@ -1,61 +1,61 @@ -308204BB020100300D06092A864886F70D010101 -0500048204A5308204A10201000282010100BB25 -80EB6B368287A0A3BDDF6AAA9EDA2EEF15D92C5F -E0B1C21473175C39B685A6FB0B0DB611092C19B4 -FA3CA5BB20F311E35B2E1097F48B077DF7684BEB -9A34EB78C7B5F02ADFAEA3F3A66F1EF91B0C47DE -68F0501F80A7E9603F794E928949F152C049A011 -D7E58C72F9303781E4FE7129DD7B87B5448D440A -62CE8E9C801F245039E2724A9C37CB17457950B7 -B3C4C9BE4D17A29EFC1EA1EF464FBD21DABE9F10 -ED0EB132405D68E4304008083BB675DA97CB6219 -147A1EB93D38A9C4023540F871272A85B45447B3 -6DE9A708E412CD31B1CB6470E4A37CBEA6000F36 -632DF86FD3C34466C63BD80F1350E4DD5081597F -F34F94F07AE6430DCC0563B1F7CF020111028201 -00034D763A5DC03580E33616ED5ABABA855B2E62 -4495DD8D002009656B5473772C85F55F10CE81CE -77BE31E04657410B1F6535B4CF1E6914E152F4AB -84DA2FD409F81BBB3DF0A96A58EACC9501F60162 -5C1356BF97D139C78A7E18496708EA7DE7B47266 -C81363B3FF888085E7403A028901FF3BA04C2EDE -930EC0EFAC4DCF8FD054C1119562A1C7CA455D79 -36CB95A16CE611ABC97918961DE6720CE171CC69 -A590E9A041EC1DAC6FDCF2E04946C100E03DEFCA -29FF480C926CD48589EB832D4476CF38AB320754 -D97BE77FDB9E5F2DCA1A2ABBC33D0790FE8C22CF -694BB8E0265733A5A17CC5D07DB54515DC80216A -A23A43EB12783888FF424EDB26FAF7DCB9028181 -00EB4C87F67AEA3F2047BF9DF61947DF2BA7E1C1 -64A03A8E3ED5F3BC6CDEE99FC6251C6A28F9502F -0A4B5A0CFA8038A12A2270AAE2C9342EDBA207CE -0F170B6D07550670CFEAE730B9411E66CD2D485F -3FC3E9C5348D32C768F68A53C756E66BE0FAC7E8 -FDC9FBE22644961782DA5DDC19D75B64D2E8B660 -052DDC95AD186633E902818100CB9C7830223B78 -FC28A6D2B77C50C3D389F32FC4DEF33341741205 -5102F8D852663DB44E1EA5E5E58A71D30D33C168 -E94855D79CC19CC7DFBAFBDFF7710490064A1375 -1CD75466219956B9D4C0AF0CC13E7D075F54E6AF -8CD67FBE3F4AB90425B039410686A168421E2E24 -FF0319D9D3F1C685BB650BC7B5BD12090CBDC392 -F702818060E3470B238DA185C330C89282E15BE4 -CCA84092D89094ECB2736BB45BC99C2469A249D4 -A2E4C8134C34237634CC06206888BED5DA60C800 -158ABE4272E6964E502FD41960B98C888439B1DC -039645567DD8BA9D2B14E8B2BFDE9AF7BA5EE120 -674341D1E9C211D385A736DB871796DD76CB47A2 -239663C5E5B52E9291937EC902818053D704500E -187D1C8935A20F514E6EC08418D76F2EA060663E -DA3E6CA6DEEFA97564B3A7B2444F9AC08938C933 -6DC1C9782358C8137CCAC5893A8965E33E1D2FC4 -262129FE4FEDD1997E10488B935F9ADD7EC6CCE6 -B957581C167B83791F01B52A71ED99467EB27593 -F4E20EA6EC86DECCF7643E1A8C614AD561C77DB7 -8CC40B02818100AF950A287679E6C55020400E8A -AD0642DB1C11D9AD5AE85F1B6FD2829D869453C9 -F67C0210D0847A4BD47C57FAECD9BE540BD66989 -E6C43F62D725B3D841B4F1DB7C28A722337358C8 -D1CD55F5CA6E31FAD6F827756BA074944D345C8D -2FCE759F4244B948D06F5AC863DEAAEF279B2F69 -955ADAD1F39DEA9DA028B94EF22F11 +308204BB020100300D06092A864886F70D010101 +0500048204A5308204A10201000282010100BB25 +80EB6B368287A0A3BDDF6AAA9EDA2EEF15D92C5F +E0B1C21473175C39B685A6FB0B0DB611092C19B4 +FA3CA5BB20F311E35B2E1097F48B077DF7684BEB +9A34EB78C7B5F02ADFAEA3F3A66F1EF91B0C47DE +68F0501F80A7E9603F794E928949F152C049A011 +D7E58C72F9303781E4FE7129DD7B87B5448D440A +62CE8E9C801F245039E2724A9C37CB17457950B7 +B3C4C9BE4D17A29EFC1EA1EF464FBD21DABE9F10 +ED0EB132405D68E4304008083BB675DA97CB6219 +147A1EB93D38A9C4023540F871272A85B45447B3 +6DE9A708E412CD31B1CB6470E4A37CBEA6000F36 +632DF86FD3C34466C63BD80F1350E4DD5081597F +F34F94F07AE6430DCC0563B1F7CF020111028201 +00034D763A5DC03580E33616ED5ABABA855B2E62 +4495DD8D002009656B5473772C85F55F10CE81CE +77BE31E04657410B1F6535B4CF1E6914E152F4AB +84DA2FD409F81BBB3DF0A96A58EACC9501F60162 +5C1356BF97D139C78A7E18496708EA7DE7B47266 +C81363B3FF888085E7403A028901FF3BA04C2EDE +930EC0EFAC4DCF8FD054C1119562A1C7CA455D79 +36CB95A16CE611ABC97918961DE6720CE171CC69 +A590E9A041EC1DAC6FDCF2E04946C100E03DEFCA +29FF480C926CD48589EB832D4476CF38AB320754 +D97BE77FDB9E5F2DCA1A2ABBC33D0790FE8C22CF +694BB8E0265733A5A17CC5D07DB54515DC80216A +A23A43EB12783888FF424EDB26FAF7DCB9028181 +00EB4C87F67AEA3F2047BF9DF61947DF2BA7E1C1 +64A03A8E3ED5F3BC6CDEE99FC6251C6A28F9502F +0A4B5A0CFA8038A12A2270AAE2C9342EDBA207CE +0F170B6D07550670CFEAE730B9411E66CD2D485F +3FC3E9C5348D32C768F68A53C756E66BE0FAC7E8 +FDC9FBE22644961782DA5DDC19D75B64D2E8B660 +052DDC95AD186633E902818100CB9C7830223B78 +FC28A6D2B77C50C3D389F32FC4DEF33341741205 +5102F8D852663DB44E1EA5E5E58A71D30D33C168 +E94855D79CC19CC7DFBAFBDFF7710490064A1375 +1CD75466219956B9D4C0AF0CC13E7D075F54E6AF +8CD67FBE3F4AB90425B039410686A168421E2E24 +FF0319D9D3F1C685BB650BC7B5BD12090CBDC392 +F702818060E3470B238DA185C330C89282E15BE4 +CCA84092D89094ECB2736BB45BC99C2469A249D4 +A2E4C8134C34237634CC06206888BED5DA60C800 +158ABE4272E6964E502FD41960B98C888439B1DC +039645567DD8BA9D2B14E8B2BFDE9AF7BA5EE120 +674341D1E9C211D385A736DB871796DD76CB47A2 +239663C5E5B52E9291937EC902818053D704500E +187D1C8935A20F514E6EC08418D76F2EA060663E +DA3E6CA6DEEFA97564B3A7B2444F9AC08938C933 +6DC1C9782358C8137CCAC5893A8965E33E1D2FC4 +262129FE4FEDD1997E10488B935F9ADD7EC6CCE6 +B957581C167B83791F01B52A71ED99467EB27593 +F4E20EA6EC86DECCF7643E1A8C614AD561C77DB7 +8CC40B02818100AF950A287679E6C55020400E8A +AD0642DB1C11D9AD5AE85F1B6FD2829D869453C9 +F67C0210D0847A4BD47C57FAECD9BE540BD66989 +E6C43F62D725B3D841B4F1DB7C28A722337358C8 +D1CD55F5CA6E31FAD6F827756BA074944D345C8D +2FCE759F4244B948D06F5AC863DEAAEF279B2F69 +955ADAD1F39DEA9DA028B94EF22F11 diff --git a/TestData/rsa400pb.dat b/TestData/rsa400pb.dat index ccbc6ae2..08c69eb3 100644 --- a/TestData/rsa400pb.dat +++ b/TestData/rsa400pb.dat @@ -1,10 +1,10 @@ -30 4c 30 0d 06 09 2a 86 -48 86 f7 0d 01 01 01 05 -00 03 3b 00 30 38 02 33 -00 a3 07 9a 90 df 0d fd -72 ac 09 0c cc 2a 78 b8 -74 13 13 3e 40 75 9c 98 -fa f8 20 4f 35 8a 0b 26 -3c 67 70 e7 83 a9 3b 69 -71 b7 37 79 d2 71 7b e8 -34 77 cf 02 01 03 +30 4c 30 0d 06 09 2a 86 +48 86 f7 0d 01 01 01 05 +00 03 3b 00 30 38 02 33 +00 a3 07 9a 90 df 0d fd +72 ac 09 0c cc 2a 78 b8 +74 13 13 3e 40 75 9c 98 +fa f8 20 4f 35 8a 0b 26 +3c 67 70 e7 83 a9 3b 69 +71 b7 37 79 d2 71 7b e8 +34 77 cf 02 01 03 diff --git a/TestData/rsa400pv.dat b/TestData/rsa400pv.dat index 2a731234..f49cf372 100644 --- a/TestData/rsa400pv.dat +++ b/TestData/rsa400pv.dat @@ -1,41 +1,41 @@ - 30 81 fb - 02 01 00 - 02 - 33 00 a3 07 9a 90 df 0d - fd 72 ac 09 0c cc 2a 78 - b8 74 13 13 3e 40 75 9c - 98 fa f8 20 4f 35 8a 0b - 26 3c 67 70 e7 83 a9 3b - 69 71 b7 37 79 d2 71 7b - e8 34 77 cf - 02 01 03 - 02 - 32 6c af bc 60 94 b3 fe - 4c 72 b0 b3 32 c6 fb 25 - a2 b7 62 29 80 4e 68 65 - fc a4 5a 74 df 0f 8f b8 - 41 3b 52 c0 d0 e5 3d 9b - 59 0f f1 9b e7 9f 49 dd - 21 e5 eb - 02 1a 00 cf 20 - 35 02 8b 9d 86 98 40 b4 - 16 66 b4 2e 92 ea 0d a3 - b4 32 04 b5 cf ce 91 - 02 - 1a 00 c9 7f b1 f0 27 f4 - 53 f6 34 12 33 ea aa d1 - d9 35 3f 6c 42 d0 88 66 - b1 d0 5f - 02 1a 00 8a 15 - 78 ac 5d 13 af 10 2b 22 - b9 99 cd 74 61 f1 5e 6d - 22 cc 03 23 df df 0b - 02 - 1a 00 86 55 21 4a c5 4d - 8d 4e cd 61 77 f1 c7 36 - 90 ce 2a 48 2c 8b 05 99 - cb e0 3f - 02 1a 00 83 ef - ef b8 a9 a4 0d 1d b6 ed - 98 ad 84 ed 13 35 dc c1 + 30 81 fb + 02 01 00 + 02 + 33 00 a3 07 9a 90 df 0d + fd 72 ac 09 0c cc 2a 78 + b8 74 13 13 3e 40 75 9c + 98 fa f8 20 4f 35 8a 0b + 26 3c 67 70 e7 83 a9 3b + 69 71 b7 37 79 d2 71 7b + e8 34 77 cf + 02 01 03 + 02 + 32 6c af bc 60 94 b3 fe + 4c 72 b0 b3 32 c6 fb 25 + a2 b7 62 29 80 4e 68 65 + fc a4 5a 74 df 0f 8f b8 + 41 3b 52 c0 d0 e5 3d 9b + 59 0f f1 9b e7 9f 49 dd + 21 e5 eb + 02 1a 00 cf 20 + 35 02 8b 9d 86 98 40 b4 + 16 66 b4 2e 92 ea 0d a3 + b4 32 04 b5 cf ce 91 + 02 + 1a 00 c9 7f b1 f0 27 f4 + 53 f6 34 12 33 ea aa d1 + d9 35 3f 6c 42 d0 88 66 + b1 d0 5f + 02 1a 00 8a 15 + 78 ac 5d 13 af 10 2b 22 + b9 99 cd 74 61 f1 5e 6d + 22 cc 03 23 df df 0b + 02 + 1a 00 86 55 21 4a c5 4d + 8d 4e cd 61 77 f1 c7 36 + 90 ce 2a 48 2c 8b 05 99 + cb e0 3f + 02 1a 00 83 ef + ef b8 a9 a4 0d 1d b6 ed + 98 ad 84 ed 13 35 dc c1 08 f3 22 d0 57 cf 8d \ No newline at end of file diff --git a/TestData/rsa512a.dat b/TestData/rsa512a.dat index e7edefae..2cbc1e6a 100644 --- a/TestData/rsa512a.dat +++ b/TestData/rsa512a.dat @@ -1,35 +1,35 @@ -30 82 01 50 - 02 01 00 - 30 0d - 06 09 - 2a 86 48 86 f7 0d 01 01 01 - 05 00 - 04 82 01 3a - 30 82 01 36 - 02 01 00 - 02 40 - 0a 66 79 1d c6 98 81 68 de 7a b7 74 19 bb 7f b0 - c0 01 c6 27 10 27 00 75 14 29 42 e1 9a 8d 8c 51 - d0 53 b3 e3 78 2a 1d e5 dc 5a f4 eb e9 94 68 17 - 01 14 a1 df e6 7c dc 9a 9a f5 5d 65 56 20 bb ab - 02 03 01 00 01 - 02 40 - 01 23 c5 b6 1b a3 6e db 1d 36 79 90 41 99 a8 9e - a8 0c 09 b9 12 2e 14 00 c0 9a dc f7 78 46 76 d0 - 1d 23 35 6a 7d 44 d6 bd 8b d5 0e 94 bf c7 23 fa - 87 d8 86 2b 75 17 76 91 c1 1d 75 76 92 df 88 81 - 02 20 - 33 d4 84 45 c8 59 e5 23 40 de 70 4b cd da 06 5f - bb 40 58 d7 40 bd 1d 67 d2 9e 9c 14 6c 11 cf 61 - 02 20 - 33 5e 84 08 86 6b 0f d3 8d c7 00 2d 3f 97 2c 67 - 38 9a 65 d5 d8 30 65 66 d5 c4 f2 a5 aa 52 62 8b - 02 20 - 04 5e c9 00 71 52 53 25 d3 d4 6d b7 96 95 e9 af - ac c4 52 39 64 36 0e 02 b1 19 ba a3 66 31 62 41 - 02 20 - 15 eb 32 73 60 c7 b6 0d 12 e5 e2 d1 6b dc d9 79 - 81 d1 7f ba 6b 70 db 13 b2 0b 43 6e 24 ea da 59 - 02 20 - 2c a6 36 6d 72 78 1d fa 24 d3 4a 9a 24 cb c2 ae - 92 7a 99 58 af 42 65 63 ff 63 fb 11 65 8a 46 1d +30 82 01 50 + 02 01 00 + 30 0d + 06 09 + 2a 86 48 86 f7 0d 01 01 01 + 05 00 + 04 82 01 3a + 30 82 01 36 + 02 01 00 + 02 40 + 0a 66 79 1d c6 98 81 68 de 7a b7 74 19 bb 7f b0 + c0 01 c6 27 10 27 00 75 14 29 42 e1 9a 8d 8c 51 + d0 53 b3 e3 78 2a 1d e5 dc 5a f4 eb e9 94 68 17 + 01 14 a1 df e6 7c dc 9a 9a f5 5d 65 56 20 bb ab + 02 03 01 00 01 + 02 40 + 01 23 c5 b6 1b a3 6e db 1d 36 79 90 41 99 a8 9e + a8 0c 09 b9 12 2e 14 00 c0 9a dc f7 78 46 76 d0 + 1d 23 35 6a 7d 44 d6 bd 8b d5 0e 94 bf c7 23 fa + 87 d8 86 2b 75 17 76 91 c1 1d 75 76 92 df 88 81 + 02 20 + 33 d4 84 45 c8 59 e5 23 40 de 70 4b cd da 06 5f + bb 40 58 d7 40 bd 1d 67 d2 9e 9c 14 6c 11 cf 61 + 02 20 + 33 5e 84 08 86 6b 0f d3 8d c7 00 2d 3f 97 2c 67 + 38 9a 65 d5 d8 30 65 66 d5 c4 f2 a5 aa 52 62 8b + 02 20 + 04 5e c9 00 71 52 53 25 d3 d4 6d b7 96 95 e9 af + ac c4 52 39 64 36 0e 02 b1 19 ba a3 66 31 62 41 + 02 20 + 15 eb 32 73 60 c7 b6 0d 12 e5 e2 d1 6b dc d9 79 + 81 d1 7f ba 6b 70 db 13 b2 0b 43 6e 24 ea da 59 + 02 20 + 2c a6 36 6d 72 78 1d fa 24 d3 4a 9a 24 cb c2 ae + 92 7a 99 58 af 42 65 63 ff 63 fb 11 65 8a 46 1d diff --git a/TestData/saferval.dat b/TestData/saferval.dat index cdcad06f..52ba4a2c 100644 --- a/TestData/saferval.dat +++ b/TestData/saferval.dat @@ -1,16 +1,16 @@ -0000000000000000 0000000000000000 032808C90EE7AB7F -0000000000000000 0102030405060708 7D28038633B92EB4 -0102030405060708 1011121314151617 71E5CF7F083A59C5 -0102030405060708 18191A1B1C1D1E1F 356F702CC7FA8161 -08070605040302010807060504030201 5051525354555657 38E64DBF6E0F896E -08070605040302010807060504030201 58595A5B5C5D5E5F 7D8F014A902480FE -01020304050607080807060504030201 6061626364656667 113511C22E7936DF -01020304050607080807060504030201 68696A6B6C6D6E6F 9EEB2D17C0581437 -0000000000000001 7071727374757677 9ABE2C85BE2D7614 -0000000000000001 78797A7B7C7D7E7F EBC4A9C6C25CF215 -0102030405060708 8081828384858687 54E72BA2D744C566 -0102030405060708 88898A8B8C8D8E8F 57F55D0F7EB6F8FE -00000000000000010000000000000001 9091929394959697 9EAA4DF1E0EFF445 -00000000000000010000000000000001 98999A9B9C9D9E9F 4CC14838399E532D -01020304050607080000000000000000 A0A1A2A3A4A5A6A7 41246B65F1DC6AFA -00000000000000000102030405060708 A0A1A2A3A4A5A6A7 5CBD77B03626FE3B +0000000000000000 0000000000000000 032808C90EE7AB7F +0000000000000000 0102030405060708 7D28038633B92EB4 +0102030405060708 1011121314151617 71E5CF7F083A59C5 +0102030405060708 18191A1B1C1D1E1F 356F702CC7FA8161 +08070605040302010807060504030201 5051525354555657 38E64DBF6E0F896E +08070605040302010807060504030201 58595A5B5C5D5E5F 7D8F014A902480FE +01020304050607080807060504030201 6061626364656667 113511C22E7936DF +01020304050607080807060504030201 68696A6B6C6D6E6F 9EEB2D17C0581437 +0000000000000001 7071727374757677 9ABE2C85BE2D7614 +0000000000000001 78797A7B7C7D7E7F EBC4A9C6C25CF215 +0102030405060708 8081828384858687 54E72BA2D744C566 +0102030405060708 88898A8B8C8D8E8F 57F55D0F7EB6F8FE +00000000000000010000000000000001 9091929394959697 9EAA4DF1E0EFF445 +00000000000000010000000000000001 98999A9B9C9D9E9F 4CC14838399E532D +01020304050607080000000000000000 A0A1A2A3A4A5A6A7 41246B65F1DC6AFA +00000000000000000102030405060708 A0A1A2A3A4A5A6A7 5CBD77B03626FE3B diff --git a/TestData/serpentv.dat b/TestData/serpentv.dat index bccbf373..8eab0a7f 100644 --- a/TestData/serpentv.dat +++ b/TestData/serpentv.dat @@ -1,12 +1,12 @@ -00000000000000000000000000000000 d29d576fcea3a3a7ed9099f29273d78e b2288b968ae8b08648d1ce9606fd992d -00000000000000000000000000000000 d29d576fcea3a3a7ed9099f26d8c2871 563a8403ff5309d62370b1dcf5a11edd -ffeeddccbbaa99887766554433221100 1032547698badcfeefcdab8967452301 d5baa00a4bb9d8a7c981c8dc90d89d92 -ffeeddccbbaa99887766554433221100 145f0b8b663176b95dcab7e9dcd5cc24 1032547698badcfeefcdab8967452301 -80000000000000000000000000000000 00000000000000000000000000000000 264E5481EFF42A4606ABDA06C0BFDA3D -000000000000000000000000000000000000000000000000 d29d576fceaba3a7ed9899f2927bd78e 130e353e1037c22405e8faefb2c3c3e9 -8899aabbccddeeffffeeddccbbaa99887766554433221100 1032547698badcfeefcdab8967452301 da860842b720802bf404a4c71034879a -8899aabbccddeeffffeeddccbbaa99887766554433221100 b2696bd0d98c17953e4239225d27202c 1032547698badcfeefcdab8967452301 -000102030405060708090A0B0C0D0E0F1011121314151617 4528CACCB954D450655E8CFD71CBFAC7 00112233445566778899AABBCCDDEEFF -0000000000000000000000000000000000000000000000000000000000000000 92074732d84e1841a013a0034c52bf50 81c4eb7b8ad9a8d0f2aa5d7bd626b560 -00112233445566778899aabbccddeeffffeeddccbbaa99887766554433221100 1032547698badcfeefcdab8967452301 93df9a3cafe387bd999eebe393a17fca +00000000000000000000000000000000 d29d576fcea3a3a7ed9099f29273d78e b2288b968ae8b08648d1ce9606fd992d +00000000000000000000000000000000 d29d576fcea3a3a7ed9099f26d8c2871 563a8403ff5309d62370b1dcf5a11edd +ffeeddccbbaa99887766554433221100 1032547698badcfeefcdab8967452301 d5baa00a4bb9d8a7c981c8dc90d89d92 +ffeeddccbbaa99887766554433221100 145f0b8b663176b95dcab7e9dcd5cc24 1032547698badcfeefcdab8967452301 +80000000000000000000000000000000 00000000000000000000000000000000 264E5481EFF42A4606ABDA06C0BFDA3D +000000000000000000000000000000000000000000000000 d29d576fceaba3a7ed9899f2927bd78e 130e353e1037c22405e8faefb2c3c3e9 +8899aabbccddeeffffeeddccbbaa99887766554433221100 1032547698badcfeefcdab8967452301 da860842b720802bf404a4c71034879a +8899aabbccddeeffffeeddccbbaa99887766554433221100 b2696bd0d98c17953e4239225d27202c 1032547698badcfeefcdab8967452301 +000102030405060708090A0B0C0D0E0F1011121314151617 4528CACCB954D450655E8CFD71CBFAC7 00112233445566778899AABBCCDDEEFF +0000000000000000000000000000000000000000000000000000000000000000 92074732d84e1841a013a0034c52bf50 81c4eb7b8ad9a8d0f2aa5d7bd626b560 +00112233445566778899aabbccddeeffffeeddccbbaa99887766554433221100 1032547698badcfeefcdab8967452301 93df9a3cafe387bd999eebe393a17fca 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F 3DA46FFA6F4D6F30CD258333E5A61369 00112233445566778899AABBCCDDEEFF \ No newline at end of file diff --git a/TestData/shacal2v.dat b/TestData/shacal2v.dat index 169b55f0..325d606b 100644 --- a/TestData/shacal2v.dat +++ b/TestData/shacal2v.dat @@ -1,14 +1,14 @@ -80000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 361AB6322FA9E7A7BB23818D839E01BDDAFDF47305426EDD297AEDB9F6202BAE -00000000000000000000000000000001 0000000000000000000000000000000000000000000000000000000000000000 7308AEC23D25A231B26448AFE78D5047804C5011B9B5F95C16DF2670551F0001 -00000000000000000000000000000000 8000000000000000000000000000000000000000000000000000000000000000 2CAE7C0460EE2FC3200923A1B6C2ABEEA746C8B44F6C3FB941BD3AF02A3E6E3E -00000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000001 45D43E9288738C5AD1A683D8DE59CEDD22D666A2B7078EB1301B532A272D570B -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 7CA51614425C3BA8CE54DD2FC2020AE7B6E574D198136D0FAE7E26CCBF0BE7A6 -01010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101 0101010101010101010101010101010101010101010101010101010101010101 C4B7C6A9738C77EE28F7E685C8358E0AF88FB6D23955EE6DF49FE3F5DA16F826 -02020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202 0202020202020202020202020202020202020202020202020202020202020202 CD108DD9EC1000B79C75AA3DCC88F913E6F52773853035A5C44F3245B134CBFF -04040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404 0404040404040404040404040404040404040404040404040404040404040404 6AA777340200C1B65AB25193A8BB267C233DAC7E1B3C523D406FC5B567B7B586 -08080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808 0808080808080808080808080808080808080808080808080808080808080808 A23BE32D37FA4054EC45D6A9CC643AF9124EDAA4AD9ABC7FAAB449D39D11B128 -10101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010 1010101010101010101010101010101010101010101010101010101010101010 F64819DFBEBE0A6DB650E7072CE28EA606586418B317785FF0AD44212A84C82C -20202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020 2020202020202020202020202020202020202020202020202020202020202020 E267D6113C27170A3EE6DF496E801A6131BBD3444365D7C03791E25610F1A0E4 -40404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040 4040404040404040404040404040404040404040404040404040404040404040 C97909916EE86FFDCE8A92903046109B53F788A53039434DF1A394DAD6F697A2 -80808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080 8080808080808080808080808080808080808080808080808080808080808080 C3C1CD5F3060B3EC4E6ABC0818B68449E1750FB482368C8F3305270E16F98735 -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 0598127BAF11706F77402000D730C54A0B84C868A98C6CA4D7F3C0FA06A78B7A +80000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 361AB6322FA9E7A7BB23818D839E01BDDAFDF47305426EDD297AEDB9F6202BAE +00000000000000000000000000000001 0000000000000000000000000000000000000000000000000000000000000000 7308AEC23D25A231B26448AFE78D5047804C5011B9B5F95C16DF2670551F0001 +00000000000000000000000000000000 8000000000000000000000000000000000000000000000000000000000000000 2CAE7C0460EE2FC3200923A1B6C2ABEEA746C8B44F6C3FB941BD3AF02A3E6E3E +00000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000001 45D43E9288738C5AD1A683D8DE59CEDD22D666A2B7078EB1301B532A272D570B +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 7CA51614425C3BA8CE54DD2FC2020AE7B6E574D198136D0FAE7E26CCBF0BE7A6 +01010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101 0101010101010101010101010101010101010101010101010101010101010101 C4B7C6A9738C77EE28F7E685C8358E0AF88FB6D23955EE6DF49FE3F5DA16F826 +02020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202 0202020202020202020202020202020202020202020202020202020202020202 CD108DD9EC1000B79C75AA3DCC88F913E6F52773853035A5C44F3245B134CBFF +04040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404 0404040404040404040404040404040404040404040404040404040404040404 6AA777340200C1B65AB25193A8BB267C233DAC7E1B3C523D406FC5B567B7B586 +08080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808 0808080808080808080808080808080808080808080808080808080808080808 A23BE32D37FA4054EC45D6A9CC643AF9124EDAA4AD9ABC7FAAB449D39D11B128 +10101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010 1010101010101010101010101010101010101010101010101010101010101010 F64819DFBEBE0A6DB650E7072CE28EA606586418B317785FF0AD44212A84C82C +20202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020 2020202020202020202020202020202020202020202020202020202020202020 E267D6113C27170A3EE6DF496E801A6131BBD3444365D7C03791E25610F1A0E4 +40404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040 4040404040404040404040404040404040404040404040404040404040404040 C97909916EE86FFDCE8A92903046109B53F788A53039434DF1A394DAD6F697A2 +80808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080 8080808080808080808080808080808080808080808080808080808080808080 C3C1CD5F3060B3EC4E6ABC0818B68449E1750FB482368C8F3305270E16F98735 +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 0598127BAF11706F77402000D730C54A0B84C868A98C6CA4D7F3C0FA06A78B7A diff --git a/TestData/sharkval.dat b/TestData/sharkval.dat index 637387a9..59106c4e 100644 --- a/TestData/sharkval.dat +++ b/TestData/sharkval.dat @@ -1,7 +1,7 @@ -00000000000000000000000000000000 0000000000000000 214BCF4E7716420A -000102030405060708090A0B0C0D0E0F 0000000000000000 C76C696289898137 -000102030405060708090A0B0C0D0E0F C76C696289898137 077A4A59FAEEEA4D -915F4619BE41B2516355A50110A9CE91 21A5DBEE154B8F6D 6FF33B98F448E95A -783348E75AEB0F2FD7B169BB8DC16787 F7C013AC5B2B8952 E5E554ABE9CED2D2 -DC49DB1375A5584F6485B413B5F12BAF 2F42B3B70369FC92 9AE068313F343A7A -5269F149D41BA0152497574D7F153125 65C178B284D197CC D3F111A282F17F29 +00000000000000000000000000000000 0000000000000000 214BCF4E7716420A +000102030405060708090A0B0C0D0E0F 0000000000000000 C76C696289898137 +000102030405060708090A0B0C0D0E0F C76C696289898137 077A4A59FAEEEA4D +915F4619BE41B2516355A50110A9CE91 21A5DBEE154B8F6D 6FF33B98F448E95A +783348E75AEB0F2FD7B169BB8DC16787 F7C013AC5B2B8952 E5E554ABE9CED2D2 +DC49DB1375A5584F6485B413B5F12BAF 2F42B3B70369FC92 9AE068313F343A7A +5269F149D41BA0152497574D7F153125 65C178B284D197CC D3F111A282F17F29 diff --git a/TestData/skipjack.dat b/TestData/skipjack.dat index 6991a1e0..3f2f67ad 100644 --- a/TestData/skipjack.dat +++ b/TestData/skipjack.dat @@ -1 +1 @@ -11223344556677889900 aabbccdd00112233 00d3127ae2ca8725 +11223344556677889900 aabbccdd00112233 00d3127ae2ca8725 diff --git a/TestData/squareva.dat b/TestData/squareva.dat index 4eddd1a0..c09013af 100644 --- a/TestData/squareva.dat +++ b/TestData/squareva.dat @@ -1,8 +1,8 @@ -00000000000000000000000000000000 00000000000000000000000000000000 3C00428F8ABBC0B84F057CC19C26F8CF -000102030405060708090A0B0C0D0E0F 00000000000000000000000000000000 FF596FA668BFC3014200AE01E2BBA0A0 -000102030405060708090A0B0C0D0E0F 000102030405060708090A0B0C0D0E0F 7C3491D94994E70F0EC2E7A5CCB5A14F -000102030405060708090A0B0C0D0E0F C76C696289898137077A4A59FAEEEA4D 88C6FF4B92604C6E66656B02DDAF9F40 -915F4619BE41B2516355A50110A9CE91 21A5DBEE154B8F6D6FF33B98F448E95A 3388801F66E7FCC0BCE522A23A4F0C7F -783348E75AEB0F2FD7B169BB8DC16787 F7C013AC5B2B8952E5E554ABE9CED2D2 A1C0E9215141343DEC2B556942C92BDE -DC49DB1375A5584F6485B413B5F12BAF 2F42B3B70369FC929AE068313F343A7A 3FBE6811B998CDF3E50ABDE2F3C075E3 -5269F149D41BA0152497574D7F153125 65C178B284D197CCD3F111A282F17F29 D7B7209E0879744C782809B6D2E0B1B0 +00000000000000000000000000000000 00000000000000000000000000000000 3C00428F8ABBC0B84F057CC19C26F8CF +000102030405060708090A0B0C0D0E0F 00000000000000000000000000000000 FF596FA668BFC3014200AE01E2BBA0A0 +000102030405060708090A0B0C0D0E0F 000102030405060708090A0B0C0D0E0F 7C3491D94994E70F0EC2E7A5CCB5A14F +000102030405060708090A0B0C0D0E0F C76C696289898137077A4A59FAEEEA4D 88C6FF4B92604C6E66656B02DDAF9F40 +915F4619BE41B2516355A50110A9CE91 21A5DBEE154B8F6D6FF33B98F448E95A 3388801F66E7FCC0BCE522A23A4F0C7F +783348E75AEB0F2FD7B169BB8DC16787 F7C013AC5B2B8952E5E554ABE9CED2D2 A1C0E9215141343DEC2B556942C92BDE +DC49DB1375A5584F6485B413B5F12BAF 2F42B3B70369FC929AE068313F343A7A 3FBE6811B998CDF3E50ABDE2F3C075E3 +5269F149D41BA0152497574D7F153125 65C178B284D197CCD3F111A282F17F29 D7B7209E0879744C782809B6D2E0B1B0 diff --git a/TestData/twofishv.dat b/TestData/twofishv.dat index 54fbc379..8b23740c 100644 --- a/TestData/twofishv.dat +++ b/TestData/twofishv.dat @@ -1,9 +1,9 @@ -00000000000000000000000000000000 00000000000000000000000000000000 9F589F5CF6122C32B6BFEC2F2AE8C35A -00000000000000000000000000000000 9F589F5CF6122C32B6BFEC2F2AE8C35A D491DB16E7B1C39E86CB086B789F5419 -9F589F5CF6122C32B6BFEC2F2AE8C35A D491DB16E7B1C39E86CB086B789F5419 019F9809DE1711858FAAC3A3BA20FBC3 -D491DB16E7B1C39E86CB086B789F5419 019F9809DE1711858FAAC3A3BA20FBC3 6363977DE839486297E661C6C9D668EB -000000000000000000000000000000000000000000000000 00000000000000000000000000000000 EFA71F788965BD4453F860178FC19101 -EFA71F788965BD4453F860178FC191010000000000000000 88B2B2706B105E36B446BB6D731A1E88 39DA69D6BA4997D585B6DC073CA341B2 -88B2B2706B105E36B446BB6D731A1E88EFA71F788965BD44 39DA69D6BA4997D585B6DC073CA341B2 182B02D81497EA45F9DAACDC29193A65 -0000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000 57FF739D4DC92C1BD7FC01700CC8216F -D43BB7556EA32E46F2A282B7D45B4E0D57FF739D4DC92C1BD7FC01700CC8216F 90AFE91BB288544F2C32DC239B2635E6 6CB4561C40BF0A9705931CB6D408E7FA +00000000000000000000000000000000 00000000000000000000000000000000 9F589F5CF6122C32B6BFEC2F2AE8C35A +00000000000000000000000000000000 9F589F5CF6122C32B6BFEC2F2AE8C35A D491DB16E7B1C39E86CB086B789F5419 +9F589F5CF6122C32B6BFEC2F2AE8C35A D491DB16E7B1C39E86CB086B789F5419 019F9809DE1711858FAAC3A3BA20FBC3 +D491DB16E7B1C39E86CB086B789F5419 019F9809DE1711858FAAC3A3BA20FBC3 6363977DE839486297E661C6C9D668EB +000000000000000000000000000000000000000000000000 00000000000000000000000000000000 EFA71F788965BD4453F860178FC19101 +EFA71F788965BD4453F860178FC191010000000000000000 88B2B2706B105E36B446BB6D731A1E88 39DA69D6BA4997D585B6DC073CA341B2 +88B2B2706B105E36B446BB6D731A1E88EFA71F788965BD44 39DA69D6BA4997D585B6DC073CA341B2 182B02D81497EA45F9DAACDC29193A65 +0000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000 57FF739D4DC92C1BD7FC01700CC8216F +D43BB7556EA32E46F2A282B7D45B4E0D57FF739D4DC92C1BD7FC01700CC8216F 90AFE91BB288544F2C32DC239B2635E6 6CB4561C40BF0A9705931CB6D408E7FA diff --git a/TestData/usage.dat b/TestData/usage.dat index 7830f0c3..103d98e8 100644 --- a/TestData/usage.dat +++ b/TestData/usage.dat @@ -1,81 +1,81 @@ -Test Driver for Crypto++(R) Library, a C++ Class Library of Cryptographic Schemes - -- To generate an RSA key - cryptest g - -- To encrypt and decrypt a string using RSA - cryptest r - -- To sign a file using RSA - cryptest rs privatekeyfile messagefile signaturefile - -- To verify a signature of a file using RSA - cryptest rv publickeyfile messagefile signaturefile - -- To digest a file using several hash functions in parallel - cryptest m file - -- To encrypt and decrypt a string using DES-EDE in CBC mode - cryptest t - -- To encrypt or decrypt a file - cryptest e|d input output - -- To secret share a file (shares will be named file.000, file.001, etc) - cryptest ss threshold number-of-shares file - -- To reconstruct a secret-shared file - cryptest sr file share1 share2 [....] - (number of shares given must be equal to threshold) - -- To information disperse a file (shares will be named file.000, file.001, etc) - cryptest id threshold number-of-shares file - -- To reconstruct an information-dispersed file - cryptest ir file share1 share2 [....] - (number of shares given must be equal to threshold) - -- To gzip a file - cryptest z compression-level input output - -- To gunzip a file - cryptest u input output - -- To encrypt a file with AES in CTR mode - cryptest ae input output - -- To base64 encode a file - cryptest e64 input output - -- To base64 decode a file - cryptest d64 input output - -- To hex encode a file - cryptest e16 input output - -- To hex decode a file - cryptest d16 input output - -- To forward a TCP connection - cryptest ft source-port destination-host destination-port - -- To run the FIPS 140-2 sample application - cryptest fips - -- To generate 100000 random files using FIPS Approved X.917 RNG - cryptest fips-rand - -- To run Maurer's randomness test on a file - cryptest mt input - -- To run a test script (available in TestVectors subdirectory) - cryptest tv filename - -- To run validation tests - cryptest v - -- To display version number - cryptest V - -- To run benchmarks - cryptest b [time allocated for each benchmark in seconds] [frequency of CPU in gigahertz] +Test Driver for Crypto++(R) Library, a C++ Class Library of Cryptographic Schemes + +- To generate an RSA key + cryptest g + +- To encrypt and decrypt a string using RSA + cryptest r + +- To sign a file using RSA + cryptest rs privatekeyfile messagefile signaturefile + +- To verify a signature of a file using RSA + cryptest rv publickeyfile messagefile signaturefile + +- To digest a file using several hash functions in parallel + cryptest m file + +- To encrypt and decrypt a string using DES-EDE in CBC mode + cryptest t + +- To encrypt or decrypt a file + cryptest e|d input output + +- To secret share a file (shares will be named file.000, file.001, etc) + cryptest ss threshold number-of-shares file + +- To reconstruct a secret-shared file + cryptest sr file share1 share2 [....] + (number of shares given must be equal to threshold) + +- To information disperse a file (shares will be named file.000, file.001, etc) + cryptest id threshold number-of-shares file + +- To reconstruct an information-dispersed file + cryptest ir file share1 share2 [....] + (number of shares given must be equal to threshold) + +- To gzip a file + cryptest z compression-level input output + +- To gunzip a file + cryptest u input output + +- To encrypt a file with AES in CTR mode + cryptest ae input output + +- To base64 encode a file + cryptest e64 input output + +- To base64 decode a file + cryptest d64 input output + +- To hex encode a file + cryptest e16 input output + +- To hex decode a file + cryptest d16 input output + +- To forward a TCP connection + cryptest ft source-port destination-host destination-port + +- To run the FIPS 140-2 sample application + cryptest fips + +- To generate 100000 random files using FIPS Approved X.917 RNG + cryptest fips-rand + +- To run Maurer's randomness test on a file + cryptest mt input + +- To run a test script (available in TestVectors subdirectory) + cryptest tv filename + +- To run validation tests + cryptest v + +- To display version number + cryptest V + +- To run benchmarks + cryptest b [time allocated for each benchmark in seconds] [frequency of CPU in gigahertz] diff --git a/TestData/xtrdh171.dat b/TestData/xtrdh171.dat index c75ff48d..ba784ca1 100644 --- a/TestData/xtrdh171.dat +++ b/TestData/xtrdh171.dat @@ -1,3 +1,3 @@ -305F02160559DCD66A95A57249A15BAD6B431BF2CD58615B901D02153365CFA0D3B1B6577B2DB243 -DDE45EDB91C18B0F5F0216032F4EBA0911B3D0B14F6F1292A74DFFD4A8FCF22C1802160211CB3EDA -809FA0FF8C3A8AE691EC4C95A06A3395CF +305F02160559DCD66A95A57249A15BAD6B431BF2CD58615B901D02153365CFA0D3B1B6577B2DB243 +DDE45EDB91C18B0F5F0216032F4EBA0911B3D0B14F6F1292A74DFFD4A8FCF22C1802160211CB3EDA +809FA0FF8C3A8AE691EC4C95A06A3395CF diff --git a/TestData/xtrdh342.dat b/TestData/xtrdh342.dat index ce67aaaf..5f7eecd1 100644 --- a/TestData/xtrdh342.dat +++ b/TestData/xtrdh342.dat @@ -1,5 +1,5 @@ -3081A6022B28E3FED51D3D861D962B0A16A92ACDB380ADAFB478CA555004C3AF387F853F9DE9921C -7DCB40098D25C757021D03094844F135A3A50049A848C3FC02412FCBED6040FB1BDE99A4D93E3B02 -2B13F411960B85F9B031A247E072046892B1EE6C95A47242A839F8E24B96B88F37B4BDA2C6D253BC -0AAF29F1022B0D2AFE639D324E558B2B312E435E03957769D745C881D259DDFD2F48F9C08F82ECCF -F4E7ADD47C705896D0 +3081A6022B28E3FED51D3D861D962B0A16A92ACDB380ADAFB478CA555004C3AF387F853F9DE9921C +7DCB40098D25C757021D03094844F135A3A50049A848C3FC02412FCBED6040FB1BDE99A4D93E3B02 +2B13F411960B85F9B031A247E072046892B1EE6C95A47242A839F8E24B96B88F37B4BDA2C6D253BC +0AAF29F1022B0D2AFE639D324E558B2B312E435E03957769D745C881D259DDFD2F48F9C08F82ECCF +F4E7ADD47C705896D0 diff --git a/TestVectors/Readme.txt b/TestVectors/Readme.txt index 755a0461..4f4d56fd 100644 --- a/TestVectors/Readme.txt +++ b/TestVectors/Readme.txt @@ -1,72 +1,76 @@ -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) +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 +Header - encoded string +Footer - encoded string +DerivedKey - encoded string +DerivedLength - 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/TestVectors/aes.txt b/TestVectors/aes.txt old mode 100755 new mode 100644 index 5f967f42..f037c3fe --- a/TestVectors/aes.txt +++ b/TestVectors/aes.txt @@ -1,241 +1,241 @@ -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/ECB -Source: Generated by Crypto++ 5.6.1 -Comment: long test vector -Plaintext: r8 006bc1bee22e409f96e93d7e117393172aae2d8a571e03ac9c9eb76fac45af8e5130c81c46a35ce411e5fbc1191a0a52eff69f2445df4f9b17ad2b417be66c371000 -Key: 2b7e151628aed2a6abf7158809cf4f3c -Ciphertext: 84C6CBDC2B5A39985774B23BAB066A6AF8CB66C08E4F058E5D3E7C351EA845CEC7B209210EE7EFD38269628687F21CB9BCEA349DC0418ADBA2BF2364DF4DB1A11AD84CF6A422CE95C37B2CF81196245CD857D0B954B83985C1888230F3C301847AAF714253EF768C17E89E4F5513DBD5BEE1266A2B2D7063CE3D0BA8716252C5BCBB9922CD46F374B52FDFF1FEBF155FF4AFEE18788999BC74234A3FFBA7B2858BB2552F172E56EC47456878440ABB5ADAE49941C1E43616AC5D6E31A011611B829F6A77BE1F50754F81F35D24ED89FDE804B17363F9A81C3F12AE067FDD41A2984912CAE1926C5FB3AC18E541FA4AD1E171888E61428F2A8F2E981AE16D0D4E41D33E5E675F446DAE0F454FC4CA056F41F3CC4744A9E948428B2280F96663B7230C09692503C95B3E34F8DE8DF23157F45BDF689B258D994D9E6CE5D4DD6BDB96763CCC41DBBE57A4778D5A9E90226D614C335E44CA8AB41EFEA898BC170C65412F77194A43A1305EF23AC70B059E6E047796EF518D7696BC3DAD5E2634F92DD1C90D206A2B6D3A7CE88668BEAD64614E9000ACFBA79EB3601606214E21E08F14CE77E36BB66FE4A0FCD2A21BCAA2391A9C2016AC3BC7CDF1438EB6DD26696644583E2B0A0C68629D736F6723DF66859CF80B4E5B5C5BF03F334D65C48DB3B2660E2CE33B510FD60C912B85D16AEE7CDBFDF6285B0A77BAE07D987F9CE172A548E6BF0A30CF099AA82BE0A25E0E8919 -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/CBC -Source: Generated by Crypto++ 5.6.1 -Comment: long test vector -IV: f0f1f2f3f4f5f6f7f8f9fafbfcfdfeff -Plaintext: r8 006bc1bee22e409f96e93d7e117393172aae2d8a571e03ac9c9eb76fac45af8e5130c81c46a35ce411e5fbc1191a0a52eff69f2445df4f9b17ad2b417be66c371000 -Key: 2b7e151628aed2a6abf7158809cf4f3c -Ciphertext: 6544CCA076C4D67C1A69DD7E504C6586FBD22912505E187D8628E19FA067D6C339D078E3032B8596DA74BB0E23434F83E153D5ACD5DEF7D264F58EC685317BF50C93430791718D6E09CCC4804FFE4EEB5C6AD8E9B5DFD456EDE81081627A97FC2FAE9F1955377D7774E68EAB541B20CE3C915185BCA208EE08428C400043F2DC90B0390756762C9271946FCE214B9576F74399E466DAC48C6DD10B420F302941DCC27D55CF1FB59D71954950CAD893FFFA70970D128C77BFA34F3C84B0B64A01194A086ACDD9847D6B91B7F870D0E7591CA07F0B407005F1473C37A648F6E18044336F30418BA43FD7AA5B5BAE01A0E33B1EDA4487730F043E202DE44CB901BD3AED13D790D05F325C414831EB601BD918678C1B8E116877CE1167F87204B49619D323713F95C04CA9621FDCF44BD21C5E36A299C486C8FC0D3043EDFF424B9A7AA5500DC3BD7BF6FAB256E6B45B458058DC933F1FF8C5E841BFC7F405761E14B12B48C1C108F33BF8D65BB8DBB9ED7E92398E779333730F4C68922AA76409E842E76B649B981B8269186220ACFF9DFA198D62CBF4CFA0FE05C1427CE63A345A61FE460D14EF25D7A89E2E228B415757B4E4110B6AFA7D85D48C3BCF184FDD7366F06D9E3D29896B0D3C0D83FCFA881E6EC5F29B0294628EDFF284E58B7BE19D37A6B28D70DC0F165A4B60CE5536D76D1A71849C36B0837E4E5082A05208CEEB320C57F0F5B86DC3CAAC8A32DEA9552D -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/CFB -Source: Generated by Crypto++ 5.6.1 -Comment: long test vector with odd length -IV: f0f1f2f3f4f5f6f7f8f9fafbfcfdfeff -Plaintext: r11 006bc1bee22e409f96e93d7e117393172aae2d8a571e03ac9c9eb76fac45af8e5130c81c46a35ce411e5fbc1191a0a52eff69f2445df4f9b17ad2b417be66c3710 -Key: 2b7e151628aed2a6abf7158809cf4f3c -Ciphertext: ECE71ECD7A4E3C2F643B2B0BFBED32F365C96D626048D13C65962ED08445B5EE74B11203E24C0ACCD3CC13F39963632D8F4B8F8BB16B7901373C32FFD27472957A8448E414A26BB10CAE9BCFBF332BA677D59C0CCD4CCE5B34298E2B1F3250092CF602B5476922D9FA13D4AE9F54841D889FE71D67A79315A621BDAECB2FD3F1ECDAB0DC9FBDFB85AE1633038A44E15DEF1B6DDBC4AB47BB128E1C2DE8A17FD1107D8587CE96088709E17DA23DE6993973A43DFB59801A9691B7EBF5565C4FF842F5132E99288FA4CE3E6CE9333DEE052212E71EF08C5E2E385A787F1567C0CD05A4D11BF40CA19B8D49A231AA55CDE1B8C531C9FCD3B9C70AABD65372E582FCE7528B6BD8F89AA6489B1F085AE024D5A964CAEC4F3F5726CBACDB5D8429F6741FE102BC27E10724C30A64A7D3ED11F6FF41908920A1326793C7C7EDDDD2F79D8A3CE804AE53E59E43B2E0E69AF69A79D7A97A12C0A1AC7331369FCE4072879AA998CD1DC6296CB02D4B97803F1F3713F922796148E2263AFA6A72CF30C3C00297ABF2AD2D559AC4D0011A839FAAA261BB17966E80FF243B65B6209C2732F294F33936A3B8FE7C9BEBE50686BBE7F0FDCF9E24281242B10844037D9AB8A342B954B69E6456243CC13959E1B014A1389BA69B9C4E1C0869C7FE3292ED72FCF183B216F7F5EB5A7CD0A2493BCA160AE6142F4CF03110CA4782CA6C8ED558CA8AF4B14ADC4C368FF0C0CD014F7E117F56D797EF45294C8D3BCED9D5D4E3FA60592031E2925ABA72DFE5AC1D88081DB6CF68DCB256A822CE891AD12F5BB34F39CE974F7D23C0B7AB3BF12D854DA60617EB5E479A9740E00A1DCA267A3D1D212F25A06B83106CBD624CC745ACB31E0EA774F6E0D765D6134F74A3AF5B3846649C14539B7C01B484C54F71B2C5016C2EA57B16472145511130D79E23271151F370DB8A626DB218F73FF0ABFE066E2782696F6984923AA074AEA9E059AEC18F50D4E03F4B17BAD856E6C962604A02 -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/OFB -Source: Generated by Crypto++ 5.6.1 -Comment: long test vector with odd length -IV: f0f1f2f3f4f5f6f7f8f9fafbfcfdfeff -Plaintext: r11 006bc1bee22e409f96e93d7e117393172aae2d8a571e03ac9c9eb76fac45af8e5130c81c46a35ce411e5fbc1191a0a52eff69f2445df4f9b17ad2b417be66c3710 -Key: 2b7e151628aed2a6abf7158809cf4f3c -Ciphertext: ECE71ECD7A4E3C2F643B2B0BFBED32F3B3D63D91F8B99D5EA9D0AA2D977A8675EDD972802EB60B3D8FA629EF94358D46861CF60D9F89F481632F937182C78E49D53D132260CFC3A80943E0FD169C6091FF4BBBBDEC35F4A31DDB61AFA087750D6CFCF86DAB13330125D60A2732E43A2AF3E47ABE4824C5B17DD747F267149A321ADA13409D51D4FC685ADA6789D5785FCA5EF199FD96A03879B4147C4936CC32DE864520C98DD55408CA8ED4AF1BE1F133ED53CA9FF58E6862D3E900AE66EEF75272B547BBC8919CE5503981684FEBA088F5E73BF272C820656CC9627FB4E4FC3A92A6B815CAC558B3257614AA9BB2CF2409D3633B6570EEF67A9343502D2B528078E561782917D977E6F76B13CD6526512D3D4C803BBB58E54EED5B4057EAF85DE83A7EC53FACBCA7E03EB7E027910C8DA25B75BE33B41C0C594DF6D781E821193963C9F658D380A460561B2F0C9C3D7639A4E4EE2DA87653DA86FAD6D5280857CEC28CC40D082C81C672D9B36CD169A6803ACA4C8DAAD77953B296FBAF480FA146F8B41DCBD487A368851A207C90228DBF7BAEEB38F23F98520E52145D809DB530D3E690C2A91B8367B815C4FFC0AE7171582169D6A7FD073A1F9DE1182FC98D1D5B3E39B44E054218B80091333D5B751C0530BADF4361C5A95CB26634AE788F7B6D2CCA543FDE48172A24E4D991F9262CFB8ED09FFE4E1506DA6478EF879847F8CE44569A9AC66E124CEE5944D2DC87742CA1B598B3C7D54662F8A5783A0C6689C949C54E148C2C88DFBA4F10F0234BA62E4DDEA30F5AD3D209829CCB73C22141D56050FB75E0E7D1B822F6FFC6AB92E8DB12A5C6B62064B692F8B118CC38F0436433B5370CE5A79D09A7081703EEA59F64B7361AA50476DD2F7074CA37C51935DCBC78A806F92C1186033070D5C3FABACAAE39CB7FBA0654D13413E94F6E9FDDB7D2D4EC1985CCF2E2011C186BD0C16AA95A0C7FDDF1B36490780EB646EEB7B0B377E970FD7D2E9A06 -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 - -AlgorithmType: SymmetricCipher -Name: AES/CTR -Source: Generated by Crypto++ 5.6.1 -Comment: long test vector with odd length -IV: f0f1f2f3f4f5f6f7f8f9fafbfcfdfeff -Plaintext: r11 006bc1bee22e409f96e93d7e117393172aae2d8a571e03ac9c9eb76fac45af8e5130c81c46a35ce411e5fbc1191a0a52eff69f2445df4f9b17ad2b417be66c3710 -Key: 2b7e151628aed2a6abf7158809cf4f3c -Ciphertext: ECE71ECD7A4E3C2F643B2B0BFBED32F31C8551B6306D52CF843EC0B85015DC203B1C0B643E2A6BABAF5133DA0EA06616076AA6BBB52ED75DC3A71A9A6E8AC7C9A00D2C39AA68BF4E6FFED9AAEE5AD6914FB3EA77C7B61FF6BF564F2F1225ACB4B5889CB1559888A5817849C382E168482F75381F63868C468E4D1583B1FE71DD808CB94D8150AAB9D530A0FC17CDE748E95545D8A033B2F61F1954D0C0226168022E1CD7E031C57D048AC560F152960F47705E174D956D4BB53AE80BFFCD1BD569ED8EFFA223C00558B702405F33E6E0EDB2D9B0C148A1441CC80D6ABBCE785AA1B9DAB7CB8832F1B12D2EE60EE2DFCA37942CA1724E5602B7B70525AC9662028A22DB234676615DB474538CBC8D197F38C88BCC4F9E8D207538CA18DE5F095420A2E4D5868CEBB8B34A9377DC52D119790B65210F1B346F5E00D9BD00A8847048913D80726B9B745D565E6284B986DBAEA997FFC5A0DE5051527D44B2C1266DBC9130A6EB15F37A0F00B6286D6678CA651C07743BD37F2E8F6A94F5ED8C63428AE4883A9695183807E104BC335C64FEAAC40A605913DF98FF44E0801B31A968CCE5DCAFADE1E017FA711E05FF5A54BFA1999C2C463F97A3A66B30211BD306C8911C98F8EE5EF47A54746A4D16B7C7424A6954B4FC3BCF1A41BDE8A19CE1027AE86A320D0E5E7D3C7E50CFD0C4665B811D86C313F09ADE5B4DBE017231859881E5873E9EDB2011CF5920D2F7277C4DE1AC430A1849F0B870A69ABE701B6D0B5123E5FF53395409177CF84BF41EC33C5E4BCC2CF29258DC7C260471AABDA49FDE62915758EE4E578D0F7698E6456BC144573739D5D508CC76B389359D2A0ECB5B7EE5FCB4C3151D5AF7C71819EA3DD5F36C7B27E551FD2373D07FFDC76A13FC4B10A6F29A83D6F465ACB6960671EACF21A3E1CB4411C4DAA0C2A87DAED28AEE60B7EC0258A9AF125F2DDC80B9877EFE0F372D9B832C786770A84EA1A07CB6E1A9907D651BBD0EFDEF2AFFC3 -Test: Encrypt +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/ECB +Source: Generated by Crypto++ 5.6.1 +Comment: long test vector +Plaintext: r8 006bc1bee22e409f96e93d7e117393172aae2d8a571e03ac9c9eb76fac45af8e5130c81c46a35ce411e5fbc1191a0a52eff69f2445df4f9b17ad2b417be66c371000 +Key: 2b7e151628aed2a6abf7158809cf4f3c +Ciphertext: 84C6CBDC2B5A39985774B23BAB066A6AF8CB66C08E4F058E5D3E7C351EA845CEC7B209210EE7EFD38269628687F21CB9BCEA349DC0418ADBA2BF2364DF4DB1A11AD84CF6A422CE95C37B2CF81196245CD857D0B954B83985C1888230F3C301847AAF714253EF768C17E89E4F5513DBD5BEE1266A2B2D7063CE3D0BA8716252C5BCBB9922CD46F374B52FDFF1FEBF155FF4AFEE18788999BC74234A3FFBA7B2858BB2552F172E56EC47456878440ABB5ADAE49941C1E43616AC5D6E31A011611B829F6A77BE1F50754F81F35D24ED89FDE804B17363F9A81C3F12AE067FDD41A2984912CAE1926C5FB3AC18E541FA4AD1E171888E61428F2A8F2E981AE16D0D4E41D33E5E675F446DAE0F454FC4CA056F41F3CC4744A9E948428B2280F96663B7230C09692503C95B3E34F8DE8DF23157F45BDF689B258D994D9E6CE5D4DD6BDB96763CCC41DBBE57A4778D5A9E90226D614C335E44CA8AB41EFEA898BC170C65412F77194A43A1305EF23AC70B059E6E047796EF518D7696BC3DAD5E2634F92DD1C90D206A2B6D3A7CE88668BEAD64614E9000ACFBA79EB3601606214E21E08F14CE77E36BB66FE4A0FCD2A21BCAA2391A9C2016AC3BC7CDF1438EB6DD26696644583E2B0A0C68629D736F6723DF66859CF80B4E5B5C5BF03F334D65C48DB3B2660E2CE33B510FD60C912B85D16AEE7CDBFDF6285B0A77BAE07D987F9CE172A548E6BF0A30CF099AA82BE0A25E0E8919 +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/CBC +Source: Generated by Crypto++ 5.6.1 +Comment: long test vector +IV: f0f1f2f3f4f5f6f7f8f9fafbfcfdfeff +Plaintext: r8 006bc1bee22e409f96e93d7e117393172aae2d8a571e03ac9c9eb76fac45af8e5130c81c46a35ce411e5fbc1191a0a52eff69f2445df4f9b17ad2b417be66c371000 +Key: 2b7e151628aed2a6abf7158809cf4f3c +Ciphertext: 6544CCA076C4D67C1A69DD7E504C6586FBD22912505E187D8628E19FA067D6C339D078E3032B8596DA74BB0E23434F83E153D5ACD5DEF7D264F58EC685317BF50C93430791718D6E09CCC4804FFE4EEB5C6AD8E9B5DFD456EDE81081627A97FC2FAE9F1955377D7774E68EAB541B20CE3C915185BCA208EE08428C400043F2DC90B0390756762C9271946FCE214B9576F74399E466DAC48C6DD10B420F302941DCC27D55CF1FB59D71954950CAD893FFFA70970D128C77BFA34F3C84B0B64A01194A086ACDD9847D6B91B7F870D0E7591CA07F0B407005F1473C37A648F6E18044336F30418BA43FD7AA5B5BAE01A0E33B1EDA4487730F043E202DE44CB901BD3AED13D790D05F325C414831EB601BD918678C1B8E116877CE1167F87204B49619D323713F95C04CA9621FDCF44BD21C5E36A299C486C8FC0D3043EDFF424B9A7AA5500DC3BD7BF6FAB256E6B45B458058DC933F1FF8C5E841BFC7F405761E14B12B48C1C108F33BF8D65BB8DBB9ED7E92398E779333730F4C68922AA76409E842E76B649B981B8269186220ACFF9DFA198D62CBF4CFA0FE05C1427CE63A345A61FE460D14EF25D7A89E2E228B415757B4E4110B6AFA7D85D48C3BCF184FDD7366F06D9E3D29896B0D3C0D83FCFA881E6EC5F29B0294628EDFF284E58B7BE19D37A6B28D70DC0F165A4B60CE5536D76D1A71849C36B0837E4E5082A05208CEEB320C57F0F5B86DC3CAAC8A32DEA9552D +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/CFB +Source: Generated by Crypto++ 5.6.1 +Comment: long test vector with odd length +IV: f0f1f2f3f4f5f6f7f8f9fafbfcfdfeff +Plaintext: r11 006bc1bee22e409f96e93d7e117393172aae2d8a571e03ac9c9eb76fac45af8e5130c81c46a35ce411e5fbc1191a0a52eff69f2445df4f9b17ad2b417be66c3710 +Key: 2b7e151628aed2a6abf7158809cf4f3c +Ciphertext: ECE71ECD7A4E3C2F643B2B0BFBED32F365C96D626048D13C65962ED08445B5EE74B11203E24C0ACCD3CC13F39963632D8F4B8F8BB16B7901373C32FFD27472957A8448E414A26BB10CAE9BCFBF332BA677D59C0CCD4CCE5B34298E2B1F3250092CF602B5476922D9FA13D4AE9F54841D889FE71D67A79315A621BDAECB2FD3F1ECDAB0DC9FBDFB85AE1633038A44E15DEF1B6DDBC4AB47BB128E1C2DE8A17FD1107D8587CE96088709E17DA23DE6993973A43DFB59801A9691B7EBF5565C4FF842F5132E99288FA4CE3E6CE9333DEE052212E71EF08C5E2E385A787F1567C0CD05A4D11BF40CA19B8D49A231AA55CDE1B8C531C9FCD3B9C70AABD65372E582FCE7528B6BD8F89AA6489B1F085AE024D5A964CAEC4F3F5726CBACDB5D8429F6741FE102BC27E10724C30A64A7D3ED11F6FF41908920A1326793C7C7EDDDD2F79D8A3CE804AE53E59E43B2E0E69AF69A79D7A97A12C0A1AC7331369FCE4072879AA998CD1DC6296CB02D4B97803F1F3713F922796148E2263AFA6A72CF30C3C00297ABF2AD2D559AC4D0011A839FAAA261BB17966E80FF243B65B6209C2732F294F33936A3B8FE7C9BEBE50686BBE7F0FDCF9E24281242B10844037D9AB8A342B954B69E6456243CC13959E1B014A1389BA69B9C4E1C0869C7FE3292ED72FCF183B216F7F5EB5A7CD0A2493BCA160AE6142F4CF03110CA4782CA6C8ED558CA8AF4B14ADC4C368FF0C0CD014F7E117F56D797EF45294C8D3BCED9D5D4E3FA60592031E2925ABA72DFE5AC1D88081DB6CF68DCB256A822CE891AD12F5BB34F39CE974F7D23C0B7AB3BF12D854DA60617EB5E479A9740E00A1DCA267A3D1D212F25A06B83106CBD624CC745ACB31E0EA774F6E0D765D6134F74A3AF5B3846649C14539B7C01B484C54F71B2C5016C2EA57B16472145511130D79E23271151F370DB8A626DB218F73FF0ABFE066E2782696F6984923AA074AEA9E059AEC18F50D4E03F4B17BAD856E6C962604A02 +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/OFB +Source: Generated by Crypto++ 5.6.1 +Comment: long test vector with odd length +IV: f0f1f2f3f4f5f6f7f8f9fafbfcfdfeff +Plaintext: r11 006bc1bee22e409f96e93d7e117393172aae2d8a571e03ac9c9eb76fac45af8e5130c81c46a35ce411e5fbc1191a0a52eff69f2445df4f9b17ad2b417be66c3710 +Key: 2b7e151628aed2a6abf7158809cf4f3c +Ciphertext: ECE71ECD7A4E3C2F643B2B0BFBED32F3B3D63D91F8B99D5EA9D0AA2D977A8675EDD972802EB60B3D8FA629EF94358D46861CF60D9F89F481632F937182C78E49D53D132260CFC3A80943E0FD169C6091FF4BBBBDEC35F4A31DDB61AFA087750D6CFCF86DAB13330125D60A2732E43A2AF3E47ABE4824C5B17DD747F267149A321ADA13409D51D4FC685ADA6789D5785FCA5EF199FD96A03879B4147C4936CC32DE864520C98DD55408CA8ED4AF1BE1F133ED53CA9FF58E6862D3E900AE66EEF75272B547BBC8919CE5503981684FEBA088F5E73BF272C820656CC9627FB4E4FC3A92A6B815CAC558B3257614AA9BB2CF2409D3633B6570EEF67A9343502D2B528078E561782917D977E6F76B13CD6526512D3D4C803BBB58E54EED5B4057EAF85DE83A7EC53FACBCA7E03EB7E027910C8DA25B75BE33B41C0C594DF6D781E821193963C9F658D380A460561B2F0C9C3D7639A4E4EE2DA87653DA86FAD6D5280857CEC28CC40D082C81C672D9B36CD169A6803ACA4C8DAAD77953B296FBAF480FA146F8B41DCBD487A368851A207C90228DBF7BAEEB38F23F98520E52145D809DB530D3E690C2A91B8367B815C4FFC0AE7171582169D6A7FD073A1F9DE1182FC98D1D5B3E39B44E054218B80091333D5B751C0530BADF4361C5A95CB26634AE788F7B6D2CCA543FDE48172A24E4D991F9262CFB8ED09FFE4E1506DA6478EF879847F8CE44569A9AC66E124CEE5944D2DC87742CA1B598B3C7D54662F8A5783A0C6689C949C54E148C2C88DFBA4F10F0234BA62E4DDEA30F5AD3D209829CCB73C22141D56050FB75E0E7D1B822F6FFC6AB92E8DB12A5C6B62064B692F8B118CC38F0436433B5370CE5A79D09A7081703EEA59F64B7361AA50476DD2F7074CA37C51935DCBC78A806F92C1186033070D5C3FABACAAE39CB7FBA0654D13413E94F6E9FDDB7D2D4EC1985CCF2E2011C186BD0C16AA95A0C7FDDF1B36490780EB646EEB7B0B377E970FD7D2E9A06 +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 + +AlgorithmType: SymmetricCipher +Name: AES/CTR +Source: Generated by Crypto++ 5.6.1 +Comment: long test vector with odd length +IV: f0f1f2f3f4f5f6f7f8f9fafbfcfdfeff +Plaintext: r11 006bc1bee22e409f96e93d7e117393172aae2d8a571e03ac9c9eb76fac45af8e5130c81c46a35ce411e5fbc1191a0a52eff69f2445df4f9b17ad2b417be66c3710 +Key: 2b7e151628aed2a6abf7158809cf4f3c +Ciphertext: ECE71ECD7A4E3C2F643B2B0BFBED32F31C8551B6306D52CF843EC0B85015DC203B1C0B643E2A6BABAF5133DA0EA06616076AA6BBB52ED75DC3A71A9A6E8AC7C9A00D2C39AA68BF4E6FFED9AAEE5AD6914FB3EA77C7B61FF6BF564F2F1225ACB4B5889CB1559888A5817849C382E168482F75381F63868C468E4D1583B1FE71DD808CB94D8150AAB9D530A0FC17CDE748E95545D8A033B2F61F1954D0C0226168022E1CD7E031C57D048AC560F152960F47705E174D956D4BB53AE80BFFCD1BD569ED8EFFA223C00558B702405F33E6E0EDB2D9B0C148A1441CC80D6ABBCE785AA1B9DAB7CB8832F1B12D2EE60EE2DFCA37942CA1724E5602B7B70525AC9662028A22DB234676615DB474538CBC8D197F38C88BCC4F9E8D207538CA18DE5F095420A2E4D5868CEBB8B34A9377DC52D119790B65210F1B346F5E00D9BD00A8847048913D80726B9B745D565E6284B986DBAEA997FFC5A0DE5051527D44B2C1266DBC9130A6EB15F37A0F00B6286D6678CA651C07743BD37F2E8F6A94F5ED8C63428AE4883A9695183807E104BC335C64FEAAC40A605913DF98FF44E0801B31A968CCE5DCAFADE1E017FA711E05FF5A54BFA1999C2C463F97A3A66B30211BD306C8911C98F8EE5EF47A54746A4D16B7C7424A6954B4FC3BCF1A41BDE8A19CE1027AE86A320D0E5E7D3C7E50CFD0C4665B811D86C313F09ADE5B4DBE017231859881E5873E9EDB2011CF5920D2F7277C4DE1AC430A1849F0B870A69ABE701B6D0B5123E5FF53395409177CF84BF41EC33C5E4BCC2CF29258DC7C260471AABDA49FDE62915758EE4E578D0F7698E6456BC144573739D5D508CC76B389359D2A0ECB5B7EE5FCB4C3151D5AF7C71819EA3DD5F36C7B27E551FD2373D07FFDC76A13FC4B10A6F29A83D6F465ACB6960671EACF21A3E1CB4411C4DAA0C2A87DAED28AEE60B7EC0258A9AF125F2DDC80B9877EFE0F372D9B832C786770A84EA1A07CB6E1A9907D651BBD0EFDEF2AFFC3 +Test: Encrypt diff --git a/TestVectors/all.txt b/TestVectors/all.txt index 01da45bb..776e0099 100644 --- a/TestVectors/all.txt +++ b/TestVectors/all.txt @@ -1,31 +1,32 @@ -AlgorithmType: FileList -Name: all.txt collection -Test: TestVectors/tea.txt -Test: TestVectors/wake.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/sha3.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 +AlgorithmType: FileList +Name: all.txt collection +Test: TestVectors/tea.txt +Test: TestVectors/wake.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/sha3.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 +Test: TestVectors/hkdf.txt diff --git a/TestVectors/camellia.txt b/TestVectors/camellia.txt index f88d05b7..bc6aa20b 100644 --- a/TestVectors/camellia.txt +++ b/TestVectors/camellia.txt @@ -1,8646 +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: 0000000000000800000000000000000000000000000000000000000000000000 -Plaintext: 00000000000000000000000000000000 -Ciphertext: D89A97957F1979C63459A385E21B4A84 -Test: Encrypt -Comment: Set 1, vector 53 -Key: 0000000000000400000000000000000000000000000000000000000000000000 -Plaintext: 00000000000000000000000000000000 -Ciphertext: 39A6615147FF571F2FABAD5BE9800A10 -Test: Encrypt -Comment: Set 1, vector 54 -Key: 0000000000000200000000000000000000000000000000000000000000000000 -Plaintext: 00000000000000000000000000000000 -Ciphertext: E18B0CB1980124504B46A46A6F4273F3 -Test: Encrypt -Comment: Set 1, vector 55 -Key: 0000000000000100000000000000000000000000000000000000000000000000 -Plaintext: 00000000000000000000000000000000 -Ciphertext: 1E13C8034ED53FD4E3F433E1CF4B5CE1 -Test: Encrypt -Comment: Set 1, vector 56 -Key: 0000000000000080000000000000000000000000000000000000000000000000 -Plaintext: 00000000000000000000000000000000 -Ciphertext: 71FA53EAADBA0C9BCF86A3071408966D -Test: Encrypt -Comment: Set 1, vector 57 -Key: 0000000000000040000000000000000000000000000000000000000000000000 -Plaintext: 00000000000000000000000000000000 -Ciphertext: E50502EC84BB024C7466FE225C7FD8BA -Test: Encrypt -Comment: Set 1, vector 58 -Key: 0000000000000020000000000000000000000000000000000000000000000000 -Plaintext: 00000000000000000000000000000000 -Ciphertext: DEB33581D79C9D4294E315998377BCBF -Test: Encrypt -Comment: Set 1, vector 59 -Key: 0000000000000010000000000000000000000000000000000000000000000000 -Plaintext: 00000000000000000000000000000000 -Ciphertext: A713C2503CE44A04C9108FA160659945 -Test: Encrypt -Comment: Set 1, vector 60 -Key: 0000000000000008000000000000000000000000000000000000000000000000 -Plaintext: 00000000000000000000000000000000 -Ciphertext: 520E9E8DB8A67601B02E369916FAB8CC -Test: Encrypt -Comment: Set 1, vector 61 -Key: 0000000000000004000000000000000000000000000000000000000000000000 -Plaintext: 00000000000000000000000000000000 -Ciphertext: 8FDC11B74D17D79C6B2DFF2D6A561258 -Test: Encrypt -Comment: Set 1, vector 62 -Key: 0000000000000002000000000000000000000000000000000000000000000000 -Plaintext: 00000000000000000000000000000000 -Ciphertext: 3EA497AD2FC8F2587EFAA7D49121F26C -Test: Encrypt -Comment: Set 1, vector 63 -Key: 0000000000000001000000000000000000000000000000000000000000000000 -Plaintext: 00000000000000000000000000000000 -Ciphertext: 3340905F7413C979E5AED11D71B9294E -Test: Encrypt -Comment: Set 1, vector 64 -Key: 0000000000000000800000000000000000000000000000000000000000000000 -Plaintext: 00000000000000000000000000000000 -Ciphertext: 067FAC22E16205FF209B1760ABDE0565 -Test: Encrypt -Comment: Set 1, vector 65 -Key: 0000000000000000400000000000000000000000000000000000000000000000 -Plaintext: 00000000000000000000000000000000 -Ciphertext: BECA010BAB7BDD7E8A8084DA9853A0F4 -Test: Encrypt -Comment: Set 1, vector 66 -Key: 0000000000000000200000000000000000000000000000000000000000000000 -Plaintext: 00000000000000000000000000000000 -Ciphertext: 146F5A4A7B2880F5AF57333C7F129028 -Test: Encrypt -Comment: Set 1, vector 67 -Key: 0000000000000000100000000000000000000000000000000000000000000000 -Plaintext: 00000000000000000000000000000000 -Ciphertext: F773C1BD724955109A8B4EA3DA1C2197 -Test: Encrypt -Comment: Set 1, vector 68 -Key: 0000000000000000080000000000000000000000000000000000000000000000 -Plaintext: 00000000000000000000000000000000 -Ciphertext: B427EFAC8C656AB6F4DF7F420A177B8E -Test: Encrypt -Comment: Set 1, vector 69 -Key: 0000000000000000040000000000000000000000000000000000000000000000 -Plaintext: 00000000000000000000000000000000 -Ciphertext: B3D1BDB29010DB5FC81B66E2F7189D54 -Test: Encrypt -Comment: Set 1, vector 70 -Key: 0000000000000000020000000000000000000000000000000000000000000000 -Plaintext: 00000000000000000000000000000000 -Ciphertext: 676EEA415693F303ACF5CD84C50816AB -Test: Encrypt -Comment: Set 1, vector 71 -Key: 0000000000000000010000000000000000000000000000000000000000000000 -Plaintext: 00000000000000000000000000000000 -Ciphertext: BA21C564E52961DEB4B3A3CA9E0B70EF -Test: Encrypt -Comment: Set 1, vector 72 -Key: 0000000000000000008000000000000000000000000000000000000000000000 -Plaintext: 00000000000000000000000000000000 -Ciphertext: A60FB5DBD17EA92E303492E3F54D0BF2 -Test: Encrypt -Comment: Set 1, vector 73 -Key: 0000000000000000004000000000000000000000000000000000000000000000 -Plaintext: 00000000000000000000000000000000 -Ciphertext: F4F5A0540107D66F32FB289B14EF4299 -Test: Encrypt -Comment: Set 1, vector 74 -Key: 0000000000000000002000000000000000000000000000000000000000000000 -Plaintext: 00000000000000000000000000000000 -Ciphertext: 8D9B4A19F391175CF7DA42FEF313EDD8 -Test: Encrypt -Comment: Set 1, vector 75 -Key: 0000000000000000001000000000000000000000000000000000000000000000 -Plaintext: 00000000000000000000000000000000 -Ciphertext: B0AFAB0183A9FC69DA8BBE9B8FAF653A -Test: Encrypt -Comment: Set 1, vector 76 -Key: 0000000000000000000800000000000000000000000000000000000000000000 -Plaintext: 00000000000000000000000000000000 -Ciphertext: 68FFD91FD5AD1F1AC176D639694FEA29 -Test: Encrypt -Comment: Set 1, vector 77 -Key: 0000000000000000000400000000000000000000000000000000000000000000 -Plaintext: 00000000000000000000000000000000 -Ciphertext: 97EC38070014494A2E97EFE354BA2865 -Test: Encrypt -Comment: Set 1, vector 78 -Key: 0000000000000000000200000000000000000000000000000000000000000000 -Plaintext: 00000000000000000000000000000000 -Ciphertext: E3EC51F889C63AD2C708F22AFC42D18C -Test: Encrypt -Comment: Set 1, vector 79 -Key: 0000000000000000000100000000000000000000000000000000000000000000 -Plaintext: 00000000000000000000000000000000 -Ciphertext: 8CC5BDB49037DC1D3D8DADFA0B8ECD96 -Test: Encrypt -Comment: Set 1, vector 80 -Key: 0000000000000000000080000000000000000000000000000000000000000000 -Plaintext: 00000000000000000000000000000000 -Ciphertext: 14F5C3D75BA0397D7436E1479F78435B -Test: Encrypt -Comment: Set 1, vector 81 -Key: 0000000000000000000040000000000000000000000000000000000000000000 -Plaintext: 00000000000000000000000000000000 -Ciphertext: FF3B01851C8254967E4DFAA2A0F0C057 -Test: Encrypt -Comment: Set 1, vector 82 -Key: 0000000000000000000020000000000000000000000000000000000000000000 -Plaintext: 00000000000000000000000000000000 -Ciphertext: B8C8E9AFF66FFEC9D0342FF297A543B1 -Test: Encrypt -Comment: Set 1, vector 83 -Key: 0000000000000000000010000000000000000000000000000000000000000000 -Plaintext: 00000000000000000000000000000000 -Ciphertext: A95A113F088FFE17A79050C46377545E -Test: Encrypt -Comment: Set 1, vector 84 -Key: 0000000000000000000008000000000000000000000000000000000000000000 -Plaintext: 00000000000000000000000000000000 -Ciphertext: EA4C3AFA65016D057EC1DFDD0411ED06 -Test: Encrypt -Comment: Set 1, vector 85 -Key: 0000000000000000000004000000000000000000000000000000000000000000 -Plaintext: 00000000000000000000000000000000 -Ciphertext: 7D535C84DFAD692D0F89AB73C1F42F60 -Test: Encrypt -Comment: Set 1, vector 86 -Key: 0000000000000000000002000000000000000000000000000000000000000000 -Plaintext: 00000000000000000000000000000000 -Ciphertext: E857DF0CEBAB1E03CB9AF73CBF9C19D1 -Test: Encrypt -Comment: Set 1, vector 87 -Key: 0000000000000000000001000000000000000000000000000000000000000000 -Plaintext: 00000000000000000000000000000000 -Ciphertext: 7A59BCF6FAC80379EB7E8E2EFAB147D4 -Test: Encrypt -Comment: Set 1, vector 88 -Key: 0000000000000000000000800000000000000000000000000000000000000000 -Plaintext: 00000000000000000000000000000000 -Ciphertext: 43EF17F87BAF7536DDE734F885C4CE85 -Test: Encrypt -Comment: Set 1, vector 89 -Key: 0000000000000000000000400000000000000000000000000000000000000000 -Plaintext: 00000000000000000000000000000000 -Ciphertext: 2B71CE14089741A1EF1E99DC9E22E739 -Test: Encrypt -Comment: Set 1, vector 90 -Key: 0000000000000000000000200000000000000000000000000000000000000000 -Plaintext: 00000000000000000000000000000000 -Ciphertext: 9283885622781998186B7DACBFF68ED2 -Test: Encrypt -Comment: Set 1, vector 91 -Key: 0000000000000000000000100000000000000000000000000000000000000000 -Plaintext: 00000000000000000000000000000000 -Ciphertext: 756A184F392D8C821479EFF930338C0A -Test: Encrypt -Comment: Set 1, vector 92 -Key: 0000000000000000000000080000000000000000000000000000000000000000 -Plaintext: 00000000000000000000000000000000 -Ciphertext: CE848D49BB76CA30B607C9539793DA41 -Test: Encrypt -Comment: Set 1, vector 93 -Key: 0000000000000000000000040000000000000000000000000000000000000000 -Plaintext: 00000000000000000000000000000000 -Ciphertext: 50F2D5238991EEA9654C8895AFC0AC37 -Test: Encrypt -Comment: Set 1, vector 94 -Key: 0000000000000000000000020000000000000000000000000000000000000000 -Plaintext: 00000000000000000000000000000000 -Ciphertext: 561564103E13F4CBB58A9E096DB1958B -Test: Encrypt -Comment: Set 1, vector 95 -Key: 0000000000000000000000010000000000000000000000000000000000000000 -Plaintext: 00000000000000000000000000000000 -Ciphertext: EF2BB05AC6868C15D66D956BD580D467 -Test: Encrypt -Comment: Set 1, vector 96 -Key: 0000000000000000000000008000000000000000000000000000000000000000 -Plaintext: 00000000000000000000000000000000 -Ciphertext: C7B1A5A3A201DF25FD97A47B1FC3569E -Test: Encrypt -Comment: Set 1, vector 97 -Key: 0000000000000000000000004000000000000000000000000000000000000000 -Plaintext: 00000000000000000000000000000000 -Ciphertext: 0A1873FF47B38095CF6A8BABF3901FF2 -Test: Encrypt -Comment: Set 1, vector 98 -Key: 0000000000000000000000002000000000000000000000000000000000000000 -Plaintext: 00000000000000000000000000000000 -Ciphertext: A96F8F977DC45ABF55518EA10C598E10 -Test: Encrypt -Comment: Set 1, vector 99 -Key: 0000000000000000000000001000000000000000000000000000000000000000 -Plaintext: 00000000000000000000000000000000 -Ciphertext: 778C644278689EC0577BDDB2154AE635 -Test: Encrypt -Comment: Set 1, vector 100 -Key: 0000000000000000000000000800000000000000000000000000000000000000 -Plaintext: 00000000000000000000000000000000 -Ciphertext: DEF97DBCF02648E7BCE6A368F7F34C14 -Test: Encrypt -Comment: Set 1, vector 101 -Key: 0000000000000000000000000400000000000000000000000000000000000000 -Plaintext: 00000000000000000000000000000000 -Ciphertext: 71B85362022D53AF03A17870D8F66614 -Test: Encrypt -Comment: Set 1, vector 102 -Key: 0000000000000000000000000200000000000000000000000000000000000000 -Plaintext: 00000000000000000000000000000000 -Ciphertext: 3593FC550A2950C2EF94F6E8F6E90BB3 -Test: Encrypt -Comment: Set 1, vector 103 -Key: 0000000000000000000000000100000000000000000000000000000000000000 -Plaintext: 00000000000000000000000000000000 -Ciphertext: 29E64004DBF1E7833A7CD82EDACD932A -Test: Encrypt -Comment: Set 1, vector 104 -Key: 0000000000000000000000000080000000000000000000000000000000000000 -Plaintext: 00000000000000000000000000000000 -Ciphertext: 715E700DF74A8680F04A48B18AEDB99C -Test: Encrypt -Comment: Set 1, vector 105 -Key: 0000000000000000000000000040000000000000000000000000000000000000 -Plaintext: 00000000000000000000000000000000 -Ciphertext: 72E3288FFB02D1100F84FA605855D812 -Test: Encrypt -Comment: Set 1, vector 106 -Key: 0000000000000000000000000020000000000000000000000000000000000000 -Plaintext: 00000000000000000000000000000000 -Ciphertext: 9021082D3C4CB202936FD76F1392446B -Test: Encrypt -Comment: Set 1, vector 107 -Key: 0000000000000000000000000010000000000000000000000000000000000000 -Plaintext: 00000000000000000000000000000000 -Ciphertext: 1552BD181EE0FB914558053F2662F9AE -Test: Encrypt -Comment: Set 1, vector 108 -Key: 0000000000000000000000000008000000000000000000000000000000000000 -Plaintext: 00000000000000000000000000000000 -Ciphertext: 599D87052322E19141057F0EF3C47508 -Test: Encrypt -Comment: Set 1, vector 109 -Key: 0000000000000000000000000004000000000000000000000000000000000000 -Plaintext: 00000000000000000000000000000000 -Ciphertext: 505AC03CEB2ECA1C9D411B4A1CF2011C -Test: Encrypt -Comment: Set 1, vector 110 -Key: 0000000000000000000000000002000000000000000000000000000000000000 -Plaintext: 00000000000000000000000000000000 -Ciphertext: DD639574D8FFCD24EA68B2243C5AA7D6 -Test: Encrypt -Comment: Set 1, vector 111 -Key: 0000000000000000000000000001000000000000000000000000000000000000 -Plaintext: 00000000000000000000000000000000 -Ciphertext: 45F5371B714D2652BA4AD083EDB65BEE -Test: Encrypt -Comment: Set 1, vector 112 -Key: 0000000000000000000000000000800000000000000000000000000000000000 -Plaintext: 00000000000000000000000000000000 -Ciphertext: DEAB9C368B21FE41E709554340E87C0B -Test: Encrypt -Comment: Set 1, vector 113 -Key: 0000000000000000000000000000400000000000000000000000000000000000 -Plaintext: 00000000000000000000000000000000 -Ciphertext: 3A981045526766BD13943F11CE917AF9 -Test: Encrypt -Comment: Set 1, vector 114 -Key: 0000000000000000000000000000200000000000000000000000000000000000 -Plaintext: 00000000000000000000000000000000 -Ciphertext: 35CDF30A485CE21F0D005EE0C2BCF315 -Test: Encrypt -Comment: Set 1, vector 115 -Key: 0000000000000000000000000000100000000000000000000000000000000000 -Plaintext: 00000000000000000000000000000000 -Ciphertext: F561A8C91820252580317385F8336305 -Test: Encrypt -Comment: Set 1, vector 116 -Key: 0000000000000000000000000000080000000000000000000000000000000000 -Plaintext: 00000000000000000000000000000000 -Ciphertext: 0789680D27735220798079572BF4ECF6 -Test: Encrypt -Comment: Set 1, vector 117 -Key: 0000000000000000000000000000040000000000000000000000000000000000 -Plaintext: 00000000000000000000000000000000 -Ciphertext: B4F16729D7AB16C9AE44FB61291920DE -Test: Encrypt -Comment: Set 1, vector 118 -Key: 0000000000000000000000000000020000000000000000000000000000000000 -Plaintext: 00000000000000000000000000000000 -Ciphertext: FB83BF9B1D983CA7FB3718E22D9A2155 -Test: Encrypt -Comment: Set 1, vector 119 -Key: 0000000000000000000000000000010000000000000000000000000000000000 -Plaintext: 00000000000000000000000000000000 -Ciphertext: CEC5C5D13E59508D3DA431F1479730F3 -Test: Encrypt -Comment: Set 1, vector 120 -Key: 0000000000000000000000000000008000000000000000000000000000000000 -Plaintext: 00000000000000000000000000000000 -Ciphertext: 09BEA932E60A4AD34271FF11A2B2AA02 -Test: Encrypt -Comment: Set 1, vector 121 -Key: 0000000000000000000000000000004000000000000000000000000000000000 -Plaintext: 00000000000000000000000000000000 -Ciphertext: B102F72FD89452C0CD1C6897071F903E -Test: Encrypt -Comment: Set 1, vector 122 -Key: 0000000000000000000000000000002000000000000000000000000000000000 -Plaintext: 00000000000000000000000000000000 -Ciphertext: A469F9411F0A3A6E1A8076416C6B55CB -Test: Encrypt -Comment: Set 1, vector 123 -Key: 0000000000000000000000000000001000000000000000000000000000000000 -Plaintext: 00000000000000000000000000000000 -Ciphertext: 6C3F88FCB538699547A1CF07A529993F -Test: Encrypt -Comment: Set 1, vector 124 -Key: 0000000000000000000000000000000800000000000000000000000000000000 -Plaintext: 00000000000000000000000000000000 -Ciphertext: 493E8CC2A63534632A6456ED47BF233C -Test: Encrypt -Comment: Set 1, vector 125 -Key: 0000000000000000000000000000000400000000000000000000000000000000 -Plaintext: 00000000000000000000000000000000 -Ciphertext: 1FD81E905F7055C4B04DB1F9718A6861 -Test: Encrypt -Comment: Set 1, vector 126 -Key: 0000000000000000000000000000000200000000000000000000000000000000 -Plaintext: 00000000000000000000000000000000 -Ciphertext: B22882E01D7A1BF2D7F0E3BFBFC87156 -Test: Encrypt -Comment: Set 1, vector 127 -Key: 0000000000000000000000000000000100000000000000000000000000000000 -Plaintext: 00000000000000000000000000000000 -Ciphertext: 86C9822E849322FB00DF89233D33935D -Test: Encrypt -Comment: Set 1, vector 128 -Key: 0000000000000000000000000000000080000000000000000000000000000000 -Plaintext: 00000000000000000000000000000000 -Ciphertext: 12012E8E028D0D3D8DC00847130D424C -Test: Encrypt -Comment: Set 1, vector 129 -Key: 0000000000000000000000000000000040000000000000000000000000000000 -Plaintext: 00000000000000000000000000000000 -Ciphertext: 182A96CC3BF10035B9DB292D1399F993 -Test: Encrypt -Comment: Set 1, vector 130 -Key: 0000000000000000000000000000000020000000000000000000000000000000 -Plaintext: 00000000000000000000000000000000 -Ciphertext: 91E0E6991989D1FC4CBD754E4E7D0590 -Test: Encrypt -Comment: Set 1, vector 131 -Key: 0000000000000000000000000000000010000000000000000000000000000000 -Plaintext: 00000000000000000000000000000000 -Ciphertext: F3EFC4E6F207E370C8CAE39408C4BF1B -Test: Encrypt -Comment: Set 1, vector 132 -Key: 0000000000000000000000000000000008000000000000000000000000000000 -Plaintext: 00000000000000000000000000000000 -Ciphertext: AA767AB2EC6FA2FA183DAF9C0F3BAE5E -Test: Encrypt -Comment: Set 1, vector 133 -Key: 0000000000000000000000000000000004000000000000000000000000000000 -Plaintext: 00000000000000000000000000000000 -Ciphertext: D1FF11F4D1AEEAAE01A115081AF886EF -Test: Encrypt -Comment: Set 1, vector 134 -Key: 0000000000000000000000000000000002000000000000000000000000000000 -Plaintext: 00000000000000000000000000000000 -Ciphertext: 5390139711090B56B28338FEA98FCC82 -Test: Encrypt -Comment: Set 1, vector 135 -Key: 0000000000000000000000000000000001000000000000000000000000000000 -Plaintext: 00000000000000000000000000000000 -Ciphertext: 13E693CCF6EBF0E6061B92B7ED0B95B6 -Test: Encrypt -Comment: Set 1, vector 136 -Key: 0000000000000000000000000000000000800000000000000000000000000000 -Plaintext: 00000000000000000000000000000000 -Ciphertext: 588FB2F95861D3C427669C68D04ADB25 -Test: Encrypt -Comment: Set 1, vector 137 -Key: 0000000000000000000000000000000000400000000000000000000000000000 -Plaintext: 00000000000000000000000000000000 -Ciphertext: F472ECDF8DEBC416313AAF7C8AAFB43E -Test: Encrypt -Comment: Set 1, vector 138 -Key: 0000000000000000000000000000000000200000000000000000000000000000 -Plaintext: 00000000000000000000000000000000 -Ciphertext: EAA654BE38E857941A921C70AC7FC7CE -Test: Encrypt -Comment: Set 1, vector 139 -Key: 0000000000000000000000000000000000100000000000000000000000000000 -Plaintext: 00000000000000000000000000000000 -Ciphertext: F2A4E47AE80CDF506B9513C510EA0954 -Test: Encrypt -Comment: Set 1, vector 140 -Key: 0000000000000000000000000000000000080000000000000000000000000000 -Plaintext: 00000000000000000000000000000000 -Ciphertext: F08EC7ED8FBB99F175A990C3E4DECB6B -Test: Encrypt -Comment: Set 1, vector 141 -Key: 0000000000000000000000000000000000040000000000000000000000000000 -Plaintext: 00000000000000000000000000000000 -Ciphertext: 5C767BC584CA3653EDE27CD8B209A0AD -Test: Encrypt -Comment: Set 1, vector 142 -Key: 0000000000000000000000000000000000020000000000000000000000000000 -Plaintext: 00000000000000000000000000000000 -Ciphertext: AFF9A8BA92A40B2BF42FDB4089B1F9CC -Test: Encrypt -Comment: Set 1, vector 143 -Key: 0000000000000000000000000000000000010000000000000000000000000000 -Plaintext: 00000000000000000000000000000000 -Ciphertext: BFC1E9198BBE22266712EB1ECB17D748 -Test: Encrypt -Comment: Set 1, vector 144 -Key: 0000000000000000000000000000000000008000000000000000000000000000 -Plaintext: 00000000000000000000000000000000 -Ciphertext: 235184136A29208BD041E60BCB9F7464 -Test: Encrypt -Comment: Set 1, vector 145 -Key: 0000000000000000000000000000000000004000000000000000000000000000 -Plaintext: 00000000000000000000000000000000 -Ciphertext: 83DC48F9177C5C94CBC22E83A2B76829 -Test: Encrypt -Comment: Set 1, vector 146 -Key: 0000000000000000000000000000000000002000000000000000000000000000 -Plaintext: 00000000000000000000000000000000 -Ciphertext: 72CD31ACB7A1A459E4D27C1F26039FA7 -Test: Encrypt -Comment: Set 1, vector 147 -Key: 0000000000000000000000000000000000001000000000000000000000000000 -Plaintext: 00000000000000000000000000000000 -Ciphertext: 139AC4734C3136FD9982FCC7A569B9D3 -Test: Encrypt -Comment: Set 1, vector 148 -Key: 0000000000000000000000000000000000000800000000000000000000000000 -Plaintext: 00000000000000000000000000000000 -Ciphertext: 12FFA3EF4346F4C57A03A36F9938B251 -Test: Encrypt -Comment: Set 1, vector 149 -Key: 0000000000000000000000000000000000000400000000000000000000000000 -Plaintext: 00000000000000000000000000000000 -Ciphertext: 43DDB100CE22E5553CF4DCF814BF3CAC -Test: Encrypt -Comment: Set 1, vector 150 -Key: 0000000000000000000000000000000000000200000000000000000000000000 -Plaintext: 00000000000000000000000000000000 -Ciphertext: ABDADF4C948BB61C0A917885ADE4C7C5 -Test: Encrypt -Comment: Set 1, vector 151 -Key: 0000000000000000000000000000000000000100000000000000000000000000 -Plaintext: 00000000000000000000000000000000 -Ciphertext: 197391E089DE173B522DDD8CBEEC3118 -Test: Encrypt -Comment: Set 1, vector 152 -Key: 0000000000000000000000000000000000000080000000000000000000000000 -Plaintext: 00000000000000000000000000000000 -Ciphertext: 43FBE8BF2728C55C9368D01E40C1CF96 -Test: Encrypt -Comment: Set 1, vector 153 -Key: 0000000000000000000000000000000000000040000000000000000000000000 -Plaintext: 00000000000000000000000000000000 -Ciphertext: 0F5DE5F67EC84F2CB253A0BC48991C71 -Test: Encrypt -Comment: Set 1, vector 154 -Key: 0000000000000000000000000000000000000020000000000000000000000000 -Plaintext: 00000000000000000000000000000000 -Ciphertext: 52BA4666B972EAE3D2E960D7372D3C48 -Test: Encrypt -Comment: Set 1, vector 155 -Key: 0000000000000000000000000000000000000010000000000000000000000000 -Plaintext: 00000000000000000000000000000000 -Ciphertext: 0735AE765BC079A93B451D873FA93702 -Test: Encrypt -Comment: Set 1, vector 156 -Key: 0000000000000000000000000000000000000008000000000000000000000000 -Plaintext: 00000000000000000000000000000000 -Ciphertext: 89D988508A4569E2232F72412AE50B65 -Test: Encrypt -Comment: Set 1, vector 157 -Key: 0000000000000000000000000000000000000004000000000000000000000000 -Plaintext: 00000000000000000000000000000000 -Ciphertext: BCF0EE2403BC9344030C0FF065B6FD88 -Test: Encrypt -Comment: Set 1, vector 158 -Key: 0000000000000000000000000000000000000002000000000000000000000000 -Plaintext: 00000000000000000000000000000000 -Ciphertext: 25D76D36F3376D6FD835BA012C7DD2E5 -Test: Encrypt -Comment: Set 1, vector 159 -Key: 0000000000000000000000000000000000000001000000000000000000000000 -Plaintext: 00000000000000000000000000000000 -Ciphertext: EF364A31E8551732D4B2098281D4E2C9 -Test: Encrypt -Comment: Set 1, vector 160 -Key: 0000000000000000000000000000000000000000800000000000000000000000 -Plaintext: 00000000000000000000000000000000 -Ciphertext: 64B1F927C0A7315EA60BC5F2A0DCCFE2 -Test: Encrypt -Comment: Set 1, vector 161 -Key: 0000000000000000000000000000000000000000400000000000000000000000 -Plaintext: 00000000000000000000000000000000 -Ciphertext: CA99E0EDFA0E121F27659346BCDCC443 -Test: Encrypt -Comment: Set 1, vector 162 -Key: 0000000000000000000000000000000000000000200000000000000000000000 -Plaintext: 00000000000000000000000000000000 -Ciphertext: 1816D9D23D1069BC6DEC195F60994C05 -Test: Encrypt -Comment: Set 1, vector 163 -Key: 0000000000000000000000000000000000000000100000000000000000000000 -Plaintext: 00000000000000000000000000000000 -Ciphertext: 9819575F6890E093091378AED0612051 -Test: Encrypt -Comment: Set 1, vector 164 -Key: 0000000000000000000000000000000000000000080000000000000000000000 -Plaintext: 00000000000000000000000000000000 -Ciphertext: 41903DE72A486B823842FBA2840E265C -Test: Encrypt -Comment: Set 1, vector 165 -Key: 0000000000000000000000000000000000000000040000000000000000000000 -Plaintext: 00000000000000000000000000000000 -Ciphertext: 30651D416912A01EDEC4290D34B4A605 -Test: Encrypt -Comment: Set 1, vector 166 -Key: 0000000000000000000000000000000000000000020000000000000000000000 -Plaintext: 00000000000000000000000000000000 -Ciphertext: 0949AD8AB2E85995686D6D495ABA1028 -Test: Encrypt -Comment: Set 1, vector 167 -Key: 0000000000000000000000000000000000000000010000000000000000000000 -Plaintext: 00000000000000000000000000000000 -Ciphertext: 3789C2D08E122BE204662FE9A0FDF77A -Test: Encrypt -Comment: Set 1, vector 168 -Key: 0000000000000000000000000000000000000000008000000000000000000000 -Plaintext: 00000000000000000000000000000000 -Ciphertext: A0C66EE031FF045123475E6F5FA64F57 -Test: Encrypt -Comment: Set 1, vector 169 -Key: 0000000000000000000000000000000000000000004000000000000000000000 -Plaintext: 00000000000000000000000000000000 -Ciphertext: 1BACCDD314AF39124709013C94CAD1AC -Test: Encrypt -Comment: Set 1, vector 170 -Key: 0000000000000000000000000000000000000000002000000000000000000000 -Plaintext: 00000000000000000000000000000000 -Ciphertext: 2FB5DF5527A8E06AED03D683EDF14E9A -Test: Encrypt -Comment: Set 1, vector 171 -Key: 0000000000000000000000000000000000000000001000000000000000000000 -Plaintext: 00000000000000000000000000000000 -Ciphertext: FF2C61AD63CDA6207605C18C888B383D -Test: Encrypt -Comment: Set 1, vector 172 -Key: 0000000000000000000000000000000000000000000800000000000000000000 -Plaintext: 00000000000000000000000000000000 -Ciphertext: 71CE4A5B48671AB9A6561B7109FB8345 -Test: Encrypt -Comment: Set 1, vector 173 -Key: 0000000000000000000000000000000000000000000400000000000000000000 -Plaintext: 00000000000000000000000000000000 -Ciphertext: 37299C12377E9CB8DF5FE730DFFCB5CA -Test: Encrypt -Comment: Set 1, vector 174 -Key: 0000000000000000000000000000000000000000000200000000000000000000 -Plaintext: 00000000000000000000000000000000 -Ciphertext: C5454350A7CB0EC5CA3932A3948F48BC -Test: Encrypt -Comment: Set 1, vector 175 -Key: 0000000000000000000000000000000000000000000100000000000000000000 -Plaintext: 00000000000000000000000000000000 -Ciphertext: 8AB40D09FFBD0C82E9091FC80D2A63C9 -Test: Encrypt -Comment: Set 1, vector 176 -Key: 0000000000000000000000000000000000000000000080000000000000000000 -Plaintext: 00000000000000000000000000000000 -Ciphertext: 9CB3FE43EAE3DC7AC4F97E609FDE9F10 -Test: Encrypt -Comment: Set 1, vector 177 -Key: 0000000000000000000000000000000000000000000040000000000000000000 -Plaintext: 00000000000000000000000000000000 -Ciphertext: 51369DC689B25C3AC593B578BAEA046E -Test: Encrypt -Comment: Set 1, vector 178 -Key: 0000000000000000000000000000000000000000000020000000000000000000 -Plaintext: 00000000000000000000000000000000 -Ciphertext: 13D9D885A24AE8B859F239890DF438C9 -Test: Encrypt -Comment: Set 1, vector 179 -Key: 0000000000000000000000000000000000000000000010000000000000000000 -Plaintext: 00000000000000000000000000000000 -Ciphertext: CEACAE376290D5C62D2DAE422CA6E5C0 -Test: Encrypt -Comment: Set 1, vector 180 -Key: 0000000000000000000000000000000000000000000008000000000000000000 -Plaintext: 00000000000000000000000000000000 -Ciphertext: 6AE17D621F97B62F4571AB165CE0A11F -Test: Encrypt -Comment: Set 1, vector 181 -Key: 0000000000000000000000000000000000000000000004000000000000000000 -Plaintext: 00000000000000000000000000000000 -Ciphertext: C91318F8FD17E9BC656E639A0D648B3A -Test: Encrypt -Comment: Set 1, vector 182 -Key: 0000000000000000000000000000000000000000000002000000000000000000 -Plaintext: 00000000000000000000000000000000 -Ciphertext: BFF1BC1C935E40FB0C20DED5985F1910 -Test: Encrypt -Comment: Set 1, vector 183 -Key: 0000000000000000000000000000000000000000000001000000000000000000 -Plaintext: 00000000000000000000000000000000 -Ciphertext: 96F0B387F487BBDD5227B595A506F963 -Test: Encrypt -Comment: Set 1, vector 184 -Key: 0000000000000000000000000000000000000000000000800000000000000000 -Plaintext: 00000000000000000000000000000000 -Ciphertext: 62265B7EFB73A77205ECBBFD166B3EAE -Test: Encrypt -Comment: Set 1, vector 185 -Key: 0000000000000000000000000000000000000000000000400000000000000000 -Plaintext: 00000000000000000000000000000000 -Ciphertext: 016E8F3087757E8F576B19A58D356FB6 -Test: Encrypt -Comment: Set 1, vector 186 -Key: 0000000000000000000000000000000000000000000000200000000000000000 -Plaintext: 00000000000000000000000000000000 -Ciphertext: 456FAF632EA07797CEC23DC6553988F9 -Test: Encrypt -Comment: Set 1, vector 187 -Key: 0000000000000000000000000000000000000000000000100000000000000000 -Plaintext: 00000000000000000000000000000000 -Ciphertext: 147694E2231FA00D6B62D3E51CC8201D -Test: Encrypt -Comment: Set 1, vector 188 -Key: 0000000000000000000000000000000000000000000000080000000000000000 -Plaintext: 00000000000000000000000000000000 -Ciphertext: 2299D31F3D747838C65FE7C6C0C59214 -Test: Encrypt -Comment: Set 1, vector 189 -Key: 0000000000000000000000000000000000000000000000040000000000000000 -Plaintext: 00000000000000000000000000000000 -Ciphertext: C5A669612A23E4F7551D79650071E040 -Test: Encrypt -Comment: Set 1, vector 190 -Key: 0000000000000000000000000000000000000000000000020000000000000000 -Plaintext: 00000000000000000000000000000000 -Ciphertext: F0A32D722EDFD2BA628C781DACD5FC50 -Test: Encrypt -Comment: Set 1, vector 191 -Key: 0000000000000000000000000000000000000000000000010000000000000000 -Plaintext: 00000000000000000000000000000000 -Ciphertext: 422C8E2A0DFF095E40654CB2B7176A9B -Test: Encrypt -Comment: Set 1, vector 192 -Key: 0000000000000000000000000000000000000000000000008000000000000000 -Plaintext: 00000000000000000000000000000000 -Ciphertext: 99DEF168961D4AB9E63157E60F76399C -Test: Encrypt -Comment: Set 1, vector 193 -Key: 0000000000000000000000000000000000000000000000004000000000000000 -Plaintext: 00000000000000000000000000000000 -Ciphertext: 49C92ACC622A00BCFF7DFDCABF33CB4C -Test: Encrypt -Comment: Set 1, vector 194 -Key: 0000000000000000000000000000000000000000000000002000000000000000 -Plaintext: 00000000000000000000000000000000 -Ciphertext: 517117A096B2EE66D4BEF2D1EE570CE7 -Test: Encrypt -Comment: Set 1, vector 195 -Key: 0000000000000000000000000000000000000000000000001000000000000000 -Plaintext: 00000000000000000000000000000000 -Ciphertext: 9DAECC0E82559BC2CDB8A01AB30BA605 -Test: Encrypt -Comment: Set 1, vector 196 -Key: 0000000000000000000000000000000000000000000000000800000000000000 -Plaintext: 00000000000000000000000000000000 -Ciphertext: 50B2882928DAB54488413ABA5743535E -Test: Encrypt -Comment: Set 1, vector 197 -Key: 0000000000000000000000000000000000000000000000000400000000000000 -Plaintext: 00000000000000000000000000000000 -Ciphertext: E6725F73ED920F473E1442ABEC7DB722 -Test: Encrypt -Comment: Set 1, vector 198 -Key: 0000000000000000000000000000000000000000000000000200000000000000 -Plaintext: 00000000000000000000000000000000 -Ciphertext: CB4F06002C5864E40C80F97157452575 -Test: Encrypt -Comment: Set 1, vector 199 -Key: 0000000000000000000000000000000000000000000000000100000000000000 -Plaintext: 00000000000000000000000000000000 -Ciphertext: 8DF72D7C8AE547F2AA3E9AFAAD1D62F0 -Test: Encrypt -Comment: Set 1, vector 200 -Key: 0000000000000000000000000000000000000000000000000080000000000000 -Plaintext: 00000000000000000000000000000000 -Ciphertext: 0DA429E486F5ED9460B7C54460B0A699 -Test: Encrypt -Comment: Set 1, vector 201 -Key: 0000000000000000000000000000000000000000000000000040000000000000 -Plaintext: 00000000000000000000000000000000 -Ciphertext: 24832DB462328D93306C6714E100ADAB -Test: Encrypt -Comment: Set 1, vector 202 -Key: 0000000000000000000000000000000000000000000000000020000000000000 -Plaintext: 00000000000000000000000000000000 -Ciphertext: 3170D82FEC3D2A58C7D2F28BAC4C7809 -Test: Encrypt -Comment: Set 1, vector 203 -Key: 0000000000000000000000000000000000000000000000000010000000000000 -Plaintext: 00000000000000000000000000000000 -Ciphertext: 638A46425AEA9C808AC752EE69F56822 -Test: Encrypt -Comment: Set 1, vector 204 -Key: 0000000000000000000000000000000000000000000000000008000000000000 -Plaintext: 00000000000000000000000000000000 -Ciphertext: F98954D90C5E3DB2EEC8A86078D70763 -Test: Encrypt -Comment: Set 1, vector 205 -Key: 0000000000000000000000000000000000000000000000000004000000000000 -Plaintext: 00000000000000000000000000000000 -Ciphertext: 8D5868451617FB145B8F7F91712A7AA0 -Test: Encrypt -Comment: Set 1, vector 206 -Key: 0000000000000000000000000000000000000000000000000002000000000000 -Plaintext: 00000000000000000000000000000000 -Ciphertext: 2292BA337A4F465E0DFB85DAAC266AE6 -Test: Encrypt -Comment: Set 1, vector 207 -Key: 0000000000000000000000000000000000000000000000000001000000000000 -Plaintext: 00000000000000000000000000000000 -Ciphertext: F2560D5063A2F928D699005012A0C839 -Test: Encrypt -Comment: Set 1, vector 208 -Key: 0000000000000000000000000000000000000000000000000000800000000000 -Plaintext: 00000000000000000000000000000000 -Ciphertext: 44968AEABB2852075F83FB942E05099D -Test: Encrypt -Comment: Set 1, vector 209 -Key: 0000000000000000000000000000000000000000000000000000400000000000 -Plaintext: 00000000000000000000000000000000 -Ciphertext: EB339742AB40B5627A7CB60D4F54DD2E -Test: Encrypt -Comment: Set 1, vector 210 -Key: 0000000000000000000000000000000000000000000000000000200000000000 -Plaintext: 00000000000000000000000000000000 -Ciphertext: 9AAA6FC3BBDE523E9FCD9D5C0255F912 -Test: Encrypt -Comment: Set 1, vector 211 -Key: 0000000000000000000000000000000000000000000000000000100000000000 -Plaintext: 00000000000000000000000000000000 -Ciphertext: E6E25CBAFF57F4C6056706FD13E6A2E3 -Test: Encrypt -Comment: Set 1, vector 212 -Key: 0000000000000000000000000000000000000000000000000000080000000000 -Plaintext: 00000000000000000000000000000000 -Ciphertext: 8A9628166922E8EC6FC28F5E847B9C71 -Test: Encrypt -Comment: Set 1, vector 213 -Key: 0000000000000000000000000000000000000000000000000000040000000000 -Plaintext: 00000000000000000000000000000000 -Ciphertext: 97CF8FF5D1337DA8602F8AB6C0224AF7 -Test: Encrypt -Comment: Set 1, vector 214 -Key: 0000000000000000000000000000000000000000000000000000020000000000 -Plaintext: 00000000000000000000000000000000 -Ciphertext: DDBBE09A93364599E9233969ADBEBA63 -Test: Encrypt -Comment: Set 1, vector 215 -Key: 0000000000000000000000000000000000000000000000000000010000000000 -Plaintext: 00000000000000000000000000000000 -Ciphertext: E772954B9DA3DA8A005582C4E9E5B6FA -Test: Encrypt -Comment: Set 1, vector 216 -Key: 0000000000000000000000000000000000000000000000000000008000000000 -Plaintext: 00000000000000000000000000000000 -Ciphertext: 507DFD30F7EEF807F994B298D487FDE6 -Test: Encrypt -Comment: Set 1, vector 217 -Key: 0000000000000000000000000000000000000000000000000000004000000000 -Plaintext: 00000000000000000000000000000000 -Ciphertext: 6FF09F69AED61F091F92503547A19B68 -Test: Encrypt -Comment: Set 1, vector 218 -Key: 0000000000000000000000000000000000000000000000000000002000000000 -Plaintext: 00000000000000000000000000000000 -Ciphertext: 1141E6BB725E09640DD6971F4EF1A886 -Test: Encrypt -Comment: Set 1, vector 219 -Key: 0000000000000000000000000000000000000000000000000000001000000000 -Plaintext: 00000000000000000000000000000000 -Ciphertext: 9C0E8061BA0361B730D24675EF128705 -Test: Encrypt -Comment: Set 1, vector 220 -Key: 0000000000000000000000000000000000000000000000000000000800000000 -Plaintext: 00000000000000000000000000000000 -Ciphertext: 7D0137240D0D3D086198E83BC0CF22D0 -Test: Encrypt -Comment: Set 1, vector 221 -Key: 0000000000000000000000000000000000000000000000000000000400000000 -Plaintext: 00000000000000000000000000000000 -Ciphertext: BC4460FF55EBFAA1171B0CE249830281 -Test: Encrypt -Comment: Set 1, vector 222 -Key: 0000000000000000000000000000000000000000000000000000000200000000 -Plaintext: 00000000000000000000000000000000 -Ciphertext: CDBE93ADCF1867B952FB82C42DF60CFD -Test: Encrypt -Comment: Set 1, vector 223 -Key: 0000000000000000000000000000000000000000000000000000000100000000 -Plaintext: 00000000000000000000000000000000 -Ciphertext: 007AA375E4402B8A5657C01259AF3D49 -Test: Encrypt -Comment: Set 1, vector 224 -Key: 0000000000000000000000000000000000000000000000000000000080000000 -Plaintext: 00000000000000000000000000000000 -Ciphertext: F5C2B13998E5687C773017C14EB01FE4 -Test: Encrypt -Comment: Set 1, vector 225 -Key: 0000000000000000000000000000000000000000000000000000000040000000 -Plaintext: 00000000000000000000000000000000 -Ciphertext: 0AE71BFDD72FBC4576305E4B0807E17C -Test: Encrypt -Comment: Set 1, vector 226 -Key: 0000000000000000000000000000000000000000000000000000000020000000 -Plaintext: 00000000000000000000000000000000 -Ciphertext: 35FB1CE6CB7449DF115D3AC6BA656439 -Test: Encrypt -Comment: Set 1, vector 227 -Key: 0000000000000000000000000000000000000000000000000000000010000000 -Plaintext: 00000000000000000000000000000000 -Ciphertext: 6D64CEC5D9D74BD40FBC0BE69C70B777 -Test: Encrypt -Comment: Set 1, vector 228 -Key: 0000000000000000000000000000000000000000000000000000000008000000 -Plaintext: 00000000000000000000000000000000 -Ciphertext: 7257851ACD3E3E3AE50048973C3A2AE8 -Test: Encrypt -Comment: Set 1, vector 229 -Key: 0000000000000000000000000000000000000000000000000000000004000000 -Plaintext: 00000000000000000000000000000000 -Ciphertext: 50852661D5BD7960412B29A86F549619 -Test: Encrypt -Comment: Set 1, vector 230 -Key: 0000000000000000000000000000000000000000000000000000000002000000 -Plaintext: 00000000000000000000000000000000 -Ciphertext: CDF3561D971D40521CD46BAE98F5867A -Test: Encrypt -Comment: Set 1, vector 231 -Key: 0000000000000000000000000000000000000000000000000000000001000000 -Plaintext: 00000000000000000000000000000000 -Ciphertext: FA3C84185B9ABF9887DD501B3B0F52D3 -Test: Encrypt -Comment: Set 1, vector 232 -Key: 0000000000000000000000000000000000000000000000000000000000800000 -Plaintext: 00000000000000000000000000000000 -Ciphertext: 40A5B434F81574733D00F25511109E08 -Test: Encrypt -Comment: Set 1, vector 233 -Key: 0000000000000000000000000000000000000000000000000000000000400000 -Plaintext: 00000000000000000000000000000000 -Ciphertext: DA0D248315C527572F1673BDE26A475E -Test: Encrypt -Comment: Set 1, vector 234 -Key: 0000000000000000000000000000000000000000000000000000000000200000 -Plaintext: 00000000000000000000000000000000 -Ciphertext: 0F8366D8EFB9AB63B0299F278C55CFB4 -Test: Encrypt -Comment: Set 1, vector 235 -Key: 0000000000000000000000000000000000000000000000000000000000100000 -Plaintext: 00000000000000000000000000000000 -Ciphertext: 25A089C523CD153EC094862B5923F492 -Test: Encrypt -Comment: Set 1, vector 236 -Key: 0000000000000000000000000000000000000000000000000000000000080000 -Plaintext: 00000000000000000000000000000000 -Ciphertext: 7268A4628C6A0BE6A8391ABE70986176 -Test: Encrypt -Comment: Set 1, vector 237 -Key: 0000000000000000000000000000000000000000000000000000000000040000 -Plaintext: 00000000000000000000000000000000 -Ciphertext: 7C11E6478CC688FE707454DF4AB5B666 -Test: Encrypt -Comment: Set 1, vector 238 -Key: 0000000000000000000000000000000000000000000000000000000000020000 -Plaintext: 00000000000000000000000000000000 -Ciphertext: 7601B6EBD5CE578973E949C21BFA8CAA -Test: Encrypt -Comment: Set 1, vector 239 -Key: 0000000000000000000000000000000000000000000000000000000000010000 -Plaintext: 00000000000000000000000000000000 -Ciphertext: 0FCE9CCDF89F2EB139DBEB09B55375D5 -Test: Encrypt -Comment: Set 1, vector 240 -Key: 0000000000000000000000000000000000000000000000000000000000008000 -Plaintext: 00000000000000000000000000000000 -Ciphertext: AAABFDD9E28A3ADCA1212F3D7F53A269 -Test: Encrypt -Comment: Set 1, vector 241 -Key: 0000000000000000000000000000000000000000000000000000000000004000 -Plaintext: 00000000000000000000000000000000 -Ciphertext: FC6B4304423917E41677768BD7A8D402 -Test: Encrypt -Comment: Set 1, vector 242 -Key: 0000000000000000000000000000000000000000000000000000000000002000 -Plaintext: 00000000000000000000000000000000 -Ciphertext: 2AA3239D19ADBA9A4190E3653875C589 -Test: Encrypt -Comment: Set 1, vector 243 -Key: 0000000000000000000000000000000000000000000000000000000000001000 -Plaintext: 00000000000000000000000000000000 -Ciphertext: 4F4AB0DB2F3D3EA1E5FCBF99651485DC -Test: Encrypt -Comment: Set 1, vector 244 -Key: 0000000000000000000000000000000000000000000000000000000000000800 -Plaintext: 00000000000000000000000000000000 -Ciphertext: B542CEF08D13E300B282CE6A74C51C96 -Test: Encrypt -Comment: Set 1, vector 245 -Key: 0000000000000000000000000000000000000000000000000000000000000400 -Plaintext: 00000000000000000000000000000000 -Ciphertext: 9955E16433B0D58BFC4B35EE9F44734C -Test: Encrypt -Comment: Set 1, vector 246 -Key: 0000000000000000000000000000000000000000000000000000000000000200 -Plaintext: 00000000000000000000000000000000 -Ciphertext: 5027A7DDC6F99A112E45D3090C7C3465 -Test: Encrypt -Comment: Set 1, vector 247 -Key: 0000000000000000000000000000000000000000000000000000000000000100 -Plaintext: 00000000000000000000000000000000 -Ciphertext: CB14EBD24FC63194495FACFFB5C3A07B -Test: Encrypt -Comment: Set 1, vector 248 -Key: 0000000000000000000000000000000000000000000000000000000000000080 -Plaintext: 00000000000000000000000000000000 -Ciphertext: 2BCBE64545A08F59178242452566B997 -Test: Encrypt -Comment: Set 1, vector 249 -Key: 0000000000000000000000000000000000000000000000000000000000000040 -Plaintext: 00000000000000000000000000000000 -Ciphertext: DE428FF12360A0C8FAE73E9D8E6A0657 -Test: Encrypt -Comment: Set 1, vector 250 -Key: 0000000000000000000000000000000000000000000000000000000000000020 -Plaintext: 00000000000000000000000000000000 -Ciphertext: 6425603FCB0F088D87D3AC7078C7014C -Test: Encrypt -Comment: Set 1, vector 251 -Key: 0000000000000000000000000000000000000000000000000000000000000010 -Plaintext: 00000000000000000000000000000000 -Ciphertext: A837813C9436F4C48C45B6C85A4EAF84 -Test: Encrypt -Comment: Set 1, vector 252 -Key: 0000000000000000000000000000000000000000000000000000000000000008 -Plaintext: 00000000000000000000000000000000 -Ciphertext: B95F9010E694BA44B812D6A7A59E027A -Test: Encrypt -Comment: Set 1, vector 253 -Key: 0000000000000000000000000000000000000000000000000000000000000004 -Plaintext: 00000000000000000000000000000000 -Ciphertext: DF2746A2D9ED707DCC686BB64B77C9DD -Test: Encrypt -Comment: Set 1, vector 254 -Key: 0000000000000000000000000000000000000000000000000000000000000002 -Plaintext: 00000000000000000000000000000000 -Ciphertext: 40DD304C3FC8FEF5D7D08FD467E018F6 -Test: Encrypt -Comment: Set 1, vector 255 -Key: 0000000000000000000000000000000000000000000000000000000000000001 -Plaintext: 00000000000000000000000000000000 -Ciphertext: AFCD38B195E0A736304E89B9AE3019D3 -Test: Encrypt -Comment: Set 2, vector 0 -Key: 0000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 80000000000000000000000000000000 -Ciphertext: B0C6B88AEA518AB09E847248E91B1B9D -Test: Encrypt -Comment: Set 2, vector 1 -Key: 0000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 40000000000000000000000000000000 -Ciphertext: B8D7684E35FA1DB15BDCEE7A48659858 -Test: Encrypt -Comment: Set 2, vector 2 -Key: 0000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 20000000000000000000000000000000 -Ciphertext: F0CAD59AF92FBB79F36951E697492750 -Test: Encrypt -Comment: Set 2, vector 3 -Key: 0000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 10000000000000000000000000000000 -Ciphertext: 117100F6635389560DC4A2DA24EBA70F -Test: Encrypt -Comment: Set 2, vector 4 -Key: 0000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 08000000000000000000000000000000 -Ciphertext: DBDD62355553019ED84C35886421E532 -Test: Encrypt -Comment: Set 2, vector 5 -Key: 0000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 04000000000000000000000000000000 -Ciphertext: 9CB8D04FA506F19848F7B9110518BFC8 -Test: Encrypt -Comment: Set 2, vector 6 -Key: 0000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 02000000000000000000000000000000 -Ciphertext: E4308E253BC3444D293500701BA82C6A -Test: Encrypt -Comment: Set 2, vector 7 -Key: 0000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 01000000000000000000000000000000 -Ciphertext: EA2FAE53F7F30C0170A20E95A068503E -Test: Encrypt -Comment: Set 2, vector 8 -Key: 0000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 00800000000000000000000000000000 -Ciphertext: 14B14839EA221880B2C64D1FE000B93D -Test: Encrypt -Comment: Set 2, vector 9 -Key: 0000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 00400000000000000000000000000000 -Ciphertext: A5CFC075B342D5101AACC334E73058BB -Test: Encrypt -Comment: Set 2, vector 10 -Key: 0000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 00200000000000000000000000000000 -Ciphertext: 477EA56B2EBAD0F8AC5E1936866560FF -Test: Encrypt -Comment: Set 2, vector 11 -Key: 0000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 00100000000000000000000000000000 -Ciphertext: 107E8598418404196EC59F63E45B7F6D -Test: Encrypt -Comment: Set 2, vector 12 -Key: 0000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 00080000000000000000000000000000 -Ciphertext: FF6A891E7C1C074A68FEC291928FDD8D -Test: Encrypt -Comment: Set 2, vector 13 -Key: 0000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 00040000000000000000000000000000 -Ciphertext: F64C250A13F45D377ADB7545B2B157A9 -Test: Encrypt -Comment: Set 2, vector 14 -Key: 0000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 00020000000000000000000000000000 -Ciphertext: FAD0F252086F11C830C65B63197CBC38 -Test: Encrypt -Comment: Set 2, vector 15 -Key: 0000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 00010000000000000000000000000000 -Ciphertext: 9DCB89B209441F02AD0D25C6AB826629 -Test: Encrypt -Comment: Set 2, vector 16 -Key: 0000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 00008000000000000000000000000000 -Ciphertext: E62E4ED4E4F34EDC563710D960E09D4C -Test: Encrypt -Comment: Set 2, vector 17 -Key: 0000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 00004000000000000000000000000000 -Ciphertext: 98A1B926BA06895C3F2E84CCBACBC356 -Test: Encrypt -Comment: Set 2, vector 18 -Key: 0000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 00002000000000000000000000000000 -Ciphertext: 29BE0BE4DB7F4D196718AEA38F3B0BFD -Test: Encrypt -Comment: Set 2, vector 19 -Key: 0000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 00001000000000000000000000000000 -Ciphertext: F670C4EBECBA0B43E71F6D752BFD4854 -Test: Encrypt -Comment: Set 2, vector 20 -Key: 0000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 00000800000000000000000000000000 -Ciphertext: 7D7666B4484CDB7E3605468E093A787C -Test: Encrypt -Comment: Set 2, vector 21 -Key: 0000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 00000400000000000000000000000000 -Ciphertext: 562D06B181C091DA6C43642AE99460C6 -Test: Encrypt -Comment: Set 2, vector 22 -Key: 0000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 00000200000000000000000000000000 -Ciphertext: AB0EFB5975E6186B7D76BC9672453488 -Test: Encrypt -Comment: Set 2, vector 23 -Key: 0000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 00000100000000000000000000000000 -Ciphertext: 10C0756538E7BFF88D19AE2B1F7B859A -Test: Encrypt -Comment: Set 2, vector 24 -Key: 0000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 00000080000000000000000000000000 -Ciphertext: AF7FCD5248F8C72F1695AA05DD1CADE0 -Test: Encrypt -Comment: Set 2, vector 25 -Key: 0000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 00000040000000000000000000000000 -Ciphertext: 9841E555655609A75D7BE20B8A90EF1E -Test: Encrypt -Comment: Set 2, vector 26 -Key: 0000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 00000020000000000000000000000000 -Ciphertext: 27F9546E6A1B7464780000561783569C -Test: Encrypt -Comment: Set 2, vector 27 -Key: 0000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 00000010000000000000000000000000 -Ciphertext: 8671D935D7A8354EECB7288803D42D7A -Test: Encrypt -Comment: Set 2, vector 28 -Key: 0000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 00000008000000000000000000000000 -Ciphertext: 0DA44F508DEBC6F044394624FCEB8EBE -Test: Encrypt -Comment: Set 2, vector 29 -Key: 0000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 00000004000000000000000000000000 -Ciphertext: AB137369BE6D93FBB18006BDB236EC09 -Test: Encrypt -Comment: Set 2, vector 30 -Key: 0000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 00000002000000000000000000000000 -Ciphertext: EB90C4E597A7E1779FFA260886E26F75 -Test: Encrypt -Comment: Set 2, vector 31 -Key: 0000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 00000001000000000000000000000000 -Ciphertext: 618CF3588D5C128EAF252616230E08F7 -Test: Encrypt -Comment: Set 2, vector 32 -Key: 0000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 00000000800000000000000000000000 -Ciphertext: 98DC4DB49D197AB9152D12B9DE2D73CA -Test: Encrypt -Comment: Set 2, vector 33 -Key: 0000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 00000000400000000000000000000000 -Ciphertext: 5BDDE24B15702A35E1F140C57D206443 -Test: Encrypt -Comment: Set 2, vector 34 -Key: 0000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 00000000200000000000000000000000 -Ciphertext: CF755809882BED8BA2F9F1A4ED296A2B -Test: Encrypt -Comment: Set 2, vector 35 -Key: 0000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 00000000100000000000000000000000 -Ciphertext: F1A8DBB999538AE89D16F92A7F4D1DF1 -Test: Encrypt -Comment: Set 2, vector 36 -Key: 0000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 00000000080000000000000000000000 -Ciphertext: 775222FDDAAECB81CF675C4E0B98179E -Test: Encrypt -Comment: Set 2, vector 37 -Key: 0000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 00000000040000000000000000000000 -Ciphertext: 12A648CADCD153C760A965826683119A -Test: Encrypt -Comment: Set 2, vector 38 -Key: 0000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 00000000020000000000000000000000 -Ciphertext: 0503FB10AB241E7CF45D8CDEEE474335 -Test: Encrypt -Comment: Set 2, vector 39 -Key: 0000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 00000000010000000000000000000000 -Ciphertext: 3D299C0070CBBD831B802690B8E7CA24 -Test: Encrypt -Comment: Set 2, vector 40 -Key: 0000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 00000000008000000000000000000000 -Ciphertext: 33105BD4D11D66753DC34D128BEFE3F4 -Test: Encrypt -Comment: Set 2, vector 41 -Key: 0000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 00000000004000000000000000000000 -Ciphertext: 5EFCE2B4B987C0F77D27B44836881682 -Test: Encrypt -Comment: Set 2, vector 42 -Key: 0000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 00000000002000000000000000000000 -Ciphertext: 7835449454128035D7F0EA99E327577B -Test: Encrypt -Comment: Set 2, vector 43 -Key: 0000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 00000000001000000000000000000000 -Ciphertext: 27BEDDA0601BE35122FB1D272D73AB3E -Test: Encrypt -Comment: Set 2, vector 44 -Key: 0000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 00000000000800000000000000000000 -Ciphertext: 54C3F99FF48E318CC515EDE75800C4B3 -Test: Encrypt -Comment: Set 2, vector 45 -Key: 0000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 00000000000400000000000000000000 -Ciphertext: C627C329F8E48299F6FDB23B9DBEA0BB -Test: Encrypt -Comment: Set 2, vector 46 -Key: 0000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 00000000000200000000000000000000 -Ciphertext: 1B6578F9E23BD8C1845A02431C5F9AA3 -Test: Encrypt -Comment: Set 2, vector 47 -Key: 0000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 00000000000100000000000000000000 -Ciphertext: 6DB2FB8C0B9344D0547C0FF1292020C6 -Test: Encrypt -Comment: Set 2, vector 48 -Key: 0000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 00000000000080000000000000000000 -Ciphertext: 4FAD9B2C37C131493FBEF53581FA4F83 -Test: Encrypt -Comment: Set 2, vector 49 -Key: 0000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 00000000000040000000000000000000 -Ciphertext: 47502A01E93D2C87BD5584F6AFD3D99D -Test: Encrypt -Comment: Set 2, vector 50 -Key: 0000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 00000000000020000000000000000000 -Ciphertext: 056E1C6F651BFE50271B3B7A18E76D84 -Test: Encrypt -Comment: Set 2, vector 51 -Key: 0000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 00000000000010000000000000000000 -Ciphertext: 5632BAF6627B3D96AD4E06FA6A561F55 -Test: Encrypt -Comment: Set 2, vector 52 -Key: 0000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 00000000000008000000000000000000 -Ciphertext: E29807CAACDFA2D41A7D9E91FA7FD8EB -Test: Encrypt -Comment: Set 2, vector 53 -Key: 0000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 00000000000004000000000000000000 -Ciphertext: 81DD44BB5D1822DEE605F9E6FF01D7B3 -Test: Encrypt -Comment: Set 2, vector 54 -Key: 0000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 00000000000002000000000000000000 -Ciphertext: 5C3649925E47D7FF96482A8FBD9666FD -Test: Encrypt -Comment: Set 2, vector 55 -Key: 0000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 00000000000001000000000000000000 -Ciphertext: 695415A836E66E737887845EC08A1ADB -Test: Encrypt -Comment: Set 2, vector 56 -Key: 0000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 00000000000000800000000000000000 -Ciphertext: F5416BCE292D9E2CEA5D1CC70BBAEED1 -Test: Encrypt -Comment: Set 2, vector 57 -Key: 0000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 00000000000000400000000000000000 -Ciphertext: 7AEC4F1388FC29C47F7FED74ADDE8485 -Test: Encrypt -Comment: Set 2, vector 58 -Key: 0000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 00000000000000200000000000000000 -Ciphertext: 82A9F1A6CE08BC4876E649D8A8EA7EB6 -Test: Encrypt -Comment: Set 2, vector 59 -Key: 0000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 00000000000000100000000000000000 -Ciphertext: B6296C88ADF1A792908B065EEB04BFC2 -Test: Encrypt -Comment: Set 2, vector 60 -Key: 0000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 00000000000000080000000000000000 -Ciphertext: E766A39AECCA40BDBFBE6FF3FA292913 -Test: Encrypt -Comment: Set 2, vector 61 -Key: 0000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 00000000000000040000000000000000 -Ciphertext: C6D081454EA00D83C23B5A62C84359E1 -Test: Encrypt -Comment: Set 2, vector 62 -Key: 0000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 00000000000000020000000000000000 -Ciphertext: 85D259A79CCA80484504D1603F7A8F53 -Test: Encrypt -Comment: Set 2, vector 63 -Key: 0000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 00000000000000010000000000000000 -Ciphertext: D8291FA1C6DC250078824B2D0A20883F -Test: Encrypt -Comment: Set 2, vector 64 -Key: 0000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 00000000000000008000000000000000 -Ciphertext: 95387CB74C48FFBD1F8D64A6CC45E074 -Test: Encrypt -Comment: Set 2, vector 65 -Key: 0000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 00000000000000004000000000000000 -Ciphertext: A17F975F538F56CDF629B516011DE837 -Test: Encrypt -Comment: Set 2, vector 66 -Key: 0000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 00000000000000002000000000000000 -Ciphertext: B50B615A1654C6E1CB6AB33716C097FE -Test: Encrypt -Comment: Set 2, vector 67 -Key: 0000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 00000000000000001000000000000000 -Ciphertext: 7BBB2CBB874DF6C8B821DA7FB0F9011B -Test: Encrypt -Comment: Set 2, vector 68 -Key: 0000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 00000000000000000800000000000000 -Ciphertext: E9EFE074D096A275E47CD2E6206DF6A1 -Test: Encrypt -Comment: Set 2, vector 69 -Key: 0000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 00000000000000000400000000000000 -Ciphertext: 88F2F8D5A836406AE8BBB98C65BBDA55 -Test: Encrypt -Comment: Set 2, vector 70 -Key: 0000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 00000000000000000200000000000000 -Ciphertext: F64620D8D87585A3EF038B9AD58F5EA0 -Test: Encrypt -Comment: Set 2, vector 71 -Key: 0000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 00000000000000000100000000000000 -Ciphertext: 694438EC141C8ED5F2F898B4554A298F -Test: Encrypt -Comment: Set 2, vector 72 -Key: 0000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 00000000000000000080000000000000 -Ciphertext: 3E6226EC7726A1EE5F5FA9B18CCE8C44 -Test: Encrypt -Comment: Set 2, vector 73 -Key: 0000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 00000000000000000040000000000000 -Ciphertext: 8AB6949E79911647800B9E87362AB97A -Test: Encrypt -Comment: Set 2, vector 74 -Key: 0000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 00000000000000000020000000000000 -Ciphertext: 093C5CF24EDAF7F9F1C8A80DE4FF50A9 -Test: Encrypt -Comment: Set 2, vector 75 -Key: 0000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 00000000000000000010000000000000 -Ciphertext: 28A36E50061F19E240351ED0E378CBF4 -Test: Encrypt -Comment: Set 2, vector 76 -Key: 0000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 00000000000000000008000000000000 -Ciphertext: B93BB36CB88BF26EA79198652AA51D3C -Test: Encrypt -Comment: Set 2, vector 77 -Key: 0000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 00000000000000000004000000000000 -Ciphertext: DE4948083D044FAC9BCA6DA8CD67B8A6 -Test: Encrypt -Comment: Set 2, vector 78 -Key: 0000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 00000000000000000002000000000000 -Ciphertext: 6E778B5BDA6CA118117E47470D080D3C -Test: Encrypt -Comment: Set 2, vector 79 -Key: 0000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 00000000000000000001000000000000 -Ciphertext: 0A9107324DA32B4281D032A3487EF875 -Test: Encrypt -Comment: Set 2, vector 80 -Key: 0000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 00000000000000000000800000000000 -Ciphertext: 18ED5635312D71ABD123CCE779D4D68A -Test: Encrypt -Comment: Set 2, vector 81 -Key: 0000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 00000000000000000000400000000000 -Ciphertext: 2E3C63F95C4BC1F944BAB06DEDC9AA8E -Test: Encrypt -Comment: Set 2, vector 82 -Key: 0000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 00000000000000000000200000000000 -Ciphertext: ACCC869EF07004C8C3C709083BE7BA2F -Test: Encrypt -Comment: Set 2, vector 83 -Key: 0000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 00000000000000000000100000000000 -Ciphertext: DF60B34FB1A59147CC1FB049C1578206 -Test: Encrypt -Comment: Set 2, vector 84 -Key: 0000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 00000000000000000000080000000000 -Ciphertext: 4228DC636C08E41021054AA0E1E2227A -Test: Encrypt -Comment: Set 2, vector 85 -Key: 0000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 00000000000000000000040000000000 -Ciphertext: 7CE27F66EFD735FFD6B3E1738C50495B -Test: Encrypt -Comment: Set 2, vector 86 -Key: 0000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 00000000000000000000020000000000 -Ciphertext: F8E74B33A9CDE351DA0BBC06D69093D7 -Test: Encrypt -Comment: Set 2, vector 87 -Key: 0000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 00000000000000000000010000000000 -Ciphertext: AE0D22A5B37B8DC5D81CC641EED334D0 -Test: Encrypt -Comment: Set 2, vector 88 -Key: 0000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 00000000000000000000008000000000 -Ciphertext: C181C6CA5E163743458B9167A0B6A16A -Test: Encrypt -Comment: Set 2, vector 89 -Key: 0000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 00000000000000000000004000000000 -Ciphertext: 5171F4F6095E4B276CFBA1F07223FBE6 -Test: Encrypt -Comment: Set 2, vector 90 -Key: 0000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 00000000000000000000002000000000 -Ciphertext: 2732F4D3A8C9D1D8D493840D6E0B864F -Test: Encrypt -Comment: Set 2, vector 91 -Key: 0000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 00000000000000000000001000000000 -Ciphertext: 3EF04E0059A061D973532CA5C1DFBE7B -Test: Encrypt -Comment: Set 2, vector 92 -Key: 0000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 00000000000000000000000800000000 -Ciphertext: 6D9A8F23579E4978EBAA87B5ADEB77E5 -Test: Encrypt -Comment: Set 2, vector 93 -Key: 0000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 00000000000000000000000400000000 -Ciphertext: BBD08873CC44BA4253C0C41FEEB7F124 -Test: Encrypt -Comment: Set 2, vector 94 -Key: 0000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 00000000000000000000000200000000 -Ciphertext: 72E4B2437CBD283F3809CE686F6A591E -Test: Encrypt -Comment: Set 2, vector 95 -Key: 0000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 00000000000000000000000100000000 -Ciphertext: 6E5580514B92512B1BF4B1B987B9AA1B -Test: Encrypt -Comment: Set 2, vector 96 -Key: 0000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 00000000000000000000000080000000 -Ciphertext: 5EF5D0C5BCBDCB604D3A083B68CE0FA3 -Test: Encrypt -Comment: Set 2, vector 97 -Key: 0000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 00000000000000000000000040000000 -Ciphertext: 9D991FDD723AD2182777A15CA0E0F665 -Test: Encrypt -Comment: Set 2, vector 98 -Key: 0000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 00000000000000000000000020000000 -Ciphertext: 24440626EFC8F86BEA7DE78085AB8A22 -Test: Encrypt -Comment: Set 2, vector 99 -Key: 0000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 00000000000000000000000010000000 -Ciphertext: 17C3630D62D13C1E826C0FCCBD74A864 -Test: Encrypt -Comment: Set 2, vector 100 -Key: 0000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 00000000000000000000000008000000 -Ciphertext: 4CF5AB86A56AB134A7FE46CCE3F9FCE9 -Test: Encrypt -Comment: Set 2, vector 101 -Key: 0000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 00000000000000000000000004000000 -Ciphertext: 3E6B9C0388F6D9B8F458F30221907607 -Test: Encrypt -Comment: Set 2, vector 102 -Key: 0000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 00000000000000000000000002000000 -Ciphertext: AD9C926B8A5CD98EEE88200617E59958 -Test: Encrypt -Comment: Set 2, vector 103 -Key: 0000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 00000000000000000000000001000000 -Ciphertext: AFF8AED5E075E02AF720CA4BF0028B3B -Test: Encrypt -Comment: Set 2, vector 104 -Key: 0000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 00000000000000000000000000800000 -Ciphertext: D90EAFF909202BB209BB3BB8C7F9A954 -Test: Encrypt -Comment: Set 2, vector 105 -Key: 0000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 00000000000000000000000000400000 -Ciphertext: 2C709B00E6A22F00F64A7D8EE341853F -Test: Encrypt -Comment: Set 2, vector 106 -Key: 0000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 00000000000000000000000000200000 -Ciphertext: CCEC598F0D9F0BF201B2F487136D54A4 -Test: Encrypt -Comment: Set 2, vector 107 -Key: 0000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 00000000000000000000000000100000 -Ciphertext: 73B2883A0A166AAE1BF14E60A5195FA3 -Test: Encrypt -Comment: Set 2, vector 108 -Key: 0000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 00000000000000000000000000080000 -Ciphertext: E676867BD9AD5EF915143388496779D7 -Test: Encrypt -Comment: Set 2, vector 109 -Key: 0000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 00000000000000000000000000040000 -Ciphertext: CDCB73D1BFCFD4BE7F1DAA9B1C6A4055 -Test: Encrypt -Comment: Set 2, vector 110 -Key: 0000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 00000000000000000000000000020000 -Ciphertext: 02A3A5C89DAA24CD2C517F7A73286A89 -Test: Encrypt -Comment: Set 2, vector 111 -Key: 0000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 00000000000000000000000000010000 -Ciphertext: C0FA2AC9E92EE58C2DD12D6D43AB7035 -Test: Encrypt -Comment: Set 2, vector 112 -Key: 0000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 00000000000000000000000000008000 -Ciphertext: EDC2CB1F7291353BDBF2385519E6AE16 -Test: Encrypt -Comment: Set 2, vector 113 -Key: 0000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 00000000000000000000000000004000 -Ciphertext: B4B62D16D197A98CD3B978812B9D9884 -Test: Encrypt -Comment: Set 2, vector 114 -Key: 0000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 00000000000000000000000000002000 -Ciphertext: 5CDFC95A529A905101CEA26BC1B891ED -Test: Encrypt -Comment: Set 2, vector 115 -Key: 0000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 00000000000000000000000000001000 -Ciphertext: CC7150CD3650B98363296C7C4ED368D1 -Test: Encrypt -Comment: Set 2, vector 116 -Key: 0000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 00000000000000000000000000000800 -Ciphertext: CC57706B0C6526B8E25A5DBD32EACBDB -Test: Encrypt -Comment: Set 2, vector 117 -Key: 0000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 00000000000000000000000000000400 -Ciphertext: 30D30456AD98B182D64C649648F6AEC9 -Test: Encrypt -Comment: Set 2, vector 118 -Key: 0000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 00000000000000000000000000000200 -Ciphertext: D7E9DA7F631938EB649A08AF82FBD75F -Test: Encrypt -Comment: Set 2, vector 119 -Key: 0000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 00000000000000000000000000000100 -Ciphertext: B8DA2AF6600B07895B5D0FFAF4991469 -Test: Encrypt -Comment: Set 2, vector 120 -Key: 0000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 00000000000000000000000000000080 -Ciphertext: 0F6F64F930BA6C178943322B98114599 -Test: Encrypt -Comment: Set 2, vector 121 -Key: 0000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 00000000000000000000000000000040 -Ciphertext: 8B1F247802E47C91BEE2AA34ECFD7A01 -Test: Encrypt -Comment: Set 2, vector 122 -Key: 0000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 00000000000000000000000000000020 -Ciphertext: 7A6985778D3A66E97F23E01F0D0E45E7 -Test: Encrypt -Comment: Set 2, vector 123 -Key: 0000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 00000000000000000000000000000010 -Ciphertext: BA664AC39855518DFDEE10D1B3111FAE -Test: Encrypt -Comment: Set 2, vector 124 -Key: 0000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 00000000000000000000000000000008 -Ciphertext: 7C92854D801A1648F65CA81813DDBF83 -Test: Encrypt -Comment: Set 2, vector 125 -Key: 0000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 00000000000000000000000000000004 -Ciphertext: 6A3F25AAB7E92D9CF378E5D9C040F26B -Test: Encrypt -Comment: Set 2, vector 126 -Key: 0000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 00000000000000000000000000000002 -Ciphertext: 3D4B2CDE666761BA5DFB305178E667FB -Test: Encrypt -Comment: Set 2, vector 127 -Key: 0000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 00000000000000000000000000000001 -Ciphertext: 9CDB269B5D293BC5DB9C55B057D9B591 -Test: Encrypt -Comment: Set 3, vector 0 -Key: 0000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 00000000000000000000000000000000 -Ciphertext: 396154111ADEFC500CF6E5C99038BC17 -Test: Encrypt -Comment: Set 3, vector 1 -Key: 0101010101010101010101010101010101010101010101010101010101010101 -Plaintext: 01010101010101010101010101010101 -Ciphertext: 438D0C2E7E86869B56EBA23B66086A01 -Test: Encrypt -Comment: Set 3, vector 2 -Key: 0202020202020202020202020202020202020202020202020202020202020202 -Plaintext: 02020202020202020202020202020202 -Ciphertext: D4F553BFA794F55EF3B7A578629F6DEA -Test: Encrypt -Comment: Set 3, vector 3 -Key: 0303030303030303030303030303030303030303030303030303030303030303 -Plaintext: 03030303030303030303030303030303 -Ciphertext: B1EB06630CF3E25AEF18FA34709232F7 -Test: Encrypt -Comment: Set 3, vector 4 -Key: 0404040404040404040404040404040404040404040404040404040404040404 -Plaintext: 04040404040404040404040404040404 -Ciphertext: 5E858730ABC9823A93CA4CAB67F0B423 -Test: Encrypt -Comment: Set 3, vector 5 -Key: 0505050505050505050505050505050505050505050505050505050505050505 -Plaintext: 05050505050505050505050505050505 -Ciphertext: 9FC988D43FE3712CF6D2DB552FE3C80F -Test: Encrypt -Comment: Set 3, vector 6 -Key: 0606060606060606060606060606060606060606060606060606060606060606 -Plaintext: 06060606060606060606060606060606 -Ciphertext: 6109500D59414C9974D15818A2BA6DD0 -Test: Encrypt -Comment: Set 3, vector 7 -Key: 0707070707070707070707070707070707070707070707070707070707070707 -Plaintext: 07070707070707070707070707070707 -Ciphertext: 5F6BF9AC53A680EACAE7583A8933DA8E -Test: Encrypt -Comment: Set 3, vector 8 -Key: 0808080808080808080808080808080808080808080808080808080808080808 -Plaintext: 08080808080808080808080808080808 -Ciphertext: F9A9C1540AE1B314DBEDF9A49054DC9D -Test: Encrypt -Comment: Set 3, vector 9 -Key: 0909090909090909090909090909090909090909090909090909090909090909 -Plaintext: 09090909090909090909090909090909 -Ciphertext: 6D66755ACDB9D90BEC599A0BC0C7BF48 -Test: Encrypt -Comment: Set 3, vector 10 -Key: 0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A -Plaintext: 0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A -Ciphertext: 5527F328AF93C2D5CCC80AF7A3E8DF3D -Test: Encrypt -Comment: Set 3, vector 11 -Key: 0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B -Plaintext: 0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B -Ciphertext: 27AA99F8E6EA08D8E8D5A528EE4774B6 -Test: Encrypt -Comment: Set 3, vector 12 -Key: 0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C -Plaintext: 0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C -Ciphertext: 46F7D660A22232F5E3664EF355098CE4 -Test: Encrypt -Comment: Set 3, vector 13 -Key: 0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D -Plaintext: 0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D -Ciphertext: BDC0AEC72B53B747AB5C7BD62062826A -Test: Encrypt -Comment: Set 3, vector 14 -Key: 0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E -Plaintext: 0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E -Ciphertext: A0CAB391DC8BFF0281F3E1C70C1CE33B -Test: Encrypt -Comment: Set 3, vector 15 -Key: 0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F -Plaintext: 0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F -Ciphertext: 5CBFB3E894AE1428549CCF777A9F0A73 -Test: Encrypt -Comment: Set 3, vector 16 -Key: 1010101010101010101010101010101010101010101010101010101010101010 -Plaintext: 10101010101010101010101010101010 -Ciphertext: 6693FC130669F194F81E8D175194DDA2 -Test: Encrypt -Comment: Set 3, vector 17 -Key: 1111111111111111111111111111111111111111111111111111111111111111 -Plaintext: 11111111111111111111111111111111 -Ciphertext: A6A72472F8C04329C0E2FB56982A33C7 -Test: Encrypt -Comment: Set 3, vector 18 -Key: 1212121212121212121212121212121212121212121212121212121212121212 -Plaintext: 12121212121212121212121212121212 -Ciphertext: 6321875C5F89CCE16C6FF5E85E759C9A -Test: Encrypt -Comment: Set 3, vector 19 -Key: 1313131313131313131313131313131313131313131313131313131313131313 -Plaintext: 13131313131313131313131313131313 -Ciphertext: 8819C97D05C91A23062E9851F07EF6F7 -Test: Encrypt -Comment: Set 3, vector 20 -Key: 1414141414141414141414141414141414141414141414141414141414141414 -Plaintext: 14141414141414141414141414141414 -Ciphertext: F894FEB12164BB32AC846DD9530604CE -Test: Encrypt -Comment: Set 3, vector 21 -Key: 1515151515151515151515151515151515151515151515151515151515151515 -Plaintext: 15151515151515151515151515151515 -Ciphertext: 61B02392CD3F571B35C862E703DB2053 -Test: Encrypt -Comment: Set 3, vector 22 -Key: 1616161616161616161616161616161616161616161616161616161616161616 -Plaintext: 16161616161616161616161616161616 -Ciphertext: 6269E137F8480D555D1B24F392162DBA -Test: Encrypt -Comment: Set 3, vector 23 -Key: 1717171717171717171717171717171717171717171717171717171717171717 -Plaintext: 17171717171717171717171717171717 -Ciphertext: B6662F56AA3D23DE1DFDE165B2D63FA0 -Test: Encrypt -Comment: Set 3, vector 24 -Key: 1818181818181818181818181818181818181818181818181818181818181818 -Plaintext: 18181818181818181818181818181818 -Ciphertext: C8271ACE969013EE2C9EF1512FFABAE5 -Test: Encrypt -Comment: Set 3, vector 25 -Key: 1919191919191919191919191919191919191919191919191919191919191919 -Plaintext: 19191919191919191919191919191919 -Ciphertext: 6982E764E750CDF3E5F9C4E40A5DFE28 -Test: Encrypt -Comment: Set 3, vector 26 -Key: 1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A -Plaintext: 1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A -Ciphertext: 23172E86AF4A140A78CB1DC776270FFF -Test: Encrypt -Comment: Set 3, vector 27 -Key: 1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B -Plaintext: 1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B -Ciphertext: BA0BD958FC1DE142EC40326B2C315AA5 -Test: Encrypt -Comment: Set 3, vector 28 -Key: 1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C -Plaintext: 1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C -Ciphertext: 7FB2B8A4B95CBFB74BFD5F7A5641261C -Test: Encrypt -Comment: Set 3, vector 29 -Key: 1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D -Plaintext: 1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D -Ciphertext: 56B261D89F8978041E2602DF97386BF7 -Test: Encrypt -Comment: Set 3, vector 30 -Key: 1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E -Plaintext: 1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E -Ciphertext: A2D74F5148C84C1F990290E17DD3EDFA -Test: Encrypt -Comment: Set 3, vector 31 -Key: 1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F -Plaintext: 1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F -Ciphertext: 7D8BC76F1D941FC3C7E4C6F17AC03FF4 -Test: Encrypt -Comment: Set 3, vector 32 -Key: 2020202020202020202020202020202020202020202020202020202020202020 -Plaintext: 20202020202020202020202020202020 -Ciphertext: F3E1FDA6B9C8314799F4654C29F1C690 -Test: Encrypt -Comment: Set 3, vector 33 -Key: 2121212121212121212121212121212121212121212121212121212121212121 -Plaintext: 21212121212121212121212121212121 -Ciphertext: 9BB8499B8631F6211D22DE555010E482 -Test: Encrypt -Comment: Set 3, vector 34 -Key: 2222222222222222222222222222222222222222222222222222222222222222 -Plaintext: 22222222222222222222222222222222 -Ciphertext: B098D857086ABC425B437BD63E8A53D2 -Test: Encrypt -Comment: Set 3, vector 35 -Key: 2323232323232323232323232323232323232323232323232323232323232323 -Plaintext: 23232323232323232323232323232323 -Ciphertext: F157E2B1298A205C7EF526F3E3196BF4 -Test: Encrypt -Comment: Set 3, vector 36 -Key: 2424242424242424242424242424242424242424242424242424242424242424 -Plaintext: 24242424242424242424242424242424 -Ciphertext: 91FE4F664ED2FE0097D8B95703694BBE -Test: Encrypt -Comment: Set 3, vector 37 -Key: 2525252525252525252525252525252525252525252525252525252525252525 -Plaintext: 25252525252525252525252525252525 -Ciphertext: 742EF3C2DC4490F7D1BDB3031137B6C1 -Test: Encrypt -Comment: Set 3, vector 38 -Key: 2626262626262626262626262626262626262626262626262626262626262626 -Plaintext: 26262626262626262626262626262626 -Ciphertext: 79302D9C8DBBBDAD7B8D8B9E7A60E42D -Test: Encrypt -Comment: Set 3, vector 39 -Key: 2727272727272727272727272727272727272727272727272727272727272727 -Plaintext: 27272727272727272727272727272727 -Ciphertext: 4F4DA48026B809452E7FFB1C3DAFBD99 -Test: Encrypt -Comment: Set 3, vector 40 -Key: 2828282828282828282828282828282828282828282828282828282828282828 -Plaintext: 28282828282828282828282828282828 -Ciphertext: 6D9DF175ED0DAFE550619CF8362B98E8 -Test: Encrypt -Comment: Set 3, vector 41 -Key: 2929292929292929292929292929292929292929292929292929292929292929 -Plaintext: 29292929292929292929292929292929 -Ciphertext: 5D4A406E3C89612AA89A9D38A80ECFEF -Test: Encrypt -Comment: Set 3, vector 42 -Key: 2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A -Plaintext: 2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A -Ciphertext: 51CE933AD1EB3117A129788D3D0B815A -Test: Encrypt -Comment: Set 3, vector 43 -Key: 2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B -Plaintext: 2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B -Ciphertext: DD39326230AC02767866ADE07AED1DAA -Test: Encrypt -Comment: Set 3, vector 44 -Key: 2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C -Plaintext: 2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C -Ciphertext: DC493BAD40D435273B18026DE5412278 -Test: Encrypt -Comment: Set 3, vector 45 -Key: 2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D -Plaintext: 2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D -Ciphertext: 8A61E9750E1DAC58C92F5E243CA7465B -Test: Encrypt -Comment: Set 3, vector 46 -Key: 2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E -Plaintext: 2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E -Ciphertext: 57A7641E6A7B61A86AFD7A23578DFBC5 -Test: Encrypt -Comment: Set 3, vector 47 -Key: 2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F -Plaintext: 2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F -Ciphertext: 019A8F9D38B4B92B077D08B025C15550 -Test: Encrypt -Comment: Set 3, vector 48 -Key: 3030303030303030303030303030303030303030303030303030303030303030 -Plaintext: 30303030303030303030303030303030 -Ciphertext: 9F6EEA9C215C273135C53A3F4208469E -Test: Encrypt -Comment: Set 3, vector 49 -Key: 3131313131313131313131313131313131313131313131313131313131313131 -Plaintext: 31313131313131313131313131313131 -Ciphertext: 7BF3D63D790CAB57EA8354B10FEBDE18 -Test: Encrypt -Comment: Set 3, vector 50 -Key: 3232323232323232323232323232323232323232323232323232323232323232 -Plaintext: 32323232323232323232323232323232 -Ciphertext: AB30751ED4052A1D916E50C4073DFCB5 -Test: Encrypt -Comment: Set 3, vector 51 -Key: 3333333333333333333333333333333333333333333333333333333333333333 -Plaintext: 33333333333333333333333333333333 -Ciphertext: C39180F205BBA8BEE9832BF56FCC75C0 -Test: Encrypt -Comment: Set 3, vector 52 -Key: 3434343434343434343434343434343434343434343434343434343434343434 -Plaintext: 34343434343434343434343434343434 -Ciphertext: 3BEDE5E09CB9CCFC8BE38F8378D49AE9 -Test: Encrypt -Comment: Set 3, vector 53 -Key: 3535353535353535353535353535353535353535353535353535353535353535 -Plaintext: 35353535353535353535353535353535 -Ciphertext: 448AE4ADF7070A8B8C4AB0FE7277E8D7 -Test: Encrypt -Comment: Set 3, vector 54 -Key: 3636363636363636363636363636363636363636363636363636363636363636 -Plaintext: 36363636363636363636363636363636 -Ciphertext: 095A361F2243FC39F4ECD94A5AC0F94A -Test: Encrypt -Comment: Set 3, vector 55 -Key: 3737373737373737373737373737373737373737373737373737373737373737 -Plaintext: 37373737373737373737373737373737 -Ciphertext: AD77D7D2A7F3AF5732CE5A51E83D7025 -Test: Encrypt -Comment: Set 3, vector 56 -Key: 3838383838383838383838383838383838383838383838383838383838383838 -Plaintext: 38383838383838383838383838383838 -Ciphertext: 930DA09C18DF5F6D072AA662CC8F7751 -Test: Encrypt -Comment: Set 3, vector 57 -Key: 3939393939393939393939393939393939393939393939393939393939393939 -Plaintext: 39393939393939393939393939393939 -Ciphertext: F3B3871B66FE8A1FA4AE2150EC8B7060 -Test: Encrypt -Comment: Set 3, vector 58 -Key: 3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A -Plaintext: 3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A -Ciphertext: 62DD93CFA7EFC223A822A6F754B6298D -Test: Encrypt -Comment: Set 3, vector 59 -Key: 3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B -Plaintext: 3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B -Ciphertext: C86A0377B3C45C2B1896829D7B0610F3 -Test: Encrypt -Comment: Set 3, vector 60 -Key: 3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C -Plaintext: 3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C -Ciphertext: 8CCFC961EBAB55C0ECB1B10EDEDD9C61 -Test: Encrypt -Comment: Set 3, vector 61 -Key: 3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D -Plaintext: 3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D -Ciphertext: D828E857BDBD6192300764A2084E0680 -Test: Encrypt -Comment: Set 3, vector 62 -Key: 3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E -Plaintext: 3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E -Ciphertext: 24C0DC84D72EA678201534CE8DC22A45 -Test: Encrypt -Comment: Set 3, vector 63 -Key: 3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F -Plaintext: 3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F -Ciphertext: D65F340A25D35E5D0B08C63FA44F9898 -Test: Encrypt -Comment: Set 3, vector 64 -Key: 4040404040404040404040404040404040404040404040404040404040404040 -Plaintext: 40404040404040404040404040404040 -Ciphertext: 4A30476F1141FBF303ED63FCD3CB0536 -Test: Encrypt -Comment: Set 3, vector 65 -Key: 4141414141414141414141414141414141414141414141414141414141414141 -Plaintext: 41414141414141414141414141414141 -Ciphertext: 78246080B38B5283960E0253E2FF6A5E -Test: Encrypt -Comment: Set 3, vector 66 -Key: 4242424242424242424242424242424242424242424242424242424242424242 -Plaintext: 42424242424242424242424242424242 -Ciphertext: 475E8388EE3D3EE111DD0E816B244DD2 -Test: Encrypt -Comment: Set 3, vector 67 -Key: 4343434343434343434343434343434343434343434343434343434343434343 -Plaintext: 43434343434343434343434343434343 -Ciphertext: D40D3FECE8B05875F2FCD23526CCD6B2 -Test: Encrypt -Comment: Set 3, vector 68 -Key: 4444444444444444444444444444444444444444444444444444444444444444 -Plaintext: 44444444444444444444444444444444 -Ciphertext: CD9846E1B120482E6B6D71C4F5D704FE -Test: Encrypt -Comment: Set 3, vector 69 -Key: 4545454545454545454545454545454545454545454545454545454545454545 -Plaintext: 45454545454545454545454545454545 -Ciphertext: E707C35474257CE52617B5889ECB974B -Test: Encrypt -Comment: Set 3, vector 70 -Key: 4646464646464646464646464646464646464646464646464646464646464646 -Plaintext: 46464646464646464646464646464646 -Ciphertext: 9A79D57FD89D938F4B4CACA52E8CB544 -Test: Encrypt -Comment: Set 3, vector 71 -Key: 4747474747474747474747474747474747474747474747474747474747474747 -Plaintext: 47474747474747474747474747474747 -Ciphertext: 34F9B98AC130F7E7B123ECBF8910735C -Test: Encrypt -Comment: Set 3, vector 72 -Key: 4848484848484848484848484848484848484848484848484848484848484848 -Plaintext: 48484848484848484848484848484848 -Ciphertext: BF75CC83FE76E8A15981DA738E5A8513 -Test: Encrypt -Comment: Set 3, vector 73 -Key: 4949494949494949494949494949494949494949494949494949494949494949 -Plaintext: 49494949494949494949494949494949 -Ciphertext: 4A452EFBE634441444FB50641CB2EFC1 -Test: Encrypt -Comment: Set 3, vector 74 -Key: 4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A -Plaintext: 4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A -Ciphertext: 3D5ED11F0C81E81BAB97B7148D67BA55 -Test: Encrypt -Comment: Set 3, vector 75 -Key: 4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B -Plaintext: 4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B -Ciphertext: DBBAE78B177C27954DEDBAD5D98E7BEE -Test: Encrypt -Comment: Set 3, vector 76 -Key: 4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C -Plaintext: 4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C -Ciphertext: F52D16EFC5DE991430F6E7D13983DEB8 -Test: Encrypt -Comment: Set 3, vector 77 -Key: 4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D -Plaintext: 4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D -Ciphertext: B6C98EBC320B3BDD927C2FE57F8180B5 -Test: Encrypt -Comment: Set 3, vector 78 -Key: 4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E -Plaintext: 4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E -Ciphertext: D510C35680C9B958C81599F3665FBEC1 -Test: Encrypt -Comment: Set 3, vector 79 -Key: 4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F -Plaintext: 4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F -Ciphertext: 72DAD08BF510CDFEEC76FEAB908829B4 -Test: Encrypt -Comment: Set 3, vector 80 -Key: 5050505050505050505050505050505050505050505050505050505050505050 -Plaintext: 50505050505050505050505050505050 -Ciphertext: AC7B447EDB38F935469309E766BCB1F6 -Test: Encrypt -Comment: Set 3, vector 81 -Key: 5151515151515151515151515151515151515151515151515151515151515151 -Plaintext: 51515151515151515151515151515151 -Ciphertext: 18B937F666BF580F9CDB60A935427459 -Test: Encrypt -Comment: Set 3, vector 82 -Key: 5252525252525252525252525252525252525252525252525252525252525252 -Plaintext: 52525252525252525252525252525252 -Ciphertext: 6A08B38202685E610CA9584725D6092A -Test: Encrypt -Comment: Set 3, vector 83 -Key: 5353535353535353535353535353535353535353535353535353535353535353 -Plaintext: 53535353535353535353535353535353 -Ciphertext: 1CA09E9C14C2A833A7B7ACB1C9C12AC1 -Test: Encrypt -Comment: Set 3, vector 84 -Key: 5454545454545454545454545454545454545454545454545454545454545454 -Plaintext: 54545454545454545454545454545454 -Ciphertext: 8AB7ED64FE477B7D9A6B5B5056EA1E02 -Test: Encrypt -Comment: Set 3, vector 85 -Key: 5555555555555555555555555555555555555555555555555555555555555555 -Plaintext: 55555555555555555555555555555555 -Ciphertext: D610D6199D4FE03ED09AD568664F709A -Test: Encrypt -Comment: Set 3, vector 86 -Key: 5656565656565656565656565656565656565656565656565656565656565656 -Plaintext: 56565656565656565656565656565656 -Ciphertext: D400C1E6109F04AE50C1C341BA4E3175 -Test: Encrypt -Comment: Set 3, vector 87 -Key: 5757575757575757575757575757575757575757575757575757575757575757 -Plaintext: 57575757575757575757575757575757 -Ciphertext: DF888CBB7DBD8DE3F0BE6C6EDC72060F -Test: Encrypt -Comment: Set 3, vector 88 -Key: 5858585858585858585858585858585858585858585858585858585858585858 -Plaintext: 58585858585858585858585858585858 -Ciphertext: 9C3B100466C63AA93D420EDF54381BF4 -Test: Encrypt -Comment: Set 3, vector 89 -Key: 5959595959595959595959595959595959595959595959595959595959595959 -Plaintext: 59595959595959595959595959595959 -Ciphertext: 0BE794F0233BE9A7DB7C41A1CA4BA7E3 -Test: Encrypt -Comment: Set 3, vector 90 -Key: 5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A -Plaintext: 5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A -Ciphertext: 2C8D04D6B9DA81D07174729A07F25BB9 -Test: Encrypt -Comment: Set 3, vector 91 -Key: 5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B -Plaintext: 5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B -Ciphertext: FFCEB69835E2E5EF4C867CE28540F91F -Test: Encrypt -Comment: Set 3, vector 92 -Key: 5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C -Plaintext: 5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C -Ciphertext: A7F7F8437918BEFF5DCFCFB366CDFABD -Test: Encrypt -Comment: Set 3, vector 93 -Key: 5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D -Plaintext: 5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D -Ciphertext: 14C9736F407AE78D7D3ED18B875B940D -Test: Encrypt -Comment: Set 3, vector 94 -Key: 5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E -Plaintext: 5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E -Ciphertext: 1668A0C6A5734B98D9D641E0B6FAD80C -Test: Encrypt -Comment: Set 3, vector 95 -Key: 5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F -Plaintext: 5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F -Ciphertext: DA8775267C9722BA743A085F8591F06D -Test: Encrypt -Comment: Set 3, vector 96 -Key: 6060606060606060606060606060606060606060606060606060606060606060 -Plaintext: 60606060606060606060606060606060 -Ciphertext: 5F8172C28603C80206C276E0979EA40E -Test: Encrypt -Comment: Set 3, vector 97 -Key: 6161616161616161616161616161616161616161616161616161616161616161 -Plaintext: 61616161616161616161616161616161 -Ciphertext: E4938D0078D29E0247BF2EA0C1FCB85F -Test: Encrypt -Comment: Set 3, vector 98 -Key: 6262626262626262626262626262626262626262626262626262626262626262 -Plaintext: 62626262626262626262626262626262 -Ciphertext: A48FEE4F9FA4597303C2CF92061304A1 -Test: Encrypt -Comment: Set 3, vector 99 -Key: 6363636363636363636363636363636363636363636363636363636363636363 -Plaintext: 63636363636363636363636363636363 -Ciphertext: 3C8F6CF66C73684DDB09D1AA57CD0950 -Test: Encrypt -Comment: Set 3, vector 100 -Key: 6464646464646464646464646464646464646464646464646464646464646464 -Plaintext: 64646464646464646464646464646464 -Ciphertext: B3D9EE0337253E9C4027FEA938AB399C -Test: Encrypt -Comment: Set 3, vector 101 -Key: 6565656565656565656565656565656565656565656565656565656565656565 -Plaintext: 65656565656565656565656565656565 -Ciphertext: 3BE933A85E5997573077903CEB481AFA -Test: Encrypt -Comment: Set 3, vector 102 -Key: 6666666666666666666666666666666666666666666666666666666666666666 -Plaintext: 66666666666666666666666666666666 -Ciphertext: 06AFED96C6E7130EB3311D81CCE69F9C -Test: Encrypt -Comment: Set 3, vector 103 -Key: 6767676767676767676767676767676767676767676767676767676767676767 -Plaintext: 67676767676767676767676767676767 -Ciphertext: 183C3606139211F90F4849E93DB7DDEE -Test: Encrypt -Comment: Set 3, vector 104 -Key: 6868686868686868686868686868686868686868686868686868686868686868 -Plaintext: 68686868686868686868686868686868 -Ciphertext: 217C34184950DE7B43E46EE4BE88A9BE -Test: Encrypt -Comment: Set 3, vector 105 -Key: 6969696969696969696969696969696969696969696969696969696969696969 -Plaintext: 69696969696969696969696969696969 -Ciphertext: CA447ED204F2A4B2ED6B82E3926967B1 -Test: Encrypt -Comment: Set 3, vector 106 -Key: 6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A -Plaintext: 6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A -Ciphertext: B447F4BEBA7D88A5C62E5F9C316A4523 -Test: Encrypt -Comment: Set 3, vector 107 -Key: 6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B -Plaintext: 6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B -Ciphertext: DEDF599C54D0009795303013CD933B49 -Test: Encrypt -Comment: Set 3, vector 108 -Key: 6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C -Plaintext: 6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C -Ciphertext: B06280650C77C83AF3D71874AE00D3DA -Test: Encrypt -Comment: Set 3, vector 109 -Key: 6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D -Plaintext: 6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D -Ciphertext: 1BB5B9E9C7DC8AD690F5FC217B7B53C1 -Test: Encrypt -Comment: Set 3, vector 110 -Key: 6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E -Plaintext: 6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E -Ciphertext: FEECFCF0C172C6152F33E4DEE206EBCF -Test: Encrypt -Comment: Set 3, vector 111 -Key: 6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F -Plaintext: 6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F -Ciphertext: FA4C7EA42C425F37588CD273320940C9 -Test: Encrypt -Comment: Set 3, vector 112 -Key: 7070707070707070707070707070707070707070707070707070707070707070 -Plaintext: 70707070707070707070707070707070 -Ciphertext: 563AE5884FC374C4E45B96A6431E51E3 -Test: Encrypt -Comment: Set 3, vector 113 -Key: 7171717171717171717171717171717171717171717171717171717171717171 -Plaintext: 71717171717171717171717171717171 -Ciphertext: 0669E609578A33DBE637C5B86C7F425D -Test: Encrypt -Comment: Set 3, vector 114 -Key: 7272727272727272727272727272727272727272727272727272727272727272 -Plaintext: 72727272727272727272727272727272 -Ciphertext: B2AD99D3941924DDD2A73C4725A08EC3 -Test: Encrypt -Comment: Set 3, vector 115 -Key: 7373737373737373737373737373737373737373737373737373737373737373 -Plaintext: 73737373737373737373737373737373 -Ciphertext: 72C8239B5F4E5319EE05B6E39C9BD336 -Test: Encrypt -Comment: Set 3, vector 116 -Key: 7474747474747474747474747474747474747474747474747474747474747474 -Plaintext: 74747474747474747474747474747474 -Ciphertext: BAD014C4B0A5734AA48E7E80A42E80AF -Test: Encrypt -Comment: Set 3, vector 117 -Key: 7575757575757575757575757575757575757575757575757575757575757575 -Plaintext: 75757575757575757575757575757575 -Ciphertext: BBE294CDB3582B3C1F61ACD43A0E5DB5 -Test: Encrypt -Comment: Set 3, vector 118 -Key: 7676767676767676767676767676767676767676767676767676767676767676 -Plaintext: 76767676767676767676767676767676 -Ciphertext: C231DC35D38F5857BD3449D3E0A1EF1F -Test: Encrypt -Comment: Set 3, vector 119 -Key: 7777777777777777777777777777777777777777777777777777777777777777 -Plaintext: 77777777777777777777777777777777 -Ciphertext: B19E0BACBF3EC295AA6F99B0817B99F3 -Test: Encrypt -Comment: Set 3, vector 120 -Key: 7878787878787878787878787878787878787878787878787878787878787878 -Plaintext: 78787878787878787878787878787878 -Ciphertext: 0E81D1133E74F1A9425237377890584C -Test: Encrypt -Comment: Set 3, vector 121 -Key: 7979797979797979797979797979797979797979797979797979797979797979 -Plaintext: 79797979797979797979797979797979 -Ciphertext: E1149AA17A8B6499E0FA5C45F05D6582 -Test: Encrypt -Comment: Set 3, vector 122 -Key: 7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A -Plaintext: 7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A -Ciphertext: D9208954D8D28335E6F45FFB9D1B92D4 -Test: Encrypt -Comment: Set 3, vector 123 -Key: 7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B -Plaintext: 7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B -Ciphertext: DFABDB0594208A2902703E85C4A657FF -Test: Encrypt -Comment: Set 3, vector 124 -Key: 7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C -Plaintext: 7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C -Ciphertext: E05B6C6E90E852229BF0EFDC4FEB851E -Test: Encrypt -Comment: Set 3, vector 125 -Key: 7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D -Plaintext: 7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D -Ciphertext: 6834CCFDC940452CF40A0866009E58CC -Test: Encrypt -Comment: Set 3, vector 126 -Key: 7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E -Plaintext: 7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E -Ciphertext: 91449066A1966246636D9085E02002B0 -Test: Encrypt -Comment: Set 3, vector 127 -Key: 7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F -Plaintext: 7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F -Ciphertext: 235C2D836B2025CCCDAE4B26264132E2 -Test: Encrypt -Comment: Set 3, vector 128 -Key: 8080808080808080808080808080808080808080808080808080808080808080 -Plaintext: 80808080808080808080808080808080 -Ciphertext: 0C765AA494E048FC8BB23139F2124CB6 -Test: Encrypt -Comment: Set 3, vector 129 -Key: 8181818181818181818181818181818181818181818181818181818181818181 -Plaintext: 81818181818181818181818181818181 -Ciphertext: ED970D660C84642D0EAFF188F55CC33C -Test: Encrypt -Comment: Set 3, vector 130 -Key: 8282828282828282828282828282828282828282828282828282828282828282 -Plaintext: 82828282828282828282828282828282 -Ciphertext: E124EB4A8BE05CA633238DD69E81E057 -Test: Encrypt -Comment: Set 3, vector 131 -Key: 8383838383838383838383838383838383838383838383838383838383838383 -Plaintext: 83838383838383838383838383838383 -Ciphertext: 4653FBDD6CA7C13CE2DF31B1279B3D5A -Test: Encrypt -Comment: Set 3, vector 132 -Key: 8484848484848484848484848484848484848484848484848484848484848484 -Plaintext: 84848484848484848484848484848484 -Ciphertext: 2D4D87CFB763C3974CEBF6AE1C6269D4 -Test: Encrypt -Comment: Set 3, vector 133 -Key: 8585858585858585858585858585858585858585858585858585858585858585 -Plaintext: 85858585858585858585858585858585 -Ciphertext: F153B13F57F1AE16186EF3B1E98549B8 -Test: Encrypt -Comment: Set 3, vector 134 -Key: 8686868686868686868686868686868686868686868686868686868686868686 -Plaintext: 86868686868686868686868686868686 -Ciphertext: 5451DB2B141B894B4892C7F12BE3F389 -Test: Encrypt -Comment: Set 3, vector 135 -Key: 8787878787878787878787878787878787878787878787878787878787878787 -Plaintext: 87878787878787878787878787878787 -Ciphertext: 61B2185653CFF14EE873DBD3CB663E79 -Test: Encrypt -Comment: Set 3, vector 136 -Key: 8888888888888888888888888888888888888888888888888888888888888888 -Plaintext: 88888888888888888888888888888888 -Ciphertext: C17ACB243808B86349D4176EECF602DF -Test: Encrypt -Comment: Set 3, vector 137 -Key: 8989898989898989898989898989898989898989898989898989898989898989 -Plaintext: 89898989898989898989898989898989 -Ciphertext: 6FCE3ED2207D58A5976FE8B20B247275 -Test: Encrypt -Comment: Set 3, vector 138 -Key: 8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A -Plaintext: 8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A -Ciphertext: 403F73CC70C7F9A5E96CD77D61140961 -Test: Encrypt -Comment: Set 3, vector 139 -Key: 8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B -Plaintext: 8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B -Ciphertext: DE2B34DECB33550C97D6C074032F3333 -Test: Encrypt -Comment: Set 3, vector 140 -Key: 8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C -Plaintext: 8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C -Ciphertext: FB395AE4F537F8FB7C98BAD54BDB86A0 -Test: Encrypt -Comment: Set 3, vector 141 -Key: 8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D -Plaintext: 8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D -Ciphertext: 258E83BB639D0BEDE648F3AF96CC8E75 -Test: Encrypt -Comment: Set 3, vector 142 -Key: 8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E -Plaintext: 8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E -Ciphertext: A1B5E73720E43FA0871EAAE245B55A0E -Test: Encrypt -Comment: Set 3, vector 143 -Key: 8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F -Plaintext: 8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F -Ciphertext: 774A9ABE1FAB9E3B85A91C0F86758B0E -Test: Encrypt -Comment: Set 3, vector 144 -Key: 9090909090909090909090909090909090909090909090909090909090909090 -Plaintext: 90909090909090909090909090909090 -Ciphertext: 0A6EC1CF2056076933259AE6A337B185 -Test: Encrypt -Comment: Set 3, vector 145 -Key: 9191919191919191919191919191919191919191919191919191919191919191 -Plaintext: 91919191919191919191919191919191 -Ciphertext: C96729F87D62104F941DC21448756F95 -Test: Encrypt -Comment: Set 3, vector 146 -Key: 9292929292929292929292929292929292929292929292929292929292929292 -Plaintext: 92929292929292929292929292929292 -Ciphertext: 1CB85A610C2250A78143A31BB1C19094 -Test: Encrypt -Comment: Set 3, vector 147 -Key: 9393939393939393939393939393939393939393939393939393939393939393 -Plaintext: 93939393939393939393939393939393 -Ciphertext: 16194ABEDEA340C6D57E4C4F50640FBE -Test: Encrypt -Comment: Set 3, vector 148 -Key: 9494949494949494949494949494949494949494949494949494949494949494 -Plaintext: 94949494949494949494949494949494 -Ciphertext: 379A5A54C198FB03178EE841D67F3502 -Test: Encrypt -Comment: Set 3, vector 149 -Key: 9595959595959595959595959595959595959595959595959595959595959595 -Plaintext: 95959595959595959595959595959595 -Ciphertext: A25119AD8A0F6654ECDB2696CF4F8225 -Test: Encrypt -Comment: Set 3, vector 150 -Key: 9696969696969696969696969696969696969696969696969696969696969696 -Plaintext: 96969696969696969696969696969696 -Ciphertext: 264B7FAAD26DEC203D0DE29CE4F0F45B -Test: Encrypt -Comment: Set 3, vector 151 -Key: 9797979797979797979797979797979797979797979797979797979797979797 -Plaintext: 97979797979797979797979797979797 -Ciphertext: 2EBD2A2CD16284D206D81ACF18122E2E -Test: Encrypt -Comment: Set 3, vector 152 -Key: 9898989898989898989898989898989898989898989898989898989898989898 -Plaintext: 98989898989898989898989898989898 -Ciphertext: 25FB2B75B6915C0543412DF9EBD20FC3 -Test: Encrypt -Comment: Set 3, vector 153 -Key: 9999999999999999999999999999999999999999999999999999999999999999 -Plaintext: 99999999999999999999999999999999 -Ciphertext: 21B89B53845A828E0A14F4AE45940284 -Test: Encrypt -Comment: Set 3, vector 154 -Key: 9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A -Plaintext: 9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A -Ciphertext: 4CE809A241E8E59E231F2D00BE0EA285 -Test: Encrypt -Comment: Set 3, vector 155 -Key: 9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B -Plaintext: 9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B -Ciphertext: F914E06D9F7889DC71974DFF104F94D4 -Test: Encrypt -Comment: Set 3, vector 156 -Key: 9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C -Plaintext: 9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C -Ciphertext: AF08BADB48FF961FD5EB663FA3766FC6 -Test: Encrypt -Comment: Set 3, vector 157 -Key: 9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D -Plaintext: 9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D -Ciphertext: 05DDDE95AE659D6BBBD2B4E394399B53 -Test: Encrypt -Comment: Set 3, vector 158 -Key: 9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E -Plaintext: 9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E -Ciphertext: 25E6FE1C89F811D827BDF8D4E977071C -Test: Encrypt -Comment: Set 3, vector 159 -Key: 9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F -Plaintext: 9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F -Ciphertext: 3D00A9143A1829D05F787A904C48C75B -Test: Encrypt -Comment: Set 3, vector 160 -Key: A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0 -Plaintext: A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0 -Ciphertext: 391DF944B0E0BCB84483AF5C4F34D754 -Test: Encrypt -Comment: Set 3, vector 161 -Key: A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1 -Plaintext: A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1 -Ciphertext: BB2D2E556210A7C0EBA3165F63A74967 -Test: Encrypt -Comment: Set 3, vector 162 -Key: A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2 -Plaintext: A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2 -Ciphertext: A1B0BB24291B259AC4A1CDE9A3B817C9 -Test: Encrypt -Comment: Set 3, vector 163 -Key: A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3 -Plaintext: A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3 -Ciphertext: 6F798763B6ED7F8BB234D2CA78D026DC -Test: Encrypt -Comment: Set 3, vector 164 -Key: A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4 -Plaintext: A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4 -Ciphertext: 038443760056AB3D23BC70ECE6FB4397 -Test: Encrypt -Comment: Set 3, vector 165 -Key: A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5 -Plaintext: A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5 -Ciphertext: C75ECE40A7AE9BB38F604615C873EF02 -Test: Encrypt -Comment: Set 3, vector 166 -Key: A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6 -Plaintext: A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6 -Ciphertext: 2D308C2078842EDBBB35ABCA3F41E467 -Test: Encrypt -Comment: Set 3, vector 167 -Key: A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7 -Plaintext: A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7 -Ciphertext: 393C0E3350B3219DD8FD851C48E28C63 -Test: Encrypt -Comment: Set 3, vector 168 -Key: A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8 -Plaintext: A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8 -Ciphertext: 964BD4A28DB1434570E27FB3AD880398 -Test: Encrypt -Comment: Set 3, vector 169 -Key: A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9 -Plaintext: A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9 -Ciphertext: B668D17C027B550C0C22BDE151EB6EB1 -Test: Encrypt -Comment: Set 3, vector 170 -Key: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -Plaintext: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -Ciphertext: E14186F8205957B243CE522C16453621 -Test: Encrypt -Comment: Set 3, vector 171 -Key: ABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABAB -Plaintext: ABABABABABABABABABABABABABABABAB -Ciphertext: 0E352BEB6B6BCAFDAE61BBE86F8F1D0E -Test: Encrypt -Comment: Set 3, vector 172 -Key: ACACACACACACACACACACACACACACACACACACACACACACACACACACACACACACACAC -Plaintext: ACACACACACACACACACACACACACACACAC -Ciphertext: 4BCF038D9458EAAA3D279CCAC3F5D693 -Test: Encrypt -Comment: Set 3, vector 173 -Key: ADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADAD -Plaintext: ADADADADADADADADADADADADADADADAD -Ciphertext: D5EF17646A481C3B79AAB3C08B4F1611 -Test: Encrypt -Comment: Set 3, vector 174 -Key: AEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAE -Plaintext: AEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAE -Ciphertext: 37642DA589775C2FFA40A7274E9D56E2 -Test: Encrypt -Comment: Set 3, vector 175 -Key: AFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAF -Plaintext: AFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAF -Ciphertext: F829FA6B756F1B1D16B49CB7C8AFFA22 -Test: Encrypt -Comment: Set 3, vector 176 -Key: B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0 -Plaintext: B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0 -Ciphertext: 6FE1450D48D611031E81C70478DB5326 -Test: Encrypt -Comment: Set 3, vector 177 -Key: B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1 -Plaintext: B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1 -Ciphertext: 68C5ECE7F525F69DABF63288533C5C60 -Test: Encrypt -Comment: Set 3, vector 178 -Key: B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2 -Plaintext: B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2 -Ciphertext: 5DF627500627E59A5BAB5D30B6C93219 -Test: Encrypt -Comment: Set 3, vector 179 -Key: B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3 -Plaintext: B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3 -Ciphertext: AD3A4AC8F666C0FCA5D7995783D0986D -Test: Encrypt -Comment: Set 3, vector 180 -Key: B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4 -Plaintext: B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4 -Ciphertext: A3AEE54D09357B187622109296534F88 -Test: Encrypt -Comment: Set 3, vector 181 -Key: B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5 -Plaintext: B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5 -Ciphertext: 7D1D9A73DB386A717862C4F5089970E1 -Test: Encrypt -Comment: Set 3, vector 182 -Key: B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6 -Plaintext: B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6 -Ciphertext: 916347935FBD0D868A0127D602B91BD5 -Test: Encrypt -Comment: Set 3, vector 183 -Key: B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7 -Plaintext: B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7 -Ciphertext: 4F167893651993D9150ED9E0B780BF82 -Test: Encrypt -Comment: Set 3, vector 184 -Key: B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8 -Plaintext: B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8 -Ciphertext: 488352470ACF9361F22FAC1B3ED67003 -Test: Encrypt -Comment: Set 3, vector 185 -Key: B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9 -Plaintext: B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9 -Ciphertext: 4BBD307FCDE0F89C9A663A0F9C9358C5 -Test: Encrypt -Comment: Set 3, vector 186 -Key: BABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABA -Plaintext: BABABABABABABABABABABABABABABABA -Ciphertext: E402E706D262078113D6626E7071589E -Test: Encrypt -Comment: Set 3, vector 187 -Key: BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB -Plaintext: BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB -Ciphertext: 422D6FA4519F2E72420685CD4ED2CC8E -Test: Encrypt -Comment: Set 3, vector 188 -Key: BCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBC -Plaintext: BCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBC -Ciphertext: 6D14CC5F618DF7E0B2210F6C5DD62C92 -Test: Encrypt -Comment: Set 3, vector 189 -Key: BDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBD -Plaintext: BDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBD -Ciphertext: 5CC4A5E81F7D7EC528C150437AC2B027 -Test: Encrypt -Comment: Set 3, vector 190 -Key: BEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBE -Plaintext: BEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBE -Ciphertext: B3BE0F996494323504946446EDE489FC -Test: Encrypt -Comment: Set 3, vector 191 -Key: BFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBF -Plaintext: BFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBF -Ciphertext: ABC7DB10FE04BEE94F5887E539C1D235 -Test: Encrypt -Comment: Set 3, vector 192 -Key: C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0 -Plaintext: C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0 -Ciphertext: B18BE6FB1D04E76F21C0678A4333D255 -Test: Encrypt -Comment: Set 3, vector 193 -Key: C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1 -Plaintext: C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1 -Ciphertext: FC5802BAFEDC03088BBA0A5F22402968 -Test: Encrypt -Comment: Set 3, vector 194 -Key: C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2 -Plaintext: C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2 -Ciphertext: 8EA96801643AE7BF649EAC22812214D5 -Test: Encrypt -Comment: Set 3, vector 195 -Key: C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3 -Plaintext: C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3 -Ciphertext: F7683FCDDC2BB0BCFD1350F8E3D76602 -Test: Encrypt -Comment: Set 3, vector 196 -Key: C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4 -Plaintext: C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4 -Ciphertext: 08D0345431AE120CAD6C6D4275E00CA8 -Test: Encrypt -Comment: Set 3, vector 197 -Key: C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5 -Plaintext: C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5 -Ciphertext: 7CD50A623DA79EC84D61CD7FBDBA4153 -Test: Encrypt -Comment: Set 3, vector 198 -Key: C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6 -Plaintext: C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6 -Ciphertext: 42ACA2B048E5C58D8F004F0E8A2C6DEF -Test: Encrypt -Comment: Set 3, vector 199 -Key: C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7 -Plaintext: C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7 -Ciphertext: E03AD353225F76121D130740C75B839B -Test: Encrypt -Comment: Set 3, vector 200 -Key: C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8 -Plaintext: C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8 -Ciphertext: 26807D0A6D6330A77804B4B1AE84432B -Test: Encrypt -Comment: Set 3, vector 201 -Key: C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9 -Plaintext: C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9 -Ciphertext: 864CE880AE89660474F64B93AF4CE043 -Test: Encrypt -Comment: Set 3, vector 202 -Key: CACACACACACACACACACACACACACACACACACACACACACACACACACACACACACACACA -Plaintext: CACACACACACACACACACACACACACACACA -Ciphertext: 82EAD2C033986CAC1F4C3EEEEA1D1892 -Test: Encrypt -Comment: Set 3, vector 203 -Key: CBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCB -Plaintext: CBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCB -Ciphertext: 53F1A5C39DD062DF8D133B3A0FB3DA02 -Test: Encrypt -Comment: Set 3, vector 204 -Key: CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC -Plaintext: CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC -Ciphertext: E913208594B288125EEAE0EFEC764D39 -Test: Encrypt -Comment: Set 3, vector 205 -Key: CDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCD -Plaintext: CDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCD -Ciphertext: 7DAE4BD638A36A794A73E9B945BEF4D4 -Test: Encrypt -Comment: Set 3, vector 206 -Key: CECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECE -Plaintext: CECECECECECECECECECECECECECECECE -Ciphertext: 04E8155E3E81C261D3A9D4A800182A62 -Test: Encrypt -Comment: Set 3, vector 207 -Key: CFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCF -Plaintext: CFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCF -Ciphertext: F466172A8C4C7854F59388474098F441 -Test: Encrypt -Comment: Set 3, vector 208 -Key: D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0 -Plaintext: D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0 -Ciphertext: E95DBB0B366E77D7BC1BF206B95DAEBA -Test: Encrypt -Comment: Set 3, vector 209 -Key: D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1 -Plaintext: D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1 -Ciphertext: 76490E6DD8380855E26BCACF8746978F -Test: Encrypt -Comment: Set 3, vector 210 -Key: D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2 -Plaintext: D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2 -Ciphertext: 3C3B73C8FBDA8CAE5E0D7D0070735DA1 -Test: Encrypt -Comment: Set 3, vector 211 -Key: D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3 -Plaintext: D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3 -Ciphertext: B039EBC9C48828C3913A3BC346CAEAE3 -Test: Encrypt -Comment: Set 3, vector 212 -Key: D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4 -Plaintext: D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4 -Ciphertext: 0AFCC6A58BD3ADB2C0B2A1586C9FA8DE -Test: Encrypt -Comment: Set 3, vector 213 -Key: D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5 -Plaintext: D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5 -Ciphertext: C2187D0E74CE2307BC4DF249EA6E57F1 -Test: Encrypt -Comment: Set 3, vector 214 -Key: D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6 -Plaintext: D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6 -Ciphertext: F3F4AEA2492106A45C12D0029F58ACE1 -Test: Encrypt -Comment: Set 3, vector 215 -Key: D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7 -Plaintext: D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7 -Ciphertext: 3FFADF96B37B67D62D71387C52C41AE9 -Test: Encrypt -Comment: Set 3, vector 216 -Key: D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8 -Plaintext: D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8 -Ciphertext: 4C1644AD69F7D0D3A1E2B4B0E7F0A592 -Test: Encrypt -Comment: Set 3, vector 217 -Key: D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9 -Plaintext: D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9 -Ciphertext: 68FD6F6592AE5BD9245FA959FE1CA849 -Test: Encrypt -Comment: Set 3, vector 218 -Key: DADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADA -Plaintext: DADADADADADADADADADADADADADADADA -Ciphertext: 7AB97B70C2CCC7D0D1AA7A6D8B7C48CA -Test: Encrypt -Comment: Set 3, vector 219 -Key: DBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDB -Plaintext: DBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDB -Ciphertext: 961BF9E037E303B9B494C2EE063FC4CC -Test: Encrypt -Comment: Set 3, vector 220 -Key: DCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDC -Plaintext: DCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDC -Ciphertext: 0FBF042B227603DB4A1CC8EE62E93DF3 -Test: Encrypt -Comment: Set 3, vector 221 -Key: DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD -Plaintext: DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD -Ciphertext: 71360ED44C9FAF8F1139D31252A35F49 -Test: Encrypt -Comment: Set 3, vector 222 -Key: DEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDE -Plaintext: DEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDE -Ciphertext: 5E806BD29351AE456549E73B8DDC0026 -Test: Encrypt -Comment: Set 3, vector 223 -Key: DFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDF -Plaintext: DFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDF -Ciphertext: C7908A288B86C1C4FCE5A8A59457EFD3 -Test: Encrypt -Comment: Set 3, vector 224 -Key: E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0 -Plaintext: E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0 -Ciphertext: AAC45B53F6292082B93F949BD77E5776 -Test: Encrypt -Comment: Set 3, vector 225 -Key: E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1 -Plaintext: E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1 -Ciphertext: 231150ED4D85B4217B3EFC3E71A522C6 -Test: Encrypt -Comment: Set 3, vector 226 -Key: E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2 -Plaintext: E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2 -Ciphertext: 639D9C5EEC8D9569C6DF24630CA8257D -Test: Encrypt -Comment: Set 3, vector 227 -Key: E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3 -Plaintext: E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3 -Ciphertext: 0E7F8C538946D87A01AD49A8CC981B58 -Test: Encrypt -Comment: Set 3, vector 228 -Key: E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4 -Plaintext: E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4 -Ciphertext: 09A293907E499502D78569230D3F1A97 -Test: Encrypt -Comment: Set 3, vector 229 -Key: E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -Plaintext: E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -Ciphertext: ACF67CC086E386DA064EDBF97F7E889A -Test: Encrypt -Comment: Set 3, vector 230 -Key: E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6 -Plaintext: E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6 -Ciphertext: E7C44DB1A9FCAC410253A7E2674C54F6 -Test: Encrypt -Comment: Set 3, vector 231 -Key: E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7 -Plaintext: E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7 -Ciphertext: B99BA33ECB86DA790FF0CC4F0D41A065 -Test: Encrypt -Comment: Set 3, vector 232 -Key: E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8 -Plaintext: E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8 -Ciphertext: 73405114FDBDB81B1A54C4EFED1BB3FE -Test: Encrypt -Comment: Set 3, vector 233 -Key: E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9 -Plaintext: E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9 -Ciphertext: 80152E139834B3CC01EBF7E6417C5537 -Test: Encrypt -Comment: Set 3, vector 234 -Key: EAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEA -Plaintext: EAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEA -Ciphertext: 05CE579D4804FF3C7874571730D81CEC -Test: Encrypt -Comment: Set 3, vector 235 -Key: EBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEB -Plaintext: EBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEB -Ciphertext: F984801E7A806A130325E152DF60012E -Test: Encrypt -Comment: Set 3, vector 236 -Key: ECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECEC -Plaintext: ECECECECECECECECECECECECECECECEC -Ciphertext: 92CBB121474A307505425B4DD1B7F803 -Test: Encrypt -Comment: Set 3, vector 237 -Key: EDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDED -Plaintext: EDEDEDEDEDEDEDEDEDEDEDEDEDEDEDED -Ciphertext: 2DEB2F282D60EFCDB300EADB15C798D8 -Test: Encrypt -Comment: Set 3, vector 238 -Key: EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE -Plaintext: EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE -Ciphertext: 0F4D7D59B535E29D315D2A5C7BFE4973 -Test: Encrypt -Comment: Set 3, vector 239 -Key: EFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEF -Plaintext: EFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEF -Ciphertext: 61E391F7C29B5AD705121CF9559E5C04 -Test: Encrypt -Comment: Set 3, vector 240 -Key: F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0 -Plaintext: F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0 -Ciphertext: 65BCBE179D19A5BCF12D141A21E0F7A8 -Test: Encrypt -Comment: Set 3, vector 241 -Key: F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1 -Plaintext: F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1 -Ciphertext: FDB75C659B72AE81E51204CFCB86E631 -Test: Encrypt -Comment: Set 3, vector 242 -Key: F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2 -Plaintext: F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2 -Ciphertext: 5643ED3A3679B9E33E21CD0F95580877 -Test: Encrypt -Comment: Set 3, vector 243 -Key: F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3 -Plaintext: F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3 -Ciphertext: 618EFEB4C6E4270B81FF7DE786E68420 -Test: Encrypt -Comment: Set 3, vector 244 -Key: F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4 -Plaintext: F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4 -Ciphertext: 75A2A9CC91F006059CA873E5D73C2CCC -Test: Encrypt -Comment: Set 3, vector 245 -Key: F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5 -Plaintext: F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5 -Ciphertext: B55840B5001D1875C29A56EDFDE10E55 -Test: Encrypt -Comment: Set 3, vector 246 -Key: F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6 -Plaintext: F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6 -Ciphertext: 6DD9BDEA7EC0E622DE8B83460BDEA719 -Test: Encrypt -Comment: Set 3, vector 247 -Key: F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7 -Plaintext: F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7 -Ciphertext: D164075BD4CDC95288D896C7CC98285D -Test: Encrypt -Comment: Set 3, vector 248 -Key: F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8 -Plaintext: F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8 -Ciphertext: 8420071C55241802D88FB7AF17EBE43F -Test: Encrypt -Comment: Set 3, vector 249 -Key: F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9 -Plaintext: F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9 -Ciphertext: 03D1D5646E4B2B8A924AB242E485C5D1 -Test: Encrypt -Comment: Set 3, vector 250 -Key: FAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFA -Plaintext: FAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFA -Ciphertext: 29106DFB63F4CD6EF5D82CF07C0DBB3A -Test: Encrypt -Comment: Set 3, vector 251 -Key: FBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFB -Plaintext: FBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFB -Ciphertext: E9DC1CDD5011E00E0C5699201E1EA002 -Test: Encrypt -Comment: Set 3, vector 252 -Key: FCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFC -Plaintext: FCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFC -Ciphertext: 8006C8BD5B210F2FC5B3538F66A6BE0B -Test: Encrypt -Comment: Set 3, vector 253 -Key: FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD -Plaintext: FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD -Ciphertext: 2C6386229480E806D0CD21CDA0EA6B53 -Test: Encrypt -Comment: Set 3, vector 254 -Key: FEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFE -Plaintext: FEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFE -Ciphertext: ACDBB0F5A00E3CF63A89D9C09B44A058 -Test: Encrypt -Comment: Set 3, vector 255 -Key: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -Plaintext: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -Ciphertext: 4F05F28CA23EEAE205B67B1C95CD5280 -Test: Encrypt +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: 0000000000000800000000000000000000000000000000000000000000000000 +Plaintext: 00000000000000000000000000000000 +Ciphertext: D89A97957F1979C63459A385E21B4A84 +Test: Encrypt +Comment: Set 1, vector 53 +Key: 0000000000000400000000000000000000000000000000000000000000000000 +Plaintext: 00000000000000000000000000000000 +Ciphertext: 39A6615147FF571F2FABAD5BE9800A10 +Test: Encrypt +Comment: Set 1, vector 54 +Key: 0000000000000200000000000000000000000000000000000000000000000000 +Plaintext: 00000000000000000000000000000000 +Ciphertext: E18B0CB1980124504B46A46A6F4273F3 +Test: Encrypt +Comment: Set 1, vector 55 +Key: 0000000000000100000000000000000000000000000000000000000000000000 +Plaintext: 00000000000000000000000000000000 +Ciphertext: 1E13C8034ED53FD4E3F433E1CF4B5CE1 +Test: Encrypt +Comment: Set 1, vector 56 +Key: 0000000000000080000000000000000000000000000000000000000000000000 +Plaintext: 00000000000000000000000000000000 +Ciphertext: 71FA53EAADBA0C9BCF86A3071408966D +Test: Encrypt +Comment: Set 1, vector 57 +Key: 0000000000000040000000000000000000000000000000000000000000000000 +Plaintext: 00000000000000000000000000000000 +Ciphertext: E50502EC84BB024C7466FE225C7FD8BA +Test: Encrypt +Comment: Set 1, vector 58 +Key: 0000000000000020000000000000000000000000000000000000000000000000 +Plaintext: 00000000000000000000000000000000 +Ciphertext: DEB33581D79C9D4294E315998377BCBF +Test: Encrypt +Comment: Set 1, vector 59 +Key: 0000000000000010000000000000000000000000000000000000000000000000 +Plaintext: 00000000000000000000000000000000 +Ciphertext: A713C2503CE44A04C9108FA160659945 +Test: Encrypt +Comment: Set 1, vector 60 +Key: 0000000000000008000000000000000000000000000000000000000000000000 +Plaintext: 00000000000000000000000000000000 +Ciphertext: 520E9E8DB8A67601B02E369916FAB8CC +Test: Encrypt +Comment: Set 1, vector 61 +Key: 0000000000000004000000000000000000000000000000000000000000000000 +Plaintext: 00000000000000000000000000000000 +Ciphertext: 8FDC11B74D17D79C6B2DFF2D6A561258 +Test: Encrypt +Comment: Set 1, vector 62 +Key: 0000000000000002000000000000000000000000000000000000000000000000 +Plaintext: 00000000000000000000000000000000 +Ciphertext: 3EA497AD2FC8F2587EFAA7D49121F26C +Test: Encrypt +Comment: Set 1, vector 63 +Key: 0000000000000001000000000000000000000000000000000000000000000000 +Plaintext: 00000000000000000000000000000000 +Ciphertext: 3340905F7413C979E5AED11D71B9294E +Test: Encrypt +Comment: Set 1, vector 64 +Key: 0000000000000000800000000000000000000000000000000000000000000000 +Plaintext: 00000000000000000000000000000000 +Ciphertext: 067FAC22E16205FF209B1760ABDE0565 +Test: Encrypt +Comment: Set 1, vector 65 +Key: 0000000000000000400000000000000000000000000000000000000000000000 +Plaintext: 00000000000000000000000000000000 +Ciphertext: BECA010BAB7BDD7E8A8084DA9853A0F4 +Test: Encrypt +Comment: Set 1, vector 66 +Key: 0000000000000000200000000000000000000000000000000000000000000000 +Plaintext: 00000000000000000000000000000000 +Ciphertext: 146F5A4A7B2880F5AF57333C7F129028 +Test: Encrypt +Comment: Set 1, vector 67 +Key: 0000000000000000100000000000000000000000000000000000000000000000 +Plaintext: 00000000000000000000000000000000 +Ciphertext: F773C1BD724955109A8B4EA3DA1C2197 +Test: Encrypt +Comment: Set 1, vector 68 +Key: 0000000000000000080000000000000000000000000000000000000000000000 +Plaintext: 00000000000000000000000000000000 +Ciphertext: B427EFAC8C656AB6F4DF7F420A177B8E +Test: Encrypt +Comment: Set 1, vector 69 +Key: 0000000000000000040000000000000000000000000000000000000000000000 +Plaintext: 00000000000000000000000000000000 +Ciphertext: B3D1BDB29010DB5FC81B66E2F7189D54 +Test: Encrypt +Comment: Set 1, vector 70 +Key: 0000000000000000020000000000000000000000000000000000000000000000 +Plaintext: 00000000000000000000000000000000 +Ciphertext: 676EEA415693F303ACF5CD84C50816AB +Test: Encrypt +Comment: Set 1, vector 71 +Key: 0000000000000000010000000000000000000000000000000000000000000000 +Plaintext: 00000000000000000000000000000000 +Ciphertext: BA21C564E52961DEB4B3A3CA9E0B70EF +Test: Encrypt +Comment: Set 1, vector 72 +Key: 0000000000000000008000000000000000000000000000000000000000000000 +Plaintext: 00000000000000000000000000000000 +Ciphertext: A60FB5DBD17EA92E303492E3F54D0BF2 +Test: Encrypt +Comment: Set 1, vector 73 +Key: 0000000000000000004000000000000000000000000000000000000000000000 +Plaintext: 00000000000000000000000000000000 +Ciphertext: F4F5A0540107D66F32FB289B14EF4299 +Test: Encrypt +Comment: Set 1, vector 74 +Key: 0000000000000000002000000000000000000000000000000000000000000000 +Plaintext: 00000000000000000000000000000000 +Ciphertext: 8D9B4A19F391175CF7DA42FEF313EDD8 +Test: Encrypt +Comment: Set 1, vector 75 +Key: 0000000000000000001000000000000000000000000000000000000000000000 +Plaintext: 00000000000000000000000000000000 +Ciphertext: B0AFAB0183A9FC69DA8BBE9B8FAF653A +Test: Encrypt +Comment: Set 1, vector 76 +Key: 0000000000000000000800000000000000000000000000000000000000000000 +Plaintext: 00000000000000000000000000000000 +Ciphertext: 68FFD91FD5AD1F1AC176D639694FEA29 +Test: Encrypt +Comment: Set 1, vector 77 +Key: 0000000000000000000400000000000000000000000000000000000000000000 +Plaintext: 00000000000000000000000000000000 +Ciphertext: 97EC38070014494A2E97EFE354BA2865 +Test: Encrypt +Comment: Set 1, vector 78 +Key: 0000000000000000000200000000000000000000000000000000000000000000 +Plaintext: 00000000000000000000000000000000 +Ciphertext: E3EC51F889C63AD2C708F22AFC42D18C +Test: Encrypt +Comment: Set 1, vector 79 +Key: 0000000000000000000100000000000000000000000000000000000000000000 +Plaintext: 00000000000000000000000000000000 +Ciphertext: 8CC5BDB49037DC1D3D8DADFA0B8ECD96 +Test: Encrypt +Comment: Set 1, vector 80 +Key: 0000000000000000000080000000000000000000000000000000000000000000 +Plaintext: 00000000000000000000000000000000 +Ciphertext: 14F5C3D75BA0397D7436E1479F78435B +Test: Encrypt +Comment: Set 1, vector 81 +Key: 0000000000000000000040000000000000000000000000000000000000000000 +Plaintext: 00000000000000000000000000000000 +Ciphertext: FF3B01851C8254967E4DFAA2A0F0C057 +Test: Encrypt +Comment: Set 1, vector 82 +Key: 0000000000000000000020000000000000000000000000000000000000000000 +Plaintext: 00000000000000000000000000000000 +Ciphertext: B8C8E9AFF66FFEC9D0342FF297A543B1 +Test: Encrypt +Comment: Set 1, vector 83 +Key: 0000000000000000000010000000000000000000000000000000000000000000 +Plaintext: 00000000000000000000000000000000 +Ciphertext: A95A113F088FFE17A79050C46377545E +Test: Encrypt +Comment: Set 1, vector 84 +Key: 0000000000000000000008000000000000000000000000000000000000000000 +Plaintext: 00000000000000000000000000000000 +Ciphertext: EA4C3AFA65016D057EC1DFDD0411ED06 +Test: Encrypt +Comment: Set 1, vector 85 +Key: 0000000000000000000004000000000000000000000000000000000000000000 +Plaintext: 00000000000000000000000000000000 +Ciphertext: 7D535C84DFAD692D0F89AB73C1F42F60 +Test: Encrypt +Comment: Set 1, vector 86 +Key: 0000000000000000000002000000000000000000000000000000000000000000 +Plaintext: 00000000000000000000000000000000 +Ciphertext: E857DF0CEBAB1E03CB9AF73CBF9C19D1 +Test: Encrypt +Comment: Set 1, vector 87 +Key: 0000000000000000000001000000000000000000000000000000000000000000 +Plaintext: 00000000000000000000000000000000 +Ciphertext: 7A59BCF6FAC80379EB7E8E2EFAB147D4 +Test: Encrypt +Comment: Set 1, vector 88 +Key: 0000000000000000000000800000000000000000000000000000000000000000 +Plaintext: 00000000000000000000000000000000 +Ciphertext: 43EF17F87BAF7536DDE734F885C4CE85 +Test: Encrypt +Comment: Set 1, vector 89 +Key: 0000000000000000000000400000000000000000000000000000000000000000 +Plaintext: 00000000000000000000000000000000 +Ciphertext: 2B71CE14089741A1EF1E99DC9E22E739 +Test: Encrypt +Comment: Set 1, vector 90 +Key: 0000000000000000000000200000000000000000000000000000000000000000 +Plaintext: 00000000000000000000000000000000 +Ciphertext: 9283885622781998186B7DACBFF68ED2 +Test: Encrypt +Comment: Set 1, vector 91 +Key: 0000000000000000000000100000000000000000000000000000000000000000 +Plaintext: 00000000000000000000000000000000 +Ciphertext: 756A184F392D8C821479EFF930338C0A +Test: Encrypt +Comment: Set 1, vector 92 +Key: 0000000000000000000000080000000000000000000000000000000000000000 +Plaintext: 00000000000000000000000000000000 +Ciphertext: CE848D49BB76CA30B607C9539793DA41 +Test: Encrypt +Comment: Set 1, vector 93 +Key: 0000000000000000000000040000000000000000000000000000000000000000 +Plaintext: 00000000000000000000000000000000 +Ciphertext: 50F2D5238991EEA9654C8895AFC0AC37 +Test: Encrypt +Comment: Set 1, vector 94 +Key: 0000000000000000000000020000000000000000000000000000000000000000 +Plaintext: 00000000000000000000000000000000 +Ciphertext: 561564103E13F4CBB58A9E096DB1958B +Test: Encrypt +Comment: Set 1, vector 95 +Key: 0000000000000000000000010000000000000000000000000000000000000000 +Plaintext: 00000000000000000000000000000000 +Ciphertext: EF2BB05AC6868C15D66D956BD580D467 +Test: Encrypt +Comment: Set 1, vector 96 +Key: 0000000000000000000000008000000000000000000000000000000000000000 +Plaintext: 00000000000000000000000000000000 +Ciphertext: C7B1A5A3A201DF25FD97A47B1FC3569E +Test: Encrypt +Comment: Set 1, vector 97 +Key: 0000000000000000000000004000000000000000000000000000000000000000 +Plaintext: 00000000000000000000000000000000 +Ciphertext: 0A1873FF47B38095CF6A8BABF3901FF2 +Test: Encrypt +Comment: Set 1, vector 98 +Key: 0000000000000000000000002000000000000000000000000000000000000000 +Plaintext: 00000000000000000000000000000000 +Ciphertext: A96F8F977DC45ABF55518EA10C598E10 +Test: Encrypt +Comment: Set 1, vector 99 +Key: 0000000000000000000000001000000000000000000000000000000000000000 +Plaintext: 00000000000000000000000000000000 +Ciphertext: 778C644278689EC0577BDDB2154AE635 +Test: Encrypt +Comment: Set 1, vector 100 +Key: 0000000000000000000000000800000000000000000000000000000000000000 +Plaintext: 00000000000000000000000000000000 +Ciphertext: DEF97DBCF02648E7BCE6A368F7F34C14 +Test: Encrypt +Comment: Set 1, vector 101 +Key: 0000000000000000000000000400000000000000000000000000000000000000 +Plaintext: 00000000000000000000000000000000 +Ciphertext: 71B85362022D53AF03A17870D8F66614 +Test: Encrypt +Comment: Set 1, vector 102 +Key: 0000000000000000000000000200000000000000000000000000000000000000 +Plaintext: 00000000000000000000000000000000 +Ciphertext: 3593FC550A2950C2EF94F6E8F6E90BB3 +Test: Encrypt +Comment: Set 1, vector 103 +Key: 0000000000000000000000000100000000000000000000000000000000000000 +Plaintext: 00000000000000000000000000000000 +Ciphertext: 29E64004DBF1E7833A7CD82EDACD932A +Test: Encrypt +Comment: Set 1, vector 104 +Key: 0000000000000000000000000080000000000000000000000000000000000000 +Plaintext: 00000000000000000000000000000000 +Ciphertext: 715E700DF74A8680F04A48B18AEDB99C +Test: Encrypt +Comment: Set 1, vector 105 +Key: 0000000000000000000000000040000000000000000000000000000000000000 +Plaintext: 00000000000000000000000000000000 +Ciphertext: 72E3288FFB02D1100F84FA605855D812 +Test: Encrypt +Comment: Set 1, vector 106 +Key: 0000000000000000000000000020000000000000000000000000000000000000 +Plaintext: 00000000000000000000000000000000 +Ciphertext: 9021082D3C4CB202936FD76F1392446B +Test: Encrypt +Comment: Set 1, vector 107 +Key: 0000000000000000000000000010000000000000000000000000000000000000 +Plaintext: 00000000000000000000000000000000 +Ciphertext: 1552BD181EE0FB914558053F2662F9AE +Test: Encrypt +Comment: Set 1, vector 108 +Key: 0000000000000000000000000008000000000000000000000000000000000000 +Plaintext: 00000000000000000000000000000000 +Ciphertext: 599D87052322E19141057F0EF3C47508 +Test: Encrypt +Comment: Set 1, vector 109 +Key: 0000000000000000000000000004000000000000000000000000000000000000 +Plaintext: 00000000000000000000000000000000 +Ciphertext: 505AC03CEB2ECA1C9D411B4A1CF2011C +Test: Encrypt +Comment: Set 1, vector 110 +Key: 0000000000000000000000000002000000000000000000000000000000000000 +Plaintext: 00000000000000000000000000000000 +Ciphertext: DD639574D8FFCD24EA68B2243C5AA7D6 +Test: Encrypt +Comment: Set 1, vector 111 +Key: 0000000000000000000000000001000000000000000000000000000000000000 +Plaintext: 00000000000000000000000000000000 +Ciphertext: 45F5371B714D2652BA4AD083EDB65BEE +Test: Encrypt +Comment: Set 1, vector 112 +Key: 0000000000000000000000000000800000000000000000000000000000000000 +Plaintext: 00000000000000000000000000000000 +Ciphertext: DEAB9C368B21FE41E709554340E87C0B +Test: Encrypt +Comment: Set 1, vector 113 +Key: 0000000000000000000000000000400000000000000000000000000000000000 +Plaintext: 00000000000000000000000000000000 +Ciphertext: 3A981045526766BD13943F11CE917AF9 +Test: Encrypt +Comment: Set 1, vector 114 +Key: 0000000000000000000000000000200000000000000000000000000000000000 +Plaintext: 00000000000000000000000000000000 +Ciphertext: 35CDF30A485CE21F0D005EE0C2BCF315 +Test: Encrypt +Comment: Set 1, vector 115 +Key: 0000000000000000000000000000100000000000000000000000000000000000 +Plaintext: 00000000000000000000000000000000 +Ciphertext: F561A8C91820252580317385F8336305 +Test: Encrypt +Comment: Set 1, vector 116 +Key: 0000000000000000000000000000080000000000000000000000000000000000 +Plaintext: 00000000000000000000000000000000 +Ciphertext: 0789680D27735220798079572BF4ECF6 +Test: Encrypt +Comment: Set 1, vector 117 +Key: 0000000000000000000000000000040000000000000000000000000000000000 +Plaintext: 00000000000000000000000000000000 +Ciphertext: B4F16729D7AB16C9AE44FB61291920DE +Test: Encrypt +Comment: Set 1, vector 118 +Key: 0000000000000000000000000000020000000000000000000000000000000000 +Plaintext: 00000000000000000000000000000000 +Ciphertext: FB83BF9B1D983CA7FB3718E22D9A2155 +Test: Encrypt +Comment: Set 1, vector 119 +Key: 0000000000000000000000000000010000000000000000000000000000000000 +Plaintext: 00000000000000000000000000000000 +Ciphertext: CEC5C5D13E59508D3DA431F1479730F3 +Test: Encrypt +Comment: Set 1, vector 120 +Key: 0000000000000000000000000000008000000000000000000000000000000000 +Plaintext: 00000000000000000000000000000000 +Ciphertext: 09BEA932E60A4AD34271FF11A2B2AA02 +Test: Encrypt +Comment: Set 1, vector 121 +Key: 0000000000000000000000000000004000000000000000000000000000000000 +Plaintext: 00000000000000000000000000000000 +Ciphertext: B102F72FD89452C0CD1C6897071F903E +Test: Encrypt +Comment: Set 1, vector 122 +Key: 0000000000000000000000000000002000000000000000000000000000000000 +Plaintext: 00000000000000000000000000000000 +Ciphertext: A469F9411F0A3A6E1A8076416C6B55CB +Test: Encrypt +Comment: Set 1, vector 123 +Key: 0000000000000000000000000000001000000000000000000000000000000000 +Plaintext: 00000000000000000000000000000000 +Ciphertext: 6C3F88FCB538699547A1CF07A529993F +Test: Encrypt +Comment: Set 1, vector 124 +Key: 0000000000000000000000000000000800000000000000000000000000000000 +Plaintext: 00000000000000000000000000000000 +Ciphertext: 493E8CC2A63534632A6456ED47BF233C +Test: Encrypt +Comment: Set 1, vector 125 +Key: 0000000000000000000000000000000400000000000000000000000000000000 +Plaintext: 00000000000000000000000000000000 +Ciphertext: 1FD81E905F7055C4B04DB1F9718A6861 +Test: Encrypt +Comment: Set 1, vector 126 +Key: 0000000000000000000000000000000200000000000000000000000000000000 +Plaintext: 00000000000000000000000000000000 +Ciphertext: B22882E01D7A1BF2D7F0E3BFBFC87156 +Test: Encrypt +Comment: Set 1, vector 127 +Key: 0000000000000000000000000000000100000000000000000000000000000000 +Plaintext: 00000000000000000000000000000000 +Ciphertext: 86C9822E849322FB00DF89233D33935D +Test: Encrypt +Comment: Set 1, vector 128 +Key: 0000000000000000000000000000000080000000000000000000000000000000 +Plaintext: 00000000000000000000000000000000 +Ciphertext: 12012E8E028D0D3D8DC00847130D424C +Test: Encrypt +Comment: Set 1, vector 129 +Key: 0000000000000000000000000000000040000000000000000000000000000000 +Plaintext: 00000000000000000000000000000000 +Ciphertext: 182A96CC3BF10035B9DB292D1399F993 +Test: Encrypt +Comment: Set 1, vector 130 +Key: 0000000000000000000000000000000020000000000000000000000000000000 +Plaintext: 00000000000000000000000000000000 +Ciphertext: 91E0E6991989D1FC4CBD754E4E7D0590 +Test: Encrypt +Comment: Set 1, vector 131 +Key: 0000000000000000000000000000000010000000000000000000000000000000 +Plaintext: 00000000000000000000000000000000 +Ciphertext: F3EFC4E6F207E370C8CAE39408C4BF1B +Test: Encrypt +Comment: Set 1, vector 132 +Key: 0000000000000000000000000000000008000000000000000000000000000000 +Plaintext: 00000000000000000000000000000000 +Ciphertext: AA767AB2EC6FA2FA183DAF9C0F3BAE5E +Test: Encrypt +Comment: Set 1, vector 133 +Key: 0000000000000000000000000000000004000000000000000000000000000000 +Plaintext: 00000000000000000000000000000000 +Ciphertext: D1FF11F4D1AEEAAE01A115081AF886EF +Test: Encrypt +Comment: Set 1, vector 134 +Key: 0000000000000000000000000000000002000000000000000000000000000000 +Plaintext: 00000000000000000000000000000000 +Ciphertext: 5390139711090B56B28338FEA98FCC82 +Test: Encrypt +Comment: Set 1, vector 135 +Key: 0000000000000000000000000000000001000000000000000000000000000000 +Plaintext: 00000000000000000000000000000000 +Ciphertext: 13E693CCF6EBF0E6061B92B7ED0B95B6 +Test: Encrypt +Comment: Set 1, vector 136 +Key: 0000000000000000000000000000000000800000000000000000000000000000 +Plaintext: 00000000000000000000000000000000 +Ciphertext: 588FB2F95861D3C427669C68D04ADB25 +Test: Encrypt +Comment: Set 1, vector 137 +Key: 0000000000000000000000000000000000400000000000000000000000000000 +Plaintext: 00000000000000000000000000000000 +Ciphertext: F472ECDF8DEBC416313AAF7C8AAFB43E +Test: Encrypt +Comment: Set 1, vector 138 +Key: 0000000000000000000000000000000000200000000000000000000000000000 +Plaintext: 00000000000000000000000000000000 +Ciphertext: EAA654BE38E857941A921C70AC7FC7CE +Test: Encrypt +Comment: Set 1, vector 139 +Key: 0000000000000000000000000000000000100000000000000000000000000000 +Plaintext: 00000000000000000000000000000000 +Ciphertext: F2A4E47AE80CDF506B9513C510EA0954 +Test: Encrypt +Comment: Set 1, vector 140 +Key: 0000000000000000000000000000000000080000000000000000000000000000 +Plaintext: 00000000000000000000000000000000 +Ciphertext: F08EC7ED8FBB99F175A990C3E4DECB6B +Test: Encrypt +Comment: Set 1, vector 141 +Key: 0000000000000000000000000000000000040000000000000000000000000000 +Plaintext: 00000000000000000000000000000000 +Ciphertext: 5C767BC584CA3653EDE27CD8B209A0AD +Test: Encrypt +Comment: Set 1, vector 142 +Key: 0000000000000000000000000000000000020000000000000000000000000000 +Plaintext: 00000000000000000000000000000000 +Ciphertext: AFF9A8BA92A40B2BF42FDB4089B1F9CC +Test: Encrypt +Comment: Set 1, vector 143 +Key: 0000000000000000000000000000000000010000000000000000000000000000 +Plaintext: 00000000000000000000000000000000 +Ciphertext: BFC1E9198BBE22266712EB1ECB17D748 +Test: Encrypt +Comment: Set 1, vector 144 +Key: 0000000000000000000000000000000000008000000000000000000000000000 +Plaintext: 00000000000000000000000000000000 +Ciphertext: 235184136A29208BD041E60BCB9F7464 +Test: Encrypt +Comment: Set 1, vector 145 +Key: 0000000000000000000000000000000000004000000000000000000000000000 +Plaintext: 00000000000000000000000000000000 +Ciphertext: 83DC48F9177C5C94CBC22E83A2B76829 +Test: Encrypt +Comment: Set 1, vector 146 +Key: 0000000000000000000000000000000000002000000000000000000000000000 +Plaintext: 00000000000000000000000000000000 +Ciphertext: 72CD31ACB7A1A459E4D27C1F26039FA7 +Test: Encrypt +Comment: Set 1, vector 147 +Key: 0000000000000000000000000000000000001000000000000000000000000000 +Plaintext: 00000000000000000000000000000000 +Ciphertext: 139AC4734C3136FD9982FCC7A569B9D3 +Test: Encrypt +Comment: Set 1, vector 148 +Key: 0000000000000000000000000000000000000800000000000000000000000000 +Plaintext: 00000000000000000000000000000000 +Ciphertext: 12FFA3EF4346F4C57A03A36F9938B251 +Test: Encrypt +Comment: Set 1, vector 149 +Key: 0000000000000000000000000000000000000400000000000000000000000000 +Plaintext: 00000000000000000000000000000000 +Ciphertext: 43DDB100CE22E5553CF4DCF814BF3CAC +Test: Encrypt +Comment: Set 1, vector 150 +Key: 0000000000000000000000000000000000000200000000000000000000000000 +Plaintext: 00000000000000000000000000000000 +Ciphertext: ABDADF4C948BB61C0A917885ADE4C7C5 +Test: Encrypt +Comment: Set 1, vector 151 +Key: 0000000000000000000000000000000000000100000000000000000000000000 +Plaintext: 00000000000000000000000000000000 +Ciphertext: 197391E089DE173B522DDD8CBEEC3118 +Test: Encrypt +Comment: Set 1, vector 152 +Key: 0000000000000000000000000000000000000080000000000000000000000000 +Plaintext: 00000000000000000000000000000000 +Ciphertext: 43FBE8BF2728C55C9368D01E40C1CF96 +Test: Encrypt +Comment: Set 1, vector 153 +Key: 0000000000000000000000000000000000000040000000000000000000000000 +Plaintext: 00000000000000000000000000000000 +Ciphertext: 0F5DE5F67EC84F2CB253A0BC48991C71 +Test: Encrypt +Comment: Set 1, vector 154 +Key: 0000000000000000000000000000000000000020000000000000000000000000 +Plaintext: 00000000000000000000000000000000 +Ciphertext: 52BA4666B972EAE3D2E960D7372D3C48 +Test: Encrypt +Comment: Set 1, vector 155 +Key: 0000000000000000000000000000000000000010000000000000000000000000 +Plaintext: 00000000000000000000000000000000 +Ciphertext: 0735AE765BC079A93B451D873FA93702 +Test: Encrypt +Comment: Set 1, vector 156 +Key: 0000000000000000000000000000000000000008000000000000000000000000 +Plaintext: 00000000000000000000000000000000 +Ciphertext: 89D988508A4569E2232F72412AE50B65 +Test: Encrypt +Comment: Set 1, vector 157 +Key: 0000000000000000000000000000000000000004000000000000000000000000 +Plaintext: 00000000000000000000000000000000 +Ciphertext: BCF0EE2403BC9344030C0FF065B6FD88 +Test: Encrypt +Comment: Set 1, vector 158 +Key: 0000000000000000000000000000000000000002000000000000000000000000 +Plaintext: 00000000000000000000000000000000 +Ciphertext: 25D76D36F3376D6FD835BA012C7DD2E5 +Test: Encrypt +Comment: Set 1, vector 159 +Key: 0000000000000000000000000000000000000001000000000000000000000000 +Plaintext: 00000000000000000000000000000000 +Ciphertext: EF364A31E8551732D4B2098281D4E2C9 +Test: Encrypt +Comment: Set 1, vector 160 +Key: 0000000000000000000000000000000000000000800000000000000000000000 +Plaintext: 00000000000000000000000000000000 +Ciphertext: 64B1F927C0A7315EA60BC5F2A0DCCFE2 +Test: Encrypt +Comment: Set 1, vector 161 +Key: 0000000000000000000000000000000000000000400000000000000000000000 +Plaintext: 00000000000000000000000000000000 +Ciphertext: CA99E0EDFA0E121F27659346BCDCC443 +Test: Encrypt +Comment: Set 1, vector 162 +Key: 0000000000000000000000000000000000000000200000000000000000000000 +Plaintext: 00000000000000000000000000000000 +Ciphertext: 1816D9D23D1069BC6DEC195F60994C05 +Test: Encrypt +Comment: Set 1, vector 163 +Key: 0000000000000000000000000000000000000000100000000000000000000000 +Plaintext: 00000000000000000000000000000000 +Ciphertext: 9819575F6890E093091378AED0612051 +Test: Encrypt +Comment: Set 1, vector 164 +Key: 0000000000000000000000000000000000000000080000000000000000000000 +Plaintext: 00000000000000000000000000000000 +Ciphertext: 41903DE72A486B823842FBA2840E265C +Test: Encrypt +Comment: Set 1, vector 165 +Key: 0000000000000000000000000000000000000000040000000000000000000000 +Plaintext: 00000000000000000000000000000000 +Ciphertext: 30651D416912A01EDEC4290D34B4A605 +Test: Encrypt +Comment: Set 1, vector 166 +Key: 0000000000000000000000000000000000000000020000000000000000000000 +Plaintext: 00000000000000000000000000000000 +Ciphertext: 0949AD8AB2E85995686D6D495ABA1028 +Test: Encrypt +Comment: Set 1, vector 167 +Key: 0000000000000000000000000000000000000000010000000000000000000000 +Plaintext: 00000000000000000000000000000000 +Ciphertext: 3789C2D08E122BE204662FE9A0FDF77A +Test: Encrypt +Comment: Set 1, vector 168 +Key: 0000000000000000000000000000000000000000008000000000000000000000 +Plaintext: 00000000000000000000000000000000 +Ciphertext: A0C66EE031FF045123475E6F5FA64F57 +Test: Encrypt +Comment: Set 1, vector 169 +Key: 0000000000000000000000000000000000000000004000000000000000000000 +Plaintext: 00000000000000000000000000000000 +Ciphertext: 1BACCDD314AF39124709013C94CAD1AC +Test: Encrypt +Comment: Set 1, vector 170 +Key: 0000000000000000000000000000000000000000002000000000000000000000 +Plaintext: 00000000000000000000000000000000 +Ciphertext: 2FB5DF5527A8E06AED03D683EDF14E9A +Test: Encrypt +Comment: Set 1, vector 171 +Key: 0000000000000000000000000000000000000000001000000000000000000000 +Plaintext: 00000000000000000000000000000000 +Ciphertext: FF2C61AD63CDA6207605C18C888B383D +Test: Encrypt +Comment: Set 1, vector 172 +Key: 0000000000000000000000000000000000000000000800000000000000000000 +Plaintext: 00000000000000000000000000000000 +Ciphertext: 71CE4A5B48671AB9A6561B7109FB8345 +Test: Encrypt +Comment: Set 1, vector 173 +Key: 0000000000000000000000000000000000000000000400000000000000000000 +Plaintext: 00000000000000000000000000000000 +Ciphertext: 37299C12377E9CB8DF5FE730DFFCB5CA +Test: Encrypt +Comment: Set 1, vector 174 +Key: 0000000000000000000000000000000000000000000200000000000000000000 +Plaintext: 00000000000000000000000000000000 +Ciphertext: C5454350A7CB0EC5CA3932A3948F48BC +Test: Encrypt +Comment: Set 1, vector 175 +Key: 0000000000000000000000000000000000000000000100000000000000000000 +Plaintext: 00000000000000000000000000000000 +Ciphertext: 8AB40D09FFBD0C82E9091FC80D2A63C9 +Test: Encrypt +Comment: Set 1, vector 176 +Key: 0000000000000000000000000000000000000000000080000000000000000000 +Plaintext: 00000000000000000000000000000000 +Ciphertext: 9CB3FE43EAE3DC7AC4F97E609FDE9F10 +Test: Encrypt +Comment: Set 1, vector 177 +Key: 0000000000000000000000000000000000000000000040000000000000000000 +Plaintext: 00000000000000000000000000000000 +Ciphertext: 51369DC689B25C3AC593B578BAEA046E +Test: Encrypt +Comment: Set 1, vector 178 +Key: 0000000000000000000000000000000000000000000020000000000000000000 +Plaintext: 00000000000000000000000000000000 +Ciphertext: 13D9D885A24AE8B859F239890DF438C9 +Test: Encrypt +Comment: Set 1, vector 179 +Key: 0000000000000000000000000000000000000000000010000000000000000000 +Plaintext: 00000000000000000000000000000000 +Ciphertext: CEACAE376290D5C62D2DAE422CA6E5C0 +Test: Encrypt +Comment: Set 1, vector 180 +Key: 0000000000000000000000000000000000000000000008000000000000000000 +Plaintext: 00000000000000000000000000000000 +Ciphertext: 6AE17D621F97B62F4571AB165CE0A11F +Test: Encrypt +Comment: Set 1, vector 181 +Key: 0000000000000000000000000000000000000000000004000000000000000000 +Plaintext: 00000000000000000000000000000000 +Ciphertext: C91318F8FD17E9BC656E639A0D648B3A +Test: Encrypt +Comment: Set 1, vector 182 +Key: 0000000000000000000000000000000000000000000002000000000000000000 +Plaintext: 00000000000000000000000000000000 +Ciphertext: BFF1BC1C935E40FB0C20DED5985F1910 +Test: Encrypt +Comment: Set 1, vector 183 +Key: 0000000000000000000000000000000000000000000001000000000000000000 +Plaintext: 00000000000000000000000000000000 +Ciphertext: 96F0B387F487BBDD5227B595A506F963 +Test: Encrypt +Comment: Set 1, vector 184 +Key: 0000000000000000000000000000000000000000000000800000000000000000 +Plaintext: 00000000000000000000000000000000 +Ciphertext: 62265B7EFB73A77205ECBBFD166B3EAE +Test: Encrypt +Comment: Set 1, vector 185 +Key: 0000000000000000000000000000000000000000000000400000000000000000 +Plaintext: 00000000000000000000000000000000 +Ciphertext: 016E8F3087757E8F576B19A58D356FB6 +Test: Encrypt +Comment: Set 1, vector 186 +Key: 0000000000000000000000000000000000000000000000200000000000000000 +Plaintext: 00000000000000000000000000000000 +Ciphertext: 456FAF632EA07797CEC23DC6553988F9 +Test: Encrypt +Comment: Set 1, vector 187 +Key: 0000000000000000000000000000000000000000000000100000000000000000 +Plaintext: 00000000000000000000000000000000 +Ciphertext: 147694E2231FA00D6B62D3E51CC8201D +Test: Encrypt +Comment: Set 1, vector 188 +Key: 0000000000000000000000000000000000000000000000080000000000000000 +Plaintext: 00000000000000000000000000000000 +Ciphertext: 2299D31F3D747838C65FE7C6C0C59214 +Test: Encrypt +Comment: Set 1, vector 189 +Key: 0000000000000000000000000000000000000000000000040000000000000000 +Plaintext: 00000000000000000000000000000000 +Ciphertext: C5A669612A23E4F7551D79650071E040 +Test: Encrypt +Comment: Set 1, vector 190 +Key: 0000000000000000000000000000000000000000000000020000000000000000 +Plaintext: 00000000000000000000000000000000 +Ciphertext: F0A32D722EDFD2BA628C781DACD5FC50 +Test: Encrypt +Comment: Set 1, vector 191 +Key: 0000000000000000000000000000000000000000000000010000000000000000 +Plaintext: 00000000000000000000000000000000 +Ciphertext: 422C8E2A0DFF095E40654CB2B7176A9B +Test: Encrypt +Comment: Set 1, vector 192 +Key: 0000000000000000000000000000000000000000000000008000000000000000 +Plaintext: 00000000000000000000000000000000 +Ciphertext: 99DEF168961D4AB9E63157E60F76399C +Test: Encrypt +Comment: Set 1, vector 193 +Key: 0000000000000000000000000000000000000000000000004000000000000000 +Plaintext: 00000000000000000000000000000000 +Ciphertext: 49C92ACC622A00BCFF7DFDCABF33CB4C +Test: Encrypt +Comment: Set 1, vector 194 +Key: 0000000000000000000000000000000000000000000000002000000000000000 +Plaintext: 00000000000000000000000000000000 +Ciphertext: 517117A096B2EE66D4BEF2D1EE570CE7 +Test: Encrypt +Comment: Set 1, vector 195 +Key: 0000000000000000000000000000000000000000000000001000000000000000 +Plaintext: 00000000000000000000000000000000 +Ciphertext: 9DAECC0E82559BC2CDB8A01AB30BA605 +Test: Encrypt +Comment: Set 1, vector 196 +Key: 0000000000000000000000000000000000000000000000000800000000000000 +Plaintext: 00000000000000000000000000000000 +Ciphertext: 50B2882928DAB54488413ABA5743535E +Test: Encrypt +Comment: Set 1, vector 197 +Key: 0000000000000000000000000000000000000000000000000400000000000000 +Plaintext: 00000000000000000000000000000000 +Ciphertext: E6725F73ED920F473E1442ABEC7DB722 +Test: Encrypt +Comment: Set 1, vector 198 +Key: 0000000000000000000000000000000000000000000000000200000000000000 +Plaintext: 00000000000000000000000000000000 +Ciphertext: CB4F06002C5864E40C80F97157452575 +Test: Encrypt +Comment: Set 1, vector 199 +Key: 0000000000000000000000000000000000000000000000000100000000000000 +Plaintext: 00000000000000000000000000000000 +Ciphertext: 8DF72D7C8AE547F2AA3E9AFAAD1D62F0 +Test: Encrypt +Comment: Set 1, vector 200 +Key: 0000000000000000000000000000000000000000000000000080000000000000 +Plaintext: 00000000000000000000000000000000 +Ciphertext: 0DA429E486F5ED9460B7C54460B0A699 +Test: Encrypt +Comment: Set 1, vector 201 +Key: 0000000000000000000000000000000000000000000000000040000000000000 +Plaintext: 00000000000000000000000000000000 +Ciphertext: 24832DB462328D93306C6714E100ADAB +Test: Encrypt +Comment: Set 1, vector 202 +Key: 0000000000000000000000000000000000000000000000000020000000000000 +Plaintext: 00000000000000000000000000000000 +Ciphertext: 3170D82FEC3D2A58C7D2F28BAC4C7809 +Test: Encrypt +Comment: Set 1, vector 203 +Key: 0000000000000000000000000000000000000000000000000010000000000000 +Plaintext: 00000000000000000000000000000000 +Ciphertext: 638A46425AEA9C808AC752EE69F56822 +Test: Encrypt +Comment: Set 1, vector 204 +Key: 0000000000000000000000000000000000000000000000000008000000000000 +Plaintext: 00000000000000000000000000000000 +Ciphertext: F98954D90C5E3DB2EEC8A86078D70763 +Test: Encrypt +Comment: Set 1, vector 205 +Key: 0000000000000000000000000000000000000000000000000004000000000000 +Plaintext: 00000000000000000000000000000000 +Ciphertext: 8D5868451617FB145B8F7F91712A7AA0 +Test: Encrypt +Comment: Set 1, vector 206 +Key: 0000000000000000000000000000000000000000000000000002000000000000 +Plaintext: 00000000000000000000000000000000 +Ciphertext: 2292BA337A4F465E0DFB85DAAC266AE6 +Test: Encrypt +Comment: Set 1, vector 207 +Key: 0000000000000000000000000000000000000000000000000001000000000000 +Plaintext: 00000000000000000000000000000000 +Ciphertext: F2560D5063A2F928D699005012A0C839 +Test: Encrypt +Comment: Set 1, vector 208 +Key: 0000000000000000000000000000000000000000000000000000800000000000 +Plaintext: 00000000000000000000000000000000 +Ciphertext: 44968AEABB2852075F83FB942E05099D +Test: Encrypt +Comment: Set 1, vector 209 +Key: 0000000000000000000000000000000000000000000000000000400000000000 +Plaintext: 00000000000000000000000000000000 +Ciphertext: EB339742AB40B5627A7CB60D4F54DD2E +Test: Encrypt +Comment: Set 1, vector 210 +Key: 0000000000000000000000000000000000000000000000000000200000000000 +Plaintext: 00000000000000000000000000000000 +Ciphertext: 9AAA6FC3BBDE523E9FCD9D5C0255F912 +Test: Encrypt +Comment: Set 1, vector 211 +Key: 0000000000000000000000000000000000000000000000000000100000000000 +Plaintext: 00000000000000000000000000000000 +Ciphertext: E6E25CBAFF57F4C6056706FD13E6A2E3 +Test: Encrypt +Comment: Set 1, vector 212 +Key: 0000000000000000000000000000000000000000000000000000080000000000 +Plaintext: 00000000000000000000000000000000 +Ciphertext: 8A9628166922E8EC6FC28F5E847B9C71 +Test: Encrypt +Comment: Set 1, vector 213 +Key: 0000000000000000000000000000000000000000000000000000040000000000 +Plaintext: 00000000000000000000000000000000 +Ciphertext: 97CF8FF5D1337DA8602F8AB6C0224AF7 +Test: Encrypt +Comment: Set 1, vector 214 +Key: 0000000000000000000000000000000000000000000000000000020000000000 +Plaintext: 00000000000000000000000000000000 +Ciphertext: DDBBE09A93364599E9233969ADBEBA63 +Test: Encrypt +Comment: Set 1, vector 215 +Key: 0000000000000000000000000000000000000000000000000000010000000000 +Plaintext: 00000000000000000000000000000000 +Ciphertext: E772954B9DA3DA8A005582C4E9E5B6FA +Test: Encrypt +Comment: Set 1, vector 216 +Key: 0000000000000000000000000000000000000000000000000000008000000000 +Plaintext: 00000000000000000000000000000000 +Ciphertext: 507DFD30F7EEF807F994B298D487FDE6 +Test: Encrypt +Comment: Set 1, vector 217 +Key: 0000000000000000000000000000000000000000000000000000004000000000 +Plaintext: 00000000000000000000000000000000 +Ciphertext: 6FF09F69AED61F091F92503547A19B68 +Test: Encrypt +Comment: Set 1, vector 218 +Key: 0000000000000000000000000000000000000000000000000000002000000000 +Plaintext: 00000000000000000000000000000000 +Ciphertext: 1141E6BB725E09640DD6971F4EF1A886 +Test: Encrypt +Comment: Set 1, vector 219 +Key: 0000000000000000000000000000000000000000000000000000001000000000 +Plaintext: 00000000000000000000000000000000 +Ciphertext: 9C0E8061BA0361B730D24675EF128705 +Test: Encrypt +Comment: Set 1, vector 220 +Key: 0000000000000000000000000000000000000000000000000000000800000000 +Plaintext: 00000000000000000000000000000000 +Ciphertext: 7D0137240D0D3D086198E83BC0CF22D0 +Test: Encrypt +Comment: Set 1, vector 221 +Key: 0000000000000000000000000000000000000000000000000000000400000000 +Plaintext: 00000000000000000000000000000000 +Ciphertext: BC4460FF55EBFAA1171B0CE249830281 +Test: Encrypt +Comment: Set 1, vector 222 +Key: 0000000000000000000000000000000000000000000000000000000200000000 +Plaintext: 00000000000000000000000000000000 +Ciphertext: CDBE93ADCF1867B952FB82C42DF60CFD +Test: Encrypt +Comment: Set 1, vector 223 +Key: 0000000000000000000000000000000000000000000000000000000100000000 +Plaintext: 00000000000000000000000000000000 +Ciphertext: 007AA375E4402B8A5657C01259AF3D49 +Test: Encrypt +Comment: Set 1, vector 224 +Key: 0000000000000000000000000000000000000000000000000000000080000000 +Plaintext: 00000000000000000000000000000000 +Ciphertext: F5C2B13998E5687C773017C14EB01FE4 +Test: Encrypt +Comment: Set 1, vector 225 +Key: 0000000000000000000000000000000000000000000000000000000040000000 +Plaintext: 00000000000000000000000000000000 +Ciphertext: 0AE71BFDD72FBC4576305E4B0807E17C +Test: Encrypt +Comment: Set 1, vector 226 +Key: 0000000000000000000000000000000000000000000000000000000020000000 +Plaintext: 00000000000000000000000000000000 +Ciphertext: 35FB1CE6CB7449DF115D3AC6BA656439 +Test: Encrypt +Comment: Set 1, vector 227 +Key: 0000000000000000000000000000000000000000000000000000000010000000 +Plaintext: 00000000000000000000000000000000 +Ciphertext: 6D64CEC5D9D74BD40FBC0BE69C70B777 +Test: Encrypt +Comment: Set 1, vector 228 +Key: 0000000000000000000000000000000000000000000000000000000008000000 +Plaintext: 00000000000000000000000000000000 +Ciphertext: 7257851ACD3E3E3AE50048973C3A2AE8 +Test: Encrypt +Comment: Set 1, vector 229 +Key: 0000000000000000000000000000000000000000000000000000000004000000 +Plaintext: 00000000000000000000000000000000 +Ciphertext: 50852661D5BD7960412B29A86F549619 +Test: Encrypt +Comment: Set 1, vector 230 +Key: 0000000000000000000000000000000000000000000000000000000002000000 +Plaintext: 00000000000000000000000000000000 +Ciphertext: CDF3561D971D40521CD46BAE98F5867A +Test: Encrypt +Comment: Set 1, vector 231 +Key: 0000000000000000000000000000000000000000000000000000000001000000 +Plaintext: 00000000000000000000000000000000 +Ciphertext: FA3C84185B9ABF9887DD501B3B0F52D3 +Test: Encrypt +Comment: Set 1, vector 232 +Key: 0000000000000000000000000000000000000000000000000000000000800000 +Plaintext: 00000000000000000000000000000000 +Ciphertext: 40A5B434F81574733D00F25511109E08 +Test: Encrypt +Comment: Set 1, vector 233 +Key: 0000000000000000000000000000000000000000000000000000000000400000 +Plaintext: 00000000000000000000000000000000 +Ciphertext: DA0D248315C527572F1673BDE26A475E +Test: Encrypt +Comment: Set 1, vector 234 +Key: 0000000000000000000000000000000000000000000000000000000000200000 +Plaintext: 00000000000000000000000000000000 +Ciphertext: 0F8366D8EFB9AB63B0299F278C55CFB4 +Test: Encrypt +Comment: Set 1, vector 235 +Key: 0000000000000000000000000000000000000000000000000000000000100000 +Plaintext: 00000000000000000000000000000000 +Ciphertext: 25A089C523CD153EC094862B5923F492 +Test: Encrypt +Comment: Set 1, vector 236 +Key: 0000000000000000000000000000000000000000000000000000000000080000 +Plaintext: 00000000000000000000000000000000 +Ciphertext: 7268A4628C6A0BE6A8391ABE70986176 +Test: Encrypt +Comment: Set 1, vector 237 +Key: 0000000000000000000000000000000000000000000000000000000000040000 +Plaintext: 00000000000000000000000000000000 +Ciphertext: 7C11E6478CC688FE707454DF4AB5B666 +Test: Encrypt +Comment: Set 1, vector 238 +Key: 0000000000000000000000000000000000000000000000000000000000020000 +Plaintext: 00000000000000000000000000000000 +Ciphertext: 7601B6EBD5CE578973E949C21BFA8CAA +Test: Encrypt +Comment: Set 1, vector 239 +Key: 0000000000000000000000000000000000000000000000000000000000010000 +Plaintext: 00000000000000000000000000000000 +Ciphertext: 0FCE9CCDF89F2EB139DBEB09B55375D5 +Test: Encrypt +Comment: Set 1, vector 240 +Key: 0000000000000000000000000000000000000000000000000000000000008000 +Plaintext: 00000000000000000000000000000000 +Ciphertext: AAABFDD9E28A3ADCA1212F3D7F53A269 +Test: Encrypt +Comment: Set 1, vector 241 +Key: 0000000000000000000000000000000000000000000000000000000000004000 +Plaintext: 00000000000000000000000000000000 +Ciphertext: FC6B4304423917E41677768BD7A8D402 +Test: Encrypt +Comment: Set 1, vector 242 +Key: 0000000000000000000000000000000000000000000000000000000000002000 +Plaintext: 00000000000000000000000000000000 +Ciphertext: 2AA3239D19ADBA9A4190E3653875C589 +Test: Encrypt +Comment: Set 1, vector 243 +Key: 0000000000000000000000000000000000000000000000000000000000001000 +Plaintext: 00000000000000000000000000000000 +Ciphertext: 4F4AB0DB2F3D3EA1E5FCBF99651485DC +Test: Encrypt +Comment: Set 1, vector 244 +Key: 0000000000000000000000000000000000000000000000000000000000000800 +Plaintext: 00000000000000000000000000000000 +Ciphertext: B542CEF08D13E300B282CE6A74C51C96 +Test: Encrypt +Comment: Set 1, vector 245 +Key: 0000000000000000000000000000000000000000000000000000000000000400 +Plaintext: 00000000000000000000000000000000 +Ciphertext: 9955E16433B0D58BFC4B35EE9F44734C +Test: Encrypt +Comment: Set 1, vector 246 +Key: 0000000000000000000000000000000000000000000000000000000000000200 +Plaintext: 00000000000000000000000000000000 +Ciphertext: 5027A7DDC6F99A112E45D3090C7C3465 +Test: Encrypt +Comment: Set 1, vector 247 +Key: 0000000000000000000000000000000000000000000000000000000000000100 +Plaintext: 00000000000000000000000000000000 +Ciphertext: CB14EBD24FC63194495FACFFB5C3A07B +Test: Encrypt +Comment: Set 1, vector 248 +Key: 0000000000000000000000000000000000000000000000000000000000000080 +Plaintext: 00000000000000000000000000000000 +Ciphertext: 2BCBE64545A08F59178242452566B997 +Test: Encrypt +Comment: Set 1, vector 249 +Key: 0000000000000000000000000000000000000000000000000000000000000040 +Plaintext: 00000000000000000000000000000000 +Ciphertext: DE428FF12360A0C8FAE73E9D8E6A0657 +Test: Encrypt +Comment: Set 1, vector 250 +Key: 0000000000000000000000000000000000000000000000000000000000000020 +Plaintext: 00000000000000000000000000000000 +Ciphertext: 6425603FCB0F088D87D3AC7078C7014C +Test: Encrypt +Comment: Set 1, vector 251 +Key: 0000000000000000000000000000000000000000000000000000000000000010 +Plaintext: 00000000000000000000000000000000 +Ciphertext: A837813C9436F4C48C45B6C85A4EAF84 +Test: Encrypt +Comment: Set 1, vector 252 +Key: 0000000000000000000000000000000000000000000000000000000000000008 +Plaintext: 00000000000000000000000000000000 +Ciphertext: B95F9010E694BA44B812D6A7A59E027A +Test: Encrypt +Comment: Set 1, vector 253 +Key: 0000000000000000000000000000000000000000000000000000000000000004 +Plaintext: 00000000000000000000000000000000 +Ciphertext: DF2746A2D9ED707DCC686BB64B77C9DD +Test: Encrypt +Comment: Set 1, vector 254 +Key: 0000000000000000000000000000000000000000000000000000000000000002 +Plaintext: 00000000000000000000000000000000 +Ciphertext: 40DD304C3FC8FEF5D7D08FD467E018F6 +Test: Encrypt +Comment: Set 1, vector 255 +Key: 0000000000000000000000000000000000000000000000000000000000000001 +Plaintext: 00000000000000000000000000000000 +Ciphertext: AFCD38B195E0A736304E89B9AE3019D3 +Test: Encrypt +Comment: Set 2, vector 0 +Key: 0000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 80000000000000000000000000000000 +Ciphertext: B0C6B88AEA518AB09E847248E91B1B9D +Test: Encrypt +Comment: Set 2, vector 1 +Key: 0000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 40000000000000000000000000000000 +Ciphertext: B8D7684E35FA1DB15BDCEE7A48659858 +Test: Encrypt +Comment: Set 2, vector 2 +Key: 0000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 20000000000000000000000000000000 +Ciphertext: F0CAD59AF92FBB79F36951E697492750 +Test: Encrypt +Comment: Set 2, vector 3 +Key: 0000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 10000000000000000000000000000000 +Ciphertext: 117100F6635389560DC4A2DA24EBA70F +Test: Encrypt +Comment: Set 2, vector 4 +Key: 0000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 08000000000000000000000000000000 +Ciphertext: DBDD62355553019ED84C35886421E532 +Test: Encrypt +Comment: Set 2, vector 5 +Key: 0000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 04000000000000000000000000000000 +Ciphertext: 9CB8D04FA506F19848F7B9110518BFC8 +Test: Encrypt +Comment: Set 2, vector 6 +Key: 0000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 02000000000000000000000000000000 +Ciphertext: E4308E253BC3444D293500701BA82C6A +Test: Encrypt +Comment: Set 2, vector 7 +Key: 0000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 01000000000000000000000000000000 +Ciphertext: EA2FAE53F7F30C0170A20E95A068503E +Test: Encrypt +Comment: Set 2, vector 8 +Key: 0000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 00800000000000000000000000000000 +Ciphertext: 14B14839EA221880B2C64D1FE000B93D +Test: Encrypt +Comment: Set 2, vector 9 +Key: 0000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 00400000000000000000000000000000 +Ciphertext: A5CFC075B342D5101AACC334E73058BB +Test: Encrypt +Comment: Set 2, vector 10 +Key: 0000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 00200000000000000000000000000000 +Ciphertext: 477EA56B2EBAD0F8AC5E1936866560FF +Test: Encrypt +Comment: Set 2, vector 11 +Key: 0000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 00100000000000000000000000000000 +Ciphertext: 107E8598418404196EC59F63E45B7F6D +Test: Encrypt +Comment: Set 2, vector 12 +Key: 0000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 00080000000000000000000000000000 +Ciphertext: FF6A891E7C1C074A68FEC291928FDD8D +Test: Encrypt +Comment: Set 2, vector 13 +Key: 0000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 00040000000000000000000000000000 +Ciphertext: F64C250A13F45D377ADB7545B2B157A9 +Test: Encrypt +Comment: Set 2, vector 14 +Key: 0000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 00020000000000000000000000000000 +Ciphertext: FAD0F252086F11C830C65B63197CBC38 +Test: Encrypt +Comment: Set 2, vector 15 +Key: 0000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 00010000000000000000000000000000 +Ciphertext: 9DCB89B209441F02AD0D25C6AB826629 +Test: Encrypt +Comment: Set 2, vector 16 +Key: 0000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 00008000000000000000000000000000 +Ciphertext: E62E4ED4E4F34EDC563710D960E09D4C +Test: Encrypt +Comment: Set 2, vector 17 +Key: 0000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 00004000000000000000000000000000 +Ciphertext: 98A1B926BA06895C3F2E84CCBACBC356 +Test: Encrypt +Comment: Set 2, vector 18 +Key: 0000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 00002000000000000000000000000000 +Ciphertext: 29BE0BE4DB7F4D196718AEA38F3B0BFD +Test: Encrypt +Comment: Set 2, vector 19 +Key: 0000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 00001000000000000000000000000000 +Ciphertext: F670C4EBECBA0B43E71F6D752BFD4854 +Test: Encrypt +Comment: Set 2, vector 20 +Key: 0000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 00000800000000000000000000000000 +Ciphertext: 7D7666B4484CDB7E3605468E093A787C +Test: Encrypt +Comment: Set 2, vector 21 +Key: 0000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 00000400000000000000000000000000 +Ciphertext: 562D06B181C091DA6C43642AE99460C6 +Test: Encrypt +Comment: Set 2, vector 22 +Key: 0000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 00000200000000000000000000000000 +Ciphertext: AB0EFB5975E6186B7D76BC9672453488 +Test: Encrypt +Comment: Set 2, vector 23 +Key: 0000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 00000100000000000000000000000000 +Ciphertext: 10C0756538E7BFF88D19AE2B1F7B859A +Test: Encrypt +Comment: Set 2, vector 24 +Key: 0000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 00000080000000000000000000000000 +Ciphertext: AF7FCD5248F8C72F1695AA05DD1CADE0 +Test: Encrypt +Comment: Set 2, vector 25 +Key: 0000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 00000040000000000000000000000000 +Ciphertext: 9841E555655609A75D7BE20B8A90EF1E +Test: Encrypt +Comment: Set 2, vector 26 +Key: 0000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 00000020000000000000000000000000 +Ciphertext: 27F9546E6A1B7464780000561783569C +Test: Encrypt +Comment: Set 2, vector 27 +Key: 0000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 00000010000000000000000000000000 +Ciphertext: 8671D935D7A8354EECB7288803D42D7A +Test: Encrypt +Comment: Set 2, vector 28 +Key: 0000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 00000008000000000000000000000000 +Ciphertext: 0DA44F508DEBC6F044394624FCEB8EBE +Test: Encrypt +Comment: Set 2, vector 29 +Key: 0000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 00000004000000000000000000000000 +Ciphertext: AB137369BE6D93FBB18006BDB236EC09 +Test: Encrypt +Comment: Set 2, vector 30 +Key: 0000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 00000002000000000000000000000000 +Ciphertext: EB90C4E597A7E1779FFA260886E26F75 +Test: Encrypt +Comment: Set 2, vector 31 +Key: 0000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 00000001000000000000000000000000 +Ciphertext: 618CF3588D5C128EAF252616230E08F7 +Test: Encrypt +Comment: Set 2, vector 32 +Key: 0000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 00000000800000000000000000000000 +Ciphertext: 98DC4DB49D197AB9152D12B9DE2D73CA +Test: Encrypt +Comment: Set 2, vector 33 +Key: 0000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 00000000400000000000000000000000 +Ciphertext: 5BDDE24B15702A35E1F140C57D206443 +Test: Encrypt +Comment: Set 2, vector 34 +Key: 0000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 00000000200000000000000000000000 +Ciphertext: CF755809882BED8BA2F9F1A4ED296A2B +Test: Encrypt +Comment: Set 2, vector 35 +Key: 0000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 00000000100000000000000000000000 +Ciphertext: F1A8DBB999538AE89D16F92A7F4D1DF1 +Test: Encrypt +Comment: Set 2, vector 36 +Key: 0000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 00000000080000000000000000000000 +Ciphertext: 775222FDDAAECB81CF675C4E0B98179E +Test: Encrypt +Comment: Set 2, vector 37 +Key: 0000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 00000000040000000000000000000000 +Ciphertext: 12A648CADCD153C760A965826683119A +Test: Encrypt +Comment: Set 2, vector 38 +Key: 0000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 00000000020000000000000000000000 +Ciphertext: 0503FB10AB241E7CF45D8CDEEE474335 +Test: Encrypt +Comment: Set 2, vector 39 +Key: 0000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 00000000010000000000000000000000 +Ciphertext: 3D299C0070CBBD831B802690B8E7CA24 +Test: Encrypt +Comment: Set 2, vector 40 +Key: 0000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 00000000008000000000000000000000 +Ciphertext: 33105BD4D11D66753DC34D128BEFE3F4 +Test: Encrypt +Comment: Set 2, vector 41 +Key: 0000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 00000000004000000000000000000000 +Ciphertext: 5EFCE2B4B987C0F77D27B44836881682 +Test: Encrypt +Comment: Set 2, vector 42 +Key: 0000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 00000000002000000000000000000000 +Ciphertext: 7835449454128035D7F0EA99E327577B +Test: Encrypt +Comment: Set 2, vector 43 +Key: 0000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 00000000001000000000000000000000 +Ciphertext: 27BEDDA0601BE35122FB1D272D73AB3E +Test: Encrypt +Comment: Set 2, vector 44 +Key: 0000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 00000000000800000000000000000000 +Ciphertext: 54C3F99FF48E318CC515EDE75800C4B3 +Test: Encrypt +Comment: Set 2, vector 45 +Key: 0000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 00000000000400000000000000000000 +Ciphertext: C627C329F8E48299F6FDB23B9DBEA0BB +Test: Encrypt +Comment: Set 2, vector 46 +Key: 0000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 00000000000200000000000000000000 +Ciphertext: 1B6578F9E23BD8C1845A02431C5F9AA3 +Test: Encrypt +Comment: Set 2, vector 47 +Key: 0000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 00000000000100000000000000000000 +Ciphertext: 6DB2FB8C0B9344D0547C0FF1292020C6 +Test: Encrypt +Comment: Set 2, vector 48 +Key: 0000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 00000000000080000000000000000000 +Ciphertext: 4FAD9B2C37C131493FBEF53581FA4F83 +Test: Encrypt +Comment: Set 2, vector 49 +Key: 0000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 00000000000040000000000000000000 +Ciphertext: 47502A01E93D2C87BD5584F6AFD3D99D +Test: Encrypt +Comment: Set 2, vector 50 +Key: 0000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 00000000000020000000000000000000 +Ciphertext: 056E1C6F651BFE50271B3B7A18E76D84 +Test: Encrypt +Comment: Set 2, vector 51 +Key: 0000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 00000000000010000000000000000000 +Ciphertext: 5632BAF6627B3D96AD4E06FA6A561F55 +Test: Encrypt +Comment: Set 2, vector 52 +Key: 0000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 00000000000008000000000000000000 +Ciphertext: E29807CAACDFA2D41A7D9E91FA7FD8EB +Test: Encrypt +Comment: Set 2, vector 53 +Key: 0000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 00000000000004000000000000000000 +Ciphertext: 81DD44BB5D1822DEE605F9E6FF01D7B3 +Test: Encrypt +Comment: Set 2, vector 54 +Key: 0000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 00000000000002000000000000000000 +Ciphertext: 5C3649925E47D7FF96482A8FBD9666FD +Test: Encrypt +Comment: Set 2, vector 55 +Key: 0000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 00000000000001000000000000000000 +Ciphertext: 695415A836E66E737887845EC08A1ADB +Test: Encrypt +Comment: Set 2, vector 56 +Key: 0000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 00000000000000800000000000000000 +Ciphertext: F5416BCE292D9E2CEA5D1CC70BBAEED1 +Test: Encrypt +Comment: Set 2, vector 57 +Key: 0000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 00000000000000400000000000000000 +Ciphertext: 7AEC4F1388FC29C47F7FED74ADDE8485 +Test: Encrypt +Comment: Set 2, vector 58 +Key: 0000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 00000000000000200000000000000000 +Ciphertext: 82A9F1A6CE08BC4876E649D8A8EA7EB6 +Test: Encrypt +Comment: Set 2, vector 59 +Key: 0000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 00000000000000100000000000000000 +Ciphertext: B6296C88ADF1A792908B065EEB04BFC2 +Test: Encrypt +Comment: Set 2, vector 60 +Key: 0000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 00000000000000080000000000000000 +Ciphertext: E766A39AECCA40BDBFBE6FF3FA292913 +Test: Encrypt +Comment: Set 2, vector 61 +Key: 0000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 00000000000000040000000000000000 +Ciphertext: C6D081454EA00D83C23B5A62C84359E1 +Test: Encrypt +Comment: Set 2, vector 62 +Key: 0000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 00000000000000020000000000000000 +Ciphertext: 85D259A79CCA80484504D1603F7A8F53 +Test: Encrypt +Comment: Set 2, vector 63 +Key: 0000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 00000000000000010000000000000000 +Ciphertext: D8291FA1C6DC250078824B2D0A20883F +Test: Encrypt +Comment: Set 2, vector 64 +Key: 0000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 00000000000000008000000000000000 +Ciphertext: 95387CB74C48FFBD1F8D64A6CC45E074 +Test: Encrypt +Comment: Set 2, vector 65 +Key: 0000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 00000000000000004000000000000000 +Ciphertext: A17F975F538F56CDF629B516011DE837 +Test: Encrypt +Comment: Set 2, vector 66 +Key: 0000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 00000000000000002000000000000000 +Ciphertext: B50B615A1654C6E1CB6AB33716C097FE +Test: Encrypt +Comment: Set 2, vector 67 +Key: 0000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 00000000000000001000000000000000 +Ciphertext: 7BBB2CBB874DF6C8B821DA7FB0F9011B +Test: Encrypt +Comment: Set 2, vector 68 +Key: 0000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 00000000000000000800000000000000 +Ciphertext: E9EFE074D096A275E47CD2E6206DF6A1 +Test: Encrypt +Comment: Set 2, vector 69 +Key: 0000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 00000000000000000400000000000000 +Ciphertext: 88F2F8D5A836406AE8BBB98C65BBDA55 +Test: Encrypt +Comment: Set 2, vector 70 +Key: 0000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 00000000000000000200000000000000 +Ciphertext: F64620D8D87585A3EF038B9AD58F5EA0 +Test: Encrypt +Comment: Set 2, vector 71 +Key: 0000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 00000000000000000100000000000000 +Ciphertext: 694438EC141C8ED5F2F898B4554A298F +Test: Encrypt +Comment: Set 2, vector 72 +Key: 0000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 00000000000000000080000000000000 +Ciphertext: 3E6226EC7726A1EE5F5FA9B18CCE8C44 +Test: Encrypt +Comment: Set 2, vector 73 +Key: 0000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 00000000000000000040000000000000 +Ciphertext: 8AB6949E79911647800B9E87362AB97A +Test: Encrypt +Comment: Set 2, vector 74 +Key: 0000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 00000000000000000020000000000000 +Ciphertext: 093C5CF24EDAF7F9F1C8A80DE4FF50A9 +Test: Encrypt +Comment: Set 2, vector 75 +Key: 0000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 00000000000000000010000000000000 +Ciphertext: 28A36E50061F19E240351ED0E378CBF4 +Test: Encrypt +Comment: Set 2, vector 76 +Key: 0000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 00000000000000000008000000000000 +Ciphertext: B93BB36CB88BF26EA79198652AA51D3C +Test: Encrypt +Comment: Set 2, vector 77 +Key: 0000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 00000000000000000004000000000000 +Ciphertext: DE4948083D044FAC9BCA6DA8CD67B8A6 +Test: Encrypt +Comment: Set 2, vector 78 +Key: 0000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 00000000000000000002000000000000 +Ciphertext: 6E778B5BDA6CA118117E47470D080D3C +Test: Encrypt +Comment: Set 2, vector 79 +Key: 0000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 00000000000000000001000000000000 +Ciphertext: 0A9107324DA32B4281D032A3487EF875 +Test: Encrypt +Comment: Set 2, vector 80 +Key: 0000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 00000000000000000000800000000000 +Ciphertext: 18ED5635312D71ABD123CCE779D4D68A +Test: Encrypt +Comment: Set 2, vector 81 +Key: 0000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 00000000000000000000400000000000 +Ciphertext: 2E3C63F95C4BC1F944BAB06DEDC9AA8E +Test: Encrypt +Comment: Set 2, vector 82 +Key: 0000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 00000000000000000000200000000000 +Ciphertext: ACCC869EF07004C8C3C709083BE7BA2F +Test: Encrypt +Comment: Set 2, vector 83 +Key: 0000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 00000000000000000000100000000000 +Ciphertext: DF60B34FB1A59147CC1FB049C1578206 +Test: Encrypt +Comment: Set 2, vector 84 +Key: 0000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 00000000000000000000080000000000 +Ciphertext: 4228DC636C08E41021054AA0E1E2227A +Test: Encrypt +Comment: Set 2, vector 85 +Key: 0000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 00000000000000000000040000000000 +Ciphertext: 7CE27F66EFD735FFD6B3E1738C50495B +Test: Encrypt +Comment: Set 2, vector 86 +Key: 0000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 00000000000000000000020000000000 +Ciphertext: F8E74B33A9CDE351DA0BBC06D69093D7 +Test: Encrypt +Comment: Set 2, vector 87 +Key: 0000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 00000000000000000000010000000000 +Ciphertext: AE0D22A5B37B8DC5D81CC641EED334D0 +Test: Encrypt +Comment: Set 2, vector 88 +Key: 0000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 00000000000000000000008000000000 +Ciphertext: C181C6CA5E163743458B9167A0B6A16A +Test: Encrypt +Comment: Set 2, vector 89 +Key: 0000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 00000000000000000000004000000000 +Ciphertext: 5171F4F6095E4B276CFBA1F07223FBE6 +Test: Encrypt +Comment: Set 2, vector 90 +Key: 0000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 00000000000000000000002000000000 +Ciphertext: 2732F4D3A8C9D1D8D493840D6E0B864F +Test: Encrypt +Comment: Set 2, vector 91 +Key: 0000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 00000000000000000000001000000000 +Ciphertext: 3EF04E0059A061D973532CA5C1DFBE7B +Test: Encrypt +Comment: Set 2, vector 92 +Key: 0000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 00000000000000000000000800000000 +Ciphertext: 6D9A8F23579E4978EBAA87B5ADEB77E5 +Test: Encrypt +Comment: Set 2, vector 93 +Key: 0000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 00000000000000000000000400000000 +Ciphertext: BBD08873CC44BA4253C0C41FEEB7F124 +Test: Encrypt +Comment: Set 2, vector 94 +Key: 0000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 00000000000000000000000200000000 +Ciphertext: 72E4B2437CBD283F3809CE686F6A591E +Test: Encrypt +Comment: Set 2, vector 95 +Key: 0000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 00000000000000000000000100000000 +Ciphertext: 6E5580514B92512B1BF4B1B987B9AA1B +Test: Encrypt +Comment: Set 2, vector 96 +Key: 0000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 00000000000000000000000080000000 +Ciphertext: 5EF5D0C5BCBDCB604D3A083B68CE0FA3 +Test: Encrypt +Comment: Set 2, vector 97 +Key: 0000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 00000000000000000000000040000000 +Ciphertext: 9D991FDD723AD2182777A15CA0E0F665 +Test: Encrypt +Comment: Set 2, vector 98 +Key: 0000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 00000000000000000000000020000000 +Ciphertext: 24440626EFC8F86BEA7DE78085AB8A22 +Test: Encrypt +Comment: Set 2, vector 99 +Key: 0000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 00000000000000000000000010000000 +Ciphertext: 17C3630D62D13C1E826C0FCCBD74A864 +Test: Encrypt +Comment: Set 2, vector 100 +Key: 0000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 00000000000000000000000008000000 +Ciphertext: 4CF5AB86A56AB134A7FE46CCE3F9FCE9 +Test: Encrypt +Comment: Set 2, vector 101 +Key: 0000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 00000000000000000000000004000000 +Ciphertext: 3E6B9C0388F6D9B8F458F30221907607 +Test: Encrypt +Comment: Set 2, vector 102 +Key: 0000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 00000000000000000000000002000000 +Ciphertext: AD9C926B8A5CD98EEE88200617E59958 +Test: Encrypt +Comment: Set 2, vector 103 +Key: 0000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 00000000000000000000000001000000 +Ciphertext: AFF8AED5E075E02AF720CA4BF0028B3B +Test: Encrypt +Comment: Set 2, vector 104 +Key: 0000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 00000000000000000000000000800000 +Ciphertext: D90EAFF909202BB209BB3BB8C7F9A954 +Test: Encrypt +Comment: Set 2, vector 105 +Key: 0000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 00000000000000000000000000400000 +Ciphertext: 2C709B00E6A22F00F64A7D8EE341853F +Test: Encrypt +Comment: Set 2, vector 106 +Key: 0000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 00000000000000000000000000200000 +Ciphertext: CCEC598F0D9F0BF201B2F487136D54A4 +Test: Encrypt +Comment: Set 2, vector 107 +Key: 0000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 00000000000000000000000000100000 +Ciphertext: 73B2883A0A166AAE1BF14E60A5195FA3 +Test: Encrypt +Comment: Set 2, vector 108 +Key: 0000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 00000000000000000000000000080000 +Ciphertext: E676867BD9AD5EF915143388496779D7 +Test: Encrypt +Comment: Set 2, vector 109 +Key: 0000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 00000000000000000000000000040000 +Ciphertext: CDCB73D1BFCFD4BE7F1DAA9B1C6A4055 +Test: Encrypt +Comment: Set 2, vector 110 +Key: 0000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 00000000000000000000000000020000 +Ciphertext: 02A3A5C89DAA24CD2C517F7A73286A89 +Test: Encrypt +Comment: Set 2, vector 111 +Key: 0000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 00000000000000000000000000010000 +Ciphertext: C0FA2AC9E92EE58C2DD12D6D43AB7035 +Test: Encrypt +Comment: Set 2, vector 112 +Key: 0000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 00000000000000000000000000008000 +Ciphertext: EDC2CB1F7291353BDBF2385519E6AE16 +Test: Encrypt +Comment: Set 2, vector 113 +Key: 0000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 00000000000000000000000000004000 +Ciphertext: B4B62D16D197A98CD3B978812B9D9884 +Test: Encrypt +Comment: Set 2, vector 114 +Key: 0000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 00000000000000000000000000002000 +Ciphertext: 5CDFC95A529A905101CEA26BC1B891ED +Test: Encrypt +Comment: Set 2, vector 115 +Key: 0000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 00000000000000000000000000001000 +Ciphertext: CC7150CD3650B98363296C7C4ED368D1 +Test: Encrypt +Comment: Set 2, vector 116 +Key: 0000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 00000000000000000000000000000800 +Ciphertext: CC57706B0C6526B8E25A5DBD32EACBDB +Test: Encrypt +Comment: Set 2, vector 117 +Key: 0000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 00000000000000000000000000000400 +Ciphertext: 30D30456AD98B182D64C649648F6AEC9 +Test: Encrypt +Comment: Set 2, vector 118 +Key: 0000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 00000000000000000000000000000200 +Ciphertext: D7E9DA7F631938EB649A08AF82FBD75F +Test: Encrypt +Comment: Set 2, vector 119 +Key: 0000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 00000000000000000000000000000100 +Ciphertext: B8DA2AF6600B07895B5D0FFAF4991469 +Test: Encrypt +Comment: Set 2, vector 120 +Key: 0000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 00000000000000000000000000000080 +Ciphertext: 0F6F64F930BA6C178943322B98114599 +Test: Encrypt +Comment: Set 2, vector 121 +Key: 0000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 00000000000000000000000000000040 +Ciphertext: 8B1F247802E47C91BEE2AA34ECFD7A01 +Test: Encrypt +Comment: Set 2, vector 122 +Key: 0000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 00000000000000000000000000000020 +Ciphertext: 7A6985778D3A66E97F23E01F0D0E45E7 +Test: Encrypt +Comment: Set 2, vector 123 +Key: 0000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 00000000000000000000000000000010 +Ciphertext: BA664AC39855518DFDEE10D1B3111FAE +Test: Encrypt +Comment: Set 2, vector 124 +Key: 0000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 00000000000000000000000000000008 +Ciphertext: 7C92854D801A1648F65CA81813DDBF83 +Test: Encrypt +Comment: Set 2, vector 125 +Key: 0000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 00000000000000000000000000000004 +Ciphertext: 6A3F25AAB7E92D9CF378E5D9C040F26B +Test: Encrypt +Comment: Set 2, vector 126 +Key: 0000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 00000000000000000000000000000002 +Ciphertext: 3D4B2CDE666761BA5DFB305178E667FB +Test: Encrypt +Comment: Set 2, vector 127 +Key: 0000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 00000000000000000000000000000001 +Ciphertext: 9CDB269B5D293BC5DB9C55B057D9B591 +Test: Encrypt +Comment: Set 3, vector 0 +Key: 0000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 00000000000000000000000000000000 +Ciphertext: 396154111ADEFC500CF6E5C99038BC17 +Test: Encrypt +Comment: Set 3, vector 1 +Key: 0101010101010101010101010101010101010101010101010101010101010101 +Plaintext: 01010101010101010101010101010101 +Ciphertext: 438D0C2E7E86869B56EBA23B66086A01 +Test: Encrypt +Comment: Set 3, vector 2 +Key: 0202020202020202020202020202020202020202020202020202020202020202 +Plaintext: 02020202020202020202020202020202 +Ciphertext: D4F553BFA794F55EF3B7A578629F6DEA +Test: Encrypt +Comment: Set 3, vector 3 +Key: 0303030303030303030303030303030303030303030303030303030303030303 +Plaintext: 03030303030303030303030303030303 +Ciphertext: B1EB06630CF3E25AEF18FA34709232F7 +Test: Encrypt +Comment: Set 3, vector 4 +Key: 0404040404040404040404040404040404040404040404040404040404040404 +Plaintext: 04040404040404040404040404040404 +Ciphertext: 5E858730ABC9823A93CA4CAB67F0B423 +Test: Encrypt +Comment: Set 3, vector 5 +Key: 0505050505050505050505050505050505050505050505050505050505050505 +Plaintext: 05050505050505050505050505050505 +Ciphertext: 9FC988D43FE3712CF6D2DB552FE3C80F +Test: Encrypt +Comment: Set 3, vector 6 +Key: 0606060606060606060606060606060606060606060606060606060606060606 +Plaintext: 06060606060606060606060606060606 +Ciphertext: 6109500D59414C9974D15818A2BA6DD0 +Test: Encrypt +Comment: Set 3, vector 7 +Key: 0707070707070707070707070707070707070707070707070707070707070707 +Plaintext: 07070707070707070707070707070707 +Ciphertext: 5F6BF9AC53A680EACAE7583A8933DA8E +Test: Encrypt +Comment: Set 3, vector 8 +Key: 0808080808080808080808080808080808080808080808080808080808080808 +Plaintext: 08080808080808080808080808080808 +Ciphertext: F9A9C1540AE1B314DBEDF9A49054DC9D +Test: Encrypt +Comment: Set 3, vector 9 +Key: 0909090909090909090909090909090909090909090909090909090909090909 +Plaintext: 09090909090909090909090909090909 +Ciphertext: 6D66755ACDB9D90BEC599A0BC0C7BF48 +Test: Encrypt +Comment: Set 3, vector 10 +Key: 0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A +Plaintext: 0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A +Ciphertext: 5527F328AF93C2D5CCC80AF7A3E8DF3D +Test: Encrypt +Comment: Set 3, vector 11 +Key: 0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B +Plaintext: 0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B +Ciphertext: 27AA99F8E6EA08D8E8D5A528EE4774B6 +Test: Encrypt +Comment: Set 3, vector 12 +Key: 0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C +Plaintext: 0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C +Ciphertext: 46F7D660A22232F5E3664EF355098CE4 +Test: Encrypt +Comment: Set 3, vector 13 +Key: 0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D +Plaintext: 0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D +Ciphertext: BDC0AEC72B53B747AB5C7BD62062826A +Test: Encrypt +Comment: Set 3, vector 14 +Key: 0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E +Plaintext: 0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E +Ciphertext: A0CAB391DC8BFF0281F3E1C70C1CE33B +Test: Encrypt +Comment: Set 3, vector 15 +Key: 0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F +Plaintext: 0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F +Ciphertext: 5CBFB3E894AE1428549CCF777A9F0A73 +Test: Encrypt +Comment: Set 3, vector 16 +Key: 1010101010101010101010101010101010101010101010101010101010101010 +Plaintext: 10101010101010101010101010101010 +Ciphertext: 6693FC130669F194F81E8D175194DDA2 +Test: Encrypt +Comment: Set 3, vector 17 +Key: 1111111111111111111111111111111111111111111111111111111111111111 +Plaintext: 11111111111111111111111111111111 +Ciphertext: A6A72472F8C04329C0E2FB56982A33C7 +Test: Encrypt +Comment: Set 3, vector 18 +Key: 1212121212121212121212121212121212121212121212121212121212121212 +Plaintext: 12121212121212121212121212121212 +Ciphertext: 6321875C5F89CCE16C6FF5E85E759C9A +Test: Encrypt +Comment: Set 3, vector 19 +Key: 1313131313131313131313131313131313131313131313131313131313131313 +Plaintext: 13131313131313131313131313131313 +Ciphertext: 8819C97D05C91A23062E9851F07EF6F7 +Test: Encrypt +Comment: Set 3, vector 20 +Key: 1414141414141414141414141414141414141414141414141414141414141414 +Plaintext: 14141414141414141414141414141414 +Ciphertext: F894FEB12164BB32AC846DD9530604CE +Test: Encrypt +Comment: Set 3, vector 21 +Key: 1515151515151515151515151515151515151515151515151515151515151515 +Plaintext: 15151515151515151515151515151515 +Ciphertext: 61B02392CD3F571B35C862E703DB2053 +Test: Encrypt +Comment: Set 3, vector 22 +Key: 1616161616161616161616161616161616161616161616161616161616161616 +Plaintext: 16161616161616161616161616161616 +Ciphertext: 6269E137F8480D555D1B24F392162DBA +Test: Encrypt +Comment: Set 3, vector 23 +Key: 1717171717171717171717171717171717171717171717171717171717171717 +Plaintext: 17171717171717171717171717171717 +Ciphertext: B6662F56AA3D23DE1DFDE165B2D63FA0 +Test: Encrypt +Comment: Set 3, vector 24 +Key: 1818181818181818181818181818181818181818181818181818181818181818 +Plaintext: 18181818181818181818181818181818 +Ciphertext: C8271ACE969013EE2C9EF1512FFABAE5 +Test: Encrypt +Comment: Set 3, vector 25 +Key: 1919191919191919191919191919191919191919191919191919191919191919 +Plaintext: 19191919191919191919191919191919 +Ciphertext: 6982E764E750CDF3E5F9C4E40A5DFE28 +Test: Encrypt +Comment: Set 3, vector 26 +Key: 1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A +Plaintext: 1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A +Ciphertext: 23172E86AF4A140A78CB1DC776270FFF +Test: Encrypt +Comment: Set 3, vector 27 +Key: 1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B +Plaintext: 1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B +Ciphertext: BA0BD958FC1DE142EC40326B2C315AA5 +Test: Encrypt +Comment: Set 3, vector 28 +Key: 1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C +Plaintext: 1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C +Ciphertext: 7FB2B8A4B95CBFB74BFD5F7A5641261C +Test: Encrypt +Comment: Set 3, vector 29 +Key: 1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D +Plaintext: 1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D +Ciphertext: 56B261D89F8978041E2602DF97386BF7 +Test: Encrypt +Comment: Set 3, vector 30 +Key: 1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E +Plaintext: 1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E +Ciphertext: A2D74F5148C84C1F990290E17DD3EDFA +Test: Encrypt +Comment: Set 3, vector 31 +Key: 1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F +Plaintext: 1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F +Ciphertext: 7D8BC76F1D941FC3C7E4C6F17AC03FF4 +Test: Encrypt +Comment: Set 3, vector 32 +Key: 2020202020202020202020202020202020202020202020202020202020202020 +Plaintext: 20202020202020202020202020202020 +Ciphertext: F3E1FDA6B9C8314799F4654C29F1C690 +Test: Encrypt +Comment: Set 3, vector 33 +Key: 2121212121212121212121212121212121212121212121212121212121212121 +Plaintext: 21212121212121212121212121212121 +Ciphertext: 9BB8499B8631F6211D22DE555010E482 +Test: Encrypt +Comment: Set 3, vector 34 +Key: 2222222222222222222222222222222222222222222222222222222222222222 +Plaintext: 22222222222222222222222222222222 +Ciphertext: B098D857086ABC425B437BD63E8A53D2 +Test: Encrypt +Comment: Set 3, vector 35 +Key: 2323232323232323232323232323232323232323232323232323232323232323 +Plaintext: 23232323232323232323232323232323 +Ciphertext: F157E2B1298A205C7EF526F3E3196BF4 +Test: Encrypt +Comment: Set 3, vector 36 +Key: 2424242424242424242424242424242424242424242424242424242424242424 +Plaintext: 24242424242424242424242424242424 +Ciphertext: 91FE4F664ED2FE0097D8B95703694BBE +Test: Encrypt +Comment: Set 3, vector 37 +Key: 2525252525252525252525252525252525252525252525252525252525252525 +Plaintext: 25252525252525252525252525252525 +Ciphertext: 742EF3C2DC4490F7D1BDB3031137B6C1 +Test: Encrypt +Comment: Set 3, vector 38 +Key: 2626262626262626262626262626262626262626262626262626262626262626 +Plaintext: 26262626262626262626262626262626 +Ciphertext: 79302D9C8DBBBDAD7B8D8B9E7A60E42D +Test: Encrypt +Comment: Set 3, vector 39 +Key: 2727272727272727272727272727272727272727272727272727272727272727 +Plaintext: 27272727272727272727272727272727 +Ciphertext: 4F4DA48026B809452E7FFB1C3DAFBD99 +Test: Encrypt +Comment: Set 3, vector 40 +Key: 2828282828282828282828282828282828282828282828282828282828282828 +Plaintext: 28282828282828282828282828282828 +Ciphertext: 6D9DF175ED0DAFE550619CF8362B98E8 +Test: Encrypt +Comment: Set 3, vector 41 +Key: 2929292929292929292929292929292929292929292929292929292929292929 +Plaintext: 29292929292929292929292929292929 +Ciphertext: 5D4A406E3C89612AA89A9D38A80ECFEF +Test: Encrypt +Comment: Set 3, vector 42 +Key: 2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A +Plaintext: 2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A +Ciphertext: 51CE933AD1EB3117A129788D3D0B815A +Test: Encrypt +Comment: Set 3, vector 43 +Key: 2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B +Plaintext: 2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B +Ciphertext: DD39326230AC02767866ADE07AED1DAA +Test: Encrypt +Comment: Set 3, vector 44 +Key: 2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C +Plaintext: 2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C +Ciphertext: DC493BAD40D435273B18026DE5412278 +Test: Encrypt +Comment: Set 3, vector 45 +Key: 2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D +Plaintext: 2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D +Ciphertext: 8A61E9750E1DAC58C92F5E243CA7465B +Test: Encrypt +Comment: Set 3, vector 46 +Key: 2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E +Plaintext: 2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E +Ciphertext: 57A7641E6A7B61A86AFD7A23578DFBC5 +Test: Encrypt +Comment: Set 3, vector 47 +Key: 2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F +Plaintext: 2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F +Ciphertext: 019A8F9D38B4B92B077D08B025C15550 +Test: Encrypt +Comment: Set 3, vector 48 +Key: 3030303030303030303030303030303030303030303030303030303030303030 +Plaintext: 30303030303030303030303030303030 +Ciphertext: 9F6EEA9C215C273135C53A3F4208469E +Test: Encrypt +Comment: Set 3, vector 49 +Key: 3131313131313131313131313131313131313131313131313131313131313131 +Plaintext: 31313131313131313131313131313131 +Ciphertext: 7BF3D63D790CAB57EA8354B10FEBDE18 +Test: Encrypt +Comment: Set 3, vector 50 +Key: 3232323232323232323232323232323232323232323232323232323232323232 +Plaintext: 32323232323232323232323232323232 +Ciphertext: AB30751ED4052A1D916E50C4073DFCB5 +Test: Encrypt +Comment: Set 3, vector 51 +Key: 3333333333333333333333333333333333333333333333333333333333333333 +Plaintext: 33333333333333333333333333333333 +Ciphertext: C39180F205BBA8BEE9832BF56FCC75C0 +Test: Encrypt +Comment: Set 3, vector 52 +Key: 3434343434343434343434343434343434343434343434343434343434343434 +Plaintext: 34343434343434343434343434343434 +Ciphertext: 3BEDE5E09CB9CCFC8BE38F8378D49AE9 +Test: Encrypt +Comment: Set 3, vector 53 +Key: 3535353535353535353535353535353535353535353535353535353535353535 +Plaintext: 35353535353535353535353535353535 +Ciphertext: 448AE4ADF7070A8B8C4AB0FE7277E8D7 +Test: Encrypt +Comment: Set 3, vector 54 +Key: 3636363636363636363636363636363636363636363636363636363636363636 +Plaintext: 36363636363636363636363636363636 +Ciphertext: 095A361F2243FC39F4ECD94A5AC0F94A +Test: Encrypt +Comment: Set 3, vector 55 +Key: 3737373737373737373737373737373737373737373737373737373737373737 +Plaintext: 37373737373737373737373737373737 +Ciphertext: AD77D7D2A7F3AF5732CE5A51E83D7025 +Test: Encrypt +Comment: Set 3, vector 56 +Key: 3838383838383838383838383838383838383838383838383838383838383838 +Plaintext: 38383838383838383838383838383838 +Ciphertext: 930DA09C18DF5F6D072AA662CC8F7751 +Test: Encrypt +Comment: Set 3, vector 57 +Key: 3939393939393939393939393939393939393939393939393939393939393939 +Plaintext: 39393939393939393939393939393939 +Ciphertext: F3B3871B66FE8A1FA4AE2150EC8B7060 +Test: Encrypt +Comment: Set 3, vector 58 +Key: 3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A +Plaintext: 3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A +Ciphertext: 62DD93CFA7EFC223A822A6F754B6298D +Test: Encrypt +Comment: Set 3, vector 59 +Key: 3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B +Plaintext: 3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B +Ciphertext: C86A0377B3C45C2B1896829D7B0610F3 +Test: Encrypt +Comment: Set 3, vector 60 +Key: 3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C +Plaintext: 3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C +Ciphertext: 8CCFC961EBAB55C0ECB1B10EDEDD9C61 +Test: Encrypt +Comment: Set 3, vector 61 +Key: 3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D +Plaintext: 3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D +Ciphertext: D828E857BDBD6192300764A2084E0680 +Test: Encrypt +Comment: Set 3, vector 62 +Key: 3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E +Plaintext: 3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E +Ciphertext: 24C0DC84D72EA678201534CE8DC22A45 +Test: Encrypt +Comment: Set 3, vector 63 +Key: 3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F +Plaintext: 3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F +Ciphertext: D65F340A25D35E5D0B08C63FA44F9898 +Test: Encrypt +Comment: Set 3, vector 64 +Key: 4040404040404040404040404040404040404040404040404040404040404040 +Plaintext: 40404040404040404040404040404040 +Ciphertext: 4A30476F1141FBF303ED63FCD3CB0536 +Test: Encrypt +Comment: Set 3, vector 65 +Key: 4141414141414141414141414141414141414141414141414141414141414141 +Plaintext: 41414141414141414141414141414141 +Ciphertext: 78246080B38B5283960E0253E2FF6A5E +Test: Encrypt +Comment: Set 3, vector 66 +Key: 4242424242424242424242424242424242424242424242424242424242424242 +Plaintext: 42424242424242424242424242424242 +Ciphertext: 475E8388EE3D3EE111DD0E816B244DD2 +Test: Encrypt +Comment: Set 3, vector 67 +Key: 4343434343434343434343434343434343434343434343434343434343434343 +Plaintext: 43434343434343434343434343434343 +Ciphertext: D40D3FECE8B05875F2FCD23526CCD6B2 +Test: Encrypt +Comment: Set 3, vector 68 +Key: 4444444444444444444444444444444444444444444444444444444444444444 +Plaintext: 44444444444444444444444444444444 +Ciphertext: CD9846E1B120482E6B6D71C4F5D704FE +Test: Encrypt +Comment: Set 3, vector 69 +Key: 4545454545454545454545454545454545454545454545454545454545454545 +Plaintext: 45454545454545454545454545454545 +Ciphertext: E707C35474257CE52617B5889ECB974B +Test: Encrypt +Comment: Set 3, vector 70 +Key: 4646464646464646464646464646464646464646464646464646464646464646 +Plaintext: 46464646464646464646464646464646 +Ciphertext: 9A79D57FD89D938F4B4CACA52E8CB544 +Test: Encrypt +Comment: Set 3, vector 71 +Key: 4747474747474747474747474747474747474747474747474747474747474747 +Plaintext: 47474747474747474747474747474747 +Ciphertext: 34F9B98AC130F7E7B123ECBF8910735C +Test: Encrypt +Comment: Set 3, vector 72 +Key: 4848484848484848484848484848484848484848484848484848484848484848 +Plaintext: 48484848484848484848484848484848 +Ciphertext: BF75CC83FE76E8A15981DA738E5A8513 +Test: Encrypt +Comment: Set 3, vector 73 +Key: 4949494949494949494949494949494949494949494949494949494949494949 +Plaintext: 49494949494949494949494949494949 +Ciphertext: 4A452EFBE634441444FB50641CB2EFC1 +Test: Encrypt +Comment: Set 3, vector 74 +Key: 4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A +Plaintext: 4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A +Ciphertext: 3D5ED11F0C81E81BAB97B7148D67BA55 +Test: Encrypt +Comment: Set 3, vector 75 +Key: 4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B +Plaintext: 4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B +Ciphertext: DBBAE78B177C27954DEDBAD5D98E7BEE +Test: Encrypt +Comment: Set 3, vector 76 +Key: 4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C +Plaintext: 4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C +Ciphertext: F52D16EFC5DE991430F6E7D13983DEB8 +Test: Encrypt +Comment: Set 3, vector 77 +Key: 4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D +Plaintext: 4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D +Ciphertext: B6C98EBC320B3BDD927C2FE57F8180B5 +Test: Encrypt +Comment: Set 3, vector 78 +Key: 4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E +Plaintext: 4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E +Ciphertext: D510C35680C9B958C81599F3665FBEC1 +Test: Encrypt +Comment: Set 3, vector 79 +Key: 4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F +Plaintext: 4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F +Ciphertext: 72DAD08BF510CDFEEC76FEAB908829B4 +Test: Encrypt +Comment: Set 3, vector 80 +Key: 5050505050505050505050505050505050505050505050505050505050505050 +Plaintext: 50505050505050505050505050505050 +Ciphertext: AC7B447EDB38F935469309E766BCB1F6 +Test: Encrypt +Comment: Set 3, vector 81 +Key: 5151515151515151515151515151515151515151515151515151515151515151 +Plaintext: 51515151515151515151515151515151 +Ciphertext: 18B937F666BF580F9CDB60A935427459 +Test: Encrypt +Comment: Set 3, vector 82 +Key: 5252525252525252525252525252525252525252525252525252525252525252 +Plaintext: 52525252525252525252525252525252 +Ciphertext: 6A08B38202685E610CA9584725D6092A +Test: Encrypt +Comment: Set 3, vector 83 +Key: 5353535353535353535353535353535353535353535353535353535353535353 +Plaintext: 53535353535353535353535353535353 +Ciphertext: 1CA09E9C14C2A833A7B7ACB1C9C12AC1 +Test: Encrypt +Comment: Set 3, vector 84 +Key: 5454545454545454545454545454545454545454545454545454545454545454 +Plaintext: 54545454545454545454545454545454 +Ciphertext: 8AB7ED64FE477B7D9A6B5B5056EA1E02 +Test: Encrypt +Comment: Set 3, vector 85 +Key: 5555555555555555555555555555555555555555555555555555555555555555 +Plaintext: 55555555555555555555555555555555 +Ciphertext: D610D6199D4FE03ED09AD568664F709A +Test: Encrypt +Comment: Set 3, vector 86 +Key: 5656565656565656565656565656565656565656565656565656565656565656 +Plaintext: 56565656565656565656565656565656 +Ciphertext: D400C1E6109F04AE50C1C341BA4E3175 +Test: Encrypt +Comment: Set 3, vector 87 +Key: 5757575757575757575757575757575757575757575757575757575757575757 +Plaintext: 57575757575757575757575757575757 +Ciphertext: DF888CBB7DBD8DE3F0BE6C6EDC72060F +Test: Encrypt +Comment: Set 3, vector 88 +Key: 5858585858585858585858585858585858585858585858585858585858585858 +Plaintext: 58585858585858585858585858585858 +Ciphertext: 9C3B100466C63AA93D420EDF54381BF4 +Test: Encrypt +Comment: Set 3, vector 89 +Key: 5959595959595959595959595959595959595959595959595959595959595959 +Plaintext: 59595959595959595959595959595959 +Ciphertext: 0BE794F0233BE9A7DB7C41A1CA4BA7E3 +Test: Encrypt +Comment: Set 3, vector 90 +Key: 5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A +Plaintext: 5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A +Ciphertext: 2C8D04D6B9DA81D07174729A07F25BB9 +Test: Encrypt +Comment: Set 3, vector 91 +Key: 5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B +Plaintext: 5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B +Ciphertext: FFCEB69835E2E5EF4C867CE28540F91F +Test: Encrypt +Comment: Set 3, vector 92 +Key: 5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C +Plaintext: 5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C +Ciphertext: A7F7F8437918BEFF5DCFCFB366CDFABD +Test: Encrypt +Comment: Set 3, vector 93 +Key: 5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D +Plaintext: 5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D +Ciphertext: 14C9736F407AE78D7D3ED18B875B940D +Test: Encrypt +Comment: Set 3, vector 94 +Key: 5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E +Plaintext: 5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E +Ciphertext: 1668A0C6A5734B98D9D641E0B6FAD80C +Test: Encrypt +Comment: Set 3, vector 95 +Key: 5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F +Plaintext: 5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F +Ciphertext: DA8775267C9722BA743A085F8591F06D +Test: Encrypt +Comment: Set 3, vector 96 +Key: 6060606060606060606060606060606060606060606060606060606060606060 +Plaintext: 60606060606060606060606060606060 +Ciphertext: 5F8172C28603C80206C276E0979EA40E +Test: Encrypt +Comment: Set 3, vector 97 +Key: 6161616161616161616161616161616161616161616161616161616161616161 +Plaintext: 61616161616161616161616161616161 +Ciphertext: E4938D0078D29E0247BF2EA0C1FCB85F +Test: Encrypt +Comment: Set 3, vector 98 +Key: 6262626262626262626262626262626262626262626262626262626262626262 +Plaintext: 62626262626262626262626262626262 +Ciphertext: A48FEE4F9FA4597303C2CF92061304A1 +Test: Encrypt +Comment: Set 3, vector 99 +Key: 6363636363636363636363636363636363636363636363636363636363636363 +Plaintext: 63636363636363636363636363636363 +Ciphertext: 3C8F6CF66C73684DDB09D1AA57CD0950 +Test: Encrypt +Comment: Set 3, vector 100 +Key: 6464646464646464646464646464646464646464646464646464646464646464 +Plaintext: 64646464646464646464646464646464 +Ciphertext: B3D9EE0337253E9C4027FEA938AB399C +Test: Encrypt +Comment: Set 3, vector 101 +Key: 6565656565656565656565656565656565656565656565656565656565656565 +Plaintext: 65656565656565656565656565656565 +Ciphertext: 3BE933A85E5997573077903CEB481AFA +Test: Encrypt +Comment: Set 3, vector 102 +Key: 6666666666666666666666666666666666666666666666666666666666666666 +Plaintext: 66666666666666666666666666666666 +Ciphertext: 06AFED96C6E7130EB3311D81CCE69F9C +Test: Encrypt +Comment: Set 3, vector 103 +Key: 6767676767676767676767676767676767676767676767676767676767676767 +Plaintext: 67676767676767676767676767676767 +Ciphertext: 183C3606139211F90F4849E93DB7DDEE +Test: Encrypt +Comment: Set 3, vector 104 +Key: 6868686868686868686868686868686868686868686868686868686868686868 +Plaintext: 68686868686868686868686868686868 +Ciphertext: 217C34184950DE7B43E46EE4BE88A9BE +Test: Encrypt +Comment: Set 3, vector 105 +Key: 6969696969696969696969696969696969696969696969696969696969696969 +Plaintext: 69696969696969696969696969696969 +Ciphertext: CA447ED204F2A4B2ED6B82E3926967B1 +Test: Encrypt +Comment: Set 3, vector 106 +Key: 6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A +Plaintext: 6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A +Ciphertext: B447F4BEBA7D88A5C62E5F9C316A4523 +Test: Encrypt +Comment: Set 3, vector 107 +Key: 6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B +Plaintext: 6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B +Ciphertext: DEDF599C54D0009795303013CD933B49 +Test: Encrypt +Comment: Set 3, vector 108 +Key: 6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C +Plaintext: 6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C +Ciphertext: B06280650C77C83AF3D71874AE00D3DA +Test: Encrypt +Comment: Set 3, vector 109 +Key: 6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D +Plaintext: 6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D +Ciphertext: 1BB5B9E9C7DC8AD690F5FC217B7B53C1 +Test: Encrypt +Comment: Set 3, vector 110 +Key: 6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E +Plaintext: 6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E +Ciphertext: FEECFCF0C172C6152F33E4DEE206EBCF +Test: Encrypt +Comment: Set 3, vector 111 +Key: 6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F +Plaintext: 6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F +Ciphertext: FA4C7EA42C425F37588CD273320940C9 +Test: Encrypt +Comment: Set 3, vector 112 +Key: 7070707070707070707070707070707070707070707070707070707070707070 +Plaintext: 70707070707070707070707070707070 +Ciphertext: 563AE5884FC374C4E45B96A6431E51E3 +Test: Encrypt +Comment: Set 3, vector 113 +Key: 7171717171717171717171717171717171717171717171717171717171717171 +Plaintext: 71717171717171717171717171717171 +Ciphertext: 0669E609578A33DBE637C5B86C7F425D +Test: Encrypt +Comment: Set 3, vector 114 +Key: 7272727272727272727272727272727272727272727272727272727272727272 +Plaintext: 72727272727272727272727272727272 +Ciphertext: B2AD99D3941924DDD2A73C4725A08EC3 +Test: Encrypt +Comment: Set 3, vector 115 +Key: 7373737373737373737373737373737373737373737373737373737373737373 +Plaintext: 73737373737373737373737373737373 +Ciphertext: 72C8239B5F4E5319EE05B6E39C9BD336 +Test: Encrypt +Comment: Set 3, vector 116 +Key: 7474747474747474747474747474747474747474747474747474747474747474 +Plaintext: 74747474747474747474747474747474 +Ciphertext: BAD014C4B0A5734AA48E7E80A42E80AF +Test: Encrypt +Comment: Set 3, vector 117 +Key: 7575757575757575757575757575757575757575757575757575757575757575 +Plaintext: 75757575757575757575757575757575 +Ciphertext: BBE294CDB3582B3C1F61ACD43A0E5DB5 +Test: Encrypt +Comment: Set 3, vector 118 +Key: 7676767676767676767676767676767676767676767676767676767676767676 +Plaintext: 76767676767676767676767676767676 +Ciphertext: C231DC35D38F5857BD3449D3E0A1EF1F +Test: Encrypt +Comment: Set 3, vector 119 +Key: 7777777777777777777777777777777777777777777777777777777777777777 +Plaintext: 77777777777777777777777777777777 +Ciphertext: B19E0BACBF3EC295AA6F99B0817B99F3 +Test: Encrypt +Comment: Set 3, vector 120 +Key: 7878787878787878787878787878787878787878787878787878787878787878 +Plaintext: 78787878787878787878787878787878 +Ciphertext: 0E81D1133E74F1A9425237377890584C +Test: Encrypt +Comment: Set 3, vector 121 +Key: 7979797979797979797979797979797979797979797979797979797979797979 +Plaintext: 79797979797979797979797979797979 +Ciphertext: E1149AA17A8B6499E0FA5C45F05D6582 +Test: Encrypt +Comment: Set 3, vector 122 +Key: 7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A +Plaintext: 7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A +Ciphertext: D9208954D8D28335E6F45FFB9D1B92D4 +Test: Encrypt +Comment: Set 3, vector 123 +Key: 7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B +Plaintext: 7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B +Ciphertext: DFABDB0594208A2902703E85C4A657FF +Test: Encrypt +Comment: Set 3, vector 124 +Key: 7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C +Plaintext: 7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C +Ciphertext: E05B6C6E90E852229BF0EFDC4FEB851E +Test: Encrypt +Comment: Set 3, vector 125 +Key: 7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D +Plaintext: 7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D +Ciphertext: 6834CCFDC940452CF40A0866009E58CC +Test: Encrypt +Comment: Set 3, vector 126 +Key: 7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E +Plaintext: 7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E +Ciphertext: 91449066A1966246636D9085E02002B0 +Test: Encrypt +Comment: Set 3, vector 127 +Key: 7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F +Plaintext: 7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F +Ciphertext: 235C2D836B2025CCCDAE4B26264132E2 +Test: Encrypt +Comment: Set 3, vector 128 +Key: 8080808080808080808080808080808080808080808080808080808080808080 +Plaintext: 80808080808080808080808080808080 +Ciphertext: 0C765AA494E048FC8BB23139F2124CB6 +Test: Encrypt +Comment: Set 3, vector 129 +Key: 8181818181818181818181818181818181818181818181818181818181818181 +Plaintext: 81818181818181818181818181818181 +Ciphertext: ED970D660C84642D0EAFF188F55CC33C +Test: Encrypt +Comment: Set 3, vector 130 +Key: 8282828282828282828282828282828282828282828282828282828282828282 +Plaintext: 82828282828282828282828282828282 +Ciphertext: E124EB4A8BE05CA633238DD69E81E057 +Test: Encrypt +Comment: Set 3, vector 131 +Key: 8383838383838383838383838383838383838383838383838383838383838383 +Plaintext: 83838383838383838383838383838383 +Ciphertext: 4653FBDD6CA7C13CE2DF31B1279B3D5A +Test: Encrypt +Comment: Set 3, vector 132 +Key: 8484848484848484848484848484848484848484848484848484848484848484 +Plaintext: 84848484848484848484848484848484 +Ciphertext: 2D4D87CFB763C3974CEBF6AE1C6269D4 +Test: Encrypt +Comment: Set 3, vector 133 +Key: 8585858585858585858585858585858585858585858585858585858585858585 +Plaintext: 85858585858585858585858585858585 +Ciphertext: F153B13F57F1AE16186EF3B1E98549B8 +Test: Encrypt +Comment: Set 3, vector 134 +Key: 8686868686868686868686868686868686868686868686868686868686868686 +Plaintext: 86868686868686868686868686868686 +Ciphertext: 5451DB2B141B894B4892C7F12BE3F389 +Test: Encrypt +Comment: Set 3, vector 135 +Key: 8787878787878787878787878787878787878787878787878787878787878787 +Plaintext: 87878787878787878787878787878787 +Ciphertext: 61B2185653CFF14EE873DBD3CB663E79 +Test: Encrypt +Comment: Set 3, vector 136 +Key: 8888888888888888888888888888888888888888888888888888888888888888 +Plaintext: 88888888888888888888888888888888 +Ciphertext: C17ACB243808B86349D4176EECF602DF +Test: Encrypt +Comment: Set 3, vector 137 +Key: 8989898989898989898989898989898989898989898989898989898989898989 +Plaintext: 89898989898989898989898989898989 +Ciphertext: 6FCE3ED2207D58A5976FE8B20B247275 +Test: Encrypt +Comment: Set 3, vector 138 +Key: 8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A +Plaintext: 8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A +Ciphertext: 403F73CC70C7F9A5E96CD77D61140961 +Test: Encrypt +Comment: Set 3, vector 139 +Key: 8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B +Plaintext: 8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B +Ciphertext: DE2B34DECB33550C97D6C074032F3333 +Test: Encrypt +Comment: Set 3, vector 140 +Key: 8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C +Plaintext: 8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C +Ciphertext: FB395AE4F537F8FB7C98BAD54BDB86A0 +Test: Encrypt +Comment: Set 3, vector 141 +Key: 8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D +Plaintext: 8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D +Ciphertext: 258E83BB639D0BEDE648F3AF96CC8E75 +Test: Encrypt +Comment: Set 3, vector 142 +Key: 8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E +Plaintext: 8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E +Ciphertext: A1B5E73720E43FA0871EAAE245B55A0E +Test: Encrypt +Comment: Set 3, vector 143 +Key: 8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F +Plaintext: 8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F +Ciphertext: 774A9ABE1FAB9E3B85A91C0F86758B0E +Test: Encrypt +Comment: Set 3, vector 144 +Key: 9090909090909090909090909090909090909090909090909090909090909090 +Plaintext: 90909090909090909090909090909090 +Ciphertext: 0A6EC1CF2056076933259AE6A337B185 +Test: Encrypt +Comment: Set 3, vector 145 +Key: 9191919191919191919191919191919191919191919191919191919191919191 +Plaintext: 91919191919191919191919191919191 +Ciphertext: C96729F87D62104F941DC21448756F95 +Test: Encrypt +Comment: Set 3, vector 146 +Key: 9292929292929292929292929292929292929292929292929292929292929292 +Plaintext: 92929292929292929292929292929292 +Ciphertext: 1CB85A610C2250A78143A31BB1C19094 +Test: Encrypt +Comment: Set 3, vector 147 +Key: 9393939393939393939393939393939393939393939393939393939393939393 +Plaintext: 93939393939393939393939393939393 +Ciphertext: 16194ABEDEA340C6D57E4C4F50640FBE +Test: Encrypt +Comment: Set 3, vector 148 +Key: 9494949494949494949494949494949494949494949494949494949494949494 +Plaintext: 94949494949494949494949494949494 +Ciphertext: 379A5A54C198FB03178EE841D67F3502 +Test: Encrypt +Comment: Set 3, vector 149 +Key: 9595959595959595959595959595959595959595959595959595959595959595 +Plaintext: 95959595959595959595959595959595 +Ciphertext: A25119AD8A0F6654ECDB2696CF4F8225 +Test: Encrypt +Comment: Set 3, vector 150 +Key: 9696969696969696969696969696969696969696969696969696969696969696 +Plaintext: 96969696969696969696969696969696 +Ciphertext: 264B7FAAD26DEC203D0DE29CE4F0F45B +Test: Encrypt +Comment: Set 3, vector 151 +Key: 9797979797979797979797979797979797979797979797979797979797979797 +Plaintext: 97979797979797979797979797979797 +Ciphertext: 2EBD2A2CD16284D206D81ACF18122E2E +Test: Encrypt +Comment: Set 3, vector 152 +Key: 9898989898989898989898989898989898989898989898989898989898989898 +Plaintext: 98989898989898989898989898989898 +Ciphertext: 25FB2B75B6915C0543412DF9EBD20FC3 +Test: Encrypt +Comment: Set 3, vector 153 +Key: 9999999999999999999999999999999999999999999999999999999999999999 +Plaintext: 99999999999999999999999999999999 +Ciphertext: 21B89B53845A828E0A14F4AE45940284 +Test: Encrypt +Comment: Set 3, vector 154 +Key: 9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A +Plaintext: 9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A +Ciphertext: 4CE809A241E8E59E231F2D00BE0EA285 +Test: Encrypt +Comment: Set 3, vector 155 +Key: 9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B +Plaintext: 9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B +Ciphertext: F914E06D9F7889DC71974DFF104F94D4 +Test: Encrypt +Comment: Set 3, vector 156 +Key: 9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C +Plaintext: 9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C +Ciphertext: AF08BADB48FF961FD5EB663FA3766FC6 +Test: Encrypt +Comment: Set 3, vector 157 +Key: 9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D +Plaintext: 9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D +Ciphertext: 05DDDE95AE659D6BBBD2B4E394399B53 +Test: Encrypt +Comment: Set 3, vector 158 +Key: 9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E +Plaintext: 9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E +Ciphertext: 25E6FE1C89F811D827BDF8D4E977071C +Test: Encrypt +Comment: Set 3, vector 159 +Key: 9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F +Plaintext: 9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F +Ciphertext: 3D00A9143A1829D05F787A904C48C75B +Test: Encrypt +Comment: Set 3, vector 160 +Key: A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0 +Plaintext: A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0 +Ciphertext: 391DF944B0E0BCB84483AF5C4F34D754 +Test: Encrypt +Comment: Set 3, vector 161 +Key: A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1 +Plaintext: A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1 +Ciphertext: BB2D2E556210A7C0EBA3165F63A74967 +Test: Encrypt +Comment: Set 3, vector 162 +Key: A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2 +Plaintext: A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2 +Ciphertext: A1B0BB24291B259AC4A1CDE9A3B817C9 +Test: Encrypt +Comment: Set 3, vector 163 +Key: A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3 +Plaintext: A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3 +Ciphertext: 6F798763B6ED7F8BB234D2CA78D026DC +Test: Encrypt +Comment: Set 3, vector 164 +Key: A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4 +Plaintext: A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4 +Ciphertext: 038443760056AB3D23BC70ECE6FB4397 +Test: Encrypt +Comment: Set 3, vector 165 +Key: A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5 +Plaintext: A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5 +Ciphertext: C75ECE40A7AE9BB38F604615C873EF02 +Test: Encrypt +Comment: Set 3, vector 166 +Key: A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6 +Plaintext: A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6 +Ciphertext: 2D308C2078842EDBBB35ABCA3F41E467 +Test: Encrypt +Comment: Set 3, vector 167 +Key: A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7 +Plaintext: A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7 +Ciphertext: 393C0E3350B3219DD8FD851C48E28C63 +Test: Encrypt +Comment: Set 3, vector 168 +Key: A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8 +Plaintext: A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8 +Ciphertext: 964BD4A28DB1434570E27FB3AD880398 +Test: Encrypt +Comment: Set 3, vector 169 +Key: A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9 +Plaintext: A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9 +Ciphertext: B668D17C027B550C0C22BDE151EB6EB1 +Test: Encrypt +Comment: Set 3, vector 170 +Key: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +Plaintext: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +Ciphertext: E14186F8205957B243CE522C16453621 +Test: Encrypt +Comment: Set 3, vector 171 +Key: ABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABAB +Plaintext: ABABABABABABABABABABABABABABABAB +Ciphertext: 0E352BEB6B6BCAFDAE61BBE86F8F1D0E +Test: Encrypt +Comment: Set 3, vector 172 +Key: ACACACACACACACACACACACACACACACACACACACACACACACACACACACACACACACAC +Plaintext: ACACACACACACACACACACACACACACACAC +Ciphertext: 4BCF038D9458EAAA3D279CCAC3F5D693 +Test: Encrypt +Comment: Set 3, vector 173 +Key: ADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADAD +Plaintext: ADADADADADADADADADADADADADADADAD +Ciphertext: D5EF17646A481C3B79AAB3C08B4F1611 +Test: Encrypt +Comment: Set 3, vector 174 +Key: AEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAE +Plaintext: AEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAE +Ciphertext: 37642DA589775C2FFA40A7274E9D56E2 +Test: Encrypt +Comment: Set 3, vector 175 +Key: AFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAF +Plaintext: AFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAF +Ciphertext: F829FA6B756F1B1D16B49CB7C8AFFA22 +Test: Encrypt +Comment: Set 3, vector 176 +Key: B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0 +Plaintext: B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0 +Ciphertext: 6FE1450D48D611031E81C70478DB5326 +Test: Encrypt +Comment: Set 3, vector 177 +Key: B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1 +Plaintext: B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1 +Ciphertext: 68C5ECE7F525F69DABF63288533C5C60 +Test: Encrypt +Comment: Set 3, vector 178 +Key: B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2 +Plaintext: B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2 +Ciphertext: 5DF627500627E59A5BAB5D30B6C93219 +Test: Encrypt +Comment: Set 3, vector 179 +Key: B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3 +Plaintext: B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3 +Ciphertext: AD3A4AC8F666C0FCA5D7995783D0986D +Test: Encrypt +Comment: Set 3, vector 180 +Key: B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4 +Plaintext: B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4 +Ciphertext: A3AEE54D09357B187622109296534F88 +Test: Encrypt +Comment: Set 3, vector 181 +Key: B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5 +Plaintext: B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5 +Ciphertext: 7D1D9A73DB386A717862C4F5089970E1 +Test: Encrypt +Comment: Set 3, vector 182 +Key: B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6 +Plaintext: B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6 +Ciphertext: 916347935FBD0D868A0127D602B91BD5 +Test: Encrypt +Comment: Set 3, vector 183 +Key: B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7 +Plaintext: B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7 +Ciphertext: 4F167893651993D9150ED9E0B780BF82 +Test: Encrypt +Comment: Set 3, vector 184 +Key: B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8 +Plaintext: B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8 +Ciphertext: 488352470ACF9361F22FAC1B3ED67003 +Test: Encrypt +Comment: Set 3, vector 185 +Key: B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9 +Plaintext: B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9 +Ciphertext: 4BBD307FCDE0F89C9A663A0F9C9358C5 +Test: Encrypt +Comment: Set 3, vector 186 +Key: BABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABA +Plaintext: BABABABABABABABABABABABABABABABA +Ciphertext: E402E706D262078113D6626E7071589E +Test: Encrypt +Comment: Set 3, vector 187 +Key: BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB +Plaintext: BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB +Ciphertext: 422D6FA4519F2E72420685CD4ED2CC8E +Test: Encrypt +Comment: Set 3, vector 188 +Key: BCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBC +Plaintext: BCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBC +Ciphertext: 6D14CC5F618DF7E0B2210F6C5DD62C92 +Test: Encrypt +Comment: Set 3, vector 189 +Key: BDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBD +Plaintext: BDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBD +Ciphertext: 5CC4A5E81F7D7EC528C150437AC2B027 +Test: Encrypt +Comment: Set 3, vector 190 +Key: BEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBE +Plaintext: BEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBE +Ciphertext: B3BE0F996494323504946446EDE489FC +Test: Encrypt +Comment: Set 3, vector 191 +Key: BFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBF +Plaintext: BFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBF +Ciphertext: ABC7DB10FE04BEE94F5887E539C1D235 +Test: Encrypt +Comment: Set 3, vector 192 +Key: C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0 +Plaintext: C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0 +Ciphertext: B18BE6FB1D04E76F21C0678A4333D255 +Test: Encrypt +Comment: Set 3, vector 193 +Key: C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1 +Plaintext: C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1 +Ciphertext: FC5802BAFEDC03088BBA0A5F22402968 +Test: Encrypt +Comment: Set 3, vector 194 +Key: C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2 +Plaintext: C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2 +Ciphertext: 8EA96801643AE7BF649EAC22812214D5 +Test: Encrypt +Comment: Set 3, vector 195 +Key: C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3 +Plaintext: C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3 +Ciphertext: F7683FCDDC2BB0BCFD1350F8E3D76602 +Test: Encrypt +Comment: Set 3, vector 196 +Key: C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4 +Plaintext: C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4 +Ciphertext: 08D0345431AE120CAD6C6D4275E00CA8 +Test: Encrypt +Comment: Set 3, vector 197 +Key: C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5 +Plaintext: C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5 +Ciphertext: 7CD50A623DA79EC84D61CD7FBDBA4153 +Test: Encrypt +Comment: Set 3, vector 198 +Key: C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6 +Plaintext: C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6 +Ciphertext: 42ACA2B048E5C58D8F004F0E8A2C6DEF +Test: Encrypt +Comment: Set 3, vector 199 +Key: C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7 +Plaintext: C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7 +Ciphertext: E03AD353225F76121D130740C75B839B +Test: Encrypt +Comment: Set 3, vector 200 +Key: C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8 +Plaintext: C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8 +Ciphertext: 26807D0A6D6330A77804B4B1AE84432B +Test: Encrypt +Comment: Set 3, vector 201 +Key: C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9 +Plaintext: C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9 +Ciphertext: 864CE880AE89660474F64B93AF4CE043 +Test: Encrypt +Comment: Set 3, vector 202 +Key: CACACACACACACACACACACACACACACACACACACACACACACACACACACACACACACACA +Plaintext: CACACACACACACACACACACACACACACACA +Ciphertext: 82EAD2C033986CAC1F4C3EEEEA1D1892 +Test: Encrypt +Comment: Set 3, vector 203 +Key: CBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCB +Plaintext: CBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCB +Ciphertext: 53F1A5C39DD062DF8D133B3A0FB3DA02 +Test: Encrypt +Comment: Set 3, vector 204 +Key: CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC +Plaintext: CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC +Ciphertext: E913208594B288125EEAE0EFEC764D39 +Test: Encrypt +Comment: Set 3, vector 205 +Key: CDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCD +Plaintext: CDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCD +Ciphertext: 7DAE4BD638A36A794A73E9B945BEF4D4 +Test: Encrypt +Comment: Set 3, vector 206 +Key: CECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECE +Plaintext: CECECECECECECECECECECECECECECECE +Ciphertext: 04E8155E3E81C261D3A9D4A800182A62 +Test: Encrypt +Comment: Set 3, vector 207 +Key: CFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCF +Plaintext: CFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCF +Ciphertext: F466172A8C4C7854F59388474098F441 +Test: Encrypt +Comment: Set 3, vector 208 +Key: D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0 +Plaintext: D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0 +Ciphertext: E95DBB0B366E77D7BC1BF206B95DAEBA +Test: Encrypt +Comment: Set 3, vector 209 +Key: D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1 +Plaintext: D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1 +Ciphertext: 76490E6DD8380855E26BCACF8746978F +Test: Encrypt +Comment: Set 3, vector 210 +Key: D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2 +Plaintext: D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2 +Ciphertext: 3C3B73C8FBDA8CAE5E0D7D0070735DA1 +Test: Encrypt +Comment: Set 3, vector 211 +Key: D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3 +Plaintext: D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3 +Ciphertext: B039EBC9C48828C3913A3BC346CAEAE3 +Test: Encrypt +Comment: Set 3, vector 212 +Key: D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4 +Plaintext: D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4 +Ciphertext: 0AFCC6A58BD3ADB2C0B2A1586C9FA8DE +Test: Encrypt +Comment: Set 3, vector 213 +Key: D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5 +Plaintext: D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5 +Ciphertext: C2187D0E74CE2307BC4DF249EA6E57F1 +Test: Encrypt +Comment: Set 3, vector 214 +Key: D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6 +Plaintext: D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6 +Ciphertext: F3F4AEA2492106A45C12D0029F58ACE1 +Test: Encrypt +Comment: Set 3, vector 215 +Key: D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7 +Plaintext: D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7 +Ciphertext: 3FFADF96B37B67D62D71387C52C41AE9 +Test: Encrypt +Comment: Set 3, vector 216 +Key: D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8 +Plaintext: D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8 +Ciphertext: 4C1644AD69F7D0D3A1E2B4B0E7F0A592 +Test: Encrypt +Comment: Set 3, vector 217 +Key: D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9 +Plaintext: D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9 +Ciphertext: 68FD6F6592AE5BD9245FA959FE1CA849 +Test: Encrypt +Comment: Set 3, vector 218 +Key: DADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADA +Plaintext: DADADADADADADADADADADADADADADADA +Ciphertext: 7AB97B70C2CCC7D0D1AA7A6D8B7C48CA +Test: Encrypt +Comment: Set 3, vector 219 +Key: DBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDB +Plaintext: DBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDB +Ciphertext: 961BF9E037E303B9B494C2EE063FC4CC +Test: Encrypt +Comment: Set 3, vector 220 +Key: DCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDC +Plaintext: DCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDC +Ciphertext: 0FBF042B227603DB4A1CC8EE62E93DF3 +Test: Encrypt +Comment: Set 3, vector 221 +Key: DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD +Plaintext: DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD +Ciphertext: 71360ED44C9FAF8F1139D31252A35F49 +Test: Encrypt +Comment: Set 3, vector 222 +Key: DEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDE +Plaintext: DEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDE +Ciphertext: 5E806BD29351AE456549E73B8DDC0026 +Test: Encrypt +Comment: Set 3, vector 223 +Key: DFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDF +Plaintext: DFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDF +Ciphertext: C7908A288B86C1C4FCE5A8A59457EFD3 +Test: Encrypt +Comment: Set 3, vector 224 +Key: E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0 +Plaintext: E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0 +Ciphertext: AAC45B53F6292082B93F949BD77E5776 +Test: Encrypt +Comment: Set 3, vector 225 +Key: E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1 +Plaintext: E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1 +Ciphertext: 231150ED4D85B4217B3EFC3E71A522C6 +Test: Encrypt +Comment: Set 3, vector 226 +Key: E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2 +Plaintext: E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2 +Ciphertext: 639D9C5EEC8D9569C6DF24630CA8257D +Test: Encrypt +Comment: Set 3, vector 227 +Key: E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3 +Plaintext: E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3 +Ciphertext: 0E7F8C538946D87A01AD49A8CC981B58 +Test: Encrypt +Comment: Set 3, vector 228 +Key: E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4 +Plaintext: E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4 +Ciphertext: 09A293907E499502D78569230D3F1A97 +Test: Encrypt +Comment: Set 3, vector 229 +Key: E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 +Plaintext: E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 +Ciphertext: ACF67CC086E386DA064EDBF97F7E889A +Test: Encrypt +Comment: Set 3, vector 230 +Key: E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6 +Plaintext: E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6 +Ciphertext: E7C44DB1A9FCAC410253A7E2674C54F6 +Test: Encrypt +Comment: Set 3, vector 231 +Key: E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7 +Plaintext: E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7 +Ciphertext: B99BA33ECB86DA790FF0CC4F0D41A065 +Test: Encrypt +Comment: Set 3, vector 232 +Key: E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8 +Plaintext: E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8 +Ciphertext: 73405114FDBDB81B1A54C4EFED1BB3FE +Test: Encrypt +Comment: Set 3, vector 233 +Key: E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9 +Plaintext: E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9 +Ciphertext: 80152E139834B3CC01EBF7E6417C5537 +Test: Encrypt +Comment: Set 3, vector 234 +Key: EAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEA +Plaintext: EAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEA +Ciphertext: 05CE579D4804FF3C7874571730D81CEC +Test: Encrypt +Comment: Set 3, vector 235 +Key: EBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEB +Plaintext: EBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEB +Ciphertext: F984801E7A806A130325E152DF60012E +Test: Encrypt +Comment: Set 3, vector 236 +Key: ECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECEC +Plaintext: ECECECECECECECECECECECECECECECEC +Ciphertext: 92CBB121474A307505425B4DD1B7F803 +Test: Encrypt +Comment: Set 3, vector 237 +Key: EDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDED +Plaintext: EDEDEDEDEDEDEDEDEDEDEDEDEDEDEDED +Ciphertext: 2DEB2F282D60EFCDB300EADB15C798D8 +Test: Encrypt +Comment: Set 3, vector 238 +Key: EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE +Plaintext: EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE +Ciphertext: 0F4D7D59B535E29D315D2A5C7BFE4973 +Test: Encrypt +Comment: Set 3, vector 239 +Key: EFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEF +Plaintext: EFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEF +Ciphertext: 61E391F7C29B5AD705121CF9559E5C04 +Test: Encrypt +Comment: Set 3, vector 240 +Key: F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0 +Plaintext: F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0 +Ciphertext: 65BCBE179D19A5BCF12D141A21E0F7A8 +Test: Encrypt +Comment: Set 3, vector 241 +Key: F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1 +Plaintext: F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1 +Ciphertext: FDB75C659B72AE81E51204CFCB86E631 +Test: Encrypt +Comment: Set 3, vector 242 +Key: F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2 +Plaintext: F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2 +Ciphertext: 5643ED3A3679B9E33E21CD0F95580877 +Test: Encrypt +Comment: Set 3, vector 243 +Key: F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3 +Plaintext: F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3 +Ciphertext: 618EFEB4C6E4270B81FF7DE786E68420 +Test: Encrypt +Comment: Set 3, vector 244 +Key: F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4 +Plaintext: F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4 +Ciphertext: 75A2A9CC91F006059CA873E5D73C2CCC +Test: Encrypt +Comment: Set 3, vector 245 +Key: F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5 +Plaintext: F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5 +Ciphertext: B55840B5001D1875C29A56EDFDE10E55 +Test: Encrypt +Comment: Set 3, vector 246 +Key: F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6 +Plaintext: F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6 +Ciphertext: 6DD9BDEA7EC0E622DE8B83460BDEA719 +Test: Encrypt +Comment: Set 3, vector 247 +Key: F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7 +Plaintext: F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7 +Ciphertext: D164075BD4CDC95288D896C7CC98285D +Test: Encrypt +Comment: Set 3, vector 248 +Key: F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8 +Plaintext: F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8 +Ciphertext: 8420071C55241802D88FB7AF17EBE43F +Test: Encrypt +Comment: Set 3, vector 249 +Key: F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9 +Plaintext: F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9 +Ciphertext: 03D1D5646E4B2B8A924AB242E485C5D1 +Test: Encrypt +Comment: Set 3, vector 250 +Key: FAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFA +Plaintext: FAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFA +Ciphertext: 29106DFB63F4CD6EF5D82CF07C0DBB3A +Test: Encrypt +Comment: Set 3, vector 251 +Key: FBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFB +Plaintext: FBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFB +Ciphertext: E9DC1CDD5011E00E0C5699201E1EA002 +Test: Encrypt +Comment: Set 3, vector 252 +Key: FCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFC +Plaintext: FCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFC +Ciphertext: 8006C8BD5B210F2FC5B3538F66A6BE0B +Test: Encrypt +Comment: Set 3, vector 253 +Key: FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD +Plaintext: FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD +Ciphertext: 2C6386229480E806D0CD21CDA0EA6B53 +Test: Encrypt +Comment: Set 3, vector 254 +Key: FEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFE +Plaintext: FEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFE +Ciphertext: ACDBB0F5A00E3CF63A89D9C09B44A058 +Test: Encrypt +Comment: Set 3, vector 255 +Key: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +Plaintext: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +Ciphertext: 4F05F28CA23EEAE205B67B1C95CD5280 +Test: Encrypt diff --git a/TestVectors/dlies.txt b/TestVectors/dlies.txt index aa711552..36b1f815 100644 --- a/TestVectors/dlies.txt +++ b/TestVectors/dlies.txt @@ -1,542 +1,542 @@ -AlgorithmType: AsymmetricCipher -Name: DLIES(NoCofactorMultiplication, KDF2(SHA-1), XOR, HMAC(SHA-1), DHAES) -Source: generated by Wei Dai using Crypto++ 5.1 -Comment: keys are encoded as DSA keys, with OID id-dsa -KeyFormat: DER -Comment: 1024-bit DLIES key -PrivateKey: \ - 308201370201003082011706072a8648ce3804013082010a02818100ba3ed941\ - 10332be99b77a345da72a33146ca960498a6fc2e0e207fdeaadf69c3e5650df7\ - 3255475854900b75af7f6aac021de687a1c166ecb2ab6ec6b9da82ad4fb0f48a\ - 966a2b968406e18ba50947d7ee3bb1f13511cb4dde191f0ade1933d089c5e82a\ - b8d283943d85ef0102e173abf2635aeac2f84cfc9ec6c4e8f3fbc4130281805d\ - 1f6ca0881995f4cdbbd1a2ed395198a3654b024c537e1707103fef556fb4e1f2\ - b286fb992aa3ac2a4805bad7bfb556010ef343d0e0b3765955b7635ced4156a7\ - d87a454b3515cb420370c5d284a3ebf71dd8f89a88e5a6ef0c8f856f0c99e844\ - e2f4155c6941ca1ec2f7808170b9d5f931ad75617c267e4f63627479fde20902\ - 01030417021501fdc788cd93f07dba3af2de42ae5aa3ede219919d -PublicKey: \ - 308201a23082011706072a8648ce3804013082010a02818100ba3ed94110332b\ - e99b77a345da72a33146ca960498a6fc2e0e207fdeaadf69c3e5650df7325547\ - 5854900b75af7f6aac021de687a1c166ecb2ab6ec6b9da82ad4fb0f48a966a2b\ - 968406e18ba50947d7ee3bb1f13511cb4dde191f0ade1933d089c5e82ab8d283\ - 943d85ef0102e173abf2635aeac2f84cfc9ec6c4e8f3fbc4130281805d1f6ca0\ - 881995f4cdbbd1a2ed395198a3654b024c537e1707103fef556fb4e1f2b286fb\ - 992aa3ac2a4805bad7bfb556010ef343d0e0b3765955b7635ced4156a7d87a45\ - 4b3515cb420370c5d284a3ebf71dd8f89a88e5a6ef0c8f856f0c99e844e2f415\ - 5c6941ca1ec2f7808170b9d5f931ad75617c267e4f63627479fde20902010303\ - 81840002818029eaa5b193357c200e0d42f374d4c003c633c77f4778fe40ad0b\ - d035b87ae5da4e74110ec2b15eefe1bd8b9357534c85328382946d314e15b79f\ - 7b854227012dfaac9bd862e73a5630e01327b36319765a3eb1434e108ef6421c\ - 659e3f9223966759611429b3c86ed9937563efbfad8bfedcfa92db3d7d2157fe\ - 2c8a33f08636 -Test: KeyPairValidAndConsistent -Plaintext: 76 -Ciphertext: B11D906CC5A8E71CA8962A8CC0AC4CAFF2DA00DC130C370F42D11FCF5C37DE046EBC07C7D457CA351CE456A043695D14ED055ADAD2B58BE0DF992685EF8B0D21597A43D7B3D9634A077CB70C4590CD73C20FAAACBC5649413EECA0C7B3CBF469E531299398F61496C51FE9FFE48AE9FE6034F104EFC562DE9529C776B86ADD4025AD6B0C3687B012F92C7B9E82F794E4FBE247D644 -Test: DecryptMatch -Plaintext: 89338CE80AFB62E9577A310E40311BB3F77F -Ciphertext: 8A33B0E212DB8155CA796B472F55CD77267C9106229B6055141EA3AAAE42AD27249D90E70F892B0CDC80D29D3D586A5CA6FE67D4BB44C58B03496708F80681125DCEF983B7453B1E4F927438BD2E3E506C1951E9F19BA70F9B687012440CD75C0BB78BDCFAB22AF535D3E2670ABD1F4D44ED95F3360536612B1A7DF35E2A88F66BD6E8C813EB9DC89D93A85C9A0BA13E4862B91171B681E64A0750197C6467B22566BC640E11 -Test: DecryptMatch -Plaintext: 0835455ABD53E6FB11ED9B0C00485D3C6845DB -Ciphertext: A81181517BD270B0D921AF735052898932008DF00D501EDE0D2D564871D61A6A837776E8D7C7F9B0E5F9181C1FC68BC430F30ABB1A64D62B444C0AC5AAE588B4481AEF08B38E466155F10CA04C8202F281186016AE35212A2C7815A22DB2750ABD526D285BDBC598672BFB52E95CE33A0D3E5DCF4CF5F46224CFBB85297F3AB170C8B9478994E32D9A21A452B095D3D902E92C7E444A3307FDD7256FE49341142E5FF7A616475A -Test: DecryptMatch -Plaintext: 1EBED48EC47B6987091C52BC -Ciphertext: 1DF446FF43AAAAAC8E3F7D70C912E2D45AB832BCA3D0FBD17AF864B9EA878C45B9E2902804171A739A0552BB7CE0CD46DC16343714CC9C2E71AE26304885EEEB242665814DD9E33C480ABA214755D5449F16CD8870D1AB3A8E64E45E463AB3F4D3031FA3ECD395B61B372602665FCF218D9C51E8C791FA1E5BCC2916EFBB482E1814632CDF0F1852EE4943D9652DAA4E1F3B22F17F57F51D52A0997BED5B04ED -Test: DecryptMatch -Plaintext: 65D8 -Ciphertext: 4385797FD38AD5DFBB4F613BC87637B0051501E57699A5880E235DB7A6994A04A1613D0C8E07E36AFD08F2E47D018951B22E7625DA647AA1A0791DB3B2FA794610892D9A3D3F173CF95277B4B1EB92579A229510B67E171CB5BBA8B3AA732047BA038816A30124AF1C4C57CA80E93AACCC8EC70BCF7867914E7DE2C403568F9778F8DBEAF08FDB9F48452054C9735DC84F012DF8FE17 -Test: DecryptMatch -Plaintext: F86D8ED91E9934125DA6E9B4E97545C83A -Ciphertext: 13B0AE03AB532D5E31C9384B4E726A9AC73583CFBB0643EC322E3D2D45D9358CAF745B0541C136E8AA2220C42CEC9E1ED174886475538732AA6D6417DA89FA411AEDEADCD9F15D25D27D0AE252F77E888470AE696D5805CE8CCCB40B45D4AA835E97C7BF2CD6A2B4FEC6FCF858606CE4695DCE998C518360068ED028FC882478BF96096D92C166899EB51778BC4B7DA1BA8C4B6CEBA1139F17CEE484EA104A0325420A3D56 -Test: DecryptMatch -Comment: 1025-bit DLIES key -PrivateKey: \ - 308201380201003082011806072a8648ce3804013082010b028181015dd79808\ - 07a15e557e3a39466eb2987828c536a871d4fc7f3723d52f8145a0d10d996295\ - 64aca54fd567c0509ef3c428fac68d916551e77a5ca0ed6d9f12cc96262b1f11\ - 49f398ef9f0f17fc0ed92bb917f890d1e6a4f62b91a7978d0aa1bf53b89805c1\ - 06ebebd0924cb99a4168a38dad65238236d4d166d38a3dfd5359ec5f02818100\ - aeebcc0403d0af2abf1d1ca337594c3c14629b5438ea7e3f9b91ea97c0a2d068\ - 86ccb14ab25652a7eab3e0284f79e2147d6346c8b2a8f3bd2e5076b6cf89664b\ - 13158f88a4f9cc77cf878bfe076c95dc8bfc4868f3527b15c8d3cbc68550dfa9\ - dc4c02e08375f5e849265ccd20b451c6d6b291c11b6a68b369c51efea9acf62f\ - 020102041702150f514282f489098f1df0c7be02ccbb3f23bed00376 -PublicKey: \ - 308201a43082011806072a8648ce3804013082010b028181015dd7980807a15e\ - 557e3a39466eb2987828c536a871d4fc7f3723d52f8145a0d10d99629564aca5\ - 4fd567c0509ef3c428fac68d916551e77a5ca0ed6d9f12cc96262b1f1149f398\ - ef9f0f17fc0ed92bb917f890d1e6a4f62b91a7978d0aa1bf53b89805c106ebeb\ - d0924cb99a4168a38dad65238236d4d166d38a3dfd5359ec5f02818100aeebcc\ - 0403d0af2abf1d1ca337594c3c14629b5438ea7e3f9b91ea97c0a2d06886ccb1\ - 4ab25652a7eab3e0284f79e2147d6346c8b2a8f3bd2e5076b6cf89664b13158f\ - 88a4f9cc77cf878bfe076c95dc8bfc4868f3527b15c8d3cbc68550dfa9dc4c02\ - e08375f5e849265ccd20b451c6d6b291c11b6a68b369c51efea9acf62f020102\ - 038185000281810107143658b98a3725010d3631a3f4f7448cb967ac0118e4ca\ - 8fc8871eb4fb872d55c52d93a4f21eed98b6499db74315956a268f38a288958b\ - f7c4d548662c668669d69375e0cb710ff3a1a9f43e49add1f7ae58b836b6444e\ - 419e40474c27066cb03aae8132e65f3fead0109307ab1c7f0254eb14e9d76639\ - 1a66ca1ba442b425 -Test: KeyPairValidAndConsistent -Plaintext: 256F07E0D37D69BE542BD17FA98CE4CFC3DA849B -Ciphertext: 01269CE30DE12430904CEC9D8B91A6D8860B4F8D37FCE7DBDCE8FA18AC521684F4C1CD5C38BF3B42C259033CD36A53F0376A0CDD801979CF1B76ADD72AFDD27830BD85B373C4D451B84926ABA34012EB98331F0B81CCF8E801ACCDEE88A35DF60EFADABA1F395250A15463203FDCCEDAB7DD6CD1271B38A5E0946F8D189B225E8A307D198AC5E4EB33BCF26A02C0C602AA14592AEA01452E4F8AE46E7A032BABD1BA8ACB0919F2EA18 -Test: DecryptMatch -Plaintext: A992 -Ciphertext: 007822B0BDF45CC5B15102B5E21F7656C8896E98FAD6C2AF6CD55D0DB90B7A6B05E36D260C7A5C070526813290BCA722959B9B9BF00041B4B7F3E3EAFA9B5376A1E02944EDA55B99202601AE6D402D56617B56B28BAC1B405016053CDC78AB4D372B0D58E7380D50F1CD0E31B8CB77FD2F6BA3E7A436A5B35552B9974EA5AB30AC0C4989E34F5FD7D272417FF2094B97119BEB2C73C68B -Test: DecryptMatch -Plaintext: 1D20C118C894EFDC67DAC33E56179C5D262C83 -Ciphertext: 001587AFEC265C244875371B680521FF93F0B1196901A7D580785B62A257B1736C86D1D9E59A31E62F53B92B209B45A7952776C6AC839243B0BBF3A059E6CEE99B120BBD45922B4E813DDE0F5793A42B3AF2DDDAA357136A010519D884589A1F9912110020A8C16E9B91C753EB8842B3224FE9C9A22AE2B82251CFF7799E78885B0B67B27DAAC6A7B58013C31115C2B8C0C0176BC2A7B96A299CC75693B4F2138B2B4053CB5320D5 -Test: DecryptMatch -Plaintext: 83BC82A4F7A4DFC96CD7798BAC52254CD6E9 -Ciphertext: 0085E83465997BFED9CAE63B04B0419578D0BD85B1A65285E5537F4367E5E7E11DD8762BD3335916A13B8CF9D5BC651E762458E9879363B06748BEA0CA86D32CBC4F1B0C0BF67E616B872A64F7356241CD052944F6594A570522EF2BCC53D90E3326D2ECFA036C46256D9B678C93BE5877749AF8FF8FEDB6E1E17B67C7B6C6098D0C71D5B2AB503AFD7739ABCC8DE67DAC056AFE99D8A107230BA88C282FB8FD46E9E9E2C6874A -Test: DecryptMatch -Plaintext: 157597899A950A32 -Ciphertext: 013623199FFDD0D4689A4C50A9FEA3C2250D0C73F209F33BF3EF13E6035976D6F3EAFBA3D83A3862E4B6DFC7581EA43B62F49BC85392B7EAB854F92DA8DD5921A6A4C42777E89004EB7E6D479BD028F758171C324168DC0814369C6BCD8471D9620C4E9BED785A220EF9C0DCF1201311A16C51341E0551043C6EAB45E04A81C9280633F58621D8D3492864FFF6A39EDC48450ABFE0C7AABAEB9A86CFFD -Test: DecryptMatch -Plaintext: CDE651 -Ciphertext: 0040308CCDAB105426597D84A64665200A93208713004DB38594C490F7B85F08ADB67BBE47B7FB7BBDA435A6B6A2CA0B4CBE0FDCBD4FF078FD052213CBCAA4580D1C7962A3505DAA9BEA2957718AB36D061E61B9DEB3D7DD726975C6E7FD79AADBF649F5ABE51AC384E967D3CDAFD9EAA18EEB69774961E439F54844FA22DA1B6892E86471DAE6F7E74CACC944123234826621C7634AE34E -Test: DecryptMatch -Comment: 1026-bit DLIES key -PrivateKey: \ - 308201380201003082011806072a8648ce3804013082010b028181031e7d8589\ - b9fa11e77204b8c1b27ad66b39863978d26912a65de306dcb32a0c7c96bb431d\ - c4a14204a8f01a65b0fe56a4d016716914c21576f10d63dac5f49287636519ac\ - f9be56c9f58eeb90ba3240d4cce26f647bfd86360cf0f6b8ff609ae2ef736558\ - 155a1498adf4e92dc90f34169123a5fcd8ddfc763c81658a4d08383702818101\ - 8f3ec2c4dcfd08f3b9025c60d93d6b359cc31cbc693489532ef1836e5995063e\ - 4b5da18ee250a10254780d32d87f2b52680b38b48a610abb7886b1ed62fa4943\ - b1b28cd67cdf2b64fac775c85d19206a667137b23dfec31b06787b5c7fb04d71\ - 77b9b2ac0aad0a4c56fa7496e4879a0b4891d2fe6c6efe3b1e40b2c526841c1b\ - 020102041702151fa3003b00efad22ecc26c5115e6d036d13d3b2f7e -PublicKey: \ - 308201a33082011806072a8648ce3804013082010b028181031e7d8589b9fa11\ - e77204b8c1b27ad66b39863978d26912a65de306dcb32a0c7c96bb431dc4a142\ - 04a8f01a65b0fe56a4d016716914c21576f10d63dac5f49287636519acf9be56\ - c9f58eeb90ba3240d4cce26f647bfd86360cf0f6b8ff609ae2ef736558155a14\ - 98adf4e92dc90f34169123a5fcd8ddfc763c81658a4d083837028181018f3ec2\ - c4dcfd08f3b9025c60d93d6b359cc31cbc693489532ef1836e5995063e4b5da1\ - 8ee250a10254780d32d87f2b52680b38b48a610abb7886b1ed62fa4943b1b28c\ - d67cdf2b64fac775c85d19206a667137b23dfec31b06787b5c7fb04d7177b9b2\ - ac0aad0a4c56fa7496e4879a0b4891d2fe6c6efe3b1e40b2c526841c1b020102\ - 038184000281802c6360e6e3eba6da6efb5bce8d07a99e42949b68b3c2900583\ - c2eb34498081c7212d8dc95a631d63edeafc625f8faf063e57b41d7b662ba9c1\ - a99b3f2506fdf5e59116a0e93e7e94aab55691abae75eaac9637a713949360a4\ - 5f6908f23ba5503d4760bcd6f7abceb8351a66bb14fae05f03b1494e7ef4154c\ - 99a9cb6a9bfe12 -Test: KeyPairValidAndConsistent -Plaintext: DEC85711F12C0D1D6C26797E91B0F39B37 -Ciphertext: 0215D75DD99B8A59DEA3FBA9B0F8A621EFFBFD831E9543749B04B495147CE9B56D519EE71BDF56D86FD1D9C1AE8BC1D7F29DC469A05221E4A31C726971731CF627E63FAB269FC92DEDDFF3319819373F299D55F4CABE08DADF29A7C60E9B4E2806899371B93A853F828EC4312D94CFDADFDEF2037D9C1FCE21A3E451006AC542E1BC36D3C33AEAC0D1666C26AA886F4C118836EDCA7C5A428E407C4ACD62A885C03202230FA6 -Test: DecryptMatch -Plaintext: 0E665CD2CF75C2E6E24908448F29E9A198EF -Ciphertext: 00A4583FF3A9451C6F8970E53D95EC74F41F709F5156B4FC9C698B1E43C7B5F3230D5417AED2C7447455009CE8381A30BE400EC15BBB1D7BCB9461E593D416421157541479FE1DCEAAE635728C68C58D260337A25D0CF9FA291D84E9E1DF4FF96822CA1F05CDD247AD14E5AFB231A0AF0F2E79FB9A0528CA2FE9431724C0AC9F0A2ABCED9A20EC1203DE2A835D90EA5FB1447EC722456B6F4C75D0645CEC5BECCE35B79FF3071A -Test: DecryptMatch -Plaintext: BE2A -Ciphertext: 02823CB4ABD598FC5D36300306460886BBECFAE6F56E02708A96EFB27EF7E3D8F08442FC819EAB1DC35CC70A074984A149F209EB285C6064DDDBC7781CEF7358F384D592BFC75D346A6D97D8524CB35060A35E3B3145199F4968677FA22BB468DBFF63E3E366D778B3042D5858699D9FE5D6F53D0CB084E107111B572AE9B933B94FF37F2681DC50CDED2714668375DA90787CF0144F1B -Test: DecryptMatch -Plaintext: 20D57B7E074BFFF8F54AF3E69C9B632253B3B5C0 -Ciphertext: 00D18C24BF39CD527455737B4B214BADDE99B070181C1E4729CC7B6EAC82298417FFAE7BDA1F41A7D74D6969BF9CAF3A7F9EC9397DB75F5E53D0282F793D601A28E8B3CA8730CD9D7A0ABA338E2DB3EB5314321EEBA2F16C8072DA6AD9A887AA5AED0EC5EF3DC7E5726626511F8F23B0BA4D83BA358DF0951B07399C7515349E3DE2938D2AA53AB11A4D1C07213E091CD3FB6453AF7DFB6799D45DA44B060F7BF5ACA5A25B3892BBB6 -Test: DecryptMatch -Plaintext: CC47935F7976 -Ciphertext: 02366250DE032B147BCEABCB576ED39F4993251D25010FAEEB41BDDA4301B890063247EEDC041539488E70B977091BF581033EE6EF75C224C8046EE3E7D2330383A30BA07FF33D10F07FF6E1EE20FA4D112CAB1BF457B50DC301DE5C6DBFACE227903379A41DC4D92517A547968D3F147D6435C3DF6A3D0D13635360716CBAC322EBD295593865C3A117050059FBEC83D112C5C3727377EBA7778A -Test: DecryptMatch -Plaintext: 3A370FAFD82869FEC40117 -Ciphertext: 026AE53843D3EFE36D8E52D9FD55DC6F0A0F51584BF81529914DAB6E380A6C9716828A7254307440B6A0CD16BF0D9D713939AE7F6C4D82D5AA70F33C9531E4071B9CB415C7622A23DBF4C81820BE04272874549F081B57D40B27BC1879BF134A2CF5D15203D326F9F97BCAC8606082A50A755CAE6FE2B72060EB1E0B72EF5AFAE8A823B3F0F91877C931CA64A06F3888DD4E2C823B3FCF529407255BE2AAD36A -Test: DecryptMatch -Comment: 1027-bit DLIES key -PrivateKey: \ - 308201380201003082011806072a8648ce3804013082010b028181072c45d24e\ - de76df2a03270413d8ab37645c8d6301ea76bb6cedea97142df7aa422b83043f\ - 8cfd8874dd684f47138433f5832c83c8c811d3c6d477b088006381ffb066402c\ - 951670f1927b1b67883451202f456bdb975d8bb2cde9b43c178ecfe788a0a0ab\ - df2cbfc700fbb97ef71e52221bc054fbd3cf8c04175e4841a45b89cf02818103\ - 9622e9276f3b6f9501938209ec559bb22e46b180f53b5db676f54b8a16fbd521\ - 15c1821fc67ec43a6eb427a389c219fac19641e46408e9e36a3bd8440031c0ff\ - d83320164a8b3878c93d8db3c41a289017a2b5edcbaec5d966f4da1e0bc767f3\ - c4505055ef965fe3807ddcbf7b8f29110de02a7de9e7c6020baf2420d22dc4e7\ - 0201020417021506533f6f0886a8a44137598adb93aeee548c9af303 -PublicKey: \ - 308201a43082011806072a8648ce3804013082010b028181072c45d24ede76df\ - 2a03270413d8ab37645c8d6301ea76bb6cedea97142df7aa422b83043f8cfd88\ - 74dd684f47138433f5832c83c8c811d3c6d477b088006381ffb066402c951670\ - f1927b1b67883451202f456bdb975d8bb2cde9b43c178ecfe788a0a0abdf2cbf\ - c700fbb97ef71e52221bc054fbd3cf8c04175e4841a45b89cf028181039622e9\ - 276f3b6f9501938209ec559bb22e46b180f53b5db676f54b8a16fbd52115c182\ - 1fc67ec43a6eb427a389c219fac19641e46408e9e36a3bd8440031c0ffd83320\ - 164a8b3878c93d8db3c41a289017a2b5edcbaec5d966f4da1e0bc767f3c45050\ - 55ef965fe3807ddcbf7b8f29110de02a7de9e7c6020baf2420d22dc4e7020102\ - 03818500028181056bf5dcced97da0ddd23c1f1294f97431e323f9719fc9bed6\ - 352d08a88ceb13a06b559b8ef7dc04c5a04a761a9631aa1000f32f885fb0de56\ - 505524ae89462079631f438284c8e5225c021d7731087ec0aad11aba9bba95de\ - 03f5c99ac228861a3ee6a7b47617cec687a58255321694b923e63ed247e65ff1\ - 4c279bec5282bc1b -Test: KeyPairValidAndConsistent -Plaintext: D391B4F3B53EB9B035C3AB1E3C6E -Ciphertext: 05D90F9892F6DD3DC3654130CAA312D2287D9E57607C301BE58607BB19FC78D67F2082C907FACA819A0D946AD16B46FE1E7264BE7D25D4EAB4F80D136E89EE7BC53B65CC1692581E3ABFA3C15482A6FEEB607AD1765897E67BCEDAED0E03FDE18E05330A99BEBB8710C77E7735CBB747EB507FE1EC04F239E964B509A4FEE8463478E28BF5338AE016DED9FE6B2DDBD3FDE467C45F0FA619E039FEF085D2F1544EA3CD -Test: DecryptMatch -Plaintext: 28 -Ciphertext: 066BBCB2D9E474A2C6CD514663BDA7AECA1F79136A00C1F9BDBAEDE344872093E67102307C96BF824999D86543121CC3D99B5CC4B511153A42E8A1569D063C27788E105858AF8EEB0766FAD9E0EDEFAEFFC733BE6824644CEE03AEE5FF15860CB3CBF4A46F95988D5E010FB844F944628043C830E575964EC36E2C38326C771085D796F2C22C0969E58665626415463A3CA1F56C357B -Test: DecryptMatch -Plaintext: D2C349F40A24230689EA15736C3AEFB1588A -Ciphertext: 019A66A4ADFED556BBD1E58728A3B7A3631458DCF677BB155DA989827C2240A586783D8C5DB98E266C39FCDF6FB016BBB25D53A6B30F3BC9D1109CB908B54F1932335F3DFC2C80847D94D13C5933953EA1D212107AB42189536171069621403681CAAB2A13EEAEC847193FA6A0234FA8F107E2C1747425584EBB4F4D702E29A3A09580E25B34413208009F9643327A636DF622B7F0267D3169A64646F301C584F64066801383ED -Test: DecryptMatch -Plaintext: 85D75863811C6F574222B577 -Ciphertext: 02C6FFDB38965F3061C736E633B497192862677CB247A37C5FA1FEB4F2C021EA94C65AD9506C73C2E98ADF0F340DAFAD2BF6F6CC906C93655594D093D4B0F6867755013C25ED0AD75DC9A04DD0666E6340BDD6C1E748479F3D64129F76B5BAB37D26319287EC9D65CE9E2243D4CCC7BCEA4065623C4D388A7BD779941EE541DD29E070F7356ED1A1ADAE947D79F8421FA717F933F08CBB8B699B551F1EFF75B8F5 -Test: DecryptMatch -Plaintext: DD07A91D32C26D3258AA4ABBD82E81 -Ciphertext: 05669E0777B003CC2EBE9BF3981160806A8B416A2DEAB4058497C5AF6A5C8F8D1ADF1225CC6FF7D292320E9C98CEDA144862FB4E32EE11AD9CC76A5C85FAE56A2567E6C9D168586F288CF4D525C94FF9F0ED6C3DBD08787768B90F8CD776520EFB920E61FB0E4463BE8D5AAE2683D31F392229A9554E0977BF25BCBBAAC7BB4FCCB009630D0203451A7A2AF847BA60AA0CE8C4D656DBED02353B92025925E1A0A6DF490F -Test: DecryptMatch -Plaintext: 0AA6B9FB846D1230F521F2624127 -Ciphertext: 01A9D56F1547728782D4F80BB0EBC8890BAEFE994900F41D56094F4734ABA2BB371060B2A69C6B7BC8944358519D141FC277E1195B3A78F7068731C3AF3C604A062A0D551397CD804168B7F400F786BC5CC3F912457AEAD56873AEF1A2378F34E953E240C20FFD7DDA229D4C020BDC68684A53C0AB3ACF9B44581353C60CE9854E3451645A604BB7AB3EB44088A07F59CE0FEB6454CC5A83BE5E939B317D4D8537CAFA -Test: DecryptMatch -Comment: 1028-bit DLIES key -PrivateKey: \ - 308201380201003082011806072a8648ce3804013082010b0281810cb31a78b6\ - 6dafe2dd020483aec0cad421e4a3df2a81b827009dd74f5ef0468fc508477190\ - f628033471ee2d56f913d45a94a8ad1582b29785a7ead06c88ce73812e653797\ - 921d3c4a8fba91c1423d6609e85625b2f41494546500237151958b13d1cc0f90\ - 586b0233290d052a18c2aa3ec2bdc32adb4676cbeb30309e330b823702818106\ - 598d3c5b36d7f16e810241d760656a10f251ef9540dc13804eeba7af782347e2\ - 8423b8c87b14019a38f716ab7c89ea2d4a54568ac1594bc2d3f56836446739c0\ - 97329bcbc90e9e2547dd48e0a11eb304f42b12d97a0a4a2a328011b8a8cac589\ - e8e607c82c358119948682950c61551f615ee1956da33b65f598184f1985c11b\ - 020102041702151c0cefd22a713385985cacb5fe84cd40e724ce9587 -PublicKey: \ - 308201a43082011806072a8648ce3804013082010b0281810cb31a78b66dafe2\ - dd020483aec0cad421e4a3df2a81b827009dd74f5ef0468fc508477190f62803\ - 3471ee2d56f913d45a94a8ad1582b29785a7ead06c88ce73812e653797921d3c\ - 4a8fba91c1423d6609e85625b2f41494546500237151958b13d1cc0f90586b02\ - 33290d052a18c2aa3ec2bdc32adb4676cbeb30309e330b823702818106598d3c\ - 5b36d7f16e810241d760656a10f251ef9540dc13804eeba7af782347e28423b8\ - c87b14019a38f716ab7c89ea2d4a54568ac1594bc2d3f56836446739c097329b\ - cbc90e9e2547dd48e0a11eb304f42b12d97a0a4a2a328011b8a8cac589e8e607\ - c82c358119948682950c61551f615ee1956da33b65f598184f1985c11b020102\ - 038185000281810aacd80676c540b97f74d2a94c2f389795c9f696d2a1fa934d\ - 20e93d49d0099d9312552e6e310da5d97cef87c9a5a4c47e7acd195293b09adf\ - db8e0cac95139446aba60fd625d17eaa102c7c26568b34891edb38226f949656\ - 44a9d52ff299cd007ab3dbc15779d4388431a66774ffaae5c6be04526b28c620\ - ac97e8618cb09d46 -Test: KeyPairValidAndConsistent -Plaintext: -Ciphertext: 0194C64DEB9CB401573730A29359456F4E9528347ED80F24E5AEC4441E896E38047EF95AAD9AD7A25AED6CC89FD95CAAEF27F3C814C26FE43F6D65288D87E372A204D1A66C3BCF0346CE89E9D2D7646E90BACB9A85022ACFEF8903C72A663BAED9A346E1A6B2B2FCF70E239EE70A34385F8C76CDD121F6B190085BAB3300E6B811906CE38AC740FE88A3DF8DCA1C6DF73A03236D51 -Test: DecryptMatch -Plaintext: 9498EB7300 -Ciphertext: 0A38C373F6A96D87528D2D55F6391A9E801252A65F622F36A130ABD140E1858024E31F247C3BC8C07D9500CBE7A8A3D6C0670AF0FA14D020DC54B201E657C233F8031DF990AE801077D4D3AD9B861F4C32D36FFB9E8BD5E2651169BC4560CC7FD02159929AA50882F8B4C8508BB98F6BE8A6A7C0E21A2A81AF781447ABEC85C170F3F6256C3B6C5E2D3A01BB5EA8B502D37561C06F1DA536BD59 -Test: DecryptMatch -Plaintext: F07FFAC9794BD8D528F750D50C05 -Ciphertext: 03DAF7F6C2BEBF8D0B380EB71BD8BEE9D649AD7647DF6DE4CBCE00D0363E31F11E0DC0331409863E3C069EE3F975E7F623B55D7F4690C7419C5AD97EB52BBC0212D3FF0A83A031591A31481116B2CD232A9C86A20EA40BD13A53BB73E644A6C7DC1E6C767756E7235538E9D5B155B3173416E99F121E96E02034C6DB9129489A050740F603DEFF96EF1D99E7EB4A32083D0D946670B1AEF30E1E38D3F076D6BCB57255 -Test: DecryptMatch -Plaintext: 85916A46E0965C69C4773C7DF9AF -Ciphertext: 053D29F0878C68FF55FFC8E6E0E03044AE23B79588034F0236A49A5B6D00EFE8C564D2D29ACB61FE49C0E984EFC3A48A96EAF22AF3032D8D0FD3B3BB16A0157C161F2B3D3DF802FDD6B61899212F44493383DDDEA8B2463BACD0C5E1F4F9E4063DE5E52032E7DA8B79E04C5F03144CD710ADA74506CEC2D448BEA0F2B59AB63FCC443BBE920748E122DDD6123BDDAE484DBD02088817D999FDF80D5ED4B308AF4C2DCC -Test: DecryptMatch -Plaintext: EB632C72F563174E680961BCF26EC7 -Ciphertext: 0BBE666C02191F668A2DB000646A14385A8E9199BD887913BA587DA4C683535801853186673AD7C43EFA5B65902559BA5345EFA111E0514D461C1B1EFFAE58708EE6C17F1758EBED31F0B3206B0EC1B4BEB2EF911C589E25CDC3B0020C47119B5F33EA2FB7C332CA6B1FDA2F350A4CB0D6844637F2CCA71EFB036C7400957AE093B21BE90E30A8672847C9BA5266EBBF9D62341F67A4D09FFA196A817DD2F5EE1A9654EC -Test: DecryptMatch -Plaintext: 42B5D2DB89374231 -Ciphertext: 0085B6894D887B59393F9D7365411DF239BE1104FD86CC63A52C990A84FC4660FF9B60CF0641E44A8224C169A9FD1B35EAF78008E34F14B5311CB5D725096D9DE92F35BE6E71E3AC3E3B3D68BDD5351A5AF93F0B3BCDB00B9B126D8DA07E5F42107181F9580CCD0D6F086C94177FD48ECFAE3FCF2F26D64940D749E8A964275290A247AF700210500517BEB2175326F4CD3016AB175B352F9BD3289079 -Test: DecryptMatch -Comment: 1029-bit DLIES key -PrivateKey: \ - 308201380201003082011806072a8648ce3804013082010b0281811b02fc18f7\ - ba0ae7f84ebcaf319294fa2bad52e47e1926267ad38b2f1b2566145bbc190cb5\ - c39a8d6229eb238d3742bbd234b0f28eac92363a31ac96c5b08eaeb1963de59a\ - 3b2d0295c0266a7da4ca92b64f96c497f262e98df7f20ec55814b8441acfb639\ - 7abf9c4e42ab9bd6dda6ae180b12e12ead68672f9d56b98ee40e2b630281810d\ - 817e0c7bdd0573fc275e5798c94a7d15d6a9723f0c93133d69c5978d92b30a2d\ - de0c865ae1cd46b114f591c69ba15de91a58794756491b1d18d64b62d8475758\ - cb1ef2cd1d96814ae013353ed265495b27cb624bf93174c6fbf90762ac0a5c22\ - 0d67db1cbd5fce272155cdeb6ed3570c0589709756b43397ceab5cc7720715b1\ - 020103041702152c7c60166a1bfebb17831e65b8e1f61f3ef9ed9ff7 -PublicKey: \ - 308201a43082011806072a8648ce3804013082010b0281811b02fc18f7ba0ae7\ - f84ebcaf319294fa2bad52e47e1926267ad38b2f1b2566145bbc190cb5c39a8d\ - 6229eb238d3742bbd234b0f28eac92363a31ac96c5b08eaeb1963de59a3b2d02\ - 95c0266a7da4ca92b64f96c497f262e98df7f20ec55814b8441acfb6397abf9c\ - 4e42ab9bd6dda6ae180b12e12ead68672f9d56b98ee40e2b630281810d817e0c\ - 7bdd0573fc275e5798c94a7d15d6a9723f0c93133d69c5978d92b30a2dde0c86\ - 5ae1cd46b114f591c69ba15de91a58794756491b1d18d64b62d8475758cb1ef2\ - cd1d96814ae013353ed265495b27cb624bf93174c6fbf90762ac0a5c220d67db\ - 1cbd5fce272155cdeb6ed3570c0589709756b43397ceab5cc7720715b1020103\ - 038185000281810e6e9c7b74e33a1f4683ddfa35509c39a75b75c10f438efad0\ - 82caad08a7418990983150a9a5ffe3f8e340443dfbabf82fe060da487f94afdd\ - 1e713d491b983fc4fb69d4405a12e356808c5cf6a7bd397c1a5637ba8e168b7e\ - d3f549a9f39f343e8fe3992706e782a1dde5c5e9e6a950f7d980835c1bc1742d\ - c2840cb2e61086d7 -Test: KeyPairValidAndConsistent -Plaintext: 03C57B87 -Ciphertext: 1440C6776914314A1DA161EAA41D52B283E2C0B487C801CEC33DCDB639F579F69D12FD029C994A311913EB6869C7A5659EE8BD9F5D7225BBB2EB77CF6F3D24A5E9866BD2CC50E593EC5CEBA4A96C59FE8B98B5EE2121E5892F2436F98B5C4E4A12077A1A64F1FCEB783D05453A657BB91909637063813CC00754402DE24F4AD6C0D9D4C15B7F4E485AF3538D391CF5993A59F6D1FE6C76E2A7 -Test: DecryptMatch -Plaintext: C5598C0FE0D90B10E7125079E2EDA32E531C2EBF -Ciphertext: 129FC863B70BB82C1C59EE2DA37FF3909F1DAB4B55D9727EE0CA3311BE5797F93446ACA0409CBFA848A90756D2598B6ECA56F6341C6E9F716A62380CB5D47400CF392A5441DA5AD2C1D066F894942837EA7B6237D7BE2E94FFE0A106148C2B7B9AF624242A945BF3B217D89FDBB070FA5940C1C899AD83AF1F865DEADFF0F4E48A7E00BF7AC5625F6E32F8B01394AE90284AFA061AF6DD61ECA1B8FA77CBC172573A9938332D7AEE41 -Test: DecryptMatch -Plaintext: -Ciphertext: 068117F2BCF29C72CDA3F4560A2165B7DB7C29314EFEC8D110425D5AA02F35C0F9A2304A0554C097944EF3A615BD70F5461E6549C319AC1207B100FEF022410C46284CEA9CA103685A18EC944DEA0BAE8E06D2489A3E2D1D9B255F192677664CA6FF44130C28CDE1FD437E85396503DFF305BA2D64E8BF9C75B00CA1595A1AED2C60865C0DF03F408EF95517E70552B2D5A8C190DC -Test: DecryptMatch -Plaintext: 8DDB5FC737283E5B -Ciphertext: 0B3E0CE51E1D3AE240EB34787DB5D49D6786B3BCC29C37EF8B9155F342C4D226CE1D07F7BAE09DFF7E8CD89915E1312F43540A26F03D918BF56B07E6D07A96870362643092F24FBCC6A2DE62F637B5F5F807E430DAF9B7AFE1890143591BBA035538FB419BE4CBADFCED5EB8BE2471B39CFCFBB2BA854C9E0F52E67524ECB80F9FBB3173D2A18C9F4C43F4E20866428A9256AB8AD199BA0BAD55A18896 -Test: DecryptMatch -Plaintext: -Ciphertext: 197D4DC43B0716191F926DC806A1B707ABD6684735144AFE07E0EAEEDD9BB3C89B9D0076859DACE6FFF9E2685592ECB010909910DCA50D2FB1B15EB9B9CFF4F71250D807EDDC2EFB2033BDFD93FD10E117683E3E4E8A5D3308572D4852954BD51251279A79092E3DCB95F1FCEC8310931933F47998DDB61438478CD80864F08D3370C863BE6E7E1CD22E38BC512D9A160478814057 -Test: DecryptMatch -Plaintext: 53AC983CEE599A17261C53 -Ciphertext: 0E31EAACA9E8A86ACEFD1CB817869F48EAB342EAD0DAFE17B848CA9CB72B92567987B929F655B8D601EB1384BE380C8E4BA8B4E274F724F02FC5C00479C308813A3963E2D8AC88ACE92AEB00AB024A4EC5560857310E03009752B86793B356DA344B4AEF01F3ACCD9CBFBE399D0016260C006FCA5443359EA1E012D43921B8D2B8CFD31B94972ECE9C0031420238C76514635E9B40F17D9AF25A1009DB75E4C0 -Test: DecryptMatch -Comment: 1030-bit DLIES key -PrivateKey: \ - 308201380201003082011806072a8648ce3804013082010b02818127b35992d0\ - 8edcc7aaa6ca70365afa8ffacb4a9bef0ea348e27414c2100b81827fbf1abd3f\ - 14150bb5d85ab13b2aca21304365f150511a68c90f4a4eac0bfef0c548e3076b\ - 30a24929c4482f42f2b03ce122b3a251e685a3fe3dbb539932bf8d2b117b1b08\ - dbceb78c84966270657164fe6f20c6d27dca270dd4417f843fdfb23302818113\ - d9acc968476e63d55365381b2d7d47fd65a54df78751a4713a0a610805c0c13f\ - df8d5e9f8a0a85daec2d589d9565109821b2f8a8288d346487a5275605ff7862\ - a47183b598512494e22417a179581e709159d128f342d1ff1edda9cc995fc695\ - 88bd8d846de75bc6424b313832b8b27f379063693ee51386ea20bfc21fefd919\ - 0201030417021513560b35fe90d01a106b1e6ccba4cec953421d48cb -PublicKey: \ - 308201a43082011806072a8648ce3804013082010b02818127b35992d08edcc7\ - aaa6ca70365afa8ffacb4a9bef0ea348e27414c2100b81827fbf1abd3f14150b\ - b5d85ab13b2aca21304365f150511a68c90f4a4eac0bfef0c548e3076b30a249\ - 29c4482f42f2b03ce122b3a251e685a3fe3dbb539932bf8d2b117b1b08dbceb7\ - 8c84966270657164fe6f20c6d27dca270dd4417f843fdfb23302818113d9acc9\ - 68476e63d55365381b2d7d47fd65a54df78751a4713a0a610805c0c13fdf8d5e\ - 9f8a0a85daec2d589d9565109821b2f8a8288d346487a5275605ff7862a47183\ - b598512494e22417a179581e709159d128f342d1ff1edda9cc995fc69588bd8d\ - 846de75bc6424b313832b8b27f379063693ee51386ea20bfc21fefd919020103\ - 0381850002818117f468e3d38f1198556447bc16fb6c6ffe98b31f9042e59602\ - c71286db3e0780601e47372e6eb4a570f2059a7a87ee4471eaf94bcf23e34017\ - 5a377333d39dc64b7eaefcc065bef4a92d0d10acbba71082852c2014d9d3eb2f\ - 8583947c2cbf52865730d2b9511ed8a68367e4d89eca4589b836889cd424485c\ - 9305bc0386b16619 -Test: KeyPairValidAndConsistent -Plaintext: 4424 -Ciphertext: 0C570D0317363DB43DEB295D49A3BC937116F2ECAC9226415952CE634679272B7041A4B806164F12E87A0050AC2D60D393F845965CB3A56FF0CF28D31CFA0285015452C59949E3D96C5C6D1DBE38F6EE98E2C93357E6C036053DF920C7CA5E2EA1617AE44434A347FCE426C55295172ADDE9CAC3AEF2C6D6AB2C8F0FAB1B146FF1A10D5EC2191C99D6418519443EEE2A198BFD159BCC63 -Test: DecryptMatch -Plaintext: 5092C5D9FA398EE31AE27C97 -Ciphertext: 196476CA0E6622569F233780EE0C449C2CAAD3819B348D01B4DE5425EBCDEAEA739C6D9CCACE4DDF06520E83C94D237AFD46A4EFED635112CC78534E2FA6046ED6C06806EA8F4B9F3FC3F87DC55F63B9E14F9ABD82E9CC80A298DB281C9F690391F5B064880CF35C5A0BC7537DE9F65DEB2467FAB5CE8F41529A5B06BFA6B587ED661849BC7388277AE7F7E5EFA3F2526E503ECB106B718275BF32C4F83278CA30 -Test: DecryptMatch -Plaintext: 89BB350DC43CB3 -Ciphertext: 13844D63B45821E8704A9C1F6E9166B5EB7FD98DE5369E5DBB9DECE506EE467294282B5B174EF2F81B6766A3616AC5A974F06D9C47163C69668F4C1C78F8A6716A4EC28A6AE25F615A838B9C747EE857AA2AC92DEDC575AC568A78E8A86EF78D55EDB88707F7B6D558E8A760095BE8BCD066FC57396E67C9D8654245676DAE9FC4BC9D578496CA450B35E179410A5DB443C2026FFF0E5F7E54821E39 -Test: DecryptMatch -Plaintext: -Ciphertext: 040E084ED4A1C135C8867BAFF219A0092855E1E9FC96F38277E16B96986FDEABDC22F3B02CC53B655369DDE3356EA6FE49B77C8EAA49815CD5B1DFDC6E7D0AF6AA985483345BBA8A251F1EC7658DF708C8EED8AB6B953393C03BA2EEDB8B6391D921C9EAD2AA61DBE724B15C9C664EC4EFF83A535E46BF768FD519B043DBF46A36FA03921224281A826F6F43DEA6DF38749D600317 -Test: DecryptMatch -Plaintext: BB296D4FF04AE0171F1F24AE -Ciphertext: 0AA9A85958D9F1BB06E3DB48DACC842534915A7E42715057BD33523EE756F62AD973E37128BB8031358A1DC583F40598B74F079AD667C037D4BE89938233BFE1C167EFE764724F97F2EA42479FB455B1166AAB26A43440867ACE77472CCB13643D5BC9532F68C5368825BF225DF49E2D3BD023447A795AFFE927A796C70E5D6359537A9CE2B4B9323D7FE208540CC32447940ACD91F4718FC7A7CAD45A524B6DA6 -Test: DecryptMatch -Plaintext: 87A2C6B33856C6A096EE -Ciphertext: 12D17080AD0E7FD426E02B6A90736AB4B566F31E937B2D3E642D663D6ABFEB903FC9C4763AE492191E0C15B264CEF321DC8747C590F751A9BA2825D9250F72BA85EEB45B1F1D7B2BA972455DCE7DAE6CBD7B5BFBFB88FCEF52910F9B28D3DCD6BB5D479BBFC73896C3D1C44AB387989DE4D77855F6B8C7A8C12969D51DC6B10BA15C2B19E91A55BD5542853EC6F8F13260E8774C706958B1C9866114FADA1D -Test: DecryptMatch -Comment: 1031-bit DLIES key -PrivateKey: \ - 308201380201003082011806072a8648ce3804013082010b0281814ff13b3664\ - f5c527c36120159d9b9a82054f9ade6866b379e13d03e76cb63b25731132d5f7\ - ec6e95186ed83c793b5d63189dac30c6e6a655605f885fe73d2ae5433c80e660\ - c5d985ad6d12783082861829355c25cd7a7ff84b3033cb7fb530a7baa4000830\ - 2c1eb24b866cf467f570e782bceee66e15585f70b0633965c870530302818127\ - f89d9b327ae293e1b0900acecdcd4102a7cd6f343359bcf09e81f3b65b1d92b9\ - 88996afbf6374a8c376c1e3c9daeb18c4ed6186373532ab02fc42ff39e9572a1\ - 9e40733062ecc2d6b6893c1841430c149aae12e6bd3ffc259819e5bfda9853dd\ - 52000418160f5925c3367a33fab873c15e7773370aac2fb858319cb2e4382981\ - 020103041702150910a291c216ca5f944c5f3eaaa1535c3b8a1f0b15 -PublicKey: \ - 308201a43082011806072a8648ce3804013082010b0281814ff13b3664f5c527\ - c36120159d9b9a82054f9ade6866b379e13d03e76cb63b25731132d5f7ec6e95\ - 186ed83c793b5d63189dac30c6e6a655605f885fe73d2ae5433c80e660c5d985\ - ad6d12783082861829355c25cd7a7ff84b3033cb7fb530a7baa40008302c1eb2\ - 4b866cf467f570e782bceee66e15585f70b0633965c870530302818127f89d9b\ - 327ae293e1b0900acecdcd4102a7cd6f343359bcf09e81f3b65b1d92b988996a\ - fbf6374a8c376c1e3c9daeb18c4ed6186373532ab02fc42ff39e9572a19e4073\ - 3062ecc2d6b6893c1841430c149aae12e6bd3ffc259819e5bfda9853dd520004\ - 18160f5925c3367a33fab873c15e7773370aac2fb858319cb2e4382981020103\ - 038185000281812e9a62ec280cf5ee7d09e5e5675b67a4c325c7565a1129c079\ - 095d0f078e7b8a5b3c947c21c022f01c0b9267a45fdd9f267e63c7f674a02d39\ - 6fc59a960d7991d2e3552d01deb2784f26ec4c9355c0df0497271cb583d157db\ - 90b0634180578ac85005143dda75a33a127df96639e275cee8fe9c02db62d2ed\ - 879f3caae11d6e00 -Test: KeyPairValidAndConsistent -Plaintext: 1FBE21CDBCEBA28625584CB1EA0D9627A919A6CA -Ciphertext: 2CFC251CB2A397880EFD0077D9CEF817A6D69EB6278CD82998C5988DD18D6ED15FC8CAFD1611DE58BB46BA8A87013C7BBD4A8DCFC454F13DB282BBBD4E1594E6AF17AB6219E91D7354EB88515007B58BF0D8FF4BD4C387FF6E02BF81455803E6A936F25245863F1580F00ADFA4BDE052BEC72739B88042CF99480AB6F4489F9C8B9319828A000FDDC4D1A6E49868E3B39DBF7DCDADD9B882B755E330C762FCC023EBBCBD0330D28DB6 -Test: DecryptMatch -Plaintext: DCF33FA5BEDFDD93DA -Ciphertext: 14BA927F10262B134AC43F6787EAEC3546C17EFE3F6D54AD2A245A0EE732B749B7312521372F21716E1DE29AF8FB329C25ADEDE2DADE3A455235DAC6C1F347C2A052893DBA6511C3760384935D68C7808D23CB194E6A19F579782B22C3D8880736BECE89FD75E7E69022E9B2500E5A044105B832C9BFC5F18A807889B401E61A9888276B31FD299D604AEA85091578D41E5B36D66C4510F4B147C5E59615 -Test: DecryptMatch -Plaintext: 217B0E -Ciphertext: 37B50EFF3A3FDA419988CA44CCA3AE95F465A18C89CE2DF025F565DAF0F833E198DAEEB46517FBDE47AA3D5DC5039B873A31D0DEE1EBC63F3E97C0A63CC05A8F877FE70EB7F6198C088FF35C1C369616D3EACB013F295F764146A5AAA2D21CD36B9DA4490CF1B37D379ED7713B955C3B0581650B5C7F4F5B8F45B89B94DC364D3340414B491C29AAF2E197AD6F59B0DD687F2E60F8826169 -Test: DecryptMatch -Plaintext: 36DA002D110CD632A9969DC42409B478A3AD3B -Ciphertext: 37126F749ACDF2B6BF667DE9635CC0BBD61753B30931C847B612936C1AE122D6F0E409B4E9454852540C5FD8DD3DA8BA4026FBE8CC8449CA0071409DB47165907202DC078E5A8F6B0E9C8D3497A2D02F53DC3A47389C1B3778EDDEE980055BC4B7EBAC0B95C0CC4783A4B202CE127FA0D7B65B252492A1847FAA9D1ABE893376917BCD46DB4FFADC06C880AD848683B874F7CDFBF0E4BD87AFC39303C512C44EF58B510702C1129C -Test: DecryptMatch -Plaintext: FAFD -Ciphertext: 0F63F22B7817F2449388E0422C6122200D76BA8D4CEDE63DE950ED26768E6779BA0A238C8C3F2CC5C87C7926F1247A7067E27245423EEEFABCDB606976BA2FD9977320F903733FB57D02620682820B1AEE165604410157C5ECFAB7090EE83638A99E4CA36CA0879D3C14856A3417690A52F14F33CC50FE44503FC47F2D90C096C03F62A85D88891E9568911AF61DF916C3677DCF152FD3 -Test: DecryptMatch -Plaintext: 9E9145E890FEEADC706AE1 -Ciphertext: 0B60A14F132D21E47E2FA20633DE43694EC0394115DB297C1B68D1A7EE7722B6AF5D149A2EF5D0EA05761C0FABCF8C0862AF320E9D273AE743717F78A46F15B640C87F4AD0C25865EA3453B0FB59D997E41A31B6C1669F14639E2F70F7D4324B8729A26C8869D97B432740F7CE28A74EFFC82AD7EF172A02AC678C13235BA2C6EF79143D189838E1F101385BD7098AE3B5B78A80964D5C0A3D7DBA7FD7328BE8 -Test: DecryptMatch -Comment: 1032-bit DLIES key -PrivateKey: \ - 308201390201003082011906072a8648ce3804013082010c02818200b98458f5\ - ada1f23f4ae8a3a519c27fde91efd1f201e386aa6119749aaf6ed389079ae49c\ - c76317f81f14164673e8f0be00edd4db4792d446e7bf84b30200626b442af3f7\ - c9a6ee6fb0f95807e62fa5b2d171a4b326cd60c82b20d63ef00b408ea337f50f\ - a51f07549dc4f9a660842724566b94d6e2a58980d2d20281ce6c327643028181\ - 5cc22c7ad6d0f91fa57451d28ce13fef48f7e8f900f1c355308cba4d57b769c4\ - 83cd724e63b18bfc0f8a0b2339f4785f0076ea6da3c96a2373dfc25981003135\ - a21579fbe4d37737d87cac03f317d2d968b8d2599366b06415906b1f7805a047\ - 519bfa87d28f83aa4ee27cd3304213922b35ca6b7152c4c069690140e736193b\ - 210201030417021534999c0e7b17cc3c110cff71571e8d4708c3122a1a -PublicKey: \ - 308201a53082011906072a8648ce3804013082010c02818200b98458f5ada1f2\ - 3f4ae8a3a519c27fde91efd1f201e386aa6119749aaf6ed389079ae49cc76317\ - f81f14164673e8f0be00edd4db4792d446e7bf84b30200626b442af3f7c9a6ee\ - 6fb0f95807e62fa5b2d171a4b326cd60c82b20d63ef00b408ea337f50fa51f07\ - 549dc4f9a660842724566b94d6e2a58980d2d20281ce6c3276430281815cc22c\ - 7ad6d0f91fa57451d28ce13fef48f7e8f900f1c355308cba4d57b769c483cd72\ - 4e63b18bfc0f8a0b2339f4785f0076ea6da3c96a2373dfc25981003135a21579\ - fbe4d37737d87cac03f317d2d968b8d2599366b06415906b1f7805a047519bfa\ - 87d28f83aa4ee27cd3304213922b35ca6b7152c4c069690140e736193b210201\ - 03038185000281813c42dc88e1e15b9a737bfd64b96a7448983da5242a6cf43e\ - 1cc72e8886db723b681c291f772bfe33de5ba735404581c839341969a691c199\ - 229c2849c1c8c80396837c71d711ce34129d3006aef9d16cac504543c6e570bc\ - 3d730d5cd35d8a375edacf591b2837f9a705d63dd62754365d13c103961161dd\ - 984d89792985ad688f -Test: KeyPairValidAndConsistent -Plaintext: 23 -Ciphertext: 0BE692E3384A784AD01D80A65D22B48449AFC0281B36085B0D8FA03574B4BAD05F754D6FFB8E3F4B4BFE60FC7EA2BC1F11253505C753BEFB1D3BDA0084E6CC1FD82454A601F1C0ADB52B3FFC4895D36542FE0139465B490102C7B6A75C9273B737536DD122CC8C3EA0F32900C82C45B0FEE97D995AC5B4345A8899DD6888D1E814BB5A1141A86E636D31FA05689ABA512DE869D12BB4 -Test: DecryptMatch -Plaintext: 4F571384FD52A9041C8F3094 -Ciphertext: AB7942750662F0FA422F4628B558938545FBF7C749995B4D5B32BBF392292FD1B4EF02E5A2EEF6874BCA9F0D4CBCB92D684CDA821829850BD4CAE110E78E42909CF069B54B4BC7D742E113E57C85BCF54AA5CAE1005516BADA834A857315DD6C3DEF4AEBBBF6CB4AE217107E16E83F884B2933EE618F22C45B78092B2EFF7D5C33DB7D89FED4E134921DFD9DA999FB8AFBFD094D77BD887D2C86AACC401A621905 -Test: DecryptMatch -Plaintext: E421A467654B3B88C93C8E5384FE2B85D4E340 -Ciphertext: 7485B8E5360BC1383FCE1C586E126D5DE89FF1CA7CC8146C37A1E6582A564C4588984915CCE9635EA6ED434C80CAE138FBC1EB15D16B294AC1E59CDE544E4DFBF276D30A7F51461C2B7E7F076222DE6AC534DC47E015BA85062694FD78DC37E9460C10FDAF2C61FC7EE0669E99793A657543B881B50B0D3916E395A959EF55B02DB8E7B4C5B5B653AE2D11CCE639342C8C77C667625116D9E6B6C6AE822CDDF2AA503EC3FAD53D80 -Test: DecryptMatch -Plaintext: 3D6C941B1F03E5C9A4 -Ciphertext: 684AA8D2AD35D2775BC30794A078CFC931096A37D472FE511F72B03B33E87AB1E7B958C3447AF6285AC379379E0D1F1BEC535E4032E186573742A75C1B42BDC52F679DCA13B2B9E67CC73461084DE1777FAAED93C7C1E4A6B19473EDF6A57CD88C076574A356748D501A05AF66A136E908993A0A70538FEB03109C62A41540EB4E166596887B4860E3AB0BF9C1AFD02C67D4BFF28BAECD31D1CEB207A245 -Test: DecryptMatch -Plaintext: -Ciphertext: 111C252A9E64FB777F09AF6AEF9C4210B9644C3A66D5528C631D5348E30B146A6225783DE1FB796DBAB3A901E37818B5AE49BF1F8CC0A6C8909D2DB06D651CB08009A25E13A89653DBBA5959674E37BD72039D4E7BFFB3A2395DF8C36164C3FA71334DBFF2FACA090F1C349BF68443838A0D893B9B498D3B6CC86646F935D5ADED81967A387506688B6478492129534F3A651C9985 -Test: DecryptMatch -Plaintext: DE5F0B92C45A0C1530 -Ciphertext: AE6BAEF52B43EE88AEA7796D667D044887407ED07E7618358243A0108514FE9793EB28EB42B4BA2F28F6687FE7973FB8DBF825541010F1BC1FC7350CBEC0B055C0C71FF2C4D2634582C966C1CFD3449AF8AC956BEC3EE797F7E81E589450EA13C1A8C99116E05E49F4BB87C9B95EFDBEB35B21C36711CEC8A1ECF3E4F194251563F88C056749B835FC19A7CD560FEC785207DD14D43C6104D83BB05F1DA1 -Test: DecryptMatch -Comment: 1536-bit DLIES key -PrivateKey: \ - 308201bb0201003082019706072a8648ce3804013082018a0281c100f9566c8d\ - 687a5ead7c780617d3ed37b4afc46582e9fc0d75ae217fb506f5c2024c2a0e6d\ - 7e042544235b4de63047a33940d772721e895f9d4e92790bef0d3668ec7f6cad\ - e7f9b18049b33efa773c83e97b35ef7ebf18934b48dd4700a48c1f76ffc20684\ - 521bad52834086ccdf1e3d5c9128fef52f6a9444d8e9944d49e5ab411f46b63b\ - 290b7fdc8f48fab24c2059510bb7247e0930d5043802522d67f2b69ac18b82bd\ - 0229e53bf6769fe83c469188d600e6afa6686bd9725afb9ce39bbd9f0281c07c\ - ab3646b43d2f56be3c030be9f69bda57e232c174fe06bad710bfda837ae10126\ - 150736bf0212a211ada6f31823d19ca06bb9390f44afcea7493c85f7869b3476\ - 3fb656f3fcd8c024d99f7d3b9e41f4bd9af7bf5f8c49a5a46ea38052460fbb7f\ - e10342290dd6a941a043666f8f1eae48947f7a97b54a226c74ca26a4f2d5a08f\ - a35b1d9485bfee47a47d5926102ca885db923f04986a821c012916b3f95b4d60\ - c5c15e8114f29dfb3b4ff41e2348c46b007357d33435ecb92d7dce71cddecf02\ - 0102041b02191d78b208d09b23e859be7e79ca76e612d8e5ac75a5ca02c506 -PublicKey: \ - 308202623082019706072a8648ce3804013082018a0281c100f9566c8d687a5e\ - ad7c780617d3ed37b4afc46582e9fc0d75ae217fb506f5c2024c2a0e6d7e0425\ - 44235b4de63047a33940d772721e895f9d4e92790bef0d3668ec7f6cade7f9b1\ - 8049b33efa773c83e97b35ef7ebf18934b48dd4700a48c1f76ffc20684521bad\ - 52834086ccdf1e3d5c9128fef52f6a9444d8e9944d49e5ab411f46b63b290b7f\ - dc8f48fab24c2059510bb7247e0930d5043802522d67f2b69ac18b82bd0229e5\ - 3bf6769fe83c469188d600e6afa6686bd9725afb9ce39bbd9f0281c07cab3646\ - b43d2f56be3c030be9f69bda57e232c174fe06bad710bfda837ae10126150736\ - bf0212a211ada6f31823d19ca06bb9390f44afcea7493c85f7869b34763fb656\ - f3fcd8c024d99f7d3b9e41f4bd9af7bf5f8c49a5a46ea38052460fbb7fe10342\ - 290dd6a941a043666f8f1eae48947f7a97b54a226c74ca26a4f2d5a08fa35b1d\ - 9485bfee47a47d5926102ca885db923f04986a821c012916b3f95b4d60c5c15e\ - 8114f29dfb3b4ff41e2348c46b007357d33435ecb92d7dce71cddecf02010203\ - 81c4000281c07a5b4ddf442b2cd7fd925be84f2ef4c4032d61c5a55c5949b30a\ - 765cd4d5d4566af37ffa7f814f51bdd71c3e5575c6fd0203f14d3ded4e14baa8\ - 2747a6437d35ebc81e2035bfb0e04087fb5fe449163377d47b045b680b394962\ - 20b3138e85f6d24e06f955ec7a1b785ce34c2926cda441bfc86ba2f44a489a41\ - ee1740ab5ec3daf6d2c598e1d143654c05ce61792b47ac92c8d6ba0711419e41\ - 221743b768eeec2601f66d277fba154a62dc996537a0caccfa313cc9fde0194c\ - 05493aab1f07 -Test: KeyPairValidAndConsistent -Plaintext: 9302C420D137C310 -Ciphertext: EEF64A81C754B2EF543A19549AC0FF3F44E4B548284ABAA1E5F1EB704B0D246749D7F1CEF7B20A5226384DBE8FB596101591BE2B53E9909EE3723CB70A385FC2DAF6CE15629EBA21E7F26223B0A2428D8931CBB4F1B281E318A540F38A809C8BAD92D10FDD63305DBBE972E6CB973FC4F2FDF0BB9CC37FC42C7AD76E8DE3FA91E5E79B09796652BFCD62A28A59D9A97759032A0A78E0E1B081DF212A15AA44E35DE9E291EDA499DDB631486C029D56052246C9E37FF24EE9E86465B3B55BC4BAD77B9AC873B6F36EA65892B202E320756540009C81B9C6747BDAF40E -Test: DecryptMatch -Plaintext: 9FD4F26B7317BBD1B235 -Ciphertext: 514DB5C63AD9707197B4F0B2A30CDA18369B963E62F7ABBA1E030E08D3DE4E6C17D4BD7CB8097C2E641FBB0AED6A9FE7FBEAAC1C6B85BB3570D0E86FF6105B9F8C9B562A4EFE4AE3AECA26978C514129006D22C108B1C8A0FA55864EED3D3F81643AAFE36DF1CBC3B4E1B1AD6D5E0612214938A55114589B97286A7EE5B04E39254696DA91453027F07346984423FE2784DEA9375C236E6640504B5BCAC32062836E5BE1695CE73285CD77CE9717FA38E080C28C2959D9E32A589C04ACE5E52970ED49BE34703AD6B9F024DDA176C631EF5EE76833B427E233A5DAEC4328 -Test: DecryptMatch -Plaintext: 337D8BDD32 -Ciphertext: A4EFBF2151DAC683F0C51D60A647151A1EA0C0DAA8CF3497D7116439E6AEEC62A36D06F89AB2F1886FB9F62403E3DA8D6F67F66DA2436EE20FFBADD698DF87EF40470749C0BE0414A7AE4D2755459F8A17F6C7D8920236400313D7846532C391A0A4D99C26C556772E2D3C74E0119C4CEC7EF224488BFEBA017A910E5FD167B4486E436F7481DC5A46F3FF0536193C75A857DC53C5242C11AB911BD21926462C5060BB89F71D99FDEAD3D16B1E21E0D0791B59ED0F49871F744B13F23EF5028C238B895532F90B0ABE9912644EC079604939A0CF519BA9D185 -Test: DecryptMatch -Plaintext: 25549A5AE844ABEAA694E3F6 -Ciphertext: E2B30DD7781DB7EE7B2EE3FEB77F7360A6069396D8BF1DFD85D5429DA5A156677679085D612D0FCCA0979C97E924E77C43D3702940DBB556A5BB6EA33D650E078B1CDF8E5F76DA6591D0AFF4389A3A982A9AC581BFF393B35D36894E407AA56B493C2F7C4CBB75AEC72394AC4F8A99089702F3AEDB2FC7486F5CD01691C3C8F8FF3E951CEC70A4E172B763124BE1D9F96DBBFBA8FA0EBD1A71067A20F68DA6AAAE849880DD7F88901DF051715E240BF0F5B49EEFE35B9B0ED2B69757111080DCE2E2A933CFBE8FB9E6E9A2C2C75E0A4228D06689796AB919EF80405CBF648137 -Test: DecryptMatch -Plaintext: 5E61EB24085019F4A76893517C0A13 -Ciphertext: B13E45F9288FD2C5C0FEE230D1A09DE376ADADB5A4330F33BEC04C6F14C4A1CF3789B976F402F11611AB8345B2EB1069CFEE1E2F482A02A0ED9A3B9D94EB78C7BD7222ECD48A598E34D1F0B6205331CB20E0B2C6C146FB29CC11BAD5CA06BCA3EE39DD536FF330663A817ADECCC284B92F6AE3EB75B00316992BEF8A955EBB4DDE2CEF504E9298AC243C00FDB64B6AE96FD7B2135E6BCEFA7CBFEE135A650AA3D8CD095D1C9156232DCFE1904BC4CCE58B455CEFDDEC1D201B07ED4F999D6281AE21C2008525DB24BEA2D9FDAC1BFEADC3E6E6B1181F1A55A75976C565BC28F177CF02 -Test: DecryptMatch -Plaintext: 87 -Ciphertext: 174E5CFE167D4F6FB9A8FCC0FBEFC12864745900F5A18EA92282C8B6689EF53BBB87B30FC21DB101D93E9FFCED05538EDAB59F9FA07FB176407651DD0C4CD8269B1DBB70F24C8177EC6E16294CF5E87A3070A077B1CE84B612C3E3B1D4FD60D732C4D2CAEF5AC442A358AD0F323E60F58FC8B29894F3EAD3AE0DB8FD08BEBCCD4220CEE6B7C43A5E769D1F890A6B6505EE7FCDC7E399FE5321C2792D7AE094D13EC493CC0911B3EDBA6DAA037E2EA0CD3642784FFF2CB1BE04E5B12AC9D2871F016D8BCCE6DF25C1C04D912CBE707FD4DB0F9E89C4 -Test: DecryptMatch -Comment: 2048-bit DLIES key -PrivateKey: \ - 308202400201003082021906072a8648ce3804013082020c028201010096411b\ - e93e733637e91b1d74f808f4c9c528293e3123ac1d3d2f94c462ff38d0cd2fde\ - c0eb03bc5e54b6df41e9bbe9127a1b3a7f47cfb513340664829ffae26f832b48\ - e2d660d10e4debc1bfb412f331ab7b2f88c0d31fb587ed5c5256e0ebf7da698a\ - fd3cfa0443af91bab8c539376fcbad72bfa6985b6e64250e6b546b07a4575b08\ - 449d383b5650083c637d2452e7d1b9227adfd328ce473bb4374fa31e0ad52e56\ - 7feff6a9c4842d24d069e7babb35313ad63ca5d33d572bb309689a571e9ffe25\ - 38816bd7bde7bb11c10752e6a842751f594f50cf4b8111f387134e30c6c03ba6\ - 40be7cd5b6574c0d0b571a98fcdc292070595dcf6e8d034cc0ef92e8ef028201\ - 004b208df49f399b1bf48d8eba7c047a64e294149f1891d60e9e97ca62317f9c\ - 686697ef607581de2f2a5b6fa0f4ddf4893d0d9d3fa3e7da899a0332414ffd71\ - 37c195a4716b30688726f5e0dfda097998d5bd97c460698fdac3f6ae292b7075\ - fbed34c57e9e7d0221d7c8dd5c629c9bb7e5d6b95fd34c2db732128735aa3583\ - d22bad84224e9c1dab28041e31be922973e8dc913d6fe99467239dda1ba7d18f\ - 056a972b3ff7fb54e24216926834f3dd5d9a989d6b1e52e99eab95d984b44d2b\ - 8f4fff129c40b5ebdef3dd88e083a97354213a8faca7a867a5c088f9c389a718\ - 63601dd3205f3e6adb2ba60685ab8d4c7e6e1490382caee7b74681a66077c974\ - 77020102041e021c614682228a4bea799d01008a4bca099e7cf7711d7914a81c\ - 39d2407f -PublicKey: \ - 308203263082021906072a8648ce3804013082020c028201010096411be93e73\ - 3637e91b1d74f808f4c9c528293e3123ac1d3d2f94c462ff38d0cd2fdec0eb03\ - bc5e54b6df41e9bbe9127a1b3a7f47cfb513340664829ffae26f832b48e2d660\ - d10e4debc1bfb412f331ab7b2f88c0d31fb587ed5c5256e0ebf7da698afd3cfa\ - 0443af91bab8c539376fcbad72bfa6985b6e64250e6b546b07a4575b08449d38\ - 3b5650083c637d2452e7d1b9227adfd328ce473bb4374fa31e0ad52e567feff6\ - a9c4842d24d069e7babb35313ad63ca5d33d572bb309689a571e9ffe2538816b\ - d7bde7bb11c10752e6a842751f594f50cf4b8111f387134e30c6c03ba640be7c\ - d5b6574c0d0b571a98fcdc292070595dcf6e8d034cc0ef92e8ef028201004b20\ - 8df49f399b1bf48d8eba7c047a64e294149f1891d60e9e97ca62317f9c686697\ - ef607581de2f2a5b6fa0f4ddf4893d0d9d3fa3e7da899a0332414ffd7137c195\ - a4716b30688726f5e0dfda097998d5bd97c460698fdac3f6ae292b7075fbed34\ - c57e9e7d0221d7c8dd5c629c9bb7e5d6b95fd34c2db732128735aa3583d22bad\ - 84224e9c1dab28041e31be922973e8dc913d6fe99467239dda1ba7d18f056a97\ - 2b3ff7fb54e24216926834f3dd5d9a989d6b1e52e99eab95d984b44d2b8f4fff\ - 129c40b5ebdef3dd88e083a97354213a8faca7a867a5c088f9c389a71863601d\ - d3205f3e6adb2ba60685ab8d4c7e6e1490382caee7b74681a66077c974770201\ - 020382010500028201001eb30132e415358b7d3f726b93e2eeb083fe7add7abb\ - 6ca352c9e09b365e5768ce032ee52d59f1c65311045c490c42c36ae08cd0264a\ - 26199aeec8c3a8882a363397b4d7e0b6c4abc407f27847be0e8477993069a1a3\ - a3fe68093e09ce55bbedf97c91e741ad2eceb7a0f4be6ff87f68deb03c5280d4\ - 8fdf4900485bf5ca20257b176f58fcee1f0451b3716862488b0642bcd76654ec\ - 4874512538976967a545cdc208a0050f26e541ca70343f653222e6df7aaa07cb\ - cf354a5ab910eb8447382d7f512c440982ab37a402c87d2888eecb35c636ba6c\ - 84a5cce917f234fc7f8d9167167e30f2840407e13751f1944f6aceae3f5a7025\ - 36723c1d88c8c04981e4 -Test: KeyPairValidAndConsistent -Plaintext: 5EE1 -Ciphertext: 73279829369404A1B68D5E86FF334259936133CB04C9186CFF733972054918C3285EE907C2863DEE872252BF03EC9FB088B8DCE6D69D78C6BCD6B3FF87E683C6CF3CA05FA6AF0C068D964BE01030A3AB4E19575811D141A59CFBC9D3558E48CB771D88CB1E0E6C7ABED041077D24005E337AFCFE8531569FE56E2CE97C40693C071409888AE46DAC8BD739AE0E1C392586917FE07A66F7D3AAF0DDC398117B594481D0D5CD19C8708DAED6338EAA552564C31F9548FFC7E5C641FDA95B252EF637C6CF708979948A3E6B4F37A9ADCD60BDD841F3B0945CFF55E2F13468EC71C550CC2AD48E7E1FB444F132AADB1EF2A7C5A22450D0E0CFE9E37D999B4794B5A594A4EB7ED406DB24ED541E575B9F2756545DDD34F6DB -Test: DecryptMatch -Plaintext: 0252EE2E1C603017 -Ciphertext: 0E742D794904D05C0F0B6F60E9655337F8C110F289C6E4A0D6FBA6A2A8EB0FBB566A7F9B9862175C7A00A8205E8C8012366023FD8DDB6EB713DEF86917233DC5D16C2822707230169C183FD3A714806220D7DBA735C4F747A23E4131CE12C5572BD5E659F967A8B7DAD0EB6138D1BB569C6F04EAD79F9A6301609697F73F6FD8CCE934FAC6FC138B4C552E211FB1CC242805C035815F462D0291537DE10632141ED0A7C22439C7270AF0A6244C073CE9E2654FED918C86697988B0B341C5EAD2CD6DE75EAFDB1DFFCC5FE465E8D8C9A34D5B7F0E9DDE62204FD12EE2F99435DD58F3254268F8E6CFFADEA9205DDFCC943004887C405859866A0A40456A6C50B57FCED319AE0EC92B9069F765013436FC9A0253481CBE12B707A2B20D -Test: DecryptMatch -Plaintext: 01AE -Ciphertext: 6AB2E26D99942CEEE4844632355BB3B7713DF000DA11099D4E1BF9EDD1781A9396032E9D96BA0DF21B309A9CABCE9AE3D022C33A931183DEC5A3721EA5CEB39C18935A43E3B0BC153E4469AEB604D031A0084BE5927478AF8EA652D0A4AF455BDC57EDF26E2C6F9A01C91F29984C11D3C60313A53D8AC65D9FA504742868AD3D313506EB4FDD0E9799B111F3041F4C0547BBB06BF7DB20D18B427BCA1BA5099821A5F0997EF08C319B851F0C88B4814CAC7BAA4290B3182738C37B6ABFC2C4770A633F70E6FA4FA53AB286384FFC2AF9B64DECBE12C8EEB97862F76296D13D889E864418056420DCCD0DF9B76FB32FA6BDEE149585F427F133972DB7281D91D6E78B6BC46151901179D186CAAC784D6271023FD6E84B -Test: DecryptMatch -Plaintext: D52A1E0E3253FE281A9471 -Ciphertext: 63F60818E399024073EAF02A7A419229EA4E2FA4126C910AE7D31DE7EB6C9502752F5B7241F2A133E9D71C1A75E23A6F5DBE36C1B661935B0F20123BF434153B1F81BBDE278611C9FAF9F56BE8C78116823AC5B5F355B88A82AD6A73D2B63BECFC7D3B39DB2A6B393E23826235AB76653EDF65DD7A94BD27E221E9D511041340FE83A27F7B26CCF3FA40B2BD786BB9D67D2BCED415F2F76D116E8F3EDC953B8A327D2846F247D91626F643F8DB800F5E1DF0CDAE2369AA8969A938E0BB5A44F0A9C0BBC7D15A34DAF4713531A7B6B59CCCA2282952B16A7E1A1D1CD47D8B2AC6A88BC6A85E692FED89BB3D1F16AC2A922836152059433A29F786F2386A74DD6F555CC8D06C890A4A93E9FE88CEB078333A631E9E3EED0610F0A17F2A4F8DAF -Test: DecryptMatch -Plaintext: 53 -Ciphertext: 7F820C0C9A5709C6026E58446623B5D4B323BACE54724F456684526BD1966A360944227D04824B3C9BAF19A602EBAD25B8047FB6BF9997EBDE6B854140C032481F1479E4B994FC5A2DE8128375099A7A0024AE1CB985D73BB2B806B20E0751EA154BE2A70ECBCA49335BA57694DF1E0EA4566304B8DF4BBFE5AA41D0B767AE1679BDDE70F95E1C0C7E06F4A635F987E2858407BCA2133C3EC5620D58F1AB7FE1426B615959009A4706797FE4060E1C690DA373E48D6BA684F69E981DEE5DB9A58C504DED4D4CA6CD9B776DA03E55DEBA97E541A300465FFC68C5417A10ACED061023ADE00FEED4099180948F26F10D2F9470978469F67AE1092100C16D8FC4104DD1E711CF67D5842DE4102869E96E817F9C9FF520 -Test: DecryptMatch -Plaintext: CEA6026338 -Ciphertext: 13D877F0F00D01125447982639AC82AACF30FA0573001DD809C72D0F811138088C6D6D0569E63AB001CEB0339BFB90F7B71F339CA2F75859920370C622C0C4930B79B99DAC0560C763A1162AB46F58D1409E25301AE6D70DD4FA64984FE894DAD2B6401F8864580132664DDC2A57D1AF8AAE43C2759780C8587475F21275D61765251DA8FE91921703DC8DD279DFF4260D8AFE69257BB43EC609DA30DC33526D66E46365F399AA04F34FA7BA6469CA964AD6F2299233424E7342F1BF493C0BBB31FA1C713543D758219AB0F73B9C24F4699415F96C32E2A700669FCAE7EA6921F96288723ECEDF9677EF35702C8C0B71AC27A57624A7667580A2FBFF72818B2BCBA3589DCB686486FDDB50E29E75EBC8AD3DEDC8B741AF80F7 -Test: DecryptMatch +AlgorithmType: AsymmetricCipher +Name: DLIES(NoCofactorMultiplication, KDF2(SHA-1), XOR, HMAC(SHA-1), DHAES) +Source: generated by Wei Dai using Crypto++ 5.1 +Comment: keys are encoded as DSA keys, with OID id-dsa +KeyFormat: DER +Comment: 1024-bit DLIES key +PrivateKey: \ + 308201370201003082011706072a8648ce3804013082010a02818100ba3ed941\ + 10332be99b77a345da72a33146ca960498a6fc2e0e207fdeaadf69c3e5650df7\ + 3255475854900b75af7f6aac021de687a1c166ecb2ab6ec6b9da82ad4fb0f48a\ + 966a2b968406e18ba50947d7ee3bb1f13511cb4dde191f0ade1933d089c5e82a\ + b8d283943d85ef0102e173abf2635aeac2f84cfc9ec6c4e8f3fbc4130281805d\ + 1f6ca0881995f4cdbbd1a2ed395198a3654b024c537e1707103fef556fb4e1f2\ + b286fb992aa3ac2a4805bad7bfb556010ef343d0e0b3765955b7635ced4156a7\ + d87a454b3515cb420370c5d284a3ebf71dd8f89a88e5a6ef0c8f856f0c99e844\ + e2f4155c6941ca1ec2f7808170b9d5f931ad75617c267e4f63627479fde20902\ + 01030417021501fdc788cd93f07dba3af2de42ae5aa3ede219919d +PublicKey: \ + 308201a23082011706072a8648ce3804013082010a02818100ba3ed94110332b\ + e99b77a345da72a33146ca960498a6fc2e0e207fdeaadf69c3e5650df7325547\ + 5854900b75af7f6aac021de687a1c166ecb2ab6ec6b9da82ad4fb0f48a966a2b\ + 968406e18ba50947d7ee3bb1f13511cb4dde191f0ade1933d089c5e82ab8d283\ + 943d85ef0102e173abf2635aeac2f84cfc9ec6c4e8f3fbc4130281805d1f6ca0\ + 881995f4cdbbd1a2ed395198a3654b024c537e1707103fef556fb4e1f2b286fb\ + 992aa3ac2a4805bad7bfb556010ef343d0e0b3765955b7635ced4156a7d87a45\ + 4b3515cb420370c5d284a3ebf71dd8f89a88e5a6ef0c8f856f0c99e844e2f415\ + 5c6941ca1ec2f7808170b9d5f931ad75617c267e4f63627479fde20902010303\ + 81840002818029eaa5b193357c200e0d42f374d4c003c633c77f4778fe40ad0b\ + d035b87ae5da4e74110ec2b15eefe1bd8b9357534c85328382946d314e15b79f\ + 7b854227012dfaac9bd862e73a5630e01327b36319765a3eb1434e108ef6421c\ + 659e3f9223966759611429b3c86ed9937563efbfad8bfedcfa92db3d7d2157fe\ + 2c8a33f08636 +Test: KeyPairValidAndConsistent +Plaintext: 76 +Ciphertext: B11D906CC5A8E71CA8962A8CC0AC4CAFF2DA00DC130C370F42D11FCF5C37DE046EBC07C7D457CA351CE456A043695D14ED055ADAD2B58BE0DF992685EF8B0D21597A43D7B3D9634A077CB70C4590CD73C20FAAACBC5649413EECA0C7B3CBF469E531299398F61496C51FE9FFE48AE9FE6034F104EFC562DE9529C776B86ADD4025AD6B0C3687B012F92C7B9E82F794E4FBE247D644 +Test: DecryptMatch +Plaintext: 89338CE80AFB62E9577A310E40311BB3F77F +Ciphertext: 8A33B0E212DB8155CA796B472F55CD77267C9106229B6055141EA3AAAE42AD27249D90E70F892B0CDC80D29D3D586A5CA6FE67D4BB44C58B03496708F80681125DCEF983B7453B1E4F927438BD2E3E506C1951E9F19BA70F9B687012440CD75C0BB78BDCFAB22AF535D3E2670ABD1F4D44ED95F3360536612B1A7DF35E2A88F66BD6E8C813EB9DC89D93A85C9A0BA13E4862B91171B681E64A0750197C6467B22566BC640E11 +Test: DecryptMatch +Plaintext: 0835455ABD53E6FB11ED9B0C00485D3C6845DB +Ciphertext: A81181517BD270B0D921AF735052898932008DF00D501EDE0D2D564871D61A6A837776E8D7C7F9B0E5F9181C1FC68BC430F30ABB1A64D62B444C0AC5AAE588B4481AEF08B38E466155F10CA04C8202F281186016AE35212A2C7815A22DB2750ABD526D285BDBC598672BFB52E95CE33A0D3E5DCF4CF5F46224CFBB85297F3AB170C8B9478994E32D9A21A452B095D3D902E92C7E444A3307FDD7256FE49341142E5FF7A616475A +Test: DecryptMatch +Plaintext: 1EBED48EC47B6987091C52BC +Ciphertext: 1DF446FF43AAAAAC8E3F7D70C912E2D45AB832BCA3D0FBD17AF864B9EA878C45B9E2902804171A739A0552BB7CE0CD46DC16343714CC9C2E71AE26304885EEEB242665814DD9E33C480ABA214755D5449F16CD8870D1AB3A8E64E45E463AB3F4D3031FA3ECD395B61B372602665FCF218D9C51E8C791FA1E5BCC2916EFBB482E1814632CDF0F1852EE4943D9652DAA4E1F3B22F17F57F51D52A0997BED5B04ED +Test: DecryptMatch +Plaintext: 65D8 +Ciphertext: 4385797FD38AD5DFBB4F613BC87637B0051501E57699A5880E235DB7A6994A04A1613D0C8E07E36AFD08F2E47D018951B22E7625DA647AA1A0791DB3B2FA794610892D9A3D3F173CF95277B4B1EB92579A229510B67E171CB5BBA8B3AA732047BA038816A30124AF1C4C57CA80E93AACCC8EC70BCF7867914E7DE2C403568F9778F8DBEAF08FDB9F48452054C9735DC84F012DF8FE17 +Test: DecryptMatch +Plaintext: F86D8ED91E9934125DA6E9B4E97545C83A +Ciphertext: 13B0AE03AB532D5E31C9384B4E726A9AC73583CFBB0643EC322E3D2D45D9358CAF745B0541C136E8AA2220C42CEC9E1ED174886475538732AA6D6417DA89FA411AEDEADCD9F15D25D27D0AE252F77E888470AE696D5805CE8CCCB40B45D4AA835E97C7BF2CD6A2B4FEC6FCF858606CE4695DCE998C518360068ED028FC882478BF96096D92C166899EB51778BC4B7DA1BA8C4B6CEBA1139F17CEE484EA104A0325420A3D56 +Test: DecryptMatch +Comment: 1025-bit DLIES key +PrivateKey: \ + 308201380201003082011806072a8648ce3804013082010b028181015dd79808\ + 07a15e557e3a39466eb2987828c536a871d4fc7f3723d52f8145a0d10d996295\ + 64aca54fd567c0509ef3c428fac68d916551e77a5ca0ed6d9f12cc96262b1f11\ + 49f398ef9f0f17fc0ed92bb917f890d1e6a4f62b91a7978d0aa1bf53b89805c1\ + 06ebebd0924cb99a4168a38dad65238236d4d166d38a3dfd5359ec5f02818100\ + aeebcc0403d0af2abf1d1ca337594c3c14629b5438ea7e3f9b91ea97c0a2d068\ + 86ccb14ab25652a7eab3e0284f79e2147d6346c8b2a8f3bd2e5076b6cf89664b\ + 13158f88a4f9cc77cf878bfe076c95dc8bfc4868f3527b15c8d3cbc68550dfa9\ + dc4c02e08375f5e849265ccd20b451c6d6b291c11b6a68b369c51efea9acf62f\ + 020102041702150f514282f489098f1df0c7be02ccbb3f23bed00376 +PublicKey: \ + 308201a43082011806072a8648ce3804013082010b028181015dd7980807a15e\ + 557e3a39466eb2987828c536a871d4fc7f3723d52f8145a0d10d99629564aca5\ + 4fd567c0509ef3c428fac68d916551e77a5ca0ed6d9f12cc96262b1f1149f398\ + ef9f0f17fc0ed92bb917f890d1e6a4f62b91a7978d0aa1bf53b89805c106ebeb\ + d0924cb99a4168a38dad65238236d4d166d38a3dfd5359ec5f02818100aeebcc\ + 0403d0af2abf1d1ca337594c3c14629b5438ea7e3f9b91ea97c0a2d06886ccb1\ + 4ab25652a7eab3e0284f79e2147d6346c8b2a8f3bd2e5076b6cf89664b13158f\ + 88a4f9cc77cf878bfe076c95dc8bfc4868f3527b15c8d3cbc68550dfa9dc4c02\ + e08375f5e849265ccd20b451c6d6b291c11b6a68b369c51efea9acf62f020102\ + 038185000281810107143658b98a3725010d3631a3f4f7448cb967ac0118e4ca\ + 8fc8871eb4fb872d55c52d93a4f21eed98b6499db74315956a268f38a288958b\ + f7c4d548662c668669d69375e0cb710ff3a1a9f43e49add1f7ae58b836b6444e\ + 419e40474c27066cb03aae8132e65f3fead0109307ab1c7f0254eb14e9d76639\ + 1a66ca1ba442b425 +Test: KeyPairValidAndConsistent +Plaintext: 256F07E0D37D69BE542BD17FA98CE4CFC3DA849B +Ciphertext: 01269CE30DE12430904CEC9D8B91A6D8860B4F8D37FCE7DBDCE8FA18AC521684F4C1CD5C38BF3B42C259033CD36A53F0376A0CDD801979CF1B76ADD72AFDD27830BD85B373C4D451B84926ABA34012EB98331F0B81CCF8E801ACCDEE88A35DF60EFADABA1F395250A15463203FDCCEDAB7DD6CD1271B38A5E0946F8D189B225E8A307D198AC5E4EB33BCF26A02C0C602AA14592AEA01452E4F8AE46E7A032BABD1BA8ACB0919F2EA18 +Test: DecryptMatch +Plaintext: A992 +Ciphertext: 007822B0BDF45CC5B15102B5E21F7656C8896E98FAD6C2AF6CD55D0DB90B7A6B05E36D260C7A5C070526813290BCA722959B9B9BF00041B4B7F3E3EAFA9B5376A1E02944EDA55B99202601AE6D402D56617B56B28BAC1B405016053CDC78AB4D372B0D58E7380D50F1CD0E31B8CB77FD2F6BA3E7A436A5B35552B9974EA5AB30AC0C4989E34F5FD7D272417FF2094B97119BEB2C73C68B +Test: DecryptMatch +Plaintext: 1D20C118C894EFDC67DAC33E56179C5D262C83 +Ciphertext: 001587AFEC265C244875371B680521FF93F0B1196901A7D580785B62A257B1736C86D1D9E59A31E62F53B92B209B45A7952776C6AC839243B0BBF3A059E6CEE99B120BBD45922B4E813DDE0F5793A42B3AF2DDDAA357136A010519D884589A1F9912110020A8C16E9B91C753EB8842B3224FE9C9A22AE2B82251CFF7799E78885B0B67B27DAAC6A7B58013C31115C2B8C0C0176BC2A7B96A299CC75693B4F2138B2B4053CB5320D5 +Test: DecryptMatch +Plaintext: 83BC82A4F7A4DFC96CD7798BAC52254CD6E9 +Ciphertext: 0085E83465997BFED9CAE63B04B0419578D0BD85B1A65285E5537F4367E5E7E11DD8762BD3335916A13B8CF9D5BC651E762458E9879363B06748BEA0CA86D32CBC4F1B0C0BF67E616B872A64F7356241CD052944F6594A570522EF2BCC53D90E3326D2ECFA036C46256D9B678C93BE5877749AF8FF8FEDB6E1E17B67C7B6C6098D0C71D5B2AB503AFD7739ABCC8DE67DAC056AFE99D8A107230BA88C282FB8FD46E9E9E2C6874A +Test: DecryptMatch +Plaintext: 157597899A950A32 +Ciphertext: 013623199FFDD0D4689A4C50A9FEA3C2250D0C73F209F33BF3EF13E6035976D6F3EAFBA3D83A3862E4B6DFC7581EA43B62F49BC85392B7EAB854F92DA8DD5921A6A4C42777E89004EB7E6D479BD028F758171C324168DC0814369C6BCD8471D9620C4E9BED785A220EF9C0DCF1201311A16C51341E0551043C6EAB45E04A81C9280633F58621D8D3492864FFF6A39EDC48450ABFE0C7AABAEB9A86CFFD +Test: DecryptMatch +Plaintext: CDE651 +Ciphertext: 0040308CCDAB105426597D84A64665200A93208713004DB38594C490F7B85F08ADB67BBE47B7FB7BBDA435A6B6A2CA0B4CBE0FDCBD4FF078FD052213CBCAA4580D1C7962A3505DAA9BEA2957718AB36D061E61B9DEB3D7DD726975C6E7FD79AADBF649F5ABE51AC384E967D3CDAFD9EAA18EEB69774961E439F54844FA22DA1B6892E86471DAE6F7E74CACC944123234826621C7634AE34E +Test: DecryptMatch +Comment: 1026-bit DLIES key +PrivateKey: \ + 308201380201003082011806072a8648ce3804013082010b028181031e7d8589\ + b9fa11e77204b8c1b27ad66b39863978d26912a65de306dcb32a0c7c96bb431d\ + c4a14204a8f01a65b0fe56a4d016716914c21576f10d63dac5f49287636519ac\ + f9be56c9f58eeb90ba3240d4cce26f647bfd86360cf0f6b8ff609ae2ef736558\ + 155a1498adf4e92dc90f34169123a5fcd8ddfc763c81658a4d08383702818101\ + 8f3ec2c4dcfd08f3b9025c60d93d6b359cc31cbc693489532ef1836e5995063e\ + 4b5da18ee250a10254780d32d87f2b52680b38b48a610abb7886b1ed62fa4943\ + b1b28cd67cdf2b64fac775c85d19206a667137b23dfec31b06787b5c7fb04d71\ + 77b9b2ac0aad0a4c56fa7496e4879a0b4891d2fe6c6efe3b1e40b2c526841c1b\ + 020102041702151fa3003b00efad22ecc26c5115e6d036d13d3b2f7e +PublicKey: \ + 308201a33082011806072a8648ce3804013082010b028181031e7d8589b9fa11\ + e77204b8c1b27ad66b39863978d26912a65de306dcb32a0c7c96bb431dc4a142\ + 04a8f01a65b0fe56a4d016716914c21576f10d63dac5f49287636519acf9be56\ + c9f58eeb90ba3240d4cce26f647bfd86360cf0f6b8ff609ae2ef736558155a14\ + 98adf4e92dc90f34169123a5fcd8ddfc763c81658a4d083837028181018f3ec2\ + c4dcfd08f3b9025c60d93d6b359cc31cbc693489532ef1836e5995063e4b5da1\ + 8ee250a10254780d32d87f2b52680b38b48a610abb7886b1ed62fa4943b1b28c\ + d67cdf2b64fac775c85d19206a667137b23dfec31b06787b5c7fb04d7177b9b2\ + ac0aad0a4c56fa7496e4879a0b4891d2fe6c6efe3b1e40b2c526841c1b020102\ + 038184000281802c6360e6e3eba6da6efb5bce8d07a99e42949b68b3c2900583\ + c2eb34498081c7212d8dc95a631d63edeafc625f8faf063e57b41d7b662ba9c1\ + a99b3f2506fdf5e59116a0e93e7e94aab55691abae75eaac9637a713949360a4\ + 5f6908f23ba5503d4760bcd6f7abceb8351a66bb14fae05f03b1494e7ef4154c\ + 99a9cb6a9bfe12 +Test: KeyPairValidAndConsistent +Plaintext: DEC85711F12C0D1D6C26797E91B0F39B37 +Ciphertext: 0215D75DD99B8A59DEA3FBA9B0F8A621EFFBFD831E9543749B04B495147CE9B56D519EE71BDF56D86FD1D9C1AE8BC1D7F29DC469A05221E4A31C726971731CF627E63FAB269FC92DEDDFF3319819373F299D55F4CABE08DADF29A7C60E9B4E2806899371B93A853F828EC4312D94CFDADFDEF2037D9C1FCE21A3E451006AC542E1BC36D3C33AEAC0D1666C26AA886F4C118836EDCA7C5A428E407C4ACD62A885C03202230FA6 +Test: DecryptMatch +Plaintext: 0E665CD2CF75C2E6E24908448F29E9A198EF +Ciphertext: 00A4583FF3A9451C6F8970E53D95EC74F41F709F5156B4FC9C698B1E43C7B5F3230D5417AED2C7447455009CE8381A30BE400EC15BBB1D7BCB9461E593D416421157541479FE1DCEAAE635728C68C58D260337A25D0CF9FA291D84E9E1DF4FF96822CA1F05CDD247AD14E5AFB231A0AF0F2E79FB9A0528CA2FE9431724C0AC9F0A2ABCED9A20EC1203DE2A835D90EA5FB1447EC722456B6F4C75D0645CEC5BECCE35B79FF3071A +Test: DecryptMatch +Plaintext: BE2A +Ciphertext: 02823CB4ABD598FC5D36300306460886BBECFAE6F56E02708A96EFB27EF7E3D8F08442FC819EAB1DC35CC70A074984A149F209EB285C6064DDDBC7781CEF7358F384D592BFC75D346A6D97D8524CB35060A35E3B3145199F4968677FA22BB468DBFF63E3E366D778B3042D5858699D9FE5D6F53D0CB084E107111B572AE9B933B94FF37F2681DC50CDED2714668375DA90787CF0144F1B +Test: DecryptMatch +Plaintext: 20D57B7E074BFFF8F54AF3E69C9B632253B3B5C0 +Ciphertext: 00D18C24BF39CD527455737B4B214BADDE99B070181C1E4729CC7B6EAC82298417FFAE7BDA1F41A7D74D6969BF9CAF3A7F9EC9397DB75F5E53D0282F793D601A28E8B3CA8730CD9D7A0ABA338E2DB3EB5314321EEBA2F16C8072DA6AD9A887AA5AED0EC5EF3DC7E5726626511F8F23B0BA4D83BA358DF0951B07399C7515349E3DE2938D2AA53AB11A4D1C07213E091CD3FB6453AF7DFB6799D45DA44B060F7BF5ACA5A25B3892BBB6 +Test: DecryptMatch +Plaintext: CC47935F7976 +Ciphertext: 02366250DE032B147BCEABCB576ED39F4993251D25010FAEEB41BDDA4301B890063247EEDC041539488E70B977091BF581033EE6EF75C224C8046EE3E7D2330383A30BA07FF33D10F07FF6E1EE20FA4D112CAB1BF457B50DC301DE5C6DBFACE227903379A41DC4D92517A547968D3F147D6435C3DF6A3D0D13635360716CBAC322EBD295593865C3A117050059FBEC83D112C5C3727377EBA7778A +Test: DecryptMatch +Plaintext: 3A370FAFD82869FEC40117 +Ciphertext: 026AE53843D3EFE36D8E52D9FD55DC6F0A0F51584BF81529914DAB6E380A6C9716828A7254307440B6A0CD16BF0D9D713939AE7F6C4D82D5AA70F33C9531E4071B9CB415C7622A23DBF4C81820BE04272874549F081B57D40B27BC1879BF134A2CF5D15203D326F9F97BCAC8606082A50A755CAE6FE2B72060EB1E0B72EF5AFAE8A823B3F0F91877C931CA64A06F3888DD4E2C823B3FCF529407255BE2AAD36A +Test: DecryptMatch +Comment: 1027-bit DLIES key +PrivateKey: \ + 308201380201003082011806072a8648ce3804013082010b028181072c45d24e\ + de76df2a03270413d8ab37645c8d6301ea76bb6cedea97142df7aa422b83043f\ + 8cfd8874dd684f47138433f5832c83c8c811d3c6d477b088006381ffb066402c\ + 951670f1927b1b67883451202f456bdb975d8bb2cde9b43c178ecfe788a0a0ab\ + df2cbfc700fbb97ef71e52221bc054fbd3cf8c04175e4841a45b89cf02818103\ + 9622e9276f3b6f9501938209ec559bb22e46b180f53b5db676f54b8a16fbd521\ + 15c1821fc67ec43a6eb427a389c219fac19641e46408e9e36a3bd8440031c0ff\ + d83320164a8b3878c93d8db3c41a289017a2b5edcbaec5d966f4da1e0bc767f3\ + c4505055ef965fe3807ddcbf7b8f29110de02a7de9e7c6020baf2420d22dc4e7\ + 0201020417021506533f6f0886a8a44137598adb93aeee548c9af303 +PublicKey: \ + 308201a43082011806072a8648ce3804013082010b028181072c45d24ede76df\ + 2a03270413d8ab37645c8d6301ea76bb6cedea97142df7aa422b83043f8cfd88\ + 74dd684f47138433f5832c83c8c811d3c6d477b088006381ffb066402c951670\ + f1927b1b67883451202f456bdb975d8bb2cde9b43c178ecfe788a0a0abdf2cbf\ + c700fbb97ef71e52221bc054fbd3cf8c04175e4841a45b89cf028181039622e9\ + 276f3b6f9501938209ec559bb22e46b180f53b5db676f54b8a16fbd52115c182\ + 1fc67ec43a6eb427a389c219fac19641e46408e9e36a3bd8440031c0ffd83320\ + 164a8b3878c93d8db3c41a289017a2b5edcbaec5d966f4da1e0bc767f3c45050\ + 55ef965fe3807ddcbf7b8f29110de02a7de9e7c6020baf2420d22dc4e7020102\ + 03818500028181056bf5dcced97da0ddd23c1f1294f97431e323f9719fc9bed6\ + 352d08a88ceb13a06b559b8ef7dc04c5a04a761a9631aa1000f32f885fb0de56\ + 505524ae89462079631f438284c8e5225c021d7731087ec0aad11aba9bba95de\ + 03f5c99ac228861a3ee6a7b47617cec687a58255321694b923e63ed247e65ff1\ + 4c279bec5282bc1b +Test: KeyPairValidAndConsistent +Plaintext: D391B4F3B53EB9B035C3AB1E3C6E +Ciphertext: 05D90F9892F6DD3DC3654130CAA312D2287D9E57607C301BE58607BB19FC78D67F2082C907FACA819A0D946AD16B46FE1E7264BE7D25D4EAB4F80D136E89EE7BC53B65CC1692581E3ABFA3C15482A6FEEB607AD1765897E67BCEDAED0E03FDE18E05330A99BEBB8710C77E7735CBB747EB507FE1EC04F239E964B509A4FEE8463478E28BF5338AE016DED9FE6B2DDBD3FDE467C45F0FA619E039FEF085D2F1544EA3CD +Test: DecryptMatch +Plaintext: 28 +Ciphertext: 066BBCB2D9E474A2C6CD514663BDA7AECA1F79136A00C1F9BDBAEDE344872093E67102307C96BF824999D86543121CC3D99B5CC4B511153A42E8A1569D063C27788E105858AF8EEB0766FAD9E0EDEFAEFFC733BE6824644CEE03AEE5FF15860CB3CBF4A46F95988D5E010FB844F944628043C830E575964EC36E2C38326C771085D796F2C22C0969E58665626415463A3CA1F56C357B +Test: DecryptMatch +Plaintext: D2C349F40A24230689EA15736C3AEFB1588A +Ciphertext: 019A66A4ADFED556BBD1E58728A3B7A3631458DCF677BB155DA989827C2240A586783D8C5DB98E266C39FCDF6FB016BBB25D53A6B30F3BC9D1109CB908B54F1932335F3DFC2C80847D94D13C5933953EA1D212107AB42189536171069621403681CAAB2A13EEAEC847193FA6A0234FA8F107E2C1747425584EBB4F4D702E29A3A09580E25B34413208009F9643327A636DF622B7F0267D3169A64646F301C584F64066801383ED +Test: DecryptMatch +Plaintext: 85D75863811C6F574222B577 +Ciphertext: 02C6FFDB38965F3061C736E633B497192862677CB247A37C5FA1FEB4F2C021EA94C65AD9506C73C2E98ADF0F340DAFAD2BF6F6CC906C93655594D093D4B0F6867755013C25ED0AD75DC9A04DD0666E6340BDD6C1E748479F3D64129F76B5BAB37D26319287EC9D65CE9E2243D4CCC7BCEA4065623C4D388A7BD779941EE541DD29E070F7356ED1A1ADAE947D79F8421FA717F933F08CBB8B699B551F1EFF75B8F5 +Test: DecryptMatch +Plaintext: DD07A91D32C26D3258AA4ABBD82E81 +Ciphertext: 05669E0777B003CC2EBE9BF3981160806A8B416A2DEAB4058497C5AF6A5C8F8D1ADF1225CC6FF7D292320E9C98CEDA144862FB4E32EE11AD9CC76A5C85FAE56A2567E6C9D168586F288CF4D525C94FF9F0ED6C3DBD08787768B90F8CD776520EFB920E61FB0E4463BE8D5AAE2683D31F392229A9554E0977BF25BCBBAAC7BB4FCCB009630D0203451A7A2AF847BA60AA0CE8C4D656DBED02353B92025925E1A0A6DF490F +Test: DecryptMatch +Plaintext: 0AA6B9FB846D1230F521F2624127 +Ciphertext: 01A9D56F1547728782D4F80BB0EBC8890BAEFE994900F41D56094F4734ABA2BB371060B2A69C6B7BC8944358519D141FC277E1195B3A78F7068731C3AF3C604A062A0D551397CD804168B7F400F786BC5CC3F912457AEAD56873AEF1A2378F34E953E240C20FFD7DDA229D4C020BDC68684A53C0AB3ACF9B44581353C60CE9854E3451645A604BB7AB3EB44088A07F59CE0FEB6454CC5A83BE5E939B317D4D8537CAFA +Test: DecryptMatch +Comment: 1028-bit DLIES key +PrivateKey: \ + 308201380201003082011806072a8648ce3804013082010b0281810cb31a78b6\ + 6dafe2dd020483aec0cad421e4a3df2a81b827009dd74f5ef0468fc508477190\ + f628033471ee2d56f913d45a94a8ad1582b29785a7ead06c88ce73812e653797\ + 921d3c4a8fba91c1423d6609e85625b2f41494546500237151958b13d1cc0f90\ + 586b0233290d052a18c2aa3ec2bdc32adb4676cbeb30309e330b823702818106\ + 598d3c5b36d7f16e810241d760656a10f251ef9540dc13804eeba7af782347e2\ + 8423b8c87b14019a38f716ab7c89ea2d4a54568ac1594bc2d3f56836446739c0\ + 97329bcbc90e9e2547dd48e0a11eb304f42b12d97a0a4a2a328011b8a8cac589\ + e8e607c82c358119948682950c61551f615ee1956da33b65f598184f1985c11b\ + 020102041702151c0cefd22a713385985cacb5fe84cd40e724ce9587 +PublicKey: \ + 308201a43082011806072a8648ce3804013082010b0281810cb31a78b66dafe2\ + dd020483aec0cad421e4a3df2a81b827009dd74f5ef0468fc508477190f62803\ + 3471ee2d56f913d45a94a8ad1582b29785a7ead06c88ce73812e653797921d3c\ + 4a8fba91c1423d6609e85625b2f41494546500237151958b13d1cc0f90586b02\ + 33290d052a18c2aa3ec2bdc32adb4676cbeb30309e330b823702818106598d3c\ + 5b36d7f16e810241d760656a10f251ef9540dc13804eeba7af782347e28423b8\ + c87b14019a38f716ab7c89ea2d4a54568ac1594bc2d3f56836446739c097329b\ + cbc90e9e2547dd48e0a11eb304f42b12d97a0a4a2a328011b8a8cac589e8e607\ + c82c358119948682950c61551f615ee1956da33b65f598184f1985c11b020102\ + 038185000281810aacd80676c540b97f74d2a94c2f389795c9f696d2a1fa934d\ + 20e93d49d0099d9312552e6e310da5d97cef87c9a5a4c47e7acd195293b09adf\ + db8e0cac95139446aba60fd625d17eaa102c7c26568b34891edb38226f949656\ + 44a9d52ff299cd007ab3dbc15779d4388431a66774ffaae5c6be04526b28c620\ + ac97e8618cb09d46 +Test: KeyPairValidAndConsistent +Plaintext: +Ciphertext: 0194C64DEB9CB401573730A29359456F4E9528347ED80F24E5AEC4441E896E38047EF95AAD9AD7A25AED6CC89FD95CAAEF27F3C814C26FE43F6D65288D87E372A204D1A66C3BCF0346CE89E9D2D7646E90BACB9A85022ACFEF8903C72A663BAED9A346E1A6B2B2FCF70E239EE70A34385F8C76CDD121F6B190085BAB3300E6B811906CE38AC740FE88A3DF8DCA1C6DF73A03236D51 +Test: DecryptMatch +Plaintext: 9498EB7300 +Ciphertext: 0A38C373F6A96D87528D2D55F6391A9E801252A65F622F36A130ABD140E1858024E31F247C3BC8C07D9500CBE7A8A3D6C0670AF0FA14D020DC54B201E657C233F8031DF990AE801077D4D3AD9B861F4C32D36FFB9E8BD5E2651169BC4560CC7FD02159929AA50882F8B4C8508BB98F6BE8A6A7C0E21A2A81AF781447ABEC85C170F3F6256C3B6C5E2D3A01BB5EA8B502D37561C06F1DA536BD59 +Test: DecryptMatch +Plaintext: F07FFAC9794BD8D528F750D50C05 +Ciphertext: 03DAF7F6C2BEBF8D0B380EB71BD8BEE9D649AD7647DF6DE4CBCE00D0363E31F11E0DC0331409863E3C069EE3F975E7F623B55D7F4690C7419C5AD97EB52BBC0212D3FF0A83A031591A31481116B2CD232A9C86A20EA40BD13A53BB73E644A6C7DC1E6C767756E7235538E9D5B155B3173416E99F121E96E02034C6DB9129489A050740F603DEFF96EF1D99E7EB4A32083D0D946670B1AEF30E1E38D3F076D6BCB57255 +Test: DecryptMatch +Plaintext: 85916A46E0965C69C4773C7DF9AF +Ciphertext: 053D29F0878C68FF55FFC8E6E0E03044AE23B79588034F0236A49A5B6D00EFE8C564D2D29ACB61FE49C0E984EFC3A48A96EAF22AF3032D8D0FD3B3BB16A0157C161F2B3D3DF802FDD6B61899212F44493383DDDEA8B2463BACD0C5E1F4F9E4063DE5E52032E7DA8B79E04C5F03144CD710ADA74506CEC2D448BEA0F2B59AB63FCC443BBE920748E122DDD6123BDDAE484DBD02088817D999FDF80D5ED4B308AF4C2DCC +Test: DecryptMatch +Plaintext: EB632C72F563174E680961BCF26EC7 +Ciphertext: 0BBE666C02191F668A2DB000646A14385A8E9199BD887913BA587DA4C683535801853186673AD7C43EFA5B65902559BA5345EFA111E0514D461C1B1EFFAE58708EE6C17F1758EBED31F0B3206B0EC1B4BEB2EF911C589E25CDC3B0020C47119B5F33EA2FB7C332CA6B1FDA2F350A4CB0D6844637F2CCA71EFB036C7400957AE093B21BE90E30A8672847C9BA5266EBBF9D62341F67A4D09FFA196A817DD2F5EE1A9654EC +Test: DecryptMatch +Plaintext: 42B5D2DB89374231 +Ciphertext: 0085B6894D887B59393F9D7365411DF239BE1104FD86CC63A52C990A84FC4660FF9B60CF0641E44A8224C169A9FD1B35EAF78008E34F14B5311CB5D725096D9DE92F35BE6E71E3AC3E3B3D68BDD5351A5AF93F0B3BCDB00B9B126D8DA07E5F42107181F9580CCD0D6F086C94177FD48ECFAE3FCF2F26D64940D749E8A964275290A247AF700210500517BEB2175326F4CD3016AB175B352F9BD3289079 +Test: DecryptMatch +Comment: 1029-bit DLIES key +PrivateKey: \ + 308201380201003082011806072a8648ce3804013082010b0281811b02fc18f7\ + ba0ae7f84ebcaf319294fa2bad52e47e1926267ad38b2f1b2566145bbc190cb5\ + c39a8d6229eb238d3742bbd234b0f28eac92363a31ac96c5b08eaeb1963de59a\ + 3b2d0295c0266a7da4ca92b64f96c497f262e98df7f20ec55814b8441acfb639\ + 7abf9c4e42ab9bd6dda6ae180b12e12ead68672f9d56b98ee40e2b630281810d\ + 817e0c7bdd0573fc275e5798c94a7d15d6a9723f0c93133d69c5978d92b30a2d\ + de0c865ae1cd46b114f591c69ba15de91a58794756491b1d18d64b62d8475758\ + cb1ef2cd1d96814ae013353ed265495b27cb624bf93174c6fbf90762ac0a5c22\ + 0d67db1cbd5fce272155cdeb6ed3570c0589709756b43397ceab5cc7720715b1\ + 020103041702152c7c60166a1bfebb17831e65b8e1f61f3ef9ed9ff7 +PublicKey: \ + 308201a43082011806072a8648ce3804013082010b0281811b02fc18f7ba0ae7\ + f84ebcaf319294fa2bad52e47e1926267ad38b2f1b2566145bbc190cb5c39a8d\ + 6229eb238d3742bbd234b0f28eac92363a31ac96c5b08eaeb1963de59a3b2d02\ + 95c0266a7da4ca92b64f96c497f262e98df7f20ec55814b8441acfb6397abf9c\ + 4e42ab9bd6dda6ae180b12e12ead68672f9d56b98ee40e2b630281810d817e0c\ + 7bdd0573fc275e5798c94a7d15d6a9723f0c93133d69c5978d92b30a2dde0c86\ + 5ae1cd46b114f591c69ba15de91a58794756491b1d18d64b62d8475758cb1ef2\ + cd1d96814ae013353ed265495b27cb624bf93174c6fbf90762ac0a5c220d67db\ + 1cbd5fce272155cdeb6ed3570c0589709756b43397ceab5cc7720715b1020103\ + 038185000281810e6e9c7b74e33a1f4683ddfa35509c39a75b75c10f438efad0\ + 82caad08a7418990983150a9a5ffe3f8e340443dfbabf82fe060da487f94afdd\ + 1e713d491b983fc4fb69d4405a12e356808c5cf6a7bd397c1a5637ba8e168b7e\ + d3f549a9f39f343e8fe3992706e782a1dde5c5e9e6a950f7d980835c1bc1742d\ + c2840cb2e61086d7 +Test: KeyPairValidAndConsistent +Plaintext: 03C57B87 +Ciphertext: 1440C6776914314A1DA161EAA41D52B283E2C0B487C801CEC33DCDB639F579F69D12FD029C994A311913EB6869C7A5659EE8BD9F5D7225BBB2EB77CF6F3D24A5E9866BD2CC50E593EC5CEBA4A96C59FE8B98B5EE2121E5892F2436F98B5C4E4A12077A1A64F1FCEB783D05453A657BB91909637063813CC00754402DE24F4AD6C0D9D4C15B7F4E485AF3538D391CF5993A59F6D1FE6C76E2A7 +Test: DecryptMatch +Plaintext: C5598C0FE0D90B10E7125079E2EDA32E531C2EBF +Ciphertext: 129FC863B70BB82C1C59EE2DA37FF3909F1DAB4B55D9727EE0CA3311BE5797F93446ACA0409CBFA848A90756D2598B6ECA56F6341C6E9F716A62380CB5D47400CF392A5441DA5AD2C1D066F894942837EA7B6237D7BE2E94FFE0A106148C2B7B9AF624242A945BF3B217D89FDBB070FA5940C1C899AD83AF1F865DEADFF0F4E48A7E00BF7AC5625F6E32F8B01394AE90284AFA061AF6DD61ECA1B8FA77CBC172573A9938332D7AEE41 +Test: DecryptMatch +Plaintext: +Ciphertext: 068117F2BCF29C72CDA3F4560A2165B7DB7C29314EFEC8D110425D5AA02F35C0F9A2304A0554C097944EF3A615BD70F5461E6549C319AC1207B100FEF022410C46284CEA9CA103685A18EC944DEA0BAE8E06D2489A3E2D1D9B255F192677664CA6FF44130C28CDE1FD437E85396503DFF305BA2D64E8BF9C75B00CA1595A1AED2C60865C0DF03F408EF95517E70552B2D5A8C190DC +Test: DecryptMatch +Plaintext: 8DDB5FC737283E5B +Ciphertext: 0B3E0CE51E1D3AE240EB34787DB5D49D6786B3BCC29C37EF8B9155F342C4D226CE1D07F7BAE09DFF7E8CD89915E1312F43540A26F03D918BF56B07E6D07A96870362643092F24FBCC6A2DE62F637B5F5F807E430DAF9B7AFE1890143591BBA035538FB419BE4CBADFCED5EB8BE2471B39CFCFBB2BA854C9E0F52E67524ECB80F9FBB3173D2A18C9F4C43F4E20866428A9256AB8AD199BA0BAD55A18896 +Test: DecryptMatch +Plaintext: +Ciphertext: 197D4DC43B0716191F926DC806A1B707ABD6684735144AFE07E0EAEEDD9BB3C89B9D0076859DACE6FFF9E2685592ECB010909910DCA50D2FB1B15EB9B9CFF4F71250D807EDDC2EFB2033BDFD93FD10E117683E3E4E8A5D3308572D4852954BD51251279A79092E3DCB95F1FCEC8310931933F47998DDB61438478CD80864F08D3370C863BE6E7E1CD22E38BC512D9A160478814057 +Test: DecryptMatch +Plaintext: 53AC983CEE599A17261C53 +Ciphertext: 0E31EAACA9E8A86ACEFD1CB817869F48EAB342EAD0DAFE17B848CA9CB72B92567987B929F655B8D601EB1384BE380C8E4BA8B4E274F724F02FC5C00479C308813A3963E2D8AC88ACE92AEB00AB024A4EC5560857310E03009752B86793B356DA344B4AEF01F3ACCD9CBFBE399D0016260C006FCA5443359EA1E012D43921B8D2B8CFD31B94972ECE9C0031420238C76514635E9B40F17D9AF25A1009DB75E4C0 +Test: DecryptMatch +Comment: 1030-bit DLIES key +PrivateKey: \ + 308201380201003082011806072a8648ce3804013082010b02818127b35992d0\ + 8edcc7aaa6ca70365afa8ffacb4a9bef0ea348e27414c2100b81827fbf1abd3f\ + 14150bb5d85ab13b2aca21304365f150511a68c90f4a4eac0bfef0c548e3076b\ + 30a24929c4482f42f2b03ce122b3a251e685a3fe3dbb539932bf8d2b117b1b08\ + dbceb78c84966270657164fe6f20c6d27dca270dd4417f843fdfb23302818113\ + d9acc968476e63d55365381b2d7d47fd65a54df78751a4713a0a610805c0c13f\ + df8d5e9f8a0a85daec2d589d9565109821b2f8a8288d346487a5275605ff7862\ + a47183b598512494e22417a179581e709159d128f342d1ff1edda9cc995fc695\ + 88bd8d846de75bc6424b313832b8b27f379063693ee51386ea20bfc21fefd919\ + 0201030417021513560b35fe90d01a106b1e6ccba4cec953421d48cb +PublicKey: \ + 308201a43082011806072a8648ce3804013082010b02818127b35992d08edcc7\ + aaa6ca70365afa8ffacb4a9bef0ea348e27414c2100b81827fbf1abd3f14150b\ + b5d85ab13b2aca21304365f150511a68c90f4a4eac0bfef0c548e3076b30a249\ + 29c4482f42f2b03ce122b3a251e685a3fe3dbb539932bf8d2b117b1b08dbceb7\ + 8c84966270657164fe6f20c6d27dca270dd4417f843fdfb23302818113d9acc9\ + 68476e63d55365381b2d7d47fd65a54df78751a4713a0a610805c0c13fdf8d5e\ + 9f8a0a85daec2d589d9565109821b2f8a8288d346487a5275605ff7862a47183\ + b598512494e22417a179581e709159d128f342d1ff1edda9cc995fc69588bd8d\ + 846de75bc6424b313832b8b27f379063693ee51386ea20bfc21fefd919020103\ + 0381850002818117f468e3d38f1198556447bc16fb6c6ffe98b31f9042e59602\ + c71286db3e0780601e47372e6eb4a570f2059a7a87ee4471eaf94bcf23e34017\ + 5a377333d39dc64b7eaefcc065bef4a92d0d10acbba71082852c2014d9d3eb2f\ + 8583947c2cbf52865730d2b9511ed8a68367e4d89eca4589b836889cd424485c\ + 9305bc0386b16619 +Test: KeyPairValidAndConsistent +Plaintext: 4424 +Ciphertext: 0C570D0317363DB43DEB295D49A3BC937116F2ECAC9226415952CE634679272B7041A4B806164F12E87A0050AC2D60D393F845965CB3A56FF0CF28D31CFA0285015452C59949E3D96C5C6D1DBE38F6EE98E2C93357E6C036053DF920C7CA5E2EA1617AE44434A347FCE426C55295172ADDE9CAC3AEF2C6D6AB2C8F0FAB1B146FF1A10D5EC2191C99D6418519443EEE2A198BFD159BCC63 +Test: DecryptMatch +Plaintext: 5092C5D9FA398EE31AE27C97 +Ciphertext: 196476CA0E6622569F233780EE0C449C2CAAD3819B348D01B4DE5425EBCDEAEA739C6D9CCACE4DDF06520E83C94D237AFD46A4EFED635112CC78534E2FA6046ED6C06806EA8F4B9F3FC3F87DC55F63B9E14F9ABD82E9CC80A298DB281C9F690391F5B064880CF35C5A0BC7537DE9F65DEB2467FAB5CE8F41529A5B06BFA6B587ED661849BC7388277AE7F7E5EFA3F2526E503ECB106B718275BF32C4F83278CA30 +Test: DecryptMatch +Plaintext: 89BB350DC43CB3 +Ciphertext: 13844D63B45821E8704A9C1F6E9166B5EB7FD98DE5369E5DBB9DECE506EE467294282B5B174EF2F81B6766A3616AC5A974F06D9C47163C69668F4C1C78F8A6716A4EC28A6AE25F615A838B9C747EE857AA2AC92DEDC575AC568A78E8A86EF78D55EDB88707F7B6D558E8A760095BE8BCD066FC57396E67C9D8654245676DAE9FC4BC9D578496CA450B35E179410A5DB443C2026FFF0E5F7E54821E39 +Test: DecryptMatch +Plaintext: +Ciphertext: 040E084ED4A1C135C8867BAFF219A0092855E1E9FC96F38277E16B96986FDEABDC22F3B02CC53B655369DDE3356EA6FE49B77C8EAA49815CD5B1DFDC6E7D0AF6AA985483345BBA8A251F1EC7658DF708C8EED8AB6B953393C03BA2EEDB8B6391D921C9EAD2AA61DBE724B15C9C664EC4EFF83A535E46BF768FD519B043DBF46A36FA03921224281A826F6F43DEA6DF38749D600317 +Test: DecryptMatch +Plaintext: BB296D4FF04AE0171F1F24AE +Ciphertext: 0AA9A85958D9F1BB06E3DB48DACC842534915A7E42715057BD33523EE756F62AD973E37128BB8031358A1DC583F40598B74F079AD667C037D4BE89938233BFE1C167EFE764724F97F2EA42479FB455B1166AAB26A43440867ACE77472CCB13643D5BC9532F68C5368825BF225DF49E2D3BD023447A795AFFE927A796C70E5D6359537A9CE2B4B9323D7FE208540CC32447940ACD91F4718FC7A7CAD45A524B6DA6 +Test: DecryptMatch +Plaintext: 87A2C6B33856C6A096EE +Ciphertext: 12D17080AD0E7FD426E02B6A90736AB4B566F31E937B2D3E642D663D6ABFEB903FC9C4763AE492191E0C15B264CEF321DC8747C590F751A9BA2825D9250F72BA85EEB45B1F1D7B2BA972455DCE7DAE6CBD7B5BFBFB88FCEF52910F9B28D3DCD6BB5D479BBFC73896C3D1C44AB387989DE4D77855F6B8C7A8C12969D51DC6B10BA15C2B19E91A55BD5542853EC6F8F13260E8774C706958B1C9866114FADA1D +Test: DecryptMatch +Comment: 1031-bit DLIES key +PrivateKey: \ + 308201380201003082011806072a8648ce3804013082010b0281814ff13b3664\ + f5c527c36120159d9b9a82054f9ade6866b379e13d03e76cb63b25731132d5f7\ + ec6e95186ed83c793b5d63189dac30c6e6a655605f885fe73d2ae5433c80e660\ + c5d985ad6d12783082861829355c25cd7a7ff84b3033cb7fb530a7baa4000830\ + 2c1eb24b866cf467f570e782bceee66e15585f70b0633965c870530302818127\ + f89d9b327ae293e1b0900acecdcd4102a7cd6f343359bcf09e81f3b65b1d92b9\ + 88996afbf6374a8c376c1e3c9daeb18c4ed6186373532ab02fc42ff39e9572a1\ + 9e40733062ecc2d6b6893c1841430c149aae12e6bd3ffc259819e5bfda9853dd\ + 52000418160f5925c3367a33fab873c15e7773370aac2fb858319cb2e4382981\ + 020103041702150910a291c216ca5f944c5f3eaaa1535c3b8a1f0b15 +PublicKey: \ + 308201a43082011806072a8648ce3804013082010b0281814ff13b3664f5c527\ + c36120159d9b9a82054f9ade6866b379e13d03e76cb63b25731132d5f7ec6e95\ + 186ed83c793b5d63189dac30c6e6a655605f885fe73d2ae5433c80e660c5d985\ + ad6d12783082861829355c25cd7a7ff84b3033cb7fb530a7baa40008302c1eb2\ + 4b866cf467f570e782bceee66e15585f70b0633965c870530302818127f89d9b\ + 327ae293e1b0900acecdcd4102a7cd6f343359bcf09e81f3b65b1d92b988996a\ + fbf6374a8c376c1e3c9daeb18c4ed6186373532ab02fc42ff39e9572a19e4073\ + 3062ecc2d6b6893c1841430c149aae12e6bd3ffc259819e5bfda9853dd520004\ + 18160f5925c3367a33fab873c15e7773370aac2fb858319cb2e4382981020103\ + 038185000281812e9a62ec280cf5ee7d09e5e5675b67a4c325c7565a1129c079\ + 095d0f078e7b8a5b3c947c21c022f01c0b9267a45fdd9f267e63c7f674a02d39\ + 6fc59a960d7991d2e3552d01deb2784f26ec4c9355c0df0497271cb583d157db\ + 90b0634180578ac85005143dda75a33a127df96639e275cee8fe9c02db62d2ed\ + 879f3caae11d6e00 +Test: KeyPairValidAndConsistent +Plaintext: 1FBE21CDBCEBA28625584CB1EA0D9627A919A6CA +Ciphertext: 2CFC251CB2A397880EFD0077D9CEF817A6D69EB6278CD82998C5988DD18D6ED15FC8CAFD1611DE58BB46BA8A87013C7BBD4A8DCFC454F13DB282BBBD4E1594E6AF17AB6219E91D7354EB88515007B58BF0D8FF4BD4C387FF6E02BF81455803E6A936F25245863F1580F00ADFA4BDE052BEC72739B88042CF99480AB6F4489F9C8B9319828A000FDDC4D1A6E49868E3B39DBF7DCDADD9B882B755E330C762FCC023EBBCBD0330D28DB6 +Test: DecryptMatch +Plaintext: DCF33FA5BEDFDD93DA +Ciphertext: 14BA927F10262B134AC43F6787EAEC3546C17EFE3F6D54AD2A245A0EE732B749B7312521372F21716E1DE29AF8FB329C25ADEDE2DADE3A455235DAC6C1F347C2A052893DBA6511C3760384935D68C7808D23CB194E6A19F579782B22C3D8880736BECE89FD75E7E69022E9B2500E5A044105B832C9BFC5F18A807889B401E61A9888276B31FD299D604AEA85091578D41E5B36D66C4510F4B147C5E59615 +Test: DecryptMatch +Plaintext: 217B0E +Ciphertext: 37B50EFF3A3FDA419988CA44CCA3AE95F465A18C89CE2DF025F565DAF0F833E198DAEEB46517FBDE47AA3D5DC5039B873A31D0DEE1EBC63F3E97C0A63CC05A8F877FE70EB7F6198C088FF35C1C369616D3EACB013F295F764146A5AAA2D21CD36B9DA4490CF1B37D379ED7713B955C3B0581650B5C7F4F5B8F45B89B94DC364D3340414B491C29AAF2E197AD6F59B0DD687F2E60F8826169 +Test: DecryptMatch +Plaintext: 36DA002D110CD632A9969DC42409B478A3AD3B +Ciphertext: 37126F749ACDF2B6BF667DE9635CC0BBD61753B30931C847B612936C1AE122D6F0E409B4E9454852540C5FD8DD3DA8BA4026FBE8CC8449CA0071409DB47165907202DC078E5A8F6B0E9C8D3497A2D02F53DC3A47389C1B3778EDDEE980055BC4B7EBAC0B95C0CC4783A4B202CE127FA0D7B65B252492A1847FAA9D1ABE893376917BCD46DB4FFADC06C880AD848683B874F7CDFBF0E4BD87AFC39303C512C44EF58B510702C1129C +Test: DecryptMatch +Plaintext: FAFD +Ciphertext: 0F63F22B7817F2449388E0422C6122200D76BA8D4CEDE63DE950ED26768E6779BA0A238C8C3F2CC5C87C7926F1247A7067E27245423EEEFABCDB606976BA2FD9977320F903733FB57D02620682820B1AEE165604410157C5ECFAB7090EE83638A99E4CA36CA0879D3C14856A3417690A52F14F33CC50FE44503FC47F2D90C096C03F62A85D88891E9568911AF61DF916C3677DCF152FD3 +Test: DecryptMatch +Plaintext: 9E9145E890FEEADC706AE1 +Ciphertext: 0B60A14F132D21E47E2FA20633DE43694EC0394115DB297C1B68D1A7EE7722B6AF5D149A2EF5D0EA05761C0FABCF8C0862AF320E9D273AE743717F78A46F15B640C87F4AD0C25865EA3453B0FB59D997E41A31B6C1669F14639E2F70F7D4324B8729A26C8869D97B432740F7CE28A74EFFC82AD7EF172A02AC678C13235BA2C6EF79143D189838E1F101385BD7098AE3B5B78A80964D5C0A3D7DBA7FD7328BE8 +Test: DecryptMatch +Comment: 1032-bit DLIES key +PrivateKey: \ + 308201390201003082011906072a8648ce3804013082010c02818200b98458f5\ + ada1f23f4ae8a3a519c27fde91efd1f201e386aa6119749aaf6ed389079ae49c\ + c76317f81f14164673e8f0be00edd4db4792d446e7bf84b30200626b442af3f7\ + c9a6ee6fb0f95807e62fa5b2d171a4b326cd60c82b20d63ef00b408ea337f50f\ + a51f07549dc4f9a660842724566b94d6e2a58980d2d20281ce6c327643028181\ + 5cc22c7ad6d0f91fa57451d28ce13fef48f7e8f900f1c355308cba4d57b769c4\ + 83cd724e63b18bfc0f8a0b2339f4785f0076ea6da3c96a2373dfc25981003135\ + a21579fbe4d37737d87cac03f317d2d968b8d2599366b06415906b1f7805a047\ + 519bfa87d28f83aa4ee27cd3304213922b35ca6b7152c4c069690140e736193b\ + 210201030417021534999c0e7b17cc3c110cff71571e8d4708c3122a1a +PublicKey: \ + 308201a53082011906072a8648ce3804013082010c02818200b98458f5ada1f2\ + 3f4ae8a3a519c27fde91efd1f201e386aa6119749aaf6ed389079ae49cc76317\ + f81f14164673e8f0be00edd4db4792d446e7bf84b30200626b442af3f7c9a6ee\ + 6fb0f95807e62fa5b2d171a4b326cd60c82b20d63ef00b408ea337f50fa51f07\ + 549dc4f9a660842724566b94d6e2a58980d2d20281ce6c3276430281815cc22c\ + 7ad6d0f91fa57451d28ce13fef48f7e8f900f1c355308cba4d57b769c483cd72\ + 4e63b18bfc0f8a0b2339f4785f0076ea6da3c96a2373dfc25981003135a21579\ + fbe4d37737d87cac03f317d2d968b8d2599366b06415906b1f7805a047519bfa\ + 87d28f83aa4ee27cd3304213922b35ca6b7152c4c069690140e736193b210201\ + 03038185000281813c42dc88e1e15b9a737bfd64b96a7448983da5242a6cf43e\ + 1cc72e8886db723b681c291f772bfe33de5ba735404581c839341969a691c199\ + 229c2849c1c8c80396837c71d711ce34129d3006aef9d16cac504543c6e570bc\ + 3d730d5cd35d8a375edacf591b2837f9a705d63dd62754365d13c103961161dd\ + 984d89792985ad688f +Test: KeyPairValidAndConsistent +Plaintext: 23 +Ciphertext: 0BE692E3384A784AD01D80A65D22B48449AFC0281B36085B0D8FA03574B4BAD05F754D6FFB8E3F4B4BFE60FC7EA2BC1F11253505C753BEFB1D3BDA0084E6CC1FD82454A601F1C0ADB52B3FFC4895D36542FE0139465B490102C7B6A75C9273B737536DD122CC8C3EA0F32900C82C45B0FEE97D995AC5B4345A8899DD6888D1E814BB5A1141A86E636D31FA05689ABA512DE869D12BB4 +Test: DecryptMatch +Plaintext: 4F571384FD52A9041C8F3094 +Ciphertext: AB7942750662F0FA422F4628B558938545FBF7C749995B4D5B32BBF392292FD1B4EF02E5A2EEF6874BCA9F0D4CBCB92D684CDA821829850BD4CAE110E78E42909CF069B54B4BC7D742E113E57C85BCF54AA5CAE1005516BADA834A857315DD6C3DEF4AEBBBF6CB4AE217107E16E83F884B2933EE618F22C45B78092B2EFF7D5C33DB7D89FED4E134921DFD9DA999FB8AFBFD094D77BD887D2C86AACC401A621905 +Test: DecryptMatch +Plaintext: E421A467654B3B88C93C8E5384FE2B85D4E340 +Ciphertext: 7485B8E5360BC1383FCE1C586E126D5DE89FF1CA7CC8146C37A1E6582A564C4588984915CCE9635EA6ED434C80CAE138FBC1EB15D16B294AC1E59CDE544E4DFBF276D30A7F51461C2B7E7F076222DE6AC534DC47E015BA85062694FD78DC37E9460C10FDAF2C61FC7EE0669E99793A657543B881B50B0D3916E395A959EF55B02DB8E7B4C5B5B653AE2D11CCE639342C8C77C667625116D9E6B6C6AE822CDDF2AA503EC3FAD53D80 +Test: DecryptMatch +Plaintext: 3D6C941B1F03E5C9A4 +Ciphertext: 684AA8D2AD35D2775BC30794A078CFC931096A37D472FE511F72B03B33E87AB1E7B958C3447AF6285AC379379E0D1F1BEC535E4032E186573742A75C1B42BDC52F679DCA13B2B9E67CC73461084DE1777FAAED93C7C1E4A6B19473EDF6A57CD88C076574A356748D501A05AF66A136E908993A0A70538FEB03109C62A41540EB4E166596887B4860E3AB0BF9C1AFD02C67D4BFF28BAECD31D1CEB207A245 +Test: DecryptMatch +Plaintext: +Ciphertext: 111C252A9E64FB777F09AF6AEF9C4210B9644C3A66D5528C631D5348E30B146A6225783DE1FB796DBAB3A901E37818B5AE49BF1F8CC0A6C8909D2DB06D651CB08009A25E13A89653DBBA5959674E37BD72039D4E7BFFB3A2395DF8C36164C3FA71334DBFF2FACA090F1C349BF68443838A0D893B9B498D3B6CC86646F935D5ADED81967A387506688B6478492129534F3A651C9985 +Test: DecryptMatch +Plaintext: DE5F0B92C45A0C1530 +Ciphertext: AE6BAEF52B43EE88AEA7796D667D044887407ED07E7618358243A0108514FE9793EB28EB42B4BA2F28F6687FE7973FB8DBF825541010F1BC1FC7350CBEC0B055C0C71FF2C4D2634582C966C1CFD3449AF8AC956BEC3EE797F7E81E589450EA13C1A8C99116E05E49F4BB87C9B95EFDBEB35B21C36711CEC8A1ECF3E4F194251563F88C056749B835FC19A7CD560FEC785207DD14D43C6104D83BB05F1DA1 +Test: DecryptMatch +Comment: 1536-bit DLIES key +PrivateKey: \ + 308201bb0201003082019706072a8648ce3804013082018a0281c100f9566c8d\ + 687a5ead7c780617d3ed37b4afc46582e9fc0d75ae217fb506f5c2024c2a0e6d\ + 7e042544235b4de63047a33940d772721e895f9d4e92790bef0d3668ec7f6cad\ + e7f9b18049b33efa773c83e97b35ef7ebf18934b48dd4700a48c1f76ffc20684\ + 521bad52834086ccdf1e3d5c9128fef52f6a9444d8e9944d49e5ab411f46b63b\ + 290b7fdc8f48fab24c2059510bb7247e0930d5043802522d67f2b69ac18b82bd\ + 0229e53bf6769fe83c469188d600e6afa6686bd9725afb9ce39bbd9f0281c07c\ + ab3646b43d2f56be3c030be9f69bda57e232c174fe06bad710bfda837ae10126\ + 150736bf0212a211ada6f31823d19ca06bb9390f44afcea7493c85f7869b3476\ + 3fb656f3fcd8c024d99f7d3b9e41f4bd9af7bf5f8c49a5a46ea38052460fbb7f\ + e10342290dd6a941a043666f8f1eae48947f7a97b54a226c74ca26a4f2d5a08f\ + a35b1d9485bfee47a47d5926102ca885db923f04986a821c012916b3f95b4d60\ + c5c15e8114f29dfb3b4ff41e2348c46b007357d33435ecb92d7dce71cddecf02\ + 0102041b02191d78b208d09b23e859be7e79ca76e612d8e5ac75a5ca02c506 +PublicKey: \ + 308202623082019706072a8648ce3804013082018a0281c100f9566c8d687a5e\ + ad7c780617d3ed37b4afc46582e9fc0d75ae217fb506f5c2024c2a0e6d7e0425\ + 44235b4de63047a33940d772721e895f9d4e92790bef0d3668ec7f6cade7f9b1\ + 8049b33efa773c83e97b35ef7ebf18934b48dd4700a48c1f76ffc20684521bad\ + 52834086ccdf1e3d5c9128fef52f6a9444d8e9944d49e5ab411f46b63b290b7f\ + dc8f48fab24c2059510bb7247e0930d5043802522d67f2b69ac18b82bd0229e5\ + 3bf6769fe83c469188d600e6afa6686bd9725afb9ce39bbd9f0281c07cab3646\ + b43d2f56be3c030be9f69bda57e232c174fe06bad710bfda837ae10126150736\ + bf0212a211ada6f31823d19ca06bb9390f44afcea7493c85f7869b34763fb656\ + f3fcd8c024d99f7d3b9e41f4bd9af7bf5f8c49a5a46ea38052460fbb7fe10342\ + 290dd6a941a043666f8f1eae48947f7a97b54a226c74ca26a4f2d5a08fa35b1d\ + 9485bfee47a47d5926102ca885db923f04986a821c012916b3f95b4d60c5c15e\ + 8114f29dfb3b4ff41e2348c46b007357d33435ecb92d7dce71cddecf02010203\ + 81c4000281c07a5b4ddf442b2cd7fd925be84f2ef4c4032d61c5a55c5949b30a\ + 765cd4d5d4566af37ffa7f814f51bdd71c3e5575c6fd0203f14d3ded4e14baa8\ + 2747a6437d35ebc81e2035bfb0e04087fb5fe449163377d47b045b680b394962\ + 20b3138e85f6d24e06f955ec7a1b785ce34c2926cda441bfc86ba2f44a489a41\ + ee1740ab5ec3daf6d2c598e1d143654c05ce61792b47ac92c8d6ba0711419e41\ + 221743b768eeec2601f66d277fba154a62dc996537a0caccfa313cc9fde0194c\ + 05493aab1f07 +Test: KeyPairValidAndConsistent +Plaintext: 9302C420D137C310 +Ciphertext: EEF64A81C754B2EF543A19549AC0FF3F44E4B548284ABAA1E5F1EB704B0D246749D7F1CEF7B20A5226384DBE8FB596101591BE2B53E9909EE3723CB70A385FC2DAF6CE15629EBA21E7F26223B0A2428D8931CBB4F1B281E318A540F38A809C8BAD92D10FDD63305DBBE972E6CB973FC4F2FDF0BB9CC37FC42C7AD76E8DE3FA91E5E79B09796652BFCD62A28A59D9A97759032A0A78E0E1B081DF212A15AA44E35DE9E291EDA499DDB631486C029D56052246C9E37FF24EE9E86465B3B55BC4BAD77B9AC873B6F36EA65892B202E320756540009C81B9C6747BDAF40E +Test: DecryptMatch +Plaintext: 9FD4F26B7317BBD1B235 +Ciphertext: 514DB5C63AD9707197B4F0B2A30CDA18369B963E62F7ABBA1E030E08D3DE4E6C17D4BD7CB8097C2E641FBB0AED6A9FE7FBEAAC1C6B85BB3570D0E86FF6105B9F8C9B562A4EFE4AE3AECA26978C514129006D22C108B1C8A0FA55864EED3D3F81643AAFE36DF1CBC3B4E1B1AD6D5E0612214938A55114589B97286A7EE5B04E39254696DA91453027F07346984423FE2784DEA9375C236E6640504B5BCAC32062836E5BE1695CE73285CD77CE9717FA38E080C28C2959D9E32A589C04ACE5E52970ED49BE34703AD6B9F024DDA176C631EF5EE76833B427E233A5DAEC4328 +Test: DecryptMatch +Plaintext: 337D8BDD32 +Ciphertext: A4EFBF2151DAC683F0C51D60A647151A1EA0C0DAA8CF3497D7116439E6AEEC62A36D06F89AB2F1886FB9F62403E3DA8D6F67F66DA2436EE20FFBADD698DF87EF40470749C0BE0414A7AE4D2755459F8A17F6C7D8920236400313D7846532C391A0A4D99C26C556772E2D3C74E0119C4CEC7EF224488BFEBA017A910E5FD167B4486E436F7481DC5A46F3FF0536193C75A857DC53C5242C11AB911BD21926462C5060BB89F71D99FDEAD3D16B1E21E0D0791B59ED0F49871F744B13F23EF5028C238B895532F90B0ABE9912644EC079604939A0CF519BA9D185 +Test: DecryptMatch +Plaintext: 25549A5AE844ABEAA694E3F6 +Ciphertext: E2B30DD7781DB7EE7B2EE3FEB77F7360A6069396D8BF1DFD85D5429DA5A156677679085D612D0FCCA0979C97E924E77C43D3702940DBB556A5BB6EA33D650E078B1CDF8E5F76DA6591D0AFF4389A3A982A9AC581BFF393B35D36894E407AA56B493C2F7C4CBB75AEC72394AC4F8A99089702F3AEDB2FC7486F5CD01691C3C8F8FF3E951CEC70A4E172B763124BE1D9F96DBBFBA8FA0EBD1A71067A20F68DA6AAAE849880DD7F88901DF051715E240BF0F5B49EEFE35B9B0ED2B69757111080DCE2E2A933CFBE8FB9E6E9A2C2C75E0A4228D06689796AB919EF80405CBF648137 +Test: DecryptMatch +Plaintext: 5E61EB24085019F4A76893517C0A13 +Ciphertext: B13E45F9288FD2C5C0FEE230D1A09DE376ADADB5A4330F33BEC04C6F14C4A1CF3789B976F402F11611AB8345B2EB1069CFEE1E2F482A02A0ED9A3B9D94EB78C7BD7222ECD48A598E34D1F0B6205331CB20E0B2C6C146FB29CC11BAD5CA06BCA3EE39DD536FF330663A817ADECCC284B92F6AE3EB75B00316992BEF8A955EBB4DDE2CEF504E9298AC243C00FDB64B6AE96FD7B2135E6BCEFA7CBFEE135A650AA3D8CD095D1C9156232DCFE1904BC4CCE58B455CEFDDEC1D201B07ED4F999D6281AE21C2008525DB24BEA2D9FDAC1BFEADC3E6E6B1181F1A55A75976C565BC28F177CF02 +Test: DecryptMatch +Plaintext: 87 +Ciphertext: 174E5CFE167D4F6FB9A8FCC0FBEFC12864745900F5A18EA92282C8B6689EF53BBB87B30FC21DB101D93E9FFCED05538EDAB59F9FA07FB176407651DD0C4CD8269B1DBB70F24C8177EC6E16294CF5E87A3070A077B1CE84B612C3E3B1D4FD60D732C4D2CAEF5AC442A358AD0F323E60F58FC8B29894F3EAD3AE0DB8FD08BEBCCD4220CEE6B7C43A5E769D1F890A6B6505EE7FCDC7E399FE5321C2792D7AE094D13EC493CC0911B3EDBA6DAA037E2EA0CD3642784FFF2CB1BE04E5B12AC9D2871F016D8BCCE6DF25C1C04D912CBE707FD4DB0F9E89C4 +Test: DecryptMatch +Comment: 2048-bit DLIES key +PrivateKey: \ + 308202400201003082021906072a8648ce3804013082020c028201010096411b\ + e93e733637e91b1d74f808f4c9c528293e3123ac1d3d2f94c462ff38d0cd2fde\ + c0eb03bc5e54b6df41e9bbe9127a1b3a7f47cfb513340664829ffae26f832b48\ + e2d660d10e4debc1bfb412f331ab7b2f88c0d31fb587ed5c5256e0ebf7da698a\ + fd3cfa0443af91bab8c539376fcbad72bfa6985b6e64250e6b546b07a4575b08\ + 449d383b5650083c637d2452e7d1b9227adfd328ce473bb4374fa31e0ad52e56\ + 7feff6a9c4842d24d069e7babb35313ad63ca5d33d572bb309689a571e9ffe25\ + 38816bd7bde7bb11c10752e6a842751f594f50cf4b8111f387134e30c6c03ba6\ + 40be7cd5b6574c0d0b571a98fcdc292070595dcf6e8d034cc0ef92e8ef028201\ + 004b208df49f399b1bf48d8eba7c047a64e294149f1891d60e9e97ca62317f9c\ + 686697ef607581de2f2a5b6fa0f4ddf4893d0d9d3fa3e7da899a0332414ffd71\ + 37c195a4716b30688726f5e0dfda097998d5bd97c460698fdac3f6ae292b7075\ + fbed34c57e9e7d0221d7c8dd5c629c9bb7e5d6b95fd34c2db732128735aa3583\ + d22bad84224e9c1dab28041e31be922973e8dc913d6fe99467239dda1ba7d18f\ + 056a972b3ff7fb54e24216926834f3dd5d9a989d6b1e52e99eab95d984b44d2b\ + 8f4fff129c40b5ebdef3dd88e083a97354213a8faca7a867a5c088f9c389a718\ + 63601dd3205f3e6adb2ba60685ab8d4c7e6e1490382caee7b74681a66077c974\ + 77020102041e021c614682228a4bea799d01008a4bca099e7cf7711d7914a81c\ + 39d2407f +PublicKey: \ + 308203263082021906072a8648ce3804013082020c028201010096411be93e73\ + 3637e91b1d74f808f4c9c528293e3123ac1d3d2f94c462ff38d0cd2fdec0eb03\ + bc5e54b6df41e9bbe9127a1b3a7f47cfb513340664829ffae26f832b48e2d660\ + d10e4debc1bfb412f331ab7b2f88c0d31fb587ed5c5256e0ebf7da698afd3cfa\ + 0443af91bab8c539376fcbad72bfa6985b6e64250e6b546b07a4575b08449d38\ + 3b5650083c637d2452e7d1b9227adfd328ce473bb4374fa31e0ad52e567feff6\ + a9c4842d24d069e7babb35313ad63ca5d33d572bb309689a571e9ffe2538816b\ + d7bde7bb11c10752e6a842751f594f50cf4b8111f387134e30c6c03ba640be7c\ + d5b6574c0d0b571a98fcdc292070595dcf6e8d034cc0ef92e8ef028201004b20\ + 8df49f399b1bf48d8eba7c047a64e294149f1891d60e9e97ca62317f9c686697\ + ef607581de2f2a5b6fa0f4ddf4893d0d9d3fa3e7da899a0332414ffd7137c195\ + a4716b30688726f5e0dfda097998d5bd97c460698fdac3f6ae292b7075fbed34\ + c57e9e7d0221d7c8dd5c629c9bb7e5d6b95fd34c2db732128735aa3583d22bad\ + 84224e9c1dab28041e31be922973e8dc913d6fe99467239dda1ba7d18f056a97\ + 2b3ff7fb54e24216926834f3dd5d9a989d6b1e52e99eab95d984b44d2b8f4fff\ + 129c40b5ebdef3dd88e083a97354213a8faca7a867a5c088f9c389a71863601d\ + d3205f3e6adb2ba60685ab8d4c7e6e1490382caee7b74681a66077c974770201\ + 020382010500028201001eb30132e415358b7d3f726b93e2eeb083fe7add7abb\ + 6ca352c9e09b365e5768ce032ee52d59f1c65311045c490c42c36ae08cd0264a\ + 26199aeec8c3a8882a363397b4d7e0b6c4abc407f27847be0e8477993069a1a3\ + a3fe68093e09ce55bbedf97c91e741ad2eceb7a0f4be6ff87f68deb03c5280d4\ + 8fdf4900485bf5ca20257b176f58fcee1f0451b3716862488b0642bcd76654ec\ + 4874512538976967a545cdc208a0050f26e541ca70343f653222e6df7aaa07cb\ + cf354a5ab910eb8447382d7f512c440982ab37a402c87d2888eecb35c636ba6c\ + 84a5cce917f234fc7f8d9167167e30f2840407e13751f1944f6aceae3f5a7025\ + 36723c1d88c8c04981e4 +Test: KeyPairValidAndConsistent +Plaintext: 5EE1 +Ciphertext: 73279829369404A1B68D5E86FF334259936133CB04C9186CFF733972054918C3285EE907C2863DEE872252BF03EC9FB088B8DCE6D69D78C6BCD6B3FF87E683C6CF3CA05FA6AF0C068D964BE01030A3AB4E19575811D141A59CFBC9D3558E48CB771D88CB1E0E6C7ABED041077D24005E337AFCFE8531569FE56E2CE97C40693C071409888AE46DAC8BD739AE0E1C392586917FE07A66F7D3AAF0DDC398117B594481D0D5CD19C8708DAED6338EAA552564C31F9548FFC7E5C641FDA95B252EF637C6CF708979948A3E6B4F37A9ADCD60BDD841F3B0945CFF55E2F13468EC71C550CC2AD48E7E1FB444F132AADB1EF2A7C5A22450D0E0CFE9E37D999B4794B5A594A4EB7ED406DB24ED541E575B9F2756545DDD34F6DB +Test: DecryptMatch +Plaintext: 0252EE2E1C603017 +Ciphertext: 0E742D794904D05C0F0B6F60E9655337F8C110F289C6E4A0D6FBA6A2A8EB0FBB566A7F9B9862175C7A00A8205E8C8012366023FD8DDB6EB713DEF86917233DC5D16C2822707230169C183FD3A714806220D7DBA735C4F747A23E4131CE12C5572BD5E659F967A8B7DAD0EB6138D1BB569C6F04EAD79F9A6301609697F73F6FD8CCE934FAC6FC138B4C552E211FB1CC242805C035815F462D0291537DE10632141ED0A7C22439C7270AF0A6244C073CE9E2654FED918C86697988B0B341C5EAD2CD6DE75EAFDB1DFFCC5FE465E8D8C9A34D5B7F0E9DDE62204FD12EE2F99435DD58F3254268F8E6CFFADEA9205DDFCC943004887C405859866A0A40456A6C50B57FCED319AE0EC92B9069F765013436FC9A0253481CBE12B707A2B20D +Test: DecryptMatch +Plaintext: 01AE +Ciphertext: 6AB2E26D99942CEEE4844632355BB3B7713DF000DA11099D4E1BF9EDD1781A9396032E9D96BA0DF21B309A9CABCE9AE3D022C33A931183DEC5A3721EA5CEB39C18935A43E3B0BC153E4469AEB604D031A0084BE5927478AF8EA652D0A4AF455BDC57EDF26E2C6F9A01C91F29984C11D3C60313A53D8AC65D9FA504742868AD3D313506EB4FDD0E9799B111F3041F4C0547BBB06BF7DB20D18B427BCA1BA5099821A5F0997EF08C319B851F0C88B4814CAC7BAA4290B3182738C37B6ABFC2C4770A633F70E6FA4FA53AB286384FFC2AF9B64DECBE12C8EEB97862F76296D13D889E864418056420DCCD0DF9B76FB32FA6BDEE149585F427F133972DB7281D91D6E78B6BC46151901179D186CAAC784D6271023FD6E84B +Test: DecryptMatch +Plaintext: D52A1E0E3253FE281A9471 +Ciphertext: 63F60818E399024073EAF02A7A419229EA4E2FA4126C910AE7D31DE7EB6C9502752F5B7241F2A133E9D71C1A75E23A6F5DBE36C1B661935B0F20123BF434153B1F81BBDE278611C9FAF9F56BE8C78116823AC5B5F355B88A82AD6A73D2B63BECFC7D3B39DB2A6B393E23826235AB76653EDF65DD7A94BD27E221E9D511041340FE83A27F7B26CCF3FA40B2BD786BB9D67D2BCED415F2F76D116E8F3EDC953B8A327D2846F247D91626F643F8DB800F5E1DF0CDAE2369AA8969A938E0BB5A44F0A9C0BBC7D15A34DAF4713531A7B6B59CCCA2282952B16A7E1A1D1CD47D8B2AC6A88BC6A85E692FED89BB3D1F16AC2A922836152059433A29F786F2386A74DD6F555CC8D06C890A4A93E9FE88CEB078333A631E9E3EED0610F0A17F2A4F8DAF +Test: DecryptMatch +Plaintext: 53 +Ciphertext: 7F820C0C9A5709C6026E58446623B5D4B323BACE54724F456684526BD1966A360944227D04824B3C9BAF19A602EBAD25B8047FB6BF9997EBDE6B854140C032481F1479E4B994FC5A2DE8128375099A7A0024AE1CB985D73BB2B806B20E0751EA154BE2A70ECBCA49335BA57694DF1E0EA4566304B8DF4BBFE5AA41D0B767AE1679BDDE70F95E1C0C7E06F4A635F987E2858407BCA2133C3EC5620D58F1AB7FE1426B615959009A4706797FE4060E1C690DA373E48D6BA684F69E981DEE5DB9A58C504DED4D4CA6CD9B776DA03E55DEBA97E541A300465FFC68C5417A10ACED061023ADE00FEED4099180948F26F10D2F9470978469F67AE1092100C16D8FC4104DD1E711CF67D5842DE4102869E96E817F9C9FF520 +Test: DecryptMatch +Plaintext: CEA6026338 +Ciphertext: 13D877F0F00D01125447982639AC82AACF30FA0573001DD809C72D0F811138088C6D6D0569E63AB001CEB0339BFB90F7B71F339CA2F75859920370C622C0C4930B79B99DAC0560C763A1162AB46F58D1409E25301AE6D70DD4FA64984FE894DAD2B6401F8864580132664DDC2A57D1AF8AAE43C2759780C8587475F21275D61765251DA8FE91921703DC8DD279DFF4260D8AFE69257BB43EC609DA30DC33526D66E46365F399AA04F34FA7BA6469CA964AD6F2299233424E7342F1BF493C0BBB31FA1C713543D758219AB0F73B9C24F4699415F96C32E2A700669FCAE7EA6921F96288723ECEDF9677EF35702C8C0B71AC27A57624A7667580A2FBFF72818B2BCBA3589DCB686486FDDB50E29E75EBC8AD3DEDC8B741AF80F7 +Test: DecryptMatch diff --git a/TestVectors/dsa.txt b/TestVectors/dsa.txt index 22d5e8fd..76672227 100644 --- a/TestVectors/dsa.txt +++ b/TestVectors/dsa.txt @@ -1,397 +1,397 @@ -AlgorithmType: Signature -Name: DSA/SHA-1 -ModulusSize: 1024 -Test: GenerateKey -Source: sent by CygnaCom during Crypto++ 5.0 FIPS 140-2 evaluation -KeyFormat: Component -Modulus: 8fbb9edf2fd2834b1a9fe97c25999fbc381ae165d932aa521592c2cdcb4318bfb99a2408f118ea874b73704e2cc557fc89a01ecfb5bc412951e86613b0b2fad2389e81ef42f79705fcdc87a9b9dcb1afb44c37d971aeffc1c859be367457ea19d71f22bcaa29752f15242f59b295125e9e01ab582887fa869e4b0f4a308167a7 -SubgroupOrder: cd6c675f1d22c771e7f59020ca0e94078950df9b -SubgroupGenerator: 7b473ffda9ed6e10f85177ac05f43ec666dc6d42310151053ae83369de9f9b331232cbc83bef31166e19b111e46e57703fc6666ac9a571ff053e18f3c2fbc4c2f32521750a941981a55379a2fe13bc78c6a3787f44dea397af63a7ce432704657feb57295ab9711ac7070ca5b7344bcaaedfd8bbddecd8de9c67e7cffa2fa20d -PublicElement: 64f31bc4d5b42622b41326361fb0d67f9feb364b34be67f6b2e4dc1f928fc70e6fe42cd9cd6ce3dc40113e7b4742d4af6fbe04d962adc5238d4d95b7bb67f0ec6592e966517d0a34137a45dc82ebe282c904750e1aa31b62c919b250d4d8ef922b0b0574cb2ccf1b451d7facd075e77fa532626602b32fee6fb334e1c2911388 -Test: PublicKeyValid -Message: 699c4211bcba049ac8d73c37fc3d02241f70b8ccbd6a1225d813664bcd043660847dfba3dca434cf5600afb60036171ea402bfdc3279ae2f6b7deb5fd0810a96ca7ff7ff1a36021d84a92b6db7d4b03f80b1d5d2306cf3af4be2c448725fedd09399cd5d4fe8853cabc84895fb91e4400c7591e691bafa5cd0398a3c8d18f8c5 -Signature: c0aa11b2571acf6fb78dd85148d97ae04877ea1a05d27ab73783ba4efa3a4b7f110cc44c7ba2c842 -Test: Verify -Message: f5373216e55156d66524e39dd8a345cc519edd8cee2b7cdb755222d42ef8f843000e8b69cffa4b0c154543c3bf871b804a904b5e1ed8a1ad2a29f63bc28b2ce5b5706c5fb2219e40dd682951ad7fed1709397d9ea36fa18894ad0c57391e5af74db54d8f479d4989f6e40de05b63b4a9c7f0ebe535c87485ea36dcbf4b897890 -Signature: 33e28ca5be57567a880c52451ec72f27d25b6e26c38216900ef17f0c307fd7614b399ff5febfd7e6 -Test: Verify -Message: 92fe48a60045104207970b674f800f67cabbba0dbc8d1d120b64a4ddc9b149800003f9efbd6446825ff84fae21d4ed00e61d1f5b4562b872d53b4788ba2247677091889fd75ddd017f52075b3610e275d025ce4c366c608eb2a64a567a5688287ae2cd3066e72db701dc0ce6a7eb46bf210c9f59aa646e5c3ddd86bc210665ba -Signature: 95616a85b6d9ff3c9af7264cbbf8b9cdb71404eec47fa7c91291fb93ddd8b0327df74cfae6698e0d -Test: Verify -Message: 18b8baa09b84cf8ec77a1d34d68b0971fa71016ad5b71838350ce9d114c8aa34d0bf8fd9a747615876845f58b2fb55bba757fb08f176901838b7b7042f87924fcf2a1c50d1c7cce36ab768514b0f277cd86b0a4fa7fe7c653cd729f803751b0d8f8f1cde121d47871caaf0f598deb70c0447e718f0671576ba04f68488ab80c5 -Signature: 23c6fde5fd9a2478d99c3abaa61363d90b2c161e847be181af07276e376ce4f76db56dfc3a1f2425 -Test: Verify -Message: 598660449d62f60b1e0581b0c493803d3ba5cb49a5c5d5917f2a41d6d1b6a8f69a2ea94e7bb8334fa29a0f5ffa32b1f291313fe9491ce32ac3044e8188848db77afd10f17a0ef84b5b56a1b5076d700df021de7ebaeec51827c0eab042ecccfacf6bace5f35add3820b04e6a443e55c632ecbec05032149182d52e1a57e4fef8 -Signature: 2c07790afcaf89768f1d1492345510d937e65bca5621811e1b705651a861be1f88f52090036cc1ce -Test: Verify -Message: e37395964c3c1f7b37c99c2f56070cf9672de2f7cf63bc6778ae6532e81f09baa23cb7e5c2af1c6ad32e7e5bf4aaf7f42cbbf4a20a4bed578182660d02f22799db04b8b2cfa31f41f727ddebd88326ddc6b361d77860e07cedd6e1d87e28c53244a28f14ad6fa099598cb1f73bec114ceded21ad53fa0d6d7482ccaa951a5b1e -Signature: 58697e6dad83ddfe43817e5534535ecd78a985d3928e271212165dec4e76c8025d531ee84ba8caf3 -Test: Verify -Message: 24976d350993351696b33cf2db5440303d5a722cc2d25eeb9ccf1e20f57ec060fa8bf4a22ab9fafbe0bdcb971f5b86fb9ec41e79142e42f4c6b58dd54e71ef4eadd95cce9458b3c5ef2df19ab38896e9e9e35801fb9e079e3fdec0e3c1a7559b5638fdb1dea738edd9bd06f12d144873366f76bc0f5a83621f030d42e857cac0 -Signature: 7488f2ca5fe2bec2c7a83e73407411c9e89bf8cd594d4a03a736423ebd913c2b98a21e445bdf70f6 -Test: NotVerify -Message: 430cde2feba0256295b6366211252174a29c9bd2b8e6db8fe97fb9ce35580a247be8364a37741b077e9f275d3b34b1f2ab3397c2171b1e04d177065972aced3c5201e6a648ef5900a3ab1e4f69f2d59bcf1488a0f84485b8f21e7508ef7ac1eac070269b97ac9726fef3539012f647450557a6c2d4fac685448d3e32235a3e06 -Signature: 7500d2fe4b2943b4da93490d3bac5c344bb18eb550975ead0e461ec33485e11714b4ceab478644b0 -Test: Verify -Message: 81bd412f4f9c8f8b7885d9fec9b013be8246d4284121dc9c2fbfe59a6987af1db141463855cf96ef6031325800b961f2378a6a46c65722bc565ab3c0e993ae15814354790fa8217a9efa9a98c0a6599c39c95638ebf077e0010f5be860bf63df4abc032a559e47e58bd8a9f6e3ee1173e0fb2d378762f4bf87d4764aa483e631 -Signature: 37cb9d9adb92a7e74365f9e4c4857a88a6fabd200d955dc76333b0ea9c1b2f05fee9117c79b10d09 -Test: Verify -Message: 84652beae6fec221ab800bf6303f17a47a84278a1274a2b11f40569bc58ff34ebe28c5a138e4b1c7eed4731989ae1728397db5038f8970c59e84b16353f8a1b411ede5c290de9e50f7de9fab3807f1b6ad238530f09e384900ac0c6591b6a530b30b03e2a8c47ed4fff80744f5219e650cce0eaaed8bf0547b0edf3a39a3f8d9 -Signature: 194a79f399087d977a29a3eab308670b7b133acf4e8b43068639e0e5e37d7ed305e32b85e30a0a22 -Test: Verify -Message: 9cdf6e966c37794c7b3dd6234e76d715099128caff3d03917a4a96a2c703b19386cab41830f5b8ffe9e9fd6b88759450e4714d2f6298e413bca267cc13a5ea6c38ae6fff379b0f8e253b6e562ca95f45d4e6d3b694b6076e99bdeed7d5d9dc7b4bc275c49ae0d5f2c86c015d51cb8eed702790d7ad50c59aa8d203392456dfba -Signature: 7b427233d9e49dbfd8ff2a7814dd99cbd4533d67155696b215d593d5ac3989c8927850601c0d453d -Test: Verify -Message: df577c9f2370b362f86a928e40106d7b0a511d5d8ec619776b82d57e1f195b4bc7f328c619d2490e9fa2b6ed3681ef7cc60fd51343f7cb74e5be0d37a3cb5078f6b89bc0ccd86532ca09f0f7c6bbe5eb85413088b1571e131ef5b6063e5355bfe23d8d6733993f24f036f682ead7871fbd7fe796d0ff4dae90be88c4e8c9a276 -Signature: 39a7efc692685eed0c3cea8838c026b39367c6f446a16258906787af9447329ab99e821eba53cb89 -Test: Verify -Message: 91042eb63d47c10f678bec836f98630e13e707b29c98b28d47b1443cf699e97018d4aecfd500440e7f11134c35c982b1d97b86473500691869fadc89974840f7d2ca319045565573a0fb630bc87576a8bff09460d1027a2500e3ab28b2eeb86d995dd1afe3418c76a4c0f5778094d72c9dc04ab4c8947eede6e3c6cf9d83e80c -Signature: a813d89e3de90f1ce1b77a7d6c629e8f83296aefb8bfe1194f914797d08b53fb59cb9186935dc10e -Test: Verify -Message: e644b9a45009da8248611de174b5613dfb4aafc0a772740c38f1ff480bb23e69ecabb5c2380dbfcf37b1093eb8bf4c3feea04a0d8b270cbd1bfb5a46a2487bd279a62e446649e80afb6b502431f6f97544765f4ad13f24282edb8bdb0ab635bc460d1c421314cdcc4c66eaad16b3e078b6a4e48eb21234e62b688c1d7a56e6be -Signature: 4e4fbbd84fc44f0ecd6c163fa292cd96051ca51764fb5626f8ecbd8470faf6ae5d79c731d9a3497e -Test: NotVerify -Message: d30ac577ac767ce6eee34ccfe09f0278f2faf8d28f657cb424ca7f53712b7f040f7eb63643c784ab02771af64405693a8eca4a21ba22ee1b09c189d96c533a0910583e53283e5693ffc076593d7eaf9e79de5ec9002296e2e4cacc15492cc26beb52b5c4f414ca17fd77b6ee6245ad1ccbec8ec2f89c4c81cc9ca0019deeeda3 -Signature: 4ee3704d4bff39aff0efded0930cf28ff7641f089280f1d0e38a186075e91d73a5b1e7d028340fe5 -Test: Verify -Message: 82bb8073af3e53b8ae158f342c4cae3c039dc830703bf0e893dacf5d280284948596bbd0d3a00cf8915f96464693dc328507df9e27607d43c426095b74102c90c494fc24fbaf5a628ef29146e1ce2c684020182f1e00fb338cc6d4f2fd5ed3b739ce7bc89e05f6cf9fe6b88b769558b72c01ab3accb22291e3d5667a3c8532e3 -Signature: 0b0b366b23090265e75752fdcde1a7d76113653246e0da762e25012cceb13859313e469f4dc31680 -Test: Verify -Message: 12da3a70153655976cba8144f67dc21719410fd136aa69ab4cc11df9eaa955005ba0e5140d3955f643d82a6cfc6e7a222376afc1f8309b4dbe1dbdc4a6bcd2f5fc839f9e9020fec967f12768a3c14130b0c529b3b0d682c129f1fd00eeeceac94b7a0046746269ca30fc1171c2ed30f9182416df371436bde63376e49ab2b635 -Signature: b43f325f82eb07dd2cb3a03a022e8c89216e820da743c216ec6eec5bf445f12b2d326d52e38b90ab -Test: Verify -Message: 45a2799fb193f3adbef66b8035318c5f7eb3610dfc64dbd1a84b87c0f082884ed257db1435c4cce38711b30b9dc8f4e5c7d936a7330ee36984b2e172b37d8ec925c401f80ede802305d93d4ae85e56dbf3e20c7b1c0f4216b17238253465893f773f63e3f4bb07846fa781d6cfcea858382658226e3eeff166e306702e1271c9 -Signature: 238f01011e1b3e7d027af353e06e2138f5a40ffd3d7a78d55c95ea3b94ad82b8ed58c308f7db5ef3 -Test: Verify -Message: 6cff32791fa0d15947fdedf67508fee334d1739512e15ce3ecdb5ac17f56c43e2cf51bbb0bc8b06d34e894164a4dc0ff48f3863a902d3716314916e278667de7bb914ea061279d3c36679b57ee56c6f4f7d84fbe830bcb80d6e71ee2cd15a565b00ca3a13972eebfe4b2da3279d966bad8b7a69a0533701873ed4a36951b94b0 -Signature: c9194d5ca3dbb424faae51f66377836a93bc55ab1d481e5eb9663c7033329d82c13af868f4a24efd -Test: Verify -Message: 37a363f2ebaa01fd1ed7902a4804c8fa46845b63d82b947e59a23073c0e97da2d72db113bbcc8d2095a6336197a744d83a923d5eb610134dc1f80d6f8de1e327fce615de26b88db10dea78599f79615aed9b906fabcaa236e8106a180e94077b1c65462c23863a07003b19e858935ad7d9360d6fae717a8f4480fd443c1a21f7 -Signature: 9ca210249d306006ecffd384f87c4dfcb1d466e005d877c2508475bf0074c4c6fffad6e123bd5dab -Test: Verify -Message: d3b14dfc79ab30cae8e40dcda6bafd6434741e6ab1b9e0d2cd4e8d80f10f176aac3126ef61b662772f31fe4d21bc85b99737e961f5c2c9e28a7d02aac27f7a19901529d8163c687997617e509f576890719ae9aab1c3d3e3524b9434c384036655d56d6ef035db06f7eaa68e78843e22981437fc3eb2950bff2e59d54a154b8a -Signature: 30cffe077d2330f111eaff346634237473feb83cc522a5d20c75db7b4c90c4e21583e1cec8e00f29 -Test: NotVerify -Message: 69d5980a58474652bf27388ea6041f9e0fe688ea95f59fa745682c69bcb1c7ea82e75f19a773eb669cff6e4d549b31219b323c1bb62d16a33c65bfdd344feb77706280b229cc51afdc571dfc6495c35f5953c8e1a83d0b1e73cec7cd2b7bca8beb20f4ec18abf2c437073cb20f4b4def00232255a27ff6b3a17b3b50d88fdcbd -Signature: 18eeda64cc75f18f58d43ce6b95eb3918a521bfb40c1745a38f985d294caf2d86879528678881191 -Test: NotVerify -Message: e0ac66b23eabe745886613c4698c79478f484a43f8dc444e7e7ee215a673c29ba56a56b4b41bcfc1962046ad66132d28a6eaf623858f028c71c3cc4bdd34567d54ddd4f0bf9f97dff31e3def7edd1769b39cdbbaf3f28b283e27a5d7fb548cfc04be365ff66f1717b7164e8148210f83cd1951ffda3db89a0062c5af980a3c8e -Signature: 6db33727b795d286a69ddebadd6e09c527bcb1ee596915b6fc950549beed350fda40a4c1f52c6a34 -Test: Verify -Message: f9cec4d6e1f2c2285dfb17d3ec5d16edec0da9b05ad12d62cbcd8f84ab4ba73eb6cad40ab44ad9a079d7f8221c544d89778a6d50df713f5f25bd1a3acdac1f6a8d0fd92c0a971459ce62fb958dc675bc995dc189a3515088b3e9e33f6b54e59978b60b9359712a2954b55883b54b475c4a9ddeb31c0a19b66f6922ebfcdbb0a1 -Signature: 947428406add226d1dd8db3245d00617b152921404ee5ab8d4e840c87d26073cc4d144a0b51e19a5 -Test: Verify -Message: 966d6fa1ea1ae8d344037a48420d6379278133fbc0c25450974fd9105bf988398f652ad373c511c830d2eb02470dc7c63b3865507d0fc3b0994ce4e4a0dae337d55839d99bd14bbf9eba37be412de0e348653815c77acdee4b5d97d646170062c03e35ec3cb8ac73e8b3f6b40ae5c78aa7014383757a8bc4037c881f2727f772 -Signature: 63137ff0730f28235e87cd5122d22a973035869332ec538d5be6e2c9c0db94f3c012ae4abf3af9fd -Test: Verify -Message: 43a8f0b5992db54d1d65acbf72780493d1af881fe95f9f14f61b834f201ac1df16e5f252eb46b845306efc2b5365655d38b71c63155dbf8193e9a48623f64fd19ecf36a4205fb4ad26594bd2e6a81e3cee19aea80147d4ea2fc700c23395b0e411bf3342f050a09c357f114be21925492e2cb58564f5d666010c0f9e09cedc31 -Signature: 1bf8e80c8183d00907ce80e74989d84815db85dd1654a6d49f74c020a83e8bc931a178ce18056f57 -Test: Verify -Message: c4aaf1632b1438752e9790c89cff4773932d3fab0ef710bcaf41794bcf5c0ccac49e1a3c7143dd2b1484e4e74cf6c4006925fd06f9702a8090276e2ad7e41b74d727a3378835c4ba9533efe5727efac4a14d073f4089b418d7ec8526605a8ed0987c65cc85a3471948dc893b254f41b7d0dd36cefafa057d1cc796b58374bfd7 -Signature: 5fa8964b471c76211e2743c4d993e793dfa7239dc84a19bb3fdad2162a8c98a2434c94213f3a163d -Test: Verify -Message: 739d44364282b7bc61c62188d07e0ef12b907960a740f1764ff8ed7981586c04a47ed0ef2b97fc7dcfa6adc508941762cd79c05f8d2aa15d6e037a06c5f676b7d6d40069cddbe4e0fc81aa18578030ed2d22860929cf0f1389d4d5159d762c2f82378b7a2067a73f62efd159b55a91e8c3248438714773f01704b57fffefc7c3 -Signature: 1b61d79c6b33e3c3394fff6efd641405652033690d7219da8475faaabce3e395bc720d70c60e12f0 -Test: Verify -Message: fc205229f11c877b617739d9ac191773c207ac714c5e2a061a917ad2cde4827ec628b5924eb8e19a06b4357a927d920e8171130580e8dfffc06f2ee5a4449a89af12a87faeed963b2291676cf0d72d984c7997f8e207ba96472924a5a0161f21915542a769b33e978b85e7681f20814bfb964d03ccb25404893674cb1954a87d -Signature: 283d55c038d4270e71ae39db618390f17675478b704764d1fe352550054076f4461eb6da6174dd17 -Test: Verify -Message: c343029ce5d70a70251b50cc5e784126dd65e35080940f450d5cf435d567c9ce8a9dd2cd5d5096c55ba95f2f0952f2b33f6490b642942d24259aef7f62e2ea29b4771bee372ca2d5c30c4428850421c1e0cfb2978323068acb1a3d6b5be34550f9a9d416acc3a637141ef8ce09e845e7787f400d7a99120eb5b4d611f8c051db -Signature: 0cdabb09213e0f09cf01e0329bba5661753950fc92e681173a6eb46c02d00224b50ebca62a248faa -Test: Verify -Message: 5e126ef683f3b61a39065574bece4ad82dbf4d34495f40cb899dd2b163717588ddb683795244ac758252a3adde0a0950126e9984d26a96a7e93b72c780ffbf60ac9d5b553cd8d831c1af2a9edef79426d13cd42942d48e204c45f611cadac252e3804f81d8e612c40dd5423e56cdc3d285e1561b31d400acc875b885d73854d5 -Signature: 01dde9613b9ce3c29b3503c19c13f863f27ab71bc0844476b3860ac891f9ce374aea6c24f517b8ab -Test: Verify -Message: f799a6b5a7bf7c32847fc243cbe0166f5244a377c43682c41b75530e6342174fade751e751885d10692e10858b11926ec626788fdfe925b2cd6d625272a13c899ce41e3c3ccc2f84e533ef6088840d9a6e448bf777e415a291c59ddb7b8d3cdcbca9450bde23ab67f0a6952c3bcf3fc944b6140502bc0a6d60983d00f69dcf1e -Signature: 0fc64023e095044c9d2d003a555e2da7aa5daf413896cd4e7ac774ecbaa0e4ece8e8ccfa053ab62e -Test: Verify -Message: ae0424ff8fb19e8842828a3cd51c93e1123e0c4ce9f9fbbc1b326979295be9ad7c6e6783d62b337ef8924e1b95a3f4aa77546a6af0d409e483ff8b89d422958fcdf0860912c47f45a819b36be047f0538a806ea6580bd83990bf99a6f6c2682cf98316c91df69796a80f50639082a093a5b9b139fb1580739a692b0769b47b3d -Signature: 6fbe751842e02a3fc3726a5d8298d1a7adb799a02d897597f4c459d28e9e25cf447b8cdf50001d21 -Test: Verify -Message: fc5837b228cd6c963b52cabd227cf61b5a1e6ccb4baff71ae4f971da7904bce5d94201efb3fc28912bfc9894b87c307a414f8653784e5fbe76056e3d989f51bf990fca68f0813aa36c00646a0e685fd5278fdce1b2af9a83f41726ed5212d82072180bb396339ce235b5a5dadb187b434335e50fb2aa9f829685108260354721 -Signature: 5bb80b35dad17648220dbe980a660effaddd7c43ad3584318e835c355dd7bf2f5510091389c42914 -Test: Verify -Message: 689eec3b665d72447abe64d4ddd79b7b73cd171bd22fa8689395e0a3d9793997205583d449fe912be240246ababb1859a5fdcdf48ce1d9ebb928ec58615503c073ced04ca0306948abf231ddf33e040b3e0ca7eac8816e218b872fa7d1ad67b9f841ab1c85ab52956d0c61a69f18b78ad5317a739dc6c102a2ea82084038bf7c -Signature: 3cb07367288036891a8861931e5b2104734a6e7e70ffaa32a49032b968805dd0bfc9f1989da22b12 -Test: Verify -Message: bc4828ec0810c7a43cbf028dced7a5890803681f86238a28f296aebeffc7f561a4fa5d6c9a595ab7193ab38eceb39fd220601f6ea5739efddffec8b93b7da7a74ba705014376fde4b375e33a844a57ea3583a43f56a55f9745723c4d287b34e82be7d584fb82e98183094b6be6b4052abd05ae6b92d0034d9d8cc550bdd8d27b -Signature: 67b214ed56ba44ced95d3d9e8c25c99331e3e973a3099e524473ccc8d4256f4ff7de9674a369cb57 -Test: Verify -PublicElement: 19b80e6f0132bd24dc0f26acc6a30445c4deb4fe7394440ce1ea0039d9c8137ec962e54b09d4383989baa288129e551e027477965ba1dbca0b6d586e482325f09a0fb16236d7b4ac3a3bb822a7a329aefeb91936f4b8cae38fd1e369db4f3f97421277533724d27e39248de3618a662c4b757cbbea2e3d805116d3e9d0ab3547 -Test: PublicKeyValid -Message: ceba9387e7ba8d55f8010aa2e8ed7de2c8310df67951e1c49c5fad18baf47dbbb571c2d26f779a79b8a564a07d9184252f097432728b0cda080212effcc3052612c8266e6f2bc88e85e6dafd42cab20679bd1b1d9038a27b6b001e0199237e4cbe37d81441ceaeca363d82728d8f9ebe7dc41d6c2b4f3ee19fcfea07e90c8364 -Signature: 84d8e940de14bfb65b8c0e0999e296a1d3c51f18b8bd79c57d826d9d200a6e38e52490722c6ee201 -Test: Verify -Message: 7b9058ef673b23e5b6a3d97784b898e0d912c990449be876b77b768da6443ba95b5fc1849db70e0482a4a1cf901aaf111b129e8dda38c3e2ccd758204a03c18b6d0500aea30b76a48c11dca21b0a82c9ea54c62bdd5bd71bfb8bacba897c3fbf68590f86b191d55c8ec285095ce2899fffb03983845a9eb9fe6f68749a082ddd -Signature: 7d07f3033c1c841466eeb641ad899ee247757ca067ab38f6f698ad0cce5f26517da7bc51b8e630fa -Test: Verify -Message: 2404a0e4c5ff8fa11c40f9932c8bfd3bac118eee53085c8e658cff857eb56b029ffa907876c65054f258a7fd07e01512bfd850df82a02820a65dbafb3a13d9380f01b9c3093ddd64a49044bcc994cf84d30cf602dd84accc4f2a8fc1a8eb55458ed173bc139c0f494aa028c80ade040a0166da50fdecc00a77aad8d16175b7a2 -Signature: 793e491940787f4e76495575616901c1c77d023342569cb8bc96efcfbc9746b3f51c31e29b221b02 -Test: Verify -Message: 5c311c167d2e3ebc19fbf7ab1c619d8ac1611152527a953d2137eaecc6fdaed79c13f4fa76f224bea7cf162531676a3a4c0a2ab81beba3f9aaa681222b122a8d724a5c77aef60aeb69df73eec3b384eceb157063dee88dce64dd72d4473b4fb2d6ee8de59bd3a61d5843465e48dea37894991aaa130a0b9246f3f659940ed61c -Signature: 7f76e9d084a9afd5c390271261b316cbd1095e710d1b7e4503188c99b8a8d851b130ad240e31f0c3 -Test: NotVerify -Message: 9dc221be2ab612b2ce6c7fc8b739af7fe740e9601f3201d3094a2444a488e076f52c7727ec7665e5949d2f307f0e6ed171e71c7a4cb21f9f3c661494239b5de7470e6d003a5553f80ae385b6aa3fef50a0803ca1f10d64264a93761e6f47a8e2e95e9c82ecc9f5a186361a930e434ab5cc05e10ce5b9e9218bc9e41b6203d81e -Signature: 332a2daa48681410763f13c3b127516c861bf1f187504d8b3bb1bd11ecbf9a9821f18466c10f1859 -Test: Verify -Message: e4354b9c9bd98d62fe629486b6856c96f34d2fa2460200c5c25746f454d32a065f8153049bdbe1b32ff4a8600de6aeeb8f7be7174f1f2f114c06893e3a9997492927596d5bc92a005f96f8417209c36316af59d9f41450e4eff0445b8a8e52ba7d7ed56e927b6060c59ffcc09bc5a313c33ffc80ecba5957e56deee2fc895471 -Signature: 65c2fd8a2635d6942b4b833682b29637eff64d80ac5ba18491bdc26d1c34d70a2c4b680900347d1d -Test: Verify -Message: a090ca3eecf8677a7699f42b16428445a3cbe74981efd6436d66620185469e959b9c8c0dbb464672fa136dff821ed7a2db6874b97bb5810691a9f1f30f22180df6d89abae633943ee56c08ee6fe88eb3bfd139c25df7c899e8e60e3d2647a3b3497cccbd8477a9d7cfdb9d71f657036ee83f0fdc3e6b01f60a559157e36e9781 -Signature: 19b4876e4043fe5f5a58e70b1560b0942ff4fdba842266a6653a6aa1550b91f4ba85a3b676a3659b -Test: Verify -Message: 8e2ecbfb35ae99dd004f2305cb2fe98c81edcccc13372e86b98f4e526d5dde4da43ae6fd4f7cdd8812fd0516c43107832767cf49e95faaaddb0e9f2a70ad0b1b790880ac1f05df022172b3a94f14d13f47ee2e5f70cf01d0341f19ef82ea805a832e51de9b61d7a3a346e89665f280175919a0e59f9e69463d5b757a9a2d7662 -Signature: 6d67367aa1caef2722c125a30e9e08ef7dad05a015893ec3c395c35d81944fe2db2a660e4e60913e -Test: Verify -Message: 6d3ba912c4bc10feb611e15965fe814bb2d5e5de67705a1ca46e8e6a8cb2e3243018f57abb7a698bdfe3f9c08012bd6aa033bc9f8bd9b351433f24b12ec0a3c3fe945c42e1cce9b6eb9153d4c099661686ea3a9b0ad3ff4131280800a2bd1b8ab125f7218fac27b8b092064d7d8a13863c73788a3c56d52344a051113ea1e3b1 -Signature: c56d1aa9f30790bec01fc07e5816fc6f44ab659898a959ecb061b4347e7f2be6f2df97ba33043a00 -Test: Verify -Message: cf2010dec81c60bbe408df2bf20f465d259a5a8d2f7920ce9c566318705c69950423f1281edf713f50ca8eda93cedbdc2378d6929d192081573efd7500520cc6799247edf3323e4849cd902aa013aa273daec49ea6741887fcd4657e987aa511e5450a467e6c3f7088ebdc3451342ad729141aca81e3807843f0944e712bab0c -Signature: a6640671721cb21d86265e30cabbc09ba20cf6081b4a5c7928ab3a53d4e291bf6049e8bf8418f6d6 -Test: Verify -Message: 4b00e4324ff7fbeb0fc48a6c83de82d52da1bcd1eb6669cffbe2bd824fc1d7971383f4b67d96d5bcd4b56e36c480d021e05d58e0788e197f9e93882773c267e1b725f38f919451289b143633316ed687fb131041b930d7064e0de47a10ac9a014f9e39b5232847a87b973c5b63e16d7f957d3aea43847cdd24092975bdb5496f -Signature: ab2f5b0d5237ec1b7e6297700a7c06647a526cb069c8162c513100008fe0dc37d4a8c9639ac94cb0 -Test: Verify -Message: 20f18b1eb4ccf98fa68c10d680f1536bd5c7c3307cb13ede0e3717afa213f74dc8b8f4fbc324ef020ce7335e03744baaf8a824495a9964d63ea00ace13a9467ca4ba9b264fc2337684a4822b81841f004c51dfdcf193333cfd77c4de3a184db0ad10b8f8ce3f7cc407da369470b88647c8d92d43b73864e942d37f388ff7c3c0 -Signature: ae23d943a56fc60ef381a2a5c056d24e472e9e906e4af1bcc91a27800b99b7cbbae8d4fc303ada82 -Test: Verify -Message: c9db3284c5b9a283f38da98655485939d5662045b325ccae3207df72838a1660f22634364f8814fe9f0eeeaa0483e9efea1ce25f74b37bca264268d6d3a3f6dcc986dc063cb347a7f08220db2b97a060dae317b302d8f86e6aec29e287518af0a8f2c32d62b153363ee0d650a2fe9744fdb3567a370e5a5458fdbbce770de953 -Signature: 06bd46f7ec091697c86e82497dc184139a988e3b9adee67ce3d87d739871fb1cdcef9dc6de421615 -Test: Verify -Message: e2e5fc81619b215141e12ea9544184e5ebabcb3834e96dbad2464fb5be7bd22c5dda0aade2be3d59e732a03147e04da33f3c8854c4f23330278e8fb0e76b356bd7de54e071a22c827987cb05d65708e8ac09bd43be2948d304874443881f84bd874852b1c421e6e52f3929bdb77eabcd6c68e29dda66a4bba189e807596fb93b -Signature: c86708f91828158b1c129e48ccc6adfdccf4997e8eb2214c24fd4bf4edd8ac1f3411d77ec65321c2 -Test: Verify -Message: b9a5127b9995a063f3422d3069a4b22ff9b7816e01ceeb3f933733f1fc11b3ca8f694d49b79c159a3ce93c59d555408befc452dabd54071181fd43d8196863b1cc0caa32568fee84335c841c298068b919cbb19e06233412662b7815a916da6408c501af8f2885196ed3dbf17cdf84af0c047632f5f4ca39dcfaa81fc5d370db -Signature: 0461b5dfdcfa1f9be6e7528478e2785903f0b8990f2354209554aeedd246d231567b06c5f81e0842 -Test: Verify -Message: 38da1e2a517a87304f85291a67e7a7ea0e637e797fa1a122707b58ac10845b7d44da2afe232eaf49b011171ad781edf4aab47992dc2358927eda5d5df9ffa75a4da2035389c484278aaa60b1f7630ef97d979e9a48935873c2929892904ee95dc9c7610279533c2256e7bcb9c1a4405100a5a367ba08d81db43bc322cb885adf -Signature: 3e7f697603dd770218ff55f027a8fc980763b6b9bbe84a766e0e55fc7c23e4f734d28f67fd73e14c -Test: Verify -Message: e431f4fc91ec6111098c5de4532c76bdd3ab9a42e92c6c10e7ccc69539a38f31cffdbe8dcedaaf3b78a3a68f592fa1bcb4f663332d94bd38b8811fc7c10f60a69da5cacb303a6af0e0159675bac3bf76e459782d43ebc7896c4dac0fd009f0f224a0306e0f06296a1858454ecee06722394bf4e88129223adda68528bf87d74c -Signature: 2b2111694dd96095c76bd18fbce8f720ddcffe6c8d9c194e880b0abfa44bcaee6b97addc84c519de -Test: NotVerify -Message: 2f3e3407e1c3e585d3f87ecdf8ee45321c8d46ed84410565c7e282c1ece573acc5c2bd688ba53416bb5894433070bfb782b7397b9edae229a653f2780b993a07e887996aa20bbd73be101bc203ad318fd18efbb7c0a3b4057c08cfc3e03535825167c0255d4ef73495f80c60a8fd1352c1ec85b822f6f59201da10baa310dbb2 -Signature: 88ed45212439c0cb86f513026b72002cdae6317544b95fcf4dd1eeaf460edb6f5891080272a3b31c -Test: Verify -Message: b3b7c629f3f5e85b35f7b95d9757a8dd980a2acc68fd9f1b74ee82af328cd5a62ad2ccce45a1b8625a9c3706f6499a066c6597cb1e88309f0afae3a298d4130ca25bb6a5c5994181e73dd00109b59a074e8a95794cfb65f993dd8be27cb2cb863409dea709155933f391dd4466d38058562f7ccd8c8f17a02850d267775fd58c -Signature: b2101fe80d5d71592eae972be0cb7f67e0fc2950bf60fb12b91a1a63d9f4747c1d92d2712cc33300 -Test: Verify -Message: cbf84e9aefa950d9c997dcb571a50e25c09c7ba40e730a1c28e112109621b4090b057b442c3e339a86ea07afc95fde5f4a37f765b99cc34e1fd5039d1b1122405d74d5336360f17273058c25da2b5807633f3c181a9d3483421d6ad294e09550bb5c93bf0ca6423b8affa46e1aa232f603cd8113a90e13958ad080057925c612 -Signature: bb80dfc840147d79654ed993f5266da74985e2225e7f5d61266fb1caa2deb06fa3bebd930122cfe4 -Test: Verify -Message: 3f1ba8edcc9ff1dfe2c25c860202f927af2188fe5bde071b8fef797c5f42f96c0d75001bfc94f37ed912f06a040adaec45b6a3ebac30d901c96974960d67de3f80c34456a5621cdaab73f788d5a9893b2bbaf68162185f7f09efad07f6609df7f0fb0cd59e8284a8b0dd08194c591dcbbb2519f7540fb04ca97bbc06f1a44d4d -Signature: 06c8b4f82b1e5429a07857ad5a1753f1d7cb43b345bd935a1f203ca2e69fcbd2321b295b1ed3c2a2 -Test: Verify -Message: d0b56cf1a2bf4845544090bc5440efaf864b8ba6205a03e5cbffac3af8d50d067f28988a7fe0ab7472b3c7aa8f8b0f5664350432b44c80168f65f0bfb07cd6e11b9f7e70f7d9ff2ca961766b33047f2bcbd0f458bf02e95a8932e8e22ebd69f6dc73953bc3823d8333a21597f8833546f374d1aefa5438c9f1be0b3c2970c05d -Signature: 035b9d105cbcce5d24fc186ff52ca07663ca774e057e6de4f5cba8df8b24cbd361df4878c6ebd3c8 -Test: Verify -Message: 82f8b357919acf5ac548e01bbe97782acc131a157d1b616364ff6dd32c5993d1dea9453a6f343e518e1ef301abc636554b632d368cdc7363f3ec8cb67e768e95e6260eb7354a491989ef9440274005b0c31b63ac0ef54c3081efa52d6939470433a8e745fa9346a94ff39b4e47ba3d31cb7495f11c1c44c2a54190b0055a1416 -Signature: a4e3cd2cbd2151d2033d0a56fa7d388af1e050efbc23bdd5fd17061234244d0a9511b84525e719bc -Test: Verify -Message: 5e5dc7a9fad7608fa377eee0d126a5377bfc0b9c11cd19b3b7f88f25c36c984f78fb9f2a05e3707bb99a933b88dae649c4ed794e143aaff1b911923d02b3764f0da5d244bf375b61064f62854e7b6fcc42371f85c57b3b562f891aaeccf5396c93f518cd23ea579b032f12941b2279186e71b4181aa7f63b91f7df51194718fd -Signature: a96a7dffb16216ec93857df38b10fc73c4792e61055a3d5c2aea3e5193113b7d0bfd81f6c3b0d01c -Test: NotVerify -Message: 9f8215298027d29e4128e75b86e6343bdebfd7f0f60bf417ff57c49a5ce1e14b9154d0be68c5cf6765ede1f56ca818eeb1af228be19217d68ef98202e01cad0b7a7f328eabf3bfebd6ca2999245ab4c968b4a13e52a6f96cd8ef99d0e1c17f8f347d5352a1aa39616e36d6fe04f1a104db476cc0a33e3210b4b022bab7c9ed0f -Signature: 7956b42cf6762bfa1d84425dbde83554a598caeb6e3298db6c225befa59a9840faab00f16b662ca5 -Test: Verify -Message: c196e14d01a2abd6dc046801d766e076cae2539afa2ab5597af92c35c4bbcd8f9378923503069f2dec6fb6c17ba1f7cc1355dd4363417607c881e2e9e5430ffe80b2b326a0258ad7e589d22f270c043a530cd480823f6bd35a23e357aaa804d2411c3d360f58e66c7f29b56314017e5942df2f698f7c0b56eab727964b4222a2 -Signature: caee28fd1cc548ceeb7141e3255c6043751425f2c344e1ddfe08ee2d42ae77391ed03f9baa195aef -Test: Verify -Message: 7d8df5288388272a7473d757c078a6de15994fe827c215d0bf2f6aa50701e1e2141c566cb5445bcd7b78e6b0098d399c9d0f12f5df541530eae276569803ebbc13a7d101997a9d488f4686b7c98b7130185c1c4f157c8fa42ebac032ee8a852891e5c0dec862c513c9950f659aa824129f39c5ee63735ba4a36f9e31a1cd889d -Signature: 75bb8dd4118b861c56c6a56bf00f194b9296bb677ea7ca4f5cda2855253f880473d5aaa8196c39b3 -Test: Verify -Message: fca73579a6d91eabb3401ed9b9145c2bc94a7066a85eba514a62046a95485bca536c2a5678659828970d253c9fce805fda30ab5527a0514a7783677b867b0325dbf979ae0303bc120947f3913a615a9717695ceb9ac1ef1cae1d2f29e9d33e6f8c655bd8bd4c41420307c22e0365a4aa790fbc80795849a0e84993cb36e8c482 -Signature: bb488822df803c1b8b424169ebc82e4638af6d567a7d2adfeaff0861631adc4c602a95a7ea8a0c00 -Test: Verify -Message: 2e5dd807911f65df6c7b71c9727137156df8fe02af3c1e19bb1d51cb35e43d4e07483eb5d5a1784ea46b1d41c6fefc66088c4b661f5bb5165044a710606dd893bb43179de8ba59472cc902617d20744eab2cd621ca4e26f8e2578299da47b24ca247faf8a0e41f815e8eb8617150b785acd1376a868c8878c94c799e7debe530 -Signature: 02bd342623b4f7cadbd88af72c8ccfb29f85042d4d2d6853d6a7769f2ed879fbed85cc6c7440fcd3 -Test: Verify -Message: fd149580b4d7b1e3799006d6c37974de79658e074d2d1cf4585ed124f7204986e569464099642cbde21cbaf5c16d0a01872dccde2f96bf81fef7711c599b37b0e6fa6fd3e71ff5c4d359e4ac36258e37cb5bbe53d7992d48c8ed42f90fc60e793a1d88d156e00510849ffb94da79f7987d49dcfffc0e5d60ef98bd52d07ac6f9 -Signature: 52c97e4fd456b9a2141afde95fc0ebf4ee2a509f274e31f5a6ee2730194eb09532d7c12583b2413f -Test: Verify -Message: d1197e08ba9f4654452e42783e664e3c7ad5cd9de2565149c0aa8d5a49547d576cb9d369da79a5da560856d33e91c2565b0cae7ae59e6ee7da31d891815469b93954b621879c168e5f4a8e84b313fd3d3a5989eb828b493039bc33dab88749e3d12200a9dac0f16afa2dc303b3a557e9b0f53668d1d5381b748477ad07a573ce -Signature: 41b31f1faac06a781ce424ab9ec6cff44f1e015bc7237a3019af5d73774a0b60345b6ed2293b7fa3 -Test: Verify -Message: 78cb9e8764eae88cc7bcfecb525617286955348da2e9c0958124677a7285334108c0ee2475d0b3404940d6806fb5f7c965c06166bbe3a9b7cfe18316c74be80acf4766af95a4c765011ce6b839e8cd90d58a139a60d675f60f42b421c570ae2647fac001bb7d5b5367e8e44da806d2d6324a03ff87db5ea9b9e0af75630dbfed -Signature: 62a367ef341b27a22c1ecb52dcfc34180902479129796872ce1b0cdbb678fcb0df10b1f37da5ac9f -Test: Verify -Message: f0e673b363e13da716f3288bf4b4993d6ff109e72a28529ce9453a2eb69b3d5256249ff7ebfdb3e3ea1d659040550e46c08d7979d03d3165552a0ee8db63ffa0097b19454508e148a35cd6ad14834226cc7d4371f3bc14f391e1a196b3b44be0e361f854c7fa5f0d18299399c635cd1469387e86eb9f947e74e20dee9785ba4a -Signature: bd8054b1502e66908555110fc569ac6ddccdea0285a04c81b9ed46ff160a26eedfeb4a8255147239 -Test: NotVerify -Message: dcbaca556bcbfcc70d2164b348b037467071dc423c11a549aad8d06716ddbee49668724899a84daebf96084efb29f246e7bb6ca967bba2ca82948bca7dde246039c4e8e8cfb593af694f197d6488e164a41f46c8364250b02d81af4cb6f2f9c67da6254d454c4860c3248e58bb277c395d7564bae2fe299263753405f972b7af -Signature: cc52d6498a412d0b801d243e37a0291644135294bb91fd182f3458c59e60725b21436a401d534497 -Test: Verify -Message: 901bc4215934ede2f6835d615c38953a95cd48bc09a249a30edcb412b37f5cd4c9ca75d433d383da706382886614579471a97647acaed5377f511241697fe0c90f42b735865abca8dd1beefcef86930267abe2fd143ef25c6f79e2b86a314a0e7b3ce23ee90271c35661f9b58ec721fc8f8ae2d6d88b768cf70c7e704dce721b -Signature: 69fe1c37cddc2db194719f80d9db24c60618f5e99cda4d645d1be7c3c4ba192c5d8606dc9c2cdc61 -Test: Verify -Message: e524024ea5f5ef7baaf30efbfadbffd9ca00ccd03d91c23a612e8d3c67ab933023239253c4417cb0d5cb934c7370c193d0d23a03e8d75417832da6766c1c605df090eb4a9966c1ea2cf68e45e0e28828e11f0bd305417ae4ce0b5283a0378fcf438243899cfb75ffa88e383cbacc0c6ef5fd7a970c68ea7839e1c8bb7c94d760 -Signature: 41bfc6a00915f9a7e24e0d4a7a1220aa0c0f3127b0286f8333c9b002a4acba9673717ffb09368caa -Test: Verify -PublicElement: 1dd203bc368c505fafbc02d560b4b9f003d93be0f78a11fe60e94c406890ce920be3fab9d9ffe84b80f3fdb9071dc602d7c8165fb62e346847b3918d450b3dcccb4bcff0ab98e3052ae36d1a65caa37c7187bb620c5147870ef676091f5199be871dce4fcda065da9f3568fa70edd637450acaa7e42f128b6a3a0519d86784d4 -Test: PublicKeyValid -Message: 691699d5c945a8508a41c3c83f768406a904e3bcad75c75e76becc40e67857f0435fd8d61f0b5f0b88ee6276718fcd2d60064b0b5ab7d48d0c5377f23b0c69936d174f80d968c95c8ca93f7bde7cef3914f2379e574c202fd5f12c1735af62774136970acfd2fefdf068f20e5cb403e31dc140ad7caac5fd298f84e6aeda5855 -Signature: 9c2687d271c475a3ca252997642f12c2494e6e1612ca7c28dcebefb178a72071de741a27699cbb58 -Test: Verify -Message: ad15c247a6d92417670bb015e2c56b2170d449feaea127d898600517e37d88639f43b0f80ecfd52cbf34e83deff0e860208fa308fb9eaf7463d2a87cdb79ab9c1a221341ed8973544dc5d405c0b530d9f5a72ff69a4b20af81d83b4bf47c151b560a65bbfbdff6a74915ec020fec3ba325746462458072a12ac8351de75dbef7 -Signature: 3edf3214d7492ead518c21641cdeeaf11955cf2c9fd41dd6990a3d93b5b996dc65b4480102910be6 -Test: Verify -Message: fe8aa91c3ff17c55cfeb6ca7d7934f00e1ea15bb63b4fb9d8a94f410486b559ea1eebfb131865289026c0f7e8d058e780e7be2ac0d9dca9929f91942283868ad3cbafa9c9872ef8a3303ade9dc1c8b9b7f11c0afb6ba8b5d9391a444ac07e4e2682730548a6eab50fbe91c60dc909d61cce2853b76c398e25f926e8def8f2136 -Signature: 454f59ad954b584350b19484ee93f3fac35e5a21025acec86b4d2cedb998a838f9c3d801acf7ff52 -Test: Verify -Message: 53bd313ad31f55de5bf21a35c1a6291bca8e6e0b206736489726884da107c1770fd273f10a707fe051af70d0b5521b5fd25d75280f9fb5f2d880aa1a1b0c5e3e0140ec2bee959f09bccb4cc633f7f2c0ccd08fb6a73645f0ca04aeae9c177ccea19f55c277a5eeb212dd66ed34aee5963080758bdf452099e34a4bdf1b405280 -Signature: 7408d817a92cce7b17409ca4a522ee8d2a05bc6ab21cfaa6c48819dde84f86090139f18c389ec906 -Test: Verify -Message: 8d67b965319d7ea31ecc8f7538b0042c8175e4de45b0eb7d869b9e3aaa918d1964cae8d5e05846f63261b131009ef5006f152a824c137f957c6c4a31a6f64d081e444b5c159fcc20004b2c5245f8ea982d862f1906fd9d9f98cd5beaca425e57954bf9b22a6ca8585f00199160b47c2c93410c5ccb69ded3b135ea1d706d573e -Signature: 3c2251163492bf6e777793020a5010959d84a258b28ebc211aeffb54f4f99500f88cf0b2eee180ca -Test: NotVerify -Message: 8fa0b50bd675f973a529cb90f5a7be4302794ed969f31dda80a16e0ef6efe2d1ac177399d350aec5463535a82a7374d6c4b7a3ae9ad7fd28cd3f3fe0b69e6363c0d29eba861297352d5bea7a031cddcd582561a29dcd4c60bc63d678b7d751a683a92d8727132c5c1172e11db8fb6fc2789b80cdaa2e841b03e52ced2ff12632 -Signature: 4d6e667824358fe066bf44377146bf2f5f2d92d2adc0aa673fc3912c3ae67bf8d0c529fb1c25776d -Test: Verify -Message: 17aeab19d1ee54e4aaaa66144a82f1a348dc53f8f1fa9d1b575c44389e580c5883f8315b2d14d83838b1b679009800f12b3a92c179c4638ad07e28f4836a475fe21900e908d0d6a0e0dc44097a339ed18d4c45d24c400f496e22f556789bffb54dca6dbbf95b2794bae667bb508aa4bb86cac22401a779d049ff035715250ad1 -Signature: 570867e6fd129769612e82d31a833ddfbb9a07833815df754b1db1c729e7a85fa4bee867dbcd42ce -Test: Verify -Message: cbdcecd18c9984a189ddd576261b6aebaf3030639731cd79ef7a3faa2af4b9420fa6bb84ff7f701d69624ccb8b73e6496ba1137f157444e81618224339ab687d81c300de67436173556028bd62eff59850f1896dc3611d9cc43c052476d28695174df4383a7f107c43f0a0a4232750af5539c98719900f6ef0fe20a65802cb60 -Signature: bed7f5866b9ec24dc7f0ec818262aa7a2197926c314a353cfdb5d11c7e57685ddc0c1863b7915521 -Test: Verify -Message: e8cac9ce0ef12933d72bb5ec654590ae24739b0b378f75d32293d3acb85902ef4791b9c603032484b0072f45944210c79ca21787cd9dba1feea5dcdf74ef5dabae66e81531eaf9bb86ce2de21390ce5347da9f760abae4ad641eb5f46c9385b6733feef2721cbf8eb27748fbbaa8e40b7d13c80fc55f0c35daf6f82078bd90c9 -Signature: 35dc7ce798a62cf86653c31306ee9dc5a8ffef2a8c086ebe25b001f990e5f511f780ad9d7eeed027 -Test: Verify -Message: 95f01262b79dfb8fc98a0217a661456a8b97042d6dd524499daae53a9a70e096377c44dcee8a528083671634dce0677820eb21640f14a2b4a22b8316e32c98b10f6f2af6e91073aa61a15b34660f722408d22e05d359666567b50e225c8434f655203c46620958279c914bb1fbc65e897ba4a2a96f7c697325a0fff6bb50ae7f -Signature: 9e75e572e76eca4859c954248a01d31921da32e371ecee37eb40aa9c13ca2e65961359e4466e9e72 -Test: Verify -Message: 64414cf10d118df7436add5cbd54ba23e8af55f7f79d44a22b1369ce64ba21fce90cb1c274acee4981062d07d9276ab859debca30814f90b5969a5f3bd1120176ced102775ed0d4604a58cc3f42e0e179540891fbf8d179a1760dde6a1763ef7861d4298288b41e66481d30a2620fd36330b94e333bff649fe2fea1e28a3d493 -Signature: 212c24985e37ee89e71cbe6d6012b89fa181db569227db91fc0b6f557f377e380cc56c271f7cb77f -Test: Verify -Message: 8dcf3f1d21a4d1e15238b6db0e89798e66cc62b60e7d0eee15a550a2e56b47387ddec07aee02cd471418a77a9733c21b22f82ec5e1b4365741a533dfe382b1c3e24cc6314659aecac89eab8ac93c1cfb8d4edc9abcf2de891b95067786844acd32b0091b21c2abc2e65f7be29bbdc1862066230e954c3edd1a0e8044c68a49af -Signature: 7add75db81ef8d210f6dad09da3d11381324430bc473f003495c0288a42fd93957dfa5321bdc3d82 -Test: Verify -Message: 0ee654428677f6fd59e6cdcd1406dae8f753dcbca966a88e1db8ab5abf9bbde6e47528287040f8dac93f865cfd023fca2f9dba5d4725fa07da6b004a57fc955a73595573d773007c096afddd9987309e8c78fdc10dca9de053aca00bcde3c3dc9508f5dc1409a41bf1e04c0a408d429ce85abe9d554f285260f3a4527b46e0a4 -Signature: ccfd740744131a05fbfebb26edf96572d3475d6441c042287c109e0aaa4e9db694d074889cb55dfc -Test: Verify -Message: 1a21fb1ded7d167c9a590c8bfc4abc10ab1aab159476b834d9d91e24ebb8aa84e5ee3ee72c6b87214519fbd2f70f1630a2fad519dec7735857966237e8db8d46f6d6cd6b0f36aa2bc4095337c4e7e03a3a60c6e268a29b2d846f0cf6d33e1cbf04b09fc1cf37f631ce010cd59b2b91c82b2376896b5ea94b193c1278e438ce87 -Signature: a07b8566ada6bbd54b5fc36b4a3b698cbf60c1ee912a5197ba6e98bd4777a884d6bc66022020de8f -Test: Verify -Message: ffc7c4abcca3dae4c21b311e6fb51da2262e53dd491ed515d6cd216d34549a1c40f836ea93c36aec17645380c949258bd0fbd9f2bfb9135727585115615a5a7e9a4ee6541f678a86eb60e72c6e8f14c4a04848af4675cce784732002a42f6c6c25812be108c8132956c74718f6c0c0c5adcff80a7689d93c05d5e62c960aa95e -Signature: 60b09ca0f393d3398635c5075d114429b6cdc8bcc7e66888f49148be9a9f96edc5014b106de6afe6 -Test: Verify -Message: 88fb1d5c4fe552db3d7213c906f74702fc102d41cfe636138ac123fbcbce5fe743319fd36e4eb8bc9355c0c7fe0c69b27de19a7c182f4e5016d0b2b82de57aff08e284e7ffdcb18c1217009826cbeba9843706ff8fe9d66ac64bf073fa7253cad02307f07927f625b1d10994f6cd87bd0b2aac23acab8638934a1485ab0ea11e -Signature: a4e8a3e21168f000ced52e3a35573fb6ba82eaa164813969ad388163d2cb861f472e7cbee985e0e1 -Test: Verify -Message: 4593c65d5e569a3d1369a916c8e6d4f541080dc192e7e51447745056d5b7bc1c404852c00e0d8b406d32f75ca06e4aecaf74a87f4fb7323a0f63d1efc598427c38e963670f15bcb7fa0451151f05a724c747141d49954caf37562916c8c4ba7a866c908a38e7445912d74d781b240055e078e8d457f9492b1646ef03b5b43ccd -Signature: 8c8e17b621fc67bbf36704f2356e7755d960fce3a52357c84b778376dcca9f92c91b9be575daf7b0 -Test: Verify -Message: 6180fb71de61a23cbe0d4383386e0170da515bbd67512b41ef03e0bc2d63fbdf257fc89ffe625fbb1d43da8c84efd80d6974322a1a0ffd4d1158c02753acf7bc0edbc8b2721304dacf0d6100f176f6efb9a0f8c8fd69b385a16cccc9f667b5ea52ed7141f14c8ab10cc1507638db532f012d232fc6384700d7977b39ce6c2f82 -Signature: 4156c005b5e099e4cae1d24a4ef35ae0749e4cdeade8929a74ef00f4f57e18c864ae6a376d8bdb55 -Test: Verify -Message: e52be63c5733b8e9860af61ee50f73e7f679522cd72f31af10ec93469c938e5b35d0b7a1e4f14b18c9039f442831caa9b659908b22ef92e4e617b4a54ffecf32ca7a981872e2d011d72fae3a11538a9306d9cbb7f8bf12de5291a710b3c625ab3b5f621816bea1ca48c4fb78b82f0b9b7e32d92a71560994ec9145ffe1a4e7c0 -Signature: b07e9d17a45cc2ceeb1fde1299ba0d6b3bcbe7dcc50e823d12ae5d86972fc6e21d499d38120d7638 -Test: Verify -Message: 1b223eeb3cebfc1575b37c5eba339ca55ab86c9300a64fcfe94d4f6467f1c06f9714190d5f060f84abb0f3b0e89d4db0c04abad218af03bd480d7fdd9afaab1405ab079e2a82334590d84ac71c0c7f85d4ccf76dd5a3e62992c4ec894f15b22edd7fc0789775a2b29dc33c7d5099697a0ed7db3b2f9b2f6c40084f3e7e590d15 -Signature: 199d5f32d2645a1d46ef1cb3ecb15a34eab59b9a8c3cbf5810966097bb9c280e812c22ac298e156a -Test: Verify -Message: 7296f7fd229c0893a84a5b7ee87a034416e5ae1edf1e7416d6c9df5f20213cf564aa2175ed32403f220e6aca2893e747d5d3f579d8999ed427a7bfd5aa2f55a1258f0be16b5102dcc163e0d790931baa504e87a3b1991ea00b501067089f0b498fbeccf8f4f1e7a55fbfd35d7a7239a55fcf7d55c0178eb2583eebcf936af626 -Signature: 5e2044f956599ab077c91e0f9f9408dfd3c458c61fe6edfab105b1f711919c0b43bbb7557252b193 -Test: Verify -Message: 7279097dcfe09b8615d3275b713dced645da08ef435fe783c5e888676fa3daad07bb933594886f78b6f4ab914530c28d2e9967f48ae5c398ff92f09d5c90b6c9702d850d2b42b355f89cf68d5aad25f4c5742ba5bfaa4c62372e9ca425b3bce164a8d81dcc67deb494a20066e60b6da3c4434b191a06f87c249482950362658e -Signature: c2b345d1c28a149215db60952dac2854103f0260bd4994a0b35394474ab82958d7ceb406f6285f4c -Test: Verify -Message: 7c9b50842db0de693441a2c13323de1369e251c07cd49c41877ff69b672d142642ce53805a0e28cd11b7ca313c491e8facd7e382fa241e9d93ffc8df05dcb67a89b4cac6d01e587f12aedb47558ed958fb5b14898f43f284d15c2f46ff47c1d866050b4c2a1947fa52df2dfc172ce9e86d273ccdd368f070584f82c8eea60bb7 -Signature: 363c61fe40b4c0a4f06908df5c46d8a9c98dee71cd1c56f8d7a16c081712cb1b8c92cfd00464a3e7 -Test: Verify -Message: 0bf43670b5fe01cb48e75a19b519f324451ccbb3d85d8ef15c41311b906aca6efb48ad5027e4cdbd23e951f538f47564ea1da4d133c6d4cbfba32151db0aadc1137db703c975faf58471481ae93f677fb48a2ceffaa5d6579d97ad7c1067dbdb4da98ae01349404c659777e04093804f9b7b9a63a5934e6e3a340df4a7180d96 -Signature: bbefc869907609019f4a85294aa854961e51c4884c235f4cdf85c4c3e0ff34069183ebf0ef50bb9f -Test: Verify -Message: 419ff761987d7257a0bc8817abb4077986972726e6ac93f311cab67ac91747fa7d021871b37f1bf8b082b55e6bbf4709b1a0fa099986cc7d2b44d82b4cd9ea5bec6e43f47490a9da6aafb38767d753e83bada47a5eacf6a59aa11758f665e4e6e7db1121b22a35b5253b19c7767542ce7bb7bcb10c972922b6da0b3aa1334e56 -Signature: 29becc5afb5ea31a71b4169b91f9594d0819de2d409e4c0c3bfe8e2ea53e98dc1ad4a72f3e3081b9 -Test: NotVerify -Message: 31c4c31942471dd6583810807472b62ce7cbbddbac7de47f08d7bb4b6024973f5adcd3f4380a4ea571fd227f9133a22a53829698fc88ba0dfa55746fbe58d6d0d687d43a4fd3c7ba4acb21afdd8f72542df89c8cc90553ee4989d8112713f619dd1e3d82407a7d2c1cfa87a8115f20c1ad84454ecbcca6382bc95dc6532eef31 -Signature: 3c999e56f7ba49e48cb72c76bb7848d4562aa96dbb8c5a3adc19533b00cb2a421fa107b0b956452d -Test: Verify -Message: 64a5d78514c2e26b011e7bca8ae480a2770cb50b03bb6fac29db817c30fb6bb87a68c225898ddb885288bb62c70e43f19f8198646850d15dd08ee5ad30d6d34b595e1395a4593dcb3493f8c98e4825055d454dc87f4249b1537e3067469c869e9cbda24d7cdf602d3f760876fa497fd5498facb15f492d9f4be23c238d05dbaa -Signature: c3a0e8c6df40bb4d672d2438f4f770c141054f1e0b6cd25a0f9d0de138d6c8eb028ae0b23dbd2720 -Test: Verify -Message: c4d9d647a62a699ce00ac9c55b2197a796fd1e8e2120f2d75a50cadf671a9c2c74a8f7db2ec5a549802e81058d1c95f6ee0e78c92ddce79e82f9a3f3cc088ad0d3a2f934bd6661c0ce4327a26402c2c432171036bca8f8da13df464ed36dc31f5a5f942b4a25d55741e07673d8ec556adaae9caec69f5ee387996dca72617e71 -Signature: 1145693d535af4e7b13ed5801c2539db279007dca94800d15c4f2d184c71cf793feab7e46c52121b -Test: Verify -Message: 9981198067ce9d394f53f1233ee06b86075ed7d61142c04f3e54fdcf1ea280f454bf5b76494113c6107a2ae89a76e78e1b356876bc2aeb0582f459257e5b145b368e022d539bdab38d2fae7cd490baa4c1d86b333c74b3b86edd8c25e995cbee1664275ddfd489399eea969746277b00d0c0f8c5e919b09eda88af89b7473ce2 -Signature: 57f2c2fd72f077ef67ceaf46d99753bf796a4712a018b08a786d4c40136256ac0a8618db7dd1eb28 -Test: Verify -Message: bfcbe3e18f4423b9f21b33fadb4763c2e4221126f11b6c79099e6bd9714008000a2fc249edda520144dcacf16c2e3929488e540ee82a03a65c92f723d2dcc6aff61967778bf8eefa46b98a94eb55bc45aaecd9c7bc6fc3d13a8ee4a53de46be03c61cb82a2f8703cae8bc4fa901362b1c2149a6aa440258f5b6a2a76ebae712c -Signature: 5c141ab2f4ee5a513c4ee7e9a5e770f294859b1f6551d44ed78029dbbebe181a73e2726f1b553022 -Test: Verify -Message: 839331e55e6928503c36c0530394dea50f46f78d7bd8fea1ae7894c02a136b4e91b3fbaff91869067196b42fd32e22fbcdf0eaab2b9023af6747ec9f73eddd7bc555ae1fa4e8260ab2844750ba97b8ddbc7773ec3705afc6b68310c09eb20d6f362fa22ef71038d316bad1ae500678c2f594e847386e7c60b6e157194499d4a4 -Signature: 0ad3d7f5ea209ad35ba4a0a17e16483c50f5e4953a692ea71730d7c5c4c13feed38ed90759aa2e86 -Test: Verify -Message: d4fdc830db8cef7540b6b3ab242cfe3bb59004a3f3c61b60a37cda1890fc7108093249ae98f9dcb7ffaad62b79e76dd72fa4fdfbf878e8355523aeadac5f4882c5ecc97583d638d5e309a8aa3a189925ab4a9348e7e601d129c14b6d7005381bff4383dd13bcbba6e4ec6081df583bfe229afee237aa1d0e156eecb05485f9a9 -Signature: 189c08e378bc9feb81891706f80a9fcd1f10725564e3814342937391e39f8830eaed6702b8579e3d -Test: NotVerify -Message: 3fb043ac04c26a1d06fa3f3638e0ab0a218b5a74c36243f4ce1278c606d02b44f1d1027ec6069c17931c6463adb495be5de08e2fc8de583e1f187513085bebd04d579130c4589a607e445f1e33d57110ee17df67f524c4b4fb1f150a896fa955aa3d8afbd6307bb12168c99fa4b957b72c29e45222aca00dba1eefe460827d8c -Signature: 65ab093718776e0b945e5fa24014468ee40422b3688c00beb21593dd4785c90b350e9471a5dff538 -Test: Verify -Message: 155f0682c1d481571fd2d93a6bd70e5e2a6fee3702270f03d7b40d9c2c65057eb8c6521448968747d5ebac49e5a4be9f270f616d49dce8061d4287b4ed6fd7c41c368bd6fef47163f9c3ac8fdce330317f657e209c19a2c1eeba6ace8858e86877072a609cc638c2c3b24fa3086c5d2d6cc7bde8b3b6344b80762c83b4f73082 -Signature: 90e0b86567a2b176a74a817d52009c2bb553eb9ac3694f997c5f70ca3936b6d57f1908868ffc7518 -Test: Verify -Message: 4b03e4a77dd910d51e6c170faa228f3d5c258c96bc44cc986a0d244629292ca62ff8277aab6d353e982bbc62c1e113c815e371812d0916c41ccdb83076a03043a38c651b6511796ba83933c18afdadf6abdc3ef6b6baaab230f6896280d0f50040f97801c37c3456e7cd54a31c2eb3bfb54bcc6c6e0de2583fc270536071d3d3 -Signature: 999adeab789df72dab3c86e115140d0dbb4905adbebe59a1995fbc73fc678a8ca89d7b6cb644569f -Test: Verify -Message: a59d6636f5dc1fbe82ec2df71a90657f5ccbbcf1af6e69157de03b45b42e3c227f53877942c96770d450b1f500fd64683e877e87aece219a56ace7e19d01823b07f9981733a1dea012aa7324697c7fc68a7e0c654fa524cb573b2c1a84f18074b52850eac17cbba7b4932a5e4d24eef1b84b1d62880ba9fff824c2ca63186f26 -Signature: 30f81281e18c995d53f02e6d04eb988bb0b8bd3f1af1a7c8447c704f06d7379dae2ccf95ec13edd9 -Test: NotVerify - -AlgorithmType: Signature -Name: DSA/SHA-224 -Source: http://csrc.nist.gov/groups/ST/toolkit/documents/Examples/DSA2_All.pdf -KeyFormat: Component -Modulus: C196BA05 AC29E1F9 C3C72D56 DFFC6154 A033F147 7AC88EC3 7F09BE6C 5BB95F51 C296DD20 D1A28A06 7CCC4D43 16A4BD1D CA55ED10 66D438C3 5AEBAABF 57E7DAE4 28782A95 ECA1C143 DB701FD4 8533A3C1 8F0FE235 57EA7AE6 19ECACC7 E0B51652 A8776D02 A425567D ED36EABD 90CA33A1 E8D988F0 BBB92D02 D1D20290 113BB562 CE1FC856 EEB7CDD9 2D33EEA6 F410859B 179E7E78 9A8F75F6 45FAE2E1 36D252BF FAFF8952 8945C1AB E705A38D BC2D364A ADE99BE0 D0AAD82E 53201214 96DC65B3 930E3804 7294FF87 7831A16D 5228418D E8AB275D 7D75651C EFED65F7 8AFC3EA7 FE4D79B3 5F62A040 2A111759 9ADAC7B2 69A59F35 3CF450E6 982D3B17 02D9CA83 -SubgroupOrder: 90EAF4D1 AF0708B1 B612FF35 E0A2997E B9E9D263 C9CE6595 28945C0D -SubgroupGenerator: A59A749A 11242C58 C894E9E5 A91804E8 FA0AC64B 56288F8D 47D51B1E DC4D6544 4FECA011 1D78F35F C9FDD4CB 1F1B79A3 BA9CBEE8 3A3F8110 12503C81 17F98E50 48B089E3 87AF6949 BF8784EB D9EF4587 6F2E6A5A 495BE64B 6E770409 494B7FEE 1DBB1E4B 2BC2A53D 4F893D41 8B715959 2E4FFFDF 6969E91D 770DAEBD 0B5CB14C 00AD68EC 7DC1E574 5EA55C70 6C4A1C5C 88964E34 D09DEB75 3AD418C1 AD0F4FDF D049A955 E5D78491 C0B7A2F1 575A008C CD727AB3 76DB6E69 5515B05B D412F5B8 C2F4C77E E10DA48A BD53F5DD 498927EE 7B692BBB CDA2FB23 A516C5B4 533D7398 0B2A3B60 E384ED20 0AE21B40 D273651A D6060C13 D97FD69A A13C5611 A51B9085 -PrivateExponent: 00D0F09E D3E2568F 6CADF922 4117DA2A EC5A4300 E009DE13 66023E17 -PublicElement: 70035C9A 3B225B25 8F16741F 3941FBF0 6F3D056C D7BD8646 04CBB5EE 9DD85304 EE8E8E4A BD5E9032 11DDF25C E1490755 10ACE166 970AFDC7 DF552B72 44F342FA 02F7A621 405B7549 09D757F9 7290E1FE 5036E904 CF593446 0C046D95 659821E1 597ED9F2 B1F0E208 63A6BBD0 CE74DACB A5D8C68A 90B29C21 57CDEDB8 2EC12B81 EE3068F9 BF5F7F34 6ECA41ED 174CCCD7 D154FA4F 42F80FFE 1BF46AE9 D8125DEB 5B4BA08A 72BDD865 96DBEDDC 9550FDD6 50C58F5A E5133509 A702F79A 31ECB490 F7A3C558 1631F7C5 BE4FF7F9 E9F27FA3 90E47347 AD118350 9FED6FCF 198BA9A7 1AB3335B 4F38BE8D 15496A00 B6DC2263 E20A5F6B 662320A3 A1EC033A A61E3B68 -Test: KeyPairValidAndConsistent -Message: "abc" -Signature: 4400138D 05F9639C AF54A583 CAAF25D2 B76D0C3E AD752CE1 7DBC85FE 874D4F12 CB13B617 32D39844 5698CFA9 D92381D9 38AA57EE 2C9327B3 -Test: Verify -Signature: 5400138D 05F9639C AF54A583 CAAF25D2 B76D0C3E AD752CE1 7DBC85FE 874D4F12 CB13B617 32D39844 5698CFA9 D92381D9 38AA57EE 2C9327B3 -Test: NotVerify -ModulusSize: 2048 -SlowTest: 1 -Test: GenerateKey - -AlgorithmType: Signature -Name: DSA/SHA-256 -Source: http://csrc.nist.gov/groups/ST/toolkit/documents/Examples/DSA2_All.pdf -KeyFormat: Component -Modulus: F56C2A7D 366E3EBD EAA1891F D2A0D099 436438A6 73FED4D7 5F594959 CFFEBCA7 BE0FC72E 4FE67D91 D801CBA0 693AC4ED 9E411B41 D19E2FD1 699C4390 AD27D94C 69C0B143 F1DC8893 2CFE2310 C8864120 47BD9B1C 7A67F8A2 59091326 27F51A0C 866877E6 72E55534 2BDF9355 347DBD43 B47156B2 C20BAD9D 2B071BC2 FDCF9757 F75C168C 5D9FC431 31BE162A 0756D1BD EC2CA0EB 0E3B018A 8B38D3EF 2487782A EB9FBF99 D8B30499 C55E4F61 E5C7DCEE 2A2BB55B D7F75FCD F00E48F2 E8356BDB 59D86114 028F67B8 E07B1277 44778AFF 1CF1399A 4D679D92 FDE7D941 C5C85C5D 7BFF91BA 69F9489D 531D1EBF A727CFDA 651390F8 021719FA 9F7216CE B177BD75 -SubgroupOrder: C24ED361 870B61E0 D367F008 F99F8A1F 75525889 C89DB1B6 73C45AF5 867CB467 -SubgroupGenerator: 8DC6CC81 4CAE4A1C 05A3E186 A6FE27EA BA8CDB13 3FDCE14A 963A92E8 09790CBA 096EAA26 140550C1 29FA2B98 C16E8423 6AA33BF9 19CD6F58 7E048C52 666576DB 6E925C6C BE9B9EC5 C16020F9 A44C9F1C 8F7A8E61 1C1F6EC2 513EA6AA 0B8D0F72 FED73CA3 7DF240DB 57BBB274 31D61869 7B9E771B 0B301D5D F0595542 5061A30D C6D33BB6 D2A32BD0 A75A0A71 D2184F50 6372ABF8 4A56AEEE A8EB693B F29A6403 45FA1298 A16E8542 1B2208D0 0068A5A4 2915F82C F0B858C8 FA39D43D 704B6927 E0B2F916 304E86FB 6A1B487F 07D8139E 428BB096 C6D67A76 EC0B8D4E F274B8A2 CF556D27 9AD267CC EF5AF477 AFED029F 485B5597 739F5D02 40F67C2D 948A6279 -PrivateExponent: 0CAF2EF5 47EC49C4 F3A6FE6D F4223A17 4D01F2C1 15D49A6F 73437C29 A2A8458C -PublicElement: 2828003D 7C747199 143C370F DD07A286 1524514A CC57F63F 80C38C20 87C6B795 B62DE1C2 24BF8D1D 1424E60C E3F5AE3F 76C754A2 464AF292 286D873A 7A30B7EA CBBC75AA FDE7191D 9157598C DB0B60E0 C5AA3F6E BE425500 C611957D BF5ED354 90714A42 811FDCDE B19AF2AB 30BEADFF 2907931C EE7F3B55 532CFFAE B371F84F 01347630 EB227A41 9B1F3F55 8BC8A509 D64A765D 8987D493 B007C441 2C297CAF 41566E26 FAEE4751 37EC781A 0DC088A2 6C8804A9 8C23140E 7C936281 864B9957 1EE95C41 6AA38CEE BB41FDBF F1EB1D1D C97B63CE 13552576 27C8B0FD 840DDB20 ED35BE92 F08C49AE A5613957 D7E5C7A6 D5A5834B 4CB069E0 831753EC F65BA02B -Test: KeyPairValidAndConsistent -Message: "abc" -Signature: 315C875D CD4850E9 48B8AC42 824E9483 A32D5BA5 ABE0681B 9B9448D4 44F2BE3C 89718D12 E54A8D9E D066E4A5 5F7ED5A2 229CD23B 9A3CEE78 F83ED6AA 61F6BCB9 -Test: Verify -Signature: 415C875D CD4850E9 48B8AC42 824E9483 A32D5BA5 ABE0681B 9B9448D4 44F2BE3C 89718D12 E54A8D9E D066E4A5 5F7ED5A2 229CD23B 9A3CEE78 F83ED6AA 61F6BCB9 -Test: NotVerify -ModulusSize: 2048 -SubgroupOrderSize: 256 -SlowTest: 1 -Test: GenerateKey - -AlgorithmType: Signature -Name: DSA/SHA-256 -Source: http://csrc.nist.gov/groups/ST/toolkit/documents/Examples/DSA2_All.pdf -KeyFormat: Component -Modulus: 90066455 B5CFC38F 9CAA4A48 B4281F29 2C260FEE F01FD610 37E56258 A7795A1C 7AD46076 982CE6BB 956936C6 AB4DCFE0 5E678458 6940CA54 4B9B2140 E1EB523F 009D20A7 E7880E4E 5BFA690F 1B9004A2 7811CD99 04AF7042 0EEFD6EA 11EF7DA1 29F58835 FF56B89F AA637BC9 AC2EFAAB 90340222 9F491D8D 3485261C D068699B 6BA58A1D DBBEF6DB 51E8FE34 E8A78E54 2D7BA351 C21EA8D8 F1D29F5D 5D159394 87E27F44 16B0CA63 2C59EFD1 B1EB6651 1A5A0FBF 615B766C 5862D0BD 8A3FE7A0 E0DA0FB2 FE1FCB19 E8F9996A 8EA0FCCD E5381752 38FC8B0E E6F29AF7 F642773E BE8CD540 2415A014 51A84047 6B2FCEB0 E388D30D 4B376C37 FE401C2A 2C2F941D AD179C54 0C1C8CE0 30D460C4 D983BE9A B0B20F69 144C1AE1 3F9383EA 1C08504F B0BF3215 03EFE434 88310DD8 DC77EC5B 8349B8BF E97C2C56 0EA878DE 87C11E3D 597F1FEA 742D73EE C7F37BE4 3949EF1A 0D15C3F3 E3FC0A83 35617055 AC91328E C22B50FC 15B941D3 D1624CD8 8BC25F3E 941FDDC6 20068958 1BFEC416 B4B2CB73 -SubgroupOrder: CFA0478A 54717B08 CE64805B 76E5B142 49A77A48 38469DF7 F7DC987E FCCFB11D -SubgroupGenerator: 5E5CBA99 2E0A680D 885EB903 AEA78E4A 45A46910 3D448EDE 3B7ACCC5 4D521E37 F84A4BDD 5B06B097 0CC2D2BB B715F7B8 2846F9A0 C393914C 792E6A92 3E2117AB 805276A9 75AADB52 61D91673 EA9AAFFE ECBFA618 3DFCB5D3 B7332AA1 9275AFA1 F8EC0B60 FB6F66CC 23AE4870 791D5982 AAD1AA94 85FD8F4A 60126FEB 2CF05DB8 A7F0F09B 3397F393 7F2E90B9 E5B9C9B6 EFEF642B C48351C4 6FB171B9 BFA9EF17 A961CE96 C7E7A7CC 3D3D03DF AD1078BA 21DA4251 98F07D24 81622BCE 45969D9C 4D6063D7 2AB7A0F0 8B2F49A7 CC6AF335 E08C4720 E31476B6 7299E231 F8BD90B3 9AC3AE3B E0C6B6CA CEF8289A 2E2873D5 8E51E029 CAFBD55E 6841489A B66B5B4B 9BA6E2F7 84660896 AFF387D9 2844CCB8 B6947549 6DE19DA2 E58259B0 90489AC8 E62363CD F82CFD8E F2A427AB CD65750B 506F56DD E3B98856 7A88126B 914D7828 E2B63A6D 7ED0747E C59E0E0A 23CE7D8A 74C1D2C2 A7AFB6A2 9799620F 00E11C33 787F7DED 3B30E1A2 2D09F1FB DA1ABBBF BF25CAE0 5A13F812 E34563F9 9410E73B -PrivateExponent: 3ABC1587 297CE7B9 EA1AD665 1CF2BC4D 7F92ED25 CABC8553 F567D1B4 0EBB8764 -PublicElement: 8B891C86 92D3DE87 5879390F 2698B26F BECCA6B0 75535DCE 6B0C8625 77F9FA0D EF6074E7 A7624121 224A5958 96ABD4CD A56B2CEF B942E025 D2A4282F FAA98A48 CDB47E1A 6FCB5CFB 393EF35A F9DF9131 02BB303C 2B5C36C3 F8FC04ED 7B8B69FE FE0CF3E1 FC05CFA7 13B3435B 2656E913 BA8874AE A9F93600 6AEB448B CD005D18 EC3562A3 3D04CF25 C8D3D698 44343442 FA3DB7DE 618C5E2D A064573E 61E6D558 1BFB694A 23AC87FD 5B52D62E 954E1376 DB8DDB52 4FFC0D46 9DF97879 2EE44173 8E5DB05A 7DC43E94 C11A2E7A 4FBE3830 71FA36D2 A7EC8A93 88FE1C4F 79888A99 D3B61056 97C2556B 79BB4D7E 781CEBB3 D4866AD8 25A5E830 84607228 9FDBC941 FA679CA8 2F5F78B7 461B2404 DB883D21 5F4E0676 CF549395 0AC55916 97BFEA8D 1EE6EC01 6B89BA51 CAFB5F9C 84C989FA 117375E9 4578F28B E0B34CE0 545DA462 66FD77F6 2D8F2CEE 92AB7701 2AFEBC11 008985A8 21CD2D97 8C7E6FE7 499D1AAF 8DE632C2 1BB48CA5 CBF9F310 98FD3FD3 854C49A6 5D920174 4AACE540 354974F9 -Test: KeyPairValidAndConsistent -Message: "abc" -Signature: 5F184E64 5A38BE8F B4A6871B 6503A9D1 2924C7AB E04B7141 0066C2EC A6E3BE3E 91EB0C7B A3D4B9B6 0B825C3D 9F2CADA8 A2C9D772 3267B033 CBCDCF88 03DB9C18 -Test: Verify -Signature: 5F184E64 5A38BE8F B4A6871B 6503A9D1 2924C7AB E04B7141 0066C2EC A6E3BE3E 91EB0C7B A3D4B9B6 0B825C3D 9F2CADA8 A2C9D772 3267B033 CBCDCF88 03DB9C19 -Test: NotVerify -ModulusSize: 3072 -SlowTest: 1 -Test: GenerateKey +AlgorithmType: Signature +Name: DSA/SHA-1 +ModulusSize: 1024 +Test: GenerateKey +Source: sent by CygnaCom during Crypto++ 5.0 FIPS 140-2 evaluation +KeyFormat: Component +Modulus: 8fbb9edf2fd2834b1a9fe97c25999fbc381ae165d932aa521592c2cdcb4318bfb99a2408f118ea874b73704e2cc557fc89a01ecfb5bc412951e86613b0b2fad2389e81ef42f79705fcdc87a9b9dcb1afb44c37d971aeffc1c859be367457ea19d71f22bcaa29752f15242f59b295125e9e01ab582887fa869e4b0f4a308167a7 +SubgroupOrder: cd6c675f1d22c771e7f59020ca0e94078950df9b +SubgroupGenerator: 7b473ffda9ed6e10f85177ac05f43ec666dc6d42310151053ae83369de9f9b331232cbc83bef31166e19b111e46e57703fc6666ac9a571ff053e18f3c2fbc4c2f32521750a941981a55379a2fe13bc78c6a3787f44dea397af63a7ce432704657feb57295ab9711ac7070ca5b7344bcaaedfd8bbddecd8de9c67e7cffa2fa20d +PublicElement: 64f31bc4d5b42622b41326361fb0d67f9feb364b34be67f6b2e4dc1f928fc70e6fe42cd9cd6ce3dc40113e7b4742d4af6fbe04d962adc5238d4d95b7bb67f0ec6592e966517d0a34137a45dc82ebe282c904750e1aa31b62c919b250d4d8ef922b0b0574cb2ccf1b451d7facd075e77fa532626602b32fee6fb334e1c2911388 +Test: PublicKeyValid +Message: 699c4211bcba049ac8d73c37fc3d02241f70b8ccbd6a1225d813664bcd043660847dfba3dca434cf5600afb60036171ea402bfdc3279ae2f6b7deb5fd0810a96ca7ff7ff1a36021d84a92b6db7d4b03f80b1d5d2306cf3af4be2c448725fedd09399cd5d4fe8853cabc84895fb91e4400c7591e691bafa5cd0398a3c8d18f8c5 +Signature: c0aa11b2571acf6fb78dd85148d97ae04877ea1a05d27ab73783ba4efa3a4b7f110cc44c7ba2c842 +Test: Verify +Message: f5373216e55156d66524e39dd8a345cc519edd8cee2b7cdb755222d42ef8f843000e8b69cffa4b0c154543c3bf871b804a904b5e1ed8a1ad2a29f63bc28b2ce5b5706c5fb2219e40dd682951ad7fed1709397d9ea36fa18894ad0c57391e5af74db54d8f479d4989f6e40de05b63b4a9c7f0ebe535c87485ea36dcbf4b897890 +Signature: 33e28ca5be57567a880c52451ec72f27d25b6e26c38216900ef17f0c307fd7614b399ff5febfd7e6 +Test: Verify +Message: 92fe48a60045104207970b674f800f67cabbba0dbc8d1d120b64a4ddc9b149800003f9efbd6446825ff84fae21d4ed00e61d1f5b4562b872d53b4788ba2247677091889fd75ddd017f52075b3610e275d025ce4c366c608eb2a64a567a5688287ae2cd3066e72db701dc0ce6a7eb46bf210c9f59aa646e5c3ddd86bc210665ba +Signature: 95616a85b6d9ff3c9af7264cbbf8b9cdb71404eec47fa7c91291fb93ddd8b0327df74cfae6698e0d +Test: Verify +Message: 18b8baa09b84cf8ec77a1d34d68b0971fa71016ad5b71838350ce9d114c8aa34d0bf8fd9a747615876845f58b2fb55bba757fb08f176901838b7b7042f87924fcf2a1c50d1c7cce36ab768514b0f277cd86b0a4fa7fe7c653cd729f803751b0d8f8f1cde121d47871caaf0f598deb70c0447e718f0671576ba04f68488ab80c5 +Signature: 23c6fde5fd9a2478d99c3abaa61363d90b2c161e847be181af07276e376ce4f76db56dfc3a1f2425 +Test: Verify +Message: 598660449d62f60b1e0581b0c493803d3ba5cb49a5c5d5917f2a41d6d1b6a8f69a2ea94e7bb8334fa29a0f5ffa32b1f291313fe9491ce32ac3044e8188848db77afd10f17a0ef84b5b56a1b5076d700df021de7ebaeec51827c0eab042ecccfacf6bace5f35add3820b04e6a443e55c632ecbec05032149182d52e1a57e4fef8 +Signature: 2c07790afcaf89768f1d1492345510d937e65bca5621811e1b705651a861be1f88f52090036cc1ce +Test: Verify +Message: e37395964c3c1f7b37c99c2f56070cf9672de2f7cf63bc6778ae6532e81f09baa23cb7e5c2af1c6ad32e7e5bf4aaf7f42cbbf4a20a4bed578182660d02f22799db04b8b2cfa31f41f727ddebd88326ddc6b361d77860e07cedd6e1d87e28c53244a28f14ad6fa099598cb1f73bec114ceded21ad53fa0d6d7482ccaa951a5b1e +Signature: 58697e6dad83ddfe43817e5534535ecd78a985d3928e271212165dec4e76c8025d531ee84ba8caf3 +Test: Verify +Message: 24976d350993351696b33cf2db5440303d5a722cc2d25eeb9ccf1e20f57ec060fa8bf4a22ab9fafbe0bdcb971f5b86fb9ec41e79142e42f4c6b58dd54e71ef4eadd95cce9458b3c5ef2df19ab38896e9e9e35801fb9e079e3fdec0e3c1a7559b5638fdb1dea738edd9bd06f12d144873366f76bc0f5a83621f030d42e857cac0 +Signature: 7488f2ca5fe2bec2c7a83e73407411c9e89bf8cd594d4a03a736423ebd913c2b98a21e445bdf70f6 +Test: NotVerify +Message: 430cde2feba0256295b6366211252174a29c9bd2b8e6db8fe97fb9ce35580a247be8364a37741b077e9f275d3b34b1f2ab3397c2171b1e04d177065972aced3c5201e6a648ef5900a3ab1e4f69f2d59bcf1488a0f84485b8f21e7508ef7ac1eac070269b97ac9726fef3539012f647450557a6c2d4fac685448d3e32235a3e06 +Signature: 7500d2fe4b2943b4da93490d3bac5c344bb18eb550975ead0e461ec33485e11714b4ceab478644b0 +Test: Verify +Message: 81bd412f4f9c8f8b7885d9fec9b013be8246d4284121dc9c2fbfe59a6987af1db141463855cf96ef6031325800b961f2378a6a46c65722bc565ab3c0e993ae15814354790fa8217a9efa9a98c0a6599c39c95638ebf077e0010f5be860bf63df4abc032a559e47e58bd8a9f6e3ee1173e0fb2d378762f4bf87d4764aa483e631 +Signature: 37cb9d9adb92a7e74365f9e4c4857a88a6fabd200d955dc76333b0ea9c1b2f05fee9117c79b10d09 +Test: Verify +Message: 84652beae6fec221ab800bf6303f17a47a84278a1274a2b11f40569bc58ff34ebe28c5a138e4b1c7eed4731989ae1728397db5038f8970c59e84b16353f8a1b411ede5c290de9e50f7de9fab3807f1b6ad238530f09e384900ac0c6591b6a530b30b03e2a8c47ed4fff80744f5219e650cce0eaaed8bf0547b0edf3a39a3f8d9 +Signature: 194a79f399087d977a29a3eab308670b7b133acf4e8b43068639e0e5e37d7ed305e32b85e30a0a22 +Test: Verify +Message: 9cdf6e966c37794c7b3dd6234e76d715099128caff3d03917a4a96a2c703b19386cab41830f5b8ffe9e9fd6b88759450e4714d2f6298e413bca267cc13a5ea6c38ae6fff379b0f8e253b6e562ca95f45d4e6d3b694b6076e99bdeed7d5d9dc7b4bc275c49ae0d5f2c86c015d51cb8eed702790d7ad50c59aa8d203392456dfba +Signature: 7b427233d9e49dbfd8ff2a7814dd99cbd4533d67155696b215d593d5ac3989c8927850601c0d453d +Test: Verify +Message: df577c9f2370b362f86a928e40106d7b0a511d5d8ec619776b82d57e1f195b4bc7f328c619d2490e9fa2b6ed3681ef7cc60fd51343f7cb74e5be0d37a3cb5078f6b89bc0ccd86532ca09f0f7c6bbe5eb85413088b1571e131ef5b6063e5355bfe23d8d6733993f24f036f682ead7871fbd7fe796d0ff4dae90be88c4e8c9a276 +Signature: 39a7efc692685eed0c3cea8838c026b39367c6f446a16258906787af9447329ab99e821eba53cb89 +Test: Verify +Message: 91042eb63d47c10f678bec836f98630e13e707b29c98b28d47b1443cf699e97018d4aecfd500440e7f11134c35c982b1d97b86473500691869fadc89974840f7d2ca319045565573a0fb630bc87576a8bff09460d1027a2500e3ab28b2eeb86d995dd1afe3418c76a4c0f5778094d72c9dc04ab4c8947eede6e3c6cf9d83e80c +Signature: a813d89e3de90f1ce1b77a7d6c629e8f83296aefb8bfe1194f914797d08b53fb59cb9186935dc10e +Test: Verify +Message: e644b9a45009da8248611de174b5613dfb4aafc0a772740c38f1ff480bb23e69ecabb5c2380dbfcf37b1093eb8bf4c3feea04a0d8b270cbd1bfb5a46a2487bd279a62e446649e80afb6b502431f6f97544765f4ad13f24282edb8bdb0ab635bc460d1c421314cdcc4c66eaad16b3e078b6a4e48eb21234e62b688c1d7a56e6be +Signature: 4e4fbbd84fc44f0ecd6c163fa292cd96051ca51764fb5626f8ecbd8470faf6ae5d79c731d9a3497e +Test: NotVerify +Message: d30ac577ac767ce6eee34ccfe09f0278f2faf8d28f657cb424ca7f53712b7f040f7eb63643c784ab02771af64405693a8eca4a21ba22ee1b09c189d96c533a0910583e53283e5693ffc076593d7eaf9e79de5ec9002296e2e4cacc15492cc26beb52b5c4f414ca17fd77b6ee6245ad1ccbec8ec2f89c4c81cc9ca0019deeeda3 +Signature: 4ee3704d4bff39aff0efded0930cf28ff7641f089280f1d0e38a186075e91d73a5b1e7d028340fe5 +Test: Verify +Message: 82bb8073af3e53b8ae158f342c4cae3c039dc830703bf0e893dacf5d280284948596bbd0d3a00cf8915f96464693dc328507df9e27607d43c426095b74102c90c494fc24fbaf5a628ef29146e1ce2c684020182f1e00fb338cc6d4f2fd5ed3b739ce7bc89e05f6cf9fe6b88b769558b72c01ab3accb22291e3d5667a3c8532e3 +Signature: 0b0b366b23090265e75752fdcde1a7d76113653246e0da762e25012cceb13859313e469f4dc31680 +Test: Verify +Message: 12da3a70153655976cba8144f67dc21719410fd136aa69ab4cc11df9eaa955005ba0e5140d3955f643d82a6cfc6e7a222376afc1f8309b4dbe1dbdc4a6bcd2f5fc839f9e9020fec967f12768a3c14130b0c529b3b0d682c129f1fd00eeeceac94b7a0046746269ca30fc1171c2ed30f9182416df371436bde63376e49ab2b635 +Signature: b43f325f82eb07dd2cb3a03a022e8c89216e820da743c216ec6eec5bf445f12b2d326d52e38b90ab +Test: Verify +Message: 45a2799fb193f3adbef66b8035318c5f7eb3610dfc64dbd1a84b87c0f082884ed257db1435c4cce38711b30b9dc8f4e5c7d936a7330ee36984b2e172b37d8ec925c401f80ede802305d93d4ae85e56dbf3e20c7b1c0f4216b17238253465893f773f63e3f4bb07846fa781d6cfcea858382658226e3eeff166e306702e1271c9 +Signature: 238f01011e1b3e7d027af353e06e2138f5a40ffd3d7a78d55c95ea3b94ad82b8ed58c308f7db5ef3 +Test: Verify +Message: 6cff32791fa0d15947fdedf67508fee334d1739512e15ce3ecdb5ac17f56c43e2cf51bbb0bc8b06d34e894164a4dc0ff48f3863a902d3716314916e278667de7bb914ea061279d3c36679b57ee56c6f4f7d84fbe830bcb80d6e71ee2cd15a565b00ca3a13972eebfe4b2da3279d966bad8b7a69a0533701873ed4a36951b94b0 +Signature: c9194d5ca3dbb424faae51f66377836a93bc55ab1d481e5eb9663c7033329d82c13af868f4a24efd +Test: Verify +Message: 37a363f2ebaa01fd1ed7902a4804c8fa46845b63d82b947e59a23073c0e97da2d72db113bbcc8d2095a6336197a744d83a923d5eb610134dc1f80d6f8de1e327fce615de26b88db10dea78599f79615aed9b906fabcaa236e8106a180e94077b1c65462c23863a07003b19e858935ad7d9360d6fae717a8f4480fd443c1a21f7 +Signature: 9ca210249d306006ecffd384f87c4dfcb1d466e005d877c2508475bf0074c4c6fffad6e123bd5dab +Test: Verify +Message: d3b14dfc79ab30cae8e40dcda6bafd6434741e6ab1b9e0d2cd4e8d80f10f176aac3126ef61b662772f31fe4d21bc85b99737e961f5c2c9e28a7d02aac27f7a19901529d8163c687997617e509f576890719ae9aab1c3d3e3524b9434c384036655d56d6ef035db06f7eaa68e78843e22981437fc3eb2950bff2e59d54a154b8a +Signature: 30cffe077d2330f111eaff346634237473feb83cc522a5d20c75db7b4c90c4e21583e1cec8e00f29 +Test: NotVerify +Message: 69d5980a58474652bf27388ea6041f9e0fe688ea95f59fa745682c69bcb1c7ea82e75f19a773eb669cff6e4d549b31219b323c1bb62d16a33c65bfdd344feb77706280b229cc51afdc571dfc6495c35f5953c8e1a83d0b1e73cec7cd2b7bca8beb20f4ec18abf2c437073cb20f4b4def00232255a27ff6b3a17b3b50d88fdcbd +Signature: 18eeda64cc75f18f58d43ce6b95eb3918a521bfb40c1745a38f985d294caf2d86879528678881191 +Test: NotVerify +Message: e0ac66b23eabe745886613c4698c79478f484a43f8dc444e7e7ee215a673c29ba56a56b4b41bcfc1962046ad66132d28a6eaf623858f028c71c3cc4bdd34567d54ddd4f0bf9f97dff31e3def7edd1769b39cdbbaf3f28b283e27a5d7fb548cfc04be365ff66f1717b7164e8148210f83cd1951ffda3db89a0062c5af980a3c8e +Signature: 6db33727b795d286a69ddebadd6e09c527bcb1ee596915b6fc950549beed350fda40a4c1f52c6a34 +Test: Verify +Message: f9cec4d6e1f2c2285dfb17d3ec5d16edec0da9b05ad12d62cbcd8f84ab4ba73eb6cad40ab44ad9a079d7f8221c544d89778a6d50df713f5f25bd1a3acdac1f6a8d0fd92c0a971459ce62fb958dc675bc995dc189a3515088b3e9e33f6b54e59978b60b9359712a2954b55883b54b475c4a9ddeb31c0a19b66f6922ebfcdbb0a1 +Signature: 947428406add226d1dd8db3245d00617b152921404ee5ab8d4e840c87d26073cc4d144a0b51e19a5 +Test: Verify +Message: 966d6fa1ea1ae8d344037a48420d6379278133fbc0c25450974fd9105bf988398f652ad373c511c830d2eb02470dc7c63b3865507d0fc3b0994ce4e4a0dae337d55839d99bd14bbf9eba37be412de0e348653815c77acdee4b5d97d646170062c03e35ec3cb8ac73e8b3f6b40ae5c78aa7014383757a8bc4037c881f2727f772 +Signature: 63137ff0730f28235e87cd5122d22a973035869332ec538d5be6e2c9c0db94f3c012ae4abf3af9fd +Test: Verify +Message: 43a8f0b5992db54d1d65acbf72780493d1af881fe95f9f14f61b834f201ac1df16e5f252eb46b845306efc2b5365655d38b71c63155dbf8193e9a48623f64fd19ecf36a4205fb4ad26594bd2e6a81e3cee19aea80147d4ea2fc700c23395b0e411bf3342f050a09c357f114be21925492e2cb58564f5d666010c0f9e09cedc31 +Signature: 1bf8e80c8183d00907ce80e74989d84815db85dd1654a6d49f74c020a83e8bc931a178ce18056f57 +Test: Verify +Message: c4aaf1632b1438752e9790c89cff4773932d3fab0ef710bcaf41794bcf5c0ccac49e1a3c7143dd2b1484e4e74cf6c4006925fd06f9702a8090276e2ad7e41b74d727a3378835c4ba9533efe5727efac4a14d073f4089b418d7ec8526605a8ed0987c65cc85a3471948dc893b254f41b7d0dd36cefafa057d1cc796b58374bfd7 +Signature: 5fa8964b471c76211e2743c4d993e793dfa7239dc84a19bb3fdad2162a8c98a2434c94213f3a163d +Test: Verify +Message: 739d44364282b7bc61c62188d07e0ef12b907960a740f1764ff8ed7981586c04a47ed0ef2b97fc7dcfa6adc508941762cd79c05f8d2aa15d6e037a06c5f676b7d6d40069cddbe4e0fc81aa18578030ed2d22860929cf0f1389d4d5159d762c2f82378b7a2067a73f62efd159b55a91e8c3248438714773f01704b57fffefc7c3 +Signature: 1b61d79c6b33e3c3394fff6efd641405652033690d7219da8475faaabce3e395bc720d70c60e12f0 +Test: Verify +Message: fc205229f11c877b617739d9ac191773c207ac714c5e2a061a917ad2cde4827ec628b5924eb8e19a06b4357a927d920e8171130580e8dfffc06f2ee5a4449a89af12a87faeed963b2291676cf0d72d984c7997f8e207ba96472924a5a0161f21915542a769b33e978b85e7681f20814bfb964d03ccb25404893674cb1954a87d +Signature: 283d55c038d4270e71ae39db618390f17675478b704764d1fe352550054076f4461eb6da6174dd17 +Test: Verify +Message: c343029ce5d70a70251b50cc5e784126dd65e35080940f450d5cf435d567c9ce8a9dd2cd5d5096c55ba95f2f0952f2b33f6490b642942d24259aef7f62e2ea29b4771bee372ca2d5c30c4428850421c1e0cfb2978323068acb1a3d6b5be34550f9a9d416acc3a637141ef8ce09e845e7787f400d7a99120eb5b4d611f8c051db +Signature: 0cdabb09213e0f09cf01e0329bba5661753950fc92e681173a6eb46c02d00224b50ebca62a248faa +Test: Verify +Message: 5e126ef683f3b61a39065574bece4ad82dbf4d34495f40cb899dd2b163717588ddb683795244ac758252a3adde0a0950126e9984d26a96a7e93b72c780ffbf60ac9d5b553cd8d831c1af2a9edef79426d13cd42942d48e204c45f611cadac252e3804f81d8e612c40dd5423e56cdc3d285e1561b31d400acc875b885d73854d5 +Signature: 01dde9613b9ce3c29b3503c19c13f863f27ab71bc0844476b3860ac891f9ce374aea6c24f517b8ab +Test: Verify +Message: f799a6b5a7bf7c32847fc243cbe0166f5244a377c43682c41b75530e6342174fade751e751885d10692e10858b11926ec626788fdfe925b2cd6d625272a13c899ce41e3c3ccc2f84e533ef6088840d9a6e448bf777e415a291c59ddb7b8d3cdcbca9450bde23ab67f0a6952c3bcf3fc944b6140502bc0a6d60983d00f69dcf1e +Signature: 0fc64023e095044c9d2d003a555e2da7aa5daf413896cd4e7ac774ecbaa0e4ece8e8ccfa053ab62e +Test: Verify +Message: ae0424ff8fb19e8842828a3cd51c93e1123e0c4ce9f9fbbc1b326979295be9ad7c6e6783d62b337ef8924e1b95a3f4aa77546a6af0d409e483ff8b89d422958fcdf0860912c47f45a819b36be047f0538a806ea6580bd83990bf99a6f6c2682cf98316c91df69796a80f50639082a093a5b9b139fb1580739a692b0769b47b3d +Signature: 6fbe751842e02a3fc3726a5d8298d1a7adb799a02d897597f4c459d28e9e25cf447b8cdf50001d21 +Test: Verify +Message: fc5837b228cd6c963b52cabd227cf61b5a1e6ccb4baff71ae4f971da7904bce5d94201efb3fc28912bfc9894b87c307a414f8653784e5fbe76056e3d989f51bf990fca68f0813aa36c00646a0e685fd5278fdce1b2af9a83f41726ed5212d82072180bb396339ce235b5a5dadb187b434335e50fb2aa9f829685108260354721 +Signature: 5bb80b35dad17648220dbe980a660effaddd7c43ad3584318e835c355dd7bf2f5510091389c42914 +Test: Verify +Message: 689eec3b665d72447abe64d4ddd79b7b73cd171bd22fa8689395e0a3d9793997205583d449fe912be240246ababb1859a5fdcdf48ce1d9ebb928ec58615503c073ced04ca0306948abf231ddf33e040b3e0ca7eac8816e218b872fa7d1ad67b9f841ab1c85ab52956d0c61a69f18b78ad5317a739dc6c102a2ea82084038bf7c +Signature: 3cb07367288036891a8861931e5b2104734a6e7e70ffaa32a49032b968805dd0bfc9f1989da22b12 +Test: Verify +Message: bc4828ec0810c7a43cbf028dced7a5890803681f86238a28f296aebeffc7f561a4fa5d6c9a595ab7193ab38eceb39fd220601f6ea5739efddffec8b93b7da7a74ba705014376fde4b375e33a844a57ea3583a43f56a55f9745723c4d287b34e82be7d584fb82e98183094b6be6b4052abd05ae6b92d0034d9d8cc550bdd8d27b +Signature: 67b214ed56ba44ced95d3d9e8c25c99331e3e973a3099e524473ccc8d4256f4ff7de9674a369cb57 +Test: Verify +PublicElement: 19b80e6f0132bd24dc0f26acc6a30445c4deb4fe7394440ce1ea0039d9c8137ec962e54b09d4383989baa288129e551e027477965ba1dbca0b6d586e482325f09a0fb16236d7b4ac3a3bb822a7a329aefeb91936f4b8cae38fd1e369db4f3f97421277533724d27e39248de3618a662c4b757cbbea2e3d805116d3e9d0ab3547 +Test: PublicKeyValid +Message: ceba9387e7ba8d55f8010aa2e8ed7de2c8310df67951e1c49c5fad18baf47dbbb571c2d26f779a79b8a564a07d9184252f097432728b0cda080212effcc3052612c8266e6f2bc88e85e6dafd42cab20679bd1b1d9038a27b6b001e0199237e4cbe37d81441ceaeca363d82728d8f9ebe7dc41d6c2b4f3ee19fcfea07e90c8364 +Signature: 84d8e940de14bfb65b8c0e0999e296a1d3c51f18b8bd79c57d826d9d200a6e38e52490722c6ee201 +Test: Verify +Message: 7b9058ef673b23e5b6a3d97784b898e0d912c990449be876b77b768da6443ba95b5fc1849db70e0482a4a1cf901aaf111b129e8dda38c3e2ccd758204a03c18b6d0500aea30b76a48c11dca21b0a82c9ea54c62bdd5bd71bfb8bacba897c3fbf68590f86b191d55c8ec285095ce2899fffb03983845a9eb9fe6f68749a082ddd +Signature: 7d07f3033c1c841466eeb641ad899ee247757ca067ab38f6f698ad0cce5f26517da7bc51b8e630fa +Test: Verify +Message: 2404a0e4c5ff8fa11c40f9932c8bfd3bac118eee53085c8e658cff857eb56b029ffa907876c65054f258a7fd07e01512bfd850df82a02820a65dbafb3a13d9380f01b9c3093ddd64a49044bcc994cf84d30cf602dd84accc4f2a8fc1a8eb55458ed173bc139c0f494aa028c80ade040a0166da50fdecc00a77aad8d16175b7a2 +Signature: 793e491940787f4e76495575616901c1c77d023342569cb8bc96efcfbc9746b3f51c31e29b221b02 +Test: Verify +Message: 5c311c167d2e3ebc19fbf7ab1c619d8ac1611152527a953d2137eaecc6fdaed79c13f4fa76f224bea7cf162531676a3a4c0a2ab81beba3f9aaa681222b122a8d724a5c77aef60aeb69df73eec3b384eceb157063dee88dce64dd72d4473b4fb2d6ee8de59bd3a61d5843465e48dea37894991aaa130a0b9246f3f659940ed61c +Signature: 7f76e9d084a9afd5c390271261b316cbd1095e710d1b7e4503188c99b8a8d851b130ad240e31f0c3 +Test: NotVerify +Message: 9dc221be2ab612b2ce6c7fc8b739af7fe740e9601f3201d3094a2444a488e076f52c7727ec7665e5949d2f307f0e6ed171e71c7a4cb21f9f3c661494239b5de7470e6d003a5553f80ae385b6aa3fef50a0803ca1f10d64264a93761e6f47a8e2e95e9c82ecc9f5a186361a930e434ab5cc05e10ce5b9e9218bc9e41b6203d81e +Signature: 332a2daa48681410763f13c3b127516c861bf1f187504d8b3bb1bd11ecbf9a9821f18466c10f1859 +Test: Verify +Message: e4354b9c9bd98d62fe629486b6856c96f34d2fa2460200c5c25746f454d32a065f8153049bdbe1b32ff4a8600de6aeeb8f7be7174f1f2f114c06893e3a9997492927596d5bc92a005f96f8417209c36316af59d9f41450e4eff0445b8a8e52ba7d7ed56e927b6060c59ffcc09bc5a313c33ffc80ecba5957e56deee2fc895471 +Signature: 65c2fd8a2635d6942b4b833682b29637eff64d80ac5ba18491bdc26d1c34d70a2c4b680900347d1d +Test: Verify +Message: a090ca3eecf8677a7699f42b16428445a3cbe74981efd6436d66620185469e959b9c8c0dbb464672fa136dff821ed7a2db6874b97bb5810691a9f1f30f22180df6d89abae633943ee56c08ee6fe88eb3bfd139c25df7c899e8e60e3d2647a3b3497cccbd8477a9d7cfdb9d71f657036ee83f0fdc3e6b01f60a559157e36e9781 +Signature: 19b4876e4043fe5f5a58e70b1560b0942ff4fdba842266a6653a6aa1550b91f4ba85a3b676a3659b +Test: Verify +Message: 8e2ecbfb35ae99dd004f2305cb2fe98c81edcccc13372e86b98f4e526d5dde4da43ae6fd4f7cdd8812fd0516c43107832767cf49e95faaaddb0e9f2a70ad0b1b790880ac1f05df022172b3a94f14d13f47ee2e5f70cf01d0341f19ef82ea805a832e51de9b61d7a3a346e89665f280175919a0e59f9e69463d5b757a9a2d7662 +Signature: 6d67367aa1caef2722c125a30e9e08ef7dad05a015893ec3c395c35d81944fe2db2a660e4e60913e +Test: Verify +Message: 6d3ba912c4bc10feb611e15965fe814bb2d5e5de67705a1ca46e8e6a8cb2e3243018f57abb7a698bdfe3f9c08012bd6aa033bc9f8bd9b351433f24b12ec0a3c3fe945c42e1cce9b6eb9153d4c099661686ea3a9b0ad3ff4131280800a2bd1b8ab125f7218fac27b8b092064d7d8a13863c73788a3c56d52344a051113ea1e3b1 +Signature: c56d1aa9f30790bec01fc07e5816fc6f44ab659898a959ecb061b4347e7f2be6f2df97ba33043a00 +Test: Verify +Message: cf2010dec81c60bbe408df2bf20f465d259a5a8d2f7920ce9c566318705c69950423f1281edf713f50ca8eda93cedbdc2378d6929d192081573efd7500520cc6799247edf3323e4849cd902aa013aa273daec49ea6741887fcd4657e987aa511e5450a467e6c3f7088ebdc3451342ad729141aca81e3807843f0944e712bab0c +Signature: a6640671721cb21d86265e30cabbc09ba20cf6081b4a5c7928ab3a53d4e291bf6049e8bf8418f6d6 +Test: Verify +Message: 4b00e4324ff7fbeb0fc48a6c83de82d52da1bcd1eb6669cffbe2bd824fc1d7971383f4b67d96d5bcd4b56e36c480d021e05d58e0788e197f9e93882773c267e1b725f38f919451289b143633316ed687fb131041b930d7064e0de47a10ac9a014f9e39b5232847a87b973c5b63e16d7f957d3aea43847cdd24092975bdb5496f +Signature: ab2f5b0d5237ec1b7e6297700a7c06647a526cb069c8162c513100008fe0dc37d4a8c9639ac94cb0 +Test: Verify +Message: 20f18b1eb4ccf98fa68c10d680f1536bd5c7c3307cb13ede0e3717afa213f74dc8b8f4fbc324ef020ce7335e03744baaf8a824495a9964d63ea00ace13a9467ca4ba9b264fc2337684a4822b81841f004c51dfdcf193333cfd77c4de3a184db0ad10b8f8ce3f7cc407da369470b88647c8d92d43b73864e942d37f388ff7c3c0 +Signature: ae23d943a56fc60ef381a2a5c056d24e472e9e906e4af1bcc91a27800b99b7cbbae8d4fc303ada82 +Test: Verify +Message: c9db3284c5b9a283f38da98655485939d5662045b325ccae3207df72838a1660f22634364f8814fe9f0eeeaa0483e9efea1ce25f74b37bca264268d6d3a3f6dcc986dc063cb347a7f08220db2b97a060dae317b302d8f86e6aec29e287518af0a8f2c32d62b153363ee0d650a2fe9744fdb3567a370e5a5458fdbbce770de953 +Signature: 06bd46f7ec091697c86e82497dc184139a988e3b9adee67ce3d87d739871fb1cdcef9dc6de421615 +Test: Verify +Message: e2e5fc81619b215141e12ea9544184e5ebabcb3834e96dbad2464fb5be7bd22c5dda0aade2be3d59e732a03147e04da33f3c8854c4f23330278e8fb0e76b356bd7de54e071a22c827987cb05d65708e8ac09bd43be2948d304874443881f84bd874852b1c421e6e52f3929bdb77eabcd6c68e29dda66a4bba189e807596fb93b +Signature: c86708f91828158b1c129e48ccc6adfdccf4997e8eb2214c24fd4bf4edd8ac1f3411d77ec65321c2 +Test: Verify +Message: b9a5127b9995a063f3422d3069a4b22ff9b7816e01ceeb3f933733f1fc11b3ca8f694d49b79c159a3ce93c59d555408befc452dabd54071181fd43d8196863b1cc0caa32568fee84335c841c298068b919cbb19e06233412662b7815a916da6408c501af8f2885196ed3dbf17cdf84af0c047632f5f4ca39dcfaa81fc5d370db +Signature: 0461b5dfdcfa1f9be6e7528478e2785903f0b8990f2354209554aeedd246d231567b06c5f81e0842 +Test: Verify +Message: 38da1e2a517a87304f85291a67e7a7ea0e637e797fa1a122707b58ac10845b7d44da2afe232eaf49b011171ad781edf4aab47992dc2358927eda5d5df9ffa75a4da2035389c484278aaa60b1f7630ef97d979e9a48935873c2929892904ee95dc9c7610279533c2256e7bcb9c1a4405100a5a367ba08d81db43bc322cb885adf +Signature: 3e7f697603dd770218ff55f027a8fc980763b6b9bbe84a766e0e55fc7c23e4f734d28f67fd73e14c +Test: Verify +Message: e431f4fc91ec6111098c5de4532c76bdd3ab9a42e92c6c10e7ccc69539a38f31cffdbe8dcedaaf3b78a3a68f592fa1bcb4f663332d94bd38b8811fc7c10f60a69da5cacb303a6af0e0159675bac3bf76e459782d43ebc7896c4dac0fd009f0f224a0306e0f06296a1858454ecee06722394bf4e88129223adda68528bf87d74c +Signature: 2b2111694dd96095c76bd18fbce8f720ddcffe6c8d9c194e880b0abfa44bcaee6b97addc84c519de +Test: NotVerify +Message: 2f3e3407e1c3e585d3f87ecdf8ee45321c8d46ed84410565c7e282c1ece573acc5c2bd688ba53416bb5894433070bfb782b7397b9edae229a653f2780b993a07e887996aa20bbd73be101bc203ad318fd18efbb7c0a3b4057c08cfc3e03535825167c0255d4ef73495f80c60a8fd1352c1ec85b822f6f59201da10baa310dbb2 +Signature: 88ed45212439c0cb86f513026b72002cdae6317544b95fcf4dd1eeaf460edb6f5891080272a3b31c +Test: Verify +Message: b3b7c629f3f5e85b35f7b95d9757a8dd980a2acc68fd9f1b74ee82af328cd5a62ad2ccce45a1b8625a9c3706f6499a066c6597cb1e88309f0afae3a298d4130ca25bb6a5c5994181e73dd00109b59a074e8a95794cfb65f993dd8be27cb2cb863409dea709155933f391dd4466d38058562f7ccd8c8f17a02850d267775fd58c +Signature: b2101fe80d5d71592eae972be0cb7f67e0fc2950bf60fb12b91a1a63d9f4747c1d92d2712cc33300 +Test: Verify +Message: cbf84e9aefa950d9c997dcb571a50e25c09c7ba40e730a1c28e112109621b4090b057b442c3e339a86ea07afc95fde5f4a37f765b99cc34e1fd5039d1b1122405d74d5336360f17273058c25da2b5807633f3c181a9d3483421d6ad294e09550bb5c93bf0ca6423b8affa46e1aa232f603cd8113a90e13958ad080057925c612 +Signature: bb80dfc840147d79654ed993f5266da74985e2225e7f5d61266fb1caa2deb06fa3bebd930122cfe4 +Test: Verify +Message: 3f1ba8edcc9ff1dfe2c25c860202f927af2188fe5bde071b8fef797c5f42f96c0d75001bfc94f37ed912f06a040adaec45b6a3ebac30d901c96974960d67de3f80c34456a5621cdaab73f788d5a9893b2bbaf68162185f7f09efad07f6609df7f0fb0cd59e8284a8b0dd08194c591dcbbb2519f7540fb04ca97bbc06f1a44d4d +Signature: 06c8b4f82b1e5429a07857ad5a1753f1d7cb43b345bd935a1f203ca2e69fcbd2321b295b1ed3c2a2 +Test: Verify +Message: d0b56cf1a2bf4845544090bc5440efaf864b8ba6205a03e5cbffac3af8d50d067f28988a7fe0ab7472b3c7aa8f8b0f5664350432b44c80168f65f0bfb07cd6e11b9f7e70f7d9ff2ca961766b33047f2bcbd0f458bf02e95a8932e8e22ebd69f6dc73953bc3823d8333a21597f8833546f374d1aefa5438c9f1be0b3c2970c05d +Signature: 035b9d105cbcce5d24fc186ff52ca07663ca774e057e6de4f5cba8df8b24cbd361df4878c6ebd3c8 +Test: Verify +Message: 82f8b357919acf5ac548e01bbe97782acc131a157d1b616364ff6dd32c5993d1dea9453a6f343e518e1ef301abc636554b632d368cdc7363f3ec8cb67e768e95e6260eb7354a491989ef9440274005b0c31b63ac0ef54c3081efa52d6939470433a8e745fa9346a94ff39b4e47ba3d31cb7495f11c1c44c2a54190b0055a1416 +Signature: a4e3cd2cbd2151d2033d0a56fa7d388af1e050efbc23bdd5fd17061234244d0a9511b84525e719bc +Test: Verify +Message: 5e5dc7a9fad7608fa377eee0d126a5377bfc0b9c11cd19b3b7f88f25c36c984f78fb9f2a05e3707bb99a933b88dae649c4ed794e143aaff1b911923d02b3764f0da5d244bf375b61064f62854e7b6fcc42371f85c57b3b562f891aaeccf5396c93f518cd23ea579b032f12941b2279186e71b4181aa7f63b91f7df51194718fd +Signature: a96a7dffb16216ec93857df38b10fc73c4792e61055a3d5c2aea3e5193113b7d0bfd81f6c3b0d01c +Test: NotVerify +Message: 9f8215298027d29e4128e75b86e6343bdebfd7f0f60bf417ff57c49a5ce1e14b9154d0be68c5cf6765ede1f56ca818eeb1af228be19217d68ef98202e01cad0b7a7f328eabf3bfebd6ca2999245ab4c968b4a13e52a6f96cd8ef99d0e1c17f8f347d5352a1aa39616e36d6fe04f1a104db476cc0a33e3210b4b022bab7c9ed0f +Signature: 7956b42cf6762bfa1d84425dbde83554a598caeb6e3298db6c225befa59a9840faab00f16b662ca5 +Test: Verify +Message: c196e14d01a2abd6dc046801d766e076cae2539afa2ab5597af92c35c4bbcd8f9378923503069f2dec6fb6c17ba1f7cc1355dd4363417607c881e2e9e5430ffe80b2b326a0258ad7e589d22f270c043a530cd480823f6bd35a23e357aaa804d2411c3d360f58e66c7f29b56314017e5942df2f698f7c0b56eab727964b4222a2 +Signature: caee28fd1cc548ceeb7141e3255c6043751425f2c344e1ddfe08ee2d42ae77391ed03f9baa195aef +Test: Verify +Message: 7d8df5288388272a7473d757c078a6de15994fe827c215d0bf2f6aa50701e1e2141c566cb5445bcd7b78e6b0098d399c9d0f12f5df541530eae276569803ebbc13a7d101997a9d488f4686b7c98b7130185c1c4f157c8fa42ebac032ee8a852891e5c0dec862c513c9950f659aa824129f39c5ee63735ba4a36f9e31a1cd889d +Signature: 75bb8dd4118b861c56c6a56bf00f194b9296bb677ea7ca4f5cda2855253f880473d5aaa8196c39b3 +Test: Verify +Message: fca73579a6d91eabb3401ed9b9145c2bc94a7066a85eba514a62046a95485bca536c2a5678659828970d253c9fce805fda30ab5527a0514a7783677b867b0325dbf979ae0303bc120947f3913a615a9717695ceb9ac1ef1cae1d2f29e9d33e6f8c655bd8bd4c41420307c22e0365a4aa790fbc80795849a0e84993cb36e8c482 +Signature: bb488822df803c1b8b424169ebc82e4638af6d567a7d2adfeaff0861631adc4c602a95a7ea8a0c00 +Test: Verify +Message: 2e5dd807911f65df6c7b71c9727137156df8fe02af3c1e19bb1d51cb35e43d4e07483eb5d5a1784ea46b1d41c6fefc66088c4b661f5bb5165044a710606dd893bb43179de8ba59472cc902617d20744eab2cd621ca4e26f8e2578299da47b24ca247faf8a0e41f815e8eb8617150b785acd1376a868c8878c94c799e7debe530 +Signature: 02bd342623b4f7cadbd88af72c8ccfb29f85042d4d2d6853d6a7769f2ed879fbed85cc6c7440fcd3 +Test: Verify +Message: fd149580b4d7b1e3799006d6c37974de79658e074d2d1cf4585ed124f7204986e569464099642cbde21cbaf5c16d0a01872dccde2f96bf81fef7711c599b37b0e6fa6fd3e71ff5c4d359e4ac36258e37cb5bbe53d7992d48c8ed42f90fc60e793a1d88d156e00510849ffb94da79f7987d49dcfffc0e5d60ef98bd52d07ac6f9 +Signature: 52c97e4fd456b9a2141afde95fc0ebf4ee2a509f274e31f5a6ee2730194eb09532d7c12583b2413f +Test: Verify +Message: d1197e08ba9f4654452e42783e664e3c7ad5cd9de2565149c0aa8d5a49547d576cb9d369da79a5da560856d33e91c2565b0cae7ae59e6ee7da31d891815469b93954b621879c168e5f4a8e84b313fd3d3a5989eb828b493039bc33dab88749e3d12200a9dac0f16afa2dc303b3a557e9b0f53668d1d5381b748477ad07a573ce +Signature: 41b31f1faac06a781ce424ab9ec6cff44f1e015bc7237a3019af5d73774a0b60345b6ed2293b7fa3 +Test: Verify +Message: 78cb9e8764eae88cc7bcfecb525617286955348da2e9c0958124677a7285334108c0ee2475d0b3404940d6806fb5f7c965c06166bbe3a9b7cfe18316c74be80acf4766af95a4c765011ce6b839e8cd90d58a139a60d675f60f42b421c570ae2647fac001bb7d5b5367e8e44da806d2d6324a03ff87db5ea9b9e0af75630dbfed +Signature: 62a367ef341b27a22c1ecb52dcfc34180902479129796872ce1b0cdbb678fcb0df10b1f37da5ac9f +Test: Verify +Message: f0e673b363e13da716f3288bf4b4993d6ff109e72a28529ce9453a2eb69b3d5256249ff7ebfdb3e3ea1d659040550e46c08d7979d03d3165552a0ee8db63ffa0097b19454508e148a35cd6ad14834226cc7d4371f3bc14f391e1a196b3b44be0e361f854c7fa5f0d18299399c635cd1469387e86eb9f947e74e20dee9785ba4a +Signature: bd8054b1502e66908555110fc569ac6ddccdea0285a04c81b9ed46ff160a26eedfeb4a8255147239 +Test: NotVerify +Message: dcbaca556bcbfcc70d2164b348b037467071dc423c11a549aad8d06716ddbee49668724899a84daebf96084efb29f246e7bb6ca967bba2ca82948bca7dde246039c4e8e8cfb593af694f197d6488e164a41f46c8364250b02d81af4cb6f2f9c67da6254d454c4860c3248e58bb277c395d7564bae2fe299263753405f972b7af +Signature: cc52d6498a412d0b801d243e37a0291644135294bb91fd182f3458c59e60725b21436a401d534497 +Test: Verify +Message: 901bc4215934ede2f6835d615c38953a95cd48bc09a249a30edcb412b37f5cd4c9ca75d433d383da706382886614579471a97647acaed5377f511241697fe0c90f42b735865abca8dd1beefcef86930267abe2fd143ef25c6f79e2b86a314a0e7b3ce23ee90271c35661f9b58ec721fc8f8ae2d6d88b768cf70c7e704dce721b +Signature: 69fe1c37cddc2db194719f80d9db24c60618f5e99cda4d645d1be7c3c4ba192c5d8606dc9c2cdc61 +Test: Verify +Message: e524024ea5f5ef7baaf30efbfadbffd9ca00ccd03d91c23a612e8d3c67ab933023239253c4417cb0d5cb934c7370c193d0d23a03e8d75417832da6766c1c605df090eb4a9966c1ea2cf68e45e0e28828e11f0bd305417ae4ce0b5283a0378fcf438243899cfb75ffa88e383cbacc0c6ef5fd7a970c68ea7839e1c8bb7c94d760 +Signature: 41bfc6a00915f9a7e24e0d4a7a1220aa0c0f3127b0286f8333c9b002a4acba9673717ffb09368caa +Test: Verify +PublicElement: 1dd203bc368c505fafbc02d560b4b9f003d93be0f78a11fe60e94c406890ce920be3fab9d9ffe84b80f3fdb9071dc602d7c8165fb62e346847b3918d450b3dcccb4bcff0ab98e3052ae36d1a65caa37c7187bb620c5147870ef676091f5199be871dce4fcda065da9f3568fa70edd637450acaa7e42f128b6a3a0519d86784d4 +Test: PublicKeyValid +Message: 691699d5c945a8508a41c3c83f768406a904e3bcad75c75e76becc40e67857f0435fd8d61f0b5f0b88ee6276718fcd2d60064b0b5ab7d48d0c5377f23b0c69936d174f80d968c95c8ca93f7bde7cef3914f2379e574c202fd5f12c1735af62774136970acfd2fefdf068f20e5cb403e31dc140ad7caac5fd298f84e6aeda5855 +Signature: 9c2687d271c475a3ca252997642f12c2494e6e1612ca7c28dcebefb178a72071de741a27699cbb58 +Test: Verify +Message: ad15c247a6d92417670bb015e2c56b2170d449feaea127d898600517e37d88639f43b0f80ecfd52cbf34e83deff0e860208fa308fb9eaf7463d2a87cdb79ab9c1a221341ed8973544dc5d405c0b530d9f5a72ff69a4b20af81d83b4bf47c151b560a65bbfbdff6a74915ec020fec3ba325746462458072a12ac8351de75dbef7 +Signature: 3edf3214d7492ead518c21641cdeeaf11955cf2c9fd41dd6990a3d93b5b996dc65b4480102910be6 +Test: Verify +Message: fe8aa91c3ff17c55cfeb6ca7d7934f00e1ea15bb63b4fb9d8a94f410486b559ea1eebfb131865289026c0f7e8d058e780e7be2ac0d9dca9929f91942283868ad3cbafa9c9872ef8a3303ade9dc1c8b9b7f11c0afb6ba8b5d9391a444ac07e4e2682730548a6eab50fbe91c60dc909d61cce2853b76c398e25f926e8def8f2136 +Signature: 454f59ad954b584350b19484ee93f3fac35e5a21025acec86b4d2cedb998a838f9c3d801acf7ff52 +Test: Verify +Message: 53bd313ad31f55de5bf21a35c1a6291bca8e6e0b206736489726884da107c1770fd273f10a707fe051af70d0b5521b5fd25d75280f9fb5f2d880aa1a1b0c5e3e0140ec2bee959f09bccb4cc633f7f2c0ccd08fb6a73645f0ca04aeae9c177ccea19f55c277a5eeb212dd66ed34aee5963080758bdf452099e34a4bdf1b405280 +Signature: 7408d817a92cce7b17409ca4a522ee8d2a05bc6ab21cfaa6c48819dde84f86090139f18c389ec906 +Test: Verify +Message: 8d67b965319d7ea31ecc8f7538b0042c8175e4de45b0eb7d869b9e3aaa918d1964cae8d5e05846f63261b131009ef5006f152a824c137f957c6c4a31a6f64d081e444b5c159fcc20004b2c5245f8ea982d862f1906fd9d9f98cd5beaca425e57954bf9b22a6ca8585f00199160b47c2c93410c5ccb69ded3b135ea1d706d573e +Signature: 3c2251163492bf6e777793020a5010959d84a258b28ebc211aeffb54f4f99500f88cf0b2eee180ca +Test: NotVerify +Message: 8fa0b50bd675f973a529cb90f5a7be4302794ed969f31dda80a16e0ef6efe2d1ac177399d350aec5463535a82a7374d6c4b7a3ae9ad7fd28cd3f3fe0b69e6363c0d29eba861297352d5bea7a031cddcd582561a29dcd4c60bc63d678b7d751a683a92d8727132c5c1172e11db8fb6fc2789b80cdaa2e841b03e52ced2ff12632 +Signature: 4d6e667824358fe066bf44377146bf2f5f2d92d2adc0aa673fc3912c3ae67bf8d0c529fb1c25776d +Test: Verify +Message: 17aeab19d1ee54e4aaaa66144a82f1a348dc53f8f1fa9d1b575c44389e580c5883f8315b2d14d83838b1b679009800f12b3a92c179c4638ad07e28f4836a475fe21900e908d0d6a0e0dc44097a339ed18d4c45d24c400f496e22f556789bffb54dca6dbbf95b2794bae667bb508aa4bb86cac22401a779d049ff035715250ad1 +Signature: 570867e6fd129769612e82d31a833ddfbb9a07833815df754b1db1c729e7a85fa4bee867dbcd42ce +Test: Verify +Message: cbdcecd18c9984a189ddd576261b6aebaf3030639731cd79ef7a3faa2af4b9420fa6bb84ff7f701d69624ccb8b73e6496ba1137f157444e81618224339ab687d81c300de67436173556028bd62eff59850f1896dc3611d9cc43c052476d28695174df4383a7f107c43f0a0a4232750af5539c98719900f6ef0fe20a65802cb60 +Signature: bed7f5866b9ec24dc7f0ec818262aa7a2197926c314a353cfdb5d11c7e57685ddc0c1863b7915521 +Test: Verify +Message: e8cac9ce0ef12933d72bb5ec654590ae24739b0b378f75d32293d3acb85902ef4791b9c603032484b0072f45944210c79ca21787cd9dba1feea5dcdf74ef5dabae66e81531eaf9bb86ce2de21390ce5347da9f760abae4ad641eb5f46c9385b6733feef2721cbf8eb27748fbbaa8e40b7d13c80fc55f0c35daf6f82078bd90c9 +Signature: 35dc7ce798a62cf86653c31306ee9dc5a8ffef2a8c086ebe25b001f990e5f511f780ad9d7eeed027 +Test: Verify +Message: 95f01262b79dfb8fc98a0217a661456a8b97042d6dd524499daae53a9a70e096377c44dcee8a528083671634dce0677820eb21640f14a2b4a22b8316e32c98b10f6f2af6e91073aa61a15b34660f722408d22e05d359666567b50e225c8434f655203c46620958279c914bb1fbc65e897ba4a2a96f7c697325a0fff6bb50ae7f +Signature: 9e75e572e76eca4859c954248a01d31921da32e371ecee37eb40aa9c13ca2e65961359e4466e9e72 +Test: Verify +Message: 64414cf10d118df7436add5cbd54ba23e8af55f7f79d44a22b1369ce64ba21fce90cb1c274acee4981062d07d9276ab859debca30814f90b5969a5f3bd1120176ced102775ed0d4604a58cc3f42e0e179540891fbf8d179a1760dde6a1763ef7861d4298288b41e66481d30a2620fd36330b94e333bff649fe2fea1e28a3d493 +Signature: 212c24985e37ee89e71cbe6d6012b89fa181db569227db91fc0b6f557f377e380cc56c271f7cb77f +Test: Verify +Message: 8dcf3f1d21a4d1e15238b6db0e89798e66cc62b60e7d0eee15a550a2e56b47387ddec07aee02cd471418a77a9733c21b22f82ec5e1b4365741a533dfe382b1c3e24cc6314659aecac89eab8ac93c1cfb8d4edc9abcf2de891b95067786844acd32b0091b21c2abc2e65f7be29bbdc1862066230e954c3edd1a0e8044c68a49af +Signature: 7add75db81ef8d210f6dad09da3d11381324430bc473f003495c0288a42fd93957dfa5321bdc3d82 +Test: Verify +Message: 0ee654428677f6fd59e6cdcd1406dae8f753dcbca966a88e1db8ab5abf9bbde6e47528287040f8dac93f865cfd023fca2f9dba5d4725fa07da6b004a57fc955a73595573d773007c096afddd9987309e8c78fdc10dca9de053aca00bcde3c3dc9508f5dc1409a41bf1e04c0a408d429ce85abe9d554f285260f3a4527b46e0a4 +Signature: ccfd740744131a05fbfebb26edf96572d3475d6441c042287c109e0aaa4e9db694d074889cb55dfc +Test: Verify +Message: 1a21fb1ded7d167c9a590c8bfc4abc10ab1aab159476b834d9d91e24ebb8aa84e5ee3ee72c6b87214519fbd2f70f1630a2fad519dec7735857966237e8db8d46f6d6cd6b0f36aa2bc4095337c4e7e03a3a60c6e268a29b2d846f0cf6d33e1cbf04b09fc1cf37f631ce010cd59b2b91c82b2376896b5ea94b193c1278e438ce87 +Signature: a07b8566ada6bbd54b5fc36b4a3b698cbf60c1ee912a5197ba6e98bd4777a884d6bc66022020de8f +Test: Verify +Message: ffc7c4abcca3dae4c21b311e6fb51da2262e53dd491ed515d6cd216d34549a1c40f836ea93c36aec17645380c949258bd0fbd9f2bfb9135727585115615a5a7e9a4ee6541f678a86eb60e72c6e8f14c4a04848af4675cce784732002a42f6c6c25812be108c8132956c74718f6c0c0c5adcff80a7689d93c05d5e62c960aa95e +Signature: 60b09ca0f393d3398635c5075d114429b6cdc8bcc7e66888f49148be9a9f96edc5014b106de6afe6 +Test: Verify +Message: 88fb1d5c4fe552db3d7213c906f74702fc102d41cfe636138ac123fbcbce5fe743319fd36e4eb8bc9355c0c7fe0c69b27de19a7c182f4e5016d0b2b82de57aff08e284e7ffdcb18c1217009826cbeba9843706ff8fe9d66ac64bf073fa7253cad02307f07927f625b1d10994f6cd87bd0b2aac23acab8638934a1485ab0ea11e +Signature: a4e8a3e21168f000ced52e3a35573fb6ba82eaa164813969ad388163d2cb861f472e7cbee985e0e1 +Test: Verify +Message: 4593c65d5e569a3d1369a916c8e6d4f541080dc192e7e51447745056d5b7bc1c404852c00e0d8b406d32f75ca06e4aecaf74a87f4fb7323a0f63d1efc598427c38e963670f15bcb7fa0451151f05a724c747141d49954caf37562916c8c4ba7a866c908a38e7445912d74d781b240055e078e8d457f9492b1646ef03b5b43ccd +Signature: 8c8e17b621fc67bbf36704f2356e7755d960fce3a52357c84b778376dcca9f92c91b9be575daf7b0 +Test: Verify +Message: 6180fb71de61a23cbe0d4383386e0170da515bbd67512b41ef03e0bc2d63fbdf257fc89ffe625fbb1d43da8c84efd80d6974322a1a0ffd4d1158c02753acf7bc0edbc8b2721304dacf0d6100f176f6efb9a0f8c8fd69b385a16cccc9f667b5ea52ed7141f14c8ab10cc1507638db532f012d232fc6384700d7977b39ce6c2f82 +Signature: 4156c005b5e099e4cae1d24a4ef35ae0749e4cdeade8929a74ef00f4f57e18c864ae6a376d8bdb55 +Test: Verify +Message: e52be63c5733b8e9860af61ee50f73e7f679522cd72f31af10ec93469c938e5b35d0b7a1e4f14b18c9039f442831caa9b659908b22ef92e4e617b4a54ffecf32ca7a981872e2d011d72fae3a11538a9306d9cbb7f8bf12de5291a710b3c625ab3b5f621816bea1ca48c4fb78b82f0b9b7e32d92a71560994ec9145ffe1a4e7c0 +Signature: b07e9d17a45cc2ceeb1fde1299ba0d6b3bcbe7dcc50e823d12ae5d86972fc6e21d499d38120d7638 +Test: Verify +Message: 1b223eeb3cebfc1575b37c5eba339ca55ab86c9300a64fcfe94d4f6467f1c06f9714190d5f060f84abb0f3b0e89d4db0c04abad218af03bd480d7fdd9afaab1405ab079e2a82334590d84ac71c0c7f85d4ccf76dd5a3e62992c4ec894f15b22edd7fc0789775a2b29dc33c7d5099697a0ed7db3b2f9b2f6c40084f3e7e590d15 +Signature: 199d5f32d2645a1d46ef1cb3ecb15a34eab59b9a8c3cbf5810966097bb9c280e812c22ac298e156a +Test: Verify +Message: 7296f7fd229c0893a84a5b7ee87a034416e5ae1edf1e7416d6c9df5f20213cf564aa2175ed32403f220e6aca2893e747d5d3f579d8999ed427a7bfd5aa2f55a1258f0be16b5102dcc163e0d790931baa504e87a3b1991ea00b501067089f0b498fbeccf8f4f1e7a55fbfd35d7a7239a55fcf7d55c0178eb2583eebcf936af626 +Signature: 5e2044f956599ab077c91e0f9f9408dfd3c458c61fe6edfab105b1f711919c0b43bbb7557252b193 +Test: Verify +Message: 7279097dcfe09b8615d3275b713dced645da08ef435fe783c5e888676fa3daad07bb933594886f78b6f4ab914530c28d2e9967f48ae5c398ff92f09d5c90b6c9702d850d2b42b355f89cf68d5aad25f4c5742ba5bfaa4c62372e9ca425b3bce164a8d81dcc67deb494a20066e60b6da3c4434b191a06f87c249482950362658e +Signature: c2b345d1c28a149215db60952dac2854103f0260bd4994a0b35394474ab82958d7ceb406f6285f4c +Test: Verify +Message: 7c9b50842db0de693441a2c13323de1369e251c07cd49c41877ff69b672d142642ce53805a0e28cd11b7ca313c491e8facd7e382fa241e9d93ffc8df05dcb67a89b4cac6d01e587f12aedb47558ed958fb5b14898f43f284d15c2f46ff47c1d866050b4c2a1947fa52df2dfc172ce9e86d273ccdd368f070584f82c8eea60bb7 +Signature: 363c61fe40b4c0a4f06908df5c46d8a9c98dee71cd1c56f8d7a16c081712cb1b8c92cfd00464a3e7 +Test: Verify +Message: 0bf43670b5fe01cb48e75a19b519f324451ccbb3d85d8ef15c41311b906aca6efb48ad5027e4cdbd23e951f538f47564ea1da4d133c6d4cbfba32151db0aadc1137db703c975faf58471481ae93f677fb48a2ceffaa5d6579d97ad7c1067dbdb4da98ae01349404c659777e04093804f9b7b9a63a5934e6e3a340df4a7180d96 +Signature: bbefc869907609019f4a85294aa854961e51c4884c235f4cdf85c4c3e0ff34069183ebf0ef50bb9f +Test: Verify +Message: 419ff761987d7257a0bc8817abb4077986972726e6ac93f311cab67ac91747fa7d021871b37f1bf8b082b55e6bbf4709b1a0fa099986cc7d2b44d82b4cd9ea5bec6e43f47490a9da6aafb38767d753e83bada47a5eacf6a59aa11758f665e4e6e7db1121b22a35b5253b19c7767542ce7bb7bcb10c972922b6da0b3aa1334e56 +Signature: 29becc5afb5ea31a71b4169b91f9594d0819de2d409e4c0c3bfe8e2ea53e98dc1ad4a72f3e3081b9 +Test: NotVerify +Message: 31c4c31942471dd6583810807472b62ce7cbbddbac7de47f08d7bb4b6024973f5adcd3f4380a4ea571fd227f9133a22a53829698fc88ba0dfa55746fbe58d6d0d687d43a4fd3c7ba4acb21afdd8f72542df89c8cc90553ee4989d8112713f619dd1e3d82407a7d2c1cfa87a8115f20c1ad84454ecbcca6382bc95dc6532eef31 +Signature: 3c999e56f7ba49e48cb72c76bb7848d4562aa96dbb8c5a3adc19533b00cb2a421fa107b0b956452d +Test: Verify +Message: 64a5d78514c2e26b011e7bca8ae480a2770cb50b03bb6fac29db817c30fb6bb87a68c225898ddb885288bb62c70e43f19f8198646850d15dd08ee5ad30d6d34b595e1395a4593dcb3493f8c98e4825055d454dc87f4249b1537e3067469c869e9cbda24d7cdf602d3f760876fa497fd5498facb15f492d9f4be23c238d05dbaa +Signature: c3a0e8c6df40bb4d672d2438f4f770c141054f1e0b6cd25a0f9d0de138d6c8eb028ae0b23dbd2720 +Test: Verify +Message: c4d9d647a62a699ce00ac9c55b2197a796fd1e8e2120f2d75a50cadf671a9c2c74a8f7db2ec5a549802e81058d1c95f6ee0e78c92ddce79e82f9a3f3cc088ad0d3a2f934bd6661c0ce4327a26402c2c432171036bca8f8da13df464ed36dc31f5a5f942b4a25d55741e07673d8ec556adaae9caec69f5ee387996dca72617e71 +Signature: 1145693d535af4e7b13ed5801c2539db279007dca94800d15c4f2d184c71cf793feab7e46c52121b +Test: Verify +Message: 9981198067ce9d394f53f1233ee06b86075ed7d61142c04f3e54fdcf1ea280f454bf5b76494113c6107a2ae89a76e78e1b356876bc2aeb0582f459257e5b145b368e022d539bdab38d2fae7cd490baa4c1d86b333c74b3b86edd8c25e995cbee1664275ddfd489399eea969746277b00d0c0f8c5e919b09eda88af89b7473ce2 +Signature: 57f2c2fd72f077ef67ceaf46d99753bf796a4712a018b08a786d4c40136256ac0a8618db7dd1eb28 +Test: Verify +Message: bfcbe3e18f4423b9f21b33fadb4763c2e4221126f11b6c79099e6bd9714008000a2fc249edda520144dcacf16c2e3929488e540ee82a03a65c92f723d2dcc6aff61967778bf8eefa46b98a94eb55bc45aaecd9c7bc6fc3d13a8ee4a53de46be03c61cb82a2f8703cae8bc4fa901362b1c2149a6aa440258f5b6a2a76ebae712c +Signature: 5c141ab2f4ee5a513c4ee7e9a5e770f294859b1f6551d44ed78029dbbebe181a73e2726f1b553022 +Test: Verify +Message: 839331e55e6928503c36c0530394dea50f46f78d7bd8fea1ae7894c02a136b4e91b3fbaff91869067196b42fd32e22fbcdf0eaab2b9023af6747ec9f73eddd7bc555ae1fa4e8260ab2844750ba97b8ddbc7773ec3705afc6b68310c09eb20d6f362fa22ef71038d316bad1ae500678c2f594e847386e7c60b6e157194499d4a4 +Signature: 0ad3d7f5ea209ad35ba4a0a17e16483c50f5e4953a692ea71730d7c5c4c13feed38ed90759aa2e86 +Test: Verify +Message: d4fdc830db8cef7540b6b3ab242cfe3bb59004a3f3c61b60a37cda1890fc7108093249ae98f9dcb7ffaad62b79e76dd72fa4fdfbf878e8355523aeadac5f4882c5ecc97583d638d5e309a8aa3a189925ab4a9348e7e601d129c14b6d7005381bff4383dd13bcbba6e4ec6081df583bfe229afee237aa1d0e156eecb05485f9a9 +Signature: 189c08e378bc9feb81891706f80a9fcd1f10725564e3814342937391e39f8830eaed6702b8579e3d +Test: NotVerify +Message: 3fb043ac04c26a1d06fa3f3638e0ab0a218b5a74c36243f4ce1278c606d02b44f1d1027ec6069c17931c6463adb495be5de08e2fc8de583e1f187513085bebd04d579130c4589a607e445f1e33d57110ee17df67f524c4b4fb1f150a896fa955aa3d8afbd6307bb12168c99fa4b957b72c29e45222aca00dba1eefe460827d8c +Signature: 65ab093718776e0b945e5fa24014468ee40422b3688c00beb21593dd4785c90b350e9471a5dff538 +Test: Verify +Message: 155f0682c1d481571fd2d93a6bd70e5e2a6fee3702270f03d7b40d9c2c65057eb8c6521448968747d5ebac49e5a4be9f270f616d49dce8061d4287b4ed6fd7c41c368bd6fef47163f9c3ac8fdce330317f657e209c19a2c1eeba6ace8858e86877072a609cc638c2c3b24fa3086c5d2d6cc7bde8b3b6344b80762c83b4f73082 +Signature: 90e0b86567a2b176a74a817d52009c2bb553eb9ac3694f997c5f70ca3936b6d57f1908868ffc7518 +Test: Verify +Message: 4b03e4a77dd910d51e6c170faa228f3d5c258c96bc44cc986a0d244629292ca62ff8277aab6d353e982bbc62c1e113c815e371812d0916c41ccdb83076a03043a38c651b6511796ba83933c18afdadf6abdc3ef6b6baaab230f6896280d0f50040f97801c37c3456e7cd54a31c2eb3bfb54bcc6c6e0de2583fc270536071d3d3 +Signature: 999adeab789df72dab3c86e115140d0dbb4905adbebe59a1995fbc73fc678a8ca89d7b6cb644569f +Test: Verify +Message: a59d6636f5dc1fbe82ec2df71a90657f5ccbbcf1af6e69157de03b45b42e3c227f53877942c96770d450b1f500fd64683e877e87aece219a56ace7e19d01823b07f9981733a1dea012aa7324697c7fc68a7e0c654fa524cb573b2c1a84f18074b52850eac17cbba7b4932a5e4d24eef1b84b1d62880ba9fff824c2ca63186f26 +Signature: 30f81281e18c995d53f02e6d04eb988bb0b8bd3f1af1a7c8447c704f06d7379dae2ccf95ec13edd9 +Test: NotVerify + +AlgorithmType: Signature +Name: DSA/SHA-224 +Source: http://csrc.nist.gov/groups/ST/toolkit/documents/Examples/DSA2_All.pdf +KeyFormat: Component +Modulus: C196BA05 AC29E1F9 C3C72D56 DFFC6154 A033F147 7AC88EC3 7F09BE6C 5BB95F51 C296DD20 D1A28A06 7CCC4D43 16A4BD1D CA55ED10 66D438C3 5AEBAABF 57E7DAE4 28782A95 ECA1C143 DB701FD4 8533A3C1 8F0FE235 57EA7AE6 19ECACC7 E0B51652 A8776D02 A425567D ED36EABD 90CA33A1 E8D988F0 BBB92D02 D1D20290 113BB562 CE1FC856 EEB7CDD9 2D33EEA6 F410859B 179E7E78 9A8F75F6 45FAE2E1 36D252BF FAFF8952 8945C1AB E705A38D BC2D364A ADE99BE0 D0AAD82E 53201214 96DC65B3 930E3804 7294FF87 7831A16D 5228418D E8AB275D 7D75651C EFED65F7 8AFC3EA7 FE4D79B3 5F62A040 2A111759 9ADAC7B2 69A59F35 3CF450E6 982D3B17 02D9CA83 +SubgroupOrder: 90EAF4D1 AF0708B1 B612FF35 E0A2997E B9E9D263 C9CE6595 28945C0D +SubgroupGenerator: A59A749A 11242C58 C894E9E5 A91804E8 FA0AC64B 56288F8D 47D51B1E DC4D6544 4FECA011 1D78F35F C9FDD4CB 1F1B79A3 BA9CBEE8 3A3F8110 12503C81 17F98E50 48B089E3 87AF6949 BF8784EB D9EF4587 6F2E6A5A 495BE64B 6E770409 494B7FEE 1DBB1E4B 2BC2A53D 4F893D41 8B715959 2E4FFFDF 6969E91D 770DAEBD 0B5CB14C 00AD68EC 7DC1E574 5EA55C70 6C4A1C5C 88964E34 D09DEB75 3AD418C1 AD0F4FDF D049A955 E5D78491 C0B7A2F1 575A008C CD727AB3 76DB6E69 5515B05B D412F5B8 C2F4C77E E10DA48A BD53F5DD 498927EE 7B692BBB CDA2FB23 A516C5B4 533D7398 0B2A3B60 E384ED20 0AE21B40 D273651A D6060C13 D97FD69A A13C5611 A51B9085 +PrivateExponent: 00D0F09E D3E2568F 6CADF922 4117DA2A EC5A4300 E009DE13 66023E17 +PublicElement: 70035C9A 3B225B25 8F16741F 3941FBF0 6F3D056C D7BD8646 04CBB5EE 9DD85304 EE8E8E4A BD5E9032 11DDF25C E1490755 10ACE166 970AFDC7 DF552B72 44F342FA 02F7A621 405B7549 09D757F9 7290E1FE 5036E904 CF593446 0C046D95 659821E1 597ED9F2 B1F0E208 63A6BBD0 CE74DACB A5D8C68A 90B29C21 57CDEDB8 2EC12B81 EE3068F9 BF5F7F34 6ECA41ED 174CCCD7 D154FA4F 42F80FFE 1BF46AE9 D8125DEB 5B4BA08A 72BDD865 96DBEDDC 9550FDD6 50C58F5A E5133509 A702F79A 31ECB490 F7A3C558 1631F7C5 BE4FF7F9 E9F27FA3 90E47347 AD118350 9FED6FCF 198BA9A7 1AB3335B 4F38BE8D 15496A00 B6DC2263 E20A5F6B 662320A3 A1EC033A A61E3B68 +Test: KeyPairValidAndConsistent +Message: "abc" +Signature: 4400138D 05F9639C AF54A583 CAAF25D2 B76D0C3E AD752CE1 7DBC85FE 874D4F12 CB13B617 32D39844 5698CFA9 D92381D9 38AA57EE 2C9327B3 +Test: Verify +Signature: 5400138D 05F9639C AF54A583 CAAF25D2 B76D0C3E AD752CE1 7DBC85FE 874D4F12 CB13B617 32D39844 5698CFA9 D92381D9 38AA57EE 2C9327B3 +Test: NotVerify +ModulusSize: 2048 +SlowTest: 1 +Test: GenerateKey + +AlgorithmType: Signature +Name: DSA/SHA-256 +Source: http://csrc.nist.gov/groups/ST/toolkit/documents/Examples/DSA2_All.pdf +KeyFormat: Component +Modulus: F56C2A7D 366E3EBD EAA1891F D2A0D099 436438A6 73FED4D7 5F594959 CFFEBCA7 BE0FC72E 4FE67D91 D801CBA0 693AC4ED 9E411B41 D19E2FD1 699C4390 AD27D94C 69C0B143 F1DC8893 2CFE2310 C8864120 47BD9B1C 7A67F8A2 59091326 27F51A0C 866877E6 72E55534 2BDF9355 347DBD43 B47156B2 C20BAD9D 2B071BC2 FDCF9757 F75C168C 5D9FC431 31BE162A 0756D1BD EC2CA0EB 0E3B018A 8B38D3EF 2487782A EB9FBF99 D8B30499 C55E4F61 E5C7DCEE 2A2BB55B D7F75FCD F00E48F2 E8356BDB 59D86114 028F67B8 E07B1277 44778AFF 1CF1399A 4D679D92 FDE7D941 C5C85C5D 7BFF91BA 69F9489D 531D1EBF A727CFDA 651390F8 021719FA 9F7216CE B177BD75 +SubgroupOrder: C24ED361 870B61E0 D367F008 F99F8A1F 75525889 C89DB1B6 73C45AF5 867CB467 +SubgroupGenerator: 8DC6CC81 4CAE4A1C 05A3E186 A6FE27EA BA8CDB13 3FDCE14A 963A92E8 09790CBA 096EAA26 140550C1 29FA2B98 C16E8423 6AA33BF9 19CD6F58 7E048C52 666576DB 6E925C6C BE9B9EC5 C16020F9 A44C9F1C 8F7A8E61 1C1F6EC2 513EA6AA 0B8D0F72 FED73CA3 7DF240DB 57BBB274 31D61869 7B9E771B 0B301D5D F0595542 5061A30D C6D33BB6 D2A32BD0 A75A0A71 D2184F50 6372ABF8 4A56AEEE A8EB693B F29A6403 45FA1298 A16E8542 1B2208D0 0068A5A4 2915F82C F0B858C8 FA39D43D 704B6927 E0B2F916 304E86FB 6A1B487F 07D8139E 428BB096 C6D67A76 EC0B8D4E F274B8A2 CF556D27 9AD267CC EF5AF477 AFED029F 485B5597 739F5D02 40F67C2D 948A6279 +PrivateExponent: 0CAF2EF5 47EC49C4 F3A6FE6D F4223A17 4D01F2C1 15D49A6F 73437C29 A2A8458C +PublicElement: 2828003D 7C747199 143C370F DD07A286 1524514A CC57F63F 80C38C20 87C6B795 B62DE1C2 24BF8D1D 1424E60C E3F5AE3F 76C754A2 464AF292 286D873A 7A30B7EA CBBC75AA FDE7191D 9157598C DB0B60E0 C5AA3F6E BE425500 C611957D BF5ED354 90714A42 811FDCDE B19AF2AB 30BEADFF 2907931C EE7F3B55 532CFFAE B371F84F 01347630 EB227A41 9B1F3F55 8BC8A509 D64A765D 8987D493 B007C441 2C297CAF 41566E26 FAEE4751 37EC781A 0DC088A2 6C8804A9 8C23140E 7C936281 864B9957 1EE95C41 6AA38CEE BB41FDBF F1EB1D1D C97B63CE 13552576 27C8B0FD 840DDB20 ED35BE92 F08C49AE A5613957 D7E5C7A6 D5A5834B 4CB069E0 831753EC F65BA02B +Test: KeyPairValidAndConsistent +Message: "abc" +Signature: 315C875D CD4850E9 48B8AC42 824E9483 A32D5BA5 ABE0681B 9B9448D4 44F2BE3C 89718D12 E54A8D9E D066E4A5 5F7ED5A2 229CD23B 9A3CEE78 F83ED6AA 61F6BCB9 +Test: Verify +Signature: 415C875D CD4850E9 48B8AC42 824E9483 A32D5BA5 ABE0681B 9B9448D4 44F2BE3C 89718D12 E54A8D9E D066E4A5 5F7ED5A2 229CD23B 9A3CEE78 F83ED6AA 61F6BCB9 +Test: NotVerify +ModulusSize: 2048 +SubgroupOrderSize: 256 +SlowTest: 1 +Test: GenerateKey + +AlgorithmType: Signature +Name: DSA/SHA-256 +Source: http://csrc.nist.gov/groups/ST/toolkit/documents/Examples/DSA2_All.pdf +KeyFormat: Component +Modulus: 90066455 B5CFC38F 9CAA4A48 B4281F29 2C260FEE F01FD610 37E56258 A7795A1C 7AD46076 982CE6BB 956936C6 AB4DCFE0 5E678458 6940CA54 4B9B2140 E1EB523F 009D20A7 E7880E4E 5BFA690F 1B9004A2 7811CD99 04AF7042 0EEFD6EA 11EF7DA1 29F58835 FF56B89F AA637BC9 AC2EFAAB 90340222 9F491D8D 3485261C D068699B 6BA58A1D DBBEF6DB 51E8FE34 E8A78E54 2D7BA351 C21EA8D8 F1D29F5D 5D159394 87E27F44 16B0CA63 2C59EFD1 B1EB6651 1A5A0FBF 615B766C 5862D0BD 8A3FE7A0 E0DA0FB2 FE1FCB19 E8F9996A 8EA0FCCD E5381752 38FC8B0E E6F29AF7 F642773E BE8CD540 2415A014 51A84047 6B2FCEB0 E388D30D 4B376C37 FE401C2A 2C2F941D AD179C54 0C1C8CE0 30D460C4 D983BE9A B0B20F69 144C1AE1 3F9383EA 1C08504F B0BF3215 03EFE434 88310DD8 DC77EC5B 8349B8BF E97C2C56 0EA878DE 87C11E3D 597F1FEA 742D73EE C7F37BE4 3949EF1A 0D15C3F3 E3FC0A83 35617055 AC91328E C22B50FC 15B941D3 D1624CD8 8BC25F3E 941FDDC6 20068958 1BFEC416 B4B2CB73 +SubgroupOrder: CFA0478A 54717B08 CE64805B 76E5B142 49A77A48 38469DF7 F7DC987E FCCFB11D +SubgroupGenerator: 5E5CBA99 2E0A680D 885EB903 AEA78E4A 45A46910 3D448EDE 3B7ACCC5 4D521E37 F84A4BDD 5B06B097 0CC2D2BB B715F7B8 2846F9A0 C393914C 792E6A92 3E2117AB 805276A9 75AADB52 61D91673 EA9AAFFE ECBFA618 3DFCB5D3 B7332AA1 9275AFA1 F8EC0B60 FB6F66CC 23AE4870 791D5982 AAD1AA94 85FD8F4A 60126FEB 2CF05DB8 A7F0F09B 3397F393 7F2E90B9 E5B9C9B6 EFEF642B C48351C4 6FB171B9 BFA9EF17 A961CE96 C7E7A7CC 3D3D03DF AD1078BA 21DA4251 98F07D24 81622BCE 45969D9C 4D6063D7 2AB7A0F0 8B2F49A7 CC6AF335 E08C4720 E31476B6 7299E231 F8BD90B3 9AC3AE3B E0C6B6CA CEF8289A 2E2873D5 8E51E029 CAFBD55E 6841489A B66B5B4B 9BA6E2F7 84660896 AFF387D9 2844CCB8 B6947549 6DE19DA2 E58259B0 90489AC8 E62363CD F82CFD8E F2A427AB CD65750B 506F56DD E3B98856 7A88126B 914D7828 E2B63A6D 7ED0747E C59E0E0A 23CE7D8A 74C1D2C2 A7AFB6A2 9799620F 00E11C33 787F7DED 3B30E1A2 2D09F1FB DA1ABBBF BF25CAE0 5A13F812 E34563F9 9410E73B +PrivateExponent: 3ABC1587 297CE7B9 EA1AD665 1CF2BC4D 7F92ED25 CABC8553 F567D1B4 0EBB8764 +PublicElement: 8B891C86 92D3DE87 5879390F 2698B26F BECCA6B0 75535DCE 6B0C8625 77F9FA0D EF6074E7 A7624121 224A5958 96ABD4CD A56B2CEF B942E025 D2A4282F FAA98A48 CDB47E1A 6FCB5CFB 393EF35A F9DF9131 02BB303C 2B5C36C3 F8FC04ED 7B8B69FE FE0CF3E1 FC05CFA7 13B3435B 2656E913 BA8874AE A9F93600 6AEB448B CD005D18 EC3562A3 3D04CF25 C8D3D698 44343442 FA3DB7DE 618C5E2D A064573E 61E6D558 1BFB694A 23AC87FD 5B52D62E 954E1376 DB8DDB52 4FFC0D46 9DF97879 2EE44173 8E5DB05A 7DC43E94 C11A2E7A 4FBE3830 71FA36D2 A7EC8A93 88FE1C4F 79888A99 D3B61056 97C2556B 79BB4D7E 781CEBB3 D4866AD8 25A5E830 84607228 9FDBC941 FA679CA8 2F5F78B7 461B2404 DB883D21 5F4E0676 CF549395 0AC55916 97BFEA8D 1EE6EC01 6B89BA51 CAFB5F9C 84C989FA 117375E9 4578F28B E0B34CE0 545DA462 66FD77F6 2D8F2CEE 92AB7701 2AFEBC11 008985A8 21CD2D97 8C7E6FE7 499D1AAF 8DE632C2 1BB48CA5 CBF9F310 98FD3FD3 854C49A6 5D920174 4AACE540 354974F9 +Test: KeyPairValidAndConsistent +Message: "abc" +Signature: 5F184E64 5A38BE8F B4A6871B 6503A9D1 2924C7AB E04B7141 0066C2EC A6E3BE3E 91EB0C7B A3D4B9B6 0B825C3D 9F2CADA8 A2C9D772 3267B033 CBCDCF88 03DB9C18 +Test: Verify +Signature: 5F184E64 5A38BE8F B4A6871B 6503A9D1 2924C7AB E04B7141 0066C2EC A6E3BE3E 91EB0C7B A3D4B9B6 0B825C3D 9F2CADA8 A2C9D772 3267B033 CBCDCF88 03DB9C19 +Test: NotVerify +ModulusSize: 3072 +SlowTest: 1 +Test: GenerateKey diff --git a/TestVectors/dsa_1363.txt b/TestVectors/dsa_1363.txt index 712e5ea6..3991ae35 100644 --- a/TestVectors/dsa_1363.txt +++ b/TestVectors/dsa_1363.txt @@ -1,553 +1,553 @@ -AlgorithmType: Signature -Name: DSA-1363/EMSA1(SHA-1) -Source: generated by Wei Dai using Crypto++ 5.0 -KeyFormat: DER -Comment: 1024-bit DSA key -PrivateKey: \ - 3082014c0201003082012c06072a8648ce3804013082011f02818100bd670f79\ - b0cde98a84fd97e54d5d5c81525a016d222a3986dd7af3f32cde8a9f6564e43a\ - 559a0c9f8bad36cc25330548b347ac158a345631fa90f7b873c36effae2f7823\ - 227a3f580b5dd18304d5932751e743e922eebfbb4289c389d9019c36f96c6b81\ - fffbf20be062182104e3c4b7d02b872d9a21e0fb5f10ded64420951b021509b2\ - 940496d6d9a43bb7ec642c57b302e59b3a515502818100a1c379ba91fe1f9d52\ - 83807b809c698bce4aee6f405f4de8c46becf33c08a63bc5f8088f75b5b6bcfb\ - 0847ccbdee700e4e698652317bbd7a3056404c541136d7332c2b835ef0d1508e\ - f57b437de60675f20f75df0483f242ddeb57efacd180418790f4dec0a8250593\ - ba36f17316580d50db1383ea93a21247650a2e04af904d041702150355dc8843\ - 45c08fb399b23b161831e94dbe61571e -PublicKey: \ - 308201b73082012c06072a8648ce3804013082011f02818100bd670f79b0cde9\ - 8a84fd97e54d5d5c81525a016d222a3986dd7af3f32cde8a9f6564e43a559a0c\ - 9f8bad36cc25330548b347ac158a345631fa90f7b873c36effae2f7823227a3f\ - 580b5dd18304d5932751e743e922eebfbb4289c389d9019c36f96c6b81fffbf2\ - 0be062182104e3c4b7d02b872d9a21e0fb5f10ded64420951b021509b2940496\ - d6d9a43bb7ec642c57b302e59b3a515502818100a1c379ba91fe1f9d5283807b\ - 809c698bce4aee6f405f4de8c46becf33c08a63bc5f8088f75b5b6bcfb0847cc\ - bdee700e4e698652317bbd7a3056404c541136d7332c2b835ef0d1508ef57b43\ - 7de60675f20f75df0483f242ddeb57efacd180418790f4dec0a8250593ba36f1\ - 7316580d50db1383ea93a21247650a2e04af904d03818400028180255cf6b0a3\ - 3f80cab614eafd5f7b2a6d83b3eafe27cd97b77ae70c7b966707d823f0e6aaaa\ - 41dc005aaefd3a0c269e60a665d2642f5d631ff1a3b8701bc06be9c44ab7367f\ - 77fefeec4c5959cd07e50d74a05af60b059ad3fc75249ecf44774b88b46860d9\ - c3fa35d033bcfc7b0b2d48dc180d192d4918cddff4f7ebcdaaa198 -Test: KeyPairValidAndConsistent -Message: 66B92E1E2C44B80F7BFA -Signature: 06418D4F24A8059553951CA062BBD6E0833ED1745608E1158CA4B8F8FE1CD2AF087B5EEE08FCA0D7A63C -Test: Verify -Message: 973266BB0A492248082A -Signature: 02BA236FE800EECABB85698A76B5485865454B3016010755F0E1BF7CE26FB62BE4FD01141F5CA4144811 -Test: Verify -Message: 9A6D079ED0CA9D8B40E8 -Signature: 045BA3DB16E6B910DC89A2D26096625F757D62077D049886B85EBC7500884B4DDD1898BC52746C54F68D -Test: Verify -Message: AA34DCE67BCDAC927DA6 -Signature: 0835C94121313842ABF04D4960E711D1F0904612BC09840989EEAFF2071522B75957DEAC801574BD22EB -Test: Verify -Message: 4EDAC08816AFDBF284DA -Signature: 08E1574E5299C910694D17075136F41EBD558D1B1805CAA3B6E98DCCC3702F286E76BBD29435CA2CEA5C -Test: Verify -Message: D82F2E903230962B8174 -Signature: 0366F1AE94FD2CDEBA4EE879BB8923F0E49CFB921008E6A5C7457E88811D46DC7F297D6A96E909268244 -Test: Verify -Comment: 1025-bit DSA key -PrivateKey: \ - 3082014c0201003082012c06072a8648ce3804013082011f028181017310bf02\ - d70ef2cee45d1cc47ec8ce8cabdd6bf32a560975a42ef057bf9dfd553bc9368d\ - db154a55d855edaa755e69f511a4c69ba78571cc4b14ddbb0f32a4a9c56c2863\ - 05aa21ec4e35de7390747477b3bd574e7b87cbebde2f665703137a1172350ad2\ - f48a0884d076ada9db82f104e6b0ad86693cd4adbd0067639102fcf102150b39\ - 49dadf3196f08bca0606f06443afce2fb1d02f028181015f0f6d1729ef2af723\ - c00e36450a04c7e7681d65b74a6417a53b3eb6036989eff8e0ab11a7ec3ce234\ - 0b7c7a92e1a977aee52555c06c12c4cc28496ddc2598feeb7539ce90d3888e21\ - f61d7f14746cf67d9fed373afd97e2483700e300ed9da25e7200b363a4727ad2\ - 01194b36ea5f816cf83488c3e527d3a5515870d2da63d6041702150696b0f255\ - 468b7ac18e11632f208ca86383a46724 -PublicKey: \ - 308201b73082012c06072a8648ce3804013082011f028181017310bf02d70ef2\ - cee45d1cc47ec8ce8cabdd6bf32a560975a42ef057bf9dfd553bc9368ddb154a\ - 55d855edaa755e69f511a4c69ba78571cc4b14ddbb0f32a4a9c56c286305aa21\ - ec4e35de7390747477b3bd574e7b87cbebde2f665703137a1172350ad2f48a08\ - 84d076ada9db82f104e6b0ad86693cd4adbd0067639102fcf102150b3949dadf\ - 3196f08bca0606f06443afce2fb1d02f028181015f0f6d1729ef2af723c00e36\ - 450a04c7e7681d65b74a6417a53b3eb6036989eff8e0ab11a7ec3ce2340b7c7a\ - 92e1a977aee52555c06c12c4cc28496ddc2598feeb7539ce90d3888e21f61d7f\ - 14746cf67d9fed373afd97e2483700e300ed9da25e7200b363a4727ad201194b\ - 36ea5f816cf83488c3e527d3a5515870d2da63d60381840002818045bf83e62f\ - 50190374b23de5e4a1d0278e9e8e6c8335577d62e80662a380c206e326819c50\ - 82d321dfda1f905fa5a3ead9a2dc769885a27b1fd6a133185dc5a7876a76ab0a\ - 09fe02b7071a924169e4d2d2a67e67ed3628800134183b962c0b313463aa154e\ - 6437d644e025ab234e63d19c129842a61c5e5ea5a06466c858c81c -Test: KeyPairValidAndConsistent -Message: 2F585D0CE4FA1CD93880 -Signature: 0643ABF8D3C2F4BAB02CF79D698948A1A416BEC05D00F33CC3D41CA9117E6CD99E5DCBBD4425DA12E98E -Test: Verify -Message: 4F09A1F217B8393199EE -Signature: 052DE620B5628EECCF7C56410CAC2B72A5AD1B5A67072ABF369453BC28A386ACD5939C9985C09338FD03 -Test: Verify -Message: 03D7110A753B008A76A0 -Signature: 01D44D16B5FDFB8C39AACEA72391A889EECBFFB5E701EB8F46E4FAB96326F73E0CC698E1F66C32FE5C2E -Test: Verify -Message: 129F4781D417671F886D -Signature: 00CE142CE967BA951B9DE26DEFB5B341CB49247C1308515315449B5533ED469B6470C4E3A3751E35E7BB -Test: Verify -Message: 3E1594F559D1248D1112 -Signature: 07B192657E256B60567BF6EB399D8A2DE8FFF7AE8A031A655BEC911A82049155CDB4F2A76A8004AE646D -Test: Verify -Message: D6F0354F1B6B253B6997 -Signature: 07FE18E0C00F6AC3CBCB95874AB66A98E34DF74F37059178C920C5D13CE173B8D2832310B9587940F6D9 -Test: Verify -Comment: 1026-bit DSA key -PrivateKey: \ - 3082014c0201003082012c06072a8648ce3804013082011f0281810250988282\ - 17d00108030801e5f135fc6fd3010be39e49060a96addc8a081198803402c4b4\ - 6e4ce0750fcbab8cf084c7ca8cae09f1b5482d336fa3af47b96791d02d8143e2\ - 74b1325f2213e17f9384c805f479e52a3117cf84869d395f1bc025c918484478\ - d2da1880d32bc519f4e6b2fd2d46958795550ce1765f725626f3fc17021536bb\ - 68cd95dab195f14c4534283e7ea50b00cc31a302818100e2782ad6992f4b7e88\ - 787b4d616744b60e095575a177569c4a069e311e38b7240c43343367e23574c3\ - 0e4d9f05afe1fbe61423bab715915c4ccf28aa0ed2f52b092b86c8ec1f9d4795\ - d6e91c88ba41297625c11a9e1f4f182da13cf51e541038a1266bf32b2dd81ecd\ - 84bb80be8fdf97689942e944b7fbb6981e00cd680ee25f041702152db270c284\ - 328353f979cad99f4133c53acaa6ee71 -PublicKey: \ - 308201b83082012c06072a8648ce3804013082011f028181025098828217d001\ - 08030801e5f135fc6fd3010be39e49060a96addc8a081198803402c4b46e4ce0\ - 750fcbab8cf084c7ca8cae09f1b5482d336fa3af47b96791d02d8143e274b132\ - 5f2213e17f9384c805f479e52a3117cf84869d395f1bc025c918484478d2da18\ - 80d32bc519f4e6b2fd2d46958795550ce1765f725626f3fc17021536bb68cd95\ - dab195f14c4534283e7ea50b00cc31a302818100e2782ad6992f4b7e88787b4d\ - 616744b60e095575a177569c4a069e311e38b7240c43343367e23574c30e4d9f\ - 05afe1fbe61423bab715915c4ccf28aa0ed2f52b092b86c8ec1f9d4795d6e91c\ - 88ba41297625c11a9e1f4f182da13cf51e541038a1266bf32b2dd81ecd84bb80\ - be8fdf97689942e944b7fbb6981e00cd680ee25f038185000281810179b283f6\ - 7868aeded3a0c5633d0e6c18fad77174e2c89c03452593d05e77a9fb029c0ccb\ - 2b6f2328e79c286ee392713f12d9d45578348383b81d11b0e0f7e89965a7785d\ - 5ab64ea25bb73e8acaa8e84cb9897985015757a48c0b1dac3a6a606fe671ea07\ - 3ec434a46f227b8d4b02a46fbba2f6c6216736d669f55778d81004d8 -Test: KeyPairValidAndConsistent -Message: 7E4F2ED4E79062778A2D -Signature: 03DF91D560884BAA90258F0F78A7AB61F9A4A5CF3D363E8DE2EAAB389B9492C2B80C44509BF2372BDEE0 -Test: Verify -Message: A0E35846B5CF1B5BF560 -Signature: 21DF9C60877B6D7F531AAF1C39122779436029685109B2D736A45F51A80099041AA5F118D7D6025AD30E -Test: Verify -Message: 3B138785EFC6F520EAE0 -Signature: 10A38520BAC07202DD1CB5A9C88B15B9579B9A1344025E4C4B9D1BC3AAA8C97AA90121D52E42E59A0A99 -Test: Verify -Message: 0F6BE2AA764B485145D4 -Signature: 0233267173F284737B68D15A500D23F3C86988E3DB28DD55AE3DFEAAA7251D354CB44315D6024CBE3E36 -Test: Verify -Message: 6CD9FBD23EA58826FB04 -Signature: 15A1B0DDA6BDB62D96AC557E3F1F24DCAD0C51EF3523B01EA2A8FD93761D0E4D070BA6352A81F31B776A -Test: Verify -Message: 473A82649565109E9E89 -Signature: 1FE31C3A3EF6F57DE2586A5F2EBD48A5C707092D230E1D217EE0A752EFD9ACA8BF0B9EE9424184B8F8F2 -Test: Verify -Comment: 1027-bit DSA key -PrivateKey: \ - 3082014c0201003082012c06072a8648ce3804013082011f028181055402a8ab\ - e9cda3072ca8601d68032651feb0335856e57f8f8d4ec949098a6459151cefee\ - f91b7aa733668c8cf0e9b96c93c61f3528d4036daa6565646f65d74c4552817d\ - f7e5fb1cc421cfd885e27bb811ad227e81b3fa02f7a00bf01ee6e23fb5572a75\ - f8f29b58bd5f7db435e8a92a923f15d50f34213d29816921bf195b2d0215291d\ - 0ba731a4303070504d8b9615640a5e1345e00f028181051c9d0270b69ceef82a\ - f5aed5f91dc88d585096609d835d03d39cf3ce74f5a3402d4e8e192455493da6\ - 1cc58ee6f54dd941172be3d7642169cbc52273f4b725f1d6c820c3333336c64d\ - 32fb6238121b3ccb7c71b847764946bb0887a44ca9de802cda62efa9dda57375\ - 1084225353f11ed837f3dc25de8374b6fdbfb6e313e46d0417021513b27094d9\ - a5a3a9704cebdbe890da325fa26ad555 -PublicKey: \ - 308201b83082012c06072a8648ce3804013082011f028181055402a8abe9cda3\ - 072ca8601d68032651feb0335856e57f8f8d4ec949098a6459151cefeef91b7a\ - a733668c8cf0e9b96c93c61f3528d4036daa6565646f65d74c4552817df7e5fb\ - 1cc421cfd885e27bb811ad227e81b3fa02f7a00bf01ee6e23fb5572a75f8f29b\ - 58bd5f7db435e8a92a923f15d50f34213d29816921bf195b2d0215291d0ba731\ - a4303070504d8b9615640a5e1345e00f028181051c9d0270b69ceef82af5aed5\ - f91dc88d585096609d835d03d39cf3ce74f5a3402d4e8e192455493da61cc58e\ - e6f54dd941172be3d7642169cbc52273f4b725f1d6c820c3333336c64d32fb62\ - 38121b3ccb7c71b847764946bb0887a44ca9de802cda62efa9dda57375108422\ - 5353f11ed837f3dc25de8374b6fdbfb6e313e46d0381850002818103b06b9909\ - 7cd7145c7d7782b02e247a4741f3c7f39233627f17e13ebff89a18cad6a454c3\ - f32f7ef2910384030da71ae47e1c3fa79c2141dad107f8e715e47fb0bb626baa\ - fc35db769852ebbec2d339c3c3d5f2287cfdd20b3b78ea4607086c42558ae463\ - 7eddd6a74bc1072d0f34d9c0130cbc9e84f537e7ce50df502d17b5c3 -Test: KeyPairValidAndConsistent -Message: AE6DCD9535AEEE3ECC89 -Signature: 1BB090DC4573AA79F34181020C4D5B582BBA67062C23E5DD6913CE91482A05716784BA680F7F4AC1684B -Test: Verify -Message: C83A14EAC016D659F9FE -Signature: 182AC27BC4B77B145BF90E73A2CEEC5325941507F925279DF5B6280664CE82248348C3EDC59DCD428B64 -Test: Verify -Message: 745E02041EB487D16CE6 -Signature: 13C4F9AC03EA094CF7F60B96CAAA29053706E93DEC1024EAA1606E13B2C3062F2D6082846D29E6E60829 -Test: Verify -Message: 62F019655A83501FC4E7 -Signature: 077E19089B0BB32A7B21B0D27218C6E1F14AD432181BB76FF5E7EC35EC01CA47595F4C7ABB8ABD6064A9 -Test: Verify -Message: 351D37A4B5046E885EAA -Signature: 21962B09FF030A41251AD592F8D2AF24144B3AC713245AF18BE28F192FD29326D91F12A76A01477C8788 -Test: Verify -Message: 4073D33915F595F4FF9D -Signature: 1F4CF158E806AFE59139E2A9840BCEF79237800C521E49B7DBDF9830C86E7653FC716B43224EA00C883F -Test: Verify -Comment: 1028-bit DSA key -PrivateKey: \ - 3082014c0201003082012c06072a8648ce3804013082011f0281810abdeff64b\ - 6f28256e4562109bffed29cb5aa95d89cc0ec95da0e773dbff3467c271bbb1e1\ - fbb6af058517fdacdf26b5919674c625eced6317d8631c063f43b3ade2cd633d\ - 554913339071d6ebed5fd665fc5dd7d47b80721a976c3b14fbd253f0f988c354\ - 725289f2897df0a15985c92b2d4da8d087870c251c72d979b8304d5102152368\ - e2b864b250ad45406391e7eeaa3d27cd053c2b02818107c325695dfe315a77ad\ - 7b42f0d18f9d4821b5c153fee7385877602fa54477bb8c0639d2438f34352b97\ - c22d02a7295d2b53d5286a01caa919d6283614690624240af922675ccd4a0534\ - ec336cb79cde31b02b5988cc5a53ca17790d67d803a27bb927b9c59bdc6ac794\ - 175e285cafdece6778ab19a0b444747fee20d5bf929e70041702150771305163\ - 506b2b83bd5279935df1b5fcf180b004 -PublicKey: \ - 308201b83082012c06072a8648ce3804013082011f0281810abdeff64b6f2825\ - 6e4562109bffed29cb5aa95d89cc0ec95da0e773dbff3467c271bbb1e1fbb6af\ - 058517fdacdf26b5919674c625eced6317d8631c063f43b3ade2cd633d554913\ - 339071d6ebed5fd665fc5dd7d47b80721a976c3b14fbd253f0f988c354725289\ - f2897df0a15985c92b2d4da8d087870c251c72d979b8304d5102152368e2b864\ - b250ad45406391e7eeaa3d27cd053c2b02818107c325695dfe315a77ad7b42f0\ - d18f9d4821b5c153fee7385877602fa54477bb8c0639d2438f34352b97c22d02\ - a7295d2b53d5286a01caa919d6283614690624240af922675ccd4a0534ec336c\ - b79cde31b02b5988cc5a53ca17790d67d803a27bb927b9c59bdc6ac794175e28\ - 5cafdece6778ab19a0b444747fee20d5bf929e7003818500028181043e4ae624\ - 4408879264fe6b859b578218705b9a45af22efded27141b7f090cbcbe42dcf48\ - 1df3e41b13920ae02b694eaa6bfd62f2d3c5d677b8c4ce783cbe2789e088b044\ - 89ef535ad4a517351c8835cf128f7ec677a1b1dbe3ae9cc4198ddb6e1cef8e97\ - 8c0725f5063797bc43eb9ae496286cccbad5d4e026e9edb997d2f918 -Test: KeyPairValidAndConsistent -Message: 4867852C83F181CDD010 -Signature: 1D0F4F49AFA0448163604847C9308A824ECE928E05066D47892256DB725FCB31F93F38B9E02C71E100EE -Test: Verify -Message: DA6493C86D6B62C5961C -Signature: 1BB4A8A1B8D81EEE9AB291C49F688F27D2191EA51B15A5DA66A6367D931DAB338E595C80E70CEE4BB644 -Test: Verify -Message: AE2C1136BFE966794A6C -Signature: 02AFAB91234D08FCEC22E57AB5718FBF41A86D2469012F8476BFCF4EA4E03D9F7A6E467ABDD0B5626784 -Test: Verify -Message: B20160E0442E726BE749 -Signature: 140A45F4933F05807A533628962E42A8BEFAF5977917F2A8D8706B8BE83EE6B6CEBCC951553B4E3203B5 -Test: Verify -Message: 3638935C4492F5CA42F2 -Signature: 234F78EF68343E77710E17285E47994AB599F3646315C37B8CC01CF6BE9C803D6B81B232DE9171DA7967 -Test: Verify -Message: DFB674CA6E0FDC0CBE99 -Signature: 1DF9B1B9F78F5FCCCCC5F698EDDBC8EB28C0F4D10002A052284AA4FBA601D3047E3AA97F8CF73731A44B -Test: Verify -Comment: 1029-bit DSA key -PrivateKey: \ - 3082014c0201003082012c06072a8648ce3804013082011f0281811d0f176b67\ - 99b36724c92954c38d0288fa95400c2b14e064f76a6338fccaebca8d978b93bb\ - 76507bc150a50f9fe799fffe12ae2875b13ac1084ffcfde9f62b86185a72f04f\ - f80538d6eac177edc98d61a517b1275bcf4b57aa262e1702d623bc344db7e562\ - 1c949a9b12e9936e88fae9b200a1f8ad5b40ec8220aa301267f38dd702153357\ - 536531dec150be0ef8747f69ea30d987ff7df1028181067dd80dbc6b41f58d08\ - f077a9a3dcbfe12a62065fe6b4691c457f506b56dcab0433b3aad6ef96250163\ - 3d0f3947b491a1317e7e6b632f062c53104d609c9222b056f08a0c83662a7074\ - 4331fd09b2b42fb0768e52da27e92732106fbd41ec737373fd080b56b543d808\ - d49eeb6e1bb0a8619b1edee8fb8295dc042423f684af8a041702152dcdc00a86\ - ecc2a60ebfa6660a83af1d7c3e570b85 -PublicKey: \ - 308201b83082012c06072a8648ce3804013082011f0281811d0f176b6799b367\ - 24c92954c38d0288fa95400c2b14e064f76a6338fccaebca8d978b93bb76507b\ - c150a50f9fe799fffe12ae2875b13ac1084ffcfde9f62b86185a72f04ff80538\ - d6eac177edc98d61a517b1275bcf4b57aa262e1702d623bc344db7e5621c949a\ - 9b12e9936e88fae9b200a1f8ad5b40ec8220aa301267f38dd702153357536531\ - dec150be0ef8747f69ea30d987ff7df1028181067dd80dbc6b41f58d08f077a9\ - a3dcbfe12a62065fe6b4691c457f506b56dcab0433b3aad6ef962501633d0f39\ - 47b491a1317e7e6b632f062c53104d609c9222b056f08a0c83662a70744331fd\ - 09b2b42fb0768e52da27e92732106fbd41ec737373fd080b56b543d808d49eeb\ - 6e1bb0a8619b1edee8fb8295dc042423f684af8a0381850002818113834f0fa1\ - f42abf7dbd264cb7d2eb5798da8972df67f517c62d7ae5070fd588d61db62e49\ - 2f9654833e876ed5737df35069f5ee01a45de881d8f5e68ec52ad9ef32780e8c\ - 453a5f1e38cc17bc5cd061a3c122080f6e1b82d31877e8b08f634f497bd90b06\ - 824eaa0416c64104ce5622c272673d0dedb836ac7d47e0cea0673902 -Test: KeyPairValidAndConsistent -Message: 1E34034C47FE533F8FF5 -Signature: 04E171B845E602A871CD5DACA5738BC4585A452A86108D03D70C3D2D605FAE90DB8D339AADB692EB1ABE -Test: Verify -Message: 53D2CA23AF7DF95634F0 -Signature: 1327D4C32DFB874EA2104A9B30EAF288C7016146D1217C237E0201482E483EBC7F0A713748547F9B6B21 -Test: Verify -Message: 0F056E08AE77B3B30F33 -Signature: 1B4A688745F3D86B0D8A5D97FFA0E31C322EFAAD0A0FCD907B2D49EB8150539E81FF29341EC34440425C -Test: Verify -Message: F08C80E8FD38A3867B76 -Signature: 0972705B5E84A8BA57226C770CCB0ECDEBC816EA162FCB3BA5B3C235105EA75F379EE84187E27A86D21D -Test: Verify -Message: 6D392690B92B3E75020F -Signature: 185968475C67C936CB152F76E80EE22FB82A27ED120C5C0ADB2D750D2C38F0A9671EBFEC2815F675C24C -Test: Verify -Message: 10AE0E091A267641FACF -Signature: 1AC3C2010BFB10CA6889120A23F984FE0D4CF79D1B07578217E5A3C68EDF05006C1F3F1BFB3848E4ECE5 -Test: Verify -Comment: 1030-bit DSA key -PrivateKey: \ - 3082014c0201003082012c06072a8648ce3804013082011f0281812a32d68d31\ - 248024053bf628a94404b9a49d91ade4d7a45b071e93292a7f8c2661d9165f0a\ - b85491d4b0dc67d335fa7d7dd172cb17193390a55eb000aa97e2b8ed3ee64b73\ - aa43ea9b8979132c2d966ab03c42cc14782c96e4284ee1136b8515007ed1b1a5\ - 708b5e8d81304fa651edc715918e2299cfe9016dfec5f454d907f59f021527c7\ - 996c1d3729c4cf1de06529e5619771e27ad9eb0281810d87a4b01385da7f43b6\ - 277933c5f0dc8072dcacd5252e1b29f588114a7ac56e377050aa8174b5dda400\ - f043234e4a746442792734dc80274a00a3676101be94759fc2630b9a85896648\ - 8b12611d03d0b31e7243e124497a754544cee1db10bb0a81cf0b2a68045b76fe\ - 935f641c666fdc788a2b968c6668c669115756b961d9fe04170215091155581e\ - cb7a0a792ba95c772d9382298bfdfa6f -PublicKey: \ - 308201b83082012c06072a8648ce3804013082011f0281812a32d68d31248024\ - 053bf628a94404b9a49d91ade4d7a45b071e93292a7f8c2661d9165f0ab85491\ - d4b0dc67d335fa7d7dd172cb17193390a55eb000aa97e2b8ed3ee64b73aa43ea\ - 9b8979132c2d966ab03c42cc14782c96e4284ee1136b8515007ed1b1a5708b5e\ - 8d81304fa651edc715918e2299cfe9016dfec5f454d907f59f021527c7996c1d\ - 3729c4cf1de06529e5619771e27ad9eb0281810d87a4b01385da7f43b6277933\ - c5f0dc8072dcacd5252e1b29f588114a7ac56e377050aa8174b5dda400f04323\ - 4e4a746442792734dc80274a00a3676101be94759fc2630b9a858966488b1261\ - 1d03d0b31e7243e124497a754544cee1db10bb0a81cf0b2a68045b76fe935f64\ - 1c666fdc788a2b968c6668c669115756b961d9fe038185000281810d7d22c931\ - 422fc46505887559a51490c2e367cdb40242cdbaeb23024693fd5c68f6a3307c\ - a34b224457d5aa610b90eca3b39905481daaba7151318f09f974ad664546d14c\ - 87f797e38139ee1e07adba9c775e07b7f7b3edba87d886920d6b2cef5f084359\ - 566b0a3b8b940a65b9ad93fd7ccd1354cdcee3c43c6bd315180498ad -Test: KeyPairValidAndConsistent -Message: 23EEE1D0EA8950B8F322 -Signature: 1800356929B316D1E4FA886CAE0CAD56E32506522D0B8440BB7695D522F31CD87079BEA4CA9F18ED4288 -Test: Verify -Message: 13FA6F2816FB83190A21 -Signature: 207830C2DE87296BC39CD21630F26228F00CF60BC3150CBC82CFA9006534A6C5E354AA281C434A8C2077 -Test: Verify -Message: D071CCC0C6E4CAE82E5A -Signature: 054C9C0C30C6B73AAB9E54C11D4EFC82BD6E8680932501D78A58EE305930E72ACD3BB2565023455DEAEA -Test: Verify -Message: 22CE83F4803BF3EA2C48 -Signature: 07065A6F5C9A086CB83F2F113895730C1B2FE0DCD90FD6AA887B066D685D3DD6C3C0D95CB8C8A48FBFF1 -Test: Verify -Message: 7A927EC7BB9CA16C1B0A -Signature: 24BF344DC7B25F831428078AC0D929A72A29160B6205A1BD4B1B2C5BD8BEFCB650DE23652701DDD4F4EF -Test: Verify -Message: 9591B069993E10BC0B84 -Signature: 0E6E6BF91BBC9FB91FCD3CE32907F5B6AB5E88928C1E3BC92649EDFDFE672AFB654C765F2758DE4BD78F -Test: Verify -Comment: 1031-bit DSA key -PrivateKey: \ - 3082014c0201003082012c06072a8648ce3804013082011f0281814d58515f7b\ - 41c4fc87e4fcefe5cf6d84b2d74a9d6f498ae9605fcbf1c59217422001a272ef\ - 91dbd09e7af5ee54126dd4fc44bb1ed624d0dd5dafb984d52781140bba40600c\ - bd4752d2c32b43253efee57af6964c339570edb24195502e6d424b84bed65ac9\ - 8c6fc52ec90e40a525f1863a53f2fbe2a0a133342eff4337f26ceb93021526f8\ - 6a81a6bb530c2f9b63e3690e95a0894575f4450281811e24828adb4ebf2becdb\ - dcadf6706631293ad6566803d12479f04a7bb20b6086fe81df164f8bd02c5f41\ - 8c1140d143f11a71170b42d0753c952bfff951b9ca4204868375efaa4afad50b\ - 75787e41c5ab9ce8adcbccecd3716f350bb8aaeca9b6098bd0002d789e1f7db9\ - c19d9045499877b93ecb4e7c64808b742063bbecf60e29041702150e61a054ee\ - 6510734a80f67a54d8c4151c957ef16f -PublicKey: \ - 308201b83082012c06072a8648ce3804013082011f0281814d58515f7b41c4fc\ - 87e4fcefe5cf6d84b2d74a9d6f498ae9605fcbf1c59217422001a272ef91dbd0\ - 9e7af5ee54126dd4fc44bb1ed624d0dd5dafb984d52781140bba40600cbd4752\ - d2c32b43253efee57af6964c339570edb24195502e6d424b84bed65ac98c6fc5\ - 2ec90e40a525f1863a53f2fbe2a0a133342eff4337f26ceb93021526f86a81a6\ - bb530c2f9b63e3690e95a0894575f4450281811e24828adb4ebf2becdbdcadf6\ - 706631293ad6566803d12479f04a7bb20b6086fe81df164f8bd02c5f418c1140\ - d143f11a71170b42d0753c952bfff951b9ca4204868375efaa4afad50b75787e\ - 41c5ab9ce8adcbccecd3716f350bb8aaeca9b6098bd0002d789e1f7db9c19d90\ - 45499877b93ecb4e7c64808b742063bbecf60e290381850002818119b50f1eea\ - 45bfaa22352a38f3c3b86d6f670747ac2fd94359608e25f2bb9f602506bc3572\ - 45deeb4c3c702d435c557da4f4a9fd37330a75547c91681fdbb51f286adb498d\ - 1e489e89b2e6a4eb9ff30222c51fefbeac7435f629f536ac2d6b87664d80e5c9\ - 7398cf489a1d1ca217f7f21ea8e409f938378875cf5f528162e3bc07 -Test: KeyPairValidAndConsistent -Message: B4B3C8FBE82013228A21 -Signature: 0E08FE696A4C70B16A127CAE8C61E5B38B7A1F34402584D1F21F71016054E820E3B1BB866309D93A7DA5 -Test: Verify -Message: 17D2D18302173E2CE992 -Signature: 0203C3869E15F8847B58BD158CB746433AA05F201317C0541908ACD5EA78A02D1FAB79380619199CC5B8 -Test: Verify -Message: 8032AE177D6DF38C7E27 -Signature: 1F436F5BC73A3402221B539F1D7CCBD4C3AE948418216122809E062ACF5D6086546FCBB293B4C7510CBD -Test: Verify -Message: 768640A60A3C62E02428 -Signature: 0A5D52C534A9BF1175247538638077489537025975254955F8A96B0CA2E7985D5D6E3DD54EE298C90100 -Test: Verify -Message: B0999CA45B77ED63639D -Signature: 144DDD0C1BE6D96FC3AFFA240FCD6D2AD0748C848F0C8A25AE8AC2E55A38DE9DBBAFF90CF464547365E2 -Test: Verify -Message: 587EDB968FA82C12C930 -Signature: 01FC4F6F98898F3639E8D93E7C2E6F3945120AD19D15EA13EDC96BED7E73A7D5D161217F1C67F3048BE3 -Test: Verify -Comment: 1032-bit DSA key -PrivateKey: \ - 3082014e0201003082012e06072a8648ce3804013082012102818200d551680a\ - 62ebf98f0ed8930cc5b12de86d0a0c29a0d7e5524c24672a25428833f4c19ac8\ - 83ead22efcc0c6823f2e942c17adb7ab763ff2c7cc2698fa8b6448e514d4628b\ - 197721bdaec780e126ac80ac83f24fef5c154f7690ceba903748be5212e3180e\ - a718ca7a71a49dee939bf9bc5b7845c9648d074587ccd3724493b91f0902152e\ - 802b5369c3f1ddfa789bf8f2ad2e048ced3bf35502818200a9aebee7d29f90b0\ - 81afc4d496a6a78210e918bb57a8a21c5995586c0bf20f7a56bb10a97e05a3a7\ - 23e7db64612b12bb591b1fe7d2e46be8c96a7b2ce7c66076aeded938775ae222\ - 3900adaf52a93f52d62173c82d4b67388c85d4c1127e1edf4643cf09f5375b60\ - c19316c4f8f8fd7daea1d8b44a2d03e97c2741537f63d86b4a041702150f66e0\ - 4c5a75d3eac03d744e5432f23e3aea066a63 -PublicKey: \ - 308201ba3082012e06072a8648ce3804013082012102818200d551680a62ebf9\ - 8f0ed8930cc5b12de86d0a0c29a0d7e5524c24672a25428833f4c19ac883ead2\ - 2efcc0c6823f2e942c17adb7ab763ff2c7cc2698fa8b6448e514d4628b197721\ - bdaec780e126ac80ac83f24fef5c154f7690ceba903748be5212e3180ea718ca\ - 7a71a49dee939bf9bc5b7845c9648d074587ccd3724493b91f0902152e802b53\ - 69c3f1ddfa789bf8f2ad2e048ced3bf35502818200a9aebee7d29f90b081afc4\ - d496a6a78210e918bb57a8a21c5995586c0bf20f7a56bb10a97e05a3a723e7db\ - 64612b12bb591b1fe7d2e46be8c96a7b2ce7c66076aeded938775ae2223900ad\ - af52a93f52d62173c82d4b67388c85d4c1127e1edf4643cf09f5375b60c19316\ - c4f8f8fd7daea1d8b44a2d03e97c2741537f63d86b4a038185000281812640c1\ - 88055329f0b44aaf80f82f7fc7f0e421031834dfbd1fb6d6af6ab3e1c173c901\ - 370a4ce2793c1b88d12f764c58ff064905da9c5001f679c7508972f237bccca5\ - 6524787466a7c9c2d6bb6392963008ed1a3e4cf3b13e66086bce3a4ca04d8cab\ - cf0cadb4c403c7d02a858460d04350e730289cb5adf200b5fdf1198168b5 -Test: KeyPairValidAndConsistent -Message: 909068BEFFA43331FDC7 -Signature: 2CCCFF8A67073E5DF643B61A5AE7A5BC216FE267E713B9005F69797B44ECD33BA5DD87461B5C72C50390 -Test: Verify -Message: AC8AFC7A1D9105539E10 -Signature: 0A2BEB58D806EECDDCBD590EBE4AE5AE7BDA326EA0072ADB9FA6A6FEBF40488C80690A2B1DF141BACF91 -Test: Verify -Message: 310E40311BB3F77F9483 -Signature: 28726153B52FE75F1FAA4C97124EE042065D2C90B50B43F885FC45C42C3ED9BDC4EC2D36A2799A041C67 -Test: Verify -Message: 35455ABD53E6FB11ED9B -Signature: 15B3D6ACA9EAD5AA1501ED201335AF9B46657A4CBF00D19328018D82624D4BD9B22D645429B385DADBCA -Test: Verify -Message: 95FFA73B52F0D06A0C1E -Signature: 2904FA8F78B6DF0D15A08714C8F86B97532A9D13B617EC03F329DA20E42816CCF45DBACB432B1F5011C8 -Test: Verify -Message: 1E9934125DA6E9B4E975 -Signature: 1666A3B9DBE26F2AE3F9BF7CBF47989D87AF82F580147BEC8350E21D4DB0691074F63B85A3A7D8E82A8D -Test: Verify -Comment: 1536-bit DSA key -PrivateKey: \ - 308201d4020100308201b006072a8648ce380401308201a30281c100fada6e4b\ - ecef964a85caf9e129639a5616ac000dbac59bd50b84bc8d464114079c34c5b5\ - 8d7d40027faaf037c6a649c527cb002d3a716bdef62b6c94d7a47a8b65c2ebac\ - 05da09e40cdc417024cccba267a98f4eb69701a276b4f117662b566605c36054\ - e7f015d2e5f81331e5666ec17ebf71907788b40cbcea0f24aaffb029ef5c25c5\ - 5ae998f28a2ddb091d262c32ad324f4e64c7b4b50a19e9d92f6d8024188627cf\ - 5ce68674e7ec7da38fd6cf4ec29a6ce2f17e3188d8ef6b0e50d77d5b0219232c\ - f9bee9d56c8bd8252d1edb59d99c40cf32d07d9e5a48930281c100f028143e3f\ - 9d1317aafb814215ffda9c584da8943e96212c90a082c3d2f335e8a6b64d1c89\ - 0aa2224ebf158bec2b6fe6bad236417acd517a4907331e0be0dd0b801218ac27\ - 0acdd45579290be1b94bc418b8f82c651d82a19d2f0e1cbb0fbc0f054d95150a\ - f96f9a7488010787a799c544883ff76a4e3092f2ca9aa9000cecb88dda343c97\ - 2c8192a83820727b1945c1a270cf913ab932457e8e6e207d06cd0efdf265b762\ - b9fa15c9a14633af17204ba2b755ed1b3b421ac596a2a04e64be43041b02191d\ - 4cedc87d55eea31bd702139b90be08d58692a1f97628a01b -PublicKey: \ - 3082027c308201b006072a8648ce380401308201a30281c100fada6e4becef96\ - 4a85caf9e129639a5616ac000dbac59bd50b84bc8d464114079c34c5b58d7d40\ - 027faaf037c6a649c527cb002d3a716bdef62b6c94d7a47a8b65c2ebac05da09\ - e40cdc417024cccba267a98f4eb69701a276b4f117662b566605c36054e7f015\ - d2e5f81331e5666ec17ebf71907788b40cbcea0f24aaffb029ef5c25c55ae998\ - f28a2ddb091d262c32ad324f4e64c7b4b50a19e9d92f6d8024188627cf5ce686\ - 74e7ec7da38fd6cf4ec29a6ce2f17e3188d8ef6b0e50d77d5b0219232cf9bee9\ - d56c8bd8252d1edb59d99c40cf32d07d9e5a48930281c100f028143e3f9d1317\ - aafb814215ffda9c584da8943e96212c90a082c3d2f335e8a6b64d1c890aa222\ - 4ebf158bec2b6fe6bad236417acd517a4907331e0be0dd0b801218ac270acdd4\ - 5579290be1b94bc418b8f82c651d82a19d2f0e1cbb0fbc0f054d95150af96f9a\ - 7488010787a799c544883ff76a4e3092f2ca9aa9000cecb88dda343c972c8192\ - a83820727b1945c1a270cf913ab932457e8e6e207d06cd0efdf265b762b9fa15\ - c9a14633af17204ba2b755ed1b3b421ac596a2a04e64be430381c5000281c100\ - 819c8cedb9c014aa577e9046b90795accbebe81bef68b1b5c37c68cb357e1a5f\ - f92761bc26cb0953956b6c0aec05acfc9d1a27c50789793b13d9eaf2361760c9\ - 7a7d86e7d922f4809a5d2d01448e938190bbc24c150e03ef8305365ddbf5ca19\ - 6857314e3b3023f8ddc9d209bd7dad1ee763e7003fd1b0c53057d2e9acadd23a\ - a18f83d20143bc41a2dfa4a164c82621fc0f800052ec01bec7c99c66fe20ec57\ - 67e6fbbe8810cd5aa75eff3d8a4cb53e1259ebcfebcc2fcf21ba7f3589cd525a -Test: KeyPairValidAndConsistent -Message: 9F6DC301DF53FE22CAC0 -Signature: 15B22111FEFA4AC1E53F2FEC346559E3613BB94F7BB3E2B7551D8B982FA10C38E7F182834DFC7391155FFA42AB945A29E118 -Test: Verify -Message: 2D7B5B9A27EAB468331E -Signature: 029EEA97097FE926DD09821284BCA3F45750B1F8102380D20100596D914DBF6BEFBE1B7A938E3AA5D656B6FD99E8EEE7C606 -Test: Verify -Message: F552FCBBA04FFCCC5CB6 -Signature: 115DE3CC1553CD5E4D40CCED80146DB1D76C10D992AACBCBCB05375C5FDA9F65B9A19DF7E51E6A36A3F2830AEA433AFD4F8B -Test: Verify -Message: 0D52B894153A4BB74068 -Signature: 0F6B8CC28D82E22B9B87D62CFF5C7B2289BB2F8008C42F105B2322CF95BC6D443A9D89A292F482490D94693A44DDF7AC4BD3 -Test: Verify -Message: 294442E103CC0CBA32A6 -Signature: 0FBD8768A18C2B28CE95775AD734157C34C1C3961C1DBBAFDD0A3E92A312A7925AFC9F7F4760FB0C56B42A2042C6B8B37C0E -Test: Verify -Message: E993D8FE1E6F6C3914ED -Signature: 0559D66BAC906C607BBA769AAFEB93E9AEC55FDD4597E432870CDC8A3DF9778301A0B218C886F6B08A414C51BD2F8214201A -Test: Verify -Comment: 2048-bit DSA key -PrivateKey: \ - 3082025d0201003082023506072a8648ce3804013082022802820101009a0886\ - 5d2bc9e0cf03d2500b2a08402bb9dc953d5fcd73f04be61236efc0998a8f012f\ - 00e52f7a6e91e81b88a4c9f985a2da523cbe7caff08cae44963d2035eda72e1f\ - 31f82c8d64c86e686899d53c0200282f407ceb1507db480f1db223606a57466c\ - f60fe9fc5f7ea7d5fd82ed3ab2cf5e35491dfaef0aa2e10fbfa3cdfeb5ebf65e\ - 4dfc2837e1f6399db06cc2e0420c7b14a4c0d483b742ca58b31fec9f26a64e9b\ - fcaa82334e644f4b954e2a9c7eeae096b8864ecd223ead3bcf9e8c1f68f6678f\ - accdb7f26d8f33d8a5fb0cb156cc7daf4a96ec2b730c0d7f666d699f7345a37d\ - dc1ccdea6d8f439ddb23de04a941b246bc257b0aef544a8e868bc8444f021d03\ - f35f80fcd896f03eda9ff07f2e35295384c4f3b8f8c4821369ab541702820100\ - 75c5d8c8f72302d92be3bf486b8648330ff86954de5e6e83efef624a277574c1\ - 6757684d3874ee303fa08343fe82dae484e5dda6781280b434c4090044cc7ff9\ - b6e962594d3ca069815c0f0b6bfd25215a419420d0ef8a1595c6eb1b44a719b4\ - 0131081f75cc15cb09a5d5a029c8546230c30b4af2d4a9f4374c93a095c83b59\ - 4b1774d635d4aee965f1d094469f7bbf8bdc93216a6b8a6c5753b48962335bf2\ - 092aa583c897878c8a7ce61186b592b05d2aea710b673d5994cedb5f117fdb6b\ - 8ad4d89f443c4eb662b428a34a7522c69794cc0274f3eba837e90da86acbc707\ - 4ee3a0b029d970efa48b3d582b740ae0e585d175a5f63a385f8b6b8878b44e1a\ - 041f021d0212c34d3d17b96a899548ebf43bb886676acebd2f040f5b33a4e88d\ - 2d -PublicKey: \ - 308203423082023506072a8648ce3804013082022802820101009a08865d2bc9\ - e0cf03d2500b2a08402bb9dc953d5fcd73f04be61236efc0998a8f012f00e52f\ - 7a6e91e81b88a4c9f985a2da523cbe7caff08cae44963d2035eda72e1f31f82c\ - 8d64c86e686899d53c0200282f407ceb1507db480f1db223606a57466cf60fe9\ - fc5f7ea7d5fd82ed3ab2cf5e35491dfaef0aa2e10fbfa3cdfeb5ebf65e4dfc28\ - 37e1f6399db06cc2e0420c7b14a4c0d483b742ca58b31fec9f26a64e9bfcaa82\ - 334e644f4b954e2a9c7eeae096b8864ecd223ead3bcf9e8c1f68f6678faccdb7\ - f26d8f33d8a5fb0cb156cc7daf4a96ec2b730c0d7f666d699f7345a37ddc1ccd\ - ea6d8f439ddb23de04a941b246bc257b0aef544a8e868bc8444f021d03f35f80\ - fcd896f03eda9ff07f2e35295384c4f3b8f8c4821369ab54170282010075c5d8\ - c8f72302d92be3bf486b8648330ff86954de5e6e83efef624a277574c1675768\ - 4d3874ee303fa08343fe82dae484e5dda6781280b434c4090044cc7ff9b6e962\ - 594d3ca069815c0f0b6bfd25215a419420d0ef8a1595c6eb1b44a719b4013108\ - 1f75cc15cb09a5d5a029c8546230c30b4af2d4a9f4374c93a095c83b594b1774\ - d635d4aee965f1d094469f7bbf8bdc93216a6b8a6c5753b48962335bf2092aa5\ - 83c897878c8a7ce61186b592b05d2aea710b673d5994cedb5f117fdb6b8ad4d8\ - 9f443c4eb662b428a34a7522c69794cc0274f3eba837e90da86acbc7074ee3a0\ - b029d970efa48b3d582b740ae0e585d175a5f63a385f8b6b8878b44e1a038201\ - 050002820100267f9c3ff3ee3cbc0f9e94dc7e6837e1ff65175e967987b90b9a\ - ea7eef1de6e4c342bebb5dbd0c4e2f6514f2d487857a146dda6cfdbc8b56ed25\ - 4cd65754d84dd21a271cd15fc656274725643728b41ce3f0e6872b6dfb4c289e\ - 03f9b903880ce3d7d745dfbb641c8c42ec0bfb6951ca2611fd877c32248c9725\ - 2bdb42d7bd65ebc50653dff389526c546d1e6ebaf6bd8b3298c01935901b7efb\ - 288b78730d89fba7f46f2a642aee0dbc93aa29c190b201acf89d4f8ba28f3e3f\ - 54a1c5a48294dda908f904afb7db398682c809ce13abd49279221d5b40ad7621\ - 6bad7ca256d718d3552344c481b20da5aac3e637fb7edeaf7960b532ef761376\ - 489f02fa8c10 -Test: KeyPairValidAndConsistent -Message: 5F3914F7AE0F6C76D152 -Signature: 03D30B7EAADDCB384CECDBB7541DFE57187242C836A6C72AF6C2525E1A01DB97DF3F41156089162FAFC87361F2F28E55616A50633637FB13EFE3 -Test: Verify -Message: 769583D4E7EAD14C137A -Signature: 01DC2815FD4918B8D314526066A03AD6593C8CED9E1ED04252B1BBA59D019F1C965028DA88BF4DB35AEDBA2C3C963B7933E5C07C590EF78BDFA1 -Test: Verify -Message: 6441D5239F50C71DE0F5 -Signature: 013F6D395DE56832F72F17F7F7572BB6DD1C48BADCBDEA91F0A634486E034B617DA8F5AB5E6F78C691313F822C599B6400A0A119A5DA330C6830 -Test: Verify -Message: F1C2D4F7C3ECDF2C17B7 -Signature: 006441A8B3517613F950BC1C84504082C0C3EA10CC08DCC1DA22E05480036D78345B17244F0DE41DA8342AF3441489CF9880BAA01BF2745CAB3A -Test: Verify -Message: 752A1F2B8D9A717A882F -Signature: 0127027984402F5B8C7DB1B7666FFA787548E4200D26B9D3B20EA9B4370298A9BDC901F324844613E8B5F34F2BFE40D9E6513D0E207B5105A9B1 -Test: Verify -Message: 666DC6B1E871026EDE56 -Signature: 03E87B55A7E81318B6B7057C901F8E3DC564053C1EA08B1F1FD965453803F21C20CE7FCCF606FB1328EC987666E87AF16ABE6B42DB854BFAA019 -Test: Verify +AlgorithmType: Signature +Name: DSA-1363/EMSA1(SHA-1) +Source: generated by Wei Dai using Crypto++ 5.0 +KeyFormat: DER +Comment: 1024-bit DSA key +PrivateKey: \ + 3082014c0201003082012c06072a8648ce3804013082011f02818100bd670f79\ + b0cde98a84fd97e54d5d5c81525a016d222a3986dd7af3f32cde8a9f6564e43a\ + 559a0c9f8bad36cc25330548b347ac158a345631fa90f7b873c36effae2f7823\ + 227a3f580b5dd18304d5932751e743e922eebfbb4289c389d9019c36f96c6b81\ + fffbf20be062182104e3c4b7d02b872d9a21e0fb5f10ded64420951b021509b2\ + 940496d6d9a43bb7ec642c57b302e59b3a515502818100a1c379ba91fe1f9d52\ + 83807b809c698bce4aee6f405f4de8c46becf33c08a63bc5f8088f75b5b6bcfb\ + 0847ccbdee700e4e698652317bbd7a3056404c541136d7332c2b835ef0d1508e\ + f57b437de60675f20f75df0483f242ddeb57efacd180418790f4dec0a8250593\ + ba36f17316580d50db1383ea93a21247650a2e04af904d041702150355dc8843\ + 45c08fb399b23b161831e94dbe61571e +PublicKey: \ + 308201b73082012c06072a8648ce3804013082011f02818100bd670f79b0cde9\ + 8a84fd97e54d5d5c81525a016d222a3986dd7af3f32cde8a9f6564e43a559a0c\ + 9f8bad36cc25330548b347ac158a345631fa90f7b873c36effae2f7823227a3f\ + 580b5dd18304d5932751e743e922eebfbb4289c389d9019c36f96c6b81fffbf2\ + 0be062182104e3c4b7d02b872d9a21e0fb5f10ded64420951b021509b2940496\ + d6d9a43bb7ec642c57b302e59b3a515502818100a1c379ba91fe1f9d5283807b\ + 809c698bce4aee6f405f4de8c46becf33c08a63bc5f8088f75b5b6bcfb0847cc\ + bdee700e4e698652317bbd7a3056404c541136d7332c2b835ef0d1508ef57b43\ + 7de60675f20f75df0483f242ddeb57efacd180418790f4dec0a8250593ba36f1\ + 7316580d50db1383ea93a21247650a2e04af904d03818400028180255cf6b0a3\ + 3f80cab614eafd5f7b2a6d83b3eafe27cd97b77ae70c7b966707d823f0e6aaaa\ + 41dc005aaefd3a0c269e60a665d2642f5d631ff1a3b8701bc06be9c44ab7367f\ + 77fefeec4c5959cd07e50d74a05af60b059ad3fc75249ecf44774b88b46860d9\ + c3fa35d033bcfc7b0b2d48dc180d192d4918cddff4f7ebcdaaa198 +Test: KeyPairValidAndConsistent +Message: 66B92E1E2C44B80F7BFA +Signature: 06418D4F24A8059553951CA062BBD6E0833ED1745608E1158CA4B8F8FE1CD2AF087B5EEE08FCA0D7A63C +Test: Verify +Message: 973266BB0A492248082A +Signature: 02BA236FE800EECABB85698A76B5485865454B3016010755F0E1BF7CE26FB62BE4FD01141F5CA4144811 +Test: Verify +Message: 9A6D079ED0CA9D8B40E8 +Signature: 045BA3DB16E6B910DC89A2D26096625F757D62077D049886B85EBC7500884B4DDD1898BC52746C54F68D +Test: Verify +Message: AA34DCE67BCDAC927DA6 +Signature: 0835C94121313842ABF04D4960E711D1F0904612BC09840989EEAFF2071522B75957DEAC801574BD22EB +Test: Verify +Message: 4EDAC08816AFDBF284DA +Signature: 08E1574E5299C910694D17075136F41EBD558D1B1805CAA3B6E98DCCC3702F286E76BBD29435CA2CEA5C +Test: Verify +Message: D82F2E903230962B8174 +Signature: 0366F1AE94FD2CDEBA4EE879BB8923F0E49CFB921008E6A5C7457E88811D46DC7F297D6A96E909268244 +Test: Verify +Comment: 1025-bit DSA key +PrivateKey: \ + 3082014c0201003082012c06072a8648ce3804013082011f028181017310bf02\ + d70ef2cee45d1cc47ec8ce8cabdd6bf32a560975a42ef057bf9dfd553bc9368d\ + db154a55d855edaa755e69f511a4c69ba78571cc4b14ddbb0f32a4a9c56c2863\ + 05aa21ec4e35de7390747477b3bd574e7b87cbebde2f665703137a1172350ad2\ + f48a0884d076ada9db82f104e6b0ad86693cd4adbd0067639102fcf102150b39\ + 49dadf3196f08bca0606f06443afce2fb1d02f028181015f0f6d1729ef2af723\ + c00e36450a04c7e7681d65b74a6417a53b3eb6036989eff8e0ab11a7ec3ce234\ + 0b7c7a92e1a977aee52555c06c12c4cc28496ddc2598feeb7539ce90d3888e21\ + f61d7f14746cf67d9fed373afd97e2483700e300ed9da25e7200b363a4727ad2\ + 01194b36ea5f816cf83488c3e527d3a5515870d2da63d6041702150696b0f255\ + 468b7ac18e11632f208ca86383a46724 +PublicKey: \ + 308201b73082012c06072a8648ce3804013082011f028181017310bf02d70ef2\ + cee45d1cc47ec8ce8cabdd6bf32a560975a42ef057bf9dfd553bc9368ddb154a\ + 55d855edaa755e69f511a4c69ba78571cc4b14ddbb0f32a4a9c56c286305aa21\ + ec4e35de7390747477b3bd574e7b87cbebde2f665703137a1172350ad2f48a08\ + 84d076ada9db82f104e6b0ad86693cd4adbd0067639102fcf102150b3949dadf\ + 3196f08bca0606f06443afce2fb1d02f028181015f0f6d1729ef2af723c00e36\ + 450a04c7e7681d65b74a6417a53b3eb6036989eff8e0ab11a7ec3ce2340b7c7a\ + 92e1a977aee52555c06c12c4cc28496ddc2598feeb7539ce90d3888e21f61d7f\ + 14746cf67d9fed373afd97e2483700e300ed9da25e7200b363a4727ad201194b\ + 36ea5f816cf83488c3e527d3a5515870d2da63d60381840002818045bf83e62f\ + 50190374b23de5e4a1d0278e9e8e6c8335577d62e80662a380c206e326819c50\ + 82d321dfda1f905fa5a3ead9a2dc769885a27b1fd6a133185dc5a7876a76ab0a\ + 09fe02b7071a924169e4d2d2a67e67ed3628800134183b962c0b313463aa154e\ + 6437d644e025ab234e63d19c129842a61c5e5ea5a06466c858c81c +Test: KeyPairValidAndConsistent +Message: 2F585D0CE4FA1CD93880 +Signature: 0643ABF8D3C2F4BAB02CF79D698948A1A416BEC05D00F33CC3D41CA9117E6CD99E5DCBBD4425DA12E98E +Test: Verify +Message: 4F09A1F217B8393199EE +Signature: 052DE620B5628EECCF7C56410CAC2B72A5AD1B5A67072ABF369453BC28A386ACD5939C9985C09338FD03 +Test: Verify +Message: 03D7110A753B008A76A0 +Signature: 01D44D16B5FDFB8C39AACEA72391A889EECBFFB5E701EB8F46E4FAB96326F73E0CC698E1F66C32FE5C2E +Test: Verify +Message: 129F4781D417671F886D +Signature: 00CE142CE967BA951B9DE26DEFB5B341CB49247C1308515315449B5533ED469B6470C4E3A3751E35E7BB +Test: Verify +Message: 3E1594F559D1248D1112 +Signature: 07B192657E256B60567BF6EB399D8A2DE8FFF7AE8A031A655BEC911A82049155CDB4F2A76A8004AE646D +Test: Verify +Message: D6F0354F1B6B253B6997 +Signature: 07FE18E0C00F6AC3CBCB95874AB66A98E34DF74F37059178C920C5D13CE173B8D2832310B9587940F6D9 +Test: Verify +Comment: 1026-bit DSA key +PrivateKey: \ + 3082014c0201003082012c06072a8648ce3804013082011f0281810250988282\ + 17d00108030801e5f135fc6fd3010be39e49060a96addc8a081198803402c4b4\ + 6e4ce0750fcbab8cf084c7ca8cae09f1b5482d336fa3af47b96791d02d8143e2\ + 74b1325f2213e17f9384c805f479e52a3117cf84869d395f1bc025c918484478\ + d2da1880d32bc519f4e6b2fd2d46958795550ce1765f725626f3fc17021536bb\ + 68cd95dab195f14c4534283e7ea50b00cc31a302818100e2782ad6992f4b7e88\ + 787b4d616744b60e095575a177569c4a069e311e38b7240c43343367e23574c3\ + 0e4d9f05afe1fbe61423bab715915c4ccf28aa0ed2f52b092b86c8ec1f9d4795\ + d6e91c88ba41297625c11a9e1f4f182da13cf51e541038a1266bf32b2dd81ecd\ + 84bb80be8fdf97689942e944b7fbb6981e00cd680ee25f041702152db270c284\ + 328353f979cad99f4133c53acaa6ee71 +PublicKey: \ + 308201b83082012c06072a8648ce3804013082011f028181025098828217d001\ + 08030801e5f135fc6fd3010be39e49060a96addc8a081198803402c4b46e4ce0\ + 750fcbab8cf084c7ca8cae09f1b5482d336fa3af47b96791d02d8143e274b132\ + 5f2213e17f9384c805f479e52a3117cf84869d395f1bc025c918484478d2da18\ + 80d32bc519f4e6b2fd2d46958795550ce1765f725626f3fc17021536bb68cd95\ + dab195f14c4534283e7ea50b00cc31a302818100e2782ad6992f4b7e88787b4d\ + 616744b60e095575a177569c4a069e311e38b7240c43343367e23574c30e4d9f\ + 05afe1fbe61423bab715915c4ccf28aa0ed2f52b092b86c8ec1f9d4795d6e91c\ + 88ba41297625c11a9e1f4f182da13cf51e541038a1266bf32b2dd81ecd84bb80\ + be8fdf97689942e944b7fbb6981e00cd680ee25f038185000281810179b283f6\ + 7868aeded3a0c5633d0e6c18fad77174e2c89c03452593d05e77a9fb029c0ccb\ + 2b6f2328e79c286ee392713f12d9d45578348383b81d11b0e0f7e89965a7785d\ + 5ab64ea25bb73e8acaa8e84cb9897985015757a48c0b1dac3a6a606fe671ea07\ + 3ec434a46f227b8d4b02a46fbba2f6c6216736d669f55778d81004d8 +Test: KeyPairValidAndConsistent +Message: 7E4F2ED4E79062778A2D +Signature: 03DF91D560884BAA90258F0F78A7AB61F9A4A5CF3D363E8DE2EAAB389B9492C2B80C44509BF2372BDEE0 +Test: Verify +Message: A0E35846B5CF1B5BF560 +Signature: 21DF9C60877B6D7F531AAF1C39122779436029685109B2D736A45F51A80099041AA5F118D7D6025AD30E +Test: Verify +Message: 3B138785EFC6F520EAE0 +Signature: 10A38520BAC07202DD1CB5A9C88B15B9579B9A1344025E4C4B9D1BC3AAA8C97AA90121D52E42E59A0A99 +Test: Verify +Message: 0F6BE2AA764B485145D4 +Signature: 0233267173F284737B68D15A500D23F3C86988E3DB28DD55AE3DFEAAA7251D354CB44315D6024CBE3E36 +Test: Verify +Message: 6CD9FBD23EA58826FB04 +Signature: 15A1B0DDA6BDB62D96AC557E3F1F24DCAD0C51EF3523B01EA2A8FD93761D0E4D070BA6352A81F31B776A +Test: Verify +Message: 473A82649565109E9E89 +Signature: 1FE31C3A3EF6F57DE2586A5F2EBD48A5C707092D230E1D217EE0A752EFD9ACA8BF0B9EE9424184B8F8F2 +Test: Verify +Comment: 1027-bit DSA key +PrivateKey: \ + 3082014c0201003082012c06072a8648ce3804013082011f028181055402a8ab\ + e9cda3072ca8601d68032651feb0335856e57f8f8d4ec949098a6459151cefee\ + f91b7aa733668c8cf0e9b96c93c61f3528d4036daa6565646f65d74c4552817d\ + f7e5fb1cc421cfd885e27bb811ad227e81b3fa02f7a00bf01ee6e23fb5572a75\ + f8f29b58bd5f7db435e8a92a923f15d50f34213d29816921bf195b2d0215291d\ + 0ba731a4303070504d8b9615640a5e1345e00f028181051c9d0270b69ceef82a\ + f5aed5f91dc88d585096609d835d03d39cf3ce74f5a3402d4e8e192455493da6\ + 1cc58ee6f54dd941172be3d7642169cbc52273f4b725f1d6c820c3333336c64d\ + 32fb6238121b3ccb7c71b847764946bb0887a44ca9de802cda62efa9dda57375\ + 1084225353f11ed837f3dc25de8374b6fdbfb6e313e46d0417021513b27094d9\ + a5a3a9704cebdbe890da325fa26ad555 +PublicKey: \ + 308201b83082012c06072a8648ce3804013082011f028181055402a8abe9cda3\ + 072ca8601d68032651feb0335856e57f8f8d4ec949098a6459151cefeef91b7a\ + a733668c8cf0e9b96c93c61f3528d4036daa6565646f65d74c4552817df7e5fb\ + 1cc421cfd885e27bb811ad227e81b3fa02f7a00bf01ee6e23fb5572a75f8f29b\ + 58bd5f7db435e8a92a923f15d50f34213d29816921bf195b2d0215291d0ba731\ + a4303070504d8b9615640a5e1345e00f028181051c9d0270b69ceef82af5aed5\ + f91dc88d585096609d835d03d39cf3ce74f5a3402d4e8e192455493da61cc58e\ + e6f54dd941172be3d7642169cbc52273f4b725f1d6c820c3333336c64d32fb62\ + 38121b3ccb7c71b847764946bb0887a44ca9de802cda62efa9dda57375108422\ + 5353f11ed837f3dc25de8374b6fdbfb6e313e46d0381850002818103b06b9909\ + 7cd7145c7d7782b02e247a4741f3c7f39233627f17e13ebff89a18cad6a454c3\ + f32f7ef2910384030da71ae47e1c3fa79c2141dad107f8e715e47fb0bb626baa\ + fc35db769852ebbec2d339c3c3d5f2287cfdd20b3b78ea4607086c42558ae463\ + 7eddd6a74bc1072d0f34d9c0130cbc9e84f537e7ce50df502d17b5c3 +Test: KeyPairValidAndConsistent +Message: AE6DCD9535AEEE3ECC89 +Signature: 1BB090DC4573AA79F34181020C4D5B582BBA67062C23E5DD6913CE91482A05716784BA680F7F4AC1684B +Test: Verify +Message: C83A14EAC016D659F9FE +Signature: 182AC27BC4B77B145BF90E73A2CEEC5325941507F925279DF5B6280664CE82248348C3EDC59DCD428B64 +Test: Verify +Message: 745E02041EB487D16CE6 +Signature: 13C4F9AC03EA094CF7F60B96CAAA29053706E93DEC1024EAA1606E13B2C3062F2D6082846D29E6E60829 +Test: Verify +Message: 62F019655A83501FC4E7 +Signature: 077E19089B0BB32A7B21B0D27218C6E1F14AD432181BB76FF5E7EC35EC01CA47595F4C7ABB8ABD6064A9 +Test: Verify +Message: 351D37A4B5046E885EAA +Signature: 21962B09FF030A41251AD592F8D2AF24144B3AC713245AF18BE28F192FD29326D91F12A76A01477C8788 +Test: Verify +Message: 4073D33915F595F4FF9D +Signature: 1F4CF158E806AFE59139E2A9840BCEF79237800C521E49B7DBDF9830C86E7653FC716B43224EA00C883F +Test: Verify +Comment: 1028-bit DSA key +PrivateKey: \ + 3082014c0201003082012c06072a8648ce3804013082011f0281810abdeff64b\ + 6f28256e4562109bffed29cb5aa95d89cc0ec95da0e773dbff3467c271bbb1e1\ + fbb6af058517fdacdf26b5919674c625eced6317d8631c063f43b3ade2cd633d\ + 554913339071d6ebed5fd665fc5dd7d47b80721a976c3b14fbd253f0f988c354\ + 725289f2897df0a15985c92b2d4da8d087870c251c72d979b8304d5102152368\ + e2b864b250ad45406391e7eeaa3d27cd053c2b02818107c325695dfe315a77ad\ + 7b42f0d18f9d4821b5c153fee7385877602fa54477bb8c0639d2438f34352b97\ + c22d02a7295d2b53d5286a01caa919d6283614690624240af922675ccd4a0534\ + ec336cb79cde31b02b5988cc5a53ca17790d67d803a27bb927b9c59bdc6ac794\ + 175e285cafdece6778ab19a0b444747fee20d5bf929e70041702150771305163\ + 506b2b83bd5279935df1b5fcf180b004 +PublicKey: \ + 308201b83082012c06072a8648ce3804013082011f0281810abdeff64b6f2825\ + 6e4562109bffed29cb5aa95d89cc0ec95da0e773dbff3467c271bbb1e1fbb6af\ + 058517fdacdf26b5919674c625eced6317d8631c063f43b3ade2cd633d554913\ + 339071d6ebed5fd665fc5dd7d47b80721a976c3b14fbd253f0f988c354725289\ + f2897df0a15985c92b2d4da8d087870c251c72d979b8304d5102152368e2b864\ + b250ad45406391e7eeaa3d27cd053c2b02818107c325695dfe315a77ad7b42f0\ + d18f9d4821b5c153fee7385877602fa54477bb8c0639d2438f34352b97c22d02\ + a7295d2b53d5286a01caa919d6283614690624240af922675ccd4a0534ec336c\ + b79cde31b02b5988cc5a53ca17790d67d803a27bb927b9c59bdc6ac794175e28\ + 5cafdece6778ab19a0b444747fee20d5bf929e7003818500028181043e4ae624\ + 4408879264fe6b859b578218705b9a45af22efded27141b7f090cbcbe42dcf48\ + 1df3e41b13920ae02b694eaa6bfd62f2d3c5d677b8c4ce783cbe2789e088b044\ + 89ef535ad4a517351c8835cf128f7ec677a1b1dbe3ae9cc4198ddb6e1cef8e97\ + 8c0725f5063797bc43eb9ae496286cccbad5d4e026e9edb997d2f918 +Test: KeyPairValidAndConsistent +Message: 4867852C83F181CDD010 +Signature: 1D0F4F49AFA0448163604847C9308A824ECE928E05066D47892256DB725FCB31F93F38B9E02C71E100EE +Test: Verify +Message: DA6493C86D6B62C5961C +Signature: 1BB4A8A1B8D81EEE9AB291C49F688F27D2191EA51B15A5DA66A6367D931DAB338E595C80E70CEE4BB644 +Test: Verify +Message: AE2C1136BFE966794A6C +Signature: 02AFAB91234D08FCEC22E57AB5718FBF41A86D2469012F8476BFCF4EA4E03D9F7A6E467ABDD0B5626784 +Test: Verify +Message: B20160E0442E726BE749 +Signature: 140A45F4933F05807A533628962E42A8BEFAF5977917F2A8D8706B8BE83EE6B6CEBCC951553B4E3203B5 +Test: Verify +Message: 3638935C4492F5CA42F2 +Signature: 234F78EF68343E77710E17285E47994AB599F3646315C37B8CC01CF6BE9C803D6B81B232DE9171DA7967 +Test: Verify +Message: DFB674CA6E0FDC0CBE99 +Signature: 1DF9B1B9F78F5FCCCCC5F698EDDBC8EB28C0F4D10002A052284AA4FBA601D3047E3AA97F8CF73731A44B +Test: Verify +Comment: 1029-bit DSA key +PrivateKey: \ + 3082014c0201003082012c06072a8648ce3804013082011f0281811d0f176b67\ + 99b36724c92954c38d0288fa95400c2b14e064f76a6338fccaebca8d978b93bb\ + 76507bc150a50f9fe799fffe12ae2875b13ac1084ffcfde9f62b86185a72f04f\ + f80538d6eac177edc98d61a517b1275bcf4b57aa262e1702d623bc344db7e562\ + 1c949a9b12e9936e88fae9b200a1f8ad5b40ec8220aa301267f38dd702153357\ + 536531dec150be0ef8747f69ea30d987ff7df1028181067dd80dbc6b41f58d08\ + f077a9a3dcbfe12a62065fe6b4691c457f506b56dcab0433b3aad6ef96250163\ + 3d0f3947b491a1317e7e6b632f062c53104d609c9222b056f08a0c83662a7074\ + 4331fd09b2b42fb0768e52da27e92732106fbd41ec737373fd080b56b543d808\ + d49eeb6e1bb0a8619b1edee8fb8295dc042423f684af8a041702152dcdc00a86\ + ecc2a60ebfa6660a83af1d7c3e570b85 +PublicKey: \ + 308201b83082012c06072a8648ce3804013082011f0281811d0f176b6799b367\ + 24c92954c38d0288fa95400c2b14e064f76a6338fccaebca8d978b93bb76507b\ + c150a50f9fe799fffe12ae2875b13ac1084ffcfde9f62b86185a72f04ff80538\ + d6eac177edc98d61a517b1275bcf4b57aa262e1702d623bc344db7e5621c949a\ + 9b12e9936e88fae9b200a1f8ad5b40ec8220aa301267f38dd702153357536531\ + dec150be0ef8747f69ea30d987ff7df1028181067dd80dbc6b41f58d08f077a9\ + a3dcbfe12a62065fe6b4691c457f506b56dcab0433b3aad6ef962501633d0f39\ + 47b491a1317e7e6b632f062c53104d609c9222b056f08a0c83662a70744331fd\ + 09b2b42fb0768e52da27e92732106fbd41ec737373fd080b56b543d808d49eeb\ + 6e1bb0a8619b1edee8fb8295dc042423f684af8a0381850002818113834f0fa1\ + f42abf7dbd264cb7d2eb5798da8972df67f517c62d7ae5070fd588d61db62e49\ + 2f9654833e876ed5737df35069f5ee01a45de881d8f5e68ec52ad9ef32780e8c\ + 453a5f1e38cc17bc5cd061a3c122080f6e1b82d31877e8b08f634f497bd90b06\ + 824eaa0416c64104ce5622c272673d0dedb836ac7d47e0cea0673902 +Test: KeyPairValidAndConsistent +Message: 1E34034C47FE533F8FF5 +Signature: 04E171B845E602A871CD5DACA5738BC4585A452A86108D03D70C3D2D605FAE90DB8D339AADB692EB1ABE +Test: Verify +Message: 53D2CA23AF7DF95634F0 +Signature: 1327D4C32DFB874EA2104A9B30EAF288C7016146D1217C237E0201482E483EBC7F0A713748547F9B6B21 +Test: Verify +Message: 0F056E08AE77B3B30F33 +Signature: 1B4A688745F3D86B0D8A5D97FFA0E31C322EFAAD0A0FCD907B2D49EB8150539E81FF29341EC34440425C +Test: Verify +Message: F08C80E8FD38A3867B76 +Signature: 0972705B5E84A8BA57226C770CCB0ECDEBC816EA162FCB3BA5B3C235105EA75F379EE84187E27A86D21D +Test: Verify +Message: 6D392690B92B3E75020F +Signature: 185968475C67C936CB152F76E80EE22FB82A27ED120C5C0ADB2D750D2C38F0A9671EBFEC2815F675C24C +Test: Verify +Message: 10AE0E091A267641FACF +Signature: 1AC3C2010BFB10CA6889120A23F984FE0D4CF79D1B07578217E5A3C68EDF05006C1F3F1BFB3848E4ECE5 +Test: Verify +Comment: 1030-bit DSA key +PrivateKey: \ + 3082014c0201003082012c06072a8648ce3804013082011f0281812a32d68d31\ + 248024053bf628a94404b9a49d91ade4d7a45b071e93292a7f8c2661d9165f0a\ + b85491d4b0dc67d335fa7d7dd172cb17193390a55eb000aa97e2b8ed3ee64b73\ + aa43ea9b8979132c2d966ab03c42cc14782c96e4284ee1136b8515007ed1b1a5\ + 708b5e8d81304fa651edc715918e2299cfe9016dfec5f454d907f59f021527c7\ + 996c1d3729c4cf1de06529e5619771e27ad9eb0281810d87a4b01385da7f43b6\ + 277933c5f0dc8072dcacd5252e1b29f588114a7ac56e377050aa8174b5dda400\ + f043234e4a746442792734dc80274a00a3676101be94759fc2630b9a85896648\ + 8b12611d03d0b31e7243e124497a754544cee1db10bb0a81cf0b2a68045b76fe\ + 935f641c666fdc788a2b968c6668c669115756b961d9fe04170215091155581e\ + cb7a0a792ba95c772d9382298bfdfa6f +PublicKey: \ + 308201b83082012c06072a8648ce3804013082011f0281812a32d68d31248024\ + 053bf628a94404b9a49d91ade4d7a45b071e93292a7f8c2661d9165f0ab85491\ + d4b0dc67d335fa7d7dd172cb17193390a55eb000aa97e2b8ed3ee64b73aa43ea\ + 9b8979132c2d966ab03c42cc14782c96e4284ee1136b8515007ed1b1a5708b5e\ + 8d81304fa651edc715918e2299cfe9016dfec5f454d907f59f021527c7996c1d\ + 3729c4cf1de06529e5619771e27ad9eb0281810d87a4b01385da7f43b6277933\ + c5f0dc8072dcacd5252e1b29f588114a7ac56e377050aa8174b5dda400f04323\ + 4e4a746442792734dc80274a00a3676101be94759fc2630b9a858966488b1261\ + 1d03d0b31e7243e124497a754544cee1db10bb0a81cf0b2a68045b76fe935f64\ + 1c666fdc788a2b968c6668c669115756b961d9fe038185000281810d7d22c931\ + 422fc46505887559a51490c2e367cdb40242cdbaeb23024693fd5c68f6a3307c\ + a34b224457d5aa610b90eca3b39905481daaba7151318f09f974ad664546d14c\ + 87f797e38139ee1e07adba9c775e07b7f7b3edba87d886920d6b2cef5f084359\ + 566b0a3b8b940a65b9ad93fd7ccd1354cdcee3c43c6bd315180498ad +Test: KeyPairValidAndConsistent +Message: 23EEE1D0EA8950B8F322 +Signature: 1800356929B316D1E4FA886CAE0CAD56E32506522D0B8440BB7695D522F31CD87079BEA4CA9F18ED4288 +Test: Verify +Message: 13FA6F2816FB83190A21 +Signature: 207830C2DE87296BC39CD21630F26228F00CF60BC3150CBC82CFA9006534A6C5E354AA281C434A8C2077 +Test: Verify +Message: D071CCC0C6E4CAE82E5A +Signature: 054C9C0C30C6B73AAB9E54C11D4EFC82BD6E8680932501D78A58EE305930E72ACD3BB2565023455DEAEA +Test: Verify +Message: 22CE83F4803BF3EA2C48 +Signature: 07065A6F5C9A086CB83F2F113895730C1B2FE0DCD90FD6AA887B066D685D3DD6C3C0D95CB8C8A48FBFF1 +Test: Verify +Message: 7A927EC7BB9CA16C1B0A +Signature: 24BF344DC7B25F831428078AC0D929A72A29160B6205A1BD4B1B2C5BD8BEFCB650DE23652701DDD4F4EF +Test: Verify +Message: 9591B069993E10BC0B84 +Signature: 0E6E6BF91BBC9FB91FCD3CE32907F5B6AB5E88928C1E3BC92649EDFDFE672AFB654C765F2758DE4BD78F +Test: Verify +Comment: 1031-bit DSA key +PrivateKey: \ + 3082014c0201003082012c06072a8648ce3804013082011f0281814d58515f7b\ + 41c4fc87e4fcefe5cf6d84b2d74a9d6f498ae9605fcbf1c59217422001a272ef\ + 91dbd09e7af5ee54126dd4fc44bb1ed624d0dd5dafb984d52781140bba40600c\ + bd4752d2c32b43253efee57af6964c339570edb24195502e6d424b84bed65ac9\ + 8c6fc52ec90e40a525f1863a53f2fbe2a0a133342eff4337f26ceb93021526f8\ + 6a81a6bb530c2f9b63e3690e95a0894575f4450281811e24828adb4ebf2becdb\ + dcadf6706631293ad6566803d12479f04a7bb20b6086fe81df164f8bd02c5f41\ + 8c1140d143f11a71170b42d0753c952bfff951b9ca4204868375efaa4afad50b\ + 75787e41c5ab9ce8adcbccecd3716f350bb8aaeca9b6098bd0002d789e1f7db9\ + c19d9045499877b93ecb4e7c64808b742063bbecf60e29041702150e61a054ee\ + 6510734a80f67a54d8c4151c957ef16f +PublicKey: \ + 308201b83082012c06072a8648ce3804013082011f0281814d58515f7b41c4fc\ + 87e4fcefe5cf6d84b2d74a9d6f498ae9605fcbf1c59217422001a272ef91dbd0\ + 9e7af5ee54126dd4fc44bb1ed624d0dd5dafb984d52781140bba40600cbd4752\ + d2c32b43253efee57af6964c339570edb24195502e6d424b84bed65ac98c6fc5\ + 2ec90e40a525f1863a53f2fbe2a0a133342eff4337f26ceb93021526f86a81a6\ + bb530c2f9b63e3690e95a0894575f4450281811e24828adb4ebf2becdbdcadf6\ + 706631293ad6566803d12479f04a7bb20b6086fe81df164f8bd02c5f418c1140\ + d143f11a71170b42d0753c952bfff951b9ca4204868375efaa4afad50b75787e\ + 41c5ab9ce8adcbccecd3716f350bb8aaeca9b6098bd0002d789e1f7db9c19d90\ + 45499877b93ecb4e7c64808b742063bbecf60e290381850002818119b50f1eea\ + 45bfaa22352a38f3c3b86d6f670747ac2fd94359608e25f2bb9f602506bc3572\ + 45deeb4c3c702d435c557da4f4a9fd37330a75547c91681fdbb51f286adb498d\ + 1e489e89b2e6a4eb9ff30222c51fefbeac7435f629f536ac2d6b87664d80e5c9\ + 7398cf489a1d1ca217f7f21ea8e409f938378875cf5f528162e3bc07 +Test: KeyPairValidAndConsistent +Message: B4B3C8FBE82013228A21 +Signature: 0E08FE696A4C70B16A127CAE8C61E5B38B7A1F34402584D1F21F71016054E820E3B1BB866309D93A7DA5 +Test: Verify +Message: 17D2D18302173E2CE992 +Signature: 0203C3869E15F8847B58BD158CB746433AA05F201317C0541908ACD5EA78A02D1FAB79380619199CC5B8 +Test: Verify +Message: 8032AE177D6DF38C7E27 +Signature: 1F436F5BC73A3402221B539F1D7CCBD4C3AE948418216122809E062ACF5D6086546FCBB293B4C7510CBD +Test: Verify +Message: 768640A60A3C62E02428 +Signature: 0A5D52C534A9BF1175247538638077489537025975254955F8A96B0CA2E7985D5D6E3DD54EE298C90100 +Test: Verify +Message: B0999CA45B77ED63639D +Signature: 144DDD0C1BE6D96FC3AFFA240FCD6D2AD0748C848F0C8A25AE8AC2E55A38DE9DBBAFF90CF464547365E2 +Test: Verify +Message: 587EDB968FA82C12C930 +Signature: 01FC4F6F98898F3639E8D93E7C2E6F3945120AD19D15EA13EDC96BED7E73A7D5D161217F1C67F3048BE3 +Test: Verify +Comment: 1032-bit DSA key +PrivateKey: \ + 3082014e0201003082012e06072a8648ce3804013082012102818200d551680a\ + 62ebf98f0ed8930cc5b12de86d0a0c29a0d7e5524c24672a25428833f4c19ac8\ + 83ead22efcc0c6823f2e942c17adb7ab763ff2c7cc2698fa8b6448e514d4628b\ + 197721bdaec780e126ac80ac83f24fef5c154f7690ceba903748be5212e3180e\ + a718ca7a71a49dee939bf9bc5b7845c9648d074587ccd3724493b91f0902152e\ + 802b5369c3f1ddfa789bf8f2ad2e048ced3bf35502818200a9aebee7d29f90b0\ + 81afc4d496a6a78210e918bb57a8a21c5995586c0bf20f7a56bb10a97e05a3a7\ + 23e7db64612b12bb591b1fe7d2e46be8c96a7b2ce7c66076aeded938775ae222\ + 3900adaf52a93f52d62173c82d4b67388c85d4c1127e1edf4643cf09f5375b60\ + c19316c4f8f8fd7daea1d8b44a2d03e97c2741537f63d86b4a041702150f66e0\ + 4c5a75d3eac03d744e5432f23e3aea066a63 +PublicKey: \ + 308201ba3082012e06072a8648ce3804013082012102818200d551680a62ebf9\ + 8f0ed8930cc5b12de86d0a0c29a0d7e5524c24672a25428833f4c19ac883ead2\ + 2efcc0c6823f2e942c17adb7ab763ff2c7cc2698fa8b6448e514d4628b197721\ + bdaec780e126ac80ac83f24fef5c154f7690ceba903748be5212e3180ea718ca\ + 7a71a49dee939bf9bc5b7845c9648d074587ccd3724493b91f0902152e802b53\ + 69c3f1ddfa789bf8f2ad2e048ced3bf35502818200a9aebee7d29f90b081afc4\ + d496a6a78210e918bb57a8a21c5995586c0bf20f7a56bb10a97e05a3a723e7db\ + 64612b12bb591b1fe7d2e46be8c96a7b2ce7c66076aeded938775ae2223900ad\ + af52a93f52d62173c82d4b67388c85d4c1127e1edf4643cf09f5375b60c19316\ + c4f8f8fd7daea1d8b44a2d03e97c2741537f63d86b4a038185000281812640c1\ + 88055329f0b44aaf80f82f7fc7f0e421031834dfbd1fb6d6af6ab3e1c173c901\ + 370a4ce2793c1b88d12f764c58ff064905da9c5001f679c7508972f237bccca5\ + 6524787466a7c9c2d6bb6392963008ed1a3e4cf3b13e66086bce3a4ca04d8cab\ + cf0cadb4c403c7d02a858460d04350e730289cb5adf200b5fdf1198168b5 +Test: KeyPairValidAndConsistent +Message: 909068BEFFA43331FDC7 +Signature: 2CCCFF8A67073E5DF643B61A5AE7A5BC216FE267E713B9005F69797B44ECD33BA5DD87461B5C72C50390 +Test: Verify +Message: AC8AFC7A1D9105539E10 +Signature: 0A2BEB58D806EECDDCBD590EBE4AE5AE7BDA326EA0072ADB9FA6A6FEBF40488C80690A2B1DF141BACF91 +Test: Verify +Message: 310E40311BB3F77F9483 +Signature: 28726153B52FE75F1FAA4C97124EE042065D2C90B50B43F885FC45C42C3ED9BDC4EC2D36A2799A041C67 +Test: Verify +Message: 35455ABD53E6FB11ED9B +Signature: 15B3D6ACA9EAD5AA1501ED201335AF9B46657A4CBF00D19328018D82624D4BD9B22D645429B385DADBCA +Test: Verify +Message: 95FFA73B52F0D06A0C1E +Signature: 2904FA8F78B6DF0D15A08714C8F86B97532A9D13B617EC03F329DA20E42816CCF45DBACB432B1F5011C8 +Test: Verify +Message: 1E9934125DA6E9B4E975 +Signature: 1666A3B9DBE26F2AE3F9BF7CBF47989D87AF82F580147BEC8350E21D4DB0691074F63B85A3A7D8E82A8D +Test: Verify +Comment: 1536-bit DSA key +PrivateKey: \ + 308201d4020100308201b006072a8648ce380401308201a30281c100fada6e4b\ + ecef964a85caf9e129639a5616ac000dbac59bd50b84bc8d464114079c34c5b5\ + 8d7d40027faaf037c6a649c527cb002d3a716bdef62b6c94d7a47a8b65c2ebac\ + 05da09e40cdc417024cccba267a98f4eb69701a276b4f117662b566605c36054\ + e7f015d2e5f81331e5666ec17ebf71907788b40cbcea0f24aaffb029ef5c25c5\ + 5ae998f28a2ddb091d262c32ad324f4e64c7b4b50a19e9d92f6d8024188627cf\ + 5ce68674e7ec7da38fd6cf4ec29a6ce2f17e3188d8ef6b0e50d77d5b0219232c\ + f9bee9d56c8bd8252d1edb59d99c40cf32d07d9e5a48930281c100f028143e3f\ + 9d1317aafb814215ffda9c584da8943e96212c90a082c3d2f335e8a6b64d1c89\ + 0aa2224ebf158bec2b6fe6bad236417acd517a4907331e0be0dd0b801218ac27\ + 0acdd45579290be1b94bc418b8f82c651d82a19d2f0e1cbb0fbc0f054d95150a\ + f96f9a7488010787a799c544883ff76a4e3092f2ca9aa9000cecb88dda343c97\ + 2c8192a83820727b1945c1a270cf913ab932457e8e6e207d06cd0efdf265b762\ + b9fa15c9a14633af17204ba2b755ed1b3b421ac596a2a04e64be43041b02191d\ + 4cedc87d55eea31bd702139b90be08d58692a1f97628a01b +PublicKey: \ + 3082027c308201b006072a8648ce380401308201a30281c100fada6e4becef96\ + 4a85caf9e129639a5616ac000dbac59bd50b84bc8d464114079c34c5b58d7d40\ + 027faaf037c6a649c527cb002d3a716bdef62b6c94d7a47a8b65c2ebac05da09\ + e40cdc417024cccba267a98f4eb69701a276b4f117662b566605c36054e7f015\ + d2e5f81331e5666ec17ebf71907788b40cbcea0f24aaffb029ef5c25c55ae998\ + f28a2ddb091d262c32ad324f4e64c7b4b50a19e9d92f6d8024188627cf5ce686\ + 74e7ec7da38fd6cf4ec29a6ce2f17e3188d8ef6b0e50d77d5b0219232cf9bee9\ + d56c8bd8252d1edb59d99c40cf32d07d9e5a48930281c100f028143e3f9d1317\ + aafb814215ffda9c584da8943e96212c90a082c3d2f335e8a6b64d1c890aa222\ + 4ebf158bec2b6fe6bad236417acd517a4907331e0be0dd0b801218ac270acdd4\ + 5579290be1b94bc418b8f82c651d82a19d2f0e1cbb0fbc0f054d95150af96f9a\ + 7488010787a799c544883ff76a4e3092f2ca9aa9000cecb88dda343c972c8192\ + a83820727b1945c1a270cf913ab932457e8e6e207d06cd0efdf265b762b9fa15\ + c9a14633af17204ba2b755ed1b3b421ac596a2a04e64be430381c5000281c100\ + 819c8cedb9c014aa577e9046b90795accbebe81bef68b1b5c37c68cb357e1a5f\ + f92761bc26cb0953956b6c0aec05acfc9d1a27c50789793b13d9eaf2361760c9\ + 7a7d86e7d922f4809a5d2d01448e938190bbc24c150e03ef8305365ddbf5ca19\ + 6857314e3b3023f8ddc9d209bd7dad1ee763e7003fd1b0c53057d2e9acadd23a\ + a18f83d20143bc41a2dfa4a164c82621fc0f800052ec01bec7c99c66fe20ec57\ + 67e6fbbe8810cd5aa75eff3d8a4cb53e1259ebcfebcc2fcf21ba7f3589cd525a +Test: KeyPairValidAndConsistent +Message: 9F6DC301DF53FE22CAC0 +Signature: 15B22111FEFA4AC1E53F2FEC346559E3613BB94F7BB3E2B7551D8B982FA10C38E7F182834DFC7391155FFA42AB945A29E118 +Test: Verify +Message: 2D7B5B9A27EAB468331E +Signature: 029EEA97097FE926DD09821284BCA3F45750B1F8102380D20100596D914DBF6BEFBE1B7A938E3AA5D656B6FD99E8EEE7C606 +Test: Verify +Message: F552FCBBA04FFCCC5CB6 +Signature: 115DE3CC1553CD5E4D40CCED80146DB1D76C10D992AACBCBCB05375C5FDA9F65B9A19DF7E51E6A36A3F2830AEA433AFD4F8B +Test: Verify +Message: 0D52B894153A4BB74068 +Signature: 0F6B8CC28D82E22B9B87D62CFF5C7B2289BB2F8008C42F105B2322CF95BC6D443A9D89A292F482490D94693A44DDF7AC4BD3 +Test: Verify +Message: 294442E103CC0CBA32A6 +Signature: 0FBD8768A18C2B28CE95775AD734157C34C1C3961C1DBBAFDD0A3E92A312A7925AFC9F7F4760FB0C56B42A2042C6B8B37C0E +Test: Verify +Message: E993D8FE1E6F6C3914ED +Signature: 0559D66BAC906C607BBA769AAFEB93E9AEC55FDD4597E432870CDC8A3DF9778301A0B218C886F6B08A414C51BD2F8214201A +Test: Verify +Comment: 2048-bit DSA key +PrivateKey: \ + 3082025d0201003082023506072a8648ce3804013082022802820101009a0886\ + 5d2bc9e0cf03d2500b2a08402bb9dc953d5fcd73f04be61236efc0998a8f012f\ + 00e52f7a6e91e81b88a4c9f985a2da523cbe7caff08cae44963d2035eda72e1f\ + 31f82c8d64c86e686899d53c0200282f407ceb1507db480f1db223606a57466c\ + f60fe9fc5f7ea7d5fd82ed3ab2cf5e35491dfaef0aa2e10fbfa3cdfeb5ebf65e\ + 4dfc2837e1f6399db06cc2e0420c7b14a4c0d483b742ca58b31fec9f26a64e9b\ + fcaa82334e644f4b954e2a9c7eeae096b8864ecd223ead3bcf9e8c1f68f6678f\ + accdb7f26d8f33d8a5fb0cb156cc7daf4a96ec2b730c0d7f666d699f7345a37d\ + dc1ccdea6d8f439ddb23de04a941b246bc257b0aef544a8e868bc8444f021d03\ + f35f80fcd896f03eda9ff07f2e35295384c4f3b8f8c4821369ab541702820100\ + 75c5d8c8f72302d92be3bf486b8648330ff86954de5e6e83efef624a277574c1\ + 6757684d3874ee303fa08343fe82dae484e5dda6781280b434c4090044cc7ff9\ + b6e962594d3ca069815c0f0b6bfd25215a419420d0ef8a1595c6eb1b44a719b4\ + 0131081f75cc15cb09a5d5a029c8546230c30b4af2d4a9f4374c93a095c83b59\ + 4b1774d635d4aee965f1d094469f7bbf8bdc93216a6b8a6c5753b48962335bf2\ + 092aa583c897878c8a7ce61186b592b05d2aea710b673d5994cedb5f117fdb6b\ + 8ad4d89f443c4eb662b428a34a7522c69794cc0274f3eba837e90da86acbc707\ + 4ee3a0b029d970efa48b3d582b740ae0e585d175a5f63a385f8b6b8878b44e1a\ + 041f021d0212c34d3d17b96a899548ebf43bb886676acebd2f040f5b33a4e88d\ + 2d +PublicKey: \ + 308203423082023506072a8648ce3804013082022802820101009a08865d2bc9\ + e0cf03d2500b2a08402bb9dc953d5fcd73f04be61236efc0998a8f012f00e52f\ + 7a6e91e81b88a4c9f985a2da523cbe7caff08cae44963d2035eda72e1f31f82c\ + 8d64c86e686899d53c0200282f407ceb1507db480f1db223606a57466cf60fe9\ + fc5f7ea7d5fd82ed3ab2cf5e35491dfaef0aa2e10fbfa3cdfeb5ebf65e4dfc28\ + 37e1f6399db06cc2e0420c7b14a4c0d483b742ca58b31fec9f26a64e9bfcaa82\ + 334e644f4b954e2a9c7eeae096b8864ecd223ead3bcf9e8c1f68f6678faccdb7\ + f26d8f33d8a5fb0cb156cc7daf4a96ec2b730c0d7f666d699f7345a37ddc1ccd\ + ea6d8f439ddb23de04a941b246bc257b0aef544a8e868bc8444f021d03f35f80\ + fcd896f03eda9ff07f2e35295384c4f3b8f8c4821369ab54170282010075c5d8\ + c8f72302d92be3bf486b8648330ff86954de5e6e83efef624a277574c1675768\ + 4d3874ee303fa08343fe82dae484e5dda6781280b434c4090044cc7ff9b6e962\ + 594d3ca069815c0f0b6bfd25215a419420d0ef8a1595c6eb1b44a719b4013108\ + 1f75cc15cb09a5d5a029c8546230c30b4af2d4a9f4374c93a095c83b594b1774\ + d635d4aee965f1d094469f7bbf8bdc93216a6b8a6c5753b48962335bf2092aa5\ + 83c897878c8a7ce61186b592b05d2aea710b673d5994cedb5f117fdb6b8ad4d8\ + 9f443c4eb662b428a34a7522c69794cc0274f3eba837e90da86acbc7074ee3a0\ + b029d970efa48b3d582b740ae0e585d175a5f63a385f8b6b8878b44e1a038201\ + 050002820100267f9c3ff3ee3cbc0f9e94dc7e6837e1ff65175e967987b90b9a\ + ea7eef1de6e4c342bebb5dbd0c4e2f6514f2d487857a146dda6cfdbc8b56ed25\ + 4cd65754d84dd21a271cd15fc656274725643728b41ce3f0e6872b6dfb4c289e\ + 03f9b903880ce3d7d745dfbb641c8c42ec0bfb6951ca2611fd877c32248c9725\ + 2bdb42d7bd65ebc50653dff389526c546d1e6ebaf6bd8b3298c01935901b7efb\ + 288b78730d89fba7f46f2a642aee0dbc93aa29c190b201acf89d4f8ba28f3e3f\ + 54a1c5a48294dda908f904afb7db398682c809ce13abd49279221d5b40ad7621\ + 6bad7ca256d718d3552344c481b20da5aac3e637fb7edeaf7960b532ef761376\ + 489f02fa8c10 +Test: KeyPairValidAndConsistent +Message: 5F3914F7AE0F6C76D152 +Signature: 03D30B7EAADDCB384CECDBB7541DFE57187242C836A6C72AF6C2525E1A01DB97DF3F41156089162FAFC87361F2F28E55616A50633637FB13EFE3 +Test: Verify +Message: 769583D4E7EAD14C137A +Signature: 01DC2815FD4918B8D314526066A03AD6593C8CED9E1ED04252B1BBA59D019F1C965028DA88BF4DB35AEDBA2C3C963B7933E5C07C590EF78BDFA1 +Test: Verify +Message: 6441D5239F50C71DE0F5 +Signature: 013F6D395DE56832F72F17F7F7572BB6DD1C48BADCBDEA91F0A634486E034B617DA8F5AB5E6F78C691313F822C599B6400A0A119A5DA330C6830 +Test: Verify +Message: F1C2D4F7C3ECDF2C17B7 +Signature: 006441A8B3517613F950BC1C84504082C0C3EA10CC08DCC1DA22E05480036D78345B17244F0DE41DA8342AF3441489CF9880BAA01BF2745CAB3A +Test: Verify +Message: 752A1F2B8D9A717A882F +Signature: 0127027984402F5B8C7DB1B7666FFA787548E4200D26B9D3B20EA9B4370298A9BDC901F324844613E8B5F34F2BFE40D9E6513D0E207B5105A9B1 +Test: Verify +Message: 666DC6B1E871026EDE56 +Signature: 03E87B55A7E81318B6B7057C901F8E3DC564053C1EA08B1F1FD965453803F21C20CE7FCCF606FB1328EC987666E87AF16ABE6B42DB854BFAA019 +Test: Verify diff --git a/TestVectors/esign.txt b/TestVectors/esign.txt index 63706717..da1bcf23 100644 --- a/TestVectors/esign.txt +++ b/TestVectors/esign.txt @@ -1,93 +1,93 @@ -AlgorithmType: Signature -Name: ESIGN/EMSA5-MGF1(SHA-1) -Source: Crypto++ 5.0 test vectors, generated by Wei Dai -Comment: 1536-bit key -KeyFormat: DER -PrivateKey: \ - 3082014D0281C100E2A6788AB3CC986AEC06C51690143D3677141645D0628165EE924B9AFB7E6EDD\ - 52D90145B2F6031522C7A6CEC05E358F42B7837DACEA589F868F8DCA1C0F5FD8E5EDB8BBBAFCFF6D\ - 64CFCFBE68F46FBA6EFF45BC9D0CBB4F7F6075F5FFC2049C2F304B51C417764E18D182926E02D411\ - 6CE5C5C010E3D0AA6872A49B0D1FF4B37D54689C31F5821D04E9D4DB34D7536EE7F88B8C481B0EC1\ - F93193A0B70567E6FD76E9FAC4F67BB47DACD356D0C8015261E068DDF8C34C0CAFCF3FA775577FEB\ - 020120024100FAF0F292EE96D4F449024F86C0A104E0633C722586EC00AD33E0234629825D2081BA\ - 337597889CAC55DC6BEBDD8F13FE3AA2133D6371601A37D195DA7BC45EF3024100EBE16F88887A42\ - 5AA08E271467CC2220DC44012AB24ED4FF3512A96E8CB600C8BBCB771459FF0EE63D4B6786952A83\ - A7143A775073F0A1D69B6D0B5817755673 -PublicKey: \ - 3081C70281C100E2A6788AB3CC986AEC06C51690143D3677141645D0628165EE924B9AFB7E6EDD52\ - D90145B2F6031522C7A6CEC05E358F42B7837DACEA589F868F8DCA1C0F5FD8E5EDB8BBBAFCFF6D64\ - CFCFBE68F46FBA6EFF45BC9D0CBB4F7F6075F5FFC2049C2F304B51C417764E18D182926E02D4116C\ - E5C5C010E3D0AA6872A49B0D1FF4B37D54689C31F5821D04E9D4DB34D7536EE7F88B8C481B0EC1F9\ - 3193A0B70567E6FD76E9FAC4F67BB47DACD356D0C8015261E068DDF8C34C0CAFCF3FA775577FEB02\ - 0120 -Test: KeyPairValidAndConsistent -Message: "test" -Signature: \ - A3E32065DEDAE7EC05C1BFCD25797D99CDD5739D9DF3A4AA9AA45AC8233D0D37FEBC763FF184F659\ - 14914F0C341BAE9A5C2E2E38087877CBDC3C7EA034445B0F67D9352A79471A523771DB1267C1B6C6\ - 6673B3402ED6F21A840AB67B0FEB8B88AB33DDE4832190632D512AB16FABA75CFD7799F2E1EF671A\ - 7402370EED0A06ADF41565B8E1D145AE3919B4FF5DF1457BE0FE72ED11928F61414F0200F2766F7C\ - 79A2E552205D975EFE39AE2110FB35F480814113DDE85FCA1E4FF89BB268FB28 -Test: Verify -Message: "test1" -Test: NotVerify - -AlgorithmType: Signature -Name: ESIGN/EMSA5-MGF1(SHA-1) -Source: http://www.nttmcl.com/sec/Esign/esign_emsa5_data_ntt.txt, \ - ESIGN ( IFSSA-ESIGN-EMSA5 ) Test Vector No.1-3 ( 1152 bits ) -KeyFormat: Component -Prime1: ec8b4bdc9a56ae7b60619814ec45d617246063b5aac39c286f7c82ec2824c245001b678217a7cf178979c7270eb510db -Prime2: e7b1c3ae3494d0ac7b6868a53a5fe3ba19471437c54b25699e8c348a003e5e1d4c6d244d4f6a78f260c98fc54795a6a3 -Modulus: c5d0b8fac0cc6acc9d52c61200b541f7b4f8ff9f1bda97e0ebf78a3df768ba70ade59306d6ae65655bff7c6a94518c91e43dc0003b6f8730acc244799bdacb1e5070c6ea3089ea83bd5ef0a533adf3d9d63c0e88ce74545cfb21213fc33813fd913c6a6cf84b5adabc7d74751e9945521ac76a790bba95ad48d9d3fb2fbc4b0ed2ddee7d5ea6aa61633eccdac6381fab -PublicExponent: 0400 -Test: KeyPairValidAndConsistent -Message: 86f28c1cb5e640548309b85dc6e64c1a -Signature: 348dc9a0943b1e2ba7ef501cbe970a023b37ca4019b9a5cb35ffc3bcdb28dcbd4193d7817d418bbaf291d97a1eeb918a03ee65caa7ad26c24f9ef807c8798ade5b70d7328cd36ac0844bf63f511bb63067e8236d084cf8af68e88155ea94b978aab6bd0339c55d976434423fc779d549779e81f528d028c7343e060544410e528814fb0874417d1eedf38d6db4b97dd6 -Test: Verify -Message: 2fd87bfa6c8a965c9e1aaa8e3574202b -Signature: 561ad8bd11270c71f00af0e0cf256d858c757e8b55b9c4d6fb6bf71598ab59352992656348c1ff1ccda14fb7c5c3b53be49727c07422b78ffc380eeb03be7bdf07b279337af8a1eb7c5bdb725b33a82926b6afb7a1fff0750cc2532c6f96e28d7f1e621cf222b42bb850312f1a5fb7d99acd1c6f6d2347a121dd478374d6a40a7b0cd42e430f01b926135fc8d850366a -Test: Verify -Message: 888330ef1dc1588d578badde35c98d1e -Signature: 915d64d7b9b811fe8b58eaff4c2bf9ce2ad886eef95b28093f8c21f4ca950fdb2f6e77f97d0f2f8158445347f5b3ce33e082f3b5204522e15614d1891078d9557796726b5555cbd8d5489638ecf4738257dea70175fe27de54b1f45c0a96c229bd59260bebfb241e8eacb8a1a23b9a9a79b6d1f52cfed8cca2f1968e37d76c435ad1acd44131ef2c5f5e4ea8a33aee4e -Test: Verify - -AlgorithmType: Signature -Name: ESIGN/EMSA5-MGF1(SHA-1) -Source: http://www.nttmcl.com/sec/Esign/esign_emsa5_data_ntt.txt, \ - ESIGN ( IFSSA-ESIGN-EMSA5 ) Test Vector No.4-6 ( 1152 bits ) -KeyFormat: Component -Prime1: d64dac2fb3506111bbac11a04e138d2d6f32df119f2f259065cf5785a46aaf404ad887f0a310b36be4a3a1a33c8a054f -Prime2: d1158628ed1e0695c02a821ab8590f59fc1a3fb1e19ee192ab789e9d963766d78f55cfef9bf58c0c774a32d8a8943955 -Modulus: 92855120174c4a115bf525fa1f2ebf68d8328162149a5a6751b2512584eab7e5582d38d0e5029e01ece85a484030bb884a29121d8924f0195b22842b16436cd36c33bbe843e1cf7a585e89894b14595641d081a3077d667096df251bd93c86ebd94e0d555601794fa66fa2bcea920287c19922bed486a4f631390d1e36cc3635b509cb14c44d50313919a6cbb75eff35 -PublicExponent: 0400 -Test: KeyPairValidAndConsistent -Message: 16a3632339c463e243a4909f8a3810a8 -Signature: 7d8790ee852a4f3ba8bb3fa0f6fc30c29b6bc2bc538195826544138dcb92500122148ac2cf0dc77dd37182c2267a73317ce5b2ae26db79204abe0e10c7212ba8de99fdc5cf498f7ee689588541fb78291afb9b65242f725a4aa32b119957b4314a58b4239a0235b9b1a8a6efbaa3601961d4b0730a6d9e5659f20105931d473daf3d378b39b7f3f01516d72ade9ef68a -Test: Verify -Message: ef8bcad6c164a86b0e0a3c011d556744 -Signature: 6ce6024f64a7f04a0fe29b65cf2ec2ac49d9f90078a77db8bc260d3cfef233165a90b29d5787218b4d05a0e9321f2e802a8ed6d1a4201feb982a5d06bef051d60436d8c61a249432e662e625806526075f02b60d198142b96b67a4ac31d0071a1f971dae5a6a1b6db177591edfe80f7e51c7335441490f05f214b5a1aec94de572e3ec11ef4bebeb42f27037d38a186f -Test: Verify -Message: 29023889c79230c1c479820c5ff2e006 -Signature: 85f0b648ee0f6d30a18666e2da8bcda319ede91ca18e018548e2a1c21b0e0049b91528eba4da3be4551b26c4e59e6aba25312874f2320eaf7c94c541e17fb16fb0d9d9928ea526b0fc0c0fb2d12e425a5917e4039a5366585327bc3456107ff31c889c5e04259457dfe65952dc43cd35f4ca689272769096b9583bbffad4a057673f938fa7192bbca44598cf5600e3eb -Test: Verify - -AlgorithmType: Signature -Name: ESIGN/EMSA5-MGF1(SHA-1) -Source: http://www.nttmcl.com/sec/Esign/esign_emsa5_data_ntt.txt, \ - ESIGN ( IFSSA-ESIGN-EMSA5 ) Test Vector No.7-9 ( 1152 bits ) -KeyFormat: Component -Prime1: fd5708b30e8ee342bacaeb01c0d3baa91a833dacff2878c7df62e04a65afe770acdcefeaf8a72a5809387e5ed97756ef -Prime2: fa335563d5da151e3ab025f3b77d3f1eaf4a0d431012e79b12ca8ec433d347bd9a2b5179f2ed332a19ea2cad694c97dd -Modulus: f5072ba25e7df2c0e0a0abde031dda9534a493396ab895e6132abc90f993535ce55d6395e1fd548371228decc1cfefa9737344243ddb1eccbbc22d68571617afb23638c3f0222a84b0a8c9889ab934aa84cc92e14d972670db6d2105bbd0212c1843ff0ccbae19535ac01cf02ad98aa941fce32fac874cea7f1f83969fbaf025fb562a087efb4652210d45279312da7d -PublicExponent: 0400 -Test: KeyPairValidAndConsistent -Message: abbf5c71245af5d272e627ec845e9ed4 -Signature: b75e2869c052df20d6c008dd911a5bd752d5a23ee42ae47def37f76f6b2d5f04eb8d9b0783c502e0abd30bc567a6672292c3a6736fe8d4034fad857456cd599259d09f42f1d4c64d244fd149f6316f0b763be0de4f9da7f9649a76b984fe2ae99293d406904a9df59d28cc8a58b7ad0029657a47ac0e28d6353287df1ea8feef2fbb65d86425e80487420c1c9c1bda7e -Test: Verify -Message: cf2c943bc4c23175b43ba128c75339d1 -Signature: 64616eb627bf49c2a5a183479a66b7dae12cd1a0982baa0cc12329f594196b9de47909e6b5cf4653bfccdeeb5478fd88c31c197c9adc335a84ec58664ce5fc55c7b2f17b0f32ffac4ff3f3b4ddb3ce125ab7e43efc0be6ae8357895ab5f118a4ec71b57cc1b252373fecd4a1f404ed295f2d97868e3737fdd6fdf124bc2f1e083b57d5c237db775d429d08d5b5ced857 -Test: Verify -Message: 4d011f09f665d5f4a12595900e3827ec -Signature: 1911d3df18bdd9907b69ce6b655086c952c92d826bbef199fb1e0dcb7209a1b28d0a03beabc9e7d8df052febe26f691ff808caaac697c3005d524f3da8c700bf620aa37fd0793b3f22c6a488d733336d040642e0767755391951a754a1111345b912b4c0228ab154eb4baac0383a54023bd7c7ea2ed4bb894444b80d7e5f18407f51c3af858b9fa9198190b4b540fce8 -Test: Verify +AlgorithmType: Signature +Name: ESIGN/EMSA5-MGF1(SHA-1) +Source: Crypto++ 5.0 test vectors, generated by Wei Dai +Comment: 1536-bit key +KeyFormat: DER +PrivateKey: \ + 3082014D0281C100E2A6788AB3CC986AEC06C51690143D3677141645D0628165EE924B9AFB7E6EDD\ + 52D90145B2F6031522C7A6CEC05E358F42B7837DACEA589F868F8DCA1C0F5FD8E5EDB8BBBAFCFF6D\ + 64CFCFBE68F46FBA6EFF45BC9D0CBB4F7F6075F5FFC2049C2F304B51C417764E18D182926E02D411\ + 6CE5C5C010E3D0AA6872A49B0D1FF4B37D54689C31F5821D04E9D4DB34D7536EE7F88B8C481B0EC1\ + F93193A0B70567E6FD76E9FAC4F67BB47DACD356D0C8015261E068DDF8C34C0CAFCF3FA775577FEB\ + 020120024100FAF0F292EE96D4F449024F86C0A104E0633C722586EC00AD33E0234629825D2081BA\ + 337597889CAC55DC6BEBDD8F13FE3AA2133D6371601A37D195DA7BC45EF3024100EBE16F88887A42\ + 5AA08E271467CC2220DC44012AB24ED4FF3512A96E8CB600C8BBCB771459FF0EE63D4B6786952A83\ + A7143A775073F0A1D69B6D0B5817755673 +PublicKey: \ + 3081C70281C100E2A6788AB3CC986AEC06C51690143D3677141645D0628165EE924B9AFB7E6EDD52\ + D90145B2F6031522C7A6CEC05E358F42B7837DACEA589F868F8DCA1C0F5FD8E5EDB8BBBAFCFF6D64\ + CFCFBE68F46FBA6EFF45BC9D0CBB4F7F6075F5FFC2049C2F304B51C417764E18D182926E02D4116C\ + E5C5C010E3D0AA6872A49B0D1FF4B37D54689C31F5821D04E9D4DB34D7536EE7F88B8C481B0EC1F9\ + 3193A0B70567E6FD76E9FAC4F67BB47DACD356D0C8015261E068DDF8C34C0CAFCF3FA775577FEB02\ + 0120 +Test: KeyPairValidAndConsistent +Message: "test" +Signature: \ + A3E32065DEDAE7EC05C1BFCD25797D99CDD5739D9DF3A4AA9AA45AC8233D0D37FEBC763FF184F659\ + 14914F0C341BAE9A5C2E2E38087877CBDC3C7EA034445B0F67D9352A79471A523771DB1267C1B6C6\ + 6673B3402ED6F21A840AB67B0FEB8B88AB33DDE4832190632D512AB16FABA75CFD7799F2E1EF671A\ + 7402370EED0A06ADF41565B8E1D145AE3919B4FF5DF1457BE0FE72ED11928F61414F0200F2766F7C\ + 79A2E552205D975EFE39AE2110FB35F480814113DDE85FCA1E4FF89BB268FB28 +Test: Verify +Message: "test1" +Test: NotVerify + +AlgorithmType: Signature +Name: ESIGN/EMSA5-MGF1(SHA-1) +Source: http://www.nttmcl.com/sec/Esign/esign_emsa5_data_ntt.txt, \ + ESIGN ( IFSSA-ESIGN-EMSA5 ) Test Vector No.1-3 ( 1152 bits ) +KeyFormat: Component +Prime1: ec8b4bdc9a56ae7b60619814ec45d617246063b5aac39c286f7c82ec2824c245001b678217a7cf178979c7270eb510db +Prime2: e7b1c3ae3494d0ac7b6868a53a5fe3ba19471437c54b25699e8c348a003e5e1d4c6d244d4f6a78f260c98fc54795a6a3 +Modulus: c5d0b8fac0cc6acc9d52c61200b541f7b4f8ff9f1bda97e0ebf78a3df768ba70ade59306d6ae65655bff7c6a94518c91e43dc0003b6f8730acc244799bdacb1e5070c6ea3089ea83bd5ef0a533adf3d9d63c0e88ce74545cfb21213fc33813fd913c6a6cf84b5adabc7d74751e9945521ac76a790bba95ad48d9d3fb2fbc4b0ed2ddee7d5ea6aa61633eccdac6381fab +PublicExponent: 0400 +Test: KeyPairValidAndConsistent +Message: 86f28c1cb5e640548309b85dc6e64c1a +Signature: 348dc9a0943b1e2ba7ef501cbe970a023b37ca4019b9a5cb35ffc3bcdb28dcbd4193d7817d418bbaf291d97a1eeb918a03ee65caa7ad26c24f9ef807c8798ade5b70d7328cd36ac0844bf63f511bb63067e8236d084cf8af68e88155ea94b978aab6bd0339c55d976434423fc779d549779e81f528d028c7343e060544410e528814fb0874417d1eedf38d6db4b97dd6 +Test: Verify +Message: 2fd87bfa6c8a965c9e1aaa8e3574202b +Signature: 561ad8bd11270c71f00af0e0cf256d858c757e8b55b9c4d6fb6bf71598ab59352992656348c1ff1ccda14fb7c5c3b53be49727c07422b78ffc380eeb03be7bdf07b279337af8a1eb7c5bdb725b33a82926b6afb7a1fff0750cc2532c6f96e28d7f1e621cf222b42bb850312f1a5fb7d99acd1c6f6d2347a121dd478374d6a40a7b0cd42e430f01b926135fc8d850366a +Test: Verify +Message: 888330ef1dc1588d578badde35c98d1e +Signature: 915d64d7b9b811fe8b58eaff4c2bf9ce2ad886eef95b28093f8c21f4ca950fdb2f6e77f97d0f2f8158445347f5b3ce33e082f3b5204522e15614d1891078d9557796726b5555cbd8d5489638ecf4738257dea70175fe27de54b1f45c0a96c229bd59260bebfb241e8eacb8a1a23b9a9a79b6d1f52cfed8cca2f1968e37d76c435ad1acd44131ef2c5f5e4ea8a33aee4e +Test: Verify + +AlgorithmType: Signature +Name: ESIGN/EMSA5-MGF1(SHA-1) +Source: http://www.nttmcl.com/sec/Esign/esign_emsa5_data_ntt.txt, \ + ESIGN ( IFSSA-ESIGN-EMSA5 ) Test Vector No.4-6 ( 1152 bits ) +KeyFormat: Component +Prime1: d64dac2fb3506111bbac11a04e138d2d6f32df119f2f259065cf5785a46aaf404ad887f0a310b36be4a3a1a33c8a054f +Prime2: d1158628ed1e0695c02a821ab8590f59fc1a3fb1e19ee192ab789e9d963766d78f55cfef9bf58c0c774a32d8a8943955 +Modulus: 92855120174c4a115bf525fa1f2ebf68d8328162149a5a6751b2512584eab7e5582d38d0e5029e01ece85a484030bb884a29121d8924f0195b22842b16436cd36c33bbe843e1cf7a585e89894b14595641d081a3077d667096df251bd93c86ebd94e0d555601794fa66fa2bcea920287c19922bed486a4f631390d1e36cc3635b509cb14c44d50313919a6cbb75eff35 +PublicExponent: 0400 +Test: KeyPairValidAndConsistent +Message: 16a3632339c463e243a4909f8a3810a8 +Signature: 7d8790ee852a4f3ba8bb3fa0f6fc30c29b6bc2bc538195826544138dcb92500122148ac2cf0dc77dd37182c2267a73317ce5b2ae26db79204abe0e10c7212ba8de99fdc5cf498f7ee689588541fb78291afb9b65242f725a4aa32b119957b4314a58b4239a0235b9b1a8a6efbaa3601961d4b0730a6d9e5659f20105931d473daf3d378b39b7f3f01516d72ade9ef68a +Test: Verify +Message: ef8bcad6c164a86b0e0a3c011d556744 +Signature: 6ce6024f64a7f04a0fe29b65cf2ec2ac49d9f90078a77db8bc260d3cfef233165a90b29d5787218b4d05a0e9321f2e802a8ed6d1a4201feb982a5d06bef051d60436d8c61a249432e662e625806526075f02b60d198142b96b67a4ac31d0071a1f971dae5a6a1b6db177591edfe80f7e51c7335441490f05f214b5a1aec94de572e3ec11ef4bebeb42f27037d38a186f +Test: Verify +Message: 29023889c79230c1c479820c5ff2e006 +Signature: 85f0b648ee0f6d30a18666e2da8bcda319ede91ca18e018548e2a1c21b0e0049b91528eba4da3be4551b26c4e59e6aba25312874f2320eaf7c94c541e17fb16fb0d9d9928ea526b0fc0c0fb2d12e425a5917e4039a5366585327bc3456107ff31c889c5e04259457dfe65952dc43cd35f4ca689272769096b9583bbffad4a057673f938fa7192bbca44598cf5600e3eb +Test: Verify + +AlgorithmType: Signature +Name: ESIGN/EMSA5-MGF1(SHA-1) +Source: http://www.nttmcl.com/sec/Esign/esign_emsa5_data_ntt.txt, \ + ESIGN ( IFSSA-ESIGN-EMSA5 ) Test Vector No.7-9 ( 1152 bits ) +KeyFormat: Component +Prime1: fd5708b30e8ee342bacaeb01c0d3baa91a833dacff2878c7df62e04a65afe770acdcefeaf8a72a5809387e5ed97756ef +Prime2: fa335563d5da151e3ab025f3b77d3f1eaf4a0d431012e79b12ca8ec433d347bd9a2b5179f2ed332a19ea2cad694c97dd +Modulus: f5072ba25e7df2c0e0a0abde031dda9534a493396ab895e6132abc90f993535ce55d6395e1fd548371228decc1cfefa9737344243ddb1eccbbc22d68571617afb23638c3f0222a84b0a8c9889ab934aa84cc92e14d972670db6d2105bbd0212c1843ff0ccbae19535ac01cf02ad98aa941fce32fac874cea7f1f83969fbaf025fb562a087efb4652210d45279312da7d +PublicExponent: 0400 +Test: KeyPairValidAndConsistent +Message: abbf5c71245af5d272e627ec845e9ed4 +Signature: b75e2869c052df20d6c008dd911a5bd752d5a23ee42ae47def37f76f6b2d5f04eb8d9b0783c502e0abd30bc567a6672292c3a6736fe8d4034fad857456cd599259d09f42f1d4c64d244fd149f6316f0b763be0de4f9da7f9649a76b984fe2ae99293d406904a9df59d28cc8a58b7ad0029657a47ac0e28d6353287df1ea8feef2fbb65d86425e80487420c1c9c1bda7e +Test: Verify +Message: cf2c943bc4c23175b43ba128c75339d1 +Signature: 64616eb627bf49c2a5a183479a66b7dae12cd1a0982baa0cc12329f594196b9de47909e6b5cf4653bfccdeeb5478fd88c31c197c9adc335a84ec58664ce5fc55c7b2f17b0f32ffac4ff3f3b4ddb3ce125ab7e43efc0be6ae8357895ab5f118a4ec71b57cc1b252373fecd4a1f404ed295f2d97868e3737fdd6fdf124bc2f1e083b57d5c237db775d429d08d5b5ced857 +Test: Verify +Message: 4d011f09f665d5f4a12595900e3827ec +Signature: 1911d3df18bdd9907b69ce6b655086c952c92d826bbef199fb1e0dcb7209a1b28d0a03beabc9e7d8df052febe26f691ff808caaac697c3005d524f3da8c700bf620aa37fd0793b3f22c6a488d733336d040642e0767755391951a754a1111345b912b4c0228ab154eb4baac0383a54023bd7c7ea2ed4bb894444b80d7e5f18407f51c3af858b9fa9198190b4b540fce8 +Test: Verify diff --git a/TestVectors/hkdf.txt b/TestVectors/hkdf.txt index 8d40911d..f66a9003 100644 --- a/TestVectors/hkdf.txt +++ b/TestVectors/hkdf.txt @@ -5,7 +5,7 @@ Comment: Test Case 4 Key: 0x0b0b0b0b0b0b0b0b0b0b0b Salt: 0x000102030405060708090a0b0c Info: 0xf0f1f2f3f4f5f6f7f8f9 -DerivedLength: 42 +DerivedKeyLength: 42 DerivedKey: 0x085a01ea1b10f36933068b56efa5ad81a4f14b822f5b091568a9cdd4f155fda2c22e422478d305f3f896 Test: Verify @@ -16,7 +16,7 @@ Comment: Test Case 5 Key: 0x000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f Salt: 0x606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeaf Info: 0xb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff -DerivedLength: 82 +DerivedKeyLength: 82 DerivedKey: 0x0bd770a74d1160f7c9f12cd5912a06ebff6adcae899d92191fe4305673ba2ffe8fa3f1a4e5ad79f3f334b3b202b2173c486ea37ce3d397ed034c7f9dfeb15c5e927336d0441f4c4300e2cff0d0900b52d3b4 Test: Verify @@ -27,7 +27,7 @@ Comment: Test Case 6 Key: 0x0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b Salt: "" Info: "" -DerivedLength: 42 +DerivedKeyLength: 42 DerivedKey: 0x0ac1af7002b3d761d1e55298da9d0506b9ae52057220a306e07b6b87e8df21d0ea00033de03984d34918 Test: Verify @@ -38,7 +38,7 @@ Comment: Test Case 7 Key: 0x0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c Salt: "" Info: "" -DerivedLength: 42 +DerivedKeyLength: 42 DerivedKey: 0x2c91117204d745f3500d636a62f64f0ab3bae548aa53d423b0d1f27ebba6f5e5673a081d70cce7acfc48 Test: Verify @@ -49,7 +49,7 @@ Comment: Test Case 1 Key: 0x0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b Salt: 0x000102030405060708090a0b0c Info: 0xf0f1f2f3f4f5f6f7f8f9 -DerivedLength: 42 +DerivedKeyLength: 42 DerivedKey: 0x3cb25f25faacd57a90434f64d0362f2a2d2d0a90cf1a5a4c5db02d56ecc4c5bf34007208d5b887185865 Test: Verify @@ -60,7 +60,7 @@ Comment: Test Case 2 Key: 0x000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f Salt: 0x606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeaf Info: 0xb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff -DerivedLength: 82 +DerivedKeyLength: 82 DerivedKey: 0xb11e398dc80327a1c8e7f78c596a49344f012eda2d4efad8a050cc4c19afa97c59045a99cac7827271cb41c65e590e09da3275600c2f09b8367793a9aca3db71cc30c58179ec3e87c14c01d5c1f3434f1d87 Test: Verify @@ -71,7 +71,7 @@ Comment: Test Case 3 Key: 0x0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b Salt: "" Info: "" -DerivedLength: 42 +DerivedKeyLength: 42 DerivedKey: 0x8da4e775a563c18f715f802a063c5a31b8a11f5c5ee1879ec3454e5f3c738d2d9d201395faa4b61a96c8 Test: Verify @@ -82,7 +82,7 @@ Comment: Test Case 8 (Mirror Tests 1 and 4) Key: 0x0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b Salt: 0x000102030405060708090a0b0c Info: 0xf0f1f2f3f4f5f6f7f8f9 -DerivedLength: 42 +DerivedKeyLength: 42 DerivedKey: 0x832390086CDA71FB47625BB5CEB168E4C8E26A1A16ED34D9FC7FE92C1481579338DA362CB8D9F925D7CB Test: Verify @@ -93,7 +93,7 @@ Comment: Test Case 9 (Mirror Tests 2 and 5) Key: 0x000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f Salt: 0x606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeaf Info: 0xb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff -DerivedLength: 82 +DerivedKeyLength: 82 DerivedKey: 0xCE6C97192805B346E6161E821ED165673B84F400A2B514B2FE23D84CD189DDF1B695B48CBD1C8388441137B3CE28F16AA64BA33BA466B24DF6CFCB021ECFF235F6A2056CE3AF1DE44D572097A8505D9E7A93 Test: Verify @@ -104,7 +104,7 @@ Comment: Test Case 10 (Mirror Test 3 and 6) Key: 0x0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b Salt: "" Info: "" -DerivedLength: 42 +DerivedKeyLength: 42 DerivedKey: 0xF5FA02B18298A72A8C23898A8703472C6EB179DC204C03425C970E3B164BF90FFF22D04836D0E2343BAC Test: Verify @@ -115,7 +115,7 @@ Comment: Test Case 11 Key: 0x0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c Salt: "" Info: -DerivedLength: 42 +DerivedKeyLength: 42 DerivedKey: 0x1407D46013D98BC6DECEFCFEE55F0F90B0C7F63D68EB1A80EAF07E953CFC0A3A5240A155D6E4DAA965BB Test: Verify @@ -126,7 +126,7 @@ Comment: Test Case 12 (Mirror Tests 3 and 6) Key: 0x0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b Salt: "" Info: "" -DerivedLength: 42 +DerivedKeyLength: 42 DerivedKey: 0xF5FA02B18298A72A8C23898A8703472C6EB179DC204C03425C970E3B164BF90FFF22D04836D0E2343BAC Test: Verify @@ -137,7 +137,7 @@ Comment: Test Case 13 (Mirror Tests 1 and 4) Key: 0x0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b Salt: 0x000102030405060708090a0b0c Info: 0xf0f1f2f3f4f5f6f7f8f9 -DerivedLength: 42 +DerivedKeyLength: 42 DerivedKey: 0x0D29F74CCD8640F44B0DD9638111C1B5766EFED752AF358109E2E7C9CD4A28EF2F90B2AD461FBA0744D4 Test: Verify @@ -148,7 +148,7 @@ Comment: Test Case 14 (Mirror Tests 2 and 5) Key: 0x000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f Salt: 0x606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeaf Info: 0xb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff -DerivedLength: 82 +DerivedKeyLength: 82 DerivedKey: 0x4EBE4FE2DCCEC42661699500BE279A993FED90351E19373B3926FAA3A410700B2BBF77E254CF1451AE6068D64A0904D966F4FF25498445A501B88F50D21E3A68A890E09445DC5886DD00E7F4F7C58A512170 Test: Verify @@ -159,7 +159,7 @@ Comment: Test Case 15 (Mirror Tests 3 and 6) Key: 0x0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b Salt: "" Info: "" -DerivedLength: 42 +DerivedKeyLength: 42 DerivedKey: 0x110632D0F7AEFAC31771FC66C22BB3462614B81E4B04BA7F2B662E0BD694F56458615F9A9CB56C57ECF2 Test: Verify @@ -170,6 +170,6 @@ Comment: Test Case 16 (Mirror Test 7) Key: 0x0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c Salt: r64 0x00 Info: "" -DerivedLength: 42 +DerivedKeyLength: 42 DerivedKey: 0x4089286EBFB23DD8A02F0C9DAA35D538EB09CD0A8CBAB203F39083AA3E0BD313E6F91E64F21A187510B0 Test: Verify diff --git a/TestVectors/hmac.txt b/TestVectors/hmac.txt index 2a604bba..8bef56fb 100644 --- a/TestVectors/hmac.txt +++ b/TestVectors/hmac.txt @@ -1,281 +1,281 @@ -AlgorithmType: MAC -Name: HMAC(MD5) -Source: RFC 2202 -Comment: Test Case 1 -Key: 0x0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b -Message: "Hi There" -MAC: 0x9294727a3638bb1c13f48ef8158bfc9d -Test: Verify -Comment: Test Case 2 -Key: "Jefe" -Message: "what do ya want for nothing?" -MAC: 0x750c783e6ab0b503eaa86e310a5db738 -Test: Verify -Comment: Test Case 3 -Key: 0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -Message: r50 0xdd -MAC: 0x56be34521d144c88dbb8c733f0e8b3f6 -Test: Verify -Comment: Test Case 4 -Key: 0x0102030405060708090a0b0c0d0e0f10111213141516171819 -Message: r50 0xcd -MAC: 0x697eaf0aca3a3aea3a75164746ffaa79 -Test: Verify -Comment: Test Case 5 -Key: 0x0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c -Message: "Test With Truncation" -MAC: 0x56461ef2342edc00f9bab995690efd4c -Test: Verify -MAC: 0x56461ef2342edc00f9bab995 -#TruncatedSize: 12 -Test: VerifyTruncated -Comment: Test Case 6 -Key: r80 0xaa -Message: "Test Using Larger Than Block-Size Key - Hash Key First" -MAC: 0x6b1ab7fe4bd7bf8f0b62e6ce61b9d0cd -Test: Verify -Comment: Test Case 7 -Key: r80 0xaa -Message: "Test Using Larger Than Block-Size Key and Larger Than One Block-Size Data" -MAC: 0x6f630fad67cda0ee1fb1f562db3aa53e -Test: Verify - -AlgorithmType: MAC -Name: HMAC(SHA-1) -Source: RFC 2202 -Comment: Test Case 1 -Key: 0x0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b -Message: "Hi There" -MAC: 0xb617318655057264e28bc0b6fb378c8ef146be00 -Test: Verify -Comment: Test Case 2 -Key: "Jefe" -Message: "what do ya want for nothing?" -MAC: 0xeffcdf6ae5eb2fa2d27416d5f184df9c259a7c79 -Test: Verify -Comment: Test Case 3 -Key: 0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -Message: r50 0xdd -MAC: 0x125d7342b9ac11cd91a39af48aa17b4f63f175d3 -Test: Verify -Comment: Test Case 4 -Key: 0x0102030405060708090a0b0c0d0e0f10111213141516171819 -Message: r50 0xcd -MAC: 0x4c9007f4026250c6bc8414f9bf50c86c2d7235da -Test: Verify -Comment: Test Case 5 -Key: 0x0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c -Message: "Test With Truncation" -MAC: 0x4c1a03424b55e07fe7f27be1d58bb9324a9a5a04 -Test: Verify -MAC: 0x4c1a03424b55e07fe7f27be1 -#TruncatedSize: 12 -Test: VerifyTruncated -Comment: Test Case 6 -Key: r80 0xaa -Message: "Test Using Larger Than Block-Size Key - Hash Key First" -MAC: 0xaa4ae5e15272d00e95705637ce8a3b55ed402112 -Test: Verify -Comment: Test Case 7 -Key: r80 0xaa -Message: "Test Using Larger Than Block-Size Key and Larger Than One Block-Size Data" -MAC: 0xe8e99d0f45237d786d6bbaa7965c7808bbff1a91 -Test: Verify - -AlgorithmType: MAC -Name: HMAC(RIPEMD-160) -Source: RFC 2286 -Comment: Test Case 1 -Key: 0x0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b -Message: "Hi There" -MAC: 0x24cb4bd67d20fc1a5d2ed7732dcc39377f0a5668 -Test: Verify -Comment: Test Case 2 -Key: "Jefe" -Message: "what do ya want for nothing?" -MAC: 0xdda6c0213a485a9e24f4742064a7f033b43c4069 -Test: Verify -Comment: Test Case 3 -Key: 0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -Message: r50 0xdd -MAC: 0xb0b105360de759960ab4f35298e116e295d8e7c1 -Test: Verify -Comment: Test Case 4 -Key: 0x0102030405060708090a0b0c0d0e0f10111213141516171819 -Message: r50 0xcd -MAC: 0xd5ca862f4d21d5e610e18b4cf1beb97a4365ecf4 -Test: Verify -Comment: Test Case 5 -Key: 0x0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c -Message: "Test With Truncation" -MAC: 0x7619693978f91d90539ae786500ff3d8e0518e39 -Test: Verify -MAC: 0x7619693978f91d90539ae786 -#TruncatedSize: 12 -Test: VerifyTruncated -Comment: Test Case 6 -Key: r80 0xaa -Message: "Test Using Larger Than Block-Size Key - Hash Key First" -MAC: 0x6466ca07ac5eac29e1bd523e5ada7605b791fd8b -Test: Verify -Comment: Test Case 7 -Key: r80 0xaa -Message: "Test Using Larger Than Block-Size Key and Larger Than One Block-Size Data" -MAC: 0x69ea60798d71616cce5fd0871e23754cd75d5a0a -Test: Verify - -AlgorithmType: MAC -Name: HMAC(SHA-224) -Source: RFC 4231 -Comment: Test Case 1 -Key: 0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b -Message: "Hi There" -MAC: 0x896fb1128abbdf196832107cd49df33f47b4b1169912ba4f53684b22 -Test: Verify -Comment: Test Case 2 -Key: "Jefe" -Message: "what do ya want for nothing?" -MAC: 0xa30e01098bc6dbbf45690f3a7e9e6d0f8bbea2a39e6148008fd05e44 -Test: Verify -Comment: Test Case 3 -Key: 0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -Message: r50 0xdd -MAC: 0x7fb3cb3588c6c1f6ffa9694d7d6ad2649365b0c1f65d69d1ec8333ea -Test: Verify -Comment: Test Case 4 -Key: 0x0102030405060708090a0b0c0d0e0f10111213141516171819 -Message: r50 0xcd -MAC: 0x6c11506874013cac6a2abc1bb382627cec6a90d86efc012de7afec5a -Test: Verify -Comment: Test Case 5 -Key: 0x0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c -Message: "Test With Truncation" -MAC: 0x0e2aea68a90c8d37c988bcdb9fca6fa8 -Test: VerifyTruncated -Comment: Test Case 6 -Key: r131 0xaa -Message: "Test Using Larger Than Block-Size Key - Hash Key First" -MAC: 0x95e9a0db962095adaebe9b2d6f0dbce2d499f112f2d2b7273fa6870e -Test: Verify -Comment: Test Case 7 -Key: r131 0xaa -Message: "This is a test using a larger than block-size key and a larger than block-size data. The key needs to be hashed before being used by the HMAC algorithm.") -MAC: 0x3a854166ac5d9f023f54d517d0b39dbd946770db9c2b95c9f6f565d1 -Test: Verify - -AlgorithmType: MAC -Name: HMAC(SHA-256) -Source: RFC 4231 -Comment: Test Case 1 -Key: 0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b -Message: "Hi There" -MAC: b0344c61d8db38535ca8afceaf0bf12b881dc200c9833da726e9376c2e32cff7 -Test: Verify -Comment: Test Case 2 -Key: "Jefe" -Message: "what do ya want for nothing?" -MAC: 5bdcc146bf60754e6a042426089575c75a003f089d2739839dec58b964ec3843 -Test: Verify -Comment: Test Case 3 -Key: 0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -Message: r50 0xdd -MAC: 773ea91e36800e46854db8ebd09181a72959098b3ef8c122d9635514ced565fe -Test: Verify -Comment: Test Case 4 -Key: 0x0102030405060708090a0b0c0d0e0f10111213141516171819 -Message: r50 0xcd -MAC: 82558a389a443c0ea4cc819899f2083a85f0faa3e578f8077a2e3ff46729665b -Test: Verify -Comment: Test Case 5 -Key: 0x0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c -Message: "Test With Truncation" -MAC: a3b6167473100ee06e0c796c2955552b -Test: VerifyTruncated -Comment: Test Case 6 -Key: r131 0xaa -Message: "Test Using Larger Than Block-Size Key - Hash Key First" -MAC: 60e431591ee0b67f0d8a26aacbf5b77f8e0bc6213728c5140546040f0ee37f54 -Test: Verify -Comment: Test Case 7 -Key: r131 0xaa -Message: "This is a test using a larger than block-size key and a larger than block-size data. The key needs to be hashed before being used by the HMAC algorithm.") -MAC: 9b09ffa71b942fcb27635fbcd5b0e944bfdc63644f0713938a7f51535c3a35e2 -Test: Verify - -AlgorithmType: MAC -Name: HMAC(SHA-384) -Source: RFC 4231 -Comment: Test Case 1 -Key: 0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b -Message: "Hi There" -MAC: afd03944d84895626b0825f4ab46907f15f9dadbe4101ec682aa034c7cebc59cfaea9ea9076ede7f4af152e8b2fa9cb6 -Test: Verify -Comment: Test Case 2 -Key: "Jefe" -Message: "what do ya want for nothing?" -MAC: af45d2e376484031617f78d2b58a6b1b9c7ef464f5a01b47e42ec3736322445e8e2240ca5e69e2c78b3239ecfab21649 -Test: Verify -Comment: Test Case 3 -Key: 0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -Message: r50 0xdd -MAC: 88062608d3e6ad8a0aa2ace014c8a86f0aa635d947ac9febe83ef4e55966144b2a5ab39dc13814b94e3ab6e101a34f27 -Test: Verify -Comment: Test Case 4 -Key: 0x0102030405060708090a0b0c0d0e0f10111213141516171819 -Message: r50 0xcd -MAC: 3e8a69b7783c25851933ab6290af6ca77a9981480850009cc5577c6e1f573b4e6801dd23c4a7d679ccf8a386c674cffb -Test: Verify -Comment: Test Case 5 -Key: 0x0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c -Message: "Test With Truncation" -MAC: 3abf34c3503b2a23a46efc619baef897 -Test: VerifyTruncated -Comment: Test Case 6 -Key: r131 0xaa -Message: "Test Using Larger Than Block-Size Key - Hash Key First" -MAC: 4ece084485813e9088d2c63a041bc5b44f9ef1012a2b588f3cd11f05033ac4c60c2ef6ab4030fe8296248df163f44952 -Test: Verify -Comment: Test Case 7 -Key: r131 0xaa -Message: "This is a test using a larger than block-size key and a larger than block-size data. The key needs to be hashed before being used by the HMAC algorithm.") -MAC: 6617178e941f020d351e2f254e8fd32c602420feb0b8fb9adccebb82461e99c5a678cc31e799176d3860e6110c46523e -Test: Verify - -AlgorithmType: MAC -Name: HMAC(SHA-512) -Source: RFC 4231 -Comment: Test Case 1 -Key: 0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b -Message: "Hi There" -MAC: 87aa7cdea5ef619d4ff0b4241a1d6cb02379f4e2ce4ec2787ad0b30545e17cdedaa833b7d6b8a702038b274eaea3f4e4be9d914eeb61f1702e696c203a126854 -Test: Verify -Comment: Test Case 2 -Key: "Jefe" -Message: "what do ya want for nothing?" -MAC: 164b7a7bfcf819e2e395fbe73b56e0a387bd64222e831fd610270cd7ea2505549758bf75c05a994a6d034f65f8f0e6fdcaeab1a34d4a6b4b636e070a38bce737 -Test: Verify -Comment: Test Case 3 -Key: 0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -Message: r50 0xdd -MAC: fa73b0089d56a284efb0f0756c890be9b1b5dbdd8ee81a3655f83e33b2279d39bf3e848279a722c806b485a47e67c807b946a337bee8942674278859e13292fb -Test: Verify -Comment: Test Case 4 -Key: 0x0102030405060708090a0b0c0d0e0f10111213141516171819 -Message: r50 0xcd -MAC: b0ba465637458c6990e5a8c5f61d4af7e576d97ff94b872de76f8050361ee3dba91ca5c11aa25eb4d679275cc5788063a5f19741120c4f2de2adebeb10a298dd -Test: Verify -Comment: Test Case 5 -Key: 0x0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c -Message: "Test With Truncation" -MAC: 415fad6271580a531d4179bc891d87a6 -Test: VerifyTruncated -Comment: Test Case 6 -Key: r131 0xaa -Message: "Test Using Larger Than Block-Size Key - Hash Key First" -MAC: 80b24263c7c1a3ebb71493c1dd7be8b49b46d1f41b4aeec1121b013783f8f3526b56d037e05f2598bd0fd2215d6a1e5295e64f73f63f0aec8b915a985d786598 -Test: Verify -Comment: Test Case 7 -Key: r131 0xaa -Message: "This is a test using a larger than block-size key and a larger than block-size data. The key needs to be hashed before being used by the HMAC algorithm.") -MAC: e37b6a775dc87dbaa4dfa9f96e5e3ffddebd71f8867289865df5a32d20cdc944b6022cac3c4982b10d5eeb55c3e4de15134676fb6de0446065c97440fa8c6a58 -Test: Verify +AlgorithmType: MAC +Name: HMAC(MD5) +Source: RFC 2202 +Comment: Test Case 1 +Key: 0x0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b +Message: "Hi There" +MAC: 0x9294727a3638bb1c13f48ef8158bfc9d +Test: Verify +Comment: Test Case 2 +Key: "Jefe" +Message: "what do ya want for nothing?" +MAC: 0x750c783e6ab0b503eaa86e310a5db738 +Test: Verify +Comment: Test Case 3 +Key: 0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +Message: r50 0xdd +MAC: 0x56be34521d144c88dbb8c733f0e8b3f6 +Test: Verify +Comment: Test Case 4 +Key: 0x0102030405060708090a0b0c0d0e0f10111213141516171819 +Message: r50 0xcd +MAC: 0x697eaf0aca3a3aea3a75164746ffaa79 +Test: Verify +Comment: Test Case 5 +Key: 0x0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c +Message: "Test With Truncation" +MAC: 0x56461ef2342edc00f9bab995690efd4c +Test: Verify +MAC: 0x56461ef2342edc00f9bab995 +#TruncatedSize: 12 +Test: VerifyTruncated +Comment: Test Case 6 +Key: r80 0xaa +Message: "Test Using Larger Than Block-Size Key - Hash Key First" +MAC: 0x6b1ab7fe4bd7bf8f0b62e6ce61b9d0cd +Test: Verify +Comment: Test Case 7 +Key: r80 0xaa +Message: "Test Using Larger Than Block-Size Key and Larger Than One Block-Size Data" +MAC: 0x6f630fad67cda0ee1fb1f562db3aa53e +Test: Verify + +AlgorithmType: MAC +Name: HMAC(SHA-1) +Source: RFC 2202 +Comment: Test Case 1 +Key: 0x0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b +Message: "Hi There" +MAC: 0xb617318655057264e28bc0b6fb378c8ef146be00 +Test: Verify +Comment: Test Case 2 +Key: "Jefe" +Message: "what do ya want for nothing?" +MAC: 0xeffcdf6ae5eb2fa2d27416d5f184df9c259a7c79 +Test: Verify +Comment: Test Case 3 +Key: 0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +Message: r50 0xdd +MAC: 0x125d7342b9ac11cd91a39af48aa17b4f63f175d3 +Test: Verify +Comment: Test Case 4 +Key: 0x0102030405060708090a0b0c0d0e0f10111213141516171819 +Message: r50 0xcd +MAC: 0x4c9007f4026250c6bc8414f9bf50c86c2d7235da +Test: Verify +Comment: Test Case 5 +Key: 0x0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c +Message: "Test With Truncation" +MAC: 0x4c1a03424b55e07fe7f27be1d58bb9324a9a5a04 +Test: Verify +MAC: 0x4c1a03424b55e07fe7f27be1 +#TruncatedSize: 12 +Test: VerifyTruncated +Comment: Test Case 6 +Key: r80 0xaa +Message: "Test Using Larger Than Block-Size Key - Hash Key First" +MAC: 0xaa4ae5e15272d00e95705637ce8a3b55ed402112 +Test: Verify +Comment: Test Case 7 +Key: r80 0xaa +Message: "Test Using Larger Than Block-Size Key and Larger Than One Block-Size Data" +MAC: 0xe8e99d0f45237d786d6bbaa7965c7808bbff1a91 +Test: Verify + +AlgorithmType: MAC +Name: HMAC(RIPEMD-160) +Source: RFC 2286 +Comment: Test Case 1 +Key: 0x0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b +Message: "Hi There" +MAC: 0x24cb4bd67d20fc1a5d2ed7732dcc39377f0a5668 +Test: Verify +Comment: Test Case 2 +Key: "Jefe" +Message: "what do ya want for nothing?" +MAC: 0xdda6c0213a485a9e24f4742064a7f033b43c4069 +Test: Verify +Comment: Test Case 3 +Key: 0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +Message: r50 0xdd +MAC: 0xb0b105360de759960ab4f35298e116e295d8e7c1 +Test: Verify +Comment: Test Case 4 +Key: 0x0102030405060708090a0b0c0d0e0f10111213141516171819 +Message: r50 0xcd +MAC: 0xd5ca862f4d21d5e610e18b4cf1beb97a4365ecf4 +Test: Verify +Comment: Test Case 5 +Key: 0x0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c +Message: "Test With Truncation" +MAC: 0x7619693978f91d90539ae786500ff3d8e0518e39 +Test: Verify +MAC: 0x7619693978f91d90539ae786 +#TruncatedSize: 12 +Test: VerifyTruncated +Comment: Test Case 6 +Key: r80 0xaa +Message: "Test Using Larger Than Block-Size Key - Hash Key First" +MAC: 0x6466ca07ac5eac29e1bd523e5ada7605b791fd8b +Test: Verify +Comment: Test Case 7 +Key: r80 0xaa +Message: "Test Using Larger Than Block-Size Key and Larger Than One Block-Size Data" +MAC: 0x69ea60798d71616cce5fd0871e23754cd75d5a0a +Test: Verify + +AlgorithmType: MAC +Name: HMAC(SHA-224) +Source: RFC 4231 +Comment: Test Case 1 +Key: 0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b +Message: "Hi There" +MAC: 0x896fb1128abbdf196832107cd49df33f47b4b1169912ba4f53684b22 +Test: Verify +Comment: Test Case 2 +Key: "Jefe" +Message: "what do ya want for nothing?" +MAC: 0xa30e01098bc6dbbf45690f3a7e9e6d0f8bbea2a39e6148008fd05e44 +Test: Verify +Comment: Test Case 3 +Key: 0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +Message: r50 0xdd +MAC: 0x7fb3cb3588c6c1f6ffa9694d7d6ad2649365b0c1f65d69d1ec8333ea +Test: Verify +Comment: Test Case 4 +Key: 0x0102030405060708090a0b0c0d0e0f10111213141516171819 +Message: r50 0xcd +MAC: 0x6c11506874013cac6a2abc1bb382627cec6a90d86efc012de7afec5a +Test: Verify +Comment: Test Case 5 +Key: 0x0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c +Message: "Test With Truncation" +MAC: 0x0e2aea68a90c8d37c988bcdb9fca6fa8 +Test: VerifyTruncated +Comment: Test Case 6 +Key: r131 0xaa +Message: "Test Using Larger Than Block-Size Key - Hash Key First" +MAC: 0x95e9a0db962095adaebe9b2d6f0dbce2d499f112f2d2b7273fa6870e +Test: Verify +Comment: Test Case 7 +Key: r131 0xaa +Message: "This is a test using a larger than block-size key and a larger than block-size data. The key needs to be hashed before being used by the HMAC algorithm.") +MAC: 0x3a854166ac5d9f023f54d517d0b39dbd946770db9c2b95c9f6f565d1 +Test: Verify + +AlgorithmType: MAC +Name: HMAC(SHA-256) +Source: RFC 4231 +Comment: Test Case 1 +Key: 0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b +Message: "Hi There" +MAC: b0344c61d8db38535ca8afceaf0bf12b881dc200c9833da726e9376c2e32cff7 +Test: Verify +Comment: Test Case 2 +Key: "Jefe" +Message: "what do ya want for nothing?" +MAC: 5bdcc146bf60754e6a042426089575c75a003f089d2739839dec58b964ec3843 +Test: Verify +Comment: Test Case 3 +Key: 0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +Message: r50 0xdd +MAC: 773ea91e36800e46854db8ebd09181a72959098b3ef8c122d9635514ced565fe +Test: Verify +Comment: Test Case 4 +Key: 0x0102030405060708090a0b0c0d0e0f10111213141516171819 +Message: r50 0xcd +MAC: 82558a389a443c0ea4cc819899f2083a85f0faa3e578f8077a2e3ff46729665b +Test: Verify +Comment: Test Case 5 +Key: 0x0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c +Message: "Test With Truncation" +MAC: a3b6167473100ee06e0c796c2955552b +Test: VerifyTruncated +Comment: Test Case 6 +Key: r131 0xaa +Message: "Test Using Larger Than Block-Size Key - Hash Key First" +MAC: 60e431591ee0b67f0d8a26aacbf5b77f8e0bc6213728c5140546040f0ee37f54 +Test: Verify +Comment: Test Case 7 +Key: r131 0xaa +Message: "This is a test using a larger than block-size key and a larger than block-size data. The key needs to be hashed before being used by the HMAC algorithm.") +MAC: 9b09ffa71b942fcb27635fbcd5b0e944bfdc63644f0713938a7f51535c3a35e2 +Test: Verify + +AlgorithmType: MAC +Name: HMAC(SHA-384) +Source: RFC 4231 +Comment: Test Case 1 +Key: 0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b +Message: "Hi There" +MAC: afd03944d84895626b0825f4ab46907f15f9dadbe4101ec682aa034c7cebc59cfaea9ea9076ede7f4af152e8b2fa9cb6 +Test: Verify +Comment: Test Case 2 +Key: "Jefe" +Message: "what do ya want for nothing?" +MAC: af45d2e376484031617f78d2b58a6b1b9c7ef464f5a01b47e42ec3736322445e8e2240ca5e69e2c78b3239ecfab21649 +Test: Verify +Comment: Test Case 3 +Key: 0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +Message: r50 0xdd +MAC: 88062608d3e6ad8a0aa2ace014c8a86f0aa635d947ac9febe83ef4e55966144b2a5ab39dc13814b94e3ab6e101a34f27 +Test: Verify +Comment: Test Case 4 +Key: 0x0102030405060708090a0b0c0d0e0f10111213141516171819 +Message: r50 0xcd +MAC: 3e8a69b7783c25851933ab6290af6ca77a9981480850009cc5577c6e1f573b4e6801dd23c4a7d679ccf8a386c674cffb +Test: Verify +Comment: Test Case 5 +Key: 0x0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c +Message: "Test With Truncation" +MAC: 3abf34c3503b2a23a46efc619baef897 +Test: VerifyTruncated +Comment: Test Case 6 +Key: r131 0xaa +Message: "Test Using Larger Than Block-Size Key - Hash Key First" +MAC: 4ece084485813e9088d2c63a041bc5b44f9ef1012a2b588f3cd11f05033ac4c60c2ef6ab4030fe8296248df163f44952 +Test: Verify +Comment: Test Case 7 +Key: r131 0xaa +Message: "This is a test using a larger than block-size key and a larger than block-size data. The key needs to be hashed before being used by the HMAC algorithm.") +MAC: 6617178e941f020d351e2f254e8fd32c602420feb0b8fb9adccebb82461e99c5a678cc31e799176d3860e6110c46523e +Test: Verify + +AlgorithmType: MAC +Name: HMAC(SHA-512) +Source: RFC 4231 +Comment: Test Case 1 +Key: 0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b +Message: "Hi There" +MAC: 87aa7cdea5ef619d4ff0b4241a1d6cb02379f4e2ce4ec2787ad0b30545e17cdedaa833b7d6b8a702038b274eaea3f4e4be9d914eeb61f1702e696c203a126854 +Test: Verify +Comment: Test Case 2 +Key: "Jefe" +Message: "what do ya want for nothing?" +MAC: 164b7a7bfcf819e2e395fbe73b56e0a387bd64222e831fd610270cd7ea2505549758bf75c05a994a6d034f65f8f0e6fdcaeab1a34d4a6b4b636e070a38bce737 +Test: Verify +Comment: Test Case 3 +Key: 0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +Message: r50 0xdd +MAC: fa73b0089d56a284efb0f0756c890be9b1b5dbdd8ee81a3655f83e33b2279d39bf3e848279a722c806b485a47e67c807b946a337bee8942674278859e13292fb +Test: Verify +Comment: Test Case 4 +Key: 0x0102030405060708090a0b0c0d0e0f10111213141516171819 +Message: r50 0xcd +MAC: b0ba465637458c6990e5a8c5f61d4af7e576d97ff94b872de76f8050361ee3dba91ca5c11aa25eb4d679275cc5788063a5f19741120c4f2de2adebeb10a298dd +Test: Verify +Comment: Test Case 5 +Key: 0x0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c +Message: "Test With Truncation" +MAC: 415fad6271580a531d4179bc891d87a6 +Test: VerifyTruncated +Comment: Test Case 6 +Key: r131 0xaa +Message: "Test Using Larger Than Block-Size Key - Hash Key First" +MAC: 80b24263c7c1a3ebb71493c1dd7be8b49b46d1f41b4aeec1121b013783f8f3526b56d037e05f2598bd0fd2215d6a1e5295e64f73f63f0aec8b915a985d786598 +Test: Verify +Comment: Test Case 7 +Key: r131 0xaa +Message: "This is a test using a larger than block-size key and a larger than block-size data. The key needs to be hashed before being used by the HMAC algorithm.") +MAC: e37b6a775dc87dbaa4dfa9f96e5e3ffddebd71f8867289865df5a32d20cdc944b6022cac3c4982b10d5eeb55c3e4de15134676fb6de0446065c97440fa8c6a58 +Test: Verify diff --git a/TestVectors/nr.txt b/TestVectors/nr.txt index f08bb6ac..6d9487cc 100644 --- a/TestVectors/nr.txt +++ b/TestVectors/nr.txt @@ -1,615 +1,615 @@ -AlgorithmType: Signature -Name: NR(1363)/EMSA1(SHA-1) -Source: generated by Wei Dai using Crypto++ 5.0 -Comment: 1024-bit NR key -KeyFormat: Component -SubgroupOrder: \ - 09b2940496d6d9a43bb7ec642c57b302e59b3a5155 -SubgroupGenerator: \ - a1c379ba91fe1f9d5283807b809c698bce4aee6f405f4de8c46becf33c08a63b\ - c5f8088f75b5b6bcfb0847ccbdee700e4e698652317bbd7a3056404c541136d7\ - 332c2b835ef0d1508ef57b437de60675f20f75df0483f242ddeb57efacd18041\ - 8790f4dec0a8250593ba36f17316580d50db1383ea93a21247650a2e04af904d -Modulus: \ - bd670f79b0cde98a84fd97e54d5d5c81525a016d222a3986dd7af3f32cde8a9f\ - 6564e43a559a0c9f8bad36cc25330548b347ac158a345631fa90f7b873c36eff\ - ae2f7823227a3f580b5dd18304d5932751e743e922eebfbb4289c389d9019c36\ - f96c6b81fffbf20be062182104e3c4b7d02b872d9a21e0fb5f10ded64420951b -PrivateExponent: \ - 0355dc884345c08fb399b23b161831e94dbe61571e -PublicElement: \ - 255cf6b0a33f80cab614eafd5f7b2a6d83b3eafe27cd97b77ae70c7b966707d8\ - 23f0e6aaaa41dc005aaefd3a0c269e60a665d2642f5d631ff1a3b8701bc06be9\ - c44ab7367f77fefeec4c5959cd07e50d74a05af60b059ad3fc75249ecf44774b\ - 88b46860d9c3fa35d033bcfc7b0b2d48dc180d192d4918cddff4f7ebcdaaa198 -Test: KeyPairValidAndConsistent -Message: 66B92E1E2C44B80F7BFA -Signature: \ - 06e7586b76d5a8270155cce2d3ff4495237eed29a101eb1341fce0b43d95397b\ - 053d93772b0a9cf3117b -Test: Verify -Message: 973266BB0A492248082A -Signature: \ - 02de44ed2233f0f11dcf567217d2089ec039a211bf000d42e04900a66ce45c58\ - 526a97d7f4cfba29e43d -Test: Verify -Message: 9A6D079ED0CA9D8B40E8 -Signature: \ - 04f59dbb2712926b3bc1d3c428f16203f3443f88db0669adda94dcb54e1fff71\ - fb51bb603e7adff13f84 -Test: Verify -Message: AA34DCE67BCDAC927DA6 -Signature: \ - 08ad21bf9d0cc598a214329d3544685d39487988bb01aced68ad0a4831affbff\ - 3b14df6c0f4ac4d2e967 -Test: Verify -Message: 4EDAC08816AFDBF284DA -Signature: \ - 09a9d5aa9bd1b6b61fe8825128c8e52a6213692b2504c8c6951299b5ca51b03d\ - ea0a5e56f9a7c4cd44f7 -Test: Verify -Message: D82F2E903230962B8174 -Signature: \ - 0441c8d089e690a7fab391de07073326d443a0d9d806a3997ac1641175310890\ - 1e55582a582541330539 -Test: Verify -Comment: 1025-bit NR key -KeyFormat: Component -SubgroupOrder: \ - 0b3949dadf3196f08bca0606f06443afce2fb1d02f -SubgroupGenerator: \ - 015f0f6d1729ef2af723c00e36450a04c7e7681d65b74a6417a53b3eb6036989\ - eff8e0ab11a7ec3ce2340b7c7a92e1a977aee52555c06c12c4cc28496ddc2598\ - feeb7539ce90d3888e21f61d7f14746cf67d9fed373afd97e2483700e300ed9d\ - a25e7200b363a4727ad201194b36ea5f816cf83488c3e527d3a5515870d2da63\ - d6 -Modulus: \ - 017310bf02d70ef2cee45d1cc47ec8ce8cabdd6bf32a560975a42ef057bf9dfd\ - 553bc9368ddb154a55d855edaa755e69f511a4c69ba78571cc4b14ddbb0f32a4\ - a9c56c286305aa21ec4e35de7390747477b3bd574e7b87cbebde2f665703137a\ - 1172350ad2f48a0884d076ada9db82f104e6b0ad86693cd4adbd0067639102fc\ - f1 -PrivateExponent: \ - 0696b0f255468b7ac18e11632f208ca86383a46724 -PublicElement: \ - 45bf83e62f50190374b23de5e4a1d0278e9e8e6c8335577d62e80662a380c206\ - e326819c5082d321dfda1f905fa5a3ead9a2dc769885a27b1fd6a133185dc5a7\ - 876a76ab0a09fe02b7071a924169e4d2d2a67e67ed3628800134183b962c0b31\ - 3463aa154e6437d644e025ab234e63d19c129842a61c5e5ea5a06466c858c81c -Test: KeyPairValidAndConsistent -Message: 2F585D0CE4FA1CD93880 -Signature: \ - 06586d8a703cdc27200d5261853f50effa8ebbdfc905f5becb68b81eca506992\ - 50fb54e46d557c6095dd -Test: Verify -Message: 4F09A1F217B8393199EE -Signature: \ - 0622cd33b1d715829d8fae104759ed449f95becb5e03d36f5578fd6a2951d2e6\ - 26cfce85ba6563990d64 -Test: Verify -Message: 03D7110A753B008A76A0 -Signature: \ - 02925630b4c80e604fc1d8680bfd0e3d878e22b3a30ab8b10da7fc38816a8c5f\ - 1e06927c68f9d3db60d9 -Test: Verify -Message: 129F4781D417671F886D -Signature: \ - 016c2c4ce845b4d412828cbb8a396d080c7eb93bcb01f7010410198c8bac96df\ - 8ab8761cebdb7d87f3a2 -Test: Verify -Message: 3E1594F559D1248D1112 -Signature: \ - 080bab68c62be86ab2c1bfd0edf10387a7cd66b69f054e254218e01f650e4e8c\ - 6bfa10054e367893e59e -Test: Verify -Message: D6F0354F1B6B253B6997 -Signature: \ - 08755c7e8012e8160db75c6160686351e5c577207f01602b4dda2fa56b864374\ - 703c83bb323c7bb34f5f -Test: Verify -Comment: 1026-bit NR key -KeyFormat: Component -SubgroupOrder: \ - 36bb68cd95dab195f14c4534283e7ea50b00cc31a3 -SubgroupGenerator: \ - e2782ad6992f4b7e88787b4d616744b60e095575a177569c4a069e311e38b724\ - 0c43343367e23574c30e4d9f05afe1fbe61423bab715915c4ccf28aa0ed2f52b\ - 092b86c8ec1f9d4795d6e91c88ba41297625c11a9e1f4f182da13cf51e541038\ - a1266bf32b2dd81ecd84bb80be8fdf97689942e944b7fbb6981e00cd680ee25f -Modulus: \ - 025098828217d00108030801e5f135fc6fd3010be39e49060a96addc8a081198\ - 803402c4b46e4ce0750fcbab8cf084c7ca8cae09f1b5482d336fa3af47b96791\ - d02d8143e274b1325f2213e17f9384c805f479e52a3117cf84869d395f1bc025\ - c918484478d2da1880d32bc519f4e6b2fd2d46958795550ce1765f725626f3fc\ - 17 -PrivateExponent: \ - 2db270c284328353f979cad99f4133c53acaa6ee71 -PublicElement: \ - 0179b283f67868aeded3a0c5633d0e6c18fad77174e2c89c03452593d05e77a9\ - fb029c0ccb2b6f2328e79c286ee392713f12d9d45578348383b81d11b0e0f7e8\ - 9965a7785d5ab64ea25bb73e8acaa8e84cb9897985015757a48c0b1dac3a6a60\ - 6fe671ea073ec434a46f227b8d4b02a46fbba2f6c6216736d669f55778d81004\ - d8 -Test: KeyPairValidAndConsistent -Message: 7E4F2ED4E79062778A2D -Signature: \ - 03f523873462ee1513833e2853c3b62e30c5c1cc3224f1a42dc154fa84ecce04\ - 487069530d76e0574a38 -Test: Verify -Message: A0E35846B5CF1B5BF560 -Signature: \ - 2264285d75a55c431a7adb9347bc07d58efbeb1dd9354d01b0b86f2875f8dec0\ - 294d20289d39369c5afa -Test: Verify -Message: 3B138785EFC6F520EAE0 -Signature: \ - 116e45961ca73f3ccf08b35f94877fef88772cf0fa2ab196c85a91104d8fbde6\ - 65b7032b2fb4011a88cc -Test: Verify -Message: 0F6BE2AA764B485145D4 -Signature: \ - 027ad753bde13c7f2fcd7571e5558f8af756cdb9463237fb0e285cb633cc86be\ - 1b410188d701f6ca83c6 -Test: Verify -Message: 6CD9FBD23EA58826FB04 -Signature: \ - 1651decd376899104e3fdbe40ab2d9bfd3c8577f3b092b66e3760678ecb3fc35\ - 23a59107e0bdccb76a73 -Test: Verify -Message: 473A82649565109E9E89 -Signature: \ - 2045ef56d92f89a214d76cca6b591068ac5f0d008c121ec4e5c4c1e8ca9b67cd\ - bb5ecc776a23b6d54ba5 -Test: Verify -Comment: 1027-bit NR key -KeyFormat: Component -SubgroupOrder: \ - 291d0ba731a4303070504d8b9615640a5e1345e00f -SubgroupGenerator: \ - 051c9d0270b69ceef82af5aed5f91dc88d585096609d835d03d39cf3ce74f5a3\ - 402d4e8e192455493da61cc58ee6f54dd941172be3d7642169cbc52273f4b725\ - f1d6c820c3333336c64d32fb6238121b3ccb7c71b847764946bb0887a44ca9de\ - 802cda62efa9dda573751084225353f11ed837f3dc25de8374b6fdbfb6e313e4\ - 6d -Modulus: \ - 055402a8abe9cda3072ca8601d68032651feb0335856e57f8f8d4ec949098a64\ - 59151cefeef91b7aa733668c8cf0e9b96c93c61f3528d4036daa6565646f65d7\ - 4c4552817df7e5fb1cc421cfd885e27bb811ad227e81b3fa02f7a00bf01ee6e2\ - 3fb5572a75f8f29b58bd5f7db435e8a92a923f15d50f34213d29816921bf195b\ - 2d -PrivateExponent: \ - 13b27094d9a5a3a9704cebdbe890da325fa26ad555 -PublicElement: \ - 03b06b99097cd7145c7d7782b02e247a4741f3c7f39233627f17e13ebff89a18\ - cad6a454c3f32f7ef2910384030da71ae47e1c3fa79c2141dad107f8e715e47f\ - b0bb626baafc35db769852ebbec2d339c3c3d5f2287cfdd20b3b78ea4607086c\ - 42558ae4637eddd6a74bc1072d0f34d9c0130cbc9e84f537e7ce50df502d17b5\ - c3 -Test: KeyPairValidAndConsistent -Message: AE6DCD9535AEEE3ECC89 -Signature: \ - 1c6794878aabf07cf9f59b685d4a3a6e51c9135dc101a4a6a62c95a20902e2fa\ - 23db7d15293f595f86ab -Test: Verify -Message: C83A14EAC016D659F9FE -Signature: \ - 18ed4812925dca6a9c30e2e3566433e202be2d305414e1e6583905ad845cbc63\ - 2049804932aac79b858c -Test: Verify -Message: 745E02041EB487D16CE6 -Signature: \ - 13d4ef1de59ef0fe9bc4ecc6d382908642f6f5793e255b819e25ed124f7fa574\ - d91fc2e9b258f0514b15 -Test: Verify -Message: 62F019655A83501FC4E7 -Signature: \ - 07f797768984ecc792f366ece16f5102aec2aac6d31fdaf3972839cac2c99a2b\ - f5b347c887d37943383c -Test: Verify -Message: 351D37A4B5046E885EAA -Signature: \ - 22064cd5179ff1551dbf73c5220e17a9dfa1aa8f7f22f44a6c70f13c6d0a21f8\ - 7e53278251037a6cdc5e -Test: Verify -Message: 4073D33915F595F4FF9D -Signature: \ - 1f902ea2c9521b8c7f11619d35dd22a4667e2eb89a017194bb68ec0a9df762c9\ - 377c1c075b5f09566048 -Test: Verify -Comment: 1028-bit NR key -KeyFormat: Component -SubgroupOrder: \ - 2368e2b864b250ad45406391e7eeaa3d27cd053c2b -SubgroupGenerator: \ - 07c325695dfe315a77ad7b42f0d18f9d4821b5c153fee7385877602fa54477bb\ - 8c0639d2438f34352b97c22d02a7295d2b53d5286a01caa919d6283614690624\ - 240af922675ccd4a0534ec336cb79cde31b02b5988cc5a53ca17790d67d803a2\ - 7bb927b9c59bdc6ac794175e285cafdece6778ab19a0b444747fee20d5bf929e\ - 70 -Modulus: \ - 0abdeff64b6f28256e4562109bffed29cb5aa95d89cc0ec95da0e773dbff3467\ - c271bbb1e1fbb6af058517fdacdf26b5919674c625eced6317d8631c063f43b3\ - ade2cd633d554913339071d6ebed5fd665fc5dd7d47b80721a976c3b14fbd253\ - f0f988c354725289f2897df0a15985c92b2d4da8d087870c251c72d979b8304d\ - 51 -PrivateExponent: \ - 0771305163506b2b83bd5279935df1b5fcf180b004 -PublicElement: \ - 043e4ae6244408879264fe6b859b578218705b9a45af22efded27141b7f090cb\ - cbe42dcf481df3e41b13920ae02b694eaa6bfd62f2d3c5d677b8c4ce783cbe27\ - 89e088b04489ef535ad4a517351c8835cf128f7ec677a1b1dbe3ae9cc4198ddb\ - 6e1cef8e978c0725f5063797bc43eb9ae496286cccbad5d4e026e9edb997d2f9\ - 18 -Test: KeyPairValidAndConsistent -Message: 4867852C83F181CDD010 -Signature: \ - 1db6a5661b20c9289428c3b9ebf65d5a8f757f3a3b1eb15dfaf0c8cefc891954\ - b48279eb45910a141ec3 -Test: Verify -Message: DA6493C86D6B62C5961C -Signature: \ - 1c05300a56319ba4a8ace1206f5f37b5bbefc9d80a171a57b6da3c02aa1f3079\ - 70583c008f073996d932 -Test: Verify -Message: AE2C1136BFE966794A6C -Signature: \ - 02dfd79eb18f3a862b11a5d199a7db1dc53580ade90517a7739cbd8ab1849c44\ - 54ba17a69b8d03ecc4f9 -Test: Verify -Message: B20160E0442E726BE749 -Signature: \ - 14c0cf809174d39f1324b7dd0d6d1fb3be5b5577c10048b12def39772fa60cd5\ - a9d2cca9075f12e5a3c1 -Test: Verify -Message: 3638935C4492F5CA42F2 -Signature: \ - 0081d7216636bc6fb9bc7a637a377ebf4f9048826e0360c8faf03dd28c4ee4a4\ - da82689259f140b3d918 -Test: Verify -Message: DFB674CA6E0FDC0CBE99 -Signature: \ - 1e3e21aa3dcccddb8cf3e360631fc36956263951ff18fec553531252b4dbe753\ - 6ed5fc62897d51500c38 -Test: Verify -Comment: 1029-bit NR key -KeyFormat: Component -SubgroupOrder: \ - 3357536531dec150be0ef8747f69ea30d987ff7df1 -SubgroupGenerator: \ - 067dd80dbc6b41f58d08f077a9a3dcbfe12a62065fe6b4691c457f506b56dcab\ - 0433b3aad6ef962501633d0f3947b491a1317e7e6b632f062c53104d609c9222\ - b056f08a0c83662a70744331fd09b2b42fb0768e52da27e92732106fbd41ec73\ - 7373fd080b56b543d808d49eeb6e1bb0a8619b1edee8fb8295dc042423f684af\ - 8a -Modulus: \ - 1d0f176b6799b36724c92954c38d0288fa95400c2b14e064f76a6338fccaebca\ - 8d978b93bb76507bc150a50f9fe799fffe12ae2875b13ac1084ffcfde9f62b86\ - 185a72f04ff80538d6eac177edc98d61a517b1275bcf4b57aa262e1702d623bc\ - 344db7e5621c949a9b12e9936e88fae9b200a1f8ad5b40ec8220aa301267f38d\ - d7 -PrivateExponent: \ - 2dcdc00a86ecc2a60ebfa6660a83af1d7c3e570b85 -PublicElement: \ - 13834f0fa1f42abf7dbd264cb7d2eb5798da8972df67f517c62d7ae5070fd588\ - d61db62e492f9654833e876ed5737df35069f5ee01a45de881d8f5e68ec52ad9\ - ef32780e8c453a5f1e38cc17bc5cd061a3c122080f6e1b82d31877e8b08f634f\ - 497bd90b06824eaa0416c64104ce5622c272673d0dedb836ac7d47e0cea06739\ - 02 -Test: KeyPairValidAndConsistent -Message: 1E34034C47FE533F8FF5 -Signature: \ - 05c110848feacc9ac762ffa14943f9ce9a111777de0502d9f364ad9b2df4e1a8\ - 17bc15a602579b3a6a25 -Test: Verify -Message: 53D2CA23AF7DF95634F0 -Signature: \ - 14009997efeb3fd246956e44b5b0e48581ac5f414613b41fe5842c85b031ab8a\ - e68f66f8e1f1f9fc1d74 -Test: Verify -Message: 0F056E08AE77B3B30F33 -Signature: \ - 1beedf85b426d36a657f422ab9a9132986eaf415332816d33d70c726c3066158\ - c6481fd00503ffb65518 -Test: Verify -Message: F08C80E8FD38A3867B76 -Signature: \ - 0a23b8d8f920cfb0dec93725e4972080445647c54227fb987dd9f80fab446c75\ - 1c2594276168aa68f318 -Test: Verify -Message: 6D392690B92B3E75020F -Signature: \ - 18668f59c6974dad551a89bec5cacf0bf8617e8f43052eb97d7a1b12411b27b7\ - 4248b3d1f5070823e951 -Test: Verify -Message: 10AE0E091A267641FACF -Signature: \ - 1b3d10f74fdaed3d4d61fedfa3f6ad3a37c0cf6687166a312d5b280724c3545d\ - 225e1fe0639cfb1113d6 -Test: Verify -Comment: 1030-bit NR key -KeyFormat: Component -SubgroupOrder: \ - 27c7996c1d3729c4cf1de06529e5619771e27ad9eb -SubgroupGenerator: \ - 0d87a4b01385da7f43b6277933c5f0dc8072dcacd5252e1b29f588114a7ac56e\ - 377050aa8174b5dda400f043234e4a746442792734dc80274a00a3676101be94\ - 759fc2630b9a858966488b12611d03d0b31e7243e124497a754544cee1db10bb\ - 0a81cf0b2a68045b76fe935f641c666fdc788a2b968c6668c669115756b961d9\ - fe -Modulus: \ - 2a32d68d31248024053bf628a94404b9a49d91ade4d7a45b071e93292a7f8c26\ - 61d9165f0ab85491d4b0dc67d335fa7d7dd172cb17193390a55eb000aa97e2b8\ - ed3ee64b73aa43ea9b8979132c2d966ab03c42cc14782c96e4284ee1136b8515\ - 007ed1b1a5708b5e8d81304fa651edc715918e2299cfe9016dfec5f454d907f5\ - 9f -PrivateExponent: \ - 091155581ecb7a0a792ba95c772d9382298bfdfa6f -PublicElement: \ - 0d7d22c931422fc46505887559a51490c2e367cdb40242cdbaeb23024693fd5c\ - 68f6a3307ca34b224457d5aa610b90eca3b39905481daaba7151318f09f974ad\ - 664546d14c87f797e38139ee1e07adba9c775e07b7f7b3edba87d886920d6b2c\ - ef5f084359566b0a3b8b940a65b9ad93fd7ccd1354cdcee3c43c6bd315180498\ - ad -Test: KeyPairValidAndConsistent -Message: 23EEE1D0EA8950B8F322 -Signature: \ - 18fe1a5f61c4946810e82a1e30fb6c87ce4ad9cebb1ae27eebfa8779fe292b2a\ - 451be3506bb65519dfd0 -Test: Verify -Message: 13FA6F2816FB83190A21 -Signature: \ - 2161a5be85f7ffe806df00f4bd50915e4b0674e7591f1c0902153823f881bc7b\ - 3f093d92bf86b74b5b3e -Test: Verify -Message: D071CCC0C6E4CAE82E5A -Signature: \ - 059158b2cf143f38eb8c51088dd79bf45990e596c8026fa3de5e668368b9d8d7\ - fe9ffdbdecf66aaf02bb -Test: Verify -Message: 22CE83F4803BF3EA2C48 -Signature: \ - 073b56d72a5b706455cfdcbf85b75ee45c40e96dd21a5460542ade665e51a85c\ - 510315a50307c2bbdb2d -Test: Verify -Message: 7A927EC7BB9CA16C1B0A -Signature: \ - 254c7525aad9b4b3807b3900a963fbf42f9ff2144820ea69abe5ba2c80613510\ - e1429ebc726fd0a87a4c -Test: Verify -Message: 9591B069993E10BC0B84 -Signature: \ - 0ed4210e5e4f2f9546ea181c4a61d062a1158810071905b180dbf070b480f436\ - 0b1f66065ecf111741cf -Test: Verify -Comment: 1031-bit NR key -KeyFormat: Component -SubgroupOrder: \ - 26f86a81a6bb530c2f9b63e3690e95a0894575f445 -SubgroupGenerator: \ - 1e24828adb4ebf2becdbdcadf6706631293ad6566803d12479f04a7bb20b6086\ - fe81df164f8bd02c5f418c1140d143f11a71170b42d0753c952bfff951b9ca42\ - 04868375efaa4afad50b75787e41c5ab9ce8adcbccecd3716f350bb8aaeca9b6\ - 098bd0002d789e1f7db9c19d9045499877b93ecb4e7c64808b742063bbecf60e\ - 29 -Modulus: \ - 4d58515f7b41c4fc87e4fcefe5cf6d84b2d74a9d6f498ae9605fcbf1c5921742\ - 2001a272ef91dbd09e7af5ee54126dd4fc44bb1ed624d0dd5dafb984d5278114\ - 0bba40600cbd4752d2c32b43253efee57af6964c339570edb24195502e6d424b\ - 84bed65ac98c6fc52ec90e40a525f1863a53f2fbe2a0a133342eff4337f26ceb\ - 93 -PrivateExponent: \ - 0e61a054ee6510734a80f67a54d8c4151c957ef16f -PublicElement: \ - 19b50f1eea45bfaa22352a38f3c3b86d6f670747ac2fd94359608e25f2bb9f60\ - 2506bc357245deeb4c3c702d435c557da4f4a9fd37330a75547c91681fdbb51f\ - 286adb498d1e489e89b2e6a4eb9ff30222c51fefbeac7435f629f536ac2d6b87\ - 664d80e5c97398cf489a1d1ca217f7f21ea8e409f938378875cf5f528162e3bc\ - 07 -Test: KeyPairValidAndConsistent -Message: B4B3C8FBE82013228A21 -Signature: \ - 0e1003dd216194ded89f7d10b35a266ca7587d8cfb06a1fe3dd43f07dea4a6d6\ - acaa1477f2552c9b3114 -Test: Verify -Message: 17D2D18302173E2CE992 -Signature: \ - 027b40cd9a159257a57efae3a657399a3b6d8b06f707ba3a323abc383a93f919\ - 1246c38c03b028be05df -Test: Verify -Message: 8032AE177D6DF38C7E27 -Signature: \ - 1f5e3d759e3b832f5a6c57b055764ff5b8ad942dd819610ef94cfec296cd1b56\ - 4fd0b18bfa08c3645db3 -Test: Verify -Message: 768640A60A3C62E02428 -Signature: \ - 0abe2dfabc81ab677d2cbd781ef9768325a5d6d15a22f41b32972bd67058e617\ - e28c7e0dfbaae535d655 -Test: Verify -Message: B0999CA45B77ED63639D -Signature: \ - 1525539cd207d5f6f915eb2731b6451e38e11e0a031d7e420e0bb95d6616d8ef\ - 35d20eb43c111f8f9ca1 -Test: Verify -Message: 587EDB968FA82C12C930 -Signature: \ - 024ed20dc19a07e00158aa2fe9cb6353f0112b8fab0e6775667115e1c92e5eb4\ - 29876c12ed48e996f4f7 -Test: Verify -Comment: 1032-bit NR key -KeyFormat: Component -SubgroupOrder: \ - 2e802b5369c3f1ddfa789bf8f2ad2e048ced3bf355 -SubgroupGenerator: \ - a9aebee7d29f90b081afc4d496a6a78210e918bb57a8a21c5995586c0bf20f7a\ - 56bb10a97e05a3a723e7db64612b12bb591b1fe7d2e46be8c96a7b2ce7c66076\ - aeded938775ae2223900adaf52a93f52d62173c82d4b67388c85d4c1127e1edf\ - 4643cf09f5375b60c19316c4f8f8fd7daea1d8b44a2d03e97c2741537f63d86b\ - 4a -Modulus: \ - d551680a62ebf98f0ed8930cc5b12de86d0a0c29a0d7e5524c24672a25428833\ - f4c19ac883ead22efcc0c6823f2e942c17adb7ab763ff2c7cc2698fa8b6448e5\ - 14d4628b197721bdaec780e126ac80ac83f24fef5c154f7690ceba903748be52\ - 12e3180ea718ca7a71a49dee939bf9bc5b7845c9648d074587ccd3724493b91f\ - 09 -PrivateExponent: \ - 0f66e04c5a75d3eac03d744e5432f23e3aea066a63 -PublicElement: \ - 2640c188055329f0b44aaf80f82f7fc7f0e421031834dfbd1fb6d6af6ab3e1c1\ - 73c901370a4ce2793c1b88d12f764c58ff064905da9c5001f679c7508972f237\ - bccca56524787466a7c9c2d6bb6392963008ed1a3e4cf3b13e66086bce3a4ca0\ - 4d8cabcf0cadb4c403c7d02a858460d04350e730289cb5adf200b5fdf1198168\ - b5 -Test: KeyPairValidAndConsistent -Message: 909068BEFFA43331FDC7 -Signature: \ - 2d557d8fae420880640dd9f60a524db48980c80d8b0179dd3c1892f02e87c9f6\ - a04a8aa731be05aaffef -Test: Verify -Message: AC8AFC7A1D9105539E10 -Signature: \ - 0ae7f23328453fdb03c090c09ee69d787ee7dfaccd047445b1026a9a7cacdd1f\ - 91455db7299538817894 -Test: Verify -Message: 310E40311BB3F77F9483 -Signature: \ - 28a8d8de06dc0011b044d19a163d350535d6ca91a023c9687557690ddf102d8c\ - 7558246ced311f2fc444 -Test: Verify -Message: 35455ABD53E6FB11ED9B -Signature: \ - 162156e476cba65e767b4db942bb35cdc6293cf4360f1801a215bb2c726c22af\ - f3a711d3c6473f1eb985 -Test: Verify -Message: 95FFA73B52F0D06A0C1E -Signature: \ - 29bf4f13e6aff528aa1b060c2baed865c442e0472422b4bd485aa5ba2a09ad0d\ - 732637bb3ee520f6bc0b -Test: Verify -Message: 1E9934125DA6E9B4E975 -Signature: \ - 1674975d0a97e799d113ff9cad06b7f70a33f5ca5f1916cee07b525270284fbb\ - 1c0428666987ad7e2116 -Test: Verify -Comment: 1536-bit NR key -KeyFormat: Component -SubgroupOrder: \ - 232cf9bee9d56c8bd8252d1edb59d99c40cf32d07d9e5a4893 -SubgroupGenerator: \ - f028143e3f9d1317aafb814215ffda9c584da8943e96212c90a082c3d2f335e8\ - a6b64d1c890aa2224ebf158bec2b6fe6bad236417acd517a4907331e0be0dd0b\ - 801218ac270acdd45579290be1b94bc418b8f82c651d82a19d2f0e1cbb0fbc0f\ - 054d95150af96f9a7488010787a799c544883ff76a4e3092f2ca9aa9000cecb8\ - 8dda343c972c8192a83820727b1945c1a270cf913ab932457e8e6e207d06cd0e\ - fdf265b762b9fa15c9a14633af17204ba2b755ed1b3b421ac596a2a04e64be43 -Modulus: \ - fada6e4becef964a85caf9e129639a5616ac000dbac59bd50b84bc8d46411407\ - 9c34c5b58d7d40027faaf037c6a649c527cb002d3a716bdef62b6c94d7a47a8b\ - 65c2ebac05da09e40cdc417024cccba267a98f4eb69701a276b4f117662b5666\ - 05c36054e7f015d2e5f81331e5666ec17ebf71907788b40cbcea0f24aaffb029\ - ef5c25c55ae998f28a2ddb091d262c32ad324f4e64c7b4b50a19e9d92f6d8024\ - 188627cf5ce68674e7ec7da38fd6cf4ec29a6ce2f17e3188d8ef6b0e50d77d5b -PrivateExponent: \ - 1d4cedc87d55eea31bd702139b90be08d58692a1f97628a01b -PublicElement: \ - 819c8cedb9c014aa577e9046b90795accbebe81bef68b1b5c37c68cb357e1a5f\ - f92761bc26cb0953956b6c0aec05acfc9d1a27c50789793b13d9eaf2361760c9\ - 7a7d86e7d922f4809a5d2d01448e938190bbc24c150e03ef8305365ddbf5ca19\ - 6857314e3b3023f8ddc9d209bd7dad1ee763e7003fd1b0c53057d2e9acadd23a\ - a18f83d20143bc41a2dfa4a164c82621fc0f800052ec01bec7c99c66fe20ec57\ - 67e6fbbe8810cd5aa75eff3d8a4cb53e1259ebcfebcc2fcf21ba7f3589cd525a -Test: KeyPairValidAndConsistent -Message: 9F6DC301DF53FE22CAC0 -Signature: \ - 15b22111ffa1b733979cd9d8944b1291ce09468ccbd05040de0f83023c8fe083\ - 734ec39a542011643e448b01429c4bae06d1 -Test: Verify -Message: 2D7B5B9A27EAB468331E -Signature: \ - 029eea970a049ffcb4c6117c97d181bec7a27557ceb88d422b2212ca36238380\ - 87cd52d2445f539c9c03705ba4b485f56e19 -Test: Verify -Message: F552FCBBA04FFCCC5CB6 -Signature: \ - 115de3cc15d9a066c00fed43f583f6a9c984d4b8f4c93c3d72094a4b04dda506\ - 7d460c3d1ae33ba66ceaac676256c1e73001 -Test: Verify -Message: 0D52B894153A4BB74068 -Signature: \ - 0f6b8cc28e2068a3fe14d220177793daf3512ba6942e9d16ef1571fa34926c27\ - edd1bfa94723a663425f5c2d01eaddaa972e -Test: Verify -Message: 294442E103CC0CBA32A6 -Signature: \ - 0fbd8768a1b3025c0d0d309cc448320e086318772bb9485a5a0a2afa1eb2afb2\ - d1818aa7b1c55b9dc424e654524278f0ddbc -Test: Verify -Message: E993D8FE1E6F6C3914ED -Signature: \ - 0559d66bad3a51520bbb85827a257ab09dfa33938127c69bf40f08339b2f2251\ - c0e50b63d2a4d05225dea7f58f67de3071e9 -Test: Verify -Comment: 2048-bit NR key -KeyFormat: Component -SubgroupOrder: \ - 03f35f80fcd896f03eda9ff07f2e35295384c4f3b8f8c4821369ab5417 -SubgroupGenerator: \ - 75c5d8c8f72302d92be3bf486b8648330ff86954de5e6e83efef624a277574c1\ - 6757684d3874ee303fa08343fe82dae484e5dda6781280b434c4090044cc7ff9\ - b6e962594d3ca069815c0f0b6bfd25215a419420d0ef8a1595c6eb1b44a719b4\ - 0131081f75cc15cb09a5d5a029c8546230c30b4af2d4a9f4374c93a095c83b59\ - 4b1774d635d4aee965f1d094469f7bbf8bdc93216a6b8a6c5753b48962335bf2\ - 092aa583c897878c8a7ce61186b592b05d2aea710b673d5994cedb5f117fdb6b\ - 8ad4d89f443c4eb662b428a34a7522c69794cc0274f3eba837e90da86acbc707\ - 4ee3a0b029d970efa48b3d582b740ae0e585d175a5f63a385f8b6b8878b44e1a -Modulus: \ - 9a08865d2bc9e0cf03d2500b2a08402bb9dc953d5fcd73f04be61236efc0998a\ - 8f012f00e52f7a6e91e81b88a4c9f985a2da523cbe7caff08cae44963d2035ed\ - a72e1f31f82c8d64c86e686899d53c0200282f407ceb1507db480f1db223606a\ - 57466cf60fe9fc5f7ea7d5fd82ed3ab2cf5e35491dfaef0aa2e10fbfa3cdfeb5\ - ebf65e4dfc2837e1f6399db06cc2e0420c7b14a4c0d483b742ca58b31fec9f26\ - a64e9bfcaa82334e644f4b954e2a9c7eeae096b8864ecd223ead3bcf9e8c1f68\ - f6678faccdb7f26d8f33d8a5fb0cb156cc7daf4a96ec2b730c0d7f666d699f73\ - 45a37ddc1ccdea6d8f439ddb23de04a941b246bc257b0aef544a8e868bc8444f -PrivateExponent: \ - 0212c34d3d17b96a899548ebf43bb886676acebd2f040f5b33a4e88d2d -PublicElement: \ - 267f9c3ff3ee3cbc0f9e94dc7e6837e1ff65175e967987b90b9aea7eef1de6e4\ - c342bebb5dbd0c4e2f6514f2d487857a146dda6cfdbc8b56ed254cd65754d84d\ - d21a271cd15fc656274725643728b41ce3f0e6872b6dfb4c289e03f9b903880c\ - e3d7d745dfbb641c8c42ec0bfb6951ca2611fd877c32248c97252bdb42d7bd65\ - ebc50653dff389526c546d1e6ebaf6bd8b3298c01935901b7efb288b78730d89\ - fba7f46f2a642aee0dbc93aa29c190b201acf89d4f8ba28f3e3f54a1c5a48294\ - dda908f904afb7db398682c809ce13abd49279221d5b40ad76216bad7ca256d7\ - 18d3552344c481b20da5aac3e637fb7edeaf7960b532ef761376489f02fa8c10 -Test: KeyPairValidAndConsistent -Message: 5F3914F7AE0F6C76D152 -Signature: \ - 03d30b7eaaddcb384dce378f806e88d646419bbedbc2c0c5cae32f3c3b02e0e1\ - a3c3ab04b31e2c25db713db539a65c9419a846aea88aaa707cb4 -Test: Verify -Message: 769583D4E7EAD14C137A -Signature: \ - 01dc2815fd4918b8d3bd1743f5ab4546313b1fa8044b4737b2c485eeb0016bcc\ - cc084be064b6a8934a28011167eebbc33513ce609aa206810aa1 -Test: Verify -Message: 6441D5239F50C71DE0F5 -Signature: \ - 013f6d395de56832f82ee813b574002c36e551aaeffbb28ddebb84da7f01ff6f\ - 4c3d0f3519d548e2ec1a0b36f12ac1e4fedc83071bbbbce024a6 -Test: Verify -Message: F1C2D4F7C3ECDF2C17B7 -Signature: \ - 006441a8b3517613f9a8c2e7a89c492e7f49300d901ad01b92167c1fce02453d\ - 52b69dc1fc6532e792ad6366eae7fb14de3ad3f6f3132b0519fc -Test: Verify -Message: 752A1F2B8D9A717A882F -Signature: \ - 0127027984402f5b8cc069decc1bd611f0bb59c6eee86da7d334e3f8b903c5f3\ - 02c65aaf16a837963bf772931235f81e963e4d692699dfd4f7e1 -Test: Verify -Message: 666DC6B1E871026EDE56 -Signature: \ - 03e87b55a7e81318b7599da3fa8f18d46253b6546814fd1ae19318820100c297\ - 4de2624da0d54ca27e7fe3477913a6df35bf925de3f3d9a06849 -Test: Verify +AlgorithmType: Signature +Name: NR(1363)/EMSA1(SHA-1) +Source: generated by Wei Dai using Crypto++ 5.0 +Comment: 1024-bit NR key +KeyFormat: Component +SubgroupOrder: \ + 09b2940496d6d9a43bb7ec642c57b302e59b3a5155 +SubgroupGenerator: \ + a1c379ba91fe1f9d5283807b809c698bce4aee6f405f4de8c46becf33c08a63b\ + c5f8088f75b5b6bcfb0847ccbdee700e4e698652317bbd7a3056404c541136d7\ + 332c2b835ef0d1508ef57b437de60675f20f75df0483f242ddeb57efacd18041\ + 8790f4dec0a8250593ba36f17316580d50db1383ea93a21247650a2e04af904d +Modulus: \ + bd670f79b0cde98a84fd97e54d5d5c81525a016d222a3986dd7af3f32cde8a9f\ + 6564e43a559a0c9f8bad36cc25330548b347ac158a345631fa90f7b873c36eff\ + ae2f7823227a3f580b5dd18304d5932751e743e922eebfbb4289c389d9019c36\ + f96c6b81fffbf20be062182104e3c4b7d02b872d9a21e0fb5f10ded64420951b +PrivateExponent: \ + 0355dc884345c08fb399b23b161831e94dbe61571e +PublicElement: \ + 255cf6b0a33f80cab614eafd5f7b2a6d83b3eafe27cd97b77ae70c7b966707d8\ + 23f0e6aaaa41dc005aaefd3a0c269e60a665d2642f5d631ff1a3b8701bc06be9\ + c44ab7367f77fefeec4c5959cd07e50d74a05af60b059ad3fc75249ecf44774b\ + 88b46860d9c3fa35d033bcfc7b0b2d48dc180d192d4918cddff4f7ebcdaaa198 +Test: KeyPairValidAndConsistent +Message: 66B92E1E2C44B80F7BFA +Signature: \ + 06e7586b76d5a8270155cce2d3ff4495237eed29a101eb1341fce0b43d95397b\ + 053d93772b0a9cf3117b +Test: Verify +Message: 973266BB0A492248082A +Signature: \ + 02de44ed2233f0f11dcf567217d2089ec039a211bf000d42e04900a66ce45c58\ + 526a97d7f4cfba29e43d +Test: Verify +Message: 9A6D079ED0CA9D8B40E8 +Signature: \ + 04f59dbb2712926b3bc1d3c428f16203f3443f88db0669adda94dcb54e1fff71\ + fb51bb603e7adff13f84 +Test: Verify +Message: AA34DCE67BCDAC927DA6 +Signature: \ + 08ad21bf9d0cc598a214329d3544685d39487988bb01aced68ad0a4831affbff\ + 3b14df6c0f4ac4d2e967 +Test: Verify +Message: 4EDAC08816AFDBF284DA +Signature: \ + 09a9d5aa9bd1b6b61fe8825128c8e52a6213692b2504c8c6951299b5ca51b03d\ + ea0a5e56f9a7c4cd44f7 +Test: Verify +Message: D82F2E903230962B8174 +Signature: \ + 0441c8d089e690a7fab391de07073326d443a0d9d806a3997ac1641175310890\ + 1e55582a582541330539 +Test: Verify +Comment: 1025-bit NR key +KeyFormat: Component +SubgroupOrder: \ + 0b3949dadf3196f08bca0606f06443afce2fb1d02f +SubgroupGenerator: \ + 015f0f6d1729ef2af723c00e36450a04c7e7681d65b74a6417a53b3eb6036989\ + eff8e0ab11a7ec3ce2340b7c7a92e1a977aee52555c06c12c4cc28496ddc2598\ + feeb7539ce90d3888e21f61d7f14746cf67d9fed373afd97e2483700e300ed9d\ + a25e7200b363a4727ad201194b36ea5f816cf83488c3e527d3a5515870d2da63\ + d6 +Modulus: \ + 017310bf02d70ef2cee45d1cc47ec8ce8cabdd6bf32a560975a42ef057bf9dfd\ + 553bc9368ddb154a55d855edaa755e69f511a4c69ba78571cc4b14ddbb0f32a4\ + a9c56c286305aa21ec4e35de7390747477b3bd574e7b87cbebde2f665703137a\ + 1172350ad2f48a0884d076ada9db82f104e6b0ad86693cd4adbd0067639102fc\ + f1 +PrivateExponent: \ + 0696b0f255468b7ac18e11632f208ca86383a46724 +PublicElement: \ + 45bf83e62f50190374b23de5e4a1d0278e9e8e6c8335577d62e80662a380c206\ + e326819c5082d321dfda1f905fa5a3ead9a2dc769885a27b1fd6a133185dc5a7\ + 876a76ab0a09fe02b7071a924169e4d2d2a67e67ed3628800134183b962c0b31\ + 3463aa154e6437d644e025ab234e63d19c129842a61c5e5ea5a06466c858c81c +Test: KeyPairValidAndConsistent +Message: 2F585D0CE4FA1CD93880 +Signature: \ + 06586d8a703cdc27200d5261853f50effa8ebbdfc905f5becb68b81eca506992\ + 50fb54e46d557c6095dd +Test: Verify +Message: 4F09A1F217B8393199EE +Signature: \ + 0622cd33b1d715829d8fae104759ed449f95becb5e03d36f5578fd6a2951d2e6\ + 26cfce85ba6563990d64 +Test: Verify +Message: 03D7110A753B008A76A0 +Signature: \ + 02925630b4c80e604fc1d8680bfd0e3d878e22b3a30ab8b10da7fc38816a8c5f\ + 1e06927c68f9d3db60d9 +Test: Verify +Message: 129F4781D417671F886D +Signature: \ + 016c2c4ce845b4d412828cbb8a396d080c7eb93bcb01f7010410198c8bac96df\ + 8ab8761cebdb7d87f3a2 +Test: Verify +Message: 3E1594F559D1248D1112 +Signature: \ + 080bab68c62be86ab2c1bfd0edf10387a7cd66b69f054e254218e01f650e4e8c\ + 6bfa10054e367893e59e +Test: Verify +Message: D6F0354F1B6B253B6997 +Signature: \ + 08755c7e8012e8160db75c6160686351e5c577207f01602b4dda2fa56b864374\ + 703c83bb323c7bb34f5f +Test: Verify +Comment: 1026-bit NR key +KeyFormat: Component +SubgroupOrder: \ + 36bb68cd95dab195f14c4534283e7ea50b00cc31a3 +SubgroupGenerator: \ + e2782ad6992f4b7e88787b4d616744b60e095575a177569c4a069e311e38b724\ + 0c43343367e23574c30e4d9f05afe1fbe61423bab715915c4ccf28aa0ed2f52b\ + 092b86c8ec1f9d4795d6e91c88ba41297625c11a9e1f4f182da13cf51e541038\ + a1266bf32b2dd81ecd84bb80be8fdf97689942e944b7fbb6981e00cd680ee25f +Modulus: \ + 025098828217d00108030801e5f135fc6fd3010be39e49060a96addc8a081198\ + 803402c4b46e4ce0750fcbab8cf084c7ca8cae09f1b5482d336fa3af47b96791\ + d02d8143e274b1325f2213e17f9384c805f479e52a3117cf84869d395f1bc025\ + c918484478d2da1880d32bc519f4e6b2fd2d46958795550ce1765f725626f3fc\ + 17 +PrivateExponent: \ + 2db270c284328353f979cad99f4133c53acaa6ee71 +PublicElement: \ + 0179b283f67868aeded3a0c5633d0e6c18fad77174e2c89c03452593d05e77a9\ + fb029c0ccb2b6f2328e79c286ee392713f12d9d45578348383b81d11b0e0f7e8\ + 9965a7785d5ab64ea25bb73e8acaa8e84cb9897985015757a48c0b1dac3a6a60\ + 6fe671ea073ec434a46f227b8d4b02a46fbba2f6c6216736d669f55778d81004\ + d8 +Test: KeyPairValidAndConsistent +Message: 7E4F2ED4E79062778A2D +Signature: \ + 03f523873462ee1513833e2853c3b62e30c5c1cc3224f1a42dc154fa84ecce04\ + 487069530d76e0574a38 +Test: Verify +Message: A0E35846B5CF1B5BF560 +Signature: \ + 2264285d75a55c431a7adb9347bc07d58efbeb1dd9354d01b0b86f2875f8dec0\ + 294d20289d39369c5afa +Test: Verify +Message: 3B138785EFC6F520EAE0 +Signature: \ + 116e45961ca73f3ccf08b35f94877fef88772cf0fa2ab196c85a91104d8fbde6\ + 65b7032b2fb4011a88cc +Test: Verify +Message: 0F6BE2AA764B485145D4 +Signature: \ + 027ad753bde13c7f2fcd7571e5558f8af756cdb9463237fb0e285cb633cc86be\ + 1b410188d701f6ca83c6 +Test: Verify +Message: 6CD9FBD23EA58826FB04 +Signature: \ + 1651decd376899104e3fdbe40ab2d9bfd3c8577f3b092b66e3760678ecb3fc35\ + 23a59107e0bdccb76a73 +Test: Verify +Message: 473A82649565109E9E89 +Signature: \ + 2045ef56d92f89a214d76cca6b591068ac5f0d008c121ec4e5c4c1e8ca9b67cd\ + bb5ecc776a23b6d54ba5 +Test: Verify +Comment: 1027-bit NR key +KeyFormat: Component +SubgroupOrder: \ + 291d0ba731a4303070504d8b9615640a5e1345e00f +SubgroupGenerator: \ + 051c9d0270b69ceef82af5aed5f91dc88d585096609d835d03d39cf3ce74f5a3\ + 402d4e8e192455493da61cc58ee6f54dd941172be3d7642169cbc52273f4b725\ + f1d6c820c3333336c64d32fb6238121b3ccb7c71b847764946bb0887a44ca9de\ + 802cda62efa9dda573751084225353f11ed837f3dc25de8374b6fdbfb6e313e4\ + 6d +Modulus: \ + 055402a8abe9cda3072ca8601d68032651feb0335856e57f8f8d4ec949098a64\ + 59151cefeef91b7aa733668c8cf0e9b96c93c61f3528d4036daa6565646f65d7\ + 4c4552817df7e5fb1cc421cfd885e27bb811ad227e81b3fa02f7a00bf01ee6e2\ + 3fb5572a75f8f29b58bd5f7db435e8a92a923f15d50f34213d29816921bf195b\ + 2d +PrivateExponent: \ + 13b27094d9a5a3a9704cebdbe890da325fa26ad555 +PublicElement: \ + 03b06b99097cd7145c7d7782b02e247a4741f3c7f39233627f17e13ebff89a18\ + cad6a454c3f32f7ef2910384030da71ae47e1c3fa79c2141dad107f8e715e47f\ + b0bb626baafc35db769852ebbec2d339c3c3d5f2287cfdd20b3b78ea4607086c\ + 42558ae4637eddd6a74bc1072d0f34d9c0130cbc9e84f537e7ce50df502d17b5\ + c3 +Test: KeyPairValidAndConsistent +Message: AE6DCD9535AEEE3ECC89 +Signature: \ + 1c6794878aabf07cf9f59b685d4a3a6e51c9135dc101a4a6a62c95a20902e2fa\ + 23db7d15293f595f86ab +Test: Verify +Message: C83A14EAC016D659F9FE +Signature: \ + 18ed4812925dca6a9c30e2e3566433e202be2d305414e1e6583905ad845cbc63\ + 2049804932aac79b858c +Test: Verify +Message: 745E02041EB487D16CE6 +Signature: \ + 13d4ef1de59ef0fe9bc4ecc6d382908642f6f5793e255b819e25ed124f7fa574\ + d91fc2e9b258f0514b15 +Test: Verify +Message: 62F019655A83501FC4E7 +Signature: \ + 07f797768984ecc792f366ece16f5102aec2aac6d31fdaf3972839cac2c99a2b\ + f5b347c887d37943383c +Test: Verify +Message: 351D37A4B5046E885EAA +Signature: \ + 22064cd5179ff1551dbf73c5220e17a9dfa1aa8f7f22f44a6c70f13c6d0a21f8\ + 7e53278251037a6cdc5e +Test: Verify +Message: 4073D33915F595F4FF9D +Signature: \ + 1f902ea2c9521b8c7f11619d35dd22a4667e2eb89a017194bb68ec0a9df762c9\ + 377c1c075b5f09566048 +Test: Verify +Comment: 1028-bit NR key +KeyFormat: Component +SubgroupOrder: \ + 2368e2b864b250ad45406391e7eeaa3d27cd053c2b +SubgroupGenerator: \ + 07c325695dfe315a77ad7b42f0d18f9d4821b5c153fee7385877602fa54477bb\ + 8c0639d2438f34352b97c22d02a7295d2b53d5286a01caa919d6283614690624\ + 240af922675ccd4a0534ec336cb79cde31b02b5988cc5a53ca17790d67d803a2\ + 7bb927b9c59bdc6ac794175e285cafdece6778ab19a0b444747fee20d5bf929e\ + 70 +Modulus: \ + 0abdeff64b6f28256e4562109bffed29cb5aa95d89cc0ec95da0e773dbff3467\ + c271bbb1e1fbb6af058517fdacdf26b5919674c625eced6317d8631c063f43b3\ + ade2cd633d554913339071d6ebed5fd665fc5dd7d47b80721a976c3b14fbd253\ + f0f988c354725289f2897df0a15985c92b2d4da8d087870c251c72d979b8304d\ + 51 +PrivateExponent: \ + 0771305163506b2b83bd5279935df1b5fcf180b004 +PublicElement: \ + 043e4ae6244408879264fe6b859b578218705b9a45af22efded27141b7f090cb\ + cbe42dcf481df3e41b13920ae02b694eaa6bfd62f2d3c5d677b8c4ce783cbe27\ + 89e088b04489ef535ad4a517351c8835cf128f7ec677a1b1dbe3ae9cc4198ddb\ + 6e1cef8e978c0725f5063797bc43eb9ae496286cccbad5d4e026e9edb997d2f9\ + 18 +Test: KeyPairValidAndConsistent +Message: 4867852C83F181CDD010 +Signature: \ + 1db6a5661b20c9289428c3b9ebf65d5a8f757f3a3b1eb15dfaf0c8cefc891954\ + b48279eb45910a141ec3 +Test: Verify +Message: DA6493C86D6B62C5961C +Signature: \ + 1c05300a56319ba4a8ace1206f5f37b5bbefc9d80a171a57b6da3c02aa1f3079\ + 70583c008f073996d932 +Test: Verify +Message: AE2C1136BFE966794A6C +Signature: \ + 02dfd79eb18f3a862b11a5d199a7db1dc53580ade90517a7739cbd8ab1849c44\ + 54ba17a69b8d03ecc4f9 +Test: Verify +Message: B20160E0442E726BE749 +Signature: \ + 14c0cf809174d39f1324b7dd0d6d1fb3be5b5577c10048b12def39772fa60cd5\ + a9d2cca9075f12e5a3c1 +Test: Verify +Message: 3638935C4492F5CA42F2 +Signature: \ + 0081d7216636bc6fb9bc7a637a377ebf4f9048826e0360c8faf03dd28c4ee4a4\ + da82689259f140b3d918 +Test: Verify +Message: DFB674CA6E0FDC0CBE99 +Signature: \ + 1e3e21aa3dcccddb8cf3e360631fc36956263951ff18fec553531252b4dbe753\ + 6ed5fc62897d51500c38 +Test: Verify +Comment: 1029-bit NR key +KeyFormat: Component +SubgroupOrder: \ + 3357536531dec150be0ef8747f69ea30d987ff7df1 +SubgroupGenerator: \ + 067dd80dbc6b41f58d08f077a9a3dcbfe12a62065fe6b4691c457f506b56dcab\ + 0433b3aad6ef962501633d0f3947b491a1317e7e6b632f062c53104d609c9222\ + b056f08a0c83662a70744331fd09b2b42fb0768e52da27e92732106fbd41ec73\ + 7373fd080b56b543d808d49eeb6e1bb0a8619b1edee8fb8295dc042423f684af\ + 8a +Modulus: \ + 1d0f176b6799b36724c92954c38d0288fa95400c2b14e064f76a6338fccaebca\ + 8d978b93bb76507bc150a50f9fe799fffe12ae2875b13ac1084ffcfde9f62b86\ + 185a72f04ff80538d6eac177edc98d61a517b1275bcf4b57aa262e1702d623bc\ + 344db7e5621c949a9b12e9936e88fae9b200a1f8ad5b40ec8220aa301267f38d\ + d7 +PrivateExponent: \ + 2dcdc00a86ecc2a60ebfa6660a83af1d7c3e570b85 +PublicElement: \ + 13834f0fa1f42abf7dbd264cb7d2eb5798da8972df67f517c62d7ae5070fd588\ + d61db62e492f9654833e876ed5737df35069f5ee01a45de881d8f5e68ec52ad9\ + ef32780e8c453a5f1e38cc17bc5cd061a3c122080f6e1b82d31877e8b08f634f\ + 497bd90b06824eaa0416c64104ce5622c272673d0dedb836ac7d47e0cea06739\ + 02 +Test: KeyPairValidAndConsistent +Message: 1E34034C47FE533F8FF5 +Signature: \ + 05c110848feacc9ac762ffa14943f9ce9a111777de0502d9f364ad9b2df4e1a8\ + 17bc15a602579b3a6a25 +Test: Verify +Message: 53D2CA23AF7DF95634F0 +Signature: \ + 14009997efeb3fd246956e44b5b0e48581ac5f414613b41fe5842c85b031ab8a\ + e68f66f8e1f1f9fc1d74 +Test: Verify +Message: 0F056E08AE77B3B30F33 +Signature: \ + 1beedf85b426d36a657f422ab9a9132986eaf415332816d33d70c726c3066158\ + c6481fd00503ffb65518 +Test: Verify +Message: F08C80E8FD38A3867B76 +Signature: \ + 0a23b8d8f920cfb0dec93725e4972080445647c54227fb987dd9f80fab446c75\ + 1c2594276168aa68f318 +Test: Verify +Message: 6D392690B92B3E75020F +Signature: \ + 18668f59c6974dad551a89bec5cacf0bf8617e8f43052eb97d7a1b12411b27b7\ + 4248b3d1f5070823e951 +Test: Verify +Message: 10AE0E091A267641FACF +Signature: \ + 1b3d10f74fdaed3d4d61fedfa3f6ad3a37c0cf6687166a312d5b280724c3545d\ + 225e1fe0639cfb1113d6 +Test: Verify +Comment: 1030-bit NR key +KeyFormat: Component +SubgroupOrder: \ + 27c7996c1d3729c4cf1de06529e5619771e27ad9eb +SubgroupGenerator: \ + 0d87a4b01385da7f43b6277933c5f0dc8072dcacd5252e1b29f588114a7ac56e\ + 377050aa8174b5dda400f043234e4a746442792734dc80274a00a3676101be94\ + 759fc2630b9a858966488b12611d03d0b31e7243e124497a754544cee1db10bb\ + 0a81cf0b2a68045b76fe935f641c666fdc788a2b968c6668c669115756b961d9\ + fe +Modulus: \ + 2a32d68d31248024053bf628a94404b9a49d91ade4d7a45b071e93292a7f8c26\ + 61d9165f0ab85491d4b0dc67d335fa7d7dd172cb17193390a55eb000aa97e2b8\ + ed3ee64b73aa43ea9b8979132c2d966ab03c42cc14782c96e4284ee1136b8515\ + 007ed1b1a5708b5e8d81304fa651edc715918e2299cfe9016dfec5f454d907f5\ + 9f +PrivateExponent: \ + 091155581ecb7a0a792ba95c772d9382298bfdfa6f +PublicElement: \ + 0d7d22c931422fc46505887559a51490c2e367cdb40242cdbaeb23024693fd5c\ + 68f6a3307ca34b224457d5aa610b90eca3b39905481daaba7151318f09f974ad\ + 664546d14c87f797e38139ee1e07adba9c775e07b7f7b3edba87d886920d6b2c\ + ef5f084359566b0a3b8b940a65b9ad93fd7ccd1354cdcee3c43c6bd315180498\ + ad +Test: KeyPairValidAndConsistent +Message: 23EEE1D0EA8950B8F322 +Signature: \ + 18fe1a5f61c4946810e82a1e30fb6c87ce4ad9cebb1ae27eebfa8779fe292b2a\ + 451be3506bb65519dfd0 +Test: Verify +Message: 13FA6F2816FB83190A21 +Signature: \ + 2161a5be85f7ffe806df00f4bd50915e4b0674e7591f1c0902153823f881bc7b\ + 3f093d92bf86b74b5b3e +Test: Verify +Message: D071CCC0C6E4CAE82E5A +Signature: \ + 059158b2cf143f38eb8c51088dd79bf45990e596c8026fa3de5e668368b9d8d7\ + fe9ffdbdecf66aaf02bb +Test: Verify +Message: 22CE83F4803BF3EA2C48 +Signature: \ + 073b56d72a5b706455cfdcbf85b75ee45c40e96dd21a5460542ade665e51a85c\ + 510315a50307c2bbdb2d +Test: Verify +Message: 7A927EC7BB9CA16C1B0A +Signature: \ + 254c7525aad9b4b3807b3900a963fbf42f9ff2144820ea69abe5ba2c80613510\ + e1429ebc726fd0a87a4c +Test: Verify +Message: 9591B069993E10BC0B84 +Signature: \ + 0ed4210e5e4f2f9546ea181c4a61d062a1158810071905b180dbf070b480f436\ + 0b1f66065ecf111741cf +Test: Verify +Comment: 1031-bit NR key +KeyFormat: Component +SubgroupOrder: \ + 26f86a81a6bb530c2f9b63e3690e95a0894575f445 +SubgroupGenerator: \ + 1e24828adb4ebf2becdbdcadf6706631293ad6566803d12479f04a7bb20b6086\ + fe81df164f8bd02c5f418c1140d143f11a71170b42d0753c952bfff951b9ca42\ + 04868375efaa4afad50b75787e41c5ab9ce8adcbccecd3716f350bb8aaeca9b6\ + 098bd0002d789e1f7db9c19d9045499877b93ecb4e7c64808b742063bbecf60e\ + 29 +Modulus: \ + 4d58515f7b41c4fc87e4fcefe5cf6d84b2d74a9d6f498ae9605fcbf1c5921742\ + 2001a272ef91dbd09e7af5ee54126dd4fc44bb1ed624d0dd5dafb984d5278114\ + 0bba40600cbd4752d2c32b43253efee57af6964c339570edb24195502e6d424b\ + 84bed65ac98c6fc52ec90e40a525f1863a53f2fbe2a0a133342eff4337f26ceb\ + 93 +PrivateExponent: \ + 0e61a054ee6510734a80f67a54d8c4151c957ef16f +PublicElement: \ + 19b50f1eea45bfaa22352a38f3c3b86d6f670747ac2fd94359608e25f2bb9f60\ + 2506bc357245deeb4c3c702d435c557da4f4a9fd37330a75547c91681fdbb51f\ + 286adb498d1e489e89b2e6a4eb9ff30222c51fefbeac7435f629f536ac2d6b87\ + 664d80e5c97398cf489a1d1ca217f7f21ea8e409f938378875cf5f528162e3bc\ + 07 +Test: KeyPairValidAndConsistent +Message: B4B3C8FBE82013228A21 +Signature: \ + 0e1003dd216194ded89f7d10b35a266ca7587d8cfb06a1fe3dd43f07dea4a6d6\ + acaa1477f2552c9b3114 +Test: Verify +Message: 17D2D18302173E2CE992 +Signature: \ + 027b40cd9a159257a57efae3a657399a3b6d8b06f707ba3a323abc383a93f919\ + 1246c38c03b028be05df +Test: Verify +Message: 8032AE177D6DF38C7E27 +Signature: \ + 1f5e3d759e3b832f5a6c57b055764ff5b8ad942dd819610ef94cfec296cd1b56\ + 4fd0b18bfa08c3645db3 +Test: Verify +Message: 768640A60A3C62E02428 +Signature: \ + 0abe2dfabc81ab677d2cbd781ef9768325a5d6d15a22f41b32972bd67058e617\ + e28c7e0dfbaae535d655 +Test: Verify +Message: B0999CA45B77ED63639D +Signature: \ + 1525539cd207d5f6f915eb2731b6451e38e11e0a031d7e420e0bb95d6616d8ef\ + 35d20eb43c111f8f9ca1 +Test: Verify +Message: 587EDB968FA82C12C930 +Signature: \ + 024ed20dc19a07e00158aa2fe9cb6353f0112b8fab0e6775667115e1c92e5eb4\ + 29876c12ed48e996f4f7 +Test: Verify +Comment: 1032-bit NR key +KeyFormat: Component +SubgroupOrder: \ + 2e802b5369c3f1ddfa789bf8f2ad2e048ced3bf355 +SubgroupGenerator: \ + a9aebee7d29f90b081afc4d496a6a78210e918bb57a8a21c5995586c0bf20f7a\ + 56bb10a97e05a3a723e7db64612b12bb591b1fe7d2e46be8c96a7b2ce7c66076\ + aeded938775ae2223900adaf52a93f52d62173c82d4b67388c85d4c1127e1edf\ + 4643cf09f5375b60c19316c4f8f8fd7daea1d8b44a2d03e97c2741537f63d86b\ + 4a +Modulus: \ + d551680a62ebf98f0ed8930cc5b12de86d0a0c29a0d7e5524c24672a25428833\ + f4c19ac883ead22efcc0c6823f2e942c17adb7ab763ff2c7cc2698fa8b6448e5\ + 14d4628b197721bdaec780e126ac80ac83f24fef5c154f7690ceba903748be52\ + 12e3180ea718ca7a71a49dee939bf9bc5b7845c9648d074587ccd3724493b91f\ + 09 +PrivateExponent: \ + 0f66e04c5a75d3eac03d744e5432f23e3aea066a63 +PublicElement: \ + 2640c188055329f0b44aaf80f82f7fc7f0e421031834dfbd1fb6d6af6ab3e1c1\ + 73c901370a4ce2793c1b88d12f764c58ff064905da9c5001f679c7508972f237\ + bccca56524787466a7c9c2d6bb6392963008ed1a3e4cf3b13e66086bce3a4ca0\ + 4d8cabcf0cadb4c403c7d02a858460d04350e730289cb5adf200b5fdf1198168\ + b5 +Test: KeyPairValidAndConsistent +Message: 909068BEFFA43331FDC7 +Signature: \ + 2d557d8fae420880640dd9f60a524db48980c80d8b0179dd3c1892f02e87c9f6\ + a04a8aa731be05aaffef +Test: Verify +Message: AC8AFC7A1D9105539E10 +Signature: \ + 0ae7f23328453fdb03c090c09ee69d787ee7dfaccd047445b1026a9a7cacdd1f\ + 91455db7299538817894 +Test: Verify +Message: 310E40311BB3F77F9483 +Signature: \ + 28a8d8de06dc0011b044d19a163d350535d6ca91a023c9687557690ddf102d8c\ + 7558246ced311f2fc444 +Test: Verify +Message: 35455ABD53E6FB11ED9B +Signature: \ + 162156e476cba65e767b4db942bb35cdc6293cf4360f1801a215bb2c726c22af\ + f3a711d3c6473f1eb985 +Test: Verify +Message: 95FFA73B52F0D06A0C1E +Signature: \ + 29bf4f13e6aff528aa1b060c2baed865c442e0472422b4bd485aa5ba2a09ad0d\ + 732637bb3ee520f6bc0b +Test: Verify +Message: 1E9934125DA6E9B4E975 +Signature: \ + 1674975d0a97e799d113ff9cad06b7f70a33f5ca5f1916cee07b525270284fbb\ + 1c0428666987ad7e2116 +Test: Verify +Comment: 1536-bit NR key +KeyFormat: Component +SubgroupOrder: \ + 232cf9bee9d56c8bd8252d1edb59d99c40cf32d07d9e5a4893 +SubgroupGenerator: \ + f028143e3f9d1317aafb814215ffda9c584da8943e96212c90a082c3d2f335e8\ + a6b64d1c890aa2224ebf158bec2b6fe6bad236417acd517a4907331e0be0dd0b\ + 801218ac270acdd45579290be1b94bc418b8f82c651d82a19d2f0e1cbb0fbc0f\ + 054d95150af96f9a7488010787a799c544883ff76a4e3092f2ca9aa9000cecb8\ + 8dda343c972c8192a83820727b1945c1a270cf913ab932457e8e6e207d06cd0e\ + fdf265b762b9fa15c9a14633af17204ba2b755ed1b3b421ac596a2a04e64be43 +Modulus: \ + fada6e4becef964a85caf9e129639a5616ac000dbac59bd50b84bc8d46411407\ + 9c34c5b58d7d40027faaf037c6a649c527cb002d3a716bdef62b6c94d7a47a8b\ + 65c2ebac05da09e40cdc417024cccba267a98f4eb69701a276b4f117662b5666\ + 05c36054e7f015d2e5f81331e5666ec17ebf71907788b40cbcea0f24aaffb029\ + ef5c25c55ae998f28a2ddb091d262c32ad324f4e64c7b4b50a19e9d92f6d8024\ + 188627cf5ce68674e7ec7da38fd6cf4ec29a6ce2f17e3188d8ef6b0e50d77d5b +PrivateExponent: \ + 1d4cedc87d55eea31bd702139b90be08d58692a1f97628a01b +PublicElement: \ + 819c8cedb9c014aa577e9046b90795accbebe81bef68b1b5c37c68cb357e1a5f\ + f92761bc26cb0953956b6c0aec05acfc9d1a27c50789793b13d9eaf2361760c9\ + 7a7d86e7d922f4809a5d2d01448e938190bbc24c150e03ef8305365ddbf5ca19\ + 6857314e3b3023f8ddc9d209bd7dad1ee763e7003fd1b0c53057d2e9acadd23a\ + a18f83d20143bc41a2dfa4a164c82621fc0f800052ec01bec7c99c66fe20ec57\ + 67e6fbbe8810cd5aa75eff3d8a4cb53e1259ebcfebcc2fcf21ba7f3589cd525a +Test: KeyPairValidAndConsistent +Message: 9F6DC301DF53FE22CAC0 +Signature: \ + 15b22111ffa1b733979cd9d8944b1291ce09468ccbd05040de0f83023c8fe083\ + 734ec39a542011643e448b01429c4bae06d1 +Test: Verify +Message: 2D7B5B9A27EAB468331E +Signature: \ + 029eea970a049ffcb4c6117c97d181bec7a27557ceb88d422b2212ca36238380\ + 87cd52d2445f539c9c03705ba4b485f56e19 +Test: Verify +Message: F552FCBBA04FFCCC5CB6 +Signature: \ + 115de3cc15d9a066c00fed43f583f6a9c984d4b8f4c93c3d72094a4b04dda506\ + 7d460c3d1ae33ba66ceaac676256c1e73001 +Test: Verify +Message: 0D52B894153A4BB74068 +Signature: \ + 0f6b8cc28e2068a3fe14d220177793daf3512ba6942e9d16ef1571fa34926c27\ + edd1bfa94723a663425f5c2d01eaddaa972e +Test: Verify +Message: 294442E103CC0CBA32A6 +Signature: \ + 0fbd8768a1b3025c0d0d309cc448320e086318772bb9485a5a0a2afa1eb2afb2\ + d1818aa7b1c55b9dc424e654524278f0ddbc +Test: Verify +Message: E993D8FE1E6F6C3914ED +Signature: \ + 0559d66bad3a51520bbb85827a257ab09dfa33938127c69bf40f08339b2f2251\ + c0e50b63d2a4d05225dea7f58f67de3071e9 +Test: Verify +Comment: 2048-bit NR key +KeyFormat: Component +SubgroupOrder: \ + 03f35f80fcd896f03eda9ff07f2e35295384c4f3b8f8c4821369ab5417 +SubgroupGenerator: \ + 75c5d8c8f72302d92be3bf486b8648330ff86954de5e6e83efef624a277574c1\ + 6757684d3874ee303fa08343fe82dae484e5dda6781280b434c4090044cc7ff9\ + b6e962594d3ca069815c0f0b6bfd25215a419420d0ef8a1595c6eb1b44a719b4\ + 0131081f75cc15cb09a5d5a029c8546230c30b4af2d4a9f4374c93a095c83b59\ + 4b1774d635d4aee965f1d094469f7bbf8bdc93216a6b8a6c5753b48962335bf2\ + 092aa583c897878c8a7ce61186b592b05d2aea710b673d5994cedb5f117fdb6b\ + 8ad4d89f443c4eb662b428a34a7522c69794cc0274f3eba837e90da86acbc707\ + 4ee3a0b029d970efa48b3d582b740ae0e585d175a5f63a385f8b6b8878b44e1a +Modulus: \ + 9a08865d2bc9e0cf03d2500b2a08402bb9dc953d5fcd73f04be61236efc0998a\ + 8f012f00e52f7a6e91e81b88a4c9f985a2da523cbe7caff08cae44963d2035ed\ + a72e1f31f82c8d64c86e686899d53c0200282f407ceb1507db480f1db223606a\ + 57466cf60fe9fc5f7ea7d5fd82ed3ab2cf5e35491dfaef0aa2e10fbfa3cdfeb5\ + ebf65e4dfc2837e1f6399db06cc2e0420c7b14a4c0d483b742ca58b31fec9f26\ + a64e9bfcaa82334e644f4b954e2a9c7eeae096b8864ecd223ead3bcf9e8c1f68\ + f6678faccdb7f26d8f33d8a5fb0cb156cc7daf4a96ec2b730c0d7f666d699f73\ + 45a37ddc1ccdea6d8f439ddb23de04a941b246bc257b0aef544a8e868bc8444f +PrivateExponent: \ + 0212c34d3d17b96a899548ebf43bb886676acebd2f040f5b33a4e88d2d +PublicElement: \ + 267f9c3ff3ee3cbc0f9e94dc7e6837e1ff65175e967987b90b9aea7eef1de6e4\ + c342bebb5dbd0c4e2f6514f2d487857a146dda6cfdbc8b56ed254cd65754d84d\ + d21a271cd15fc656274725643728b41ce3f0e6872b6dfb4c289e03f9b903880c\ + e3d7d745dfbb641c8c42ec0bfb6951ca2611fd877c32248c97252bdb42d7bd65\ + ebc50653dff389526c546d1e6ebaf6bd8b3298c01935901b7efb288b78730d89\ + fba7f46f2a642aee0dbc93aa29c190b201acf89d4f8ba28f3e3f54a1c5a48294\ + dda908f904afb7db398682c809ce13abd49279221d5b40ad76216bad7ca256d7\ + 18d3552344c481b20da5aac3e637fb7edeaf7960b532ef761376489f02fa8c10 +Test: KeyPairValidAndConsistent +Message: 5F3914F7AE0F6C76D152 +Signature: \ + 03d30b7eaaddcb384dce378f806e88d646419bbedbc2c0c5cae32f3c3b02e0e1\ + a3c3ab04b31e2c25db713db539a65c9419a846aea88aaa707cb4 +Test: Verify +Message: 769583D4E7EAD14C137A +Signature: \ + 01dc2815fd4918b8d3bd1743f5ab4546313b1fa8044b4737b2c485eeb0016bcc\ + cc084be064b6a8934a28011167eebbc33513ce609aa206810aa1 +Test: Verify +Message: 6441D5239F50C71DE0F5 +Signature: \ + 013f6d395de56832f82ee813b574002c36e551aaeffbb28ddebb84da7f01ff6f\ + 4c3d0f3519d548e2ec1a0b36f12ac1e4fedc83071bbbbce024a6 +Test: Verify +Message: F1C2D4F7C3ECDF2C17B7 +Signature: \ + 006441a8b3517613f9a8c2e7a89c492e7f49300d901ad01b92167c1fce02453d\ + 52b69dc1fc6532e792ad6366eae7fb14de3ad3f6f3132b0519fc +Test: Verify +Message: 752A1F2B8D9A717A882F +Signature: \ + 0127027984402f5b8cc069decc1bd611f0bb59c6eee86da7d334e3f8b903c5f3\ + 02c65aaf16a837963bf772931235f81e963e4d692699dfd4f7e1 +Test: Verify +Message: 666DC6B1E871026EDE56 +Signature: \ + 03e87b55a7e81318b7599da3fa8f18d46253b6546814fd1ae19318820100c297\ + 4de2624da0d54ca27e7fe3477913a6df35bf925de3f3d9a06849 +Test: Verify diff --git a/TestVectors/panama.txt b/TestVectors/panama.txt old mode 100755 new mode 100644 index bd4d4ee3..a89b252a --- a/TestVectors/panama.txt +++ b/TestVectors/panama.txt @@ -1,76 +1,76 @@ -AlgorithmType: MessageDigest -Name: Panama-LE -Source: Panama reference implementation -Message: "" -Digest: aa0cc954d757d7ac7779ca3342334ca471abd47d5952ac91ed837ecd5b16922b -Test: Verify -Message: "The quick brown fox jumps over the lazy dog" -Digest: 5f5ca355b90ac622b0aa7e654ef5f27e9e75111415b48b8afe3add1c6b89cba1 -Test: Verify -Source: generated by Crypto++ 5.2.1 -Message: r15625 "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" -Digest: af9c66fb6058e2232a5dfba063ee14b0f86f0e334e165812559435464dd9bb60 -Test: Verify - -AlgorithmType: MessageDigest -Name: Panama-BE -Source: Panama reference implementation -Message: "" -Digest: e81aa04523532dd7267e5c5bc3ba0e289837a62ba032350351980e960a84b0af -Test: Verify -Message: "The quick brown fox jumps over the lazy dog" -Digest: 8fa7dadce0110f979a0b795e76b2c25628d8bda88747758149c42e3bc13f85bc -Test: Verify -Source: generated by Crypto++ 5.2.1 -Message: r15625 "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" -Digest: cb34f0937e8d870d3bd7ff6311765f2c229a6c2154e4db119538db5159437cab -Test: Verify - -AlgorithmType: MAC -Name: Panama-LE -Source: modified from Panama hash test vectors -Key: "" -Message: "" -MAC: aa0cc954d757d7ac7779ca3342334ca471abd47d5952ac91ed837ecd5b16922b -Test: Verify -Message: "The quick brown fox jumps over the lazy dog" -MAC: 5f5ca355b90ac622b0aa7e654ef5f27e9e75111415b48b8afe3add1c6b89cba1 -Test: Verify -Message: r15625 "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" -MAC: af9c66fb6058e2232a5dfba063ee14b0f86f0e334e165812559435464dd9bb60 -Test: Verify -Key: "The " -Message: "quick brown fox jumps over the lazy dog" -MAC: 5f5ca355b90ac622b0aa7e654ef5f27e9e75111415b48b8afe3add1c6b89cba1 -Test: Verify - -AlgorithmType: MAC -Name: Panama-BE -Source: modified from Panama hash test vectors -Key: "" -Message: "" -MAC: e81aa04523532dd7267e5c5bc3ba0e289837a62ba032350351980e960a84b0af -Test: Verify -Message: "The quick brown fox jumps over the lazy dog" -MAC: 8fa7dadce0110f979a0b795e76b2c25628d8bda88747758149c42e3bc13f85bc -Test: Verify -Message: r15625 "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" -MAC: cb34f0937e8d870d3bd7ff6311765f2c229a6c2154e4db119538db5159437cab -Test: Verify -Key: "The " -Message: "quick brown fox jumps over the lazy dog" -MAC: 8fa7dadce0110f979a0b795e76b2c25628d8bda88747758149c42e3bc13f85bc -Test: Verify - -AlgorithmType: SymmetricCipher -Source: generated by Crypto++ 5.2.1 -Key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f -IV: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f -Name: Panama-LE -Plaintext: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f -Ciphertext: F07F5FF2CCD01A0A7D44ACD6D239C2AF0DA1FF35275BAF5DFA6E09411B79D8B9 -Test: Encrypt -Name: Panama-BE -Plaintext: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f -Ciphertext: E12E2F6BA41AE832D888DA9FA6863BC37C0E996F190A1711330322D37BD98CA4 -Test: Encrypt +AlgorithmType: MessageDigest +Name: Panama-LE +Source: Panama reference implementation +Message: "" +Digest: aa0cc954d757d7ac7779ca3342334ca471abd47d5952ac91ed837ecd5b16922b +Test: Verify +Message: "The quick brown fox jumps over the lazy dog" +Digest: 5f5ca355b90ac622b0aa7e654ef5f27e9e75111415b48b8afe3add1c6b89cba1 +Test: Verify +Source: generated by Crypto++ 5.2.1 +Message: r15625 "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" +Digest: af9c66fb6058e2232a5dfba063ee14b0f86f0e334e165812559435464dd9bb60 +Test: Verify + +AlgorithmType: MessageDigest +Name: Panama-BE +Source: Panama reference implementation +Message: "" +Digest: e81aa04523532dd7267e5c5bc3ba0e289837a62ba032350351980e960a84b0af +Test: Verify +Message: "The quick brown fox jumps over the lazy dog" +Digest: 8fa7dadce0110f979a0b795e76b2c25628d8bda88747758149c42e3bc13f85bc +Test: Verify +Source: generated by Crypto++ 5.2.1 +Message: r15625 "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" +Digest: cb34f0937e8d870d3bd7ff6311765f2c229a6c2154e4db119538db5159437cab +Test: Verify + +AlgorithmType: MAC +Name: Panama-LE +Source: modified from Panama hash test vectors +Key: "" +Message: "" +MAC: aa0cc954d757d7ac7779ca3342334ca471abd47d5952ac91ed837ecd5b16922b +Test: Verify +Message: "The quick brown fox jumps over the lazy dog" +MAC: 5f5ca355b90ac622b0aa7e654ef5f27e9e75111415b48b8afe3add1c6b89cba1 +Test: Verify +Message: r15625 "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" +MAC: af9c66fb6058e2232a5dfba063ee14b0f86f0e334e165812559435464dd9bb60 +Test: Verify +Key: "The " +Message: "quick brown fox jumps over the lazy dog" +MAC: 5f5ca355b90ac622b0aa7e654ef5f27e9e75111415b48b8afe3add1c6b89cba1 +Test: Verify + +AlgorithmType: MAC +Name: Panama-BE +Source: modified from Panama hash test vectors +Key: "" +Message: "" +MAC: e81aa04523532dd7267e5c5bc3ba0e289837a62ba032350351980e960a84b0af +Test: Verify +Message: "The quick brown fox jumps over the lazy dog" +MAC: 8fa7dadce0110f979a0b795e76b2c25628d8bda88747758149c42e3bc13f85bc +Test: Verify +Message: r15625 "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" +MAC: cb34f0937e8d870d3bd7ff6311765f2c229a6c2154e4db119538db5159437cab +Test: Verify +Key: "The " +Message: "quick brown fox jumps over the lazy dog" +MAC: 8fa7dadce0110f979a0b795e76b2c25628d8bda88747758149c42e3bc13f85bc +Test: Verify + +AlgorithmType: SymmetricCipher +Source: generated by Crypto++ 5.2.1 +Key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +IV: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +Name: Panama-LE +Plaintext: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +Ciphertext: F07F5FF2CCD01A0A7D44ACD6D239C2AF0DA1FF35275BAF5DFA6E09411B79D8B9 +Test: Encrypt +Name: Panama-BE +Plaintext: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +Ciphertext: E12E2F6BA41AE832D888DA9FA6863BC37C0E996F190A1711330322D37BD98CA4 +Test: Encrypt diff --git a/TestVectors/rsa_oaep.txt b/TestVectors/rsa_oaep.txt index 4e4cdd39..0df7486a 100644 --- a/TestVectors/rsa_oaep.txt +++ b/TestVectors/rsa_oaep.txt @@ -1,1765 +1,1765 @@ -AlgorithmType: AsymmetricCipher -Name: RSA/OAEP-MGF1(SHA-1) -Source: http://www.rsasecurity.com/rsalabs/pkcs/pkcs-1/, PKCS #1 test vectors -KeyFormat: Component -Comment: Example 1: A 1024-bit RSA Key Pair -Modulus: \ -a8 b3 b2 84 af 8e b5 0b 38 70 34 a8 60 f1 46 c4 \ -91 9f 31 87 63 cd 6c 55 98 c8 ae 48 11 a1 e0 ab \ -c4 c7 e0 b0 82 d6 93 a5 e7 fc ed 67 5c f4 66 85 \ -12 77 2c 0c bc 64 a7 42 c6 c6 30 f5 33 c8 cc 72 \ -f6 2a e8 33 c4 0b f2 58 42 e9 84 bb 78 bd bf 97 \ -c0 10 7d 55 bd b6 62 f5 c4 e0 fa b9 84 5c b5 14 \ -8e f7 39 2d d3 aa ff 93 ae 1e 6b 66 7b b3 d4 24 \ -76 16 d4 f5 ba 10 d4 cf d2 26 de 88 d3 9f 16 fb -PublicExponent: 01 00 01 -PrivateExponent: \ -53 33 9c fd b7 9f c8 46 6a 65 5c 73 16 ac a8 5c \ -55 fd 8f 6d d8 98 fd af 11 95 17 ef 4f 52 e8 fd \ -8e 25 8d f9 3f ee 18 0f a0 e4 ab 29 69 3c d8 3b \ -15 2a 55 3d 4a c4 d1 81 2b 8b 9f a5 af 0e 7f 55 \ -fe 73 04 df 41 57 09 26 f3 31 1f 15 c4 d6 5a 73 \ -2c 48 31 16 ee 3d 3d 2d 0a f3 54 9a d9 bf 7c bf \ -b7 8a d8 84 f8 4d 5b eb 04 72 4d c7 36 9b 31 de \ -f3 7d 0c f5 39 e9 cf cd d3 de 65 37 29 ea d5 d1 -Prime1: \ -d3 27 37 e7 26 7f fe 13 41 b2 d5 c0 d1 50 a8 1b \ -58 6f b3 13 2b ed 2f 8d 52 62 86 4a 9c b9 f3 0a \ -f3 8b e4 48 59 8d 41 3a 17 2e fb 80 2c 21 ac f1 \ -c1 1c 52 0c 2f 26 a4 71 dc ad 21 2e ac 7c a3 9d -Prime2: \ -cc 88 53 d1 d5 4d a6 30 fa c0 04 f4 71 f2 81 c7 \ -b8 98 2d 82 24 a4 90 ed be b3 3d 3e 3d 5c c9 3c \ -47 65 70 3d 1d d7 91 64 2f 1f 11 6a 0d d8 52 be \ -24 19 b2 af 72 bf e9 a0 30 e8 60 b0 28 8b 5d 77 -ModPrime1PrivateExponent: \ -0e 12 bf 17 18 e9 ce f5 59 9b a1 c3 88 2f e8 04 \ -6a 90 87 4e ef ce 8f 2c cc 20 e4 f2 74 1f b0 a3 \ -3a 38 48 ae c9 c9 30 5f be cb d2 d7 68 19 96 7d \ -46 71 ac c6 43 1e 40 37 96 8d b3 78 78 e6 95 c1 -ModPrime2PrivateExponent: \ -95 29 7b 0f 95 a2 fa 67 d0 07 07 d6 09 df d4 fc \ -05 c8 9d af c2 ef 6d 6e a5 5b ec 77 1e a3 33 73 \ -4d 92 51 e7 90 82 ec da 86 6e fe f1 3c 45 9e 1a \ -63 13 86 b7 e3 54 c8 99 f5 f1 12 ca 85 d7 15 83 -MultiplicativeInverseOfPrime2ModPrime1: \ -4f 45 6c 50 24 93 bd c0 ed 2a b7 56 a3 a6 ed 4d \ -67 35 2a 69 7d 42 16 e9 32 12 b1 27 a6 3d 54 11 \ -ce 6f a9 8d 5d be fd 73 26 3e 37 28 14 27 43 81 \ -81 66 ed 7d d6 36 87 dd 2a 8c a1 d2 f4 fb d8 e1 -Test: KeyPairValidAndConsistent -Comment: RSAES-OAEP Encryption Example 1.1 -Plaintext: \ -66 28 19 4e 12 07 3d b0 3b a9 4c da 9e f9 53 23 \ -97 d5 0d ba 79 b9 87 00 4a fe fe 34 -Seed: # not used yet\ -18 b7 76 ea 21 06 9d 69 77 6a 33 e9 6b ad 48 e1 \ -dd a0 a5 ef -Ciphertext: \ -35 4f e6 7b 4a 12 6d 5d 35 fe 36 c7 77 79 1a 3f \ -7b a1 3d ef 48 4e 2d 39 08 af f7 22 fa d4 68 fb \ -21 69 6d e9 5d 0b e9 11 c2 d3 17 4f 8a fc c2 01 \ -03 5f 7b 6d 8e 69 40 2d e5 45 16 18 c2 1a 53 5f \ -a9 d7 bf c5 b8 dd 9f c2 43 f8 cf 92 7d b3 13 22 \ -d6 e8 81 ea a9 1a 99 61 70 e6 57 a0 5a 26 64 26 \ -d9 8c 88 00 3f 84 77 c1 22 70 94 a0 d9 fa 1e 8c \ -40 24 30 9c e1 ec cc b5 21 00 35 d4 7a c7 2e 8a -Test: DecryptMatch -Comment: RSAES-OAEP Encryption Example 1.2 -Plaintext: \ -75 0c 40 47 f5 47 e8 e4 14 11 85 65 23 29 8a c9\ -ba e2 45 ef af 13 97 fb e5 6f 9d d5 -Seed: # not used yet\ -0c c7 42 ce 4a 9b 7f 32 f9 51 bc b2 51 ef d9 25\ -fe 4f e3 5f -Ciphertext: \ -64 0d b1 ac c5 8e 05 68 fe 54 07 e5 f9 b7 01 df\ -f8 c3 c9 1e 71 6c 53 6f c7 fc ec 6c b5 b7 1c 11\ -65 98 8d 4a 27 9e 15 77 d7 30 fc 7a 29 93 2e 3f\ -00 c8 15 15 23 6d 8d 8e 31 01 7a 7a 09 df 43 52\ -d9 04 cd eb 79 aa 58 3a dc c3 1e a6 98 a4 c0 52\ -83 da ba 90 89 be 54 91 f6 7c 1a 4e e4 8d c7 4b\ -bb e6 64 3a ef 84 66 79 b4 cb 39 5a 35 2d 5e d1\ -15 91 2d f6 96 ff e0 70 29 32 94 6d 71 49 2b 44 -Test: DecryptMatch -Comment: RSAES-OAEP Encryption Example 1.3 -Plaintext: \ -d9 4a e0 83 2e 64 45 ce 42 33 1c b0 6d 53 1a 82\ -b1 db 4b aa d3 0f 74 6d c9 16 df 24 d4 e3 c2 45\ -1f ff 59 a6 42 3e b0 e1 d0 2d 4f e6 46 cf 69 9d\ -fd 81 8c 6e 97 b0 51 -Seed: # not used yet\ -25 14 df 46 95 75 5a 67 b2 88 ea f4 90 5c 36 ee\ -c6 6f d2 fd -Ciphertext: \ -42 37 36 ed 03 5f 60 26 af 27 6c 35 c0 b3 74 1b\ -36 5e 5f 76 ca 09 1b 4e 8c 29 e2 f0 be fe e6 03\ -59 5a a8 32 2d 60 2d 2e 62 5e 95 eb 81 b2 f1 c9\ -72 4e 82 2e ca 76 db 86 18 cf 09 c5 34 35 03 a4\ -36 08 35 b5 90 3b c6 37 e3 87 9f b0 5e 0e f3 26\ -85 d5 ae c5 06 7c d7 cc 96 fe 4b 26 70 b6 ea c3\ -06 6b 1f cf 56 86 b6 85 89 aa fb 7d 62 9b 02 d8\ -f8 62 5c a3 83 36 24 d4 80 0f b0 81 b1 cf 94 eb -Test: DecryptMatch -Comment: RSAES-OAEP Encryption Example 1.4 -Plaintext: \ -52 e6 50 d9 8e 7f 2a 04 8b 4f 86 85 21 53 b9 7e\ -01 dd 31 6f 34 6a 19 f6 7a 85 -Seed: # not used yet\ -c4 43 5a 3e 1a 18 a6 8b 68 20 43 62 90 a3 7c ef\ -b8 5d b3 fb -Ciphertext: \ -45 ea d4 ca 55 1e 66 2c 98 00 f1 ac a8 28 3b 05\ -25 e6 ab ae 30 be 4b 4a ba 76 2f a4 0f d3 d3 8e\ -22 ab ef c6 97 94 f6 eb bb c0 5d db b1 12 16 24\ -7d 2f 41 2f d0 fb a8 7c 6e 3a cd 88 88 13 64 6f\ -d0 e4 8e 78 52 04 f9 c3 f7 3d 6d 82 39 56 27 22\ -dd dd 87 71 fe c4 8b 83 a3 1e e6 f5 92 c4 cf d4\ -bc 88 17 4f 3b 13 a1 12 aa e3 b9 f7 b8 0e 0f c6\ -f7 25 5b a8 80 dc 7d 80 21 e2 2a d6 a8 5f 07 55 -Test: DecryptMatch -Comment: RSAES-OAEP Encryption Example 1.5 -Plaintext: \ -8d a8 9f d9 e5 f9 74 a2 9f ef fb 46 2b 49 18 0f\ -6c f9 e8 02 -Seed: # not used yet\ -b3 18 c4 2d f3 be 0f 83 fe a8 23 f5 a7 b4 7e d5\ -e4 25 a3 b5 -Ciphertext: \ -36 f6 e3 4d 94 a8 d3 4d aa cb a3 3a 21 39 d0 0a\ -d8 5a 93 45 a8 60 51 e7 30 71 62 00 56 b9 20 e2\ -19 00 58 55 a2 13 a0 f2 38 97 cd cd 73 1b 45 25\ -7c 77 7f e9 08 20 2b ef dd 0b 58 38 6b 12 44 ea\ -0c f5 39 a0 5d 5d 10 32 9d a4 4e 13 03 0f d7 60\ -dc d6 44 cf ef 20 94 d1 91 0d 3f 43 3e 1c 7c 6d\ -d1 8b c1 f2 df 7f 64 3d 66 2f b9 dd 37 ea d9 05\ -91 90 f4 fa 66 ca 39 e8 69 c4 eb 44 9c bd c4 39 -Test: DecryptMatch -Comment: RSAES-OAEP Encryption Example 1.6 -Plaintext: \ -26 52 10 50 84 42 71 -Seed: # not used yet\ -e4 ec 09 82 c2 33 6f 3a 67 7f 6a 35 61 74 eb 0c\ -e8 87 ab c2 -Ciphertext: \ -42 ce e2 61 7b 1e ce a4 db 3f 48 29 38 6f bd 61\ -da fb f0 38 e1 80 d8 37 c9 63 66 df 24 c0 97 b4\ -ab 0f ac 6b df 59 0d 82 1c 9f 10 64 2e 68 1a d0\ -5b 8d 78 b3 78 c0 f4 6c e2 fa d6 3f 74 e0 ad 3d\ -f0 6b 07 5d 7e b5 f5 63 6f 8d 40 3b 90 59 ca 76\ -1b 5c 62 bb 52 aa 45 00 2e a7 0b aa ce 08 de d2\ -43 b9 d8 cb d6 2a 68 ad e2 65 83 2b 56 56 4e 43\ -a6 fa 42 ed 19 9a 09 97 69 74 2d f1 53 9e 82 55 -Test: DecryptMatch - -AlgorithmType: AsymmetricCipher -Name: RSA/OAEP-MGF1(SHA-1) -Source: http://www.rsasecurity.com/rsalabs/pkcs/pkcs-1/, PKCS #1 test vectors -KeyFormat: Component -Comment: Example 2: A 1025-bit RSA Key Pair -Modulus: \ -01 94 7c 7f ce 90 42 5f 47 27 9e 70 85 1f 25 d5\ -e6 23 16 fe 8a 1d f1 93 71 e3 e6 28 e2 60 54 3e\ -49 01 ef 60 81 f6 8c 0b 81 41 19 0d 2a e8 da ba\ -7d 12 50 ec 6d b6 36 e9 44 ec 37 22 87 7c 7c 1d\ -0a 67 f1 4b 16 94 c5 f0 37 94 51 a4 3e 49 a3 2d\ -de 83 67 0b 73 da 91 a1 c9 9b c2 3b 43 6a 60 05\ -5c 61 0f 0b af 99 c1 a0 79 56 5b 95 a3 f1 52 66\ -32 d1 d4 da 60 f2 0e da 25 e6 53 c4 f0 02 76 6f\ -45 -PublicExponent: \ -01 00 01 -PrivateExponent: \ -08 23 f2 0f ad b5 da 89 08 8a 9d 00 89 3e 21 fa\ -4a 1b 11 fb c9 3c 64 a3 be 0b aa ea 97 fb 3b 93\ -c3 ff 71 37 04 c1 9c 96 3c 1d 10 7a ae 99 05 47\ -39 f7 9e 02 e1 86 de 86 f8 7a 6d de fe a6 d8 cc\ -d1 d3 c8 1a 47 bf a7 25 5b e2 06 01 a4 a4 b2 f0\ -8a 16 7b 5e 27 9d 71 5b 1b 45 5b dd 7e ab 24 59\ -41 d9 76 8b 9a ce fb 3c cd a5 95 2d a3 ce e7 25\ -25 b4 50 16 63 a8 ee 15 c9 e9 92 d9 24 62 fe 39 -Prime1: \ -01 59 db de 04 a3 3e f0 6f b6 08 b8 0b 19 0f 4d\ -3e 22 bc c1 3a c8 e4 a0 81 03 3a bf a4 16 ed b0\ -b3 38 aa 08 b5 73 09 ea 5a 52 40 e7 dc 6e 54 37\ -8c 69 41 4c 31 d9 7d db 1f 40 6d b3 76 9c c4 1a\ -43 -Prime2: \ -01 2b 65 2f 30 40 3b 38 b4 09 95 fd 6f f4 1a 1a\ -cc 8a da 70 37 32 36 b7 20 2d 39 b2 ee 30 cf b4\ -6d b0 95 11 f6 f3 07 cc 61 cc 21 60 6c 18 a7 5b\ -8a 62 f8 22 df 03 1b a0 df 0d af d5 50 6f 56 8b\ -d7 -ModPrime1PrivateExponent: \ -43 6e f5 08 de 73 65 19 c2 da 4c 58 0d 98 c8 2c\ -b7 45 2a 3f b5 ef ad c3 b9 c7 78 9a 1b c6 58 4f\ -79 5a dd bb d3 24 39 c7 46 86 55 2e cb 6c 2c 30\ -7a 4d 3a f7 f5 39 ee c1 57 24 8c 7b 31 f1 a2 55 -ModPrime2PrivateExponent: \ -01 2b 15 a8 9f 3d fb 2b 39 07 3e 73 f0 2b dd 0c\ -1a 7b 37 9d d4 35 f0 5c dd e2 ef f9 e4 62 94 8b\ -7c ec 62 ee 90 50 d5 e0 81 6e 07 85 a8 56 b4 91\ -08 dc b7 5f 36 83 87 4d 1c a6 32 9a 19 01 30 66\ -ff -MultiplicativeInverseOfPrime2ModPrime1: \ -02 70 db 17 d5 91 4b 01 8d 76 11 8b 24 38 9a 73\ -50 ec 83 6b 00 63 a2 17 21 23 6f d8 ed b6 d8 9b\ -51 e7 ee b8 7b 61 1b 71 32 cb 7e a7 35 6c 23 15\ -1c 1e 77 51 50 7c 78 6d 9e e1 79 41 70 a8 c8 e8 -Test: KeyPairValidAndConsistent -Comment: RSAES-OAEP Encryption Example 2.1 -Plaintext: \ -8f f0 0c aa 60 5c 70 28 30 63 4d 9a 6c 3d 42 c6\ -52 b5 8c f1 d9 2f ec 57 0b ee e7 -Seed: # not used yet\ -8c 40 7b 5e c2 89 9e 50 99 c5 3e 8c e7 93 bf 94\ -e7 1b 17 82 -Ciphertext: \ -01 81 af 89 22 b9 fc b4 d7 9d 92 eb e1 98 15 99\ -2f c0 c1 43 9d 8b cd 49 13 98 a0 f4 ad 3a 32 9a\ -5b d9 38 55 60 db 53 26 83 c8 b7 da 04 e4 b1 2a\ -ed 6a ac df 47 1c 34 c9 cd a8 91 ad dc c2 df 34\ -56 65 3a a6 38 2e 9a e5 9b 54 45 52 57 eb 09 9d\ -56 2b be 10 45 3f 2b 6d 13 c5 9c 02 e1 0f 1f 8a\ -bb 5d a0 d0 57 09 32 da cf 2d 09 01 db 72 9d 0f\ -ef cc 05 4e 70 96 8e a5 40 c8 1b 04 bc ae fe 72\ -0e -Test: DecryptMatch -Comment: RSAES-OAEP Encryption Example 2.2 -Plaintext: \ -2d -Seed: # not used yet\ -b6 00 cf 3c 2e 50 6d 7f 16 77 8c 91 0d 3a 8b 00\ -3e ee 61 d5 -Ciphertext: \ -01 87 59 ff 1d f6 3b 27 92 41 05 62 31 44 16 a8\ -ae af 2a c6 34 b4 6f 94 0a b8 2d 64 db f1 65 ee\ -e3 30 11 da 74 9d 4b ab 6e 2f cd 18 12 9c 9e 49\ -27 7d 84 53 11 2b 42 9a 22 2a 84 71 b0 70 99 39\ -98 e7 58 86 1c 4d 3f 6d 74 9d 91 c4 29 0d 33 2c\ -7a 4a b3 f7 ea 35 ff 3a 07 d4 97 c9 55 ff 0f fc\ -95 00 6b 62 c6 d2 96 81 0d 9b fa b0 24 19 6c 79\ -34 01 2c 2d f9 78 ef 29 9a ba 23 99 40 cb a1 02\ -45 -Test: DecryptMatch -Comment: RSAES-OAEP Encryption Example 2.3 -Plaintext: \ -74 fc 88 c5 1b c9 0f 77 af 9d 5e 9a 4a 70 13 3d\ -4b 4e 0b 34 da 3c 37 c7 ef 8e -Seed: # not used yet\ -a7 37 68 ae ea a9 1f 9d 8c 1e d6 f9 d2 b6 34 67\ -f0 7c ca e3 -Ciphertext: \ -01 88 02 ba b0 4c 60 32 5e 81 c4 96 23 11 f2 be\ -7c 2a dc e9 30 41 a0 07 19 c8 8f 95 75 75 f2 c7\ -9f 1b 7b c8 ce d1 15 c7 06 b3 11 c0 8a 2d 98 6c\ -a3 b6 a9 33 6b 14 7c 29 c6 f2 29 40 9d de c6 51\ -bd 1f dd 5a 0b 7f 61 0c 99 37 fd b4 a3 a7 62 36\ -4b 8b 32 06 b4 ea 48 5f d0 98 d0 8f 63 d4 aa 8b\ -b2 69 7d 02 7b 75 0c 32 d7 f7 4e af 51 80 d2 e9\ -b6 6b 17 cb 2f a5 55 23 bc 28 0d a1 0d 14 be 20\ -53 -Test: DecryptMatch -Comment: RSAES-OAEP Encryption Example 2.4 -Plaintext: \ -a7 eb 2a 50 36 93 1d 27 d4 e8 91 32 6d 99 69 2f\ -fa dd a9 bf 7e fd 3e 34 e6 22 c4 ad c0 85 f7 21\ -df e8 85 07 2c 78 a2 03 b1 51 73 9b e5 40 fa 8c\ -15 3a 10 f0 0a -Seed: # not used yet\ -9a 7b 3b 0e 70 8b d9 6f 81 90 ec ab 4f b9 b2 b3\ -80 5a 81 56 -Ciphertext: \ -00 a4 57 8c bc 17 63 18 a6 38 fb a7 d0 1d f1 57\ -46 af 44 d4 f6 cd 96 d7 e7 c4 95 cb f4 25 b0 9c\ -64 9d 32 bf 88 6d a4 8f ba f9 89 a2 11 71 87 ca\ -fb 1f b5 80 31 76 90 e3 cc d4 46 92 0b 7a f8 2b\ -31 db 58 04 d8 7d 01 51 4a cb fa 91 56 e7 82 f8\ -67 f6 be d9 44 9e 0e 9a 2c 09 bc ec c6 aa 08 76\ -36 96 5e 34 b3 ec 76 6f 2f e2 e4 30 18 a2 fd de\ -b1 40 61 6a 0e 9d 82 e5 33 10 24 ee 06 52 fc 76\ -41 -Test: DecryptMatch -Comment: RSAES-OAEP Encryption Example 2.5 -Plaintext: \ -2e f2 b0 66 f8 54 c3 3f 3b dc bb 59 94 a4 35 e7\ -3d 6c 6c -Seed: # not used yet\ -eb 3c eb bc 4a dc 16 bb 48 e8 8c 8a ec 0e 34 af\ -7f 42 7f d3 -Ciphertext: \ -00 eb c5 f5 fd a7 7c fd ad 3c 83 64 1a 90 25 e7\ -7d 72 d8 a6 fb 33 a8 10 f5 95 0f 8d 74 c7 3e 8d\ -93 1e 86 34 d8 6a b1 24 62 56 ae 07 b6 00 5b 71\ -b7 f2 fb 98 35 12 18 33 1c e6 9b 8f fb dc 9d a0\ -8b bc 9c 70 4f 87 6d eb 9d f9 fc 2e c0 65 ca d8\ -7f 90 90 b0 7a cc 17 aa 7f 99 7b 27 ac a4 88 06\ -e8 97 f7 71 d9 51 41 fe 45 26 d8 a5 30 1b 67 86\ -27 ef ab 70 7f d4 0f be bd 6e 79 2a 25 61 3e 7a\ -ec -Test: DecryptMatch -Comment: RSAES-OAEP Encryption Example 2.6 -Plaintext: \ -8a 7f b3 44 c8 b6 cb 2c f2 ef 1f 64 3f 9a 32 18\ -f6 e1 9b ba 89 c0 -Seed: # not used yet\ -4c 45 cf 4d 57 c9 8e 3d 6d 20 95 ad c5 1c 48 9e\ -b5 0d ff 84 -Ciphertext: \ -01 08 39 ec 20 c2 7b 90 52 e5 5b ef b9 b7 7e 6f\ -c2 6e 90 75 d7 a5 43 78 c6 46 ab df 51 e4 45 bd\ -57 15 de 81 78 9f 56 f1 80 3d 91 70 76 4a 9e 93\ -cb 78 79 86 94 02 3e e7 39 3c e0 4b c5 d8 f8 c5\ -a5 2c 17 1d 43 83 7e 3a ca 62 f6 09 eb 0a a5 ff\ -b0 96 0e f0 41 98 dd 75 4f 57 f7 fb e6 ab f7 65\ -cf 11 8b 4c a4 43 b2 3b 5a ab 26 6f 95 23 26 ac\ -45 81 10 06 44 32 5f 8b 72 1a cd 5d 04 ff 14 ef\ -3a -Test: DecryptMatch - -AlgorithmType: AsymmetricCipher -Name: RSA/OAEP-MGF1(SHA-1) -Source: http://www.rsasecurity.com/rsalabs/pkcs/pkcs-1/, PKCS #1 test vectors -KeyFormat: Component -Comment: Example 3: A 1026-bit RSA Key Pair -Modulus: \ -02 b5 8f ec 03 9a 86 07 00 a4 d7 b6 46 2f 93 e6\ -cd d4 91 16 1d dd 74 f4 e8 10 b4 0e 3c 16 52 00\ -6a 5c 27 7b 27 74 c1 13 05 a4 cb ab 5a 78 ef a5\ -7e 17 a8 6d f7 a3 fa 36 fc 4b 1d 22 49 f2 2e c7\ -c2 dd 6a 46 32 32 ac ce a9 06 d6 6e be 80 b5 70\ -4b 10 72 9d a6 f8 33 23 4a bb 5e fd d4 a2 92 cb\ -fa d3 3b 4d 33 fa 7a 14 b8 c3 97 b5 6e 3a cd 21\ -20 34 28 b7 7c df a3 3a 6d a7 06 b3 d8 b0 fc 43\ -e9 -PublicExponent: \ -01 00 01 -PrivateExponent: \ -15 b4 8a 5b 56 83 a9 46 70 e2 3b 57 18 f8 14 fa\ -0e 13 f8 50 38 f5 07 11 18 2c ba 61 51 05 81 f3\ -d2 2c 7e 23 2e f9 37 e2 2e 55 1d 68 b8 6e 2f 8c\ -b1 aa d8 be 2e 48 8f 5d f7 ef d2 79 e3 f5 68 d4\ -ea f3 6f 80 cf 71 41 ac e6 0f cc 91 13 fb 6c 4a\ -84 1f d5 0b bc 7c 51 2f fc be ff 21 48 7a a8 11\ -eb 3c a8 c6 20 05 34 6a 86 de 86 bf a1 d8 a9 48\ -fd 3f 34 8c 22 ea ad f3 33 c3 ce 6c e1 32 08 fd -Prime1: \ -01 bf 01 d2 16 d7 35 95 cf 02 70 c2 be b7 8d 40\ -a0 d8 44 7d 31 da 91 9a 98 3f 7e ea 78 1b 77 d8\ -5f e3 71 b3 e9 37 3e 7b 69 21 7d 31 50 a0 2d 89\ -58 de 7f ad 9d 55 51 60 95 8b 44 54 12 7e 0e 7e\ -af -Prime2: \ -01 8d 33 99 65 81 66 db 38 29 81 6d 7b 29 54 16\ -75 9e 9c 91 98 7f 5b 2d 8a ec d6 3b 04 b4 8b d7\ -b2 fc f2 29 bb 7f 8a 6d c8 8b a1 3d d2 e3 9a d5\ -5b 6d 1a 06 16 07 08 f9 70 0b e8 0b 8f d3 74 4c\ -e7 -ModPrime1PrivateExponent: \ -06 c0 a2 49 d2 0a 6f 2e e7 5c 88 b4 94 d5 3f 6a\ -ae 99 aa 42 7c 88 c2 8b 16 3a 76 94 45 e5 f3 90\ -cf 40 c2 74 fd 6e a6 32 9a 5c e7 c7 ce 03 a2 15\ -83 96 ee 2a 78 45 78 6e 09 e2 88 5a 97 28 e4 e5 -ModPrime2PrivateExponent: \ -d1 d2 7c 29 fe dd 92 d8 6c 34 8e dd 0c cb fa c1\ -4f 74 6e 05 1c e1 d1 81 1d f3 5d 61 f2 ee 1c 97\ -d4 bf 28 04 80 2f 64 27 18 7b a8 e9 0a 8a f4 42\ -43 b4 07 9b 03 44 5e 60 2e 29 fa 51 93 e6 4f e9 -MultiplicativeInverseOfPrime2ModPrime1: \ -8c b2 f7 56 bd 89 41 b1 d3 b7 70 e5 ad 31 ee 37\ -3b 28 ac da 69 ff 9b 6f 40 fe 57 8b 9f 1a fb 85\ -83 6f 96 27 d3 7a cf f7 3c 27 79 e6 34 bb 26 01\ -1c 2c 8f 7f 33 61 ae 2a 9e a6 5e d6 89 e3 63 9a -Test: KeyPairValidAndConsistent -Comment: RSAES-OAEP Encryption Example 3.1 -Plaintext: \ -08 78 20 b5 69 e8 fa 8d -Seed: # not used yet\ -8c ed 6b 19 62 90 80 57 90 e9 09 07 40 15 e6 a2\ -0b 0c 48 94 -Ciphertext: \ -02 6a 04 85 d9 6a eb d9 6b 43 82 08 50 99 b9 62\ -e6 a2 bd ec 3d 90 c8 db 62 5e 14 37 2d e8 5e 2d\ -5b 7b aa b6 5c 8f af 91 bb 55 04 fb 49 5a fc e5\ -c9 88 b3 f6 a5 2e 20 e1 d6 cb d3 56 6c 5c d1 f2\ -b8 31 8b b5 42 cc 0e a2 5c 4a ab 99 32 af a2 07\ -60 ea dd ec 78 43 96 a0 7e a0 ef 24 d4 e6 f4 d3\ -7e 50 52 a7 a3 1e 14 6a a4 80 a1 11 bb e9 26 40\ -13 07 e0 0f 41 00 33 84 2b 6d 82 fe 5c e4 df ae\ -80 -Test: DecryptMatch -Comment: RSAES-OAEP Encryption Example 3.2 -Plaintext: \ -46 53 ac af 17 19 60 b0 1f 52 a7 be 63 a3 ab 21\ -dc 36 8e c4 3b 50 d8 2e c3 78 1e 04 -Seed: # not used yet\ -b4 29 1d 65 67 55 08 48 cc 15 69 67 c8 09 ba ab\ -6c a5 07 f0 -Ciphertext: \ -02 4d b8 9c 78 02 98 9b e0 78 38 47 86 30 84 94\ -1b f2 09 d7 61 98 7e 38 f9 7c b5 f6 f1 bc 88 da\ -72 a5 0b 73 eb af 11 c8 79 c4 f9 5d f3 7b 85 0b\ -8f 65 d7 62 2e 25 b1 b8 89 e8 0f e8 0b ac a2 06\ -9d 6e 0e 1d 82 99 53 fc 45 90 69 de 98 ea 97 98\ -b4 51 e5 57 e9 9a bf 8f e3 d9 cc f9 09 6e bb f3\ -e5 25 5d 3b 4e 1c 6d 2e ca df 06 7a 35 9e ea 86\ -40 5a cd 47 d5 e1 65 51 7c ca fd 47 d6 db ee 4b\ -f5 -Test: DecryptMatch -Comment: RSAES-OAEP Encryption Example 3.3 -Plaintext: \ -d9 4c d0 e0 8f a4 04 ed 89 -Seed: # not used yet\ -ce 89 28 f6 05 95 58 25 40 08 ba dd 97 94 fa dc\ -d2 fd 1f 65 -Ciphertext: \ -02 39 bc e6 81 03 24 41 52 88 77 d6 d1 c8 bb 28\ -aa 3b c9 7f 1d f5 84 56 36 18 99 57 97 68 38 44\ -ca 86 66 47 32 f4 be d7 a0 aa b0 83 aa ab fb 72\ -38 f5 82 e3 09 58 c2 02 4e 44 e5 70 43 b9 79 50\ -fd 54 3d a9 77 c9 0c dd e5 33 7d 61 84 42 f9 9e\ -60 d7 78 3a b5 9c e6 dd 9d 69 c4 7a d1 e9 62 be\ -c2 2d 05 89 5c ff 8d 3f 64 ed 52 61 d9 2b 26 78\ -51 03 93 48 49 90 ba 3f 7f 06 81 8a e6 ff ce 8a\ -3a -Test: DecryptMatch -Comment: RSAES-OAEP Encryption Example 3.4 -Plaintext: \ -6c c6 41 b6 b6 1e 6f 96 39 74 da d2 3a 90 13 28\ -4e f1 -Seed: # not used yet\ -6e 29 79 f5 2d 68 14 a5 7d 83 b0 90 05 48 88 f1\ -19 a5 b9 a3 -Ciphertext: \ -02 99 4c 62 af d7 6f 49 8b a1 fd 2c f6 42 85 7f\ -ca 81 f4 37 3c b0 8f 1c ba ee 6f 02 5c 3b 51 2b\ -42 c3 e8 77 91 13 47 66 48 03 9d be 04 93 f9 24\ -62 92 fa c2 89 50 60 0e 7c 0f 32 ed f9 c8 1b 9d\ -ec 45 c3 bd e0 cc 8d 88 47 59 01 69 90 7b 7d c5\ -99 1c eb 29 bb 07 14 d6 13 d9 6d f0 f1 2e c5 d8\ -d3 50 7c 8e e7 ae 78 dd 83 f2 16 fa 61 de 10 03\ -63 ac a4 8a 7e 91 4a e9 f4 2d df be 94 3b 09 d9\ -a0 -Test: DecryptMatch -Comment: RSAES-OAEP Encryption Example 3.5 -Plaintext: \ -df 51 51 83 2b 61 f4 f2 58 91 fb 41 72 f3 28 d2\ -ed df 83 71 ff cf db e9 97 93 92 95 f3 0e ca 69\ -18 01 7c fd a1 15 3b f7 a6 af 87 59 32 23 -Seed: # not used yet\ -2d 76 0b fe 38 c5 9d e3 4c dc 8b 8c 78 a3 8e 66\ -28 4a 2d 27 -Ciphertext: \ -01 62 04 2f f6 96 95 92 a6 16 70 31 81 1a 23 98\ -34 ce 63 8a bf 54 fe c8 b9 94 78 12 2a fe 2e e6\ -7f 8c 5b 18 b0 33 98 05 bf db c5 a4 e6 72 0b 37\ -c5 9c fb a9 42 46 4c 59 7f f5 32 a1 19 82 15 45\ -fd 2e 59 b1 14 e6 1d af 71 82 05 29 f5 02 9c f5\ -24 95 43 27 c3 4e c5 e6 f5 ba 7e fc c4 de 94 3a\ -b8 ad 4e d7 87 b1 45 43 29 f7 0d b7 98 a3 a8 f4\ -d9 2f 82 74 e2 b2 94 8a de 62 7c e8 ee 33 e4 3c\ -60 -Test: DecryptMatch -Comment: RSAES-OAEP Encryption Example 3.6 -Plaintext: \ -3c 3b ad 89 3c 54 4a 6d 52 0a b0 22 31 91 88 c8\ -d5 04 b7 a7 88 b8 50 90 3b 85 97 2e aa 18 55 2e\ -11 34 a7 ad 60 98 82 62 54 ff 7a b6 72 b3 d8 eb\ -31 58 fa c6 d4 cb ae f1 -Seed: # not used yet\ -f1 74 77 9c 5f d3 cf e0 07 ba dc b7 a3 6c 9b 55\ -bf cf bf 0e -Ciphertext: \ -00 11 20 51 e7 5d 06 49 43 bc 44 78 07 5e 43 48\ -2f d5 9c ee 06 79 de 68 93 ee c3 a9 43 da a4 90\ -b9 69 1c 93 df c0 46 4b 66 23 b9 f3 db d3 e7 00\ -83 26 4f 03 4b 37 4f 74 16 4e 1a 00 76 37 25 e5\ -74 74 4b a0 b9 db 83 43 4f 31 df 96 f6 e2 a2 6f\ -6d 8e ba 34 8b d4 68 6c 22 38 ac 07 c3 7a ac 37\ -85 d1 c7 ee a2 f8 19 fd 91 49 17 98 ed 8e 9c ef\ -5e 43 b7 81 b0 e0 27 6e 37 c4 3f f9 49 2d 00 57\ -30 -Test: DecryptMatch - -AlgorithmType: AsymmetricCipher -Name: RSA/OAEP-MGF1(SHA-1) -Source: http://www.rsasecurity.com/rsalabs/pkcs/pkcs-1/, PKCS #1 test vectors -KeyFormat: Component -Comment: Example 4: A 1027-bit RSA Key Pair -Modulus: \ -05 12 40 b6 cc 00 04 fa 48 d0 13 46 71 c0 78 c7\ -c8 de c3 b3 e2 f2 5b c2 56 44 67 33 9d b3 88 53\ -d0 6b 85 ee a5 b2 de 35 3b ff 42 ac 2e 46 bc 97\ -fa e6 ac 96 18 da 95 37 a5 c8 f5 53 c1 e3 57 62\ -59 91 d6 10 8d cd 78 85 fb 3a 25 41 3f 53 ef ca\ -d9 48 cb 35 cd 9b 9a e9 c1 c6 76 26 d1 13 d5 7d\ -de 4c 5b ea 76 bb 5b b7 de 96 c0 0d 07 37 2e 96\ -85 a6 d7 5c f9 d2 39 fa 14 8d 70 93 1b 5f 3f b0\ -39 -PublicExponent: \ -01 00 01 -PrivateExponent: \ -04 11 ff ca 3b 7c a5 e9 e9 be 7f e3 8a 85 10 5e\ -35 38 96 db 05 c5 79 6a ec d2 a7 25 16 1e b3 65\ -1c 86 29 a9 b8 62 b9 04 d7 b0 c7 b3 7f 8c b5 a1\ -c2 b5 40 01 01 8a 00 a1 eb 2c af e4 ee 4e 94 92\ -c3 48 bc 2b ed ab 4b 9e bb f0 64 e8 ef f3 22 b9\ -00 9f 8e ec 65 39 05 f4 0d f8 8a 3c dc 49 d4 56\ -7f 75 62 7d 41 ac a6 24 12 9b 46 a0 b7 c6 98 e5\ -e6 5f 2b 7b a1 02 c7 49 a1 01 35 b6 54 0d 04 01 -Prime1: \ -02 74 58 c1 9e c1 63 69 19 e7 36 c9 af 25 d6 09\ -a5 1b 8f 56 1d 19 c6 bf 69 43 dd 1e e1 ab 8a 4a\ -3f 23 21 00 bd 40 b8 8d ec c6 ba 23 55 48 b6 ef\ -79 2a 11 c9 de 82 3d 0a 79 22 c7 09 5b 6e ba 57\ -01 -Prime2: \ -02 10 ee 9b 33 ab 61 71 6e 27 d2 51 bd 46 5f 4b\ -35 a1 a2 32 e2 da 00 90 1c 29 4b f2 23 50 ce 49\ -0d 09 9f 64 2b 53 75 61 2d b6 3b a1 f2 03 86 49\ -2b f0 4d 34 b3 c2 2b ce b9 09 d1 34 41 b5 3b 51\ -39 -ModPrime1PrivateExponent: \ -39 fa 02 8b 82 6e 88 c1 12 1b 75 0a 8b 24 2f a9\ -a3 5c 5b 66 bd fd 1f a6 37 d3 cc 48 a8 4a 4f 45\ -7a 19 4e 77 27 e4 9f 7b cc 6e 5a 5a 41 26 57 fc\ -47 0c 73 22 eb c3 74 16 ef 45 8c 30 7a 8c 09 01 -ModPrime2PrivateExponent: \ -01 5d 99 a8 41 95 94 39 79 fa 9e 1b e2 c3 c1 b6\ -9f 43 2f 46 fd 03 e4 7d 5b ef bb bf d6 b1 d1 37\ -1d 83 ef b3 30 a3 e0 20 94 2b 2f ed 11 5e 5d 02\ -be 24 fd 92 c9 01 9d 1c ec d6 dd 4c f1 e5 4c c8\ -99 -MultiplicativeInverseOfPrime2ModPrime1: \ -01 f0 b7 01 51 70 b3 f5 e4 22 23 ba 30 30 1c 41\ -a6 d8 7c bb 70 e3 0c b7 d3 c6 7d 25 47 3d b1 f6\ -cb f0 3e 3f 91 26 e3 e9 79 68 27 9a 86 5b 2c 2b\ -42 65 24 cf c5 2a 68 3d 31 ed 30 eb 98 4b e4 12\ -ba -Test: KeyPairValidAndConsistent -Comment: RSAES-OAEP Encryption Example 4.1 -Plaintext: \ -4a 86 60 95 34 ee 43 4a 6c bc a3 f7 e9 62 e7 6d\ -45 5e 32 64 c1 9f 60 5f 6e 5f f6 13 7c 65 c5 6d\ -7f b3 44 cd 52 bc 93 37 4f 3d 16 6c 9f 0c 6f 9c\ -50 6b ad 19 33 09 72 d2 -Seed: # not used yet\ -1c ac 19 ce 99 3d ef 55 f9 82 03 f6 85 28 96 c9\ -5c cc a1 f3 -Ciphertext: \ -04 cc e1 96 14 84 5e 09 41 52 a3 fe 18 e5 4e 33\ -30 c4 4e 5e fb c6 4a e1 68 86 cb 18 69 01 4c c5\ -78 1b 1f 8f 9e 04 53 84 d0 11 2a 13 5c a0 d1 2e\ -9c 88 a8 e4 06 34 16 de aa e3 84 4f 60 d6 e9 6f\ -e1 55 14 5f 45 25 b9 a3 44 31 ca 37 66 18 0f 70\ -e1 5a 5e 5d 8e 8b 1a 51 6f f8 70 60 9f 13 f8 96\ -93 5c ed 18 82 79 a5 8e d1 3d 07 11 42 77 d7 5c\ -65 68 60 7e 0a b0 92 fd 80 3a 22 3e 4a 8e e0 b1\ -a8 -Test: DecryptMatch -Comment: RSAES-OAEP Encryption Example 4.2 -Plaintext: \ -b0 ad c4 f3 fe 11 da 59 ce 99 27 73 d9 05 99 43\ -c0 30 46 49 7e e9 d9 f9 a0 6d f1 16 6d b4 6d 98\ -f5 8d 27 ec 07 4c 02 ee e6 cb e2 44 9c 8b 9f c5\ -08 0c 5c 3f 44 33 09 25 12 ec 46 aa 79 37 43 c8 -Seed: # not used yet\ -f5 45 d5 89 75 85 e3 db 71 aa 0c b8 da 76 c5 1d\ -03 2a e9 63 -Ciphertext: \ -00 97 b6 98 c6 16 56 45 b3 03 48 6f bf 5a 2a 44\ -79 c0 ee 85 88 9b 54 1a 6f 0b 85 8d 6b 65 97 b1\ -3b 85 4e b4 f8 39 af 03 39 9a 80 d7 9b da 65 78\ -c8 41 f9 0d 64 57 15 b2 80 d3 71 43 99 2d d1 86\ -c8 0b 94 9b 77 5c ae 97 37 0e 4e c9 74 43 13 6c\ -6d a4 84 e9 70 ff db 13 23 a2 08 47 82 1d 3b 18\ -38 1d e1 3b b4 9a ae a6 65 30 c4 a4 b8 27 1f 3e\ -ae 17 2c d3 66 e0 7e 66 36 f1 01 9d 2a 28 ae d1\ -5e -Test: DecryptMatch -Comment: RSAES-OAEP Encryption Example 4.3 -Plaintext: \ -bf 6d 42 e7 01 70 7b 1d 02 06 b0 c8 b4 5a 1c 72\ -64 1f f1 28 89 21 9a 82 bd ea 96 5b 5e 79 a9 6b\ -0d 01 63 ed 9d 57 8e c9 ad a2 0f 2f bc f1 ea 3c\ -40 89 d8 34 19 ba 81 b0 c6 0f 36 06 da 99 -Seed: # not used yet\ -ad 99 7f ee f7 30 d6 ea 7b e6 0d 0d c5 2e 72 ea\ -cb fd d2 75 -Ciphertext: \ -03 01 f9 35 e9 c4 7a bc b4 8a cb be 09 89 5d 9f\ -59 71 af 14 83 9d a4 ff 95 41 7e e4 53 d1 fd 77\ -31 90 72 bb 72 97 e1 b5 5d 75 61 cd 9d 1b b2 4c\ -1a 9a 37 c6 19 86 43 08 24 28 04 87 9d 86 eb d0\ -01 dc e5 18 39 75 e1 50 69 89 b7 0e 5a 83 43 41\ -54 d5 cb fd 6a 24 78 7e 60 eb 0c 65 8d 2a c1 93\ -30 2d 11 92 c6 e6 22 d4 a1 2a d4 b5 39 23 bc a2\ -46 df 31 c6 39 5e 37 70 2c 6a 78 ae 08 1f b9 d0\ -65 -Test: DecryptMatch -Comment: RSAES-OAEP Encryption Example 4.4 -Plaintext: \ -fb 2e f1 12 f5 e7 66 eb 94 01 92 97 93 47 94 f7\ -be 2f 6f c1 c5 8e -Seed: # not used yet\ -13 64 54 df 57 30 f7 3c 80 7a 7e 40 d8 c1 a3 12\ -ac 5b 9d d3 -Ciphertext: \ -02 d1 10 ad 30 af b7 27 be b6 91 dd 0c f1 7d 0a\ -f1 a1 e7 fa 0c c0 40 ec 1a 4b a2 6a 42 c5 9d 0a\ -79 6a 2e 22 c8 f3 57 cc c9 8b 65 19 ac eb 68 2e\ -94 5e 62 cb 73 46 14 a5 29 40 7c d4 52 be e3 e4\ -4f ec e8 42 3c c1 9e 55 54 8b 8b 99 4b 84 9c 7e\ -cd e4 93 3e 76 03 7e 1d 0c e4 42 75 b0 87 10 c6\ -8e 43 01 30 b9 29 73 0e d7 7e 09 b0 15 64 2c 55\ -93 f0 4e 4f fb 94 10 79 81 02 a8 e9 6f fd fe 11\ -e4 -Test: DecryptMatch -Comment: RSAES-OAEP Encryption Example 4.5 -Plaintext: \ -28 cc d4 47 bb 9e 85 16 6d ab b9 e5 b7 d1 ad ad\ -c4 b9 d3 9f 20 4e 96 d5 e4 40 ce 9a d9 28 bc 1c\ -22 84 -Seed: # not used yet\ -bc a8 05 7f 82 4b 2e a2 57 f2 86 14 07 ee f6 3d\ -33 20 86 81 -Ciphertext: \ -00 db b8 a7 43 9d 90 ef d9 19 a3 77 c5 4f ae 8f\ -e1 1e c5 8c 3b 85 83 62 e2 3a d1 b8 a4 43 10 79\ -90 66 b9 93 47 aa 52 56 91 d2 ad c5 8d 9b 06 e3\ -4f 28 8c 17 03 90 c5 f0 e1 1c 0a a3 64 59 59 f1\ -8e e7 9e 8f 2b e8 d7 ac 5c 23 d0 61 f1 8d d7 4b\ -8c 5f 2a 58 fc b5 eb 0c 54 f9 9f 01 a8 32 47 56\ -82 92 53 65 83 34 09 48 d7 a8 c9 7c 4a cd 1e 98\ -d1 e2 9d c3 20 e9 7a 26 05 32 a8 aa 7a 75 8a 1e\ -c2 -Test: DecryptMatch -Comment: RSAES-OAEP Encryption Example 4.6 -Plaintext: \ -f2 22 42 75 1e c6 b1 -Seed: # not used yet\ -2e 7e 1e 17 f6 47 b5 dd d0 33 e1 54 72 f9 0f 68\ -12 f3 ac 4e -Ciphertext: \ -00 a5 ff a4 76 8c 8b be ca ee 2d b7 7e 8f 2e ec\ -99 59 59 33 54 55 20 83 5e 5b a7 db 94 93 d3 e1\ -7c dd ef e6 a5 f5 67 62 44 71 90 8d b4 e2 d8 3a\ -0f be e6 06 08 fc 84 04 95 03 b2 23 4a 07 dc 83\ -b2 7b 22 84 7a d8 92 0f f4 2f 67 4e f7 9b 76 28\ -0b 00 23 3d 2b 51 b8 cb 27 03 a9 d4 2b fb c8 25\ -0c 96 ec 32 c0 51 e5 7f 1b 4b a5 28 db 89 c3 7e\ -4c 54 e2 7e 6e 64 ac 69 63 5a e8 87 d9 54 16 19\ -a9 -Test: DecryptMatch - -AlgorithmType: AsymmetricCipher -Name: RSA/OAEP-MGF1(SHA-1) -Source: http://www.rsasecurity.com/rsalabs/pkcs/pkcs-1/, PKCS #1 test vectors -KeyFormat: Component -Comment: Example 5: A 1028-bit RSA Key Pair -Modulus: \ -0a ad f3 f9 c1 25 e5 d8 91 f3 1a c4 48 e9 93 de\ -fe 58 0f 80 2b 45 f9 d7 f2 2b a5 02 1e 9c 47 57\ -6b 5a 1e 68 03 1b a9 db 4e 6d ab e4 d9 6a 1d 6f\ -3d 26 72 68 cf f4 08 00 5f 11 8e fc ad b9 98 88\ -d1 c2 34 46 71 66 b2 a2 b8 49 a0 5a 88 9c 06 0a\ -c0 da 0c 5f ae 8b 55 f3 09 ba 62 e7 03 74 2f a0\ -32 6f 2d 10 b0 11 02 14 89 ff 49 77 70 19 0d 89\ -5f d3 9f 52 29 3c 39 ef d7 3a 69 8b da b9 f1 0e\ -d9 -PublicExponent: \ -01 00 01 -PrivateExponent: \ -02 56 eb 4c ba 70 67 f2 d2 be 54 0d cd ff 45 82\ -a3 6b 7d 31 d1 c9 09 9b b2 14 b7 98 48 46 6a 26\ -8f 80 f5 8a 49 ac 04 c0 e3 64 89 34 a0 20 6c 04\ -53 7c 19 b2 36 64 3a 60 82 73 21 44 df 75 fa 21\ -75 88 f7 94 68 2b e8 91 68 27 6d c7 26 c5 c0 cb\ -db 84 d3 1b bf 26 d0 a4 3a f4 95 71 7f 7d 52 8a\ -cf ee 34 15 61 f6 ff 3c ae 05 c5 78 f8 47 0d 96\ -82 f9 c0 d0 72 f9 f6 06 8b 56 d5 88 0f 68 2b e2\ -c5 -Prime1: \ -03 b0 d3 96 2f 6d 17 54 9c bf ca 11 29 43 48 dc\ -f0 e7 e3 9f 8c 2b c6 82 4f 21 64 b6 06 d6 87 86\ -0d ae 1e 63 23 93 cf ed f5 13 22 82 29 06 9e 2f\ -60 e4 ac d7 e6 33 a4 36 06 3f 82 38 5f 48 99 37\ -07 -Prime2: \ -02 e4 c3 2e 2f 51 72 69 b7 07 23 09 f0 0c 0e 31\ -36 5f 7c e2 8b 23 6b 82 91 2d f2 39 ab f3 95 72\ -cf 0e d6 04 b0 29 82 e5 35 64 c5 2d 6a 05 39 7d\ -e5 c0 52 a2 fd dc 14 1e f7 18 98 36 34 6a eb 33\ -1f -ModPrime1PrivateExponent: \ -01 e8 4b 11 9d 25 16 1f a6 7b 00 25 6a 5b d9 b6\ -45 d2 b2 32 ec b0 5b 01 51 80 02 9a 88 62 2a dc\ -3f 09 b3 ae ac de 61 61 ab 7c de 22 c2 ad 26 e7\ -79 7d f5 4e 07 2c bd 3b 26 73 80 0b 3e 43 38 db\ -d5 -ModPrime2PrivateExponent: \ -eb 90 aa 1a 40 13 5b 4c ea 07 19 7c ed c8 81 9b\ -e1 e7 cb ff 25 47 66 21 16 f4 65 a4 a9 f4 87 ab\ -12 f3 ba 4f ef 13 82 22 65 a6 52 97 d9 8b 7b de\ -d9 37 2e 3f fe 81 a3 8b 3e 96 00 fe d0 55 75 4f -MultiplicativeInverseOfPrime2ModPrime1: \ -01 2f 7f 81 38 f9 40 40 62 eb 85 a4 29 24 52 0b\ -38 f5 bb 88 6a 01 96 f4 8b b8 dc ea 60 fd 92 cc\ -02 7f 18 e7 81 58 a3 4a 5c 5d 5f 86 0a 0f 6c 04\ -07 1a 7d 01 31 2c 06 50 62 f1 eb 48 b7 9d 1c 83\ -cb -Test: KeyPairValidAndConsistent -Comment: RSAES-OAEP Encryption Example 5.1 -Plaintext: \ -af 71 a9 01 e3 a6 1d 31 32 f0 fc 1f db 47 4f 9e\ -a6 57 92 57 ff c2 4d 16 41 70 14 5b 3d bd e8 -Seed: # not used yet\ -44 c9 2e 28 3f 77 b9 49 9c 60 3d 96 36 60 c8 7d\ -2f 93 94 61 -Ciphertext: \ -03 60 46 a4 a4 7d 9e d3 ba 9a 89 13 9c 10 50 38\ -eb 74 92 b0 5a 5d 68 bf d5 3a cc ff 45 97 f7 a6\ -86 51 b4 7b 4a 46 27 d9 27 e4 85 ee d7 b4 56 64\ -20 e8 b4 09 87 9e 5d 60 6e ae 25 1d 22 a5 df 79\ -9f 79 20 bf c1 17 b9 92 57 2a 53 b1 26 31 46 bc\ -ea 03 38 5c c5 e8 53 c9 a1 01 c8 c3 e1 bd a3 1a\ -51 98 07 49 6c 6c b5 e5 ef b4 08 82 3a 35 2b 8f\ -a0 66 1f b6 64 ef ad d5 93 de b9 9f ff 5e d0 00\ -e5 -Test: DecryptMatch -Comment: RSAES-OAEP Encryption Example 5.2 -Plaintext: \ -a3 b8 44 a0 82 39 a8 ac 41 60 5a f1 7a 6c fd a4\ -d3 50 13 65 85 90 3a 41 7a 79 26 87 60 51 9a 4b\ -4a c3 30 3e c7 3f 0f 87 cf b3 23 99 -Seed: # not used yet\ -cb 28 f5 86 06 59 fc ee e4 9c 3e ea fc e6 25 a7\ -08 03 bd 32 -Ciphertext: \ -03 d6 eb 65 4e dc e6 15 bc 59 f4 55 26 5e d4 e5\ -a1 82 23 cb b9 be 4e 40 69 b4 73 80 4d 5d e9 6f\ -54 dc aa a6 03 d0 49 c5 d9 4a a1 47 0d fc d2 25\ -40 66 b7 c7 b6 1f f1 f6 f6 77 0e 32 15 c5 13 99\ -fd 4e 34 ec 50 82 bc 48 f0 89 84 0a d0 43 54 ae\ -66 dc 0f 1b d1 8e 46 1a 33 cc 12 58 b4 43 a2 83\ -7a 6d f2 67 59 aa 23 02 33 49 86 f8 73 80 c9 cc\ -9d 53 be 9f 99 60 5d 2c 9a 97 da 7b 09 15 a4 a7\ -ad -Test: DecryptMatch -Comment: RSAES-OAEP Encryption Example 5.3 -Plaintext: \ -30 8b 0e cb d2 c7 6c b7 7f c6 f7 0c 5e dd 23 3f\ -d2 f2 09 29 d6 29 f0 26 95 3b b6 2a 8f 4a 3a 31\ -4b de 19 5d e8 5b 5f 81 6d a2 aa b0 74 d2 6c b6\ -ac dd f3 23 ae 3b 9c 67 8a c3 cf 12 fb dd e7 -Seed: # not used yet\ -22 85 f4 0d 77 04 82 f9 a9 ef a2 c7 2c b3 ac 55\ -71 6d c0 ca -Ciphertext: \ -07 70 95 21 81 64 9f 9f 9f 07 ff 62 6f f3 a2 2c\ -35 c4 62 44 3d 90 5d 45 6a 9f d0 bf f4 3c ac 2c\ -a7 a9 f5 54 e9 47 8b 9a cc 3a c8 38 b0 20 40 ff\ -d3 e1 84 7d e2 e4 25 39 29 f9 dd 9e e4 04 43 25\ -a9 b0 5c ab b8 08 b2 ee 84 0d 34 e1 5d 10 5a 3f\ -1f 7b 27 69 5a 1a 07 a2 d7 3f e0 8e ca aa 3c 9c\ -9d 4d 5a 89 ff 89 0d 54 72 7d 7a e4 0c 0e c1 a8\ -dd 86 16 5d 8e e2 c6 36 81 41 01 6a 48 b5 5b 69\ -67 -Test: DecryptMatch -Comment: RSAES-OAEP Encryption Example 5.4 -Plaintext: \ -15 c5 b9 ee 11 85 -Seed: # not used yet\ -49 fa 45 d3 a7 8d d1 0d fd 57 73 99 d1 eb 00 af\ -7e ed 55 13 -Ciphertext: \ -08 12 b7 67 68 eb cb 64 2d 04 02 58 e5 f4 44 1a\ -01 85 21 bd 96 68 7e 6c 5e 89 9f cd 6c 17 58 8f\ -f5 9a 82 cc 8a e0 3a 4b 45 b3 12 99 af 17 88 c3\ -29 f7 dc d2 85 f8 cf 4c ed 82 60 6b 97 61 26 71\ -a4 5b ed ca 13 34 42 14 4d 16 17 d1 14 f8 02 85\ -7f 0f 9d 73 97 51 c5 7a 3f 9e e4 00 91 2c 61 e2\ -e6 99 2b e0 31 a4 3d d4 8f a6 ba 14 ee f7 c4 22\ -b5 ed c4 e7 af a0 4f dd 38 f4 02 d1 c8 bb 71 9a\ -bf -Test: DecryptMatch -Comment: RSAES-OAEP Encryption Example 5.5 -Plaintext: \ -21 02 6e 68 00 c7 fa 72 8f ca ab a0 d1 96 ae 28\ -d7 a2 ac 4f fd 8a bc e7 94 f0 98 5f 60 c8 a6 73\ -72 77 36 5d 3f ea 11 db 89 23 a2 02 9a -Seed: # not used yet\ -f0 28 74 13 23 4c c5 03 47 24 a0 94 c4 58 6b 87\ -af f1 33 fc -Ciphertext: \ -07 b6 0e 14 ec 95 4b fd 29 e6 0d 00 47 e7 89 f5\ -1d 57 18 6c 63 58 99 03 30 67 93 ce d3 f6 82 41\ -c7 43 52 9a ba 6a 63 74 f9 2e 19 e0 16 3e fa 33\ -69 7e 19 6f 76 61 df aa a4 7a ac 6b de 5e 51 de\ -b5 07 c7 2c 58 9a 2c a1 69 3d 96 b1 46 03 81 24\ -9b 2c db 9e ac 44 76 9f 24 89 c5 d3 d2 f9 9f 0e\ -e3 c7 ee 5b f6 4a 5a c7 9c 42 bd 43 3f 14 9b e8\ -cb 59 54 83 61 64 05 95 51 3c 97 af 7b c2 50 97\ -23 -Test: DecryptMatch -Comment: RSAES-OAEP Encryption Example 5.6 -Plaintext: \ -54 1e 37 b6 8b 6c 88 72 b8 4c 02 -Seed: # not used yet\ -d9 fb a4 5c 96 f2 1e 6e 26 d2 9e b2 cd cb 65 85\ -be 9c b3 41 -Ciphertext: \ -08 c3 6d 4d da 33 42 3b 2e d6 83 0d 85 f6 41 1b\ -a1 dc f4 70 a1 fa e0 eb ef ee 7c 08 9f 25 6c ef\ -74 cb 96 ea 69 c3 8f 60 f3 9a be e4 41 29 bc b4\ -c9 2d e7 f7 97 62 3b 20 07 4e 3d 9c 28 99 70 1e\ -d9 07 1e 1e fa 0b dd 84 d4 c3 e5 13 03 02 d8 f0\ -24 0b ab a4 b8 4a 71 cc 03 2f 22 35 a5 ff 0f ae\ -27 7c 3e 8f 91 12 be f4 4c 9a e2 0d 17 5f c9 a4\ -05 8b fc 93 0b a3 1b 02 e2 e4 f4 44 48 37 10 f2\ -4a -Test: DecryptMatch - -AlgorithmType: AsymmetricCipher -Name: RSA/OAEP-MGF1(SHA-1) -Source: http://www.rsasecurity.com/rsalabs/pkcs/pkcs-1/, PKCS #1 test vectors -KeyFormat: Component -Comment: Example 6: A 1029-bit RSA Key Pair -Modulus: \ -12 b1 7f 6d ad 2e cd 19 ff 46 dc 13 f7 86 0f 09\ -e0 e0 cf b6 77 b3 8a 52 59 23 05 ce af 02 2c 16\ -6d b9 0d 04 ac 29 e3 3f 7d d1 2d 9f af 66 e0 81\ -6b b6 3e ad 26 7c c7 d4 6c 17 c3 7b e2 14 bc a2\ -a2 2d 72 3a 64 e4 44 07 43 6b 6f c9 65 72 9a ef\ -c2 55 4f 37 6c d5 dc ea 68 29 37 80 a6 2b f3 9d\ -00 29 48 5a 16 0b bb 9e 5d c0 97 2d 21 a5 04 f5\ -2e 5e e0 28 aa 41 63 32 f5 10 b2 e9 cf f5 f7 22\ -af -PublicExponent: \ -01 00 01 -PrivateExponent: \ -02 95 ec a3 56 06 18 36 95 59 ce cd 30 3a a9 cf\ -da fc 1d 9f 06 95 9d f7 5f fe f9 29 aa 89 69 61\ -bc d1 90 dc 69 97 ed a7 f5 96 3e 72 4d 07 b4 dc\ -11 f3 06 5e 5a e9 7d 96 83 51 12 28 0b 90 84 bb\ -14 f2 a2 1e bd 4e 88 9d 41 b9 c4 13 2e c1 95 6f\ -ca b8 bb 2f ed 05 75 88 49 36 52 2c 5f f7 d3 32\ -61 90 48 24 e7 ca de e4 e0 bb 37 2d 24 57 cf 78\ -e2 bd 12 86 22 8f f8 3f 10 73 1c e6 3c 90 cf f3\ -f9 -Prime1: \ -04 a6 ce 8b 73 58 df a6 9b dc f7 42 61 70 05 af\ -b5 38 5f 5f 3a 58 a2 4e f7 4a 22 a8 c0 5c b7 cc\ -38 eb d4 cc 9d 9a 9d 78 9a 62 cd 0f 60 f0 cb 94\ -1d 34 23 c9 69 2e fa 4f e3 ad ff 29 0c 47 49 a3\ -8b -Prime2: \ -04 04 c9 a8 03 37 1f ed b4 c5 be 39 f3 c0 0b 00\ -9e 5e 08 a6 3b e1 e4 00 35 cd ac a5 01 1c c7 01\ -cf 7e eb cb 99 f0 ff e1 7c fd 0a 4b f7 be fd 2d\ -d5 36 ac 94 6d b7 97 fd bc 4a be 8f 29 34 9b 91\ -ed -ModPrime1PrivateExponent: \ -03 96 1c 8f 76 0a a2 bd 51 54 c7 aa fd 77 22 5b\ -3b ac d0 13 9a e7 b5 94 8e a3 31 1f cc d8 6f b9\ -5c 75 af a7 67 28 4b 9b 2d e5 59 57 2f 15 d8 d0\ -44 c7 eb 83 a1 be 5f ad f2 cc 37 7c 0d 84 75 29\ -4b -ModPrime2PrivateExponent: \ -02 21 97 e0 66 74 21 96 aa bc 03 fa 2f ee b4 e7\ -0b 15 cb 78 7d 61 7a cd 31 bb 75 c7 bc 23 4a d7\ -06 f7 c4 8d 21 82 d1 f0 ff 9c 22 8d cf 41 96 7b\ -6c 0b a6 d2 c0 ad 11 0a 1b 85 78 31 ec 24 5e 2c\ -b1 -MultiplicativeInverseOfPrime2ModPrime1: \ -04 01 c4 c0 c5 3d 45 db db 5e 9d 96 d0 fe cf 42\ -75 df 09 74 bc 4a 07 36 b4 a7 4c 32 69 05 3e fb\ -68 6a ce 24 06 e2 2c 9e 05 8d db 4a e5 40 62 7a\ -e2 fd b0 82 61 e8 e7 e4 bc bc 99 4d aa fa 30 5c\ -45 -Test: KeyPairValidAndConsistent -Comment: RSAES-OAEP Encryption Example 6.1 -Plaintext: \ -40 46 ca 8b aa 33 47 ca 27 f4 9e 0d 81 f9 cc 1d\ -71 be 9b a5 17 d4 -Seed: # not used yet\ -dd 0f 6c fe 41 5e 88 e5 a4 69 a5 1f bb a6 df d4\ -0a db 43 84 -Ciphertext: \ -06 30 ee bc d2 85 6c 24 f7 98 80 6e 41 f9 e6 73\ -45 ed a9 ce da 38 6a cc 9f ac ae a1 ee ed 06 ac\ -e5 83 70 97 18 d9 d1 69 fa df 41 4d 5c 76 f9 29\ -96 83 3e f3 05 b7 5b 1e 4b 95 f6 62 a2 0f ae dc\ -3b ae 0c 48 27 a8 bf 8a 88 ed bd 57 ec 20 3a 27\ -a8 41 f0 2e 43 a6 15 ba b1 a8 ca c0 70 1d e3 4d\ -eb de f6 2a 08 80 89 b5 5e c3 6e a7 52 2f d3 ec\ -8d 06 b6 a0 73 e6 df 83 31 53 bc 0a ef d9 3b d1\ -a3 -Test: DecryptMatch -Comment: RSAES-OAEP Encryption Example 6.2 -Plaintext: \ -5c c7 2c 60 23 1d f0 3b 3d 40 f9 b5 79 31 bc 31\ -10 9f 97 25 27 f2 8b 19 e7 48 0c 72 88 cb 3c 92\ -b2 25 12 21 4e 4b e6 c9 14 79 2d da bd f5 7f aa\ -8a a7 -Seed: # not used yet\ -8d 14 bd 94 6a 13 51 14 8f 5c ae 2e d9 a0 c6 53\ -e8 5e bd 85 -Ciphertext: \ -0e bc 37 37 61 73 a4 fd 2f 89 cc 55 c2 ca 62 b2\ -6b 11 d5 1c 3c 7c e4 9e 88 45 f7 4e 76 07 31 7c\ -43 6b c8 d2 3b 96 67 df eb 9d 08 72 34 b4 7b c6\ -83 71 75 ae 5c 05 59 f6 b8 1d 7d 22 41 6d 3e 50\ -f4 ac 53 3d 8f 08 12 f2 db 9e 79 1f e9 c7 75 ac\ -8b 6a d0 f5 35 ad 9c eb 23 a4 a0 20 14 c5 8a b3\ -f8 d3 16 14 99 a2 60 f3 93 48 e7 14 ae 2a 1d 34\ -43 20 8f d8 b7 22 cc fd fb 39 3e 98 01 1f 99 e6\ -3f -Test: DecryptMatch -Comment: RSAES-OAEP Encryption Example 6.3 -Plaintext: \ -b2 0e 65 13 03 09 2f 4b cc b4 30 70 c0 f8 6d 23\ -04 93 62 ed 96 64 2f c5 63 2c 27 db 4a 52 e3 d8\ -31 f2 ab 06 8b 23 b1 49 87 9c 00 2f 6b f3 fe ee\ -97 59 11 12 56 2c -Seed: # not used yet\ -6c 07 5b c4 55 20 f1 65 c0 bf 5e a4 c5 df 19 1b\ -c9 ef 0e 44 -Ciphertext: \ -0a 98 bf 10 93 61 93 94 43 6c f6 8d 8f 38 e2 f1\ -58 fd e8 ea 54 f3 43 5f 23 9b 8d 06 b8 32 18 44\ -20 24 76 ae ed 96 00 94 92 48 0c e3 a8 d7 05 49\ -8c 4c 8c 68 f0 15 01 dc 81 db 60 8f 60 08 73 50\ -c8 c3 b0 bd 2e 9e f6 a8 14 58 b7 c8 01 b8 9f 2e\ -4f e9 9d 49 00 ba 6a 4b 5e 5a 96 d8 65 dc 67 6c\ -77 55 92 87 94 13 0d 62 80 a8 16 0a 19 0f 2d f3\ -ea 7c f9 aa 02 71 d8 8e 9e 69 05 ec f1 c5 15 2d\ -65 -Test: DecryptMatch -Comment: RSAES-OAEP Encryption Example 6.4 -Plaintext: \ -68 4e 30 38 c5 c0 41 f7 -Seed: # not used yet\ -3b bc 3b d6 63 7d fe 12 84 69 01 02 9b f5 b0 c0\ -71 03 43 9c -Ciphertext: \ -00 8e 7a 67 ca cf b5 c4 e2 4b ec 7d ee 14 91 17\ -f1 95 98 ce 8c 45 80 8f ef 88 c6 08 ff 9c d6 e6\ -95 26 3b 9a 3c 0a d4 b8 ba 4c 95 23 8e 96 a8 42\ -2b 85 35 62 9c 8d 53 82 37 44 79 ad 13 fa 39 97\ -4b 24 2f 9a 75 9e ea f9 c8 3a d5 a8 ca 18 94 0a\ -01 62 ba 75 58 76 df 26 3f 4b d5 0c 65 25 c5 60\ -90 26 7c 1f 0e 09 ce 08 99 a0 cf 35 9e 88 12 0a\ -bd 9b f8 93 44 5b 3c ae 77 d3 60 73 59 ae 9a 52\ -f8 -Test: DecryptMatch -Comment: RSAES-OAEP Encryption Example 6.5 -Plaintext: \ -32 48 8c b2 62 d0 41 d6 e4 dd 35 f9 87 bf 3c a6\ -96 db 1f 06 ac 29 a4 46 93 -Seed: # not used yet\ -b4 6b 41 89 3e 8b ef 32 6f 67 59 38 3a 83 07 1d\ -ae 7f ca bc -Ciphertext: \ -00 00 34 74 41 6c 7b 68 bd f9 61 c3 85 73 79 44\ -d7 f1 f4 0c b3 95 34 3c 69 3c c0 b4 fe 63 b3 1f\ -ed f1 ea ee ac 9c cc 06 78 b3 1d c3 2e 09 77 48\ -95 14 c4 f0 90 85 f6 29 8a 96 53 f0 1a ea 40 45\ -ff 58 2e e8 87 be 26 ae 57 5b 73 ee f7 f3 77 49\ -21 e3 75 a3 d1 9a dd a0 ca 31 aa 18 49 88 7c 1f\ -42 ca c9 67 7f 7a 2f 4e 92 3f 6e 5a 86 8b 38 c0\ -84 ef 18 75 94 dc 9f 7f 04 8f ea 2e 02 95 53 84\ -ab -Test: DecryptMatch -Comment: RSAES-OAEP Encryption Example 6.6 -Plaintext: \ -50 ba 14 be 84 62 72 02 79 c3 06 ba -Seed: # not used yet\ -0a 24 03 31 2a 41 e3 d5 2f 06 0f bc 13 a6 7d e5\ -cf 76 09 a7 -Ciphertext: \ -0a 02 6d da 5f c8 78 5f 7b d9 bf 75 32 7b 63 e8\ -5e 2c 0f de e5 da db 65 eb dc ac 9a e1 de 95 c9\ -2c 67 2a b4 33 aa 7a 8e 69 ce 6a 6d 88 97 fa c4\ -ac 4a 54 de 84 1a e5 e5 bb ce 76 87 87 9d 79 63\ -4c ea 7a 30 68 40 65 c7 14 d5 24 09 b9 28 25 6b\ -bf 53 ea bc d5 23 1e b7 25 95 04 53 73 99 bd 29\ -16 4b 72 6d 33 a4 6d a7 01 36 0a 41 68 a0 91 cc\ -ab 72 d4 4a 62 fe d2 46 c0 ff ea 5b 13 48 ab 54\ -70 -Test: DecryptMatch - -AlgorithmType: AsymmetricCipher -Name: RSA/OAEP-MGF1(SHA-1) -Source: http://www.rsasecurity.com/rsalabs/pkcs/pkcs-1/, PKCS #1 test vectors -KeyFormat: Component -Comment: Example 7: A 1030-bit RSA Key Pair -Modulus: \ -31 11 79 f0 bc fc 9b 9d 3c a3 15 d0 0e f3 0d 7b\ -dd 3a 2c fa e9 91 1b fe dc b9 48 b3 a4 78 2d 07\ -32 b6 ab 44 aa 4b f0 37 41 a6 44 dc 01 be c3 e6\ -9b 01 a0 33 e6 75 d8 ac d7 c4 92 5c 6b 1a ec 31\ -19 05 1d fd 89 76 2d 21 5d 45 47 5f fc b5 9f 90\ -81 48 62 3f 37 17 71 56 f6 ae 86 dd 7a 7c 5f 43\ -dc 1e 1f 90 82 54 05 8a 28 4a 5f 06 c0 02 17 93\ -a8 7f 1a c5 fe ff 7d ca ee 69 c5 e5 1a 37 89 e3\ -73 -PublicExponent: \ -01 00 01 -PrivateExponent: \ -07 0c fc ff 2f eb 82 76 e2 74 32 c4 5d fe e4 8f\ -49 b7 91 7d 65 30 e1 f0 ca 34 60 f3 2e 02 76 17\ -44 87 c5 6e 22 a4 5d 25 00 d7 77 54 95 21 9d 7d\ -16 5a 9c f3 bd 92 c3 2a f9 a9 8d 8d c9 cc 29 68\ -00 ad c9 4a 0a 54 fb 40 f3 42 91 bf 84 ee 8e a1\ -2b 6f 10 93 59 c6 d3 54 2a 50 f9 c7 67 f5 cf ff\ -05 a6 81 c2 e6 56 fb 77 ca aa db 4b e9 46 8d 8a\ -bc d4 df 98 f5 8e 86 d2 05 3f a1 34 9f 74 8e 21\ -b1 -Prime1: \ -07 49 26 2c 11 1c d4 70 ec 25 66 e6 b3 73 2f c0\ -93 29 46 9a a1 90 71 d3 b9 c0 19 06 51 4c 6f 1d\ -26 ba a1 4b ea b0 97 1c 8b 7e 61 1a 4f 79 00 9d\ -6f ea 77 69 28 ca 25 28 5b 0d e3 64 3d 1a 3f 8c\ -71 -Prime2: \ -06 bc 1e 50 e9 6c 02 bf 63 6e 9e ea 8b 89 9b be\ -bf 76 51 de 77 dd 47 4c 3e 9b c2 3b ad 81 82 b6\ -19 04 c7 d9 7d fb eb fb 1e 00 10 88 78 b6 e6 7e\ -41 53 91 d6 79 42 c2 b2 bf 9b 44 35 f8 8b 0c b0\ -23 -ModPrime1PrivateExponent: \ -03 bc 7e a7 f0 aa b1 43 ab c6 ce 8b 97 11 86 36\ -a3 01 72 e4 cf e0 2c 8f a0 dd a3 b7 ba af 90 f8\ -09 29 82 98 55 25 f4 88 bd fc b4 bd 72 6e 22 63\ -9a c6 4a 30 92 ab 7f fc bf 1d 53 34 cf a5 0b 5b\ -f1 -ModPrime2PrivateExponent: \ -02 62 a6 aa 29 c2 a3 c6 7d c5 34 6c 06 38 1a fd\ -98 7a a3 cc 93 cf bf ec f5 4f dd 9f 9d 78 7d 7f\ -59 a5 23 d3 98 97 9d a1 37 a2 f6 38 1f e9 48 01\ -f7 c9 4d a2 15 18 dc 34 cb 40 87 0c 46 97 99 4a\ -d9 -MultiplicativeInverseOfPrime2ModPrime1: \ -64 9d 4c 17 b6 ee 17 21 e7 72 d0 38 9a 55 9c 3d\ -3c df 95 50 d4 57 c4 6b 03 7b 74 64 1b 1d 52 16\ -6a f8 a2 13 c8 39 62 06 cd fb a4 42 2f 18 d6 f6\ -1d bc b5 d2 14 c9 71 bf 48 2a eb 97 6a 73 70 c2 -Test: KeyPairValidAndConsistent -Comment: RSAES-OAEP Encryption Example 7.1 -Plaintext: \ -47 aa e9 09 -Seed: # not used yet\ -43 dd 09 a0 7f f4 ca c7 1c aa 46 32 ee 5e 1c 1d\ -ae e4 cd 8f -Ciphertext: \ -16 88 e4 ce 77 94 bb a6 cb 70 14 16 9e cd 55 9c\ -ed e2 a3 0b 56 a5 2b 68 d9 fe 18 cf 19 73 ef 97\ -b2 a0 31 53 95 1c 75 5f 62 94 aa 49 ad bd b5 58\ -45 ab 68 75 fb 39 86 c9 3e cf 92 79 62 84 0d 28\ -2f 9e 54 ce 8b 69 0f 7c 0c b8 bb d7 34 40 d9 57\ -1d 1b 16 cd 92 60 f9 ea b4 78 3c c4 82 e5 22 3d\ -c6 09 73 87 17 83 ec 27 b0 ae 0f d4 77 32 cb c2\ -86 a1 73 fc 92 b0 0f b4 ba 68 24 64 7c d9 3c 85\ -c1 -Test: DecryptMatch -Comment: RSAES-OAEP Encryption Example 7.2 -Plaintext: \ -1d 9b 2e 22 23 d9 bc 13 bf b9 f1 62 ce 73 5d b4\ -8b a7 c6 8f 68 22 a0 a1 a7 b6 ae 16 58 34 e7 -Seed: # not used yet\ -3a 9c 3c ec 7b 84 f9 bd 3a de cb c6 73 ec 99 d5\ -4b 22 bc 9b -Ciphertext: \ -10 52 ed 39 7b 2e 01 e1 d0 ee 1c 50 bf 24 36 3f\ -95 e5 04 f4 a0 34 34 a0 8f d8 22 57 4e d6 b9 73\ -6e db b5 f3 90 db 10 32 14 79 a8 a1 39 35 0e 2b\ -d4 97 7c 37 78 ef 33 1f 3e 78 ae 11 8b 26 84 51\ -f2 0a 2f 01 d4 71 f5 d5 3c 56 69 37 17 1b 2d bc\ -2d 4b de 45 9a 57 99 f0 37 2d 65 74 23 9b 23 23\ -d2 45 d0 bb 81 c2 86 b6 3c 89 a3 61 01 73 37 e4\ -90 2f 88 a4 67 f4 c7 f2 44 bf d5 ab 46 43 7f f3\ -b6 -Test: DecryptMatch -Comment: RSAES-OAEP Encryption Example 7.3 -Plaintext: \ -d9 76 fc -Seed: # not used yet\ -76 a7 5e 5b 61 57 a5 56 cf 88 84 bb 2e 45 c2 93\ -dd 54 5c f5 -Ciphertext: \ -21 55 cd 84 3f f2 4a 4e e8 ba db 76 94 26 00 28\ -a4 90 81 3b a8 b3 69 a4 cb f1 06 ec 14 8e 52 98\ -70 7f 59 65 be 7d 10 1c 10 49 ea 85 84 c2 4c d6\ -34 55 ad 9c 10 4d 68 62 82 d3 fb 80 3a 4c 11 c1\ -c2 e9 b9 1c 71 78 80 1d 1b 66 40 f0 03 f5 72 8d\ -f0 07 b8 a4 cc c9 2b ce 05 e4 1a 27 27 8d 7c 85\ -01 8c 52 41 43 13 a5 07 77 89 00 1d 4f 01 91 0b\ -72 aa d0 5d 22 0a a1 4a 58 73 3a 74 89 bc 54 55\ -6b -Test: DecryptMatch -Comment: RSAES-OAEP Encryption Example 7.4 -Plaintext: \ -d4 73 86 23 df 22 3a a4 38 43 df 84 67 53 4c 41\ -d0 13 e0 c8 03 c6 24 e2 63 66 6b 23 9b de 40 a5\ -f2 9a eb 8d e7 9e 3d aa 61 dd 03 70 f4 9b d4 b0\ -13 83 4b 98 21 2a ef 6b 1c 5e e3 73 b3 cb -Seed: # not used yet\ -78 66 31 4a 6a d6 f2 b2 50 a3 59 41 db 28 f5 86\ -4b 58 58 59 -Ciphertext: \ -0a b1 4c 37 3a eb 7d 43 28 d0 aa ad 8c 09 4d 88\ -b9 eb 09 8b 95 f2 10 54 a2 90 82 52 2b e7 c2 7a\ -31 28 78 b6 37 91 7e 3d 81 9e 6c 3c 56 8d b5 d8\ -43 80 2b 06 d5 1d 9e 98 a2 be 0b f4 0c 03 14 23\ -b0 0e df bf f8 32 0e fb 91 71 bd 20 44 65 3a 4c\ -b9 c5 12 2f 6c 65 e8 3c da 2e c3 c1 26 02 7a 9c\ -1a 56 ba 87 4d 0f ea 23 f3 80 b8 2c f2 40 b8 cf\ -54 00 04 75 8c 4c 77 d9 34 15 7a 74 f3 fc 12 bf\ -ac -Test: DecryptMatch -Comment: RSAES-OAEP Encryption Example 7.5 -Plaintext: \ -bb 47 23 1c a5 ea 1d 3a d4 6c 99 34 5d 9a 8a 61 -Seed: # not used yet\ -b2 16 6e d4 72 d5 8d b1 0c ab 2c 6b 00 0c cc f1\ -0a 7d c5 09 -Ciphertext: \ -02 83 87 a3 18 27 74 34 79 8b 4d 97 f4 60 06 8d\ -f5 29 8f ab a5 04 1b a1 17 61 a1 cb 73 16 b2 41\ -84 11 4e c5 00 25 7e 25 89 ed 3b 60 7a 1e bb e9\ -7a 6c c2 e0 2b f1 b6 81 f4 23 12 a3 3b 7a 77 d8\ -e7 85 5c 4a 6d e0 3e 3c 04 64 3f 78 6b 91 a2 64\ -a0 d6 80 5e 2c ea 91 e6 81 77 eb 7a 64 d9 25 5e\ -4f 27 e7 13 b7 cc ec 00 dc 20 0e bd 21 c2 ea 2b\ -b8 90 fe ae 49 42 df 94 1d c3 f9 78 90 ed 34 74\ -78 -Test: DecryptMatch -Comment: RSAES-OAEP Encryption Example 7.6 -Plaintext: \ -21 84 82 70 95 d3 5c 3f 86 f6 00 e8 e5 97 54 01\ -32 96 -Seed: # not used yet\ -52 67 3b de 2c a1 66 c2 aa 46 13 1a c1 dc 80 8d\ -67 d7 d3 b1 -Ciphertext: \ -14 c6 78 a9 4a d6 05 25 ef 39 e9 59 b2 f3 ba 5c\ -09 7a 94 ff 91 2b 67 db ac e8 05 35 c1 87 ab d4\ -7d 07 54 20 b1 87 21 52 bb a0 8f 7f c3 1f 31 3b\ -bf 92 73 c9 12 fc 4c 01 49 a9 b0 cf b7 98 07 e3\ -46 eb 33 20 69 61 1b ec 0f f9 bc d1 68 f1 f7 c3\ -3e 77 31 3c ea 45 4b 94 e2 54 9e ec f0 02 e2 ac\ -f7 f6 f2 d2 84 5d 4f e0 aa b2 e5 a9 2d df 68 c4\ -80 ae 11 24 79 35 d1 f6 25 74 84 22 16 ae 67 41\ -15 -Test: DecryptMatch - -AlgorithmType: AsymmetricCipher -Name: RSA/OAEP-MGF1(SHA-1) -Source: http://www.rsasecurity.com/rsalabs/pkcs/pkcs-1/, PKCS #1 test vectors -KeyFormat: Component -Comment: Example 8: A 1031-bit RSA Key Pair -Modulus: \ -5b df 0e 30 d3 21 dd a5 14 7f 88 24 08 fa 69 19\ -54 80 df 8f 80 d3 f6 e8 bf 58 18 50 4f 36 42 7c\ -a9 b1 f5 54 0b 9c 65 a8 f6 97 4c f8 44 7a 24 4d\ -92 80 20 1b b4 9f cb be 63 78 d1 94 4c d2 27 e2\ -30 f9 6e 3d 10 f8 19 dc ef 27 6c 64 a0 0b 2a 4b\ -67 01 e7 d0 1d e5 fa bd e3 b1 e9 a0 df 82 f4 63\ -13 59 cd 22 66 96 47 fb b1 71 72 46 13 4e d7 b4\ -97 cf ff bd c4 2b 59 c7 3a 96 ed 90 16 62 12 df\ -f7 -PublicExponent: \ -01 00 01 -PrivateExponent: \ -0f 7d 1e 9e 5a aa 25 fd 13 e4 a0 66 3a e1 44 e0\ -d1 5f 5c d1 8b cd b0 9d f2 cc 7e 64 e3 c5 e9 15\ -ad 62 64 53 04 16 1d 09 8c 71 5b b7 ab 8b d0 1d\ -07 ea f3 fe d7 c7 ed 08 af 2a 8a 62 ef 44 ab 16\ -b3 20 e1 4a f7 2a 48 f9 6a fe 26 2a 0a e4 cf 65\ -e6 35 e9 10 79 0c d4 ee 5c ea 76 8a 4b 26 39 f7\ -e6 f6 77 b3 f0 bb 6b e3 2b 75 74 7d 89 09 03 6f\ -02 64 f5 8d 40 1c db a1 31 71 61 57 a7 5e cf 63\ -31 -Prime1: \ -0a 02 ef 84 48 d9 fa d8 bb d0 d0 04 c8 c2 aa 97\ -51 ef 97 21 c1 b0 d0 32 36 a5 4b 0d f9 47 cb ae\ -d5 a2 55 ee 9e 8e 20 d4 91 ea 17 23 fe 09 47 04\ -a9 76 2e 88 af d1 6e bb 59 94 41 2c a9 66 dc 4f\ -9f -Prime2: \ -09 2d 36 2e 7e d3 a0 bf d9 e9 fd 0e 6c 03 01 b6\ -df 29 15 9c f5 0c c8 3b 9b 0c f4 d6 ee a7 1a 61\ -e0 02 b4 6e 0a e9 f2 de 62 d2 5b 5d 74 52 d4 98\ -b8 1c 9a c6 fc 58 59 3d 4c 3f b4 f5 d7 2d fb b0\ -a9 -ModPrime1PrivateExponent: \ -07 c7 14 10 af 10 39 62 db 36 74 04 e3 7a e8 50\ -ba a4 e9 c2 9d d9 21 45 81 52 94 a6 7c 7d 1c 6d\ -ed 26 3a a0 30 a9 b6 33 ae 50 30 3e 14 03 5d 1a\ -f0 14 12 3e ba 68 78 20 30 8d 8e bc 85 b6 95 7d\ -7d -ModPrime2PrivateExponent: \ -ae 2c 75 38 0c 02 c0 16 ad 05 89 1b 33 01 de 88\ -1f 28 ae 11 71 18 2b 6b 2c 83 be a7 c5 15 ec a9\ -ca 29 8c 7b 1c ab 58 17 a5 97 06 8f c8 50 60 de\ -4d a8 a0 16 37 8a ae 43 c7 f9 67 bc c3 79 04 b9 -MultiplicativeInverseOfPrime2ModPrime1: \ -05 98 d1 05 9e 3a da 4f 63 20 75 2c 09 d8 05 ff\ -7d 1f 1a e0 d0 17 ae ee e9 ce fa 0d 7d d7 ff 77\ -5e 44 b5 78 32 2f 64 05 d6 21 1d a1 95 19 66 6a\ -a8 7f dc 4c d8 c8 8f 6b 6e 3d 67 e9 61 dc bb a3\ -d0 -Test: KeyPairValidAndConsistent -Comment: RSAES-OAEP Encryption Example 8.1 -Plaintext: \ -05 0b 75 5e 5e 68 80 f7 b9 e9 d6 92 a7 4c 37 aa\ -e4 49 b3 1b fe a6 de ff 83 74 7a 89 7f 6c 2c 82\ -5b b1 ad bf 85 0a 3c 96 99 4b 5d e5 b3 3c bc 7d\ -4a 17 91 3a 79 67 -Seed: # not used yet\ -77 06 ff ca 1e cf b1 eb ee 2a 55 e5 c6 e2 4c d2\ -79 7a 41 25 -Ciphertext: \ -09 b3 68 3d 8a 2e b0 fb 29 5b 62 ed 1f b9 29 0b\ -71 44 57 b7 82 53 19 f4 64 78 72 af 88 9b 30 40\ -94 72 02 0a d1 29 12 bf 19 b1 1d 48 19 f4 96 14\ -82 4f fd 84 d0 9c 0a 17 e7 d1 73 09 d1 29 19 79\ -04 10 aa 29 95 69 9f 6a 86 db e3 24 2b 5a cc 23\ -af 45 69 10 80 d6 b1 ae 81 0f b3 e3 05 70 87 f0\ -97 00 92 ce 00 be 95 62 ff 40 53 b6 26 2c e0 ca\ -a9 3e 13 72 3d 2e 3a 5b a0 75 d4 5f 0d 61 b5 4b\ -61 -Test: DecryptMatch -Comment: RSAES-OAEP Encryption Example 8.2 -Plaintext: \ -4e b6 8d cd 93 ca 9b 19 df 11 1b d4 36 08 f5 57\ -02 6f e4 aa 1d 5c fa c2 27 a3 eb 5a b9 54 8c 18\ -a0 6d de d2 3f 81 82 59 86 b2 fc d7 11 09 ec ef\ -7e ff 88 87 3f 07 5c 2a a0 c4 69 f6 9c 92 bc -Seed: # not used yet\ -a3 71 7d a1 43 b4 dc ff bc 74 26 65 a8 fa 95 05\ -85 54 83 43 -Ciphertext: \ -2e cf 15 c9 7c 5a 15 b1 47 6a e9 86 b3 71 b5 7a\ -24 28 4f 4a 16 2a 8d 0c 81 82 e7 90 5e 79 22 56\ -f1 81 2b a5 f8 3f 1f 7a 13 0e 42 dc c0 22 32 84\ -4e dc 14 a3 1a 68 ee 97 ae 56 4a 38 3a 34 11 65\ -64 24 c5 f6 2d db 64 60 93 c3 67 be 1f cd a4 26\ -cf 00 a0 6d 8a cb 7e 57 77 6f bb d8 55 ac 3d f5\ -06 fc 16 b1 d7 c3 f2 11 0f 3d 80 68 e9 1e 18 63\ -63 83 1c 84 09 68 0d 8d a9 ec d8 cf 1f a2 0e e3\ -9d -Test: DecryptMatch -Comment: RSAES-OAEP Encryption Example 8.3 -Plaintext: \ -86 04 ac 56 32 8c 1a b5 ad 91 78 61 -Seed: # not used yet\ -ee 06 20 90 73 cc a0 26 bb 26 4e 51 85 bf 8c 68\ -b7 73 9f 86 -Ciphertext: \ -4b c8 91 30 a5 b2 da bb 7c 2f cf 90 eb 5d 0e af\ -9e 68 1b 71 46 a3 8f 31 73 a3 d9 cf ec 52 ea 9e\ -0a 41 93 2e 64 8a 9d 69 34 4c 50 da 76 3f 51 a0\ -3c 95 76 21 31 e8 05 22 54 dc d2 24 8c ba 40 fd\ -31 66 77 86 ce 05 a2 b7 b5 31 ac 9d ac 9e d5 84\ -a5 9b 67 7c 1a 8a ed 8c 5d 15 d6 8c 05 56 9e 2b\ -e7 80 bf 7d b6 38 fd 2b fd 2a 85 ab 27 68 60 f3\ -77 73 38 fc a9 89 ff d7 43 d1 3e e0 8e 0c a9 89\ -3f -Test: DecryptMatch -Comment: RSAES-OAEP Encryption Example 8.4 -Plaintext: \ -fd da 5f bf 6e c3 61 a9 d9 a4 ac 68 af 21 6a 06\ -86 f4 38 b1 e0 e5 c3 6b 95 5f 74 e1 07 f3 9c 0d\ -dd cc -Seed: # not used yet\ -99 0a d5 73 dc 48 a9 73 23 5b 6d 82 54 36 18 f2\ -e9 55 10 5d -Ciphertext: \ -2e 45 68 47 d8 fc 36 ff 01 47 d6 99 35 94 b9 39\ -72 27 d5 77 75 2c 79 d0 f9 04 fc b0 39 d4 d8 12\ -fe a6 05 a7 b5 74 dd 82 ca 78 6f 93 75 23 48 43\ -8e e9 f5 b5 45 49 85 d5 f0 e1 69 9e 3e 7a d1 75\ -a3 2e 15 f0 3d eb 04 2a b9 fe 1d d9 db 1b b8 6f\ -8c 08 9c cb 45 e7 ef 0c 5e e7 ca 9b 72 90 ca 6b\ -15 be d4 70 39 78 8a 8a 93 ff 83 e0 e8 d6 24 4c\ -71 00 63 62 de ef 69 b6 f4 16 fb 3c 68 43 83 fb\ -d0 -Test: DecryptMatch -Comment: RSAES-OAEP Encryption Example 8.5 -Plaintext: \ -4a 5f 49 14 be e2 5d e3 c6 93 41 de 07 -Seed: # not used yet\ -ec c6 3b 28 f0 75 6f 22 f5 2a c8 e6 ec 12 51 a6\ -ec 30 47 18 -Ciphertext: \ -1f b9 35 6f d5 c4 b1 79 6d b2 eb f7 d0 d3 93 cc\ -81 0a df 61 45 de fc 2f ce 71 4f 79 d9 38 00 d5\ -e2 ac 21 1e a8 bb ec ca 4b 65 4b 94 c3 b1 8b 30\ -dd 57 6c e3 4d c9 54 36 ef 57 a0 94 15 64 59 23\ -35 9a 5d 7b 41 71 ef 22 c2 46 70 f1 b2 29 d3 60\ -3e 91 f7 66 71 b7 df 97 e7 31 7c 97 73 44 76 d5\ -f3 d1 7d 21 cf 82 b5 ba 9f 83 df 2e 58 8d 36 98\ -4f d1 b5 84 46 8b d2 3b 2e 87 5f 32 f6 89 53 f7\ -b2 -Test: DecryptMatch -Comment: RSAES-OAEP Encryption Example 8.6 -Plaintext: \ -8e 07 d6 6f 7b 88 0a 72 56 3a bc d3 f3 50 92 bc\ -33 40 9f b7 f8 8f 24 72 be -Seed: # not used yet\ -39 25 c7 1b 36 2d 40 a0 a6 de 42 14 55 79 ba 1e\ -7d d4 59 fc -Ciphertext: \ -3a fd 9c 66 00 14 7b 21 79 8d 81 8c 65 5a 0f 4c\ -92 12 db 26 d0 b0 df dc 2a 75 94 cc b3 d2 2f 5b\ -f1 d7 c3 e1 12 cd 73 fc 7d 50 9c 7a 8b af dd 3c\ -27 4d 13 99 00 9f 96 09 ec 4b e6 47 7e 45 3f 07\ -5a a3 3d b3 82 87 0c 1c 34 09 ae f3 92 d7 38 6a\ -e3 a6 96 b9 9a 94 b4 da 05 89 44 7e 95 5d 16 c9\ -8b 17 60 2a 59 bd 73 62 79 fc d8 fb 28 0c 44 62\ -d5 90 bf a9 bf 13 fe d5 70 ea fd e9 73 30 a2 c2\ -10 -Test: DecryptMatch - -AlgorithmType: AsymmetricCipher -Name: RSA/OAEP-MGF1(SHA-1) -Source: http://www.rsasecurity.com/rsalabs/pkcs/pkcs-1/, PKCS #1 test vectors -KeyFormat: Component -Comment: Example 9: A 1536-bit RSA Key Pair -Modulus: \ -cf 2c d4 1e 34 ca 3a 72 8e a5 cb 8a ff 64 c3 6d\ -27 bd ef 53 64 e3 36 fd 68 d3 12 3c 5a 19 6a 8c\ -28 70 13 e8 53 d5 15 6d 58 d1 51 95 45 20 fb 4f\ -6d 7b 17 ab b6 81 77 65 90 9c 57 61 19 65 9d 90\ -2b 19 06 ed 8a 2b 10 c1 55 c2 4d 12 45 28 da b9\ -ee ae 37 9b ea c6 6e 4a 41 17 86 dc b8 fd 00 62\ -eb c0 30 de 12 19 a0 4c 2a 8c 1b 7d d3 13 1e 4d\ -6b 6c ae e2 e3 1a 5e d4 1a c1 50 9b 2e f1 ee 2a\ -b1 83 64 be 56 8c a9 41 c2 5e cc 84 ff 9d 64 3b\ -5e c1 aa ae 10 2a 20 d7 3f 47 9b 78 0f d6 da 91\ -07 52 12 d9 ea c0 3a 06 74 d8 99 eb a2 e4 31 f4\ -c4 4b 61 5b 6b a2 23 2b d4 b3 3b ae d7 3d 62 5d -PublicExponent: \ -01 00 01 -PrivateExponent: \ -19 8c 14 1e 23 71 5a 92 bc cf 6a 11 9a 5b c1 13\ -89 46 8d 28 11 f5 48 d7 27 e1 7b 4a b0 eb 98 6d\ -6f 21 1e fb 53 b7 1f 7c cb ea 87 ee 69 c7 5e e6\ -15 00 8c 53 32 de b5 2b f3 90 ab df bf e3 7d 72\ -05 36 81 59 b2 63 8c 1d e3 26 e2 1d 22 25 1f 0f\ -b5 84 8b 3b f1 50 05 d2 a7 43 30 f0 af e9 16 ee\ -62 cc c1 34 4d 1d 83 a7 09 e6 06 76 27 38 40 f7\ -f3 77 42 4a 5e 0a 4d a7 5f 01 b3 1f f7 68 19 cf\ -9c bf dd 21 52 43 c3 91 7c 03 ef 38 19 93 12 e5\ -67 b3 bf 7a ed 3a b4 57 f3 71 ef 8a 14 23 f4 5b\ -68 c6 e2 82 ec 11 1b ba 28 33 b9 87 fd 69 fa d8\ -3b c1 b8 c6 13 c5 e1 ea 16 c1 1e d1 25 ea 7e c1 -Prime1: \ -fc 8d 6c 04 be c4 eb 9a 81 92 ca 79 00 cb e5 36\ -e2 e8 b5 19 de cf 33 b2 45 97 98 c6 90 9d f4 f1\ -76 db 7d 23 19 0f c7 2b 88 65 a7 18 af 89 5f 1b\ -cd 91 45 29 80 27 42 3b 60 5e 70 a4 7c f5 83 90\ -a8 c3 e8 8f c8 c4 8e 8b 32 e3 da 21 0d fb e3 e8\ -81 ea 56 74 b6 a3 48 c2 1e 93 f9 e5 5e a6 5e fd -Prime2: \ -d2 00 d4 5e 78 8a ac ea 60 6a 40 1d 04 60 f8 7d\ -d5 c1 02 7e 12 dc 1a 0d 75 86 e8 93 9d 9c f7 89\ -b4 0f 51 ac 04 42 96 1d e7 d2 1c c2 1e 05 c8 31\ -55 c1 f2 aa 91 93 38 7c fd f9 56 cb 48 d1 53 ba\ -27 04 06 f9 bb ba 53 7d 49 87 d9 e2 f9 94 2d 7a\ -14 cb ff fe a7 4f ec dd a9 28 d2 3e 25 9f 5e e1 -ModPrime1PrivateExponent: \ -db 16 80 2f 79 a2 f0 d4 5f 35 8d 69 fd 33 e4 4b\ -81 fa e8 28 62 2e 93 a5 42 53 e9 97 d0 1b 07 43\ -75 9d a0 e8 12 b4 aa 4e 6c 8b ea b2 32 8d 54 31\ -95 5a 41 8a 67 ff 26 a8 c5 c8 07 a5 da 35 4e 05\ -ef 31 cc 8c f7 58 f4 63 73 29 50 b0 3e 26 57 26\ -fb 94 e3 9d 6a 57 2a 26 24 4a b0 8d b7 57 52 ad -ModPrime2PrivateExponent: \ -a0 a3 17 cf e7 df 14 23 f8 7a 6d ee 84 51 f4 e2\ -b4 a6 7e 54 97 f2 9b 4f 1e 4e 83 0b 9f ad d9 40\ -11 67 02 6f 55 96 e5 a3 9c 97 81 7e 0f 5f 16 e2\ -7e 19 ec 99 02 e0 1d 7e a6 fb 9a a3 c7 60 af ee\ -1e 38 1b 69 de 6a c9 c0 75 85 a0 6a d9 c4 ba 00\ -bf 75 c8 ad 2f a8 98 a4 79 e8 0a e2 94 fe d2 a1 -MultiplicativeInverseOfPrime2ModPrime1: \ -0b 21 f3 35 c3 53 34 2e b4 4c 3a a2 44 45 78 0c\ -2d 65 5b 94 01 74 ca e3 8c 7c 8a 4e 64 93 c0 ba\ -9f d3 03 74 82 67 b0 83 b9 a7 a6 cb 61 e4 2d b3\ -62 b8 c9 89 6d b7 06 4e 02 ad 5a e6 15 87 da 15\ -b4 64 9c 90 59 49 09 fe b3 7d bc b6 54 be b7 26\ -8e c8 01 e5 a8 b4 aa 39 11 be bd 88 54 2f 05 be -Test: KeyPairValidAndConsistent -Comment: RSAES-OAEP Encryption Example 9.1 -Plaintext: \ -f7 35 fd 55 ba 92 59 2c 3b 52 b8 f9 c4 f6 9a aa\ -1c be f8 fe 88 ad d0 95 59 54 12 46 7f 9c f4 ec\ -0b 89 6c 59 ed a1 62 10 e7 54 9c 8a bb 10 cd bc\ -21 a1 2e c9 b6 b5 b8 fd 2f 10 39 9e b6 -Seed: # not used yet\ -8e c9 65 f1 34 a3 ec 99 31 e9 2a 1c a0 dc 81 69\ -d5 ea 70 5c -Ciphertext: \ -26 7b cd 11 8a ca b1 fc 8b a8 1c 85 d7 30 03 cb\ -86 10 fa 55 c1 d9 7d a8 d4 8a 7c 7f 06 89 6a 4d\ -b7 51 aa 28 42 55 b9 d3 6a d6 5f 37 65 3d 82 9f\ -1b 37 f9 7b 80 01 94 25 45 b2 fc 2c 55 a7 37 6c\ -a7 a1 be 4b 17 60 c8 e0 5a 33 e5 aa 25 26 b8 d9\ -8e 31 70 88 e7 83 4c 75 5b 2a 59 b1 26 31 a1 82\ -c0 5d 5d 43 ab 17 79 26 4f 84 56 f5 15 ce 57 df\ -df 51 2d 54 93 da b7 b7 33 8d c4 b7 d7 8d b9 c0\ -91 ac 3b af 53 7a 69 fc 7f 54 9d 97 9f 0e ff 9a\ -94 fd a4 16 9b d4 d1 d1 9a 69 c9 9e 33 c3 b5 54\ -90 d5 01 b3 9b 1e da e1 18 ff 67 93 a1 53 26 15\ -84 d3 a5 f3 9f 6e 68 2e 3d 17 c8 cd 12 61 fa 72 -Test: DecryptMatch -Comment: RSAES-OAEP Encryption Example 9.2 -Plaintext: \ -81 b9 06 60 50 15 a6 3a ab e4 2d df 11 e1 97 89\ -12 f5 40 4c 74 74 b2 6d ce 3e d4 82 bf 96 1e cc\ -81 8b f4 20 c5 46 59 -Seed: # not used yet\ -ec b1 b8 b2 5f a5 0c da b0 8e 56 04 28 67 f4 af\ -58 26 d1 6c -Ciphertext: \ -93 ac 9f 06 71 ec 29 ac bb 44 4e ff c1 a5 74 13\ -51 d6 0f db 0e 39 3f bf 75 4a cf 0d e4 97 61 a1\ -48 41 df 77 72 e9 bc 82 77 39 66 a1 58 4c 4d 72\ -ba ea 00 11 8f 83 f3 5c ca 6e 53 7c bd 4d 81 1f\ -55 83 b2 97 83 d8 a6 d9 4c d3 1b e7 0d 6f 52 6c\ -10 ff 09 c6 fa 7c e0 69 79 5a 3f cd 05 11 fd 5f\ -cb 56 4b cc 80 ea 9c 78 f3 8b 80 01 25 39 d8 a4\ -dd f6 fe 81 e9 cd db 7f 50 db bb bc c7 e5 d8 60\ -97 cc f4 ec 49 18 9f b8 bf 31 8b e6 d5 a0 71 5d\ -51 6b 49 af 19 12 58 cd 32 dc 83 3c e6 eb 46 73\ -c0 3a 19 bb ac e8 8c c5 48 95 f6 36 cc 0c 1e c8\ -90 96 d1 1c e2 35 a2 65 ca 17 64 23 2a 68 9a e8 -Test: DecryptMatch -Comment: RSAES-OAEP Encryption Example 9.3 -Plaintext: \ -fd 32 64 29 df 9b 89 0e 09 b5 4b 18 b8 f3 4f 1e\ -24 -Seed: # not used yet\ -e8 9b b0 32 c6 ce 62 2c bd b5 3b c9 46 60 14 ea\ -77 f7 77 c0 -Ciphertext: \ -81 eb dd 95 05 4b 0c 82 2e f9 ad 76 93 f5 a8 7a\ -df b4 b4 c4 ce 70 df 2d f8 4e d4 9c 04 da 58 ba\ -5f c2 0a 19 e1 a6 e8 b7 a3 90 0b 22 79 6d c4 e8\ -69 ee 6b 42 79 2d 15 a8 ec eb 56 c0 9c 69 91 4e\ -81 3c ea 8f 69 31 e4 b8 ed 6f 42 1a f2 98 d5 95\ -c9 7f 47 89 c7 ca a6 12 c7 ef 36 09 84 c2 1b 93\ -ed c5 40 10 68 b5 af 4c 78 a8 77 1b 98 4d 53 b8\ -ea 8a df 2f 6a 7d 4a 0b a7 6c 75 e1 dd 9f 65 8f\ -20 de d4 a4 60 71 d4 6d 77 91 b5 68 03 d8 fe a7\ -f0 b0 f8 e4 1a e3 f0 93 83 a6 f9 58 5f e7 75 3e\ -aa ff d2 bf 94 56 31 08 be ec c2 07 bb b5 35 f5\ -fc c7 05 f0 dd e9 f7 08 c6 2f 49 a9 c9 03 71 d3 -Test: DecryptMatch -Comment: RSAES-OAEP Encryption Example 9.4 -Plaintext: \ -f1 45 9b 5f 0c 92 f0 1a 0f 72 3a 2e 56 62 48 4d\ -8f 8c 0a 20 fc 29 da d6 ac d4 3b b5 f3 ef fd f4\ -e1 b6 3e 07 fd fe 66 28 d0 d7 4c a1 9b f2 d6 9e\ -4a 0a bf 86 d2 93 92 5a 79 67 72 f8 08 8e -Seed: # not used yet\ -60 6f 3b 99 c0 b9 cc d7 71 ea a2 9e a0 e4 c8 84\ -f3 18 9c cc -Ciphertext: \ -bc c3 5f 94 cd e6 6c b1 13 66 25 d6 25 b9 44 32\ -a3 5b 22 f3 d2 fa 11 a6 13 ff 0f ca 5b d5 7f 87\ -b9 02 cc dc 1c d0 ae bc b0 71 5e e8 69 d1 d1 fe\ -39 5f 67 93 00 3f 5e ca 46 50 59 c8 86 60 d4 46\ -ff 5f 08 18 55 20 22 55 7e 38 c0 8a 67 ea d9 91\ -26 22 54 f1 06 82 97 5e c5 63 97 76 85 37 f4 97\ -7a f6 d5 f6 aa ce b7 fb 25 de c5 93 72 30 23 1f\ -d8 97 8a f4 91 19 a2 9f 29 e4 24 ab 82 72 b4 75\ -62 79 2d 5c 94 f7 74 b8 82 9d 0b 0d 9f 1a 8c 9e\ -dd f3 75 74 d5 fa 24 8e ef a9 c5 27 1f c5 ec 25\ -79 c8 1b dd 61 b4 10 fa 61 fe 36 e4 24 22 1c 11\ -3a dd b2 75 66 4c 80 1d 34 ca 8c 63 51 e4 a8 58 -Test: DecryptMatch -Comment: RSAES-OAEP Encryption Example 9.5 -Plaintext: \ -53 e6 e8 c7 29 d6 f9 c3 19 dd 31 7e 74 b0 db 8e\ -4c cc a2 5f 3c 83 05 74 6e 13 7a c6 3a 63 ef 37\ -39 e7 b5 95 ab b9 6e 8d 55 e5 4f 7b d4 1a b4 33\ -37 8f fb 91 1d -Seed: # not used yet\ -fc bc 42 14 02 e9 ec ab c6 08 2a fa 40 ba 5f 26\ -52 2c 84 0e -Ciphertext: \ -23 2a fb c9 27 fa 08 c2 f6 a2 7b 87 d4 a5 cb 09\ -c0 7d c2 6f ae 73 d7 3a 90 55 88 39 f4 fd 66 d2\ -81 b8 7e c7 34 bc e2 37 ba 16 66 98 ed 82 91 06\ -a7 de 69 42 cd 6c dc e7 8f ed 8d 2e 4d 81 42 8e\ -66 49 0d 03 62 64 ce f9 2a f9 41 d3 e3 50 55 fe\ -39 81 e1 4d 29 cb b9 a4 f6 74 73 06 3b ae c7 9a\ -11 79 f5 a1 7c 9c 18 32 f2 83 8f d7 d5 e5 9b b9\ -65 9d 56 dc e8 a0 19 ed ef 1b b3 ac cc 69 7c c6\ -cc 7a 77 8f 60 a0 64 c7 f6 f5 d5 29 c6 21 02 62\ -e0 03 de 58 3e 81 e3 16 7b 89 97 1f b8 c0 e1 5d\ -44 ff fe f8 9b 53 d8 d6 4d d7 97 d1 59 b5 6d 2b\ -08 ea 53 07 ea 12 c2 41 bd 58 d4 ee 27 8a 1f 2e -Test: DecryptMatch -Comment: RSAES-OAEP Encryption Example 9.6 -Plaintext: \ -b6 b2 8e a2 19 8d 0c 10 08 bc 64 -Seed: # not used yet\ -23 aa de 0e 1e 08 bb 9b 9a 78 d2 30 2a 52 f9 c2\ -1b 2e 1b a2 -Ciphertext: \ -43 8c c7 dc 08 a6 8d a2 49 e4 25 05 f8 57 3b a6\ -0e 2c 27 73 d5 b2 90 f4 cf 9d ff 71 8e 84 20 81\ -c3 83 e6 70 24 a0 f2 95 94 ea 98 7b 9d 25 e4 b7\ -38 f2 85 97 0d 19 5a bb 3a 8c 80 54 e3 d7 9d 6b\ -9c 9a 83 27 ba 59 6f 12 59 e2 71 26 67 47 66 90\ -7d 8d 58 2f f3 a8 47 61 54 92 9a db 1e 6d 12 35\ -b2 cc b4 ec 8f 66 3b a9 cc 67 0a 92 be bd 85 3c\ -8d bf 69 c6 43 6d 01 6f 61 ad d8 36 e9 47 32 45\ -04 34 20 7f 9f d4 c4 3d ec 2a 12 a9 58 ef a0 1e\ -fe 26 69 89 9b 5e 60 4c 25 5c 55 fb 71 66 de 55\ -89 e3 69 59 7b b0 91 68 c0 6d d5 db 17 7e 06 a1\ -74 0e b2 d5 c8 2f ae ca 6d 92 fc ee 99 31 ba 9f -Test: DecryptMatch - -AlgorithmType: AsymmetricCipher -Name: RSA/OAEP-MGF1(SHA-1) -Source: http://www.rsasecurity.com/rsalabs/pkcs/pkcs-1/, PKCS #1 test vectors -KeyFormat: Component -Comment: Example 10: A 2048-bit RSA Key Pair -Modulus: \ -ae 45 ed 56 01 ce c6 b8 cc 05 f8 03 93 5c 67 4d\ -db e0 d7 5c 4c 09 fd 79 51 fc 6b 0c ae c3 13 a8\ -df 39 97 0c 51 8b ff ba 5e d6 8f 3f 0d 7f 22 a4\ -02 9d 41 3f 1a e0 7e 4e be 9e 41 77 ce 23 e7 f5\ -40 4b 56 9e 4e e1 bd cf 3c 1f b0 3e f1 13 80 2d\ -4f 85 5e b9 b5 13 4b 5a 7c 80 85 ad ca e6 fa 2f\ -a1 41 7e c3 76 3b e1 71 b0 c6 2b 76 0e de 23 c1\ -2a d9 2b 98 08 84 c6 41 f5 a8 fa c2 6b da d4 a0\ -33 81 a2 2f e1 b7 54 88 50 94 c8 25 06 d4 01 9a\ -53 5a 28 6a fe b2 71 bb 9b a5 92 de 18 dc f6 00\ -c2 ae ea e5 6e 02 f7 cf 79 fc 14 cf 3b dc 7c d8\ -4f eb bb f9 50 ca 90 30 4b 22 19 a7 aa 06 3a ef\ -a2 c3 c1 98 0e 56 0c d6 4a fe 77 95 85 b6 10 76\ -57 b9 57 85 7e fd e6 01 09 88 ab 7d e4 17 fc 88\ -d8 f3 84 c4 e6 e7 2c 3f 94 3e 0c 31 c0 c4 a5 cc\ -36 f8 79 d8 a3 ac 9d 7d 59 86 0e aa da 6b 83 bb -PublicExponent: \ -01 00 01 -PrivateExponent: \ -05 6b 04 21 6f e5 f3 54 ac 77 25 0a 4b 6b 0c 85\ -25 a8 5c 59 b0 bd 80 c5 64 50 a2 2d 5f 43 8e 59\ -6a 33 3a a8 75 e2 91 dd 43 f4 8c b8 8b 9d 5f c0\ -d4 99 f9 fc d1 c3 97 f9 af c0 70 cd 9e 39 8c 8d\ -19 e6 1d b7 c7 41 0a 6b 26 75 df bf 5d 34 5b 80\ -4d 20 1a dd 50 2d 5c e2 df cb 09 1c e9 99 7b be\ -be 57 30 6f 38 3e 4d 58 81 03 f0 36 f7 e8 5d 19\ -34 d1 52 a3 23 e4 a8 db 45 1d 6f 4a 5b 1b 0f 10\ -2c c1 50 e0 2f ee e2 b8 8d ea 4a d4 c1 ba cc b2\ -4d 84 07 2d 14 e1 d2 4a 67 71 f7 40 8e e3 05 64\ -fb 86 d4 39 3a 34 bc f0 b7 88 50 1d 19 33 03 f1\ -3a 22 84 b0 01 f0 f6 49 ea f7 93 28 d4 ac 5c 43\ -0a b4 41 49 20 a9 46 0e d1 b7 bc 40 ec 65 3e 87\ -6d 09 ab c5 09 ae 45 b5 25 19 01 16 a0 c2 61 01\ -84 82 98 50 9c 1c 3b f3 a4 83 e7 27 40 54 e1 5e\ -97 07 50 36 e9 89 f6 09 32 80 7b 52 57 75 1e 79 -Prime1: \ -ec f5 ae cd 1e 55 15 ff fa cb d7 5a 28 16 c6 eb\ -f4 90 18 cd fb 46 38 e1 85 d6 6a 73 96 b6 f8 09\ -0f 80 18 c7 fd 95 cc 34 b8 57 dc 17 f0 cc 65 16\ -bb 13 46 ab 4d 58 2c ad ad 7b 41 03 35 23 87 b7\ -03 38 d0 84 04 7c 9d 95 39 b6 49 62 04 b3 dd 6e\ -a4 42 49 92 07 be c0 1f 96 42 87 ff 63 36 c3 98\ -46 58 33 68 46 f5 6e 46 86 18 81 c1 02 33 d2 17\ -6b f1 5a 5e 96 dd c7 80 bc 86 8a a7 7d 3c e7 69 -Prime2: \ -bc 46 c4 64 fc 6a c4 ca 78 3b 0e b0 8a 3c 84 1b\ -77 2f 7e 9b 2f 28 ba bd 58 8a e8 85 e1 a0 c6 1e\ -48 58 a0 fb 25 ac 29 99 90 f3 5b e8 51 64 c2 59\ -ba 11 75 cd d7 19 27 07 13 51 84 99 2b 6c 29 b7\ -46 dd 0d 2c ab e1 42 83 5f 7d 14 8c c1 61 52 4b\ -4a 09 94 6d 48 b8 28 47 3f 1c e7 6b 6c b6 88 6c\ -34 5c 03 e0 5f 41 d5 1b 5c 3a 90 a3 f2 40 73 c7\ -d7 4a 4f e2 5d 9c f2 1c 75 96 0f 3f c3 86 31 83 -ModPrime1PrivateExponent: \ -c7 35 64 57 1d 00 fb 15 d0 8a 3d e9 95 7a 50 91\ -5d 71 26 e9 44 2d ac f4 2b c8 2e 86 2e 56 73 ff\ -6a 00 8e d4 d2 e3 74 61 7d f8 9f 17 a1 60 b4 3b\ -7f da 9c b6 b6 b7 42 18 60 98 15 f7 d4 5c a2 63\ -c1 59 aa 32 d2 72 d1 27 fa f4 bc 8c a2 d7 73 78\ -e8 ae b1 9b 0a d7 da 3c b3 de 0a e7 31 49 80 f6\ -2b 6d 4b 0a 87 5d 1d f0 3c 1b ae 39 cc d8 33 ef\ -6c d7 e2 d9 52 8b f0 84 d1 f9 69 e7 94 e9 f6 c1 -ModPrime2PrivateExponent: \ -26 58 b3 7f 6d f9 c1 03 0b e1 db 68 11 7f a9 d8\ -7e 39 ea 2b 69 3b 7e 6d 3a 2f 70 94 74 13 ee c6\ -14 2e 18 fb 8d fc b6 ac 54 5d 7c 86 a0 ad 48 f8\ -45 71 70 f0 ef b2 6b c4 81 26 c5 3e fd 1d 16 92\ -01 98 dc 2a 11 07 dc 28 2d b6 a8 0c d3 06 23 60\ -ba 3f a1 3f 70 e4 31 2f f1 a6 cd 6b 8f c4 cd 9c\ -5c 3d b1 7c 6d 6a 57 21 2f 73 ae 29 f6 19 32 7b\ -ad 59 b1 53 85 85 85 ba 4e 28 b6 0a 62 a4 5e 49 -MultiplicativeInverseOfPrime2ModPrime1: \ -6f 38 52 6b 39 25 08 55 34 ef 3e 41 5a 83 6e de\ -8b 86 15 8a 2c 7c bf ec cb 0b d8 34 30 4f ec 68\ -3b a8 d4 f4 79 c4 33 d4 34 16 e6 32 69 62 3c ea\ -10 07 76 d8 5a ff 40 1d 3f ff 61 0e e6 54 11 ce\ -3b 13 63 d6 3a 97 09 ee de 42 64 7c ea 56 14 93\ -d5 45 70 a8 79 c1 86 82 cd 97 71 0b 96 20 5e c3\ -11 17 d7 3b 5f 36 22 3f ad d6 e8 ba 90 dd 7c 0e\ -e6 1d 44 e1 63 25 1e 20 c7 f6 6e b3 05 11 7c b8 -Test: KeyPairValidAndConsistent -Comment: RSAES-OAEP Encryption Example 10.1 -Plaintext: \ -8b ba 6b f8 2a 6c 0f 86 d5 f1 75 6e 97 95 68 70\ -b0 89 53 b0 6b 4e b2 05 bc 16 94 ee -Seed: # not used yet\ -47 e1 ab 71 19 fe e5 6c 95 ee 5e aa d8 6f 40 d0\ -aa 63 bd 33 -Ciphertext: \ -53 ea 5d c0 8c d2 60 fb 3b 85 85 67 28 7f a9 15\ -52 c3 0b 2f eb fb a2 13 f0 ae 87 70 2d 06 8d 19\ -ba b0 7f e5 74 52 3d fb 42 13 9d 68 c3 c5 af ee\ -e0 bf e4 cb 79 69 cb f3 82 b8 04 d6 e6 13 96 14\ -4e 2d 0e 60 74 1f 89 93 c3 01 4b 58 b9 b1 95 7a\ -8b ab cd 23 af 85 4f 4c 35 6f b1 66 2a a7 2b fc\ -c7 e5 86 55 9d c4 28 0d 16 0c 12 67 85 a7 23 eb\ -ee be ff 71 f1 15 94 44 0a ae f8 7d 10 79 3a 87\ -74 a2 39 d4 a0 4c 87 fe 14 67 b9 da f8 52 08 ec\ -6c 72 55 79 4a 96 cc 29 14 2f 9a 8b d4 18 e3 c1\ -fd 67 34 4b 0c d0 82 9d f3 b2 be c6 02 53 19 62\ -93 c6 b3 4d 3f 75 d3 2f 21 3d d4 5c 62 73 d5 05\ -ad f4 cc ed 10 57 cb 75 8f c2 6a ee fa 44 12 55\ -ed 4e 64 c1 99 ee 07 5e 7f 16 64 61 82 fd b4 64\ -73 9b 68 ab 5d af f0 e6 3e 95 52 01 68 24 f0 54\ -bf 4d 3c 8c 90 a9 7b b6 b6 55 32 84 eb 42 9f cc -Test: DecryptMatch -Comment: RSAES-OAEP Encryption Example 10.2 -Plaintext: \ -e6 ad 18 1f 05 3b 58 a9 04 f2 45 75 10 37 3e 57 -Seed: # not used yet\ -6d 17 f5 b4 c1 ff ac 35 1d 19 5b f7 b0 9d 09 f0\ -9a 40 79 cf -Ciphertext: \ -a2 b1 a4 30 a9 d6 57 e2 fa 1c 2b b5 ed 43 ff b2\ -5c 05 a3 08 fe 90 93 c0 10 31 79 5f 58 74 40 01\ -10 82 8a e5 8f b9 b5 81 ce 9d dd d3 e5 49 ae 04\ -a0 98 54 59 bd e6 c6 26 59 4e 7b 05 dc 42 78 b2\ -a1 46 5c 13 68 40 88 23 c8 5e 96 dc 66 c3 a3 09\ -83 c6 39 66 4f c4 56 9a 37 fe 21 e5 a1 95 b5 77\ -6e ed 2d f8 d8 d3 61 af 68 6e 75 02 29 bb d6 63\ -f1 61 86 8a 50 61 5e 0c 33 7b ec 0c a3 5f ec 0b\ -b1 9c 36 eb 2e 0b bc c0 58 2f a1 d9 3a ac db 06\ -10 63 f5 9f 2c e1 ee 43 60 5e 5d 89 ec a1 83 d2\ -ac df e9 f8 10 11 02 2a d3 b4 3a 3d d4 17 da c9\ -4b 4e 11 ea 81 b1 92 96 6e 96 6b 18 20 82 e7 19\ -64 60 7b 4f 80 02 f3 62 99 84 4a 11 f2 ae 0f ae\ -ac 2e ae 70 f8 f4 f9 80 88 ac dc d0 ac 55 6e 9f\ -cc c5 11 52 19 08 fa d2 6f 04 c6 42 01 45 03 05\ -77 87 58 b0 53 8b f8 b5 bb 14 4a 82 8e 62 97 95 -Test: DecryptMatch -Comment: RSAES-OAEP Encryption Example 10.3 -Plaintext: \ -51 0a 2c f6 0e 86 6f a2 34 05 53 c9 4e a3 9f bc\ -25 63 11 e8 3e 94 45 4b 41 24 -Seed: # not used yet\ -38 53 87 51 4d ec cc 7c 74 0d d8 cd f9 da ee 49\ -a1 cb fd 54 -Ciphertext: \ -98 86 c3 e6 76 4a 8b 9a 84 e8 41 48 eb d8 c3 b1\ -aa 80 50 38 1a 78 f6 68 71 4c 16 d9 cf d2 a6 ed\ -c5 69 79 c5 35 d9 de e3 b4 4b 85 c1 8b e8 92 89\ -92 37 17 11 47 22 16 d9 5d da 98 d2 ee 83 47 c9\ -b1 4d ff df f8 4a a4 8d 25 ac 06 f7 d7 e6 53 98\ -ac 96 7b 1c e9 09 25 f6 7d ce 04 9b 7f 81 2d b0\ -74 29 97 a7 4d 44 fe 81 db e0 e7 a3 fe af 2e 5c\ -40 af 88 8d 55 0d db be 3b c2 06 57 a2 95 43 f8\ -fc 29 13 b9 bd 1a 61 b2 ab 22 56 ec 40 9b bd 7d\ -c0 d1 77 17 ea 25 c4 3f 42 ed 27 df 87 38 bf 4a\ -fc 67 66 ff 7a ff 08 59 55 5e e2 83 92 0f 4c 8a\ -63 c4 a7 34 0c ba fd dc 33 9e cd b4 b0 51 50 02\ -f9 6c 93 2b 5b 79 16 7a f6 99 c0 ad 3f cc fd f0\ -f4 4e 85 a7 02 62 bf 2e 18 fe 34 b8 50 58 99 75\ -e8 67 ff 96 9d 48 ea bf 21 22 71 54 6c dc 05 a6\ -9e cb 52 6e 52 87 0c 83 6f 30 7b d7 98 78 0e de -Test: DecryptMatch -Comment: RSAES-OAEP Encryption Example 10.4 -Plaintext: \ -bc dd 19 0d a3 b7 d3 00 df 9a 06 e2 2c aa e2 a7\ -5f 10 c9 1f f6 67 b7 c1 6b de 8b 53 06 4a 26 49\ -a9 40 45 c9 -Seed: # not used yet\ -5c ac a6 a0 f7 64 16 1a 96 84 f8 5d 92 b6 e0 ef\ -37 ca 8b 65 -Ciphertext: \ -63 18 e9 fb 5c 0d 05 e5 30 7e 16 83 43 6e 90 32\ -93 ac 46 42 35 8a aa 22 3d 71 63 01 3a ba 87 e2\ -df da 8e 60 c6 86 0e 29 a1 e9 26 86 16 3e a0 b9\ -17 5f 32 9c a3 b1 31 a1 ed d3 a7 77 59 a8 b9 7b\ -ad 6a 4f 8f 43 96 f2 8c f6 f3 9c a5 81 12 e4 81\ -60 d6 e2 03 da a5 85 6f 3a ca 5f fe d5 77 af 49\ -94 08 e3 df d2 33 e3 e6 04 db e3 4a 9c 4c 90 82\ -de 65 52 7c ac 63 31 d2 9d c8 0e 05 08 a0 fa 71\ -22 e7 f3 29 f6 cc a5 cf a3 4d 4d 1d a4 17 80 54\ -57 e0 08 be c5 49 e4 78 ff 9e 12 a7 63 c4 77 d1\ -5b bb 78 f5 b6 9b d5 78 30 fc 2c 4e d6 86 d7 9b\ -c7 2a 95 d8 5f 88 13 4c 6b 0a fe 56 a8 cc fb c8\ -55 82 8b b3 39 bd 17 90 9c f1 d7 0d e3 33 5a e0\ -70 39 09 3e 60 6d 65 53 65 de 65 50 b8 72 cd 6d\ -e1 d4 40 ee 03 1b 61 94 5f 62 9a d8 a3 53 b0 d4\ -09 39 e9 6a 3c 45 0d 2a 8d 5e ee 9f 67 80 93 c8 -Test: DecryptMatch -Comment: RSAES-OAEP Encryption Example 10.5 -Plaintext: \ -a7 dd 6c 7d c2 4b 46 f9 dd 5f 1e 91 ad a4 c3 b3\ -df 94 7e 87 72 32 a9 -Seed: # not used yet\ -95 bc a9 e3 85 98 94 b3 dd 86 9f a7 ec d5 bb c6\ -40 1b f3 e4 -Ciphertext: \ -75 29 08 72 cc fd 4a 45 05 66 0d 65 1f 56 da 6d\ -aa 09 ca 13 01 d8 90 63 2f 6a 99 2f 3d 56 5c ee\ -46 4a fd ed 40 ed 3b 5b e9 35 67 14 ea 5a a7 65\ -5f 4a 13 66 c2 f1 7c 72 8f 6f 2c 5a 5d 1f 8e 28\ -42 9b c4 e6 f8 f2 cf f8 da 8d c0 e0 a9 80 8e 45\ -fd 09 ea 2f a4 0c b2 b6 ce 6f ff f5 c0 e1 59 d1\ -1b 68 d9 0a 85 f7 b8 4e 10 3b 09 e6 82 66 64 80\ -c6 57 50 5c 09 29 25 94 68 a3 14 78 6d 74 ea b1\ -31 57 3c f2 34 bf 57 db 7d 9e 66 cc 67 48 19 2e\ -00 2d c0 de ea 93 05 85 f0 83 1f dc d9 bc 33 d5\ -1f 79 ed 2f fc 16 bc f4 d5 98 12 fc eb ca a3 f9\ -06 9b 0e 44 56 86 d6 44 c2 5c cf 63 b4 56 ee 5f\ -a6 ff e9 6f 19 cd f7 51 fe d9 ea f3 59 57 75 4d\ -bf 4b fe a5 21 6a a1 84 4d c5 07 cb 2d 08 0e 72\ -2e ba 15 03 08 c2 b5 ff 11 93 62 0f 17 66 ec f4\ -48 1b af b9 43 bd 29 28 77 f2 13 6c a4 94 ab a0 -Test: DecryptMatch -Comment: RSAES-OAEP Encryption Example 10.6 -Plaintext: \ -ea f1 a7 3a 1b 0c 46 09 53 7d e6 9c d9 22 8b bc\ -fb 9a 8c a8 c6 c3 ef af 05 6f e4 a7 f4 63 4e d0\ -0b 7c 39 ec 69 22 d7 b8 ea 2c 04 eb ac -Seed: # not used yet\ -9f 47 dd f4 2e 97 ee a8 56 a9 bd bc 71 4e b3 ac\ -22 f6 eb 32 -Ciphertext: \ -2d 20 7a 73 43 2a 8f b4 c0 30 51 b3 f7 3b 28 a6\ -17 64 09 8d fa 34 c4 7a 20 99 5f 81 15 aa 68 16\ -67 9b 55 7e 82 db ee 58 49 08 c6 e6 97 82 d7 de\ -b3 4d bd 65 af 06 3d 57 fc a7 6a 5f d0 69 49 2f\ -d6 06 8d 99 84 d2 09 35 05 65 a6 2e 5c 77 f2 30\ -38 c1 2c b1 0c 66 34 70 9b 54 7c 46 f6 b4 a7 09\ -bd 85 ca 12 2d 74 46 5e f9 77 62 c2 97 63 e0 6d\ -bc 7a 9e 73 8c 78 bf ca 01 02 dc 5e 79 d6 5b 97\ -3f 28 24 0c aa b2 e1 61 a7 8b 57 d2 62 45 7e d8\ -19 5d 53 e3 c7 ae 9d a0 21 88 3c 6d b7 c2 4a fd\ -d2 32 2e ac 97 2a d3 c3 54 c5 fc ef 1e 14 6c 3a\ -02 90 fb 67 ad f0 07 06 6e 00 42 8d 2c ec 18 ce\ -58 f9 32 86 98 de fe f4 b2 eb 5e c7 69 18 fd e1\ -c1 98 cb b3 8b 7a fc 67 62 6a 9a ef ec 43 22 bf\ -d9 0d 25 63 48 1c 9a 22 1f 78 c8 27 2c 82 d1 b6\ -2a b9 14 e1 c6 9f 6a f6 ef 30 ca 52 60 db 4a 46 -Test: DecryptMatch +AlgorithmType: AsymmetricCipher +Name: RSA/OAEP-MGF1(SHA-1) +Source: http://www.rsasecurity.com/rsalabs/pkcs/pkcs-1/, PKCS #1 test vectors +KeyFormat: Component +Comment: Example 1: A 1024-bit RSA Key Pair +Modulus: \ +a8 b3 b2 84 af 8e b5 0b 38 70 34 a8 60 f1 46 c4 \ +91 9f 31 87 63 cd 6c 55 98 c8 ae 48 11 a1 e0 ab \ +c4 c7 e0 b0 82 d6 93 a5 e7 fc ed 67 5c f4 66 85 \ +12 77 2c 0c bc 64 a7 42 c6 c6 30 f5 33 c8 cc 72 \ +f6 2a e8 33 c4 0b f2 58 42 e9 84 bb 78 bd bf 97 \ +c0 10 7d 55 bd b6 62 f5 c4 e0 fa b9 84 5c b5 14 \ +8e f7 39 2d d3 aa ff 93 ae 1e 6b 66 7b b3 d4 24 \ +76 16 d4 f5 ba 10 d4 cf d2 26 de 88 d3 9f 16 fb +PublicExponent: 01 00 01 +PrivateExponent: \ +53 33 9c fd b7 9f c8 46 6a 65 5c 73 16 ac a8 5c \ +55 fd 8f 6d d8 98 fd af 11 95 17 ef 4f 52 e8 fd \ +8e 25 8d f9 3f ee 18 0f a0 e4 ab 29 69 3c d8 3b \ +15 2a 55 3d 4a c4 d1 81 2b 8b 9f a5 af 0e 7f 55 \ +fe 73 04 df 41 57 09 26 f3 31 1f 15 c4 d6 5a 73 \ +2c 48 31 16 ee 3d 3d 2d 0a f3 54 9a d9 bf 7c bf \ +b7 8a d8 84 f8 4d 5b eb 04 72 4d c7 36 9b 31 de \ +f3 7d 0c f5 39 e9 cf cd d3 de 65 37 29 ea d5 d1 +Prime1: \ +d3 27 37 e7 26 7f fe 13 41 b2 d5 c0 d1 50 a8 1b \ +58 6f b3 13 2b ed 2f 8d 52 62 86 4a 9c b9 f3 0a \ +f3 8b e4 48 59 8d 41 3a 17 2e fb 80 2c 21 ac f1 \ +c1 1c 52 0c 2f 26 a4 71 dc ad 21 2e ac 7c a3 9d +Prime2: \ +cc 88 53 d1 d5 4d a6 30 fa c0 04 f4 71 f2 81 c7 \ +b8 98 2d 82 24 a4 90 ed be b3 3d 3e 3d 5c c9 3c \ +47 65 70 3d 1d d7 91 64 2f 1f 11 6a 0d d8 52 be \ +24 19 b2 af 72 bf e9 a0 30 e8 60 b0 28 8b 5d 77 +ModPrime1PrivateExponent: \ +0e 12 bf 17 18 e9 ce f5 59 9b a1 c3 88 2f e8 04 \ +6a 90 87 4e ef ce 8f 2c cc 20 e4 f2 74 1f b0 a3 \ +3a 38 48 ae c9 c9 30 5f be cb d2 d7 68 19 96 7d \ +46 71 ac c6 43 1e 40 37 96 8d b3 78 78 e6 95 c1 +ModPrime2PrivateExponent: \ +95 29 7b 0f 95 a2 fa 67 d0 07 07 d6 09 df d4 fc \ +05 c8 9d af c2 ef 6d 6e a5 5b ec 77 1e a3 33 73 \ +4d 92 51 e7 90 82 ec da 86 6e fe f1 3c 45 9e 1a \ +63 13 86 b7 e3 54 c8 99 f5 f1 12 ca 85 d7 15 83 +MultiplicativeInverseOfPrime2ModPrime1: \ +4f 45 6c 50 24 93 bd c0 ed 2a b7 56 a3 a6 ed 4d \ +67 35 2a 69 7d 42 16 e9 32 12 b1 27 a6 3d 54 11 \ +ce 6f a9 8d 5d be fd 73 26 3e 37 28 14 27 43 81 \ +81 66 ed 7d d6 36 87 dd 2a 8c a1 d2 f4 fb d8 e1 +Test: KeyPairValidAndConsistent +Comment: RSAES-OAEP Encryption Example 1.1 +Plaintext: \ +66 28 19 4e 12 07 3d b0 3b a9 4c da 9e f9 53 23 \ +97 d5 0d ba 79 b9 87 00 4a fe fe 34 +Seed: # not used yet\ +18 b7 76 ea 21 06 9d 69 77 6a 33 e9 6b ad 48 e1 \ +dd a0 a5 ef +Ciphertext: \ +35 4f e6 7b 4a 12 6d 5d 35 fe 36 c7 77 79 1a 3f \ +7b a1 3d ef 48 4e 2d 39 08 af f7 22 fa d4 68 fb \ +21 69 6d e9 5d 0b e9 11 c2 d3 17 4f 8a fc c2 01 \ +03 5f 7b 6d 8e 69 40 2d e5 45 16 18 c2 1a 53 5f \ +a9 d7 bf c5 b8 dd 9f c2 43 f8 cf 92 7d b3 13 22 \ +d6 e8 81 ea a9 1a 99 61 70 e6 57 a0 5a 26 64 26 \ +d9 8c 88 00 3f 84 77 c1 22 70 94 a0 d9 fa 1e 8c \ +40 24 30 9c e1 ec cc b5 21 00 35 d4 7a c7 2e 8a +Test: DecryptMatch +Comment: RSAES-OAEP Encryption Example 1.2 +Plaintext: \ +75 0c 40 47 f5 47 e8 e4 14 11 85 65 23 29 8a c9\ +ba e2 45 ef af 13 97 fb e5 6f 9d d5 +Seed: # not used yet\ +0c c7 42 ce 4a 9b 7f 32 f9 51 bc b2 51 ef d9 25\ +fe 4f e3 5f +Ciphertext: \ +64 0d b1 ac c5 8e 05 68 fe 54 07 e5 f9 b7 01 df\ +f8 c3 c9 1e 71 6c 53 6f c7 fc ec 6c b5 b7 1c 11\ +65 98 8d 4a 27 9e 15 77 d7 30 fc 7a 29 93 2e 3f\ +00 c8 15 15 23 6d 8d 8e 31 01 7a 7a 09 df 43 52\ +d9 04 cd eb 79 aa 58 3a dc c3 1e a6 98 a4 c0 52\ +83 da ba 90 89 be 54 91 f6 7c 1a 4e e4 8d c7 4b\ +bb e6 64 3a ef 84 66 79 b4 cb 39 5a 35 2d 5e d1\ +15 91 2d f6 96 ff e0 70 29 32 94 6d 71 49 2b 44 +Test: DecryptMatch +Comment: RSAES-OAEP Encryption Example 1.3 +Plaintext: \ +d9 4a e0 83 2e 64 45 ce 42 33 1c b0 6d 53 1a 82\ +b1 db 4b aa d3 0f 74 6d c9 16 df 24 d4 e3 c2 45\ +1f ff 59 a6 42 3e b0 e1 d0 2d 4f e6 46 cf 69 9d\ +fd 81 8c 6e 97 b0 51 +Seed: # not used yet\ +25 14 df 46 95 75 5a 67 b2 88 ea f4 90 5c 36 ee\ +c6 6f d2 fd +Ciphertext: \ +42 37 36 ed 03 5f 60 26 af 27 6c 35 c0 b3 74 1b\ +36 5e 5f 76 ca 09 1b 4e 8c 29 e2 f0 be fe e6 03\ +59 5a a8 32 2d 60 2d 2e 62 5e 95 eb 81 b2 f1 c9\ +72 4e 82 2e ca 76 db 86 18 cf 09 c5 34 35 03 a4\ +36 08 35 b5 90 3b c6 37 e3 87 9f b0 5e 0e f3 26\ +85 d5 ae c5 06 7c d7 cc 96 fe 4b 26 70 b6 ea c3\ +06 6b 1f cf 56 86 b6 85 89 aa fb 7d 62 9b 02 d8\ +f8 62 5c a3 83 36 24 d4 80 0f b0 81 b1 cf 94 eb +Test: DecryptMatch +Comment: RSAES-OAEP Encryption Example 1.4 +Plaintext: \ +52 e6 50 d9 8e 7f 2a 04 8b 4f 86 85 21 53 b9 7e\ +01 dd 31 6f 34 6a 19 f6 7a 85 +Seed: # not used yet\ +c4 43 5a 3e 1a 18 a6 8b 68 20 43 62 90 a3 7c ef\ +b8 5d b3 fb +Ciphertext: \ +45 ea d4 ca 55 1e 66 2c 98 00 f1 ac a8 28 3b 05\ +25 e6 ab ae 30 be 4b 4a ba 76 2f a4 0f d3 d3 8e\ +22 ab ef c6 97 94 f6 eb bb c0 5d db b1 12 16 24\ +7d 2f 41 2f d0 fb a8 7c 6e 3a cd 88 88 13 64 6f\ +d0 e4 8e 78 52 04 f9 c3 f7 3d 6d 82 39 56 27 22\ +dd dd 87 71 fe c4 8b 83 a3 1e e6 f5 92 c4 cf d4\ +bc 88 17 4f 3b 13 a1 12 aa e3 b9 f7 b8 0e 0f c6\ +f7 25 5b a8 80 dc 7d 80 21 e2 2a d6 a8 5f 07 55 +Test: DecryptMatch +Comment: RSAES-OAEP Encryption Example 1.5 +Plaintext: \ +8d a8 9f d9 e5 f9 74 a2 9f ef fb 46 2b 49 18 0f\ +6c f9 e8 02 +Seed: # not used yet\ +b3 18 c4 2d f3 be 0f 83 fe a8 23 f5 a7 b4 7e d5\ +e4 25 a3 b5 +Ciphertext: \ +36 f6 e3 4d 94 a8 d3 4d aa cb a3 3a 21 39 d0 0a\ +d8 5a 93 45 a8 60 51 e7 30 71 62 00 56 b9 20 e2\ +19 00 58 55 a2 13 a0 f2 38 97 cd cd 73 1b 45 25\ +7c 77 7f e9 08 20 2b ef dd 0b 58 38 6b 12 44 ea\ +0c f5 39 a0 5d 5d 10 32 9d a4 4e 13 03 0f d7 60\ +dc d6 44 cf ef 20 94 d1 91 0d 3f 43 3e 1c 7c 6d\ +d1 8b c1 f2 df 7f 64 3d 66 2f b9 dd 37 ea d9 05\ +91 90 f4 fa 66 ca 39 e8 69 c4 eb 44 9c bd c4 39 +Test: DecryptMatch +Comment: RSAES-OAEP Encryption Example 1.6 +Plaintext: \ +26 52 10 50 84 42 71 +Seed: # not used yet\ +e4 ec 09 82 c2 33 6f 3a 67 7f 6a 35 61 74 eb 0c\ +e8 87 ab c2 +Ciphertext: \ +42 ce e2 61 7b 1e ce a4 db 3f 48 29 38 6f bd 61\ +da fb f0 38 e1 80 d8 37 c9 63 66 df 24 c0 97 b4\ +ab 0f ac 6b df 59 0d 82 1c 9f 10 64 2e 68 1a d0\ +5b 8d 78 b3 78 c0 f4 6c e2 fa d6 3f 74 e0 ad 3d\ +f0 6b 07 5d 7e b5 f5 63 6f 8d 40 3b 90 59 ca 76\ +1b 5c 62 bb 52 aa 45 00 2e a7 0b aa ce 08 de d2\ +43 b9 d8 cb d6 2a 68 ad e2 65 83 2b 56 56 4e 43\ +a6 fa 42 ed 19 9a 09 97 69 74 2d f1 53 9e 82 55 +Test: DecryptMatch + +AlgorithmType: AsymmetricCipher +Name: RSA/OAEP-MGF1(SHA-1) +Source: http://www.rsasecurity.com/rsalabs/pkcs/pkcs-1/, PKCS #1 test vectors +KeyFormat: Component +Comment: Example 2: A 1025-bit RSA Key Pair +Modulus: \ +01 94 7c 7f ce 90 42 5f 47 27 9e 70 85 1f 25 d5\ +e6 23 16 fe 8a 1d f1 93 71 e3 e6 28 e2 60 54 3e\ +49 01 ef 60 81 f6 8c 0b 81 41 19 0d 2a e8 da ba\ +7d 12 50 ec 6d b6 36 e9 44 ec 37 22 87 7c 7c 1d\ +0a 67 f1 4b 16 94 c5 f0 37 94 51 a4 3e 49 a3 2d\ +de 83 67 0b 73 da 91 a1 c9 9b c2 3b 43 6a 60 05\ +5c 61 0f 0b af 99 c1 a0 79 56 5b 95 a3 f1 52 66\ +32 d1 d4 da 60 f2 0e da 25 e6 53 c4 f0 02 76 6f\ +45 +PublicExponent: \ +01 00 01 +PrivateExponent: \ +08 23 f2 0f ad b5 da 89 08 8a 9d 00 89 3e 21 fa\ +4a 1b 11 fb c9 3c 64 a3 be 0b aa ea 97 fb 3b 93\ +c3 ff 71 37 04 c1 9c 96 3c 1d 10 7a ae 99 05 47\ +39 f7 9e 02 e1 86 de 86 f8 7a 6d de fe a6 d8 cc\ +d1 d3 c8 1a 47 bf a7 25 5b e2 06 01 a4 a4 b2 f0\ +8a 16 7b 5e 27 9d 71 5b 1b 45 5b dd 7e ab 24 59\ +41 d9 76 8b 9a ce fb 3c cd a5 95 2d a3 ce e7 25\ +25 b4 50 16 63 a8 ee 15 c9 e9 92 d9 24 62 fe 39 +Prime1: \ +01 59 db de 04 a3 3e f0 6f b6 08 b8 0b 19 0f 4d\ +3e 22 bc c1 3a c8 e4 a0 81 03 3a bf a4 16 ed b0\ +b3 38 aa 08 b5 73 09 ea 5a 52 40 e7 dc 6e 54 37\ +8c 69 41 4c 31 d9 7d db 1f 40 6d b3 76 9c c4 1a\ +43 +Prime2: \ +01 2b 65 2f 30 40 3b 38 b4 09 95 fd 6f f4 1a 1a\ +cc 8a da 70 37 32 36 b7 20 2d 39 b2 ee 30 cf b4\ +6d b0 95 11 f6 f3 07 cc 61 cc 21 60 6c 18 a7 5b\ +8a 62 f8 22 df 03 1b a0 df 0d af d5 50 6f 56 8b\ +d7 +ModPrime1PrivateExponent: \ +43 6e f5 08 de 73 65 19 c2 da 4c 58 0d 98 c8 2c\ +b7 45 2a 3f b5 ef ad c3 b9 c7 78 9a 1b c6 58 4f\ +79 5a dd bb d3 24 39 c7 46 86 55 2e cb 6c 2c 30\ +7a 4d 3a f7 f5 39 ee c1 57 24 8c 7b 31 f1 a2 55 +ModPrime2PrivateExponent: \ +01 2b 15 a8 9f 3d fb 2b 39 07 3e 73 f0 2b dd 0c\ +1a 7b 37 9d d4 35 f0 5c dd e2 ef f9 e4 62 94 8b\ +7c ec 62 ee 90 50 d5 e0 81 6e 07 85 a8 56 b4 91\ +08 dc b7 5f 36 83 87 4d 1c a6 32 9a 19 01 30 66\ +ff +MultiplicativeInverseOfPrime2ModPrime1: \ +02 70 db 17 d5 91 4b 01 8d 76 11 8b 24 38 9a 73\ +50 ec 83 6b 00 63 a2 17 21 23 6f d8 ed b6 d8 9b\ +51 e7 ee b8 7b 61 1b 71 32 cb 7e a7 35 6c 23 15\ +1c 1e 77 51 50 7c 78 6d 9e e1 79 41 70 a8 c8 e8 +Test: KeyPairValidAndConsistent +Comment: RSAES-OAEP Encryption Example 2.1 +Plaintext: \ +8f f0 0c aa 60 5c 70 28 30 63 4d 9a 6c 3d 42 c6\ +52 b5 8c f1 d9 2f ec 57 0b ee e7 +Seed: # not used yet\ +8c 40 7b 5e c2 89 9e 50 99 c5 3e 8c e7 93 bf 94\ +e7 1b 17 82 +Ciphertext: \ +01 81 af 89 22 b9 fc b4 d7 9d 92 eb e1 98 15 99\ +2f c0 c1 43 9d 8b cd 49 13 98 a0 f4 ad 3a 32 9a\ +5b d9 38 55 60 db 53 26 83 c8 b7 da 04 e4 b1 2a\ +ed 6a ac df 47 1c 34 c9 cd a8 91 ad dc c2 df 34\ +56 65 3a a6 38 2e 9a e5 9b 54 45 52 57 eb 09 9d\ +56 2b be 10 45 3f 2b 6d 13 c5 9c 02 e1 0f 1f 8a\ +bb 5d a0 d0 57 09 32 da cf 2d 09 01 db 72 9d 0f\ +ef cc 05 4e 70 96 8e a5 40 c8 1b 04 bc ae fe 72\ +0e +Test: DecryptMatch +Comment: RSAES-OAEP Encryption Example 2.2 +Plaintext: \ +2d +Seed: # not used yet\ +b6 00 cf 3c 2e 50 6d 7f 16 77 8c 91 0d 3a 8b 00\ +3e ee 61 d5 +Ciphertext: \ +01 87 59 ff 1d f6 3b 27 92 41 05 62 31 44 16 a8\ +ae af 2a c6 34 b4 6f 94 0a b8 2d 64 db f1 65 ee\ +e3 30 11 da 74 9d 4b ab 6e 2f cd 18 12 9c 9e 49\ +27 7d 84 53 11 2b 42 9a 22 2a 84 71 b0 70 99 39\ +98 e7 58 86 1c 4d 3f 6d 74 9d 91 c4 29 0d 33 2c\ +7a 4a b3 f7 ea 35 ff 3a 07 d4 97 c9 55 ff 0f fc\ +95 00 6b 62 c6 d2 96 81 0d 9b fa b0 24 19 6c 79\ +34 01 2c 2d f9 78 ef 29 9a ba 23 99 40 cb a1 02\ +45 +Test: DecryptMatch +Comment: RSAES-OAEP Encryption Example 2.3 +Plaintext: \ +74 fc 88 c5 1b c9 0f 77 af 9d 5e 9a 4a 70 13 3d\ +4b 4e 0b 34 da 3c 37 c7 ef 8e +Seed: # not used yet\ +a7 37 68 ae ea a9 1f 9d 8c 1e d6 f9 d2 b6 34 67\ +f0 7c ca e3 +Ciphertext: \ +01 88 02 ba b0 4c 60 32 5e 81 c4 96 23 11 f2 be\ +7c 2a dc e9 30 41 a0 07 19 c8 8f 95 75 75 f2 c7\ +9f 1b 7b c8 ce d1 15 c7 06 b3 11 c0 8a 2d 98 6c\ +a3 b6 a9 33 6b 14 7c 29 c6 f2 29 40 9d de c6 51\ +bd 1f dd 5a 0b 7f 61 0c 99 37 fd b4 a3 a7 62 36\ +4b 8b 32 06 b4 ea 48 5f d0 98 d0 8f 63 d4 aa 8b\ +b2 69 7d 02 7b 75 0c 32 d7 f7 4e af 51 80 d2 e9\ +b6 6b 17 cb 2f a5 55 23 bc 28 0d a1 0d 14 be 20\ +53 +Test: DecryptMatch +Comment: RSAES-OAEP Encryption Example 2.4 +Plaintext: \ +a7 eb 2a 50 36 93 1d 27 d4 e8 91 32 6d 99 69 2f\ +fa dd a9 bf 7e fd 3e 34 e6 22 c4 ad c0 85 f7 21\ +df e8 85 07 2c 78 a2 03 b1 51 73 9b e5 40 fa 8c\ +15 3a 10 f0 0a +Seed: # not used yet\ +9a 7b 3b 0e 70 8b d9 6f 81 90 ec ab 4f b9 b2 b3\ +80 5a 81 56 +Ciphertext: \ +00 a4 57 8c bc 17 63 18 a6 38 fb a7 d0 1d f1 57\ +46 af 44 d4 f6 cd 96 d7 e7 c4 95 cb f4 25 b0 9c\ +64 9d 32 bf 88 6d a4 8f ba f9 89 a2 11 71 87 ca\ +fb 1f b5 80 31 76 90 e3 cc d4 46 92 0b 7a f8 2b\ +31 db 58 04 d8 7d 01 51 4a cb fa 91 56 e7 82 f8\ +67 f6 be d9 44 9e 0e 9a 2c 09 bc ec c6 aa 08 76\ +36 96 5e 34 b3 ec 76 6f 2f e2 e4 30 18 a2 fd de\ +b1 40 61 6a 0e 9d 82 e5 33 10 24 ee 06 52 fc 76\ +41 +Test: DecryptMatch +Comment: RSAES-OAEP Encryption Example 2.5 +Plaintext: \ +2e f2 b0 66 f8 54 c3 3f 3b dc bb 59 94 a4 35 e7\ +3d 6c 6c +Seed: # not used yet\ +eb 3c eb bc 4a dc 16 bb 48 e8 8c 8a ec 0e 34 af\ +7f 42 7f d3 +Ciphertext: \ +00 eb c5 f5 fd a7 7c fd ad 3c 83 64 1a 90 25 e7\ +7d 72 d8 a6 fb 33 a8 10 f5 95 0f 8d 74 c7 3e 8d\ +93 1e 86 34 d8 6a b1 24 62 56 ae 07 b6 00 5b 71\ +b7 f2 fb 98 35 12 18 33 1c e6 9b 8f fb dc 9d a0\ +8b bc 9c 70 4f 87 6d eb 9d f9 fc 2e c0 65 ca d8\ +7f 90 90 b0 7a cc 17 aa 7f 99 7b 27 ac a4 88 06\ +e8 97 f7 71 d9 51 41 fe 45 26 d8 a5 30 1b 67 86\ +27 ef ab 70 7f d4 0f be bd 6e 79 2a 25 61 3e 7a\ +ec +Test: DecryptMatch +Comment: RSAES-OAEP Encryption Example 2.6 +Plaintext: \ +8a 7f b3 44 c8 b6 cb 2c f2 ef 1f 64 3f 9a 32 18\ +f6 e1 9b ba 89 c0 +Seed: # not used yet\ +4c 45 cf 4d 57 c9 8e 3d 6d 20 95 ad c5 1c 48 9e\ +b5 0d ff 84 +Ciphertext: \ +01 08 39 ec 20 c2 7b 90 52 e5 5b ef b9 b7 7e 6f\ +c2 6e 90 75 d7 a5 43 78 c6 46 ab df 51 e4 45 bd\ +57 15 de 81 78 9f 56 f1 80 3d 91 70 76 4a 9e 93\ +cb 78 79 86 94 02 3e e7 39 3c e0 4b c5 d8 f8 c5\ +a5 2c 17 1d 43 83 7e 3a ca 62 f6 09 eb 0a a5 ff\ +b0 96 0e f0 41 98 dd 75 4f 57 f7 fb e6 ab f7 65\ +cf 11 8b 4c a4 43 b2 3b 5a ab 26 6f 95 23 26 ac\ +45 81 10 06 44 32 5f 8b 72 1a cd 5d 04 ff 14 ef\ +3a +Test: DecryptMatch + +AlgorithmType: AsymmetricCipher +Name: RSA/OAEP-MGF1(SHA-1) +Source: http://www.rsasecurity.com/rsalabs/pkcs/pkcs-1/, PKCS #1 test vectors +KeyFormat: Component +Comment: Example 3: A 1026-bit RSA Key Pair +Modulus: \ +02 b5 8f ec 03 9a 86 07 00 a4 d7 b6 46 2f 93 e6\ +cd d4 91 16 1d dd 74 f4 e8 10 b4 0e 3c 16 52 00\ +6a 5c 27 7b 27 74 c1 13 05 a4 cb ab 5a 78 ef a5\ +7e 17 a8 6d f7 a3 fa 36 fc 4b 1d 22 49 f2 2e c7\ +c2 dd 6a 46 32 32 ac ce a9 06 d6 6e be 80 b5 70\ +4b 10 72 9d a6 f8 33 23 4a bb 5e fd d4 a2 92 cb\ +fa d3 3b 4d 33 fa 7a 14 b8 c3 97 b5 6e 3a cd 21\ +20 34 28 b7 7c df a3 3a 6d a7 06 b3 d8 b0 fc 43\ +e9 +PublicExponent: \ +01 00 01 +PrivateExponent: \ +15 b4 8a 5b 56 83 a9 46 70 e2 3b 57 18 f8 14 fa\ +0e 13 f8 50 38 f5 07 11 18 2c ba 61 51 05 81 f3\ +d2 2c 7e 23 2e f9 37 e2 2e 55 1d 68 b8 6e 2f 8c\ +b1 aa d8 be 2e 48 8f 5d f7 ef d2 79 e3 f5 68 d4\ +ea f3 6f 80 cf 71 41 ac e6 0f cc 91 13 fb 6c 4a\ +84 1f d5 0b bc 7c 51 2f fc be ff 21 48 7a a8 11\ +eb 3c a8 c6 20 05 34 6a 86 de 86 bf a1 d8 a9 48\ +fd 3f 34 8c 22 ea ad f3 33 c3 ce 6c e1 32 08 fd +Prime1: \ +01 bf 01 d2 16 d7 35 95 cf 02 70 c2 be b7 8d 40\ +a0 d8 44 7d 31 da 91 9a 98 3f 7e ea 78 1b 77 d8\ +5f e3 71 b3 e9 37 3e 7b 69 21 7d 31 50 a0 2d 89\ +58 de 7f ad 9d 55 51 60 95 8b 44 54 12 7e 0e 7e\ +af +Prime2: \ +01 8d 33 99 65 81 66 db 38 29 81 6d 7b 29 54 16\ +75 9e 9c 91 98 7f 5b 2d 8a ec d6 3b 04 b4 8b d7\ +b2 fc f2 29 bb 7f 8a 6d c8 8b a1 3d d2 e3 9a d5\ +5b 6d 1a 06 16 07 08 f9 70 0b e8 0b 8f d3 74 4c\ +e7 +ModPrime1PrivateExponent: \ +06 c0 a2 49 d2 0a 6f 2e e7 5c 88 b4 94 d5 3f 6a\ +ae 99 aa 42 7c 88 c2 8b 16 3a 76 94 45 e5 f3 90\ +cf 40 c2 74 fd 6e a6 32 9a 5c e7 c7 ce 03 a2 15\ +83 96 ee 2a 78 45 78 6e 09 e2 88 5a 97 28 e4 e5 +ModPrime2PrivateExponent: \ +d1 d2 7c 29 fe dd 92 d8 6c 34 8e dd 0c cb fa c1\ +4f 74 6e 05 1c e1 d1 81 1d f3 5d 61 f2 ee 1c 97\ +d4 bf 28 04 80 2f 64 27 18 7b a8 e9 0a 8a f4 42\ +43 b4 07 9b 03 44 5e 60 2e 29 fa 51 93 e6 4f e9 +MultiplicativeInverseOfPrime2ModPrime1: \ +8c b2 f7 56 bd 89 41 b1 d3 b7 70 e5 ad 31 ee 37\ +3b 28 ac da 69 ff 9b 6f 40 fe 57 8b 9f 1a fb 85\ +83 6f 96 27 d3 7a cf f7 3c 27 79 e6 34 bb 26 01\ +1c 2c 8f 7f 33 61 ae 2a 9e a6 5e d6 89 e3 63 9a +Test: KeyPairValidAndConsistent +Comment: RSAES-OAEP Encryption Example 3.1 +Plaintext: \ +08 78 20 b5 69 e8 fa 8d +Seed: # not used yet\ +8c ed 6b 19 62 90 80 57 90 e9 09 07 40 15 e6 a2\ +0b 0c 48 94 +Ciphertext: \ +02 6a 04 85 d9 6a eb d9 6b 43 82 08 50 99 b9 62\ +e6 a2 bd ec 3d 90 c8 db 62 5e 14 37 2d e8 5e 2d\ +5b 7b aa b6 5c 8f af 91 bb 55 04 fb 49 5a fc e5\ +c9 88 b3 f6 a5 2e 20 e1 d6 cb d3 56 6c 5c d1 f2\ +b8 31 8b b5 42 cc 0e a2 5c 4a ab 99 32 af a2 07\ +60 ea dd ec 78 43 96 a0 7e a0 ef 24 d4 e6 f4 d3\ +7e 50 52 a7 a3 1e 14 6a a4 80 a1 11 bb e9 26 40\ +13 07 e0 0f 41 00 33 84 2b 6d 82 fe 5c e4 df ae\ +80 +Test: DecryptMatch +Comment: RSAES-OAEP Encryption Example 3.2 +Plaintext: \ +46 53 ac af 17 19 60 b0 1f 52 a7 be 63 a3 ab 21\ +dc 36 8e c4 3b 50 d8 2e c3 78 1e 04 +Seed: # not used yet\ +b4 29 1d 65 67 55 08 48 cc 15 69 67 c8 09 ba ab\ +6c a5 07 f0 +Ciphertext: \ +02 4d b8 9c 78 02 98 9b e0 78 38 47 86 30 84 94\ +1b f2 09 d7 61 98 7e 38 f9 7c b5 f6 f1 bc 88 da\ +72 a5 0b 73 eb af 11 c8 79 c4 f9 5d f3 7b 85 0b\ +8f 65 d7 62 2e 25 b1 b8 89 e8 0f e8 0b ac a2 06\ +9d 6e 0e 1d 82 99 53 fc 45 90 69 de 98 ea 97 98\ +b4 51 e5 57 e9 9a bf 8f e3 d9 cc f9 09 6e bb f3\ +e5 25 5d 3b 4e 1c 6d 2e ca df 06 7a 35 9e ea 86\ +40 5a cd 47 d5 e1 65 51 7c ca fd 47 d6 db ee 4b\ +f5 +Test: DecryptMatch +Comment: RSAES-OAEP Encryption Example 3.3 +Plaintext: \ +d9 4c d0 e0 8f a4 04 ed 89 +Seed: # not used yet\ +ce 89 28 f6 05 95 58 25 40 08 ba dd 97 94 fa dc\ +d2 fd 1f 65 +Ciphertext: \ +02 39 bc e6 81 03 24 41 52 88 77 d6 d1 c8 bb 28\ +aa 3b c9 7f 1d f5 84 56 36 18 99 57 97 68 38 44\ +ca 86 66 47 32 f4 be d7 a0 aa b0 83 aa ab fb 72\ +38 f5 82 e3 09 58 c2 02 4e 44 e5 70 43 b9 79 50\ +fd 54 3d a9 77 c9 0c dd e5 33 7d 61 84 42 f9 9e\ +60 d7 78 3a b5 9c e6 dd 9d 69 c4 7a d1 e9 62 be\ +c2 2d 05 89 5c ff 8d 3f 64 ed 52 61 d9 2b 26 78\ +51 03 93 48 49 90 ba 3f 7f 06 81 8a e6 ff ce 8a\ +3a +Test: DecryptMatch +Comment: RSAES-OAEP Encryption Example 3.4 +Plaintext: \ +6c c6 41 b6 b6 1e 6f 96 39 74 da d2 3a 90 13 28\ +4e f1 +Seed: # not used yet\ +6e 29 79 f5 2d 68 14 a5 7d 83 b0 90 05 48 88 f1\ +19 a5 b9 a3 +Ciphertext: \ +02 99 4c 62 af d7 6f 49 8b a1 fd 2c f6 42 85 7f\ +ca 81 f4 37 3c b0 8f 1c ba ee 6f 02 5c 3b 51 2b\ +42 c3 e8 77 91 13 47 66 48 03 9d be 04 93 f9 24\ +62 92 fa c2 89 50 60 0e 7c 0f 32 ed f9 c8 1b 9d\ +ec 45 c3 bd e0 cc 8d 88 47 59 01 69 90 7b 7d c5\ +99 1c eb 29 bb 07 14 d6 13 d9 6d f0 f1 2e c5 d8\ +d3 50 7c 8e e7 ae 78 dd 83 f2 16 fa 61 de 10 03\ +63 ac a4 8a 7e 91 4a e9 f4 2d df be 94 3b 09 d9\ +a0 +Test: DecryptMatch +Comment: RSAES-OAEP Encryption Example 3.5 +Plaintext: \ +df 51 51 83 2b 61 f4 f2 58 91 fb 41 72 f3 28 d2\ +ed df 83 71 ff cf db e9 97 93 92 95 f3 0e ca 69\ +18 01 7c fd a1 15 3b f7 a6 af 87 59 32 23 +Seed: # not used yet\ +2d 76 0b fe 38 c5 9d e3 4c dc 8b 8c 78 a3 8e 66\ +28 4a 2d 27 +Ciphertext: \ +01 62 04 2f f6 96 95 92 a6 16 70 31 81 1a 23 98\ +34 ce 63 8a bf 54 fe c8 b9 94 78 12 2a fe 2e e6\ +7f 8c 5b 18 b0 33 98 05 bf db c5 a4 e6 72 0b 37\ +c5 9c fb a9 42 46 4c 59 7f f5 32 a1 19 82 15 45\ +fd 2e 59 b1 14 e6 1d af 71 82 05 29 f5 02 9c f5\ +24 95 43 27 c3 4e c5 e6 f5 ba 7e fc c4 de 94 3a\ +b8 ad 4e d7 87 b1 45 43 29 f7 0d b7 98 a3 a8 f4\ +d9 2f 82 74 e2 b2 94 8a de 62 7c e8 ee 33 e4 3c\ +60 +Test: DecryptMatch +Comment: RSAES-OAEP Encryption Example 3.6 +Plaintext: \ +3c 3b ad 89 3c 54 4a 6d 52 0a b0 22 31 91 88 c8\ +d5 04 b7 a7 88 b8 50 90 3b 85 97 2e aa 18 55 2e\ +11 34 a7 ad 60 98 82 62 54 ff 7a b6 72 b3 d8 eb\ +31 58 fa c6 d4 cb ae f1 +Seed: # not used yet\ +f1 74 77 9c 5f d3 cf e0 07 ba dc b7 a3 6c 9b 55\ +bf cf bf 0e +Ciphertext: \ +00 11 20 51 e7 5d 06 49 43 bc 44 78 07 5e 43 48\ +2f d5 9c ee 06 79 de 68 93 ee c3 a9 43 da a4 90\ +b9 69 1c 93 df c0 46 4b 66 23 b9 f3 db d3 e7 00\ +83 26 4f 03 4b 37 4f 74 16 4e 1a 00 76 37 25 e5\ +74 74 4b a0 b9 db 83 43 4f 31 df 96 f6 e2 a2 6f\ +6d 8e ba 34 8b d4 68 6c 22 38 ac 07 c3 7a ac 37\ +85 d1 c7 ee a2 f8 19 fd 91 49 17 98 ed 8e 9c ef\ +5e 43 b7 81 b0 e0 27 6e 37 c4 3f f9 49 2d 00 57\ +30 +Test: DecryptMatch + +AlgorithmType: AsymmetricCipher +Name: RSA/OAEP-MGF1(SHA-1) +Source: http://www.rsasecurity.com/rsalabs/pkcs/pkcs-1/, PKCS #1 test vectors +KeyFormat: Component +Comment: Example 4: A 1027-bit RSA Key Pair +Modulus: \ +05 12 40 b6 cc 00 04 fa 48 d0 13 46 71 c0 78 c7\ +c8 de c3 b3 e2 f2 5b c2 56 44 67 33 9d b3 88 53\ +d0 6b 85 ee a5 b2 de 35 3b ff 42 ac 2e 46 bc 97\ +fa e6 ac 96 18 da 95 37 a5 c8 f5 53 c1 e3 57 62\ +59 91 d6 10 8d cd 78 85 fb 3a 25 41 3f 53 ef ca\ +d9 48 cb 35 cd 9b 9a e9 c1 c6 76 26 d1 13 d5 7d\ +de 4c 5b ea 76 bb 5b b7 de 96 c0 0d 07 37 2e 96\ +85 a6 d7 5c f9 d2 39 fa 14 8d 70 93 1b 5f 3f b0\ +39 +PublicExponent: \ +01 00 01 +PrivateExponent: \ +04 11 ff ca 3b 7c a5 e9 e9 be 7f e3 8a 85 10 5e\ +35 38 96 db 05 c5 79 6a ec d2 a7 25 16 1e b3 65\ +1c 86 29 a9 b8 62 b9 04 d7 b0 c7 b3 7f 8c b5 a1\ +c2 b5 40 01 01 8a 00 a1 eb 2c af e4 ee 4e 94 92\ +c3 48 bc 2b ed ab 4b 9e bb f0 64 e8 ef f3 22 b9\ +00 9f 8e ec 65 39 05 f4 0d f8 8a 3c dc 49 d4 56\ +7f 75 62 7d 41 ac a6 24 12 9b 46 a0 b7 c6 98 e5\ +e6 5f 2b 7b a1 02 c7 49 a1 01 35 b6 54 0d 04 01 +Prime1: \ +02 74 58 c1 9e c1 63 69 19 e7 36 c9 af 25 d6 09\ +a5 1b 8f 56 1d 19 c6 bf 69 43 dd 1e e1 ab 8a 4a\ +3f 23 21 00 bd 40 b8 8d ec c6 ba 23 55 48 b6 ef\ +79 2a 11 c9 de 82 3d 0a 79 22 c7 09 5b 6e ba 57\ +01 +Prime2: \ +02 10 ee 9b 33 ab 61 71 6e 27 d2 51 bd 46 5f 4b\ +35 a1 a2 32 e2 da 00 90 1c 29 4b f2 23 50 ce 49\ +0d 09 9f 64 2b 53 75 61 2d b6 3b a1 f2 03 86 49\ +2b f0 4d 34 b3 c2 2b ce b9 09 d1 34 41 b5 3b 51\ +39 +ModPrime1PrivateExponent: \ +39 fa 02 8b 82 6e 88 c1 12 1b 75 0a 8b 24 2f a9\ +a3 5c 5b 66 bd fd 1f a6 37 d3 cc 48 a8 4a 4f 45\ +7a 19 4e 77 27 e4 9f 7b cc 6e 5a 5a 41 26 57 fc\ +47 0c 73 22 eb c3 74 16 ef 45 8c 30 7a 8c 09 01 +ModPrime2PrivateExponent: \ +01 5d 99 a8 41 95 94 39 79 fa 9e 1b e2 c3 c1 b6\ +9f 43 2f 46 fd 03 e4 7d 5b ef bb bf d6 b1 d1 37\ +1d 83 ef b3 30 a3 e0 20 94 2b 2f ed 11 5e 5d 02\ +be 24 fd 92 c9 01 9d 1c ec d6 dd 4c f1 e5 4c c8\ +99 +MultiplicativeInverseOfPrime2ModPrime1: \ +01 f0 b7 01 51 70 b3 f5 e4 22 23 ba 30 30 1c 41\ +a6 d8 7c bb 70 e3 0c b7 d3 c6 7d 25 47 3d b1 f6\ +cb f0 3e 3f 91 26 e3 e9 79 68 27 9a 86 5b 2c 2b\ +42 65 24 cf c5 2a 68 3d 31 ed 30 eb 98 4b e4 12\ +ba +Test: KeyPairValidAndConsistent +Comment: RSAES-OAEP Encryption Example 4.1 +Plaintext: \ +4a 86 60 95 34 ee 43 4a 6c bc a3 f7 e9 62 e7 6d\ +45 5e 32 64 c1 9f 60 5f 6e 5f f6 13 7c 65 c5 6d\ +7f b3 44 cd 52 bc 93 37 4f 3d 16 6c 9f 0c 6f 9c\ +50 6b ad 19 33 09 72 d2 +Seed: # not used yet\ +1c ac 19 ce 99 3d ef 55 f9 82 03 f6 85 28 96 c9\ +5c cc a1 f3 +Ciphertext: \ +04 cc e1 96 14 84 5e 09 41 52 a3 fe 18 e5 4e 33\ +30 c4 4e 5e fb c6 4a e1 68 86 cb 18 69 01 4c c5\ +78 1b 1f 8f 9e 04 53 84 d0 11 2a 13 5c a0 d1 2e\ +9c 88 a8 e4 06 34 16 de aa e3 84 4f 60 d6 e9 6f\ +e1 55 14 5f 45 25 b9 a3 44 31 ca 37 66 18 0f 70\ +e1 5a 5e 5d 8e 8b 1a 51 6f f8 70 60 9f 13 f8 96\ +93 5c ed 18 82 79 a5 8e d1 3d 07 11 42 77 d7 5c\ +65 68 60 7e 0a b0 92 fd 80 3a 22 3e 4a 8e e0 b1\ +a8 +Test: DecryptMatch +Comment: RSAES-OAEP Encryption Example 4.2 +Plaintext: \ +b0 ad c4 f3 fe 11 da 59 ce 99 27 73 d9 05 99 43\ +c0 30 46 49 7e e9 d9 f9 a0 6d f1 16 6d b4 6d 98\ +f5 8d 27 ec 07 4c 02 ee e6 cb e2 44 9c 8b 9f c5\ +08 0c 5c 3f 44 33 09 25 12 ec 46 aa 79 37 43 c8 +Seed: # not used yet\ +f5 45 d5 89 75 85 e3 db 71 aa 0c b8 da 76 c5 1d\ +03 2a e9 63 +Ciphertext: \ +00 97 b6 98 c6 16 56 45 b3 03 48 6f bf 5a 2a 44\ +79 c0 ee 85 88 9b 54 1a 6f 0b 85 8d 6b 65 97 b1\ +3b 85 4e b4 f8 39 af 03 39 9a 80 d7 9b da 65 78\ +c8 41 f9 0d 64 57 15 b2 80 d3 71 43 99 2d d1 86\ +c8 0b 94 9b 77 5c ae 97 37 0e 4e c9 74 43 13 6c\ +6d a4 84 e9 70 ff db 13 23 a2 08 47 82 1d 3b 18\ +38 1d e1 3b b4 9a ae a6 65 30 c4 a4 b8 27 1f 3e\ +ae 17 2c d3 66 e0 7e 66 36 f1 01 9d 2a 28 ae d1\ +5e +Test: DecryptMatch +Comment: RSAES-OAEP Encryption Example 4.3 +Plaintext: \ +bf 6d 42 e7 01 70 7b 1d 02 06 b0 c8 b4 5a 1c 72\ +64 1f f1 28 89 21 9a 82 bd ea 96 5b 5e 79 a9 6b\ +0d 01 63 ed 9d 57 8e c9 ad a2 0f 2f bc f1 ea 3c\ +40 89 d8 34 19 ba 81 b0 c6 0f 36 06 da 99 +Seed: # not used yet\ +ad 99 7f ee f7 30 d6 ea 7b e6 0d 0d c5 2e 72 ea\ +cb fd d2 75 +Ciphertext: \ +03 01 f9 35 e9 c4 7a bc b4 8a cb be 09 89 5d 9f\ +59 71 af 14 83 9d a4 ff 95 41 7e e4 53 d1 fd 77\ +31 90 72 bb 72 97 e1 b5 5d 75 61 cd 9d 1b b2 4c\ +1a 9a 37 c6 19 86 43 08 24 28 04 87 9d 86 eb d0\ +01 dc e5 18 39 75 e1 50 69 89 b7 0e 5a 83 43 41\ +54 d5 cb fd 6a 24 78 7e 60 eb 0c 65 8d 2a c1 93\ +30 2d 11 92 c6 e6 22 d4 a1 2a d4 b5 39 23 bc a2\ +46 df 31 c6 39 5e 37 70 2c 6a 78 ae 08 1f b9 d0\ +65 +Test: DecryptMatch +Comment: RSAES-OAEP Encryption Example 4.4 +Plaintext: \ +fb 2e f1 12 f5 e7 66 eb 94 01 92 97 93 47 94 f7\ +be 2f 6f c1 c5 8e +Seed: # not used yet\ +13 64 54 df 57 30 f7 3c 80 7a 7e 40 d8 c1 a3 12\ +ac 5b 9d d3 +Ciphertext: \ +02 d1 10 ad 30 af b7 27 be b6 91 dd 0c f1 7d 0a\ +f1 a1 e7 fa 0c c0 40 ec 1a 4b a2 6a 42 c5 9d 0a\ +79 6a 2e 22 c8 f3 57 cc c9 8b 65 19 ac eb 68 2e\ +94 5e 62 cb 73 46 14 a5 29 40 7c d4 52 be e3 e4\ +4f ec e8 42 3c c1 9e 55 54 8b 8b 99 4b 84 9c 7e\ +cd e4 93 3e 76 03 7e 1d 0c e4 42 75 b0 87 10 c6\ +8e 43 01 30 b9 29 73 0e d7 7e 09 b0 15 64 2c 55\ +93 f0 4e 4f fb 94 10 79 81 02 a8 e9 6f fd fe 11\ +e4 +Test: DecryptMatch +Comment: RSAES-OAEP Encryption Example 4.5 +Plaintext: \ +28 cc d4 47 bb 9e 85 16 6d ab b9 e5 b7 d1 ad ad\ +c4 b9 d3 9f 20 4e 96 d5 e4 40 ce 9a d9 28 bc 1c\ +22 84 +Seed: # not used yet\ +bc a8 05 7f 82 4b 2e a2 57 f2 86 14 07 ee f6 3d\ +33 20 86 81 +Ciphertext: \ +00 db b8 a7 43 9d 90 ef d9 19 a3 77 c5 4f ae 8f\ +e1 1e c5 8c 3b 85 83 62 e2 3a d1 b8 a4 43 10 79\ +90 66 b9 93 47 aa 52 56 91 d2 ad c5 8d 9b 06 e3\ +4f 28 8c 17 03 90 c5 f0 e1 1c 0a a3 64 59 59 f1\ +8e e7 9e 8f 2b e8 d7 ac 5c 23 d0 61 f1 8d d7 4b\ +8c 5f 2a 58 fc b5 eb 0c 54 f9 9f 01 a8 32 47 56\ +82 92 53 65 83 34 09 48 d7 a8 c9 7c 4a cd 1e 98\ +d1 e2 9d c3 20 e9 7a 26 05 32 a8 aa 7a 75 8a 1e\ +c2 +Test: DecryptMatch +Comment: RSAES-OAEP Encryption Example 4.6 +Plaintext: \ +f2 22 42 75 1e c6 b1 +Seed: # not used yet\ +2e 7e 1e 17 f6 47 b5 dd d0 33 e1 54 72 f9 0f 68\ +12 f3 ac 4e +Ciphertext: \ +00 a5 ff a4 76 8c 8b be ca ee 2d b7 7e 8f 2e ec\ +99 59 59 33 54 55 20 83 5e 5b a7 db 94 93 d3 e1\ +7c dd ef e6 a5 f5 67 62 44 71 90 8d b4 e2 d8 3a\ +0f be e6 06 08 fc 84 04 95 03 b2 23 4a 07 dc 83\ +b2 7b 22 84 7a d8 92 0f f4 2f 67 4e f7 9b 76 28\ +0b 00 23 3d 2b 51 b8 cb 27 03 a9 d4 2b fb c8 25\ +0c 96 ec 32 c0 51 e5 7f 1b 4b a5 28 db 89 c3 7e\ +4c 54 e2 7e 6e 64 ac 69 63 5a e8 87 d9 54 16 19\ +a9 +Test: DecryptMatch + +AlgorithmType: AsymmetricCipher +Name: RSA/OAEP-MGF1(SHA-1) +Source: http://www.rsasecurity.com/rsalabs/pkcs/pkcs-1/, PKCS #1 test vectors +KeyFormat: Component +Comment: Example 5: A 1028-bit RSA Key Pair +Modulus: \ +0a ad f3 f9 c1 25 e5 d8 91 f3 1a c4 48 e9 93 de\ +fe 58 0f 80 2b 45 f9 d7 f2 2b a5 02 1e 9c 47 57\ +6b 5a 1e 68 03 1b a9 db 4e 6d ab e4 d9 6a 1d 6f\ +3d 26 72 68 cf f4 08 00 5f 11 8e fc ad b9 98 88\ +d1 c2 34 46 71 66 b2 a2 b8 49 a0 5a 88 9c 06 0a\ +c0 da 0c 5f ae 8b 55 f3 09 ba 62 e7 03 74 2f a0\ +32 6f 2d 10 b0 11 02 14 89 ff 49 77 70 19 0d 89\ +5f d3 9f 52 29 3c 39 ef d7 3a 69 8b da b9 f1 0e\ +d9 +PublicExponent: \ +01 00 01 +PrivateExponent: \ +02 56 eb 4c ba 70 67 f2 d2 be 54 0d cd ff 45 82\ +a3 6b 7d 31 d1 c9 09 9b b2 14 b7 98 48 46 6a 26\ +8f 80 f5 8a 49 ac 04 c0 e3 64 89 34 a0 20 6c 04\ +53 7c 19 b2 36 64 3a 60 82 73 21 44 df 75 fa 21\ +75 88 f7 94 68 2b e8 91 68 27 6d c7 26 c5 c0 cb\ +db 84 d3 1b bf 26 d0 a4 3a f4 95 71 7f 7d 52 8a\ +cf ee 34 15 61 f6 ff 3c ae 05 c5 78 f8 47 0d 96\ +82 f9 c0 d0 72 f9 f6 06 8b 56 d5 88 0f 68 2b e2\ +c5 +Prime1: \ +03 b0 d3 96 2f 6d 17 54 9c bf ca 11 29 43 48 dc\ +f0 e7 e3 9f 8c 2b c6 82 4f 21 64 b6 06 d6 87 86\ +0d ae 1e 63 23 93 cf ed f5 13 22 82 29 06 9e 2f\ +60 e4 ac d7 e6 33 a4 36 06 3f 82 38 5f 48 99 37\ +07 +Prime2: \ +02 e4 c3 2e 2f 51 72 69 b7 07 23 09 f0 0c 0e 31\ +36 5f 7c e2 8b 23 6b 82 91 2d f2 39 ab f3 95 72\ +cf 0e d6 04 b0 29 82 e5 35 64 c5 2d 6a 05 39 7d\ +e5 c0 52 a2 fd dc 14 1e f7 18 98 36 34 6a eb 33\ +1f +ModPrime1PrivateExponent: \ +01 e8 4b 11 9d 25 16 1f a6 7b 00 25 6a 5b d9 b6\ +45 d2 b2 32 ec b0 5b 01 51 80 02 9a 88 62 2a dc\ +3f 09 b3 ae ac de 61 61 ab 7c de 22 c2 ad 26 e7\ +79 7d f5 4e 07 2c bd 3b 26 73 80 0b 3e 43 38 db\ +d5 +ModPrime2PrivateExponent: \ +eb 90 aa 1a 40 13 5b 4c ea 07 19 7c ed c8 81 9b\ +e1 e7 cb ff 25 47 66 21 16 f4 65 a4 a9 f4 87 ab\ +12 f3 ba 4f ef 13 82 22 65 a6 52 97 d9 8b 7b de\ +d9 37 2e 3f fe 81 a3 8b 3e 96 00 fe d0 55 75 4f +MultiplicativeInverseOfPrime2ModPrime1: \ +01 2f 7f 81 38 f9 40 40 62 eb 85 a4 29 24 52 0b\ +38 f5 bb 88 6a 01 96 f4 8b b8 dc ea 60 fd 92 cc\ +02 7f 18 e7 81 58 a3 4a 5c 5d 5f 86 0a 0f 6c 04\ +07 1a 7d 01 31 2c 06 50 62 f1 eb 48 b7 9d 1c 83\ +cb +Test: KeyPairValidAndConsistent +Comment: RSAES-OAEP Encryption Example 5.1 +Plaintext: \ +af 71 a9 01 e3 a6 1d 31 32 f0 fc 1f db 47 4f 9e\ +a6 57 92 57 ff c2 4d 16 41 70 14 5b 3d bd e8 +Seed: # not used yet\ +44 c9 2e 28 3f 77 b9 49 9c 60 3d 96 36 60 c8 7d\ +2f 93 94 61 +Ciphertext: \ +03 60 46 a4 a4 7d 9e d3 ba 9a 89 13 9c 10 50 38\ +eb 74 92 b0 5a 5d 68 bf d5 3a cc ff 45 97 f7 a6\ +86 51 b4 7b 4a 46 27 d9 27 e4 85 ee d7 b4 56 64\ +20 e8 b4 09 87 9e 5d 60 6e ae 25 1d 22 a5 df 79\ +9f 79 20 bf c1 17 b9 92 57 2a 53 b1 26 31 46 bc\ +ea 03 38 5c c5 e8 53 c9 a1 01 c8 c3 e1 bd a3 1a\ +51 98 07 49 6c 6c b5 e5 ef b4 08 82 3a 35 2b 8f\ +a0 66 1f b6 64 ef ad d5 93 de b9 9f ff 5e d0 00\ +e5 +Test: DecryptMatch +Comment: RSAES-OAEP Encryption Example 5.2 +Plaintext: \ +a3 b8 44 a0 82 39 a8 ac 41 60 5a f1 7a 6c fd a4\ +d3 50 13 65 85 90 3a 41 7a 79 26 87 60 51 9a 4b\ +4a c3 30 3e c7 3f 0f 87 cf b3 23 99 +Seed: # not used yet\ +cb 28 f5 86 06 59 fc ee e4 9c 3e ea fc e6 25 a7\ +08 03 bd 32 +Ciphertext: \ +03 d6 eb 65 4e dc e6 15 bc 59 f4 55 26 5e d4 e5\ +a1 82 23 cb b9 be 4e 40 69 b4 73 80 4d 5d e9 6f\ +54 dc aa a6 03 d0 49 c5 d9 4a a1 47 0d fc d2 25\ +40 66 b7 c7 b6 1f f1 f6 f6 77 0e 32 15 c5 13 99\ +fd 4e 34 ec 50 82 bc 48 f0 89 84 0a d0 43 54 ae\ +66 dc 0f 1b d1 8e 46 1a 33 cc 12 58 b4 43 a2 83\ +7a 6d f2 67 59 aa 23 02 33 49 86 f8 73 80 c9 cc\ +9d 53 be 9f 99 60 5d 2c 9a 97 da 7b 09 15 a4 a7\ +ad +Test: DecryptMatch +Comment: RSAES-OAEP Encryption Example 5.3 +Plaintext: \ +30 8b 0e cb d2 c7 6c b7 7f c6 f7 0c 5e dd 23 3f\ +d2 f2 09 29 d6 29 f0 26 95 3b b6 2a 8f 4a 3a 31\ +4b de 19 5d e8 5b 5f 81 6d a2 aa b0 74 d2 6c b6\ +ac dd f3 23 ae 3b 9c 67 8a c3 cf 12 fb dd e7 +Seed: # not used yet\ +22 85 f4 0d 77 04 82 f9 a9 ef a2 c7 2c b3 ac 55\ +71 6d c0 ca +Ciphertext: \ +07 70 95 21 81 64 9f 9f 9f 07 ff 62 6f f3 a2 2c\ +35 c4 62 44 3d 90 5d 45 6a 9f d0 bf f4 3c ac 2c\ +a7 a9 f5 54 e9 47 8b 9a cc 3a c8 38 b0 20 40 ff\ +d3 e1 84 7d e2 e4 25 39 29 f9 dd 9e e4 04 43 25\ +a9 b0 5c ab b8 08 b2 ee 84 0d 34 e1 5d 10 5a 3f\ +1f 7b 27 69 5a 1a 07 a2 d7 3f e0 8e ca aa 3c 9c\ +9d 4d 5a 89 ff 89 0d 54 72 7d 7a e4 0c 0e c1 a8\ +dd 86 16 5d 8e e2 c6 36 81 41 01 6a 48 b5 5b 69\ +67 +Test: DecryptMatch +Comment: RSAES-OAEP Encryption Example 5.4 +Plaintext: \ +15 c5 b9 ee 11 85 +Seed: # not used yet\ +49 fa 45 d3 a7 8d d1 0d fd 57 73 99 d1 eb 00 af\ +7e ed 55 13 +Ciphertext: \ +08 12 b7 67 68 eb cb 64 2d 04 02 58 e5 f4 44 1a\ +01 85 21 bd 96 68 7e 6c 5e 89 9f cd 6c 17 58 8f\ +f5 9a 82 cc 8a e0 3a 4b 45 b3 12 99 af 17 88 c3\ +29 f7 dc d2 85 f8 cf 4c ed 82 60 6b 97 61 26 71\ +a4 5b ed ca 13 34 42 14 4d 16 17 d1 14 f8 02 85\ +7f 0f 9d 73 97 51 c5 7a 3f 9e e4 00 91 2c 61 e2\ +e6 99 2b e0 31 a4 3d d4 8f a6 ba 14 ee f7 c4 22\ +b5 ed c4 e7 af a0 4f dd 38 f4 02 d1 c8 bb 71 9a\ +bf +Test: DecryptMatch +Comment: RSAES-OAEP Encryption Example 5.5 +Plaintext: \ +21 02 6e 68 00 c7 fa 72 8f ca ab a0 d1 96 ae 28\ +d7 a2 ac 4f fd 8a bc e7 94 f0 98 5f 60 c8 a6 73\ +72 77 36 5d 3f ea 11 db 89 23 a2 02 9a +Seed: # not used yet\ +f0 28 74 13 23 4c c5 03 47 24 a0 94 c4 58 6b 87\ +af f1 33 fc +Ciphertext: \ +07 b6 0e 14 ec 95 4b fd 29 e6 0d 00 47 e7 89 f5\ +1d 57 18 6c 63 58 99 03 30 67 93 ce d3 f6 82 41\ +c7 43 52 9a ba 6a 63 74 f9 2e 19 e0 16 3e fa 33\ +69 7e 19 6f 76 61 df aa a4 7a ac 6b de 5e 51 de\ +b5 07 c7 2c 58 9a 2c a1 69 3d 96 b1 46 03 81 24\ +9b 2c db 9e ac 44 76 9f 24 89 c5 d3 d2 f9 9f 0e\ +e3 c7 ee 5b f6 4a 5a c7 9c 42 bd 43 3f 14 9b e8\ +cb 59 54 83 61 64 05 95 51 3c 97 af 7b c2 50 97\ +23 +Test: DecryptMatch +Comment: RSAES-OAEP Encryption Example 5.6 +Plaintext: \ +54 1e 37 b6 8b 6c 88 72 b8 4c 02 +Seed: # not used yet\ +d9 fb a4 5c 96 f2 1e 6e 26 d2 9e b2 cd cb 65 85\ +be 9c b3 41 +Ciphertext: \ +08 c3 6d 4d da 33 42 3b 2e d6 83 0d 85 f6 41 1b\ +a1 dc f4 70 a1 fa e0 eb ef ee 7c 08 9f 25 6c ef\ +74 cb 96 ea 69 c3 8f 60 f3 9a be e4 41 29 bc b4\ +c9 2d e7 f7 97 62 3b 20 07 4e 3d 9c 28 99 70 1e\ +d9 07 1e 1e fa 0b dd 84 d4 c3 e5 13 03 02 d8 f0\ +24 0b ab a4 b8 4a 71 cc 03 2f 22 35 a5 ff 0f ae\ +27 7c 3e 8f 91 12 be f4 4c 9a e2 0d 17 5f c9 a4\ +05 8b fc 93 0b a3 1b 02 e2 e4 f4 44 48 37 10 f2\ +4a +Test: DecryptMatch + +AlgorithmType: AsymmetricCipher +Name: RSA/OAEP-MGF1(SHA-1) +Source: http://www.rsasecurity.com/rsalabs/pkcs/pkcs-1/, PKCS #1 test vectors +KeyFormat: Component +Comment: Example 6: A 1029-bit RSA Key Pair +Modulus: \ +12 b1 7f 6d ad 2e cd 19 ff 46 dc 13 f7 86 0f 09\ +e0 e0 cf b6 77 b3 8a 52 59 23 05 ce af 02 2c 16\ +6d b9 0d 04 ac 29 e3 3f 7d d1 2d 9f af 66 e0 81\ +6b b6 3e ad 26 7c c7 d4 6c 17 c3 7b e2 14 bc a2\ +a2 2d 72 3a 64 e4 44 07 43 6b 6f c9 65 72 9a ef\ +c2 55 4f 37 6c d5 dc ea 68 29 37 80 a6 2b f3 9d\ +00 29 48 5a 16 0b bb 9e 5d c0 97 2d 21 a5 04 f5\ +2e 5e e0 28 aa 41 63 32 f5 10 b2 e9 cf f5 f7 22\ +af +PublicExponent: \ +01 00 01 +PrivateExponent: \ +02 95 ec a3 56 06 18 36 95 59 ce cd 30 3a a9 cf\ +da fc 1d 9f 06 95 9d f7 5f fe f9 29 aa 89 69 61\ +bc d1 90 dc 69 97 ed a7 f5 96 3e 72 4d 07 b4 dc\ +11 f3 06 5e 5a e9 7d 96 83 51 12 28 0b 90 84 bb\ +14 f2 a2 1e bd 4e 88 9d 41 b9 c4 13 2e c1 95 6f\ +ca b8 bb 2f ed 05 75 88 49 36 52 2c 5f f7 d3 32\ +61 90 48 24 e7 ca de e4 e0 bb 37 2d 24 57 cf 78\ +e2 bd 12 86 22 8f f8 3f 10 73 1c e6 3c 90 cf f3\ +f9 +Prime1: \ +04 a6 ce 8b 73 58 df a6 9b dc f7 42 61 70 05 af\ +b5 38 5f 5f 3a 58 a2 4e f7 4a 22 a8 c0 5c b7 cc\ +38 eb d4 cc 9d 9a 9d 78 9a 62 cd 0f 60 f0 cb 94\ +1d 34 23 c9 69 2e fa 4f e3 ad ff 29 0c 47 49 a3\ +8b +Prime2: \ +04 04 c9 a8 03 37 1f ed b4 c5 be 39 f3 c0 0b 00\ +9e 5e 08 a6 3b e1 e4 00 35 cd ac a5 01 1c c7 01\ +cf 7e eb cb 99 f0 ff e1 7c fd 0a 4b f7 be fd 2d\ +d5 36 ac 94 6d b7 97 fd bc 4a be 8f 29 34 9b 91\ +ed +ModPrime1PrivateExponent: \ +03 96 1c 8f 76 0a a2 bd 51 54 c7 aa fd 77 22 5b\ +3b ac d0 13 9a e7 b5 94 8e a3 31 1f cc d8 6f b9\ +5c 75 af a7 67 28 4b 9b 2d e5 59 57 2f 15 d8 d0\ +44 c7 eb 83 a1 be 5f ad f2 cc 37 7c 0d 84 75 29\ +4b +ModPrime2PrivateExponent: \ +02 21 97 e0 66 74 21 96 aa bc 03 fa 2f ee b4 e7\ +0b 15 cb 78 7d 61 7a cd 31 bb 75 c7 bc 23 4a d7\ +06 f7 c4 8d 21 82 d1 f0 ff 9c 22 8d cf 41 96 7b\ +6c 0b a6 d2 c0 ad 11 0a 1b 85 78 31 ec 24 5e 2c\ +b1 +MultiplicativeInverseOfPrime2ModPrime1: \ +04 01 c4 c0 c5 3d 45 db db 5e 9d 96 d0 fe cf 42\ +75 df 09 74 bc 4a 07 36 b4 a7 4c 32 69 05 3e fb\ +68 6a ce 24 06 e2 2c 9e 05 8d db 4a e5 40 62 7a\ +e2 fd b0 82 61 e8 e7 e4 bc bc 99 4d aa fa 30 5c\ +45 +Test: KeyPairValidAndConsistent +Comment: RSAES-OAEP Encryption Example 6.1 +Plaintext: \ +40 46 ca 8b aa 33 47 ca 27 f4 9e 0d 81 f9 cc 1d\ +71 be 9b a5 17 d4 +Seed: # not used yet\ +dd 0f 6c fe 41 5e 88 e5 a4 69 a5 1f bb a6 df d4\ +0a db 43 84 +Ciphertext: \ +06 30 ee bc d2 85 6c 24 f7 98 80 6e 41 f9 e6 73\ +45 ed a9 ce da 38 6a cc 9f ac ae a1 ee ed 06 ac\ +e5 83 70 97 18 d9 d1 69 fa df 41 4d 5c 76 f9 29\ +96 83 3e f3 05 b7 5b 1e 4b 95 f6 62 a2 0f ae dc\ +3b ae 0c 48 27 a8 bf 8a 88 ed bd 57 ec 20 3a 27\ +a8 41 f0 2e 43 a6 15 ba b1 a8 ca c0 70 1d e3 4d\ +eb de f6 2a 08 80 89 b5 5e c3 6e a7 52 2f d3 ec\ +8d 06 b6 a0 73 e6 df 83 31 53 bc 0a ef d9 3b d1\ +a3 +Test: DecryptMatch +Comment: RSAES-OAEP Encryption Example 6.2 +Plaintext: \ +5c c7 2c 60 23 1d f0 3b 3d 40 f9 b5 79 31 bc 31\ +10 9f 97 25 27 f2 8b 19 e7 48 0c 72 88 cb 3c 92\ +b2 25 12 21 4e 4b e6 c9 14 79 2d da bd f5 7f aa\ +8a a7 +Seed: # not used yet\ +8d 14 bd 94 6a 13 51 14 8f 5c ae 2e d9 a0 c6 53\ +e8 5e bd 85 +Ciphertext: \ +0e bc 37 37 61 73 a4 fd 2f 89 cc 55 c2 ca 62 b2\ +6b 11 d5 1c 3c 7c e4 9e 88 45 f7 4e 76 07 31 7c\ +43 6b c8 d2 3b 96 67 df eb 9d 08 72 34 b4 7b c6\ +83 71 75 ae 5c 05 59 f6 b8 1d 7d 22 41 6d 3e 50\ +f4 ac 53 3d 8f 08 12 f2 db 9e 79 1f e9 c7 75 ac\ +8b 6a d0 f5 35 ad 9c eb 23 a4 a0 20 14 c5 8a b3\ +f8 d3 16 14 99 a2 60 f3 93 48 e7 14 ae 2a 1d 34\ +43 20 8f d8 b7 22 cc fd fb 39 3e 98 01 1f 99 e6\ +3f +Test: DecryptMatch +Comment: RSAES-OAEP Encryption Example 6.3 +Plaintext: \ +b2 0e 65 13 03 09 2f 4b cc b4 30 70 c0 f8 6d 23\ +04 93 62 ed 96 64 2f c5 63 2c 27 db 4a 52 e3 d8\ +31 f2 ab 06 8b 23 b1 49 87 9c 00 2f 6b f3 fe ee\ +97 59 11 12 56 2c +Seed: # not used yet\ +6c 07 5b c4 55 20 f1 65 c0 bf 5e a4 c5 df 19 1b\ +c9 ef 0e 44 +Ciphertext: \ +0a 98 bf 10 93 61 93 94 43 6c f6 8d 8f 38 e2 f1\ +58 fd e8 ea 54 f3 43 5f 23 9b 8d 06 b8 32 18 44\ +20 24 76 ae ed 96 00 94 92 48 0c e3 a8 d7 05 49\ +8c 4c 8c 68 f0 15 01 dc 81 db 60 8f 60 08 73 50\ +c8 c3 b0 bd 2e 9e f6 a8 14 58 b7 c8 01 b8 9f 2e\ +4f e9 9d 49 00 ba 6a 4b 5e 5a 96 d8 65 dc 67 6c\ +77 55 92 87 94 13 0d 62 80 a8 16 0a 19 0f 2d f3\ +ea 7c f9 aa 02 71 d8 8e 9e 69 05 ec f1 c5 15 2d\ +65 +Test: DecryptMatch +Comment: RSAES-OAEP Encryption Example 6.4 +Plaintext: \ +68 4e 30 38 c5 c0 41 f7 +Seed: # not used yet\ +3b bc 3b d6 63 7d fe 12 84 69 01 02 9b f5 b0 c0\ +71 03 43 9c +Ciphertext: \ +00 8e 7a 67 ca cf b5 c4 e2 4b ec 7d ee 14 91 17\ +f1 95 98 ce 8c 45 80 8f ef 88 c6 08 ff 9c d6 e6\ +95 26 3b 9a 3c 0a d4 b8 ba 4c 95 23 8e 96 a8 42\ +2b 85 35 62 9c 8d 53 82 37 44 79 ad 13 fa 39 97\ +4b 24 2f 9a 75 9e ea f9 c8 3a d5 a8 ca 18 94 0a\ +01 62 ba 75 58 76 df 26 3f 4b d5 0c 65 25 c5 60\ +90 26 7c 1f 0e 09 ce 08 99 a0 cf 35 9e 88 12 0a\ +bd 9b f8 93 44 5b 3c ae 77 d3 60 73 59 ae 9a 52\ +f8 +Test: DecryptMatch +Comment: RSAES-OAEP Encryption Example 6.5 +Plaintext: \ +32 48 8c b2 62 d0 41 d6 e4 dd 35 f9 87 bf 3c a6\ +96 db 1f 06 ac 29 a4 46 93 +Seed: # not used yet\ +b4 6b 41 89 3e 8b ef 32 6f 67 59 38 3a 83 07 1d\ +ae 7f ca bc +Ciphertext: \ +00 00 34 74 41 6c 7b 68 bd f9 61 c3 85 73 79 44\ +d7 f1 f4 0c b3 95 34 3c 69 3c c0 b4 fe 63 b3 1f\ +ed f1 ea ee ac 9c cc 06 78 b3 1d c3 2e 09 77 48\ +95 14 c4 f0 90 85 f6 29 8a 96 53 f0 1a ea 40 45\ +ff 58 2e e8 87 be 26 ae 57 5b 73 ee f7 f3 77 49\ +21 e3 75 a3 d1 9a dd a0 ca 31 aa 18 49 88 7c 1f\ +42 ca c9 67 7f 7a 2f 4e 92 3f 6e 5a 86 8b 38 c0\ +84 ef 18 75 94 dc 9f 7f 04 8f ea 2e 02 95 53 84\ +ab +Test: DecryptMatch +Comment: RSAES-OAEP Encryption Example 6.6 +Plaintext: \ +50 ba 14 be 84 62 72 02 79 c3 06 ba +Seed: # not used yet\ +0a 24 03 31 2a 41 e3 d5 2f 06 0f bc 13 a6 7d e5\ +cf 76 09 a7 +Ciphertext: \ +0a 02 6d da 5f c8 78 5f 7b d9 bf 75 32 7b 63 e8\ +5e 2c 0f de e5 da db 65 eb dc ac 9a e1 de 95 c9\ +2c 67 2a b4 33 aa 7a 8e 69 ce 6a 6d 88 97 fa c4\ +ac 4a 54 de 84 1a e5 e5 bb ce 76 87 87 9d 79 63\ +4c ea 7a 30 68 40 65 c7 14 d5 24 09 b9 28 25 6b\ +bf 53 ea bc d5 23 1e b7 25 95 04 53 73 99 bd 29\ +16 4b 72 6d 33 a4 6d a7 01 36 0a 41 68 a0 91 cc\ +ab 72 d4 4a 62 fe d2 46 c0 ff ea 5b 13 48 ab 54\ +70 +Test: DecryptMatch + +AlgorithmType: AsymmetricCipher +Name: RSA/OAEP-MGF1(SHA-1) +Source: http://www.rsasecurity.com/rsalabs/pkcs/pkcs-1/, PKCS #1 test vectors +KeyFormat: Component +Comment: Example 7: A 1030-bit RSA Key Pair +Modulus: \ +31 11 79 f0 bc fc 9b 9d 3c a3 15 d0 0e f3 0d 7b\ +dd 3a 2c fa e9 91 1b fe dc b9 48 b3 a4 78 2d 07\ +32 b6 ab 44 aa 4b f0 37 41 a6 44 dc 01 be c3 e6\ +9b 01 a0 33 e6 75 d8 ac d7 c4 92 5c 6b 1a ec 31\ +19 05 1d fd 89 76 2d 21 5d 45 47 5f fc b5 9f 90\ +81 48 62 3f 37 17 71 56 f6 ae 86 dd 7a 7c 5f 43\ +dc 1e 1f 90 82 54 05 8a 28 4a 5f 06 c0 02 17 93\ +a8 7f 1a c5 fe ff 7d ca ee 69 c5 e5 1a 37 89 e3\ +73 +PublicExponent: \ +01 00 01 +PrivateExponent: \ +07 0c fc ff 2f eb 82 76 e2 74 32 c4 5d fe e4 8f\ +49 b7 91 7d 65 30 e1 f0 ca 34 60 f3 2e 02 76 17\ +44 87 c5 6e 22 a4 5d 25 00 d7 77 54 95 21 9d 7d\ +16 5a 9c f3 bd 92 c3 2a f9 a9 8d 8d c9 cc 29 68\ +00 ad c9 4a 0a 54 fb 40 f3 42 91 bf 84 ee 8e a1\ +2b 6f 10 93 59 c6 d3 54 2a 50 f9 c7 67 f5 cf ff\ +05 a6 81 c2 e6 56 fb 77 ca aa db 4b e9 46 8d 8a\ +bc d4 df 98 f5 8e 86 d2 05 3f a1 34 9f 74 8e 21\ +b1 +Prime1: \ +07 49 26 2c 11 1c d4 70 ec 25 66 e6 b3 73 2f c0\ +93 29 46 9a a1 90 71 d3 b9 c0 19 06 51 4c 6f 1d\ +26 ba a1 4b ea b0 97 1c 8b 7e 61 1a 4f 79 00 9d\ +6f ea 77 69 28 ca 25 28 5b 0d e3 64 3d 1a 3f 8c\ +71 +Prime2: \ +06 bc 1e 50 e9 6c 02 bf 63 6e 9e ea 8b 89 9b be\ +bf 76 51 de 77 dd 47 4c 3e 9b c2 3b ad 81 82 b6\ +19 04 c7 d9 7d fb eb fb 1e 00 10 88 78 b6 e6 7e\ +41 53 91 d6 79 42 c2 b2 bf 9b 44 35 f8 8b 0c b0\ +23 +ModPrime1PrivateExponent: \ +03 bc 7e a7 f0 aa b1 43 ab c6 ce 8b 97 11 86 36\ +a3 01 72 e4 cf e0 2c 8f a0 dd a3 b7 ba af 90 f8\ +09 29 82 98 55 25 f4 88 bd fc b4 bd 72 6e 22 63\ +9a c6 4a 30 92 ab 7f fc bf 1d 53 34 cf a5 0b 5b\ +f1 +ModPrime2PrivateExponent: \ +02 62 a6 aa 29 c2 a3 c6 7d c5 34 6c 06 38 1a fd\ +98 7a a3 cc 93 cf bf ec f5 4f dd 9f 9d 78 7d 7f\ +59 a5 23 d3 98 97 9d a1 37 a2 f6 38 1f e9 48 01\ +f7 c9 4d a2 15 18 dc 34 cb 40 87 0c 46 97 99 4a\ +d9 +MultiplicativeInverseOfPrime2ModPrime1: \ +64 9d 4c 17 b6 ee 17 21 e7 72 d0 38 9a 55 9c 3d\ +3c df 95 50 d4 57 c4 6b 03 7b 74 64 1b 1d 52 16\ +6a f8 a2 13 c8 39 62 06 cd fb a4 42 2f 18 d6 f6\ +1d bc b5 d2 14 c9 71 bf 48 2a eb 97 6a 73 70 c2 +Test: KeyPairValidAndConsistent +Comment: RSAES-OAEP Encryption Example 7.1 +Plaintext: \ +47 aa e9 09 +Seed: # not used yet\ +43 dd 09 a0 7f f4 ca c7 1c aa 46 32 ee 5e 1c 1d\ +ae e4 cd 8f +Ciphertext: \ +16 88 e4 ce 77 94 bb a6 cb 70 14 16 9e cd 55 9c\ +ed e2 a3 0b 56 a5 2b 68 d9 fe 18 cf 19 73 ef 97\ +b2 a0 31 53 95 1c 75 5f 62 94 aa 49 ad bd b5 58\ +45 ab 68 75 fb 39 86 c9 3e cf 92 79 62 84 0d 28\ +2f 9e 54 ce 8b 69 0f 7c 0c b8 bb d7 34 40 d9 57\ +1d 1b 16 cd 92 60 f9 ea b4 78 3c c4 82 e5 22 3d\ +c6 09 73 87 17 83 ec 27 b0 ae 0f d4 77 32 cb c2\ +86 a1 73 fc 92 b0 0f b4 ba 68 24 64 7c d9 3c 85\ +c1 +Test: DecryptMatch +Comment: RSAES-OAEP Encryption Example 7.2 +Plaintext: \ +1d 9b 2e 22 23 d9 bc 13 bf b9 f1 62 ce 73 5d b4\ +8b a7 c6 8f 68 22 a0 a1 a7 b6 ae 16 58 34 e7 +Seed: # not used yet\ +3a 9c 3c ec 7b 84 f9 bd 3a de cb c6 73 ec 99 d5\ +4b 22 bc 9b +Ciphertext: \ +10 52 ed 39 7b 2e 01 e1 d0 ee 1c 50 bf 24 36 3f\ +95 e5 04 f4 a0 34 34 a0 8f d8 22 57 4e d6 b9 73\ +6e db b5 f3 90 db 10 32 14 79 a8 a1 39 35 0e 2b\ +d4 97 7c 37 78 ef 33 1f 3e 78 ae 11 8b 26 84 51\ +f2 0a 2f 01 d4 71 f5 d5 3c 56 69 37 17 1b 2d bc\ +2d 4b de 45 9a 57 99 f0 37 2d 65 74 23 9b 23 23\ +d2 45 d0 bb 81 c2 86 b6 3c 89 a3 61 01 73 37 e4\ +90 2f 88 a4 67 f4 c7 f2 44 bf d5 ab 46 43 7f f3\ +b6 +Test: DecryptMatch +Comment: RSAES-OAEP Encryption Example 7.3 +Plaintext: \ +d9 76 fc +Seed: # not used yet\ +76 a7 5e 5b 61 57 a5 56 cf 88 84 bb 2e 45 c2 93\ +dd 54 5c f5 +Ciphertext: \ +21 55 cd 84 3f f2 4a 4e e8 ba db 76 94 26 00 28\ +a4 90 81 3b a8 b3 69 a4 cb f1 06 ec 14 8e 52 98\ +70 7f 59 65 be 7d 10 1c 10 49 ea 85 84 c2 4c d6\ +34 55 ad 9c 10 4d 68 62 82 d3 fb 80 3a 4c 11 c1\ +c2 e9 b9 1c 71 78 80 1d 1b 66 40 f0 03 f5 72 8d\ +f0 07 b8 a4 cc c9 2b ce 05 e4 1a 27 27 8d 7c 85\ +01 8c 52 41 43 13 a5 07 77 89 00 1d 4f 01 91 0b\ +72 aa d0 5d 22 0a a1 4a 58 73 3a 74 89 bc 54 55\ +6b +Test: DecryptMatch +Comment: RSAES-OAEP Encryption Example 7.4 +Plaintext: \ +d4 73 86 23 df 22 3a a4 38 43 df 84 67 53 4c 41\ +d0 13 e0 c8 03 c6 24 e2 63 66 6b 23 9b de 40 a5\ +f2 9a eb 8d e7 9e 3d aa 61 dd 03 70 f4 9b d4 b0\ +13 83 4b 98 21 2a ef 6b 1c 5e e3 73 b3 cb +Seed: # not used yet\ +78 66 31 4a 6a d6 f2 b2 50 a3 59 41 db 28 f5 86\ +4b 58 58 59 +Ciphertext: \ +0a b1 4c 37 3a eb 7d 43 28 d0 aa ad 8c 09 4d 88\ +b9 eb 09 8b 95 f2 10 54 a2 90 82 52 2b e7 c2 7a\ +31 28 78 b6 37 91 7e 3d 81 9e 6c 3c 56 8d b5 d8\ +43 80 2b 06 d5 1d 9e 98 a2 be 0b f4 0c 03 14 23\ +b0 0e df bf f8 32 0e fb 91 71 bd 20 44 65 3a 4c\ +b9 c5 12 2f 6c 65 e8 3c da 2e c3 c1 26 02 7a 9c\ +1a 56 ba 87 4d 0f ea 23 f3 80 b8 2c f2 40 b8 cf\ +54 00 04 75 8c 4c 77 d9 34 15 7a 74 f3 fc 12 bf\ +ac +Test: DecryptMatch +Comment: RSAES-OAEP Encryption Example 7.5 +Plaintext: \ +bb 47 23 1c a5 ea 1d 3a d4 6c 99 34 5d 9a 8a 61 +Seed: # not used yet\ +b2 16 6e d4 72 d5 8d b1 0c ab 2c 6b 00 0c cc f1\ +0a 7d c5 09 +Ciphertext: \ +02 83 87 a3 18 27 74 34 79 8b 4d 97 f4 60 06 8d\ +f5 29 8f ab a5 04 1b a1 17 61 a1 cb 73 16 b2 41\ +84 11 4e c5 00 25 7e 25 89 ed 3b 60 7a 1e bb e9\ +7a 6c c2 e0 2b f1 b6 81 f4 23 12 a3 3b 7a 77 d8\ +e7 85 5c 4a 6d e0 3e 3c 04 64 3f 78 6b 91 a2 64\ +a0 d6 80 5e 2c ea 91 e6 81 77 eb 7a 64 d9 25 5e\ +4f 27 e7 13 b7 cc ec 00 dc 20 0e bd 21 c2 ea 2b\ +b8 90 fe ae 49 42 df 94 1d c3 f9 78 90 ed 34 74\ +78 +Test: DecryptMatch +Comment: RSAES-OAEP Encryption Example 7.6 +Plaintext: \ +21 84 82 70 95 d3 5c 3f 86 f6 00 e8 e5 97 54 01\ +32 96 +Seed: # not used yet\ +52 67 3b de 2c a1 66 c2 aa 46 13 1a c1 dc 80 8d\ +67 d7 d3 b1 +Ciphertext: \ +14 c6 78 a9 4a d6 05 25 ef 39 e9 59 b2 f3 ba 5c\ +09 7a 94 ff 91 2b 67 db ac e8 05 35 c1 87 ab d4\ +7d 07 54 20 b1 87 21 52 bb a0 8f 7f c3 1f 31 3b\ +bf 92 73 c9 12 fc 4c 01 49 a9 b0 cf b7 98 07 e3\ +46 eb 33 20 69 61 1b ec 0f f9 bc d1 68 f1 f7 c3\ +3e 77 31 3c ea 45 4b 94 e2 54 9e ec f0 02 e2 ac\ +f7 f6 f2 d2 84 5d 4f e0 aa b2 e5 a9 2d df 68 c4\ +80 ae 11 24 79 35 d1 f6 25 74 84 22 16 ae 67 41\ +15 +Test: DecryptMatch + +AlgorithmType: AsymmetricCipher +Name: RSA/OAEP-MGF1(SHA-1) +Source: http://www.rsasecurity.com/rsalabs/pkcs/pkcs-1/, PKCS #1 test vectors +KeyFormat: Component +Comment: Example 8: A 1031-bit RSA Key Pair +Modulus: \ +5b df 0e 30 d3 21 dd a5 14 7f 88 24 08 fa 69 19\ +54 80 df 8f 80 d3 f6 e8 bf 58 18 50 4f 36 42 7c\ +a9 b1 f5 54 0b 9c 65 a8 f6 97 4c f8 44 7a 24 4d\ +92 80 20 1b b4 9f cb be 63 78 d1 94 4c d2 27 e2\ +30 f9 6e 3d 10 f8 19 dc ef 27 6c 64 a0 0b 2a 4b\ +67 01 e7 d0 1d e5 fa bd e3 b1 e9 a0 df 82 f4 63\ +13 59 cd 22 66 96 47 fb b1 71 72 46 13 4e d7 b4\ +97 cf ff bd c4 2b 59 c7 3a 96 ed 90 16 62 12 df\ +f7 +PublicExponent: \ +01 00 01 +PrivateExponent: \ +0f 7d 1e 9e 5a aa 25 fd 13 e4 a0 66 3a e1 44 e0\ +d1 5f 5c d1 8b cd b0 9d f2 cc 7e 64 e3 c5 e9 15\ +ad 62 64 53 04 16 1d 09 8c 71 5b b7 ab 8b d0 1d\ +07 ea f3 fe d7 c7 ed 08 af 2a 8a 62 ef 44 ab 16\ +b3 20 e1 4a f7 2a 48 f9 6a fe 26 2a 0a e4 cf 65\ +e6 35 e9 10 79 0c d4 ee 5c ea 76 8a 4b 26 39 f7\ +e6 f6 77 b3 f0 bb 6b e3 2b 75 74 7d 89 09 03 6f\ +02 64 f5 8d 40 1c db a1 31 71 61 57 a7 5e cf 63\ +31 +Prime1: \ +0a 02 ef 84 48 d9 fa d8 bb d0 d0 04 c8 c2 aa 97\ +51 ef 97 21 c1 b0 d0 32 36 a5 4b 0d f9 47 cb ae\ +d5 a2 55 ee 9e 8e 20 d4 91 ea 17 23 fe 09 47 04\ +a9 76 2e 88 af d1 6e bb 59 94 41 2c a9 66 dc 4f\ +9f +Prime2: \ +09 2d 36 2e 7e d3 a0 bf d9 e9 fd 0e 6c 03 01 b6\ +df 29 15 9c f5 0c c8 3b 9b 0c f4 d6 ee a7 1a 61\ +e0 02 b4 6e 0a e9 f2 de 62 d2 5b 5d 74 52 d4 98\ +b8 1c 9a c6 fc 58 59 3d 4c 3f b4 f5 d7 2d fb b0\ +a9 +ModPrime1PrivateExponent: \ +07 c7 14 10 af 10 39 62 db 36 74 04 e3 7a e8 50\ +ba a4 e9 c2 9d d9 21 45 81 52 94 a6 7c 7d 1c 6d\ +ed 26 3a a0 30 a9 b6 33 ae 50 30 3e 14 03 5d 1a\ +f0 14 12 3e ba 68 78 20 30 8d 8e bc 85 b6 95 7d\ +7d +ModPrime2PrivateExponent: \ +ae 2c 75 38 0c 02 c0 16 ad 05 89 1b 33 01 de 88\ +1f 28 ae 11 71 18 2b 6b 2c 83 be a7 c5 15 ec a9\ +ca 29 8c 7b 1c ab 58 17 a5 97 06 8f c8 50 60 de\ +4d a8 a0 16 37 8a ae 43 c7 f9 67 bc c3 79 04 b9 +MultiplicativeInverseOfPrime2ModPrime1: \ +05 98 d1 05 9e 3a da 4f 63 20 75 2c 09 d8 05 ff\ +7d 1f 1a e0 d0 17 ae ee e9 ce fa 0d 7d d7 ff 77\ +5e 44 b5 78 32 2f 64 05 d6 21 1d a1 95 19 66 6a\ +a8 7f dc 4c d8 c8 8f 6b 6e 3d 67 e9 61 dc bb a3\ +d0 +Test: KeyPairValidAndConsistent +Comment: RSAES-OAEP Encryption Example 8.1 +Plaintext: \ +05 0b 75 5e 5e 68 80 f7 b9 e9 d6 92 a7 4c 37 aa\ +e4 49 b3 1b fe a6 de ff 83 74 7a 89 7f 6c 2c 82\ +5b b1 ad bf 85 0a 3c 96 99 4b 5d e5 b3 3c bc 7d\ +4a 17 91 3a 79 67 +Seed: # not used yet\ +77 06 ff ca 1e cf b1 eb ee 2a 55 e5 c6 e2 4c d2\ +79 7a 41 25 +Ciphertext: \ +09 b3 68 3d 8a 2e b0 fb 29 5b 62 ed 1f b9 29 0b\ +71 44 57 b7 82 53 19 f4 64 78 72 af 88 9b 30 40\ +94 72 02 0a d1 29 12 bf 19 b1 1d 48 19 f4 96 14\ +82 4f fd 84 d0 9c 0a 17 e7 d1 73 09 d1 29 19 79\ +04 10 aa 29 95 69 9f 6a 86 db e3 24 2b 5a cc 23\ +af 45 69 10 80 d6 b1 ae 81 0f b3 e3 05 70 87 f0\ +97 00 92 ce 00 be 95 62 ff 40 53 b6 26 2c e0 ca\ +a9 3e 13 72 3d 2e 3a 5b a0 75 d4 5f 0d 61 b5 4b\ +61 +Test: DecryptMatch +Comment: RSAES-OAEP Encryption Example 8.2 +Plaintext: \ +4e b6 8d cd 93 ca 9b 19 df 11 1b d4 36 08 f5 57\ +02 6f e4 aa 1d 5c fa c2 27 a3 eb 5a b9 54 8c 18\ +a0 6d de d2 3f 81 82 59 86 b2 fc d7 11 09 ec ef\ +7e ff 88 87 3f 07 5c 2a a0 c4 69 f6 9c 92 bc +Seed: # not used yet\ +a3 71 7d a1 43 b4 dc ff bc 74 26 65 a8 fa 95 05\ +85 54 83 43 +Ciphertext: \ +2e cf 15 c9 7c 5a 15 b1 47 6a e9 86 b3 71 b5 7a\ +24 28 4f 4a 16 2a 8d 0c 81 82 e7 90 5e 79 22 56\ +f1 81 2b a5 f8 3f 1f 7a 13 0e 42 dc c0 22 32 84\ +4e dc 14 a3 1a 68 ee 97 ae 56 4a 38 3a 34 11 65\ +64 24 c5 f6 2d db 64 60 93 c3 67 be 1f cd a4 26\ +cf 00 a0 6d 8a cb 7e 57 77 6f bb d8 55 ac 3d f5\ +06 fc 16 b1 d7 c3 f2 11 0f 3d 80 68 e9 1e 18 63\ +63 83 1c 84 09 68 0d 8d a9 ec d8 cf 1f a2 0e e3\ +9d +Test: DecryptMatch +Comment: RSAES-OAEP Encryption Example 8.3 +Plaintext: \ +86 04 ac 56 32 8c 1a b5 ad 91 78 61 +Seed: # not used yet\ +ee 06 20 90 73 cc a0 26 bb 26 4e 51 85 bf 8c 68\ +b7 73 9f 86 +Ciphertext: \ +4b c8 91 30 a5 b2 da bb 7c 2f cf 90 eb 5d 0e af\ +9e 68 1b 71 46 a3 8f 31 73 a3 d9 cf ec 52 ea 9e\ +0a 41 93 2e 64 8a 9d 69 34 4c 50 da 76 3f 51 a0\ +3c 95 76 21 31 e8 05 22 54 dc d2 24 8c ba 40 fd\ +31 66 77 86 ce 05 a2 b7 b5 31 ac 9d ac 9e d5 84\ +a5 9b 67 7c 1a 8a ed 8c 5d 15 d6 8c 05 56 9e 2b\ +e7 80 bf 7d b6 38 fd 2b fd 2a 85 ab 27 68 60 f3\ +77 73 38 fc a9 89 ff d7 43 d1 3e e0 8e 0c a9 89\ +3f +Test: DecryptMatch +Comment: RSAES-OAEP Encryption Example 8.4 +Plaintext: \ +fd da 5f bf 6e c3 61 a9 d9 a4 ac 68 af 21 6a 06\ +86 f4 38 b1 e0 e5 c3 6b 95 5f 74 e1 07 f3 9c 0d\ +dd cc +Seed: # not used yet\ +99 0a d5 73 dc 48 a9 73 23 5b 6d 82 54 36 18 f2\ +e9 55 10 5d +Ciphertext: \ +2e 45 68 47 d8 fc 36 ff 01 47 d6 99 35 94 b9 39\ +72 27 d5 77 75 2c 79 d0 f9 04 fc b0 39 d4 d8 12\ +fe a6 05 a7 b5 74 dd 82 ca 78 6f 93 75 23 48 43\ +8e e9 f5 b5 45 49 85 d5 f0 e1 69 9e 3e 7a d1 75\ +a3 2e 15 f0 3d eb 04 2a b9 fe 1d d9 db 1b b8 6f\ +8c 08 9c cb 45 e7 ef 0c 5e e7 ca 9b 72 90 ca 6b\ +15 be d4 70 39 78 8a 8a 93 ff 83 e0 e8 d6 24 4c\ +71 00 63 62 de ef 69 b6 f4 16 fb 3c 68 43 83 fb\ +d0 +Test: DecryptMatch +Comment: RSAES-OAEP Encryption Example 8.5 +Plaintext: \ +4a 5f 49 14 be e2 5d e3 c6 93 41 de 07 +Seed: # not used yet\ +ec c6 3b 28 f0 75 6f 22 f5 2a c8 e6 ec 12 51 a6\ +ec 30 47 18 +Ciphertext: \ +1f b9 35 6f d5 c4 b1 79 6d b2 eb f7 d0 d3 93 cc\ +81 0a df 61 45 de fc 2f ce 71 4f 79 d9 38 00 d5\ +e2 ac 21 1e a8 bb ec ca 4b 65 4b 94 c3 b1 8b 30\ +dd 57 6c e3 4d c9 54 36 ef 57 a0 94 15 64 59 23\ +35 9a 5d 7b 41 71 ef 22 c2 46 70 f1 b2 29 d3 60\ +3e 91 f7 66 71 b7 df 97 e7 31 7c 97 73 44 76 d5\ +f3 d1 7d 21 cf 82 b5 ba 9f 83 df 2e 58 8d 36 98\ +4f d1 b5 84 46 8b d2 3b 2e 87 5f 32 f6 89 53 f7\ +b2 +Test: DecryptMatch +Comment: RSAES-OAEP Encryption Example 8.6 +Plaintext: \ +8e 07 d6 6f 7b 88 0a 72 56 3a bc d3 f3 50 92 bc\ +33 40 9f b7 f8 8f 24 72 be +Seed: # not used yet\ +39 25 c7 1b 36 2d 40 a0 a6 de 42 14 55 79 ba 1e\ +7d d4 59 fc +Ciphertext: \ +3a fd 9c 66 00 14 7b 21 79 8d 81 8c 65 5a 0f 4c\ +92 12 db 26 d0 b0 df dc 2a 75 94 cc b3 d2 2f 5b\ +f1 d7 c3 e1 12 cd 73 fc 7d 50 9c 7a 8b af dd 3c\ +27 4d 13 99 00 9f 96 09 ec 4b e6 47 7e 45 3f 07\ +5a a3 3d b3 82 87 0c 1c 34 09 ae f3 92 d7 38 6a\ +e3 a6 96 b9 9a 94 b4 da 05 89 44 7e 95 5d 16 c9\ +8b 17 60 2a 59 bd 73 62 79 fc d8 fb 28 0c 44 62\ +d5 90 bf a9 bf 13 fe d5 70 ea fd e9 73 30 a2 c2\ +10 +Test: DecryptMatch + +AlgorithmType: AsymmetricCipher +Name: RSA/OAEP-MGF1(SHA-1) +Source: http://www.rsasecurity.com/rsalabs/pkcs/pkcs-1/, PKCS #1 test vectors +KeyFormat: Component +Comment: Example 9: A 1536-bit RSA Key Pair +Modulus: \ +cf 2c d4 1e 34 ca 3a 72 8e a5 cb 8a ff 64 c3 6d\ +27 bd ef 53 64 e3 36 fd 68 d3 12 3c 5a 19 6a 8c\ +28 70 13 e8 53 d5 15 6d 58 d1 51 95 45 20 fb 4f\ +6d 7b 17 ab b6 81 77 65 90 9c 57 61 19 65 9d 90\ +2b 19 06 ed 8a 2b 10 c1 55 c2 4d 12 45 28 da b9\ +ee ae 37 9b ea c6 6e 4a 41 17 86 dc b8 fd 00 62\ +eb c0 30 de 12 19 a0 4c 2a 8c 1b 7d d3 13 1e 4d\ +6b 6c ae e2 e3 1a 5e d4 1a c1 50 9b 2e f1 ee 2a\ +b1 83 64 be 56 8c a9 41 c2 5e cc 84 ff 9d 64 3b\ +5e c1 aa ae 10 2a 20 d7 3f 47 9b 78 0f d6 da 91\ +07 52 12 d9 ea c0 3a 06 74 d8 99 eb a2 e4 31 f4\ +c4 4b 61 5b 6b a2 23 2b d4 b3 3b ae d7 3d 62 5d +PublicExponent: \ +01 00 01 +PrivateExponent: \ +19 8c 14 1e 23 71 5a 92 bc cf 6a 11 9a 5b c1 13\ +89 46 8d 28 11 f5 48 d7 27 e1 7b 4a b0 eb 98 6d\ +6f 21 1e fb 53 b7 1f 7c cb ea 87 ee 69 c7 5e e6\ +15 00 8c 53 32 de b5 2b f3 90 ab df bf e3 7d 72\ +05 36 81 59 b2 63 8c 1d e3 26 e2 1d 22 25 1f 0f\ +b5 84 8b 3b f1 50 05 d2 a7 43 30 f0 af e9 16 ee\ +62 cc c1 34 4d 1d 83 a7 09 e6 06 76 27 38 40 f7\ +f3 77 42 4a 5e 0a 4d a7 5f 01 b3 1f f7 68 19 cf\ +9c bf dd 21 52 43 c3 91 7c 03 ef 38 19 93 12 e5\ +67 b3 bf 7a ed 3a b4 57 f3 71 ef 8a 14 23 f4 5b\ +68 c6 e2 82 ec 11 1b ba 28 33 b9 87 fd 69 fa d8\ +3b c1 b8 c6 13 c5 e1 ea 16 c1 1e d1 25 ea 7e c1 +Prime1: \ +fc 8d 6c 04 be c4 eb 9a 81 92 ca 79 00 cb e5 36\ +e2 e8 b5 19 de cf 33 b2 45 97 98 c6 90 9d f4 f1\ +76 db 7d 23 19 0f c7 2b 88 65 a7 18 af 89 5f 1b\ +cd 91 45 29 80 27 42 3b 60 5e 70 a4 7c f5 83 90\ +a8 c3 e8 8f c8 c4 8e 8b 32 e3 da 21 0d fb e3 e8\ +81 ea 56 74 b6 a3 48 c2 1e 93 f9 e5 5e a6 5e fd +Prime2: \ +d2 00 d4 5e 78 8a ac ea 60 6a 40 1d 04 60 f8 7d\ +d5 c1 02 7e 12 dc 1a 0d 75 86 e8 93 9d 9c f7 89\ +b4 0f 51 ac 04 42 96 1d e7 d2 1c c2 1e 05 c8 31\ +55 c1 f2 aa 91 93 38 7c fd f9 56 cb 48 d1 53 ba\ +27 04 06 f9 bb ba 53 7d 49 87 d9 e2 f9 94 2d 7a\ +14 cb ff fe a7 4f ec dd a9 28 d2 3e 25 9f 5e e1 +ModPrime1PrivateExponent: \ +db 16 80 2f 79 a2 f0 d4 5f 35 8d 69 fd 33 e4 4b\ +81 fa e8 28 62 2e 93 a5 42 53 e9 97 d0 1b 07 43\ +75 9d a0 e8 12 b4 aa 4e 6c 8b ea b2 32 8d 54 31\ +95 5a 41 8a 67 ff 26 a8 c5 c8 07 a5 da 35 4e 05\ +ef 31 cc 8c f7 58 f4 63 73 29 50 b0 3e 26 57 26\ +fb 94 e3 9d 6a 57 2a 26 24 4a b0 8d b7 57 52 ad +ModPrime2PrivateExponent: \ +a0 a3 17 cf e7 df 14 23 f8 7a 6d ee 84 51 f4 e2\ +b4 a6 7e 54 97 f2 9b 4f 1e 4e 83 0b 9f ad d9 40\ +11 67 02 6f 55 96 e5 a3 9c 97 81 7e 0f 5f 16 e2\ +7e 19 ec 99 02 e0 1d 7e a6 fb 9a a3 c7 60 af ee\ +1e 38 1b 69 de 6a c9 c0 75 85 a0 6a d9 c4 ba 00\ +bf 75 c8 ad 2f a8 98 a4 79 e8 0a e2 94 fe d2 a1 +MultiplicativeInverseOfPrime2ModPrime1: \ +0b 21 f3 35 c3 53 34 2e b4 4c 3a a2 44 45 78 0c\ +2d 65 5b 94 01 74 ca e3 8c 7c 8a 4e 64 93 c0 ba\ +9f d3 03 74 82 67 b0 83 b9 a7 a6 cb 61 e4 2d b3\ +62 b8 c9 89 6d b7 06 4e 02 ad 5a e6 15 87 da 15\ +b4 64 9c 90 59 49 09 fe b3 7d bc b6 54 be b7 26\ +8e c8 01 e5 a8 b4 aa 39 11 be bd 88 54 2f 05 be +Test: KeyPairValidAndConsistent +Comment: RSAES-OAEP Encryption Example 9.1 +Plaintext: \ +f7 35 fd 55 ba 92 59 2c 3b 52 b8 f9 c4 f6 9a aa\ +1c be f8 fe 88 ad d0 95 59 54 12 46 7f 9c f4 ec\ +0b 89 6c 59 ed a1 62 10 e7 54 9c 8a bb 10 cd bc\ +21 a1 2e c9 b6 b5 b8 fd 2f 10 39 9e b6 +Seed: # not used yet\ +8e c9 65 f1 34 a3 ec 99 31 e9 2a 1c a0 dc 81 69\ +d5 ea 70 5c +Ciphertext: \ +26 7b cd 11 8a ca b1 fc 8b a8 1c 85 d7 30 03 cb\ +86 10 fa 55 c1 d9 7d a8 d4 8a 7c 7f 06 89 6a 4d\ +b7 51 aa 28 42 55 b9 d3 6a d6 5f 37 65 3d 82 9f\ +1b 37 f9 7b 80 01 94 25 45 b2 fc 2c 55 a7 37 6c\ +a7 a1 be 4b 17 60 c8 e0 5a 33 e5 aa 25 26 b8 d9\ +8e 31 70 88 e7 83 4c 75 5b 2a 59 b1 26 31 a1 82\ +c0 5d 5d 43 ab 17 79 26 4f 84 56 f5 15 ce 57 df\ +df 51 2d 54 93 da b7 b7 33 8d c4 b7 d7 8d b9 c0\ +91 ac 3b af 53 7a 69 fc 7f 54 9d 97 9f 0e ff 9a\ +94 fd a4 16 9b d4 d1 d1 9a 69 c9 9e 33 c3 b5 54\ +90 d5 01 b3 9b 1e da e1 18 ff 67 93 a1 53 26 15\ +84 d3 a5 f3 9f 6e 68 2e 3d 17 c8 cd 12 61 fa 72 +Test: DecryptMatch +Comment: RSAES-OAEP Encryption Example 9.2 +Plaintext: \ +81 b9 06 60 50 15 a6 3a ab e4 2d df 11 e1 97 89\ +12 f5 40 4c 74 74 b2 6d ce 3e d4 82 bf 96 1e cc\ +81 8b f4 20 c5 46 59 +Seed: # not used yet\ +ec b1 b8 b2 5f a5 0c da b0 8e 56 04 28 67 f4 af\ +58 26 d1 6c +Ciphertext: \ +93 ac 9f 06 71 ec 29 ac bb 44 4e ff c1 a5 74 13\ +51 d6 0f db 0e 39 3f bf 75 4a cf 0d e4 97 61 a1\ +48 41 df 77 72 e9 bc 82 77 39 66 a1 58 4c 4d 72\ +ba ea 00 11 8f 83 f3 5c ca 6e 53 7c bd 4d 81 1f\ +55 83 b2 97 83 d8 a6 d9 4c d3 1b e7 0d 6f 52 6c\ +10 ff 09 c6 fa 7c e0 69 79 5a 3f cd 05 11 fd 5f\ +cb 56 4b cc 80 ea 9c 78 f3 8b 80 01 25 39 d8 a4\ +dd f6 fe 81 e9 cd db 7f 50 db bb bc c7 e5 d8 60\ +97 cc f4 ec 49 18 9f b8 bf 31 8b e6 d5 a0 71 5d\ +51 6b 49 af 19 12 58 cd 32 dc 83 3c e6 eb 46 73\ +c0 3a 19 bb ac e8 8c c5 48 95 f6 36 cc 0c 1e c8\ +90 96 d1 1c e2 35 a2 65 ca 17 64 23 2a 68 9a e8 +Test: DecryptMatch +Comment: RSAES-OAEP Encryption Example 9.3 +Plaintext: \ +fd 32 64 29 df 9b 89 0e 09 b5 4b 18 b8 f3 4f 1e\ +24 +Seed: # not used yet\ +e8 9b b0 32 c6 ce 62 2c bd b5 3b c9 46 60 14 ea\ +77 f7 77 c0 +Ciphertext: \ +81 eb dd 95 05 4b 0c 82 2e f9 ad 76 93 f5 a8 7a\ +df b4 b4 c4 ce 70 df 2d f8 4e d4 9c 04 da 58 ba\ +5f c2 0a 19 e1 a6 e8 b7 a3 90 0b 22 79 6d c4 e8\ +69 ee 6b 42 79 2d 15 a8 ec eb 56 c0 9c 69 91 4e\ +81 3c ea 8f 69 31 e4 b8 ed 6f 42 1a f2 98 d5 95\ +c9 7f 47 89 c7 ca a6 12 c7 ef 36 09 84 c2 1b 93\ +ed c5 40 10 68 b5 af 4c 78 a8 77 1b 98 4d 53 b8\ +ea 8a df 2f 6a 7d 4a 0b a7 6c 75 e1 dd 9f 65 8f\ +20 de d4 a4 60 71 d4 6d 77 91 b5 68 03 d8 fe a7\ +f0 b0 f8 e4 1a e3 f0 93 83 a6 f9 58 5f e7 75 3e\ +aa ff d2 bf 94 56 31 08 be ec c2 07 bb b5 35 f5\ +fc c7 05 f0 dd e9 f7 08 c6 2f 49 a9 c9 03 71 d3 +Test: DecryptMatch +Comment: RSAES-OAEP Encryption Example 9.4 +Plaintext: \ +f1 45 9b 5f 0c 92 f0 1a 0f 72 3a 2e 56 62 48 4d\ +8f 8c 0a 20 fc 29 da d6 ac d4 3b b5 f3 ef fd f4\ +e1 b6 3e 07 fd fe 66 28 d0 d7 4c a1 9b f2 d6 9e\ +4a 0a bf 86 d2 93 92 5a 79 67 72 f8 08 8e +Seed: # not used yet\ +60 6f 3b 99 c0 b9 cc d7 71 ea a2 9e a0 e4 c8 84\ +f3 18 9c cc +Ciphertext: \ +bc c3 5f 94 cd e6 6c b1 13 66 25 d6 25 b9 44 32\ +a3 5b 22 f3 d2 fa 11 a6 13 ff 0f ca 5b d5 7f 87\ +b9 02 cc dc 1c d0 ae bc b0 71 5e e8 69 d1 d1 fe\ +39 5f 67 93 00 3f 5e ca 46 50 59 c8 86 60 d4 46\ +ff 5f 08 18 55 20 22 55 7e 38 c0 8a 67 ea d9 91\ +26 22 54 f1 06 82 97 5e c5 63 97 76 85 37 f4 97\ +7a f6 d5 f6 aa ce b7 fb 25 de c5 93 72 30 23 1f\ +d8 97 8a f4 91 19 a2 9f 29 e4 24 ab 82 72 b4 75\ +62 79 2d 5c 94 f7 74 b8 82 9d 0b 0d 9f 1a 8c 9e\ +dd f3 75 74 d5 fa 24 8e ef a9 c5 27 1f c5 ec 25\ +79 c8 1b dd 61 b4 10 fa 61 fe 36 e4 24 22 1c 11\ +3a dd b2 75 66 4c 80 1d 34 ca 8c 63 51 e4 a8 58 +Test: DecryptMatch +Comment: RSAES-OAEP Encryption Example 9.5 +Plaintext: \ +53 e6 e8 c7 29 d6 f9 c3 19 dd 31 7e 74 b0 db 8e\ +4c cc a2 5f 3c 83 05 74 6e 13 7a c6 3a 63 ef 37\ +39 e7 b5 95 ab b9 6e 8d 55 e5 4f 7b d4 1a b4 33\ +37 8f fb 91 1d +Seed: # not used yet\ +fc bc 42 14 02 e9 ec ab c6 08 2a fa 40 ba 5f 26\ +52 2c 84 0e +Ciphertext: \ +23 2a fb c9 27 fa 08 c2 f6 a2 7b 87 d4 a5 cb 09\ +c0 7d c2 6f ae 73 d7 3a 90 55 88 39 f4 fd 66 d2\ +81 b8 7e c7 34 bc e2 37 ba 16 66 98 ed 82 91 06\ +a7 de 69 42 cd 6c dc e7 8f ed 8d 2e 4d 81 42 8e\ +66 49 0d 03 62 64 ce f9 2a f9 41 d3 e3 50 55 fe\ +39 81 e1 4d 29 cb b9 a4 f6 74 73 06 3b ae c7 9a\ +11 79 f5 a1 7c 9c 18 32 f2 83 8f d7 d5 e5 9b b9\ +65 9d 56 dc e8 a0 19 ed ef 1b b3 ac cc 69 7c c6\ +cc 7a 77 8f 60 a0 64 c7 f6 f5 d5 29 c6 21 02 62\ +e0 03 de 58 3e 81 e3 16 7b 89 97 1f b8 c0 e1 5d\ +44 ff fe f8 9b 53 d8 d6 4d d7 97 d1 59 b5 6d 2b\ +08 ea 53 07 ea 12 c2 41 bd 58 d4 ee 27 8a 1f 2e +Test: DecryptMatch +Comment: RSAES-OAEP Encryption Example 9.6 +Plaintext: \ +b6 b2 8e a2 19 8d 0c 10 08 bc 64 +Seed: # not used yet\ +23 aa de 0e 1e 08 bb 9b 9a 78 d2 30 2a 52 f9 c2\ +1b 2e 1b a2 +Ciphertext: \ +43 8c c7 dc 08 a6 8d a2 49 e4 25 05 f8 57 3b a6\ +0e 2c 27 73 d5 b2 90 f4 cf 9d ff 71 8e 84 20 81\ +c3 83 e6 70 24 a0 f2 95 94 ea 98 7b 9d 25 e4 b7\ +38 f2 85 97 0d 19 5a bb 3a 8c 80 54 e3 d7 9d 6b\ +9c 9a 83 27 ba 59 6f 12 59 e2 71 26 67 47 66 90\ +7d 8d 58 2f f3 a8 47 61 54 92 9a db 1e 6d 12 35\ +b2 cc b4 ec 8f 66 3b a9 cc 67 0a 92 be bd 85 3c\ +8d bf 69 c6 43 6d 01 6f 61 ad d8 36 e9 47 32 45\ +04 34 20 7f 9f d4 c4 3d ec 2a 12 a9 58 ef a0 1e\ +fe 26 69 89 9b 5e 60 4c 25 5c 55 fb 71 66 de 55\ +89 e3 69 59 7b b0 91 68 c0 6d d5 db 17 7e 06 a1\ +74 0e b2 d5 c8 2f ae ca 6d 92 fc ee 99 31 ba 9f +Test: DecryptMatch + +AlgorithmType: AsymmetricCipher +Name: RSA/OAEP-MGF1(SHA-1) +Source: http://www.rsasecurity.com/rsalabs/pkcs/pkcs-1/, PKCS #1 test vectors +KeyFormat: Component +Comment: Example 10: A 2048-bit RSA Key Pair +Modulus: \ +ae 45 ed 56 01 ce c6 b8 cc 05 f8 03 93 5c 67 4d\ +db e0 d7 5c 4c 09 fd 79 51 fc 6b 0c ae c3 13 a8\ +df 39 97 0c 51 8b ff ba 5e d6 8f 3f 0d 7f 22 a4\ +02 9d 41 3f 1a e0 7e 4e be 9e 41 77 ce 23 e7 f5\ +40 4b 56 9e 4e e1 bd cf 3c 1f b0 3e f1 13 80 2d\ +4f 85 5e b9 b5 13 4b 5a 7c 80 85 ad ca e6 fa 2f\ +a1 41 7e c3 76 3b e1 71 b0 c6 2b 76 0e de 23 c1\ +2a d9 2b 98 08 84 c6 41 f5 a8 fa c2 6b da d4 a0\ +33 81 a2 2f e1 b7 54 88 50 94 c8 25 06 d4 01 9a\ +53 5a 28 6a fe b2 71 bb 9b a5 92 de 18 dc f6 00\ +c2 ae ea e5 6e 02 f7 cf 79 fc 14 cf 3b dc 7c d8\ +4f eb bb f9 50 ca 90 30 4b 22 19 a7 aa 06 3a ef\ +a2 c3 c1 98 0e 56 0c d6 4a fe 77 95 85 b6 10 76\ +57 b9 57 85 7e fd e6 01 09 88 ab 7d e4 17 fc 88\ +d8 f3 84 c4 e6 e7 2c 3f 94 3e 0c 31 c0 c4 a5 cc\ +36 f8 79 d8 a3 ac 9d 7d 59 86 0e aa da 6b 83 bb +PublicExponent: \ +01 00 01 +PrivateExponent: \ +05 6b 04 21 6f e5 f3 54 ac 77 25 0a 4b 6b 0c 85\ +25 a8 5c 59 b0 bd 80 c5 64 50 a2 2d 5f 43 8e 59\ +6a 33 3a a8 75 e2 91 dd 43 f4 8c b8 8b 9d 5f c0\ +d4 99 f9 fc d1 c3 97 f9 af c0 70 cd 9e 39 8c 8d\ +19 e6 1d b7 c7 41 0a 6b 26 75 df bf 5d 34 5b 80\ +4d 20 1a dd 50 2d 5c e2 df cb 09 1c e9 99 7b be\ +be 57 30 6f 38 3e 4d 58 81 03 f0 36 f7 e8 5d 19\ +34 d1 52 a3 23 e4 a8 db 45 1d 6f 4a 5b 1b 0f 10\ +2c c1 50 e0 2f ee e2 b8 8d ea 4a d4 c1 ba cc b2\ +4d 84 07 2d 14 e1 d2 4a 67 71 f7 40 8e e3 05 64\ +fb 86 d4 39 3a 34 bc f0 b7 88 50 1d 19 33 03 f1\ +3a 22 84 b0 01 f0 f6 49 ea f7 93 28 d4 ac 5c 43\ +0a b4 41 49 20 a9 46 0e d1 b7 bc 40 ec 65 3e 87\ +6d 09 ab c5 09 ae 45 b5 25 19 01 16 a0 c2 61 01\ +84 82 98 50 9c 1c 3b f3 a4 83 e7 27 40 54 e1 5e\ +97 07 50 36 e9 89 f6 09 32 80 7b 52 57 75 1e 79 +Prime1: \ +ec f5 ae cd 1e 55 15 ff fa cb d7 5a 28 16 c6 eb\ +f4 90 18 cd fb 46 38 e1 85 d6 6a 73 96 b6 f8 09\ +0f 80 18 c7 fd 95 cc 34 b8 57 dc 17 f0 cc 65 16\ +bb 13 46 ab 4d 58 2c ad ad 7b 41 03 35 23 87 b7\ +03 38 d0 84 04 7c 9d 95 39 b6 49 62 04 b3 dd 6e\ +a4 42 49 92 07 be c0 1f 96 42 87 ff 63 36 c3 98\ +46 58 33 68 46 f5 6e 46 86 18 81 c1 02 33 d2 17\ +6b f1 5a 5e 96 dd c7 80 bc 86 8a a7 7d 3c e7 69 +Prime2: \ +bc 46 c4 64 fc 6a c4 ca 78 3b 0e b0 8a 3c 84 1b\ +77 2f 7e 9b 2f 28 ba bd 58 8a e8 85 e1 a0 c6 1e\ +48 58 a0 fb 25 ac 29 99 90 f3 5b e8 51 64 c2 59\ +ba 11 75 cd d7 19 27 07 13 51 84 99 2b 6c 29 b7\ +46 dd 0d 2c ab e1 42 83 5f 7d 14 8c c1 61 52 4b\ +4a 09 94 6d 48 b8 28 47 3f 1c e7 6b 6c b6 88 6c\ +34 5c 03 e0 5f 41 d5 1b 5c 3a 90 a3 f2 40 73 c7\ +d7 4a 4f e2 5d 9c f2 1c 75 96 0f 3f c3 86 31 83 +ModPrime1PrivateExponent: \ +c7 35 64 57 1d 00 fb 15 d0 8a 3d e9 95 7a 50 91\ +5d 71 26 e9 44 2d ac f4 2b c8 2e 86 2e 56 73 ff\ +6a 00 8e d4 d2 e3 74 61 7d f8 9f 17 a1 60 b4 3b\ +7f da 9c b6 b6 b7 42 18 60 98 15 f7 d4 5c a2 63\ +c1 59 aa 32 d2 72 d1 27 fa f4 bc 8c a2 d7 73 78\ +e8 ae b1 9b 0a d7 da 3c b3 de 0a e7 31 49 80 f6\ +2b 6d 4b 0a 87 5d 1d f0 3c 1b ae 39 cc d8 33 ef\ +6c d7 e2 d9 52 8b f0 84 d1 f9 69 e7 94 e9 f6 c1 +ModPrime2PrivateExponent: \ +26 58 b3 7f 6d f9 c1 03 0b e1 db 68 11 7f a9 d8\ +7e 39 ea 2b 69 3b 7e 6d 3a 2f 70 94 74 13 ee c6\ +14 2e 18 fb 8d fc b6 ac 54 5d 7c 86 a0 ad 48 f8\ +45 71 70 f0 ef b2 6b c4 81 26 c5 3e fd 1d 16 92\ +01 98 dc 2a 11 07 dc 28 2d b6 a8 0c d3 06 23 60\ +ba 3f a1 3f 70 e4 31 2f f1 a6 cd 6b 8f c4 cd 9c\ +5c 3d b1 7c 6d 6a 57 21 2f 73 ae 29 f6 19 32 7b\ +ad 59 b1 53 85 85 85 ba 4e 28 b6 0a 62 a4 5e 49 +MultiplicativeInverseOfPrime2ModPrime1: \ +6f 38 52 6b 39 25 08 55 34 ef 3e 41 5a 83 6e de\ +8b 86 15 8a 2c 7c bf ec cb 0b d8 34 30 4f ec 68\ +3b a8 d4 f4 79 c4 33 d4 34 16 e6 32 69 62 3c ea\ +10 07 76 d8 5a ff 40 1d 3f ff 61 0e e6 54 11 ce\ +3b 13 63 d6 3a 97 09 ee de 42 64 7c ea 56 14 93\ +d5 45 70 a8 79 c1 86 82 cd 97 71 0b 96 20 5e c3\ +11 17 d7 3b 5f 36 22 3f ad d6 e8 ba 90 dd 7c 0e\ +e6 1d 44 e1 63 25 1e 20 c7 f6 6e b3 05 11 7c b8 +Test: KeyPairValidAndConsistent +Comment: RSAES-OAEP Encryption Example 10.1 +Plaintext: \ +8b ba 6b f8 2a 6c 0f 86 d5 f1 75 6e 97 95 68 70\ +b0 89 53 b0 6b 4e b2 05 bc 16 94 ee +Seed: # not used yet\ +47 e1 ab 71 19 fe e5 6c 95 ee 5e aa d8 6f 40 d0\ +aa 63 bd 33 +Ciphertext: \ +53 ea 5d c0 8c d2 60 fb 3b 85 85 67 28 7f a9 15\ +52 c3 0b 2f eb fb a2 13 f0 ae 87 70 2d 06 8d 19\ +ba b0 7f e5 74 52 3d fb 42 13 9d 68 c3 c5 af ee\ +e0 bf e4 cb 79 69 cb f3 82 b8 04 d6 e6 13 96 14\ +4e 2d 0e 60 74 1f 89 93 c3 01 4b 58 b9 b1 95 7a\ +8b ab cd 23 af 85 4f 4c 35 6f b1 66 2a a7 2b fc\ +c7 e5 86 55 9d c4 28 0d 16 0c 12 67 85 a7 23 eb\ +ee be ff 71 f1 15 94 44 0a ae f8 7d 10 79 3a 87\ +74 a2 39 d4 a0 4c 87 fe 14 67 b9 da f8 52 08 ec\ +6c 72 55 79 4a 96 cc 29 14 2f 9a 8b d4 18 e3 c1\ +fd 67 34 4b 0c d0 82 9d f3 b2 be c6 02 53 19 62\ +93 c6 b3 4d 3f 75 d3 2f 21 3d d4 5c 62 73 d5 05\ +ad f4 cc ed 10 57 cb 75 8f c2 6a ee fa 44 12 55\ +ed 4e 64 c1 99 ee 07 5e 7f 16 64 61 82 fd b4 64\ +73 9b 68 ab 5d af f0 e6 3e 95 52 01 68 24 f0 54\ +bf 4d 3c 8c 90 a9 7b b6 b6 55 32 84 eb 42 9f cc +Test: DecryptMatch +Comment: RSAES-OAEP Encryption Example 10.2 +Plaintext: \ +e6 ad 18 1f 05 3b 58 a9 04 f2 45 75 10 37 3e 57 +Seed: # not used yet\ +6d 17 f5 b4 c1 ff ac 35 1d 19 5b f7 b0 9d 09 f0\ +9a 40 79 cf +Ciphertext: \ +a2 b1 a4 30 a9 d6 57 e2 fa 1c 2b b5 ed 43 ff b2\ +5c 05 a3 08 fe 90 93 c0 10 31 79 5f 58 74 40 01\ +10 82 8a e5 8f b9 b5 81 ce 9d dd d3 e5 49 ae 04\ +a0 98 54 59 bd e6 c6 26 59 4e 7b 05 dc 42 78 b2\ +a1 46 5c 13 68 40 88 23 c8 5e 96 dc 66 c3 a3 09\ +83 c6 39 66 4f c4 56 9a 37 fe 21 e5 a1 95 b5 77\ +6e ed 2d f8 d8 d3 61 af 68 6e 75 02 29 bb d6 63\ +f1 61 86 8a 50 61 5e 0c 33 7b ec 0c a3 5f ec 0b\ +b1 9c 36 eb 2e 0b bc c0 58 2f a1 d9 3a ac db 06\ +10 63 f5 9f 2c e1 ee 43 60 5e 5d 89 ec a1 83 d2\ +ac df e9 f8 10 11 02 2a d3 b4 3a 3d d4 17 da c9\ +4b 4e 11 ea 81 b1 92 96 6e 96 6b 18 20 82 e7 19\ +64 60 7b 4f 80 02 f3 62 99 84 4a 11 f2 ae 0f ae\ +ac 2e ae 70 f8 f4 f9 80 88 ac dc d0 ac 55 6e 9f\ +cc c5 11 52 19 08 fa d2 6f 04 c6 42 01 45 03 05\ +77 87 58 b0 53 8b f8 b5 bb 14 4a 82 8e 62 97 95 +Test: DecryptMatch +Comment: RSAES-OAEP Encryption Example 10.3 +Plaintext: \ +51 0a 2c f6 0e 86 6f a2 34 05 53 c9 4e a3 9f bc\ +25 63 11 e8 3e 94 45 4b 41 24 +Seed: # not used yet\ +38 53 87 51 4d ec cc 7c 74 0d d8 cd f9 da ee 49\ +a1 cb fd 54 +Ciphertext: \ +98 86 c3 e6 76 4a 8b 9a 84 e8 41 48 eb d8 c3 b1\ +aa 80 50 38 1a 78 f6 68 71 4c 16 d9 cf d2 a6 ed\ +c5 69 79 c5 35 d9 de e3 b4 4b 85 c1 8b e8 92 89\ +92 37 17 11 47 22 16 d9 5d da 98 d2 ee 83 47 c9\ +b1 4d ff df f8 4a a4 8d 25 ac 06 f7 d7 e6 53 98\ +ac 96 7b 1c e9 09 25 f6 7d ce 04 9b 7f 81 2d b0\ +74 29 97 a7 4d 44 fe 81 db e0 e7 a3 fe af 2e 5c\ +40 af 88 8d 55 0d db be 3b c2 06 57 a2 95 43 f8\ +fc 29 13 b9 bd 1a 61 b2 ab 22 56 ec 40 9b bd 7d\ +c0 d1 77 17 ea 25 c4 3f 42 ed 27 df 87 38 bf 4a\ +fc 67 66 ff 7a ff 08 59 55 5e e2 83 92 0f 4c 8a\ +63 c4 a7 34 0c ba fd dc 33 9e cd b4 b0 51 50 02\ +f9 6c 93 2b 5b 79 16 7a f6 99 c0 ad 3f cc fd f0\ +f4 4e 85 a7 02 62 bf 2e 18 fe 34 b8 50 58 99 75\ +e8 67 ff 96 9d 48 ea bf 21 22 71 54 6c dc 05 a6\ +9e cb 52 6e 52 87 0c 83 6f 30 7b d7 98 78 0e de +Test: DecryptMatch +Comment: RSAES-OAEP Encryption Example 10.4 +Plaintext: \ +bc dd 19 0d a3 b7 d3 00 df 9a 06 e2 2c aa e2 a7\ +5f 10 c9 1f f6 67 b7 c1 6b de 8b 53 06 4a 26 49\ +a9 40 45 c9 +Seed: # not used yet\ +5c ac a6 a0 f7 64 16 1a 96 84 f8 5d 92 b6 e0 ef\ +37 ca 8b 65 +Ciphertext: \ +63 18 e9 fb 5c 0d 05 e5 30 7e 16 83 43 6e 90 32\ +93 ac 46 42 35 8a aa 22 3d 71 63 01 3a ba 87 e2\ +df da 8e 60 c6 86 0e 29 a1 e9 26 86 16 3e a0 b9\ +17 5f 32 9c a3 b1 31 a1 ed d3 a7 77 59 a8 b9 7b\ +ad 6a 4f 8f 43 96 f2 8c f6 f3 9c a5 81 12 e4 81\ +60 d6 e2 03 da a5 85 6f 3a ca 5f fe d5 77 af 49\ +94 08 e3 df d2 33 e3 e6 04 db e3 4a 9c 4c 90 82\ +de 65 52 7c ac 63 31 d2 9d c8 0e 05 08 a0 fa 71\ +22 e7 f3 29 f6 cc a5 cf a3 4d 4d 1d a4 17 80 54\ +57 e0 08 be c5 49 e4 78 ff 9e 12 a7 63 c4 77 d1\ +5b bb 78 f5 b6 9b d5 78 30 fc 2c 4e d6 86 d7 9b\ +c7 2a 95 d8 5f 88 13 4c 6b 0a fe 56 a8 cc fb c8\ +55 82 8b b3 39 bd 17 90 9c f1 d7 0d e3 33 5a e0\ +70 39 09 3e 60 6d 65 53 65 de 65 50 b8 72 cd 6d\ +e1 d4 40 ee 03 1b 61 94 5f 62 9a d8 a3 53 b0 d4\ +09 39 e9 6a 3c 45 0d 2a 8d 5e ee 9f 67 80 93 c8 +Test: DecryptMatch +Comment: RSAES-OAEP Encryption Example 10.5 +Plaintext: \ +a7 dd 6c 7d c2 4b 46 f9 dd 5f 1e 91 ad a4 c3 b3\ +df 94 7e 87 72 32 a9 +Seed: # not used yet\ +95 bc a9 e3 85 98 94 b3 dd 86 9f a7 ec d5 bb c6\ +40 1b f3 e4 +Ciphertext: \ +75 29 08 72 cc fd 4a 45 05 66 0d 65 1f 56 da 6d\ +aa 09 ca 13 01 d8 90 63 2f 6a 99 2f 3d 56 5c ee\ +46 4a fd ed 40 ed 3b 5b e9 35 67 14 ea 5a a7 65\ +5f 4a 13 66 c2 f1 7c 72 8f 6f 2c 5a 5d 1f 8e 28\ +42 9b c4 e6 f8 f2 cf f8 da 8d c0 e0 a9 80 8e 45\ +fd 09 ea 2f a4 0c b2 b6 ce 6f ff f5 c0 e1 59 d1\ +1b 68 d9 0a 85 f7 b8 4e 10 3b 09 e6 82 66 64 80\ +c6 57 50 5c 09 29 25 94 68 a3 14 78 6d 74 ea b1\ +31 57 3c f2 34 bf 57 db 7d 9e 66 cc 67 48 19 2e\ +00 2d c0 de ea 93 05 85 f0 83 1f dc d9 bc 33 d5\ +1f 79 ed 2f fc 16 bc f4 d5 98 12 fc eb ca a3 f9\ +06 9b 0e 44 56 86 d6 44 c2 5c cf 63 b4 56 ee 5f\ +a6 ff e9 6f 19 cd f7 51 fe d9 ea f3 59 57 75 4d\ +bf 4b fe a5 21 6a a1 84 4d c5 07 cb 2d 08 0e 72\ +2e ba 15 03 08 c2 b5 ff 11 93 62 0f 17 66 ec f4\ +48 1b af b9 43 bd 29 28 77 f2 13 6c a4 94 ab a0 +Test: DecryptMatch +Comment: RSAES-OAEP Encryption Example 10.6 +Plaintext: \ +ea f1 a7 3a 1b 0c 46 09 53 7d e6 9c d9 22 8b bc\ +fb 9a 8c a8 c6 c3 ef af 05 6f e4 a7 f4 63 4e d0\ +0b 7c 39 ec 69 22 d7 b8 ea 2c 04 eb ac +Seed: # not used yet\ +9f 47 dd f4 2e 97 ee a8 56 a9 bd bc 71 4e b3 ac\ +22 f6 eb 32 +Ciphertext: \ +2d 20 7a 73 43 2a 8f b4 c0 30 51 b3 f7 3b 28 a6\ +17 64 09 8d fa 34 c4 7a 20 99 5f 81 15 aa 68 16\ +67 9b 55 7e 82 db ee 58 49 08 c6 e6 97 82 d7 de\ +b3 4d bd 65 af 06 3d 57 fc a7 6a 5f d0 69 49 2f\ +d6 06 8d 99 84 d2 09 35 05 65 a6 2e 5c 77 f2 30\ +38 c1 2c b1 0c 66 34 70 9b 54 7c 46 f6 b4 a7 09\ +bd 85 ca 12 2d 74 46 5e f9 77 62 c2 97 63 e0 6d\ +bc 7a 9e 73 8c 78 bf ca 01 02 dc 5e 79 d6 5b 97\ +3f 28 24 0c aa b2 e1 61 a7 8b 57 d2 62 45 7e d8\ +19 5d 53 e3 c7 ae 9d a0 21 88 3c 6d b7 c2 4a fd\ +d2 32 2e ac 97 2a d3 c3 54 c5 fc ef 1e 14 6c 3a\ +02 90 fb 67 ad f0 07 06 6e 00 42 8d 2c ec 18 ce\ +58 f9 32 86 98 de fe f4 b2 eb 5e c7 69 18 fd e1\ +c1 98 cb b3 8b 7a fc 67 62 6a 9a ef ec 43 22 bf\ +d9 0d 25 63 48 1c 9a 22 1f 78 c8 27 2c 82 d1 b6\ +2a b9 14 e1 c6 9f 6a f6 ef 30 ca 52 60 db 4a 46 +Test: DecryptMatch diff --git a/TestVectors/rsa_pkcs1_1_5.txt b/TestVectors/rsa_pkcs1_1_5.txt index 2272b7c4..47da2578 100644 --- a/TestVectors/rsa_pkcs1_1_5.txt +++ b/TestVectors/rsa_pkcs1_1_5.txt @@ -1,89 +1,89 @@ -AlgorithmType: Signature -Name: RSA/PKCS1-1.5(MD2) -KeyFormat: DER -Source: http://www.rsasecurity.com/rsalabs/pkcs/index.html, \ - Some Examples of the PKCS Standards -PrivateKey: \ - 30 82 01 50\ - 02 01 00 #version = 0\ - 30 0d #privateKeyAlgorithmIdentifier\ - 06 09 #algorithm = rsaEncryption\ - 2a 86 48 86 f7 0d 01 01 01\ - 05 00 #parameters = NULL\ - 04 82 01 3a #privateKey = RSAPrivateKey encoding\ - 30 82 01 36\ - 02 01 00 #version = 0\ - 02 40 #modulus = n\ - 0a 66 79 1d c6 98 81 68 de 7a b7 74 19 bb 7f b0\ - c0 01 c6 27 10 27 00 75 14 29 42 e1 9a 8d 8c 51\ - d0 53 b3 e3 78 2a 1d e5 dc 5a f4 eb e9 94 68 17\ - 01 14 a1 df e6 7c dc 9a 9a f5 5d 65 56 20 bb ab\ - 02 03 01 00 01 #publicExponent = e\ - 02 40 #privateExponent = d\ - 01 23 c5 b6 1b a3 6e db 1d 36 79 90 41 99 a8 9e\ - a8 0c 09 b9 12 2e 14 00 c0 9a dc f7 78 46 76 d0\ - 1d 23 35 6a 7d 44 d6 bd 8b d5 0e 94 bf c7 23 fa\ - 87 d8 86 2b 75 17 76 91 c1 1d 75 76 92 df 88 81\ - 02 20 #prime1 = p\ - 33 d4 84 45 c8 59 e5 23 40 de 70 4b cd da 06 5f\ - bb 40 58 d7 40 bd 1d 67 d2 9e 9c 14 6c 11 cf 61\ - 02 20 #prime2 = q\ - 33 5e 84 08 86 6b 0f d3 8d c7 00 2d 3f 97 2c 67\ - 38 9a 65 d5 d8 30 65 66 d5 c4 f2 a5 aa 52 62 8b\ - 02 20 #exponent1 = d mod p-1\ - 04 5e c9 00 71 52 53 25 d3 d4 6d b7 96 95 e9 af\ - ac c4 52 39 64 36 0e 02 b1 19 ba a3 66 31 62 41\ - 02 20 #exponent2 = d mod q-1\ - 15 eb 32 73 60 c7 b6 0d 12 e5 e2 d1 6b dc d9 79\ - 81 d1 7f ba 6b 70 db 13 b2 0b 43 6e 24 ea da 59\ - 02 20 #coefficient = q-1 mod p\ - 2c a6 36 6d 72 78 1d fa 24 d3 4a 9a 24 cb c2 ae\ - 92 7a 99 58 af 42 65 63 ff 63 fb 11 65 8a 46 1d -PublicKey: \ - 30 5b #subjectPublicKeyInfo\ - 30 0d #algorithm\ - 06 09 #algorithm = rsaEncryption\ - 2a 86 48 86 f7 0d 01 01 01\ - 05 00 #parameters = NULL\ - 03 4a #subjectPublicKey = RSAPublicKey encoding\ - 00\ - 30 47\ - 02 40 #modulus = n\ - 0a 66 79 1d c6 98 81 68 de 7a b7 74 19 bb 7f b0\ - c0 01 c6 27 10 27 00 75 14 29 42 e1 9a 8d 8c 51\ - d0 53 b3 e3 78 2a 1d e5 dc 5a f4 eb e9 94 68 17\ - 01 14 a1 df e6 7c dc 9a 9a f5 5d 65 56 20 bb ab\ - 02 03 01 00 01 #publicExponent = e -Test: KeyPairValidAndConsistent -Message: # "Everyone gets Friday off."\ - 45 76 65 72 79 6f 6e 65 20 67 65 74 73 20 46 72 69 64 61 79 20 6f 66 66 2e -Signature: \ - 05fa6a812fc7df8bf4f2542509e03e84\ - 6e11b9c620be2009efb440efbcc66921\ - 6994ac04f341b57d05202d428fb2a27b\ - 5c77dfd9b15bfc3d559353503410c1e1 -Test: Verify -Name: RSA/PKCS1-1.5(SHA-1) -Source: generated by Wei Dai using Crypto++ 5.0 -Signature: 0610761F95FFD1B8F29DA34212947EC2AA0E358866A722F03CC3C41487ADC604A48FF54F5C6BEDB9FB7BD59F82D6E55D8F3174BA361B2214B2D74E8825E04E81 -Test: Verify -Message: 00 -Test: NotVerify - -AlgorithmType: Signature -Name: RSA/PKCS1-1.5(SHA-1) -Source: http://islab.oregonstate.edu/emails/pkcs-tng-02/0152 -KeyFormat: Component -Modulus: A885B6F851A8079AB8A281DB0297148511EE0D8C07C0D4AE6D6FED461488E0D41E3FF8F281B06A3240B5007A5C2AB4FB6BE8AF88F119DB998368DDDC9710ABED -PublicExponent: 010001 -PrivateExponent: 2B259D2CA3DF851EE891F6F4678BDDFD9A131C95D3305C63D2723B4A5B9C960F5EC8BB7DCDDBEBD8B6A38767D64AD451E9383E0891E4EE7506100481F2B49323 -Prime1: D7103CD676E39824E2BE50B8E6533FE7CB7484348E283802AD2B8D00C80D19DF -Prime2: C89996DC169CEB3F227958275968804D4BE9FC4012C3219662F1A438C9950BB3 -ModPrime1PrivateExponent: 5D8EA4C8AF83A70634D5920C3DB66D908AC3AF57A597FD75BC9BBB856181C185 -ModPrime2PrivateExponent: C598E54DAEC8ABC1E907769A6C2BD01653ED0C9960E1EDB7E186FDA922883A99 -MultiplicativeInverseOfPrime2ModPrime1: 7C6F27B5B51B78AD80FB36E700990CF307866F2943124CBD93D97C137794C104 -Test: KeyPairValidAndConsistent -Source: generated by Wei Dai using Crypto++ 5.0 -Message: 74657374 # "test" -Signature: A7E00CE4391F914D82158D9B732759808E25A1C6383FE87A5199157650D4296CF612E9FF809E686A0AF328238306E79965F6D0138138829D9A1A22764306F6CE -Test: Verify +AlgorithmType: Signature +Name: RSA/PKCS1-1.5(MD2) +KeyFormat: DER +Source: http://www.rsasecurity.com/rsalabs/pkcs/index.html, \ + Some Examples of the PKCS Standards +PrivateKey: \ + 30 82 01 50\ + 02 01 00 #version = 0\ + 30 0d #privateKeyAlgorithmIdentifier\ + 06 09 #algorithm = rsaEncryption\ + 2a 86 48 86 f7 0d 01 01 01\ + 05 00 #parameters = NULL\ + 04 82 01 3a #privateKey = RSAPrivateKey encoding\ + 30 82 01 36\ + 02 01 00 #version = 0\ + 02 40 #modulus = n\ + 0a 66 79 1d c6 98 81 68 de 7a b7 74 19 bb 7f b0\ + c0 01 c6 27 10 27 00 75 14 29 42 e1 9a 8d 8c 51\ + d0 53 b3 e3 78 2a 1d e5 dc 5a f4 eb e9 94 68 17\ + 01 14 a1 df e6 7c dc 9a 9a f5 5d 65 56 20 bb ab\ + 02 03 01 00 01 #publicExponent = e\ + 02 40 #privateExponent = d\ + 01 23 c5 b6 1b a3 6e db 1d 36 79 90 41 99 a8 9e\ + a8 0c 09 b9 12 2e 14 00 c0 9a dc f7 78 46 76 d0\ + 1d 23 35 6a 7d 44 d6 bd 8b d5 0e 94 bf c7 23 fa\ + 87 d8 86 2b 75 17 76 91 c1 1d 75 76 92 df 88 81\ + 02 20 #prime1 = p\ + 33 d4 84 45 c8 59 e5 23 40 de 70 4b cd da 06 5f\ + bb 40 58 d7 40 bd 1d 67 d2 9e 9c 14 6c 11 cf 61\ + 02 20 #prime2 = q\ + 33 5e 84 08 86 6b 0f d3 8d c7 00 2d 3f 97 2c 67\ + 38 9a 65 d5 d8 30 65 66 d5 c4 f2 a5 aa 52 62 8b\ + 02 20 #exponent1 = d mod p-1\ + 04 5e c9 00 71 52 53 25 d3 d4 6d b7 96 95 e9 af\ + ac c4 52 39 64 36 0e 02 b1 19 ba a3 66 31 62 41\ + 02 20 #exponent2 = d mod q-1\ + 15 eb 32 73 60 c7 b6 0d 12 e5 e2 d1 6b dc d9 79\ + 81 d1 7f ba 6b 70 db 13 b2 0b 43 6e 24 ea da 59\ + 02 20 #coefficient = q-1 mod p\ + 2c a6 36 6d 72 78 1d fa 24 d3 4a 9a 24 cb c2 ae\ + 92 7a 99 58 af 42 65 63 ff 63 fb 11 65 8a 46 1d +PublicKey: \ + 30 5b #subjectPublicKeyInfo\ + 30 0d #algorithm\ + 06 09 #algorithm = rsaEncryption\ + 2a 86 48 86 f7 0d 01 01 01\ + 05 00 #parameters = NULL\ + 03 4a #subjectPublicKey = RSAPublicKey encoding\ + 00\ + 30 47\ + 02 40 #modulus = n\ + 0a 66 79 1d c6 98 81 68 de 7a b7 74 19 bb 7f b0\ + c0 01 c6 27 10 27 00 75 14 29 42 e1 9a 8d 8c 51\ + d0 53 b3 e3 78 2a 1d e5 dc 5a f4 eb e9 94 68 17\ + 01 14 a1 df e6 7c dc 9a 9a f5 5d 65 56 20 bb ab\ + 02 03 01 00 01 #publicExponent = e +Test: KeyPairValidAndConsistent +Message: # "Everyone gets Friday off."\ + 45 76 65 72 79 6f 6e 65 20 67 65 74 73 20 46 72 69 64 61 79 20 6f 66 66 2e +Signature: \ + 05fa6a812fc7df8bf4f2542509e03e84\ + 6e11b9c620be2009efb440efbcc66921\ + 6994ac04f341b57d05202d428fb2a27b\ + 5c77dfd9b15bfc3d559353503410c1e1 +Test: Verify +Name: RSA/PKCS1-1.5(SHA-1) +Source: generated by Wei Dai using Crypto++ 5.0 +Signature: 0610761F95FFD1B8F29DA34212947EC2AA0E358866A722F03CC3C41487ADC604A48FF54F5C6BEDB9FB7BD59F82D6E55D8F3174BA361B2214B2D74E8825E04E81 +Test: Verify +Message: 00 +Test: NotVerify + +AlgorithmType: Signature +Name: RSA/PKCS1-1.5(SHA-1) +Source: http://islab.oregonstate.edu/emails/pkcs-tng-02/0152 +KeyFormat: Component +Modulus: A885B6F851A8079AB8A281DB0297148511EE0D8C07C0D4AE6D6FED461488E0D41E3FF8F281B06A3240B5007A5C2AB4FB6BE8AF88F119DB998368DDDC9710ABED +PublicExponent: 010001 +PrivateExponent: 2B259D2CA3DF851EE891F6F4678BDDFD9A131C95D3305C63D2723B4A5B9C960F5EC8BB7DCDDBEBD8B6A38767D64AD451E9383E0891E4EE7506100481F2B49323 +Prime1: D7103CD676E39824E2BE50B8E6533FE7CB7484348E283802AD2B8D00C80D19DF +Prime2: C89996DC169CEB3F227958275968804D4BE9FC4012C3219662F1A438C9950BB3 +ModPrime1PrivateExponent: 5D8EA4C8AF83A70634D5920C3DB66D908AC3AF57A597FD75BC9BBB856181C185 +ModPrime2PrivateExponent: C598E54DAEC8ABC1E907769A6C2BD01653ED0C9960E1EDB7E186FDA922883A99 +MultiplicativeInverseOfPrime2ModPrime1: 7C6F27B5B51B78AD80FB36E700990CF307866F2943124CBD93D97C137794C104 +Test: KeyPairValidAndConsistent +Source: generated by Wei Dai using Crypto++ 5.0 +Message: 74657374 # "test" +Signature: A7E00CE4391F914D82158D9B732759808E25A1C6383FE87A5199157650D4296CF612E9FF809E686A0AF328238306E79965F6D0138138829D9A1A22764306F6CE +Test: Verify diff --git a/TestVectors/rsa_pss.txt b/TestVectors/rsa_pss.txt index 1b5fc9c8..92cfa774 100644 --- a/TestVectors/rsa_pss.txt +++ b/TestVectors/rsa_pss.txt @@ -1,2083 +1,2083 @@ -AlgorithmType: Signature -Name: RSA/PSS-MGF1(SHA-1) -Source: http://www.rsasecurity.com/rsalabs/pkcs/pkcs-1/, PKCS #1 test vectors -KeyFormat: Component -Comment: Example 1: A 1024-bit RSA Key Pair -Modulus: \ -a5 6e 4a 0e 70 10 17 58 9a 51 87 dc 7e a8 41 d1\ -56 f2 ec 0e 36 ad 52 a4 4d fe b1 e6 1f 7a d9 91\ -d8 c5 10 56 ff ed b1 62 b4 c0 f2 83 a1 2a 88 a3\ -94 df f5 26 ab 72 91 cb b3 07 ce ab fc e0 b1 df\ -d5 cd 95 08 09 6d 5b 2b 8b 6d f5 d6 71 ef 63 77\ -c0 92 1c b2 3c 27 0a 70 e2 59 8e 6f f8 9d 19 f1\ -05 ac c2 d3 f0 cb 35 f2 92 80 e1 38 6b 6f 64 c4\ -ef 22 e1 e1 f2 0d 0c e8 cf fb 22 49 bd 9a 21 37 -PublicExponent: \ -01 00 01 -PrivateExponent: \ -33 a5 04 2a 90 b2 7d 4f 54 51 ca 9b bb d0 b4 47\ -71 a1 01 af 88 43 40 ae f9 88 5f 2a 4b be 92 e8\ -94 a7 24 ac 3c 56 8c 8f 97 85 3a d0 7c 02 66 c8\ -c6 a3 ca 09 29 f1 e8 f1 12 31 88 44 29 fc 4d 9a\ -e5 5f ee 89 6a 10 ce 70 7c 3e d7 e7 34 e4 47 27\ -a3 95 74 50 1a 53 26 83 10 9c 2a ba ca ba 28 3c\ -31 b4 bd 2f 53 c3 ee 37 e3 52 ce e3 4f 9e 50 3b\ -d8 0c 06 22 ad 79 c6 dc ee 88 35 47 c6 a3 b3 25 -Prime1: \ -e7 e8 94 27 20 a8 77 51 72 73 a3 56 05 3e a2 a1\ -bc 0c 94 aa 72 d5 5c 6e 86 29 6b 2d fc 96 79 48\ -c0 a7 2c bc cc a7 ea cb 35 70 6e 09 a1 df 55 a1\ -53 5b d9 b3 cc 34 16 0b 3b 6d cd 3e da 8e 64 43 -Prime2: \ -b6 9d ca 1c f7 d4 d7 ec 81 e7 5b 90 fc ca 87 4a\ -bc de 12 3f d2 70 01 80 aa 90 47 9b 6e 48 de 8d\ -67 ed 24 f9 f1 9d 85 ba 27 58 74 f5 42 cd 20 dc\ -72 3e 69 63 36 4a 1f 94 25 45 2b 26 9a 67 99 fd -ModPrime1PrivateExponent: \ -28 fa 13 93 86 55 be 1f 8a 15 9c ba ca 5a 72 ea\ -19 0c 30 08 9e 19 cd 27 4a 55 6f 36 c4 f6 e1 9f\ -55 4b 34 c0 77 79 04 27 bb dd 8d d3 ed e2 44 83\ -28 f3 85 d8 1b 30 e8 e4 3b 2f ff a0 27 86 19 79 -ModPrime2PrivateExponent: \ -1a 8b 38 f3 98 fa 71 20 49 89 8d 7f b7 9e e0 a7\ -76 68 79 12 99 cd fa 09 ef c0 e5 07 ac b2 1e d7\ -43 01 ef 5b fd 48 be 45 5e ae b6 e1 67 82 55 82\ -75 80 a8 e4 e8 e1 41 51 d1 51 0a 82 a3 f2 e7 29 -MultiplicativeInverseOfPrime2ModPrime1: \ -27 15 6a ba 41 26 d2 4a 81 f3 a5 28 cb fb 27 f5\ -68 86 f8 40 a9 f6 e8 6e 17 a4 4b 94 fe 93 19 58\ -4b 8e 22 fd de 1e 5a 2e 3b d8 aa 5b a8 d8 58 41\ -94 eb 21 90 ac f8 32 b8 47 f1 3a 3d 24 a7 9f 4d -Test: KeyPairValidAndConsistent -Comment: RSASSA-PSS Signature Example 1.1 -Message: \ -cd c8 7d a2 23 d7 86 df 3b 45 e0 bb bc 72 13 26\ -d1 ee 2a f8 06 cc 31 54 75 cc 6f 0d 9c 66 e1 b6\ -23 71 d4 5c e2 39 2e 1a c9 28 44 c3 10 10 2f 15\ -6a 0d 8d 52 c1 f4 c4 0b a3 aa 65 09 57 86 cb 76\ -97 57 a6 56 3b a9 58 fe d0 bc c9 84 e8 b5 17 a3\ -d5 f5 15 b2 3b 8a 41 e7 4a a8 67 69 3f 90 df b0\ -61 a6 e8 6d fa ae e6 44 72 c0 0e 5f 20 94 57 29\ -cb eb e7 7f 06 ce 78 e0 8f 40 98 fb a4 1f 9d 61\ -93 c0 31 7e 8b 60 d4 b6 08 4a cb 42 d2 9e 38 08\ -a3 bc 37 2d 85 e3 31 17 0f cb f7 cc 72 d0 b7 1c\ -29 66 48 b3 a4 d1 0f 41 62 95 d0 80 7a a6 25 ca\ -b2 74 4f d9 ea 8f d2 23 c4 25 37 02 98 28 bd 16\ -be 02 54 6f 13 0f d2 e3 3b 93 6d 26 76 e0 8a ed\ -1b 73 31 8b 75 0a 01 67 d0 -Salt: \ -de e9 59 c7 e0 64 11 36 14 20 ff 80 18 5e d5 7f\ -3e 67 76 af -Signature: \ -90 74 30 8f b5 98 e9 70 1b 22 94 38 8e 52 f9 71\ -fa ac 2b 60 a5 14 5a f1 85 df 52 87 b5 ed 28 87\ -e5 7c e7 fd 44 dc 86 34 e4 07 c8 e0 e4 36 0b c2\ -26 f3 ec 22 7f 9d 9e 54 63 8e 8d 31 f5 05 12 15\ -df 6e bb 9c 2f 95 79 aa 77 59 8a 38 f9 14 b5 b9\ -c1 bd 83 c4 e2 f9 f3 82 a0 d0 aa 35 42 ff ee 65\ -98 4a 60 1b c6 9e b2 8d eb 27 dc a1 2c 82 c2 d4\ -c3 f6 6c d5 00 f1 ff 2b 99 4d 8a 4e 30 cb b3 3c -Test: Verify -Comment: RSASSA-PSS Signature Example 1.2 -Message: \ -85 13 84 cd fe 81 9c 22 ed 6c 4c cb 30 da eb 5c\ -f0 59 bc 8e 11 66 b7 e3 53 0c 4c 23 3e 2b 5f 8f\ -71 a1 cc a5 82 d4 3e cc 72 b1 bc a1 6d fc 70 13\ -22 6b 9e -Salt: \ -ef 28 69 fa 40 c3 46 cb 18 3d ab 3d 7b ff c9 8f\ -d5 6d f4 2d -Signature: \ -3e f7 f4 6e 83 1b f9 2b 32 27 41 42 a5 85 ff ce\ -fb dc a7 b3 2a e9 0d 10 fb 0f 0c 72 99 84 f0 4e\ -f2 9a 9d f0 78 07 75 ce 43 73 9b 97 83 83 90 db\ -0a 55 05 e6 3d e9 27 02 8d 9d 29 b2 19 ca 2c 45\ -17 83 25 58 a5 5d 69 4a 6d 25 b9 da b6 60 03 c4\ -cc cd 90 78 02 19 3b e5 17 0d 26 14 7d 37 b9 35\ -90 24 1b e5 1c 25 05 5f 47 ef 62 75 2c fb e2 14\ -18 fa fe 98 c2 2c 4d 4d 47 72 4f db 56 69 e8 43 -Test: Verify -Comment: RSASSA-PSS Signature Example 1.3 -Message: \ -a4 b1 59 94 17 61 c4 0c 6a 82 f2 b8 0d 1b 94 f5\ -aa 26 54 fd 17 e1 2d 58 88 64 67 9b 54 cd 04 ef\ -8b d0 30 12 be 8d c3 7f 4b 83 af 79 63 fa ff 0d\ -fa 22 54 77 43 7c 48 01 7f f2 be 81 91 cf 39 55\ -fc 07 35 6e ab 3f 32 2f 7f 62 0e 21 d2 54 e5 db\ -43 24 27 9f e0 67 e0 91 0e 2e 81 ca 2c ab 31 c7\ -45 e6 7a 54 05 8e b5 0d 99 3c db 9e d0 b4 d0 29\ -c0 6d 21 a9 4c a6 61 c3 ce 27 fa e1 d6 cb 20 f4\ -56 4d 66 ce 47 67 58 3d 0e 5f 06 02 15 b5 90 17\ -be 85 ea 84 89 39 12 7b d8 c9 c4 d4 7b 51 05 6c\ -03 1c f3 36 f1 7c 99 80 f3 b8 f5 b9 b6 87 8e 8b\ -79 7a a4 3b 88 26 84 33 3e 17 89 3f e9 ca a6 aa\ -29 9f 7e d1 a1 8e e2 c5 48 64 b7 b2 b9 9b 72 61\ -8f b0 25 74 d1 39 ef 50 f0 19 c9 ee f4 16 97 13\ -38 e7 d4 70 -Salt: \ -71 0b 9c 47 47 d8 00 d4 de 87 f1 2a fd ce 6d f1\ -81 07 cc 77 -Signature: \ -66 60 26 fb a7 1b d3 e7 cf 13 15 7c c2 c5 1a 8e\ -4a a6 84 af 97 78 f9 18 49 f3 43 35 d1 41 c0 01\ -54 c4 19 76 21 f9 62 4a 67 5b 5a bc 22 ee 7d 5b\ -aa ff aa e1 c9 ba ca 2c c3 73 b3 f3 3e 78 e6 14\ -3c 39 5a 91 aa 7f ac a6 64 eb 73 3a fd 14 d8 82\ -72 59 d9 9a 75 50 fa ca 50 1e f2 b0 4e 33 c2 3a\ -a5 1f 4b 9e 82 82 ef db 72 8c c0 ab 09 40 5a 91\ -60 7c 63 69 96 1b c8 27 0d 2d 4f 39 fc e6 12 b1 -Test: Verify -Comment: RSASSA-PSS Signature Example 1.4 -Message: \ -bc 65 67 47 fa 9e af b3 f0 -Salt: \ -05 6f 00 98 5d e1 4d 8e f5 ce a9 e8 2f 8c 27 be\ -f7 20 33 5e -Signature: \ -46 09 79 3b 23 e9 d0 93 62 dc 21 bb 47 da 0b 4f\ -3a 76 22 64 9a 47 d4 64 01 9b 9a ea fe 53 35 9c\ -17 8c 91 cd 58 ba 6b cb 78 be 03 46 a7 bc 63 7f\ -4b 87 3d 4b ab 38 ee 66 1f 19 96 34 c5 47 a1 ad\ -84 42 e0 3d a0 15 b1 36 e5 43 f7 ab 07 c0 c1 3e\ -42 25 b8 de 8c ce 25 d4 f6 eb 84 00 f8 1f 7e 18\ -33 b7 ee 6e 33 4d 37 09 64 ca 79 fd b8 72 b4 d7\ -52 23 b5 ee b0 81 01 59 1f b5 32 d1 55 a6 de 87 -Test: Verify -Comment: RSASSA-PSS Signature Example 1.5 -Message: \ -b4 55 81 54 7e 54 27 77 0c 76 8e 8b 82 b7 55 64\ -e0 ea 4e 9c 32 59 4d 6b ff 70 65 44 de 0a 87 76\ -c7 a8 0b 45 76 55 0e ee 1b 2a ca bc 7e 8b 7d 3e\ -f7 bb 5b 03 e4 62 c1 10 47 ea dd 00 62 9a e5 75\ -48 0a c1 47 0f e0 46 f1 3a 2b f5 af 17 92 1d c4\ -b0 aa 8b 02 be e6 33 49 11 65 1d 7f 85 25 d1 0f\ -32 b5 1d 33 be 52 0d 3d df 5a 70 99 55 a3 df e7\ -82 83 b9 e0 ab 54 04 6d 15 0c 17 7f 03 7f dc cc\ -5b e4 ea 5f 68 b5 e5 a3 8c 9d 7e dc cc c4 97 5f\ -45 5a 69 09 b4 -Salt: \ -80 e7 0f f8 6a 08 de 3e c6 09 72 b3 9b 4f bf dc\ -ea 67 ae 8e -Signature: \ -1d 2a ad 22 1c a4 d3 1d df 13 50 92 39 01 93 98\ -e3 d1 4b 32 dc 34 dc 5a f4 ae ae a3 c0 95 af 73\ -47 9c f0 a4 5e 56 29 63 5a 53 a0 18 37 76 15 b1\ -6c b9 b1 3b 3e 09 d6 71 eb 71 e3 87 b8 54 5c 59\ -60 da 5a 64 77 6e 76 8e 82 b2 c9 35 83 bf 10 4c\ -3f db 23 51 2b 7b 4e 89 f6 33 dd 00 63 a5 30 db\ -45 24 b0 1c 3f 38 4c 09 31 0e 31 5a 79 dc d3 d6\ -84 02 2a 7f 31 c8 65 a6 64 e3 16 97 8b 75 9f ad -Test: Verify -Comment: RSASSA-PSS Signature Example 1.6 -Message: \ -10 aa e9 a0 ab 0b 59 5d 08 41 20 7b 70 0d 48 d7\ -5f ae dd e3 b7 75 cd 6b 4c c8 8a e0 6e 46 94 ec\ -74 ba 18 f8 52 0d 4f 5e a6 9c bb e7 cc 2b eb a4\ -3e fd c1 02 15 ac 4e b3 2d c3 02 a1 f5 3d c6 c4\ -35 22 67 e7 93 6c fe bf 7c 8d 67 03 57 84 a3 90\ -9f a8 59 c7 b7 b5 9b 8e 39 c5 c2 34 9f 18 86 b7\ -05 a3 02 67 d4 02 f7 48 6a b4 f5 8c ad 5d 69 ad\ -b1 7a b8 cd 0c e1 ca f5 02 5a f4 ae 24 b1 fb 87\ -94 c6 07 0c c0 9a 51 e2 f9 91 13 11 e3 87 7d 00\ -44 c7 1c 57 a9 93 39 50 08 80 6b 72 3a c3 83 73\ -d3 95 48 18 18 52 8c 1e 70 53 73 92 82 05 35 29\ -51 0e 93 5c d0 fa 77 b8 fa 53 cc 2d 47 4b d4 fb\ -3c c5 c6 72 d6 ff dc 90 a0 0f 98 48 71 2c 4b cf\ -e4 6c 60 57 36 59 b1 1e 64 57 e8 61 f0 f6 04 b6\ -13 8d 14 4f 8c e4 e2 da 73 -Salt: \ -a8 ab 69 dd 80 1f 00 74 c2 a1 fc 60 64 98 36 c6\ -16 d9 96 81 -Signature: \ -2a 34 f6 12 5e 1f 6b 0b f9 71 e8 4f bd 41 c6 32\ -be 8f 2c 2a ce 7d e8 b6 92 6e 31 ff 93 e9 af 98\ -7f bc 06 e5 1e 9b e1 4f 51 98 f9 1f 3f 95 3b d6\ -7d a6 0a 9d f5 97 64 c3 dc 0f e0 8e 1c be f0 b7\ -5f 86 8d 10 ad 3f ba 74 9f ef 59 fb 6d ac 46 a0\ -d6 e5 04 36 93 31 58 6f 58 e4 62 8f 39 aa 27 89\ -82 54 3b c0 ee b5 37 dc 61 95 80 19 b3 94 fb 27\ -3f 21 58 58 a0 a0 1a c4 d6 50 b9 55 c6 7f 4c 58 -Test: Verify -Comment: Example 2: A 1025-bit RSA Key Pair -Modulus: \ -01 d4 0c 1b cf 97 a6 8a e7 cd bd 8a 7b f3 e3 4f\ -a1 9d cc a4 ef 75 a4 74 54 37 5f 94 51 4d 88 fe\ -d0 06 fb 82 9f 84 19 ff 87 d6 31 5d a6 8a 1f f3\ -a0 93 8e 9a bb 34 64 01 1c 30 3a d9 91 99 cf 0c\ -7c 7a 8b 47 7d ce 82 9e 88 44 f6 25 b1 15 e5 e9\ -c4 a5 9c f8 f8 11 3b 68 34 33 6a 2f d2 68 9b 47\ -2c bb 5e 5c ab e6 74 35 0c 59 b6 c1 7e 17 68 74\ -fb 42 f8 fc 3d 17 6a 01 7e dc 61 fd 32 6c 4b 33\ -c9 -PublicExponent: \ -01 00 01 -PrivateExponent: \ -02 7d 14 7e 46 73 05 73 77 fd 1e a2 01 56 57 72\ -17 6a 7d c3 83 58 d3 76 04 56 85 a2 e7 87 c2 3c\ -15 57 6b c1 6b 9f 44 44 02 d6 bf c5 d9 8a 3e 88\ -ea 13 ef 67 c3 53 ec a0 c0 dd ba 92 55 bd 7b 8b\ -b5 0a 64 4a fd fd 1d d5 16 95 b2 52 d2 2e 73 18\ -d1 b6 68 7a 1c 10 ff 75 54 5f 3d b0 fe 60 2d 5f\ -2b 7f 29 4e 36 01 ea b7 b9 d1 ce cd 76 7f 64 69\ -2e 3e 53 6c a2 84 6c b0 c2 dd 48 6a 39 fa 75 b1 -Prime1: \ -01 66 01 e9 26 a0 f8 c9 e2 6e ca b7 69 ea 65 a5\ -e7 c5 2c c9 e0 80 ef 51 94 57 c6 44 da 68 91 c5\ -a1 04 d3 ea 79 55 92 9a 22 e7 c6 8a 7a f9 fc ad\ -77 7c 3c cc 2b 9e 3d 36 50 bc e4 04 39 9b 7e 59\ -d1 -Prime2: \ -01 4e af a1 d4 d0 18 4d a7 e3 1f 87 7d 12 81 dd\ -da 62 56 64 86 9e 83 79 e6 7a d3 b7 5e ae 74 a5\ -80 e9 82 7a bd 6e b7 a0 02 cb 54 11 f5 26 67 97\ -76 8f b8 e9 5a e4 0e 3e 8a 01 f3 5f f8 9e 56 c0\ -79 -ModPrime1PrivateExponent: \ -e2 47 cc e5 04 93 9b 8f 0a 36 09 0d e2 00 93 87\ -55 e2 44 4b 29 53 9a 7d a7 a9 02 f6 05 68 35 c0\ -db 7b 52 55 94 97 cf e2 c6 1a 80 86 d0 21 3c 47\ -2c 78 85 18 00 b1 71 f6 40 1d e2 e9 c2 75 6f 31 -ModPrime2PrivateExponent: \ -b1 2f ba 75 78 55 e5 86 e4 6f 64 c3 8a 70 c6 8b\ -3f 54 8d 93 d7 87 b3 99 99 9d 4c 8f 0b bd 25 81\ -c2 1e 19 ed 00 18 a6 d5 d3 df 86 42 4b 3a bc ad\ -40 19 9d 31 49 5b 61 30 9f 27 c1 bf 55 d4 87 c1 -MultiplicativeInverseOfPrime2ModPrime1: \ -56 4b 1e 1f a0 03 bd a9 1e 89 09 04 25 aa c0 5b\ -91 da 9e e2 50 61 e7 62 8d 5f 51 30 4a 84 99 2f\ -dc 33 76 2b d3 78 a5 9f 03 0a 33 4d 53 2b d0 da\ -e8 f2 98 ea 9e d8 44 63 6a d5 fb 8c bd c0 3c ad -Test: KeyPairValidAndConsistent -Comment: RSASSA-PSS Signature Example 2.1 -Message: \ -da ba 03 20 66 26 3f ae db 65 98 48 11 52 78 a5\ -2c 44 fa a3 a7 6f 37 51 5e d3 36 32 10 72 c4 0a\ -9d 9b 53 bc 05 01 40 78 ad f5 20 87 51 46 aa e7\ -0f f0 60 22 6d cb 7b 1f 1f c2 7e 93 60 -Salt: \ -57 bf 16 0b cb 02 bb 1d c7 28 0c f0 45 85 30 b7\ -d2 83 2f f7 -Signature: \ -01 4c 5b a5 33 83 28 cc c6 e7 a9 0b f1 c0 ab 3f\ -d6 06 ff 47 96 d3 c1 2e 4b 63 9e d9 13 6a 5f ec\ -6c 16 d8 88 4b dd 99 cf dc 52 14 56 b0 74 2b 73\ -68 68 cf 90 de 09 9a db 8d 5f fd 1d ef f3 9b a4\ -00 7a b7 46 ce fd b2 2d 7d f0 e2 25 f5 46 27 dc\ -65 46 61 31 72 1b 90 af 44 53 63 a8 35 8b 9f 60\ -76 42 f7 8f ab 0a b0 f4 3b 71 68 d6 4b ae 70 d8\ -82 78 48 d8 ef 1e 42 1c 57 54 dd f4 2c 25 89 b5\ -b3 -Test: Verify -Comment: RSASSA-PSS Signature Example 2.2 -Message: \ -e4 f8 60 1a 8a 6d a1 be 34 44 7c 09 59 c0 58 57\ -0c 36 68 cf d5 1d d5 f9 cc d6 ad 44 11 fe 82 13\ -48 6d 78 a6 c4 9f 93 ef c2 ca 22 88 ce bc 2b 9b\ -60 bd 04 b1 e2 20 d8 6e 3d 48 48 d7 09 d0 32 d1\ -e8 c6 a0 70 c6 af 9a 49 9f cf 95 35 4b 14 ba 61\ -27 c7 39 de 1b b0 fd 16 43 1e 46 93 8a ec 0c f8\ -ad 9e b7 2e 83 2a 70 35 de 9b 78 07 bd c0 ed 8b\ -68 eb 0f 5a c2 21 6b e4 0c e9 20 c0 db 0e dd d3\ -86 0e d7 88 ef ac ca ca 50 2d 8f 2b d6 d1 a7 c1\ -f4 1f f4 6f 16 81 c8 f1 f8 18 e9 c4 f6 d9 1a 0c\ -78 03 cc c6 3d 76 a6 54 4d 84 3e 08 4e 36 3b 8a\ -cc 55 aa 53 17 33 ed b5 de e5 b5 19 6e 9f 03 e8\ -b7 31 b3 77 64 28 d9 e4 57 fe 3f bc b3 db 72 74\ -44 2d 78 58 90 e9 cb 08 54 b6 44 4d ac e7 91 d7\ -27 3d e1 88 97 19 33 8a 77 fe -Salt: \ -7f 6d d3 59 e6 04 e6 08 70 e8 98 e4 7b 19 bf 2e\ -5a 7b 2a 90 -Signature: \ -01 09 91 65 6c ca 18 2b 7f 29 d2 db c0 07 e7 ae\ -0f ec 15 8e b6 75 9c b9 c4 5c 5f f8 7c 76 35 dd\ -46 d1 50 88 2f 4d e1 e9 ae 65 e7 f7 d9 01 8f 68\ -36 95 4a 47 c0 a8 1a 8a 6b 6f 83 f2 94 4d 60 81\ -b1 aa 7c 75 9b 25 4b 2c 34 b6 91 da 67 cc 02 26\ -e2 0b 2f 18 b4 22 12 76 1d cd 4b 90 8a 62 b3 71\ -b5 91 8c 57 42 af 4b 53 7e 29 69 17 67 4f b9 14\ -19 47 61 62 1c c1 9a 41 f6 fb 95 3f bc bb 64 9d\ -ea -Test: Verify -Comment: RSASSA-PSS Signature Example 2.3 -Message: \ -52 a1 d9 6c 8a c3 9e 41 e4 55 80 98 01 b9 27 a5\ -b4 45 c1 0d 90 2a 0d cd 38 50 d2 2a 66 d2 bb 07\ -03 e6 7d 58 67 11 45 95 aa bf 5a 7a eb 5a 8f 87\ -03 4b bb 30 e1 3c fd 48 17 a9 be 76 23 00 23 60\ -6d 02 86 a3 fa f8 a4 d2 2b 72 8e c5 18 07 9f 9e\ -64 52 6e 3a 0c c7 94 1a a3 38 c4 37 99 7c 68 0c\ -ca c6 7c 66 bf a1 -Salt: \ -fc a8 62 06 8b ce 22 46 72 4b 70 8a 05 19 da 17\ -e6 48 68 8c -Signature: \ -00 7f 00 30 01 8f 53 cd c7 1f 23 d0 36 59 fd e5\ -4d 42 41 f7 58 a7 50 b4 2f 18 5f 87 57 85 20 c3\ -07 42 af d8 43 59 b6 e6 e8 d3 ed 95 9d c6 fe 48\ -6b ed c8 e2 cf 00 1f 63 a7 ab e1 62 56 a1 b8 4d\ -f0 d2 49 fc 05 d3 19 4c e5 f0 91 27 42 db bf 80\ -dd 17 4f 6c 51 f6 ba d7 f1 6c f3 36 4e ba 09 5a\ -06 26 7d c3 79 38 03 ac 75 26 ae be 0a 47 5d 38\ -b8 c2 24 7a b5 1c 48 98 df 70 47 dc 6a df 52 c6\ -c4 -Test: Verify -Comment: RSASSA-PSS Signature Example 2.4 -Message: \ -a7 18 2c 83 ac 18 be 65 70 a1 06 aa 9d 5c 4e 3d\ -bb d4 af ae b0 c6 0c 4a 23 e1 96 9d 79 ff -Salt: \ -80 70 ef 2d e9 45 c0 23 87 68 4b a0 d3 30 96 73\ -22 35 d4 40 -Signature: \ -00 9c d2 f4 ed be 23 e1 23 46 ae 8c 76 dd 9a d3\ -23 0a 62 07 61 41 f1 6c 15 2b a1 85 13 a4 8e f6\ -f0 10 e0 e3 7f d3 df 10 a1 ec 62 9a 0c b5 a3 b5\ -d2 89 30 07 29 8c 30 93 6a 95 90 3b 6b a8 55 55\ -d9 ec 36 73 a0 61 08 fd 62 a2 fd a5 6d 1c e2 e8\ -5c 4d b6 b2 4a 81 ca 3b 49 6c 36 d4 fd 06 eb 7c\ -91 66 d8 e9 48 77 c4 2b ea 62 2b 3b fe 92 51 fd\ -c2 1d 8d 53 71 ba da d7 8a 48 82 14 79 63 35 b4\ -0b -Test: Verify -Comment: RSASSA-PSS Signature Example 2.5 -Message: \ -86 a8 3d 4a 72 ee 93 2a 4f 56 30 af 65 79 a3 86\ -b7 8f e8 89 99 e0 ab d2 d4 90 34 a4 bf c8 54 dd\ -94 f1 09 4e 2e 8c d7 a1 79 d1 95 88 e4 ae fc 1b\ -1b d2 5e 95 e3 dd 46 1f -Salt: \ -17 63 9a 4e 88 d7 22 c4 fc a2 4d 07 9a 8b 29 c3\ -24 33 b0 c9 -Signature: \ -00 ec 43 08 24 93 1e bd 3b aa 43 03 4d ae 98 ba\ -64 6b 8c 36 01 3d 16 71 c3 cf 1c f8 26 0c 37 4b\ -19 f8 e1 cc 8d 96 50 12 40 5e 7e 9b f7 37 86 12\ -df cc 85 fc e1 2c da 11 f9 50 bd 0b a8 87 67 40\ -43 6c 1d 25 95 a6 4a 1b 32 ef cf b7 4a 21 c8 73\ -b3 cc 33 aa f4 e3 dc 39 53 de 67 f0 67 4c 04 53\ -b4 fd 9f 60 44 06 d4 41 b8 16 09 8c b1 06 fe 34\ -72 bc 25 1f 81 5f 59 db 2e 43 78 a3 ad dc 18 1e\ -cf -Test: Verify -Comment: RSASSA-PSS Signature Example 2.6 -Message: \ -04 9f 91 54 d8 71 ac 4a 7c 7a b4 53 25 ba 75 45\ -a1 ed 08 f7 05 25 b2 66 7c f1 -Salt: \ -37 81 0d ef 10 55 ed 92 2b 06 3d f7 98 de 5d 0a\ -ab f8 86 ee -Signature: \ -00 47 5b 16 48 f8 14 a8 dc 0a bd c3 7b 55 27 f5\ -43 b6 66 bb 6e 39 d3 0e 5b 49 d3 b8 76 dc cc 58\ -ea c1 4e 32 a2 d5 5c 26 16 01 44 56 ad 2f 24 6f\ -c8 e3 d5 60 da 3d df 37 9a 1c 0b d2 00 f1 02 21\ -df 07 8c 21 9a 15 1b c8 d4 ec 9d 2f c2 56 44 67\ -81 10 14 ef 15 d8 ea 01 c2 eb bf f8 c2 c8 ef ab\ -38 09 6e 55 fc be 32 85 c7 aa 55 88 51 25 4f af\ -fa 92 c1 c7 2b 78 75 86 63 ef 45 82 84 31 39 d7\ -a6 -Test: Verify -Comment: Example 3: A 1026-bit RSA Key Pair -Modulus: \ -02 f2 46 ef 45 1e d3 ee bb 9a 31 02 00 cc 25 85\ -9c 04 8e 4b e7 98 30 29 91 11 2e b6 8c e6 db 67\ -4e 28 0d a2 1f ed ed 1a e7 48 80 ca 52 2b 18 db\ -24 93 85 01 28 27 c5 15 f0 e4 66 a1 ff a6 91 d9\ -81 70 57 4e 9d 0e ad b0 87 58 6c a4 89 33 da 3c\ -c9 53 d9 5b d0 ed 50 de 10 dd cb 67 36 10 7d 6c\ -83 1c 7f 66 3e 83 3c a4 c0 97 e7 00 ce 0f b9 45\ -f8 8f b8 5f e8 e5 a7 73 17 25 65 b9 14 a4 71 a4\ -43 -PublicExponent: \ -01 00 01 -PrivateExponent: \ -65 14 51 73 3b 56 de 5a c0 a6 89 a4 ae b6 e6 89\ -4a 69 01 4e 07 6c 88 dd 7a 66 7e ab 32 32 bb cc\ -d2 fc 44 ba 2f a9 c3 1d b4 6f 21 ed d1 fd b2 3c\ -5c 12 8a 5d a5 ba b9 1e 7f 95 2b 67 75 9c 7c ff\ -70 54 15 ac 9f a0 90 7c 7c a6 17 8f 66 8f b9 48\ -d8 69 da 4c c3 b7 35 6f 40 08 df d5 44 9d 32 ee\ -02 d9 a4 77 eb 69 fc 29 26 6e 5d 90 70 51 23 75\ -a5 0f bb cc 27 e2 38 ad 98 42 5f 6e bb f8 89 91 -Prime1: \ -01 bd 36 e1 8e ce 4b 0f db 2e 9c 9d 54 8b d1 a7\ -d6 e2 c2 1c 6f dc 35 07 4a 1d 05 b1 c6 c8 b3 d5\ -58 ea 26 39 c9 a9 a4 21 68 01 69 31 72 52 55 8b\ -d1 48 ad 21 5a ac 55 0e 2d cf 12 a8 2d 0e bf e8\ -53 -Prime2: \ -01 b1 b6 56 ad 86 d8 e1 9d 5d c8 62 92 b3 a1 92\ -fd f6 e0 dd 37 87 7b ad 14 82 2f a0 01 90 ca b2\ -65 f9 0d 3f 02 05 7b 6f 54 d6 ec b1 44 91 e5 ad\ -ea ce bc 48 bf 0e bd 2a 2a d2 6d 40 2e 54 f6 16\ -51 -ModPrime1PrivateExponent: \ -1f 27 79 fd 2e 3e 5e 6b ae 05 53 95 18 fb a0 cd\ -0e ad 1a a4 51 3a 7c ba 18 f1 cf 10 e3 f6 81 95\ -69 3d 27 8a 0f 0e e7 2f 89 f9 bc 76 0d 80 e2 f9\ -d0 26 1d 51 65 01 c6 ae 39 f1 4a 47 6c e2 cc f5 -ModPrime2PrivateExponent: \ -01 1a 0d 36 79 4b 04 a8 54 aa b4 b2 46 2d 43 9a\ -50 46 c9 1d 94 0b 2b c6 f7 5b 62 95 6f ef 35 a2\ -a6 e6 3c 53 09 81 7f 30 7b bf f9 d5 9e 7e 33 1b\ -d3 63 f6 d6 68 49 b1 83 46 ad ea 16 9f 0a e9 ae\ -c1 -MultiplicativeInverseOfPrime2ModPrime1: \ -0b 30 f0 ec f5 58 75 2f b3 a6 ce 4b a2 b8 c6 75\ -f6 59 eb a6 c3 76 58 5a 1b 39 71 2d 03 8a e3 d2\ -b4 6f cb 41 8a e1 5d 09 05 da 64 40 e1 51 3a 30\ -b9 b7 d6 66 8f bc 5e 88 e5 ab 7a 17 5e 73 ba 35 -Test: KeyPairValidAndConsistent -Comment: RSASSA-PSS Signature Example 3.1 -Message: \ -59 4b 37 33 3b bb 2c 84 52 4a 87 c1 a0 1f 75 fc\ -ec 0e 32 56 f1 08 e3 8d ca 36 d7 0d 00 57 -Salt: \ -f3 1a d6 c8 cf 89 df 78 ed 77 fe ac bc c2 f8 b0\ -a8 e4 cf aa -Signature: \ -00 88 b1 35 fb 17 94 b6 b9 6c 4a 3e 67 81 97 f8\ -ca c5 2b 64 b2 fe 90 7d 6f 27 de 76 11 24 96 4a\ -99 a0 1a 88 27 40 ec fa ed 6c 01 a4 74 64 bb 05\ -18 23 13 c0 13 38 a8 cd 09 72 14 cd 68 ca 10 3b\ -d5 7d 3b c9 e8 16 21 3e 61 d7 84 f1 82 46 7a bf\ -8a 01 cf 25 3e 99 a1 56 ea a8 e3 e1 f9 0e 3c 6e\ -4e 3a a2 d8 3e d0 34 5b 89 fa fc 9c 26 07 7c 14\ -b6 ac 51 45 4f a2 6e 44 6e 3a 2f 15 3b 2b 16 79\ -7f -Test: Verify -Comment: RSASSA-PSS Signature Example 3.2 -Message: \ -8b 76 95 28 88 4a 0d 1f fd 09 0c f1 02 99 3e 79\ -6d ad cf bd dd 38 e4 4f f6 32 4c a4 51 -Salt: \ -fc f9 f0 e1 f1 99 a3 d1 d0 da 68 1c 5b 86 06 fc\ -64 29 39 f7 -Signature: \ -02 a5 f0 a8 58 a0 86 4a 4f 65 01 7a 7d 69 45 4f\ -3f 97 3a 29 99 83 9b 7b bc 48 bf 78 64 11 69 17\ -95 56 f5 95 fa 41 f6 ff 18 e2 86 c2 78 30 79 bc\ -09 10 ee 9c c3 4f 49 ba 68 11 24 f9 23 df a8 8f\ -42 61 41 a3 68 a5 f5 a9 30 c6 28 c2 c3 c2 00 e1\ -8a 76 44 72 1a 0c be c6 dd 3f 62 79 bd e3 e8 f2\ -be 5e 2d 4e e5 6f 97 e7 ce af 33 05 4b e7 04 2b\ -d9 1a 63 bb 09 f8 97 bd 41 e8 11 97 de e9 9b 11\ -af -Test: Verify -Comment: RSASSA-PSS Signature Example 3.3 -Message: \ -1a bd ba 48 9c 5a da 2f 99 5e d1 6f 19 d5 a9 4d\ -9e 6e c3 4a 8d 84 f8 45 57 d2 6e 5e f9 b0 2b 22\ -88 7e 3f 9a 4b 69 0a d1 14 92 09 c2 0c 61 43 1f\ -0c 01 7c 36 c2 65 7b 35 d7 b0 7d 3f 5a d8 70 85\ -07 a9 c1 b8 31 df 83 5a 56 f8 31 07 18 14 ea 5d\ -3d 8d 8f 6a de 40 cb a3 8b 42 db 7a 2d 3d 7a 29\ -c8 f0 a7 9a 78 38 cf 58 a9 75 7f a2 fe 4c 40 df\ -9b aa 19 3b fc 6f 92 b1 23 ad 57 b0 7a ce 3e 6a\ -c0 68 c9 f1 06 af d9 ee b0 3b 4f 37 c2 5d bf bc\ -fb 30 71 f6 f9 77 17 66 d0 72 f3 bb 07 0a f6 60\ -55 32 97 3a e2 50 51 -Salt: \ -98 6e 7c 43 db b6 71 bd 41 b9 a7 f4 b6 af c8 0e\ -80 5f 24 23 -Signature: \ -02 44 bc d1 c8 c1 69 55 73 6c 80 3b e4 01 27 2e\ -18 cb 99 08 11 b1 4f 72 db 96 41 24 d5 fa 76 06\ -49 cb b5 7a fb 87 55 db b6 2b f5 1f 46 6c f2 3a\ -0a 16 07 57 6e 98 3d 77 8f ce ff a9 2d f7 54 8a\ -ea 8e a4 ec ad 2c 29 dd 9f 95 bc 07 fe 91 ec f8\ -be e2 55 bf e8 76 2f d7 69 0a a9 bf a4 fa 08 49\ -ef 72 8c 2c 42 c4 53 23 64 52 2d f2 ab 7f 9f 8a\ -03 b6 3f 7a 49 91 75 82 86 68 f5 ef 5a 29 e3 80\ -2c -Test: Verify -Comment: RSASSA-PSS Signature Example 3.4 -Message: \ -8f b4 31 f5 ee 79 2b 6c 2a c7 db 53 cc 42 86 55\ -ae b3 2d 03 f4 e8 89 c5 c2 5d e6 83 c4 61 b5 3a\ -cf 89 f9 f8 d3 aa bd f6 b9 f0 c2 a1 de 12 e1 5b\ -49 ed b3 91 9a 65 2f e9 49 1c 25 a7 fc e1 f7 22\ -c2 54 36 08 b6 9d c3 75 ec -Salt: \ -f8 31 2d 9c 8e ea 13 ec 0a 4c 7b 98 12 0c 87 50\ -90 87 c4 78 -Signature: \ -01 96 f1 2a 00 5b 98 12 9c 8d f1 3c 4c b1 6f 8a\ -a8 87 d3 c4 0d 96 df 3a 88 e7 53 2e f3 9c d9 92\ -f2 73 ab c3 70 bc 1b e6 f0 97 cf eb bf 01 18 fd\ -9e f4 b9 27 15 5f 3d f2 2b 90 4d 90 70 2d 1f 7b\ -a7 a5 2b ed 8b 89 42 f4 12 cd 7b d6 76 c9 d1 8e\ -17 03 91 dc d3 45 c0 6a 73 09 64 b3 f3 0b cc e0\ -bb 20 ba 10 6f 9a b0 ee b3 9c f8 a6 60 7f 75 c0\ -34 7f 0a f7 9f 16 af a0 81 d2 c9 2d 1e e6 f8 36\ -b8 -Test: Verify -Comment: RSASSA-PSS Signature Example 3.5 -Message: \ -fe f4 16 1d fa af 9c 52 95 05 1d fc 1f f3 81 0c\ -8c 9e c2 e8 66 f7 07 54 22 c8 ec 42 16 a9 c4 ff\ -49 42 7d 48 3c ae 10 c8 53 4a 41 b2 fd 15 fe e0\ -69 60 ec 6f b3 f7 a7 e9 4a 2f 8a 2e 3e 43 dc 4a\ -40 57 6c 30 97 ac 95 3b 1d e8 6f 0b 4e d3 6d 64\ -4f 23 ae 14 42 55 29 62 24 64 ca 0c bf 0b 17 41\ -34 72 38 15 7f ab 59 e4 de 55 24 09 6d 62 ba ec\ -63 ac 64 -Salt: \ -50 32 7e fe c6 29 2f 98 01 9f c6 7a 2a 66 38 56\ -3e 9b 6e 2d -Signature: \ -02 1e ca 3a b4 89 22 64 ec 22 41 1a 75 2d 92 22\ -10 76 d4 e0 1c 0e 6f 0d de 9a fd 26 ba 5a cf 6d\ -73 9e f9 87 54 5d 16 68 3e 56 74 c9 e7 0f 1d e6\ -49 d7 e6 1d 48 d0 ca eb 4f b4 d8 b2 4f ba 84 a6\ -e3 10 8f ee 7d 07 05 97 32 66 ac 52 4b 4a d2 80\ -f7 ae 17 dc 59 d9 6d 33 51 58 6b 5a 3b db 89 5d\ -1e 1f 78 20 ac 61 35 d8 75 34 80 99 83 82 ba 32\ -b7 34 95 59 60 8c 38 74 52 90 a8 5e f4 e9 f9 bd\ -83 -Test: Verify -Comment: RSASSA-PSS Signature Example 3.6 -Message: \ -ef d2 37 bb 09 8a 44 3a ee b2 bf 6c 3f 8c 81 b8\ -c0 1b 7f cb 3f eb -Salt: \ -b0 de 3f c2 5b 65 f5 af 96 b1 d5 cc 3b 27 d0 c6\ -05 30 87 b3 -Signature: \ -01 2f af ec 86 2f 56 e9 e9 2f 60 ab 0c 77 82 4f\ -42 99 a0 ca 73 4e d2 6e 06 44 d5 d2 22 c7 f0 bd\ -e0 39 64 f8 e7 0a 5c b6 5e d4 4e 44 d5 6a e0 ed\ -f1 ff 86 ca 03 2c c5 dd 44 04 db b7 6a b8 54 58\ -6c 44 ee d8 33 6d 08 d4 57 ce 6c 03 69 3b 45 c0\ -f1 ef ef 93 62 4b 95 b8 ec 16 9c 61 6d 20 e5 53\ -8e bc 0b 67 37 a6 f8 2b 4b c0 57 09 24 fc 6b 35\ -75 9a 33 48 42 62 79 f8 b3 d7 74 4e 2d 22 24 26\ -ce -Test: Verify -Comment: Example 4: A 1027-bit RSA Key Pair -Modulus: \ -05 4a db 78 86 44 7e fe 6f 57 e0 36 8f 06 cf 52\ -b0 a3 37 07 60 d1 61 ce f1 26 b9 1b e7 f8 9c 42\ -1b 62 a6 ec 1d a3 c3 11 d7 5e d5 0e 0a b5 ff f3\ -fd 33 8a cc 3a a8 a4 e7 7e e2 63 69 ac b8 1b a9\ -00 fa 83 f5 30 0c f9 bb 6c 53 ad 1d c8 a1 78 b8\ -15 db 42 35 a9 a9 da 0c 06 de 4e 61 5e a1 27 7c\ -e5 59 e9 c1 08 de 58 c1 4a 81 aa 77 f5 a6 f8 d1\ -33 54 94 49 88 48 c8 b9 59 40 74 0b e7 bf 7c 37\ -05 -PublicExponent: \ -01 00 01 -PrivateExponent: \ -fa 04 1f 8c d9 69 7c ee d3 8e c8 ca a2 75 52 3b\ -4d d7 2b 09 a3 01 d3 54 1d 72 f5 d3 1c 05 cb ce\ -2d 69 83 b3 61 83 af 10 69 0b d4 6c 46 13 1e 35\ -78 94 31 a5 56 77 1d d0 04 9b 57 46 1b f0 60 c1\ -f6 84 72 e8 a6 7c 25 f3 57 e5 b6 b4 73 8f a5 41\ -a7 30 34 6b 4a 07 64 9a 2d fa 80 6a 69 c9 75 b6\ -ab a6 46 78 ac c7 f5 91 3e 89 c6 22 f2 d8 ab b1\ -e3 e3 25 54 e3 9d f9 4b a6 0c 00 2e 38 7d 90 11 -Prime1: \ -02 92 32 33 6d 28 38 94 5d ba 9d d7 72 3f 4e 62\ -4a 05 f7 37 5b 92 7a 87 ab e6 a8 93 a1 65 8f d4\ -9f 47 f6 c7 b0 fa 59 6c 65 fa 68 a2 3f 0a b4 32\ -96 2d 18 d4 34 3b d6 fd 67 1a 5e a8 d1 48 41 39\ -95 -Prime2: \ -02 0e f5 ef e7 c5 39 4a ed 22 72 f7 e8 1a 74 f4\ -c0 2d 14 58 94 cb 1b 3c ab 23 a9 a0 71 0a 2a fc\ -7e 33 29 ac bb 74 3d 01 f6 80 c4 d0 2a fb 4c 8f\ -de 7e 20 93 08 11 bb 2b 99 57 88 b5 e8 72 c2 0b\ -b1 -ModPrime1PrivateExponent: \ -02 6e 7e 28 01 0e cf 24 12 d9 52 3a d7 04 64 7f\ -b4 fe 9b 66 b1 a6 81 58 1b 0e 15 55 3a 89 b1 54\ -28 28 89 8f 27 24 3e ba b4 5f f5 e1 ac b9 d4 df\ -1b 05 1f bc 62 82 4d bc 6f 6c 93 26 1a 78 b9 a7\ -59 -ModPrime2PrivateExponent: \ -01 2d dc c8 6e f6 55 99 8c 39 dd ae 11 71 86 69\ -e5 e4 6c f1 49 5b 07 e1 3b 10 14 cd 69 b3 af 68\ -30 4a d2 a6 b6 43 21 e7 8b f3 bb ca 9b b4 94 e9\ -1d 45 17 17 e2 d9 75 64 c6 54 94 65 d0 20 5c f4\ -21 -MultiplicativeInverseOfPrime2ModPrime1: \ -01 06 00 c4 c2 18 47 45 9f e5 76 70 3e 2e be ca\ -e8 a5 09 4e e6 3f 53 6b f4 ac 68 d3 c1 3e 5e 4f\ -12 ac 5c c1 0a b6 a2 d0 5a 19 92 14 d1 82 47 47\ -d5 51 90 96 36 b7 74 c2 2c ac 0b 83 75 99 ab cc\ -75 -Test: KeyPairValidAndConsistent -Comment: RSASSA-PSS Signature Example 4.1 -Message: \ -9f b0 3b 82 7c 82 17 d9 -Salt: \ -ed 7c 98 c9 5f 30 97 4f be 4f bd dc f0 f2 8d 60\ -21 c0 e9 1d -Signature: \ -03 23 d5 b7 bf 20 ba 45 39 28 9a e4 52 ae 42 97\ -08 0f ef f4 51 84 23 ff 48 11 a8 17 83 7e 7d 82\ -f1 83 6c df ab 54 51 4f f0 88 7b dd ee bf 40 bf\ -99 b0 47 ab c3 ec fa 6a 37 a3 ef 00 f4 a0 c4 a8\ -8a ae 09 04 b7 45 c8 46 c4 10 7e 87 97 72 3e 8a\ -c8 10 d9 e3 d9 5d fa 30 ff 49 66 f4 d7 5d 13 76\ -8d 20 85 7f 2b 14 06 f2 64 cf e7 5e 27 d7 65 2f\ -4b 5e d3 57 5f 28 a7 02 f8 c4 ed 9c f9 b2 d4 49\ -48 -Test: Verify -Comment: RSASSA-PSS Signature Example 4.2 -Message: \ -0c a2 ad 77 79 7e ce 86 de 5b f7 68 75 0d db 5e\ -d6 a3 11 6a d9 9b bd 17 ed f7 f7 82 f0 db 1c d0\ -5b 0f 67 74 68 c5 ea 42 0d c1 16 b1 0e 80 d1 10\ -de 2b 04 61 ea 14 a3 8b e6 86 20 39 2e 7e 89 3c\ -b4 ea 93 93 fb 88 6c 20 ff 79 06 42 30 5b f3 02\ -00 38 92 e5 4d f9 f6 67 50 9d c5 39 20 df 58 3f\ -50 a3 dd 61 ab b6 fa b7 5d 60 03 77 e3 83 e6 ac\ -a6 71 0e ee a2 71 56 e0 67 52 c9 4c e2 5a e9 9f\ -cb f8 59 2d be 2d 7e 27 45 3c b4 4d e0 71 00 eb\ -b1 a2 a1 98 11 a4 78 ad be ab 27 0f 94 e8 fe 36\ -9d 90 b3 ca 61 2f 9f -Salt: \ -22 d7 1d 54 36 3a 42 17 aa 55 11 3f 05 9b 33 84\ -e3 e5 7e 44 -Signature: \ -04 9d 01 85 84 5a 26 4d 28 fe b1 e6 9e da ec 09\ -06 09 e8 e4 6d 93 ab b3 83 71 ce 51 f4 aa 65 a5\ -99 bd aa a8 1d 24 fb a6 6a 08 a1 16 cb 64 4f 3f\ -1e 65 3d 95 c8 9d b8 bb d5 da ac 27 09 c8 98 40\ -00 17 84 10 a7 c6 aa 86 67 dd c3 8c 74 1f 71 0e\ -c8 66 5a a9 05 2b e9 29 d4 e3 b1 67 82 c1 66 21\ -14 c5 41 4b b0 35 34 55 c3 92 fc 28 f3 db 59 05\ -4b 5f 36 5c 49 e1 d1 56 f8 76 ee 10 cb 4f d7 05\ -98 -Test: Verify -Comment: RSASSA-PSS Signature Example 4.3 -Message: \ -28 80 62 af c0 8f cd b7 c5 f8 65 0b 29 83 73 00\ -46 1d d5 67 6c 17 a2 0a 3c 8f b5 14 89 49 e3 f7\ -3d 66 b3 ae 82 c7 24 0e 27 c5 b3 ec 43 28 ee 7d\ -6d df 6a 6a 0c 9b 5b 15 bc da 19 6a 9d 0c 76 b1\ -19 d5 34 d8 5a bd 12 39 62 d5 83 b7 6c e9 d1 80\ -bc e1 ca -Salt: \ -4a f8 70 fb c6 51 60 12 ca 91 6c 70 ba 86 2a c7\ -e8 24 36 17 -Signature: \ -03 fb c4 10 a2 ce d5 95 00 fb 99 f9 e2 af 27 81\ -ad a7 4e 13 14 56 24 60 27 82 e2 99 48 13 ee fc\ -a0 51 9e cd 25 3b 85 5f b6 26 a9 0d 77 1e ae 02\ -8b 0c 47 a1 99 cb d9 f8 e3 26 97 34 af 41 63 59\ -90 90 71 3a 3f a9 10 fa 09 60 65 27 21 43 2b 97\ -10 36 a7 18 1a 2b c0 ca b4 3b 0b 59 8b c6 21 74\ -61 d7 db 30 5f f7 e9 54 c5 b5 bb 23 1c 39 e7 91\ -af 6b cf a7 6b 14 7b 08 13 21 f7 26 41 48 2a 2a\ -ad -Test: Verify -Comment: RSASSA-PSS Signature Example 4.4 -Message: \ -6f 4f 9a b9 50 11 99 ce f5 5c 6c f4 08 fe 7b 36\ -c5 57 c4 9d 42 0a 47 63 d2 46 3c 8a d4 4b 3c fc\ -5b e2 74 2c 0e 7d 9b 0f 66 08 f0 8c 7f 47 b6 93\ -ee -Salt: \ -40 d2 e1 80 fa e1 ea c4 39 c1 90 b5 6c 2c 0e 14\ -dd f9 a2 26 -Signature: \ -04 86 64 4b c6 6b f7 5d 28 33 5a 61 79 b1 08 51\ -f4 3f 09 bd ed 9f ac 1a f3 32 52 bb 99 53 ba 42\ -98 cd 64 66 b2 75 39 a7 0a da a3 f8 9b 3d b3 c7\ -4a b6 35 d1 22 f4 ee 7c e5 57 a6 1e 59 b8 2f fb\ -78 66 30 e5 f9 db 53 c7 7d 9a 0c 12 fa b5 95 8d\ -4c 2c e7 da a8 07 cd 89 ba 2c c7 fc d0 2f f4 70\ -ca 67 b2 29 fc ce 81 4c 85 2c 73 cc 93 be a3 5b\ -e6 84 59 ce 47 8e 9d 46 55 d1 21 c8 47 2f 37 1d\ -4f -Test: Verify -Comment: RSASSA-PSS Signature Example 4.5 -Message: \ -e1 7d 20 38 5d 50 19 55 82 3c 3f 66 62 54 c1 d3\ -dd 36 ad 51 68 b8 f1 8d 28 6f dc f6 7a 7d ad 94\ -09 70 85 fa b7 ed 86 fe 21 42 a2 87 71 71 79 97\ -ef 1a 7a 08 88 4e fc 39 35 6d 76 07 7a af 82 45\ -9a 7f ad 45 84 88 75 f2 81 9b 09 89 37 fe 92 3b\ -cc 9d c4 42 d7 2d 75 4d 81 20 25 09 0c 9b c0 3d\ -b3 08 0c 13 8d d6 3b 35 5d 0b 4b 85 d6 68 8a c1\ -9f 4d e1 50 84 a0 ba 4e 37 3b 93 ef 4a 55 50 96\ -69 19 15 dc 23 c0 0e 95 4c de b2 0a 47 cd 55 d1\ -6c 3d 86 81 d4 6e d7 f2 ed 5e a4 27 95 be 17 ba\ -ed 25 f0 f4 d1 13 b3 63 6a dd d5 85 f1 6a 8b 5a\ -ec 0c 8f a9 c5 f0 3c bf 3b 9b 73 -Salt: \ -24 97 dc 2b 46 15 df ae 5a 66 3d 49 ff d5 6b f7\ -ef c1 13 04 -Signature: \ -02 2a 80 04 53 53 90 4c b3 0c bb 54 2d 7d 49 90\ -42 1a 6e ec 16 a8 02 9a 84 22 ad fd 22 d6 af f8\ -c4 cc 02 94 af 11 0a 0c 06 7e c8 6a 7d 36 41 34\ -45 9b b1 ae 8f f8 36 d5 a8 a2 57 98 40 99 6b 32\ -0b 19 f1 3a 13 fa d3 78 d9 31 a6 56 25 da e2 73\ -9f 0c 53 67 0b 35 d9 d3 cb ac 08 e7 33 e4 ec 2b\ -83 af 4b 91 96 d6 3e 7c 4f f1 dd ea e2 a1 22 79\ -1a 12 5b fe a8 de b0 de 8c cf 1f 4f fa f6 e6 fb\ -0a -Test: Verify -Comment: RSASSA-PSS Signature Example 4.6 -Message: \ -af bc 19 d4 79 24 90 18 fd f4 e0 9f 61 87 26 44\ -04 95 de 11 dd ee e3 88 72 d7 75 fc ea 74 a2 38\ -96 b5 34 3c 9c 38 d4 6a f0 db a2 24 d0 47 58 0c\ -c6 0a 65 e9 39 1c f9 b5 9b 36 a8 60 59 8d 4e 82\ -16 72 2f 99 3b 91 cf ae 87 bc 25 5a f8 9a 6a 19\ -9b ca 4a 39 1e ad bc 3a 24 90 3c 0b d6 67 36 8f\ -6b e7 8e 3f ea bf b4 ff d4 63 12 27 63 74 0f fb\ -be fe ab 9a 25 56 4b c5 d1 c2 4c 93 e4 22 f7 50\ -73 e2 ad 72 bf 45 b1 0d f0 0b 52 a1 47 12 8e 73\ -fe e3 3f a3 f0 57 7d 77 f8 0f bc 2d f1 be d3 13\ -29 0c 12 77 7f 50 -Salt: \ -a3 34 db 6f ae bf 11 08 1a 04 f8 7c 2d 62 1c de\ -c7 93 0b 9b -Signature: \ -00 93 8d cb 6d 58 30 46 06 5f 69 c7 8d a7 a1 f1\ -75 70 66 a7 fa 75 12 5a 9d 29 29 f0 b7 9a 60 b6\ -27 b0 82 f1 1f 5b 19 6f 28 eb 9d aa 6f 21 c0 5e\ -51 40 f6 ae f1 73 7d 20 23 07 5c 05 ec f0 4a 02\ -8c 68 6a 2a b3 e7 d5 a0 66 4f 29 5c e1 29 95 e8\ -90 90 8b 6a d2 1f 08 39 eb 65 b7 03 93 a7 b5 af\ -d9 87 1d e0 ca a0 ce de c5 b8 19 62 67 56 20 9d\ -13 ab 1e 7b b9 54 6a 26 ff 37 e9 a5 1a f9 fd 56\ -2e -Test: Verify -Comment: Example 5: A 1028-bit RSA Key Pair -Modulus: \ -0d 10 f6 61 f2 99 40 f5 ed 39 aa 26 09 66 de b4\ -78 43 67 9d 2b 6f b2 5b 3d e3 70 f3 ac 7c 19 91\ -63 91 fd 25 fb 52 7e bf a6 a4 b4 df 45 a1 75 9d\ -99 6c 4b b4 eb d1 88 28 c4 4f c5 2d 01 91 87 17\ -40 52 5f 47 a4 b0 cc 8d a3 25 ed 8a a6 76 b0 d0\ -f6 26 e0 a7 7f 07 69 21 70 ac ac 80 82 f4 2f aa\ -7d c7 cd 12 3e 73 0e 31 a8 79 85 20 4c ab cb e6\ -67 0d 43 a2 dd 2b 2d de f5 e0 53 92 fc 21 3b c5\ -07 -PublicExponent: \ -01 00 01 -PrivateExponent: \ -03 ce 08 b1 04 ff f3 96 a9 79 bd 3e 4e 46 92 5b\ -63 19 dd b6 3a cb cf d8 19 f1 7d 16 b8 07 7b 3a\ -87 10 1f f3 4b 77 fe 48 b8 b2 05 a9 6e 91 51 ba\ -8e ce a6 4d 0c ce 7b 23 c3 e6 a6 b8 30 58 bc 49\ -da e8 16 ae 73 6d b5 a4 70 8e 2a d4 35 23 2b 56\ -7f 90 96 ce 59 ff 28 06 1e 79 ab 1c 02 d7 17 e6\ -b2 3c ea 6d b8 eb 51 92 fa 7c 1e ab 22 7d ba 74\ -62 1c 45 60 18 96 ee f1 37 92 c8 44 0b eb 15 aa\ -c1 -Prime1: \ -03 f2 f3 31 f4 14 2d 4f 24 b4 3a a1 02 79 a8 96\ -52 d4 e7 53 72 21 a1 a7 b2 a2 5d eb 55 1e 5d e9\ -ac 49 74 11 c2 27 a9 4e 45 f9 1c 2d 1c 13 cc 04\ -6c f4 ce 14 e3 2d 05 87 34 21 0d 44 a8 7e e1 b7\ -3f -Prime2: \ -03 4f 09 0d 73 b5 58 03 03 0c f0 36 1a 5d 80 81\ -bf b7 9f 85 15 23 fe ac 0a 21 24 d0 8d 40 13 ff\ -08 48 77 71 a8 70 d0 47 9d c0 68 6c 62 f7 71 8d\ -fe cf 02 4b 17 c9 26 76 78 05 91 71 33 9c c0 08\ -39 -ModPrime1PrivateExponent: \ -02 aa 66 3a db f5 1a b8 87 a0 18 cb 42 6e 78 bc\ -2f e1 82 dc b2 f7 bc b5 04 41 d1 7f df 0f 06 79\ -8b 50 71 c6 e2 f5 fe b4 d5 4a d8 18 23 11 c1 ef\ -62 d4 c4 9f 18 d1 f5 1f 54 b2 d2 cf fb a4 da 1b\ -e5 -ModPrime2PrivateExponent: \ -02 bb e7 06 07 8b 5c 0b 39 15 12 d4 11 db 1b 19\ -9b 5a 56 64 b8 40 42 ea d3 7f e9 94 ae 72 b9 53\ -2d fb fb 3e 9e 69 81 a0 fb b8 06 51 31 41 b7 c2\ -16 3f e5 6c 39 5e 4b fa ee 57 e3 83 3f 9b 91 8d\ -f9 -MultiplicativeInverseOfPrime2ModPrime1: \ -02 42 b6 cd 00 d3 0a 76 7a ee 9a 89 8e ad 45 3c\ -8e ae a6 3d 50 0b 7d 1e 00 71 3e da e5 1c e3 6b\ -23 b6 64 df 26 e6 3e 26 6e c8 f7 6e 6e 63 ed 1b\ -a4 1e b0 33 b1 20 f7 ea 52 12 ae 21 a9 8f bc 16 -Test: KeyPairValidAndConsistent -Comment: RSASSA-PSS Signature Example 5.1 -Message: \ -30 c7 d5 57 45 8b 43 6d ec fd c1 4d 06 cb 7b 96\ -b0 67 18 c4 8d 7d e5 74 82 a8 68 ae 7f 06 58 70\ -a6 21 65 06 d1 1b 77 93 23 df df 04 6c f5 77 51\ -29 13 4b 4d 56 89 e4 d9 c0 ce 1e 12 d7 d4 b0 6c\ -b5 fc 58 20 de cf a4 1b af 59 bf 25 7b 32 f0 25\ -b7 67 9b 44 5b 94 99 c9 25 55 14 58 85 99 2f 1b\ -76 f8 48 91 ee 4d 3b e0 f5 15 0f d5 90 1e 3a 4c\ -8e d4 3f d3 6b 61 d0 22 e6 5a d5 00 8d bf 33 29\ -3c 22 bf bf d0 73 21 f0 f1 d5 fa 9f df 00 14 c2\ -fc b0 35 8a ad 0e 35 4b 0d 29 -Salt: \ -08 1b 23 3b 43 56 77 50 bd 6e 78 f3 96 a8 8b 9f\ -6a 44 51 51 -Signature: \ -0b a3 73 f7 6e 09 21 b7 0a 8f bf e6 22 f0 bf 77\ -b2 8a 3d b9 8e 36 10 51 c3 d7 cb 92 ad 04 52 91\ -5a 4d e9 c0 17 22 f6 82 3e eb 6a df 7e 0c a8 29\ -0f 5d e3 e5 49 89 0a c2 a3 c5 95 0a b2 17 ba 58\ -59 08 94 95 2d e9 6f 8d f1 11 b2 57 52 15 da 6c\ -16 15 90 c7 45 be 61 24 76 ee 57 8e d3 84 ab 33\ -e3 ec e9 74 81 a2 52 f5 c7 9a 98 b5 53 2a e0 0c\ -dd 62 f2 ec c0 cd 1b ae fe 80 d8 0b 96 21 93 ec\ -1d -Test: Verify -Comment: RSASSA-PSS Signature Example 5.2 -Message: \ -e7 b3 2e 15 56 ea 1b 27 95 04 6a c6 97 39 d2 2a\ -c8 96 6b f1 1c 11 6f 61 4b 16 67 40 e9 6b 90 65\ -3e 57 50 94 5f cf 77 21 86 c0 37 90 a0 7f da 32\ -3e 1a 61 91 6b 06 ee 21 57 db 3d ff 80 d6 7d 5e\ -39 a5 3a e2 68 c8 f0 9e d9 9a 73 20 05 b0 bc 6a\ -04 af 4e 08 d5 7a 00 e7 20 1b 30 60 ef aa db 73\ -11 3b fc 08 7f d8 37 09 3a a2 52 35 b8 c1 49 f5\ -62 15 f0 31 c2 4a d5 bd e7 f2 99 60 df 7d 52 40\ -70 f7 44 9c 6f 78 50 84 be 1a 0f 73 30 47 f3 36\ -f9 15 47 38 67 45 47 db 02 a9 f4 4d fc 6e 60 30\ -10 81 e1 ce 99 84 7f 3b 5b 60 1f f0 6b 4d 57 76\ -a9 74 0b 9a a0 d3 40 58 fd 3b 90 6e 4f 78 59 df\ -b0 7d 71 73 e5 e6 f6 35 0a da c2 1f 27 b2 30 74\ -69 -Salt: \ -bd 0c e1 95 49 d0 70 01 20 cb e5 10 77 db bb b0\ -0a 8d 8b 09 -Signature: \ -08 18 0d e8 25 e4 b8 b0 14 a3 2d a8 ba 76 15 55\ -92 12 04 f2 f9 0d 5f 24 b7 12 90 8f f8 4f 3e 22\ -0a d1 79 97 c0 dd 6e 70 66 30 ba 3e 84 ad d4 d5\ -e7 ab 00 4e 58 07 4b 54 97 09 56 5d 43 ad 9e 97\ -b5 a7 a1 a2 9e 85 b9 f9 0f 4a af cd f5 83 21 de\ -8c 59 74 ef 9a bf 2d 52 6f 33 c0 f2 f8 2e 95 d1\ -58 ea 6b 81 f1 73 6d b8 d1 af 3d 6a c6 a8 3b 32\ -d1 8b ae 0f f1 b2 fe 27 de 4c 76 ed 8c 79 80 a3\ -4e -Test: Verify -Comment: RSASSA-PSS Signature Example 5.3 -Message: \ -8d 83 96 e3 65 07 fe 1e f6 a1 90 17 54 8e 0c 71\ -66 74 c2 fe c2 33 ad b2 f7 75 66 5e c4 1f 2b d0\ -ba 39 6b 06 1a 9d aa 7e 86 6f 7c 23 fd 35 31 95\ -43 00 a3 42 f9 24 53 5e a1 49 8c 48 f6 c8 79 93\ -28 65 fc 02 00 0c 52 87 23 b7 ad 03 35 74 5b 51\ -20 9a 0a fe d9 32 af 8f 08 87 c2 19 00 4d 2a bd\ -89 4e a9 25 59 ee 31 98 af 3a 73 4f e9 b9 63 8c\ -26 3a 72 8a d9 5a 5a e8 ce 3e b1 58 39 f3 aa 78\ -52 bb 39 07 06 e7 76 0e 43 a7 12 91 a2 e3 f8 27\ -23 7d ed a8 51 87 4c 51 76 65 f5 45 f2 72 38 df\ -86 55 7f 37 5d 09 cc d8 bd 15 d8 cc f6 1f 5d 78\ -ca 5c 7f 5c de 78 2e 6b f5 d0 05 70 56 d4 ba d9\ -8b 3d 2f 95 75 e8 24 ab 7a 33 ff 57 b0 ac 10 0a\ -b0 d6 ea d7 aa 0b 50 f6 e4 d3 e5 ec 0b 96 6b -Salt: \ -81 57 79 a9 1b 3a 8b d0 49 bf 2a eb 92 01 42 77\ -22 22 c9 ca -Signature: \ -05 e0 fd bd f6 f7 56 ef 73 31 85 cc fa 8c ed 2e\ -b6 d0 29 d9 d5 6e 35 56 1b 5d b8 e7 02 57 ee 6f\ -d0 19 d2 f0 bb f6 69 fe 9b 98 21 e7 8d f6 d4 1e\ -31 60 8d 58 28 0f 31 8e e3 4f 55 99 41 c8 df 13\ -28 75 74 ba c0 00 b7 e5 8d c4 f4 14 ba 49 fb 12\ -7f 9d 0f 89 36 63 8c 76 e8 53 56 c9 94 f7 97 50\ -f7 fa 3c f4 fd 48 2d f7 5e 3f b9 97 8c d0 61 f7\ -ab b1 75 72 e6 e6 3e 0b de 12 cb dc f1 8c 68 b9\ -79 -Test: Verify -Comment: RSASSA-PSS Signature Example 5.4 -Message: \ -32 8c 65 9e 0a 64 37 43 3c ce b7 3c 14 -Salt: \ -9a ec 4a 74 80 d5 bb c4 29 20 d7 ca 23 5d b6 74\ -98 9c 9a ac -Signature: \ -0b c9 89 85 3b c2 ea 86 87 32 71 ce 18 3a 92 3a\ -b6 5e 8a 53 10 0e 6d f5 d8 7a 24 c4 19 4e b7 97\ -81 3e e2 a1 87 c0 97 dd 87 2d 59 1d a6 0c 56 86\ -05 dd 7e 74 2d 5a f4 e3 3b 11 67 8c cb 63 90 32\ -04 a3 d0 80 b0 90 2c 89 ab a8 86 8f 00 9c 0f 1c\ -0c b8 58 10 bb dd 29 12 1a bb 84 71 ff 2d 39 e4\ -9f d9 2d 56 c6 55 c8 e0 37 ad 18 fa fb dc 92 c9\ -58 63 f7 f6 1e a9 ef a2 8f ea 40 13 69 d1 9d ae\ -a1 -Test: Verify -Comment: RSASSA-PSS Signature Example 5.5 -Message: \ -f3 7b 96 23 79 a4 7d 41 5a 37 6e ec 89 73 15 0b\ -cb 34 ed d5 ab 65 40 41 b6 14 30 56 0c 21 44 58\ -2b a1 33 c8 67 d8 52 d6 b8 e2 33 21 90 13 02 ec\ -b4 5b 09 ec 88 b1 52 71 78 fa 04 32 63 f3 06 7d\ -9f fe 97 30 32 a9 9f 4c b0 8a d2 c7 e0 a2 45 6c\ -dd 57 a7 df 56 fe 60 53 52 7a 5a eb 67 d7 e5 52\ -06 3c 1c a9 7b 1b ef fa 7b 39 e9 97 ca f2 78 78\ -ea 0f 62 cb eb c8 c2 1d f4 c8 89 a2 02 85 1e 94\ -90 88 49 0c 24 9b 6e 9a cf 1d 80 63 f5 be 23 43\ -98 9b f9 5c 4d a0 1a 2b e7 8b 4a b6 b3 78 01 5b\ -c3 79 57 f7 69 48 b5 e5 8e 44 0c 28 45 3d 40 d7\ -cf d5 7e 7d 69 06 00 47 4a b5 e7 59 73 b1 ea 0c\ -5f 1e 45 d1 41 90 af e2 f4 eb 6d 3b df 71 f1 d2\ -f8 bb 15 6a 1c 29 5d 04 aa eb 9d 68 9d ce 79 ed\ -62 bc 44 3e -Salt: \ -e2 0c 1e 98 78 51 2c 39 97 0f 58 37 5e 15 49 a6\ -8b 64 f3 1d -Signature: \ -0a ef a9 43 b6 98 b9 60 9e df 89 8a d2 27 44 ac\ -28 dc 23 94 97 ce a3 69 cb bd 84 f6 5c 95 c0 ad\ -77 6b 59 47 40 16 4b 59 a7 39 c6 ff 7c 2f 07 c7\ -c0 77 a8 6d 95 23 8f e5 1e 1f cf 33 57 4a 4a e0\ -68 4b 42 a3 f6 bf 67 7d 91 82 0c a8 98 74 46 7b\ -2c 23 ad d7 79 69 c8 07 17 43 0d 0e fc 1d 36 95\ -89 2c e8 55 cb 7f 70 11 63 0f 4d f2 6d ef 8d df\ -36 fc 23 90 5f 57 fa 62 43 a4 85 c7 70 d5 68 1f\ -cd -Test: Verify -Comment: RSASSA-PSS Signature Example 5.6 -Message: \ -c6 10 3c 33 0c 1e f7 18 c1 41 e4 7b 8f a8 59 be\ -4d 5b 96 25 9e 7d 14 20 70 ec d4 85 83 9d ba 5a\ -83 69 c1 7c 11 14 03 5e 53 2d 19 5c 74 f4 4a 04\ -76 a2 d3 e8 a4 da 21 00 16 ca ce d0 e3 67 cb 86\ -77 10 a4 b5 aa 2d f2 b8 e5 da f5 fd c6 47 80 7d\ -4d 5e bb 6c 56 b9 76 3c cd ae 4d ea 33 08 eb 0a\ -c2 a8 95 01 cb 20 9d 26 39 fa 5b f8 7c e7 90 74\ -7d 3c b2 d2 95 e8 45 64 f2 f6 37 82 4f 0c 13 02\ -81 29 b0 aa 4a 42 2d 16 22 82 -Salt: \ -23 29 1e 4a 33 07 e8 bb b7 76 62 3a b3 4e 4a 5f\ -4c c8 a8 db -Signature: \ -02 80 2d cc fa 8d fa f5 27 9b f0 b4 a2 9b a1 b1\ -57 61 1f ae aa f4 19 b8 91 9d 15 94 19 00 c1 33\ -9e 7e 92 e6 fa e5 62 c5 3e 6c c8 e8 41 04 b1 10\ -bc e0 3a d1 85 25 e3 c4 9a 0e ad ad 5d 3f 28 f2\ -44 a8 ed 89 ed ba fb b6 86 27 7c fa 8a e9 09 71\ -4d 6b 28 f4 bf 8e 29 3a a0 4c 41 ef e7 c0 a8 12\ -66 d5 c0 61 e2 57 5b e0 32 aa 46 46 74 ff 71 62\ -62 19 bd 74 cc 45 f0 e7 ed 4e 3f f9 6e ee 75 8e\ -8f -Test: Verify -Comment: Example 6: A 1029-bit RSA Key Pair -Modulus: \ -16 4c a3 1c ff 60 9f 3a 0e 71 01 b0 39 f2 e4 fe\ -6d d3 75 19 ab 98 59 8d 17 9e 17 49 96 59 80 71\ -f4 7d 3a 04 55 91 58 d7 be 37 3c f1 aa 53 f0 aa\ -6e f0 90 39 e5 67 8c 2a 4c 63 90 05 14 c8 c4 f8\ -aa ed 5d e1 2a 5f 10 b0 9c 31 1a f8 c0 ff b5 b7\ -a2 97 f2 ef c6 3b 8d 6b 05 10 93 1f 0b 98 e4 8b\ -f5 fc 6e c4 e7 b8 db 1f fa eb 08 c3 8e 02 ad b8\ -f0 3a 48 22 9c 99 e9 69 43 1f 61 cb 8c 4d c6 98\ -d1 -PublicExponent: \ -01 00 01 -PrivateExponent: \ -03 b6 64 ee 3b 75 66 72 3f c6 ea f2 8a bb 43 0a\ -39 80 f1 12 6c 81 de 8a d7 09 ea b3 9a c9 dc d0\ -b1 55 0b 37 29 d8 70 68 e9 52 00 9d f5 44 53 4c\ -1f 50 82 9a 78 f4 59 1e b8 fd 57 14 04 26 a6 bb\ -04 05 b6 a6 f5 1a 57 d9 26 7b 7b bc 65 33 91 a6\ -99 a2 a9 0d ac 8a e2 26 bc c6 0f a8 cd 93 4c 73\ -c7 b0 3b 1f 6b 81 81 58 63 18 38 a8 61 2e 6e 6e\ -a9 2b e2 4f 83 24 fa f5 b1 fd 85 87 22 52 67 ba\ -6f -Prime1: \ -04 f0 54 8c 96 26 ab 1e bf 12 44 93 47 41 d9 9a\ -06 22 0e fa 2a 58 56 aa 0e 75 73 0b 2e c9 6a dc\ -86 be 89 4f a2 80 3b 53 a5 e8 5d 27 6a cb d2 9a\ -b8 23 f8 0a 73 91 bb 54 a5 05 16 72 fb 04 ee b5\ -43 -Prime2: \ -04 83 e0 ae 47 91 55 87 74 3f f3 45 36 2b 55 5d\ -39 62 d9 8b b6 f1 5f 84 8b 4c 92 b1 77 1c a8 ed\ -10 7d 8d 3e e6 5e c4 45 17 dd 0f aa 48 1a 38 7e\ -90 2f 7a 2e 74 7c 26 9e 7e a4 44 80 bc 53 8b 8e\ -5b -ModPrime1PrivateExponent: \ -03 a8 e8 ae a9 92 0c 1a a3 b2 f0 d8 46 e4 b8 50\ -d8 1c a3 06 a5 1c 83 54 4f 94 9f 64 f9 0d cf 3f\ -8e 26 61 f0 7e 56 12 20 a1 80 38 8f be 27 3e 70\ -e2 e5 dc a8 3a 0e 13 48 dd 64 90 c7 31 d6 ec e1\ -ab -ModPrime2PrivateExponent: \ -01 35 bd cd b6 0b f2 19 7c 43 6e d3 4b 32 cd 8b\ -4f c7 77 78 83 2b a7 67 03 55 1f b2 42 b3 01 69\ -95 93 af 77 fd 8f c3 94 a8 52 6a d2 3c c4 1a 03\ -80 6b d8 97 fe 4b 0e a6 46 55 8a ad dc c9 9e 8a\ -25 -MultiplicativeInverseOfPrime2ModPrime1: \ -03 04 c0 3d 9c 73 65 03 a9 84 ab bd 9b a2 23 01\ -40 7c 4a 2a b1 dd 85 76 64 81 b6 0d 45 40 11 52\ -e6 92 be 14 f4 12 1d 9a a3 fd 6e 0b 4d 1d 3a 97\ -35 38 a3 1d 42 ee 6e 1e 5e f6 20 23 1a 2b ba f3\ -5f -Test: KeyPairValidAndConsistent -Comment: RSASSA-PSS Signature Example 6.1 -Message: \ -0a 20 b7 74 ad dc 2f a5 12 45 ed 7c b9 da 60 9e\ -50 ca c6 63 6a 52 54 3f 97 45 8e ed 73 40 f8 d5\ -3f fc 64 91 8f 94 90 78 ee 03 ef 60 d4 2b 5f ec\ -24 60 50 bd 55 05 cd 8c b5 97 ba d3 c4 e7 13 b0\ -ef 30 64 4e 76 ad ab b0 de 01 a1 56 1e fb 25 51\ -58 c7 4f c8 01 e6 e9 19 e5 81 b4 6f 0f 0d dd 08\ -e4 f3 4c 78 10 b5 ed 83 18 f9 1d 7c 8c -Salt: \ -5b 4e a2 ef 62 9c c2 2f 3b 53 8e 01 69 04 b4 7b\ -1e 40 bf d5 -Signature: \ -04 c0 cf ac ec 04 e5 ba db ec e1 59 a5 a1 10 3f\ -69 b3 f3 2b a5 93 cb 4c c4 b1 b7 ab 45 59 16 a9\ -6a 27 cd 26 78 ea 0f 46 ba 37 f7 fc 9c 86 32 5f\ -29 73 3b 38 9f 1d 97 f4 3e 72 01 c0 f3 48 fc 45\ -fe 42 89 23 35 36 2e ee 01 8b 5b 16 1f 2f 93 93\ -03 12 25 c7 13 01 2a 57 6b c8 8e 23 05 24 89 86\ -8d 90 10 cb f0 33 ec c5 68 e8 bc 15 2b dc 59 d5\ -60 e4 12 91 91 5d 28 56 52 08 e2 2a ee c9 ef 85\ -d1 -Test: Verify -Comment: RSASSA-PSS Signature Example 6.2 -Message: \ -2a af f6 63 1f 62 1c e6 15 76 0a 9e bc e9 4b b3\ -33 07 7a d8 64 88 c8 61 d4 b7 6d 29 c1 f4 87 46\ -c6 11 ae 1e 03 ce d4 44 5d 7c fa 1f e5 f6 2e 1b\ -3f 08 45 2b de 3b 6e f8 19 73 ba fb b5 7f 97 bc\ -ee f8 73 98 53 95 b8 26 05 89 aa 88 cb 7d b5 0a\ -b4 69 26 2e 55 1b dc d9 a5 6f 27 5a 0a c4 fe 48\ -47 00 c3 5f 3d bf 2b 46 9e de 86 47 41 b8 6f a5\ -91 72 a3 60 ba 95 a0 2e 13 9b e5 0d df b7 cf 0b\ -42 fa ea bb fb ba a8 6a 44 97 69 9c 4f 2d fd 5b\ -08 40 6a f7 e1 41 44 42 7c 25 3e c0 ef a2 0e af\ -9a 8b e8 cd 49 ce 1f 1b c4 e9 3e 61 9c f2 aa 8e\ -d4 fb 39 bc 85 90 d0 f7 b9 64 88 f7 31 7a c9 ab\ -f7 be e4 e3 a0 e7 15 -Salt: \ -83 14 6a 9e 78 27 22 c2 8b 01 4f 98 b4 26 7b da\ -2a c9 50 4f -Signature: \ -0a 23 14 25 0c f5 2b 6e 4e 90 8d e5 b3 56 46 bc\ -aa 24 36 1d a8 16 0f b0 f9 25 75 90 ab 3a ce 42\ -b0 dc 3e 77 ad 2d b7 c2 03 a2 0b d9 52 fb b5 6b\ -15 67 04 6e cf aa 93 3d 7b 10 00 c3 de 9f f0 5b\ -7d 98 9b a4 6f d4 3b c4 c2 d0 a3 98 6b 7f fa 13\ -47 1d 37 eb 5b 47 d6 47 07 bd 29 0c fd 6a 9f 39\ -3a d0 8e c1 e3 bd 71 bb 57 92 61 50 35 cd af 2d\ -89 29 ae d3 be 09 83 79 37 7e 77 7c e7 9a aa 47\ -73 -Test: Verify -Comment: RSASSA-PSS Signature Example 6.3 -Message: \ -0f 61 95 d0 4a 6e 6f c7 e2 c9 60 0d bf 84 0c 39\ -ea 8d 4d 62 4f d5 35 07 01 6b 0e 26 85 8a 5e 0a\ -ec d7 ad a5 43 ae 5c 0a b3 a6 25 99 cb a0 a5 4e\ -6b f4 46 e2 62 f9 89 97 8f 9d df 5e 9a 41 -Salt: \ -a8 7b 8a ed 07 d7 b8 e2 da f1 4d dc a4 ac 68 c4\ -d0 aa bf f8 -Signature: \ -08 6d f6 b5 00 09 8c 12 0f 24 ff 84 23 f7 27 d9\ -c6 1a 5c 90 07 d3 b6 a3 1c e7 cf 8f 3c be c1 a2\ -6b b2 0e 2b d4 a0 46 79 32 99 e0 3e 37 a2 1b 40\ -19 4f b0 45 f9 0b 18 bf 20 a4 79 92 cc d7 99 cf\ -9c 05 9c 29 9c 05 26 85 49 54 aa de 8a 6a d9 d9\ -7e c9 1a 11 45 38 3f 42 46 8b 23 1f 4d 72 f2 37\ -06 d9 85 3c 3f a4 3c e8 ac e8 bf e7 48 49 87 a1\ -ec 6a 16 c8 da f8 1f 7c 8b f4 27 74 70 7a 9d f4\ -56 -Test: Verify -Comment: RSASSA-PSS Signature Example 6.4 -Message: \ -33 7d 25 fe 98 10 eb ca 0d e4 d4 65 8d 3c eb 8e\ -0f e4 c0 66 ab a3 bc c4 8b 10 5d 3b f7 e0 25 7d\ -44 fe ce a6 59 6f 4d 0c 59 a0 84 02 83 36 78 f7\ -06 20 f9 13 8d fe b7 de d9 05 e4 a6 d5 f0 5c 47\ -3d 55 93 66 52 e2 a5 df 43 c0 cf da 7b ac af 30\ -87 f4 52 4b 06 cf 42 15 7d 01 53 97 39 f7 fd de\ -c9 d5 81 25 df 31 a3 2e ab 06 c1 9b 71 f1 d5 bf -Salt: \ -a3 79 32 f8 a7 49 4a 94 2d 6f 76 74 38 e7 24 d6\ -d0 c0 ef 18 -Signature: \ -0b 5b 11 ad 54 98 63 ff a9 c5 1a 14 a1 10 6c 2a\ -72 cc 8b 64 6e 5c 72 62 50 97 86 10 5a 98 47 76\ -53 4c a9 b5 4c 1c c6 4b f2 d5 a4 4f d7 e8 a6 9d\ -b6 99 d5 ea 52 08 7a 47 48 fd 2a bc 1a fe d1 e5\ -d6 f7 c8 90 25 53 0b da a2 21 3d 7e 03 0f a5 5d\ -f6 f3 4b cf 1c e4 6d 2e df 4e 3a e4 f3 b0 18 91\ -a0 68 c9 e3 a4 4b bc 43 13 3e da d6 ec b9 f3 54\ -00 c4 25 2a 57 62 d6 57 44 b9 9c b9 f4 c5 59 32\ -9f -Test: Verify -Comment: RSASSA-PSS Signature Example 6.5 -Message: \ -84 ec 50 2b 07 2e 82 87 78 9d 8f 92 35 82 9e a3\ -b1 87 af d4 d4 c7 85 61 1b da 5f 9e b3 cb 96 71\ -7e fa 70 07 22 7f 1c 08 cb cb 97 2e 66 72 35 e0\ -fb 7d 43 1a 65 70 32 6d 2e cc e3 5a db 37 3d c7\ -53 b3 be 5f 82 9b 89 17 54 93 19 3f ab 16 ba db\ -41 37 1b 3a ac 0a e6 70 07 6f 24 be f4 20 c1 35\ -ad d7 ce e8 d3 5f bc 94 4d 79 fa fb 9e 30 7a 13\ -b0 f5 56 cb 65 4a 06 f9 73 ed 22 67 23 30 19 7e\ -f5 a7 48 bf 82 6a 5d b2 38 3a 25 36 4b 68 6b 93\ -72 bb 23 39 ae b1 ac 9e 98 89 32 7d 01 6f 16 70\ -77 6d b0 62 01 ad bd ca f8 a5 e3 b7 4e 10 8b 73 -Salt: \ -7b 79 0c 1d 62 f7 b8 4e 94 df 6a f2 89 17 cf 57\ -10 18 11 0e -Signature: \ -02 d7 1f a9 b5 3e 46 54 fe fb 7f 08 38 5c f6 b0\ -ae 3a 81 79 42 eb f6 6c 35 ac 67 f0 b0 69 95 2a\ -3c e9 c7 e1 f1 b0 2e 48 0a 95 00 83 6d e5 d6 4c\ -db 7e cd e0 45 42 f7 a7 99 88 78 7e 24 c2 ba 05\ -f5 fd 48 2c 02 3e d5 c3 0e 04 83 9d c4 4b ed 2a\ -3a 3a 4f ee 01 11 3c 89 1a 47 d3 2e b8 02 5c 28\ -cb 05 0b 5c db 57 6c 70 fe 76 ef 52 34 05 c0 84\ -17 fa f3 50 b0 37 a4 3c 37 93 39 fc b1 8d 3a 35\ -6b -Test: Verify -Comment: RSASSA-PSS Signature Example 6.6 -Message: \ -99 06 d8 9f 97 a9 fd ed d3 cc d8 24 db 68 73 26\ -f3 0f 00 aa 25 a7 fc a2 af cb 3b 0f 86 cd 41 e7\ -3f 0e 8f f7 d2 d8 3f 59 e2 8e d3 1a 5a 0d 55 15\ -23 37 4d e2 2e 4c 7e 8f f5 68 b3 86 ee 3d c4 11\ -63 f1 0b f6 7b b0 06 26 1c 90 82 f9 af 90 bf 1d\ -90 49 a6 b9 fa e7 1c 7f 84 fb e6 e5 5f 02 78 9d\ -e7 74 f2 30 f1 15 02 6a 4b 4e 96 c5 5b 04 a9 5d\ -a3 aa cb b2 ce ce 8f 81 76 4a 1f 1c 99 51 54 11\ -08 7c f7 d3 4a ed ed 09 32 c1 83 -Salt: \ -fb be 05 90 25 b6 9b 89 fb 14 ae 22 89 e7 aa af\ -e6 0c 0f cd -Signature: \ -0a 40 a1 6e 2f e2 b3 8d 1d f9 05 46 16 7c f9 46\ -9c 9e 3c 36 81 a3 44 2b 4b 2c 2f 58 1d eb 38 5c\ -e9 9f c6 18 8b b0 2a 84 1d 56 e7 6d 30 18 91 e2\ -45 60 55 0f cc 2a 26 b5 5f 4c cb 26 d8 37 d3 50\ -a1 54 bc ac a8 39 2d 98 fa 67 95 9e 97 27 b7 8c\ -ad 03 26 9f 56 96 8f c5 6b 68 bd 67 99 26 d8 3c\ -c9 cb 21 55 50 64 5c cd a3 1c 76 0f f3 58 88 94\ -3d 2d 8a 1d 35 1e 81 e5 d0 7b 86 18 2e 75 10 81\ -ef -Test: Verify -Comment: Example 7: A 1030-bit RSA Key Pair -Modulus: \ -37 c9 da 4a 66 c8 c4 08 b8 da 27 d0 c9 d7 9f 8c\ -cb 1e af c1 d2 fe 48 74 6d 94 0b 7c 4e f5 de e1\ -8a d1 26 47 ce fa a0 c4 b3 18 8b 22 1c 51 53 86\ -75 9b 93 f0 20 24 b2 5a b9 24 2f 83 57 d8 f3 fd\ -49 64 0e e5 e6 43 ea f6 c6 4d ee fa 70 89 72 7c\ -8f f0 39 93 33 39 15 c6 ef 21 bf 59 75 b6 e5 0d\ -11 8b 51 00 8e c3 3e 9f 01 a0 a5 45 a1 0a 83 6a\ -43 dd bc a9 d8 b5 c5 d3 54 80 22 d7 06 4e a2 9a\ -b3 -PublicExponent: \ -01 00 01 -PrivateExponent: \ -3b ed 99 90 52 d9 57 bc 06 d6 51 ee f6 e3 a9 80\ -94 b1 62 1b d3 8b 54 49 bd 6c 4a ea 3d e7 e0 84\ -67 9a 44 84 de d2 5b e0 f0 82 6c f3 37 78 25 41\ -4b 14 d4 d6 1d b1 4d e6 26 fb b8 0e 5f 4f ae c9\ -56 f9 a0 a2 d2 4f 99 57 63 80 f0 84 eb 62 e4 6a\ -57 d5 54 27 8b 53 56 26 19 3c e0 20 60 57 5e b6\ -6c 57 98 d3 6f 6c 5d 40 fb 00 d8 09 b4 2a 73 10\ -2c 1c 74 ee 95 bd 71 42 0f ff ef 63 18 b5 2c 29 -Prime1: \ -07 ee fb 42 4b 0e 3a 40 e4 20 8e e5 af b2 80 b2\ -23 17 30 81 14 dd e0 b4 b6 4f 73 01 84 ec 68 da\ -6c e2 86 7a 9f 48 ed 77 26 d5 e2 61 4e d0 4a 54\ -10 73 6c 8c 71 4e e7 02 47 42 98 c6 29 2a f0 75\ -35 -Prime2: \ -07 08 30 db f9 47 ea c0 22 8d e2 63 14 b5 9b 66\ -99 4c c6 0e 83 60 e7 5d 38 76 29 8f 8f 8a 7d 14\ -1d a0 64 e5 ca 02 6a 97 3e 28 f2 54 73 8c ee 66\ -9c 72 1b 03 4c b5 f8 e2 44 da dd 7c d1 e1 59 d5\ -47 -ModPrime1PrivateExponent: \ -05 24 d2 0c 3d 95 cf f7 5a f2 31 34 83 22 7d 87\ -02 71 7a a5 76 de 15 5f 96 05 15 50 1a db 1d 70\ -e1 c0 4d e9 1b 75 b1 61 db f0 39 83 56 12 7e de\ -da 7b bc 19 a3 2d c1 62 1c c9 f5 3c 26 5d 0c e3\ -31 -ModPrime2PrivateExponent: \ -05 f9 84 a1 f2 3c 93 8d 6a 0e 89 72 4b cf 3d d9\ -3f 99 46 92 60 37 fe 7c 6b 13 a2 9e 52 84 85 5f\ -89 08 95 91 d4 40 97 56 27 bf 5c 9e 3a 8b 5c a7\ -9c 77 2a d2 73 e4 0d 32 1a f4 a6 c9 7d fd ed 78\ -d3 -MultiplicativeInverseOfPrime2ModPrime1: \ -dd d9 18 ad ad a2 9d ca b9 81 ff 9a cb a4 25 70\ -23 c0 9a 38 01 cc ce 09 8c e2 68 f8 55 d0 df 57\ -0c d6 e7 b9 b1 4b d9 a5 a9 25 4c bc 31 5b e6 f8\ -ba 1e 25 46 dd d5 69 c5 ea 19 ee d8 35 3b de 5e -Test: KeyPairValidAndConsistent -Comment: RSASSA-PSS Signature Example 7.1 -Message: \ -9e ad 0e 01 94 56 40 67 4e b4 1c ad 43 5e 23 74\ -ea ef a8 ad 71 97 d9 79 13 c4 49 57 d8 d8 3f 40\ -d7 6e e6 0e 39 bf 9c 0f 9e af 30 21 42 1a 07 4d\ -1a de 96 2c 6e 9d 3d c3 bb 17 4f e4 df e6 52 b0\ -91 15 49 5b 8f d2 79 41 74 02 0a 06 02 b5 ca 51\ -84 8c fc 96 ce 5e b5 7f c0 a2 ad c1 dd a3 6a 7c\ -c4 52 64 1a 14 91 1b 37 e4 5b fa 11 da a5 c7 ec\ -db 74 f6 d0 10 0d 1d 3e 39 e7 52 80 0e 20 33 97\ -de 02 33 07 7b 9a 88 85 55 37 fa e9 27 f9 24 38\ -0d 78 0f 98 e1 8d cf f3 9c 5e a7 41 b1 7d 6f dd\ -18 85 bc 9d 58 14 82 d7 71 ce b5 62 d7 8a 8b f8\ -8f 0c 75 b1 13 63 e5 e3 6c d4 79 ce b0 54 5f 9d\ -a8 42 03 e0 e6 e5 08 37 5c c9 e8 44 b8 8b 7a c7\ -a0 a2 01 ea 0f 1b ee 9a 2c 57 79 20 ca 02 c0 1b\ -9d 83 20 e9 74 a5 6f 4e fb 57 63 b9 62 55 ab bf\ -80 37 bf 18 02 cf 01 8f 56 37 94 93 e5 69 a9 -Salt: \ -b7 86 7a 59 95 8c b5 43 28 f8 77 5e 65 46 ec 06\ -d2 7e aa 50 -Signature: \ -18 7f 39 07 23 c8 90 25 91 f0 15 4b ae 6d 4e cb\ -ff e0 67 f0 e8 b7 95 47 6e a4 f4 d5 1c cc 81 05\ -20 bb 3c a9 bc a7 d0 b1 f2 ea 8a 17 d8 73 fa 27\ -57 0a cd 64 2e 38 08 56 1c b9 e9 75 cc fd 80 b2\ -3d c5 77 1c db 33 06 a5 f2 31 59 da cb d3 aa 2d\ -b9 3d 46 d7 66 e0 9e d1 5d 90 0a d8 97 a8 d2 74\ -dc 26 b4 7e 99 4a 27 e9 7e 22 68 a7 66 53 3a e4\ -b5 e4 2a 2f ca f7 55 c1 c4 79 4b 29 4c 60 55 58\ -23 -Test: Verify -Comment: RSASSA-PSS Signature Example 7.2 -Message: \ -8d 80 d2 d0 8d bd 19 c1 54 df 3f 14 67 3a 14 bd\ -03 73 52 31 f2 4e 86 bf 15 3d 0e 69 e7 4c bf f7\ -b1 83 6e 66 4d e8 3f 68 01 24 37 0f c0 f9 6c 9b\ -65 c0 7a 36 6b 64 4c 4a b3 -Salt: \ -0c 09 58 22 66 df 08 63 10 82 1b a7 e1 8d f6 4d\ -fe e6 de 09 -Signature: \ -10 fd 89 76 8a 60 a6 77 88 ab b5 85 6a 78 7c 85\ -61 f3 ed cf 9a 83 e8 98 f7 dc 87 ab 8c ce 79 42\ -9b 43 e5 69 06 94 1a 88 61 94 f1 37 e5 91 fe 7c\ -33 95 55 36 1f bb e1 f2 4f eb 2d 4b cd b8 06 01\ -f3 09 6b c9 13 2d ee a6 0a e1 30 82 f4 4f 9a d4\ -1c d6 28 93 6a 4d 51 17 6e 42 fc 59 cb 76 db 81\ -5c e5 ab 4d b9 9a 10 4a af ea 68 f5 d3 30 32 9e\ -bf 25 8d 4e de 16 06 4b d1 d0 03 93 d5 e1 57 0e\ -b8 -Test: Verify -Comment: RSASSA-PSS Signature Example 7.3 -Message: \ -80 84 05 cd fc 1a 58 b9 bb 03 97 c7 20 72 2a 81\ -ff fb 76 27 8f 33 59 17 ef 9c 47 38 14 b3 e0 16\ -ba 29 73 cd 27 65 f8 f3 f8 2d 6c c3 8a a7 f8 55\ -18 27 fe 8d 1e 38 84 b7 e6 1c 94 68 3b 8f 82 f1\ -84 3b da e2 25 7e ee c9 81 2a d4 c2 cf 28 3c 34\ -e0 b0 ae 0f e3 cb 99 0c f8 8f 2e f9 -Salt: \ -28 03 9d cf e1 06 d3 b8 29 66 11 25 8c 4a 56 65\ -1c 9e 92 dd -Signature: \ -2b 31 fd e9 98 59 b9 77 aa 09 58 6d 8e 27 46 62\ -b2 5a 2a 64 06 40 b4 57 f5 94 05 1c b1 e7 f7 a9\ -11 86 54 55 24 29 26 cf 88 fe 80 df a3 a7 5b a9\ -68 98 44 a1 1e 63 4a 82 b0 75 af bd 69 c1 2a 0d\ -f9 d2 5f 84 ad 49 45 df 3d c8 fe 90 c3 ce fd f2\ -6e 95 f0 53 43 04 b5 bd ba 20 d3 e5 64 0a 2e bf\ -b8 98 aa c3 5a e4 0f 26 fc e5 56 3c 2f 9f 24 f3\ -04 2a f7 6f 3c 70 72 d6 87 bb fb 95 9a 88 46 0a\ -f1 -Test: Verify -Comment: RSASSA-PSS Signature Example 7.4 -Message: \ -f3 37 b9 ba d9 37 de 22 a1 a0 52 df f1 11 34 a8\ -ce 26 97 62 02 98 19 39 b9 1e 07 15 ae 5e 60 96\ -49 da 1a df ce f3 f4 cc a5 9b 23 83 60 e7 d1 e4\ -96 c7 bf 4b 20 4b 5a cf f9 bb d6 16 6a 1d 87 a3\ -6e f2 24 73 73 75 10 39 f8 a8 00 b8 39 98 07 b3\ -a8 5f 44 89 34 97 c0 d0 5f b7 01 7b 82 22 81 52\ -de 6f 25 e6 11 6d cc 75 03 c7 86 c8 75 c2 8f 3a\ -a6 07 e9 4a b0 f1 98 63 ab 1b 50 73 77 0b 0c d5\ -f5 33 ac de 30 c6 fb 95 3c f3 da 68 02 64 e3 0f\ -c1 1b ff 9a 19 bf fa b4 77 9b 62 23 c3 fb 3f e0\ -f7 1a ba de 4e b7 c0 9c 41 e2 4c 22 d2 3f a1 48\ -e6 a1 73 fe b6 39 84 d1 bc 6e e3 a0 2d 91 5b 75\ -2c ea f9 2a 30 15 ec eb 38 ca 58 6c 68 01 b3 7c\ -34 ce fb 2c ff 25 ea 23 c0 86 62 dc ab 26 a7 a9\ -3a 28 5d 05 d3 04 4c -Salt: \ -a7 78 21 eb bb ef 24 62 8e 4e 12 e1 d0 ea 96 de\ -39 8f 7b 0f -Signature: \ -32 c7 ca 38 ff 26 94 9a 15 00 0c 4b a0 4b 2b 13\ -b3 5a 38 10 e5 68 18 4d 7e ca ba a1 66 b7 ff ab\ -dd f2 b6 cf 4b a0 71 24 92 37 90 f2 e5 b1 a5 be\ -04 0a ea 36 fe 13 2e c1 30 e1 f1 05 67 98 2d 17\ -ac 3e 89 b8 d2 6c 30 94 03 4e 76 2d 2e 03 12 64\ -f0 11 70 be ec b3 d1 43 9e 05 84 6f 25 45 83 67\ -a7 d9 c0 20 60 44 46 72 67 1e 64 e8 77 86 45 59\ -ca 19 b2 07 4d 58 8a 28 1b 58 04 d2 37 72 fb be\ -19 -Test: Verify -Comment: RSASSA-PSS Signature Example 7.5 -Message: \ -45 01 3c eb af d9 60 b2 55 47 6a 8e 25 98 b9 aa\ -32 ef be 6d c1 f3 4f 4a 49 8d 8c f5 a2 b4 54 8d\ -08 c5 5d 5f 95 f7 bc c9 61 91 63 05 6f 2d 58 b5\ -2f a0 32 -Salt: \ -9d 5a d8 eb 45 21 34 b6 5d c3 a9 8b 6a 73 b5 f7\ -41 60 9c d6 -Signature: \ -07 eb 65 1d 75 f1 b5 2b c2 63 b2 e1 98 33 6e 99\ -fb eb c4 f3 32 04 9a 92 2a 10 81 56 07 ee 2d 98\ -9d b3 a4 49 5b 7d cc d3 8f 58 a2 11 fb 7e 19 31\ -71 a3 d8 91 13 24 37 eb ca 44 f3 18 b2 80 50 9e\ -52 b5 fa 98 fc ce 82 05 d9 69 7c 8e e4 b7 ff 59\ -d4 c5 9c 79 03 8a 19 70 bd 2a 0d 45 1e cd c5 ef\ -11 d9 97 9c 9d 35 f8 c7 0a 61 63 71 76 07 89 0d\ -58 6a 7c 6d c0 1c 79 f8 6a 8f 28 e8 52 35 f8 c2\ -f1 -Test: Verify -Comment: RSASSA-PSS Signature Example 7.6 -Message: \ -23 58 09 70 86 c8 99 32 3e 75 d9 c9 0d 0c 09 f1\ -2d 9d 54 ed fb df 70 a9 c2 eb 5a 04 d8 f3 6b 9b\ -2b df 2a ab e0 a5 bd a1 96 89 37 f9 d6 eb d3 b6\ -b2 57 ef b3 13 6d 41 31 f9 ac b5 9b 85 e2 60 2c\ -2a 3f cd c8 35 49 4a 1f 4e 5e c1 8b 22 6c 80 23\ -2b 36 a7 5a 45 fd f0 9a 7e a9 e9 8e fb de 14 50\ -d1 19 4b f1 2e 15 a4 c5 f9 eb 5c 0b ce 52 69 e0\ -c3 b2 8c fa b6 55 d8 1a 61 a2 0b 4b e2 f5 44 59\ -bb 25 a0 db 94 c5 22 18 be 10 9a 74 26 de 83 01\ -44 24 78 9a aa 90 e5 05 6e 63 2a 69 81 15 e2 82\ -c1 a5 64 10 f2 6c 20 72 f1 93 48 1a 9d cd 88 05\ -72 00 5e 64 f4 08 2e cf -Salt: \ -3f 2e fc 59 58 80 a7 d4 7f cf 3c ba 04 98 3e a5\ -4c 4b 73 fb -Signature: \ -18 da 3c dc fe 79 bf b7 7f d9 c3 2f 37 7a d3 99\ -14 6f 0a 8e 81 06 20 23 32 71 a6 e3 ed 32 48 90\ -3f 5c dc 92 dc 79 b5 5d 3e 11 61 5a a0 56 a7 95\ -85 37 92 a3 99 8c 34 9c a5 c4 57 e8 ca 7d 29 d7\ -96 aa 24 f8 34 91 70 9b ef cf b1 51 0e a5 13 c9\ -28 29 a3 f0 0b 10 4f 65 56 34 f3 20 75 2e 13 0e\ -c0 cc f6 75 4f f8 93 db 30 29 32 bb 02 5e b6 0e\ -87 82 25 98 fc 61 9e 0e 98 17 37 a9 a4 c4 15 2d\ -33 -Test: Verify -Comment: Example 8: A 1031-bit RSA Key Pair -Modulus: \ -49 53 70 a1 fb 18 54 3c 16 d3 63 1e 31 63 25 5d\ -f6 2b e6 ee e8 90 d5 f2 55 09 e4 f7 78 a8 ea 6f\ -bb bc df 85 df f6 4e 0d 97 20 03 ab 36 81 fb ba\ -6d d4 1f d5 41 82 9b 2e 58 2d e9 f2 a4 a4 e0 a2\ -d0 90 0b ef 47 53 db 3c ee 0e e0 6c 7d fa e8 b1\ -d5 3b 59 53 21 8f 9c ce ea 69 5b 08 66 8e de aa\ -dc ed 94 63 b1 d7 90 d5 eb f2 7e 91 15 b4 6c ad\ -4d 9a 2b 8e fa b0 56 1b 08 10 34 47 39 ad a0 73\ -3f -PublicExponent: \ -01 00 01 -PrivateExponent: \ -6c 66 ff e9 89 80 c3 8f cd ea b5 15 98 98 83 61\ -65 f4 b4 b8 17 c4 f6 a8 d4 86 ee 4e a9 13 0f e9\ -b9 09 2b d1 36 d1 84 f9 5f 50 4a 60 7e ac 56 58\ -46 d2 fd d6 59 7a 89 67 c7 39 6e f9 5a 6e ee bb\ -45 78 a6 43 96 6d ca 4d 8e e3 de 84 2d e6 32 79\ -c6 18 15 9c 1a b5 4a 89 43 7b 6a 61 20 e4 93 0a\ -fb 52 a4 ba 6c ed 8a 49 47 ac 64 b3 0a 34 97 cb\ -e7 01 c2 d6 26 6d 51 72 19 ad 0e c6 d3 47 db e9 -Prime1: \ -08 da d7 f1 13 63 fa a6 23 d5 d6 d5 e8 a3 19 32\ -8d 82 19 0d 71 27 d2 84 6c 43 9b 0a b7 26 19 b0\ -a4 3a 95 32 0e 4e c3 4f c3 a9 ce a8 76 42 23 05\ -bd 76 c5 ba 7b e9 e2 f4 10 c8 06 06 45 a1 d2 9e\ -db -Prime2: \ -08 47 e7 32 37 6f c7 90 0f 89 8e a8 2e b2 b0 fc\ -41 85 65 fd ae 62 f7 d9 ec 4c e2 21 7b 97 99 0d\ -d2 72 db 15 7f 99 f6 3c 0d cb b9 fb ac db d4 c4\ -da db 6d f6 77 56 35 8c a4 17 48 25 b4 8f 49 70\ -6d -ModPrime1PrivateExponent: \ -05 c2 a8 3c 12 4b 36 21 a2 aa 57 ea 2c 3e fe 03\ -5e ff 45 60 f3 3d de bb 7a da b8 1f ce 69 a0 c8\ -c2 ed c1 65 20 dd a8 3d 59 a2 3b e8 67 96 3a c6\ -5f 2c c7 10 bb cf b9 6e e1 03 de b7 71 d1 05 fd\ -85 -ModPrime2PrivateExponent: \ -04 ca e8 aa 0d 9f aa 16 5c 87 b6 82 ec 14 0b 8e\ -d3 b5 0b 24 59 4b 7a 3b 2c 22 0b 36 69 bb 81 9f\ -98 4f 55 31 0a 1a e7 82 36 51 d4 a0 2e 99 44 79\ -72 59 51 39 36 34 34 e5 e3 0a 7e 7d 24 15 51 e1\ -b9 -MultiplicativeInverseOfPrime2ModPrime1: \ -07 d3 e4 7b f6 86 60 0b 11 ac 28 3c e8 8d bb 3f\ -60 51 e8 ef d0 46 80 e4 4c 17 1e f5 31 b8 0b 2b\ -7c 39 fc 76 63 20 e2 cf 15 d8 d9 98 20 e9 6f f3\ -0d c6 96 91 83 9c 4b 40 d7 b0 6e 45 30 7d c9 1f\ -3f -Test: KeyPairValidAndConsistent -Comment: RSASSA-PSS Signature Example 8.1 -Message: \ -81 33 2f 4b e6 29 48 41 5e a1 d8 99 79 2e ea cf\ -6c 6e 1d b1 da 8b e1 3b 5c ea 41 db 2f ed 46 70\ -92 e1 ff 39 89 14 c7 14 25 97 75 f5 95 f8 54 7f\ -73 56 92 a5 75 e6 92 3a f7 8f 22 c6 99 7d db 90\ -fb 6f 72 d7 bb 0d d5 74 4a 31 de cd 3d c3 68 58\ -49 83 6e d3 4a ec 59 63 04 ad 11 84 3c 4f 88 48\ -9f 20 97 35 f5 fb 7f da f7 ce c8 ad dc 58 18 16\ -8f 88 0a cb f4 90 d5 10 05 b7 a8 e8 4e 43 e5 42\ -87 97 75 71 dd 99 ee a4 b1 61 eb 2d f1 f5 10 8f\ -12 a4 14 2a 83 32 2e db 05 a7 54 87 a3 43 5c 9a\ -78 ce 53 ed 93 bc 55 08 57 d7 a9 fb -Salt: \ -1d 65 49 1d 79 c8 64 b3 73 00 9b e6 f6 f2 46 7b\ -ac 4c 78 fa -Signature: \ -02 62 ac 25 4b fa 77 f3 c1 ac a2 2c 51 79 f8 f0\ -40 42 2b 3c 5b af d4 0a 8f 21 cf 0f a5 a6 67 cc\ -d5 99 3d 42 db af b4 09 c5 20 e2 5f ce 2b 1e e1\ -e7 16 57 7f 1e fa 17 f3 da 28 05 2f 40 f0 41 9b\ -23 10 6d 78 45 aa f0 11 25 b6 98 e7 a4 df e9 2d\ -39 67 bb 00 c4 d0 d3 5b a3 55 2a b9 a8 b3 ee f0\ -7c 7f ec db c5 42 4a c4 db 1e 20 cb 37 d0 b2 74\ -47 69 94 0e a9 07 e1 7f bb ca 67 3b 20 52 23 80\ -c5 -Test: Verify -Comment: RSASSA-PSS Signature Example 8.2 -Message: \ -e2 f9 6e af 0e 05 e7 ba 32 6e cc a0 ba 7f d2 f7\ -c0 23 56 f3 ce de 9d 0f aa bf 4f cc 8e 60 a9 73\ -e5 59 5f d9 ea 08 -Salt: \ -43 5c 09 8a a9 90 9e b2 37 7f 12 48 b0 91 b6 89\ -87 ff 18 38 -Signature: \ -27 07 b9 ad 51 15 c5 8c 94 e9 32 e8 ec 0a 28 0f\ -56 33 9e 44 a1 b5 8d 4d dc ff 2f 31 2e 5f 34 dc\ -fe 39 e8 9c 6a 94 dc ee 86 db bd ae 5b 79 ba 4e\ -08 19 a9 e7 bf d9 d9 82 e7 ee 6c 86 ee 68 39 6e\ -8b 3a 14 c9 c8 f3 4b 17 8e b7 41 f9 d3 f1 21 10\ -9b f5 c8 17 2f ad a2 e7 68 f9 ea 14 33 03 2c 00\ -4a 8a a0 7e b9 90 00 0a 48 dc 94 c8 ba c8 aa be\ -2b 09 b1 aa 46 c0 a2 aa 0e 12 f6 3f bb a7 75 ba\ -7e -Test: Verify -Comment: RSASSA-PSS Signature Example 8.3 -Message: \ -e3 5c 6e d9 8f 64 a6 d5 a6 48 fc ab 8a db 16 33\ -1d b3 2e 5d 15 c7 4a 40 ed f9 4c 3d c4 a4 de 79\ -2d 19 08 89 f2 0f 1e 24 ed 12 05 4a 6b 28 79 8f\ -cb 42 d1 c5 48 76 9b 73 4c 96 37 31 42 09 2a ed\ -27 76 03 f4 73 8d f4 dc 14 46 58 6d 0e c6 4d a4\ -fb 60 53 6d b2 ae 17 fc 7e 3c 04 bb fb bb d9 07\ -bf 11 7c 08 63 6f a1 6f 95 f5 1a 62 16 93 4d 3e\ -34 f8 50 30 f1 7b bb c5 ba 69 14 40 58 af f0 81\ -e0 b1 9c f0 3c 17 19 5c 5e 88 8b a5 8f 6f e0 a0\ -2e 5c 3b da 97 19 a7 -Salt: \ -c6 eb be 76 df 0c 4a ea 32 c4 74 17 5b 2f 13 68\ -62 d0 45 29 -Signature: \ -2a d2 05 09 d7 8c f2 6d 1b 6c 40 61 46 08 6e 4b\ -0c 91 a9 1c 2b d1 64 c8 7b 96 6b 8f aa 42 aa 0c\ -a4 46 02 23 23 ba 4b 1a 1b 89 70 6d 7f 4c 3b e5\ -7d 7b 69 70 2d 16 8a b5 95 5e e2 90 35 6b 8c 4a\ -29 ed 46 7d 54 7e c2 3c ba df 28 6c cb 58 63 c6\ -67 9d a4 67 fc 93 24 a1 51 c7 ec 55 aa c6 db 40\ -84 f8 27 26 82 5c fe 1a a4 21 bc 64 04 9f b4 2f\ -23 14 8f 9c 25 b2 dc 30 04 37 c3 8d 42 8a a7 5f\ -96 -Test: Verify -Comment: RSASSA-PSS Signature Example 8.4 -Message: \ -db c5 f7 50 a7 a1 4b e2 b9 3e 83 8d 18 d1 4a 86\ -95 e5 2e 8a dd 9c 0a c7 33 b8 f5 6d 27 47 e5 29\ -a0 cc a5 32 dd 49 b9 02 ae fe d5 14 44 7f 9e 81\ -d1 61 95 c2 85 38 68 cb 9b 30 f7 d0 d4 95 c6 9d\ -01 b5 c5 d5 0b 27 04 5d b3 86 6c 23 24 a4 4a 11\ -0b 17 17 74 6d e4 57 d1 c8 c4 5c 3c d2 a9 29 70\ -c3 d5 96 32 05 5d 4c 98 a4 1d 6e 99 e2 a3 dd d5\ -f7 f9 97 9a b3 cd 18 f3 75 05 d2 51 41 de 2a 1b\ -ff 17 b3 a7 dc e9 41 9e cc 38 5c f1 1d 72 84 0f\ -19 95 3f d0 50 92 51 f6 ca fd e2 89 3d 0e 75 c7\ -81 ba 7a 50 12 ca 40 1a 4f a9 9e 04 b3 c3 24 9f\ -92 6d 5a fe 82 cc 87 da b2 2c 3c 1b 10 5d e4 8e\ -34 ac e9 c9 12 4e 59 59 7a c7 eb f8 -Salt: \ -02 1f dc c6 eb b5 e1 9b 1c b1 6e 9c 67 f2 76 81\ -65 7f e2 0a -Signature: \ -1e 24 e6 e5 86 28 e5 17 50 44 a9 eb 6d 83 7d 48\ -af 12 60 b0 52 0e 87 32 7d e7 89 7e e4 d5 b9 f0\ -df 0b e3 e0 9e d4 de a8 c1 45 4f f3 42 3b b0 8e\ -17 93 24 5a 9d f8 bf 6a b3 96 8c 8e dd c3 b5 32\ -85 71 c7 7f 09 1c c5 78 57 69 12 df eb d1 64 b9\ -de 54 54 fe 0b e1 c1 f6 38 5b 32 83 60 ce 67 ec\ -7a 05 f6 e3 0e b4 5c 17 c4 8a c7 00 41 d2 ca b6\ -7f 0a 2a e7 aa fd cc 8d 24 5e a3 44 2a 63 00 cc\ -c7 -Test: Verify -Comment: RSASSA-PSS Signature Example 8.5 -Message: \ -04 dc 25 1b e7 2e 88 e5 72 34 85 b6 38 3a 63 7e\ -2f ef e0 76 60 c5 19 a5 60 b8 bc 18 bd ed b8 6e\ -ae 23 64 ea 53 ba 9d ca 6e b3 d2 e7 d6 b8 06 af\ -42 b3 e8 7f 29 1b 4a 88 81 d5 bf 57 2c c9 a8 5e\ -19 c8 6a cb 28 f0 98 f9 da 03 83 c5 66 d3 c0 f5\ -8c fd 8f 39 5d cf 60 2e 5c d4 0e 8c 71 83 f7 14\ -99 6e 22 97 ef -Salt: \ -c5 58 d7 16 7c bb 45 08 ad a0 42 97 1e 71 b1 37\ -7e ea 42 69 -Signature: \ -33 34 1b a3 57 6a 13 0a 50 e2 a5 cf 86 79 22 43\ -88 d5 69 3f 5a cc c2 35 ac 95 ad d6 8e 5e b1 ee\ -c3 16 66 d0 ca 7a 1c da 6f 70 a1 aa 76 2c 05 75\ -2a 51 95 0c db 8a f3 c5 37 9f 18 cf e6 b5 bc 55\ -a4 64 82 26 a1 5e 91 2e f1 9a d7 7a de ea 91 1d\ -67 cf ef d6 9b a4 3f a4 11 91 35 ff 64 21 17 ba\ -98 5a 7e 01 00 32 5e 95 19 f1 ca 6a 92 16 bd a0\ -55 b5 78 50 15 29 11 25 e9 0d cd 07 a2 ca 96 73\ -ee -Test: Verify -Comment: RSASSA-PSS Signature Example 8.6 -Message: \ -0e a3 7d f9 a6 fe a4 a8 b6 10 37 3c 24 cf 39 0c\ -20 fa 6e 21 35 c4 00 c8 a3 4f 5c 18 3a 7e 8e a4\ -c9 ae 09 0e d3 17 59 f4 2d c7 77 19 cc a4 00 ec\ -dc c5 17 ac fc 7a c6 90 26 75 b2 ef 30 c5 09 66\ -5f 33 21 48 2f c6 9a 9f b5 70 d1 5e 01 c8 45 d0\ -d8 e5 0d 2a 24 cb f1 cf 0e 71 49 75 a5 db 7b 18\ -d9 e9 e9 cb 91 b5 cb 16 86 90 60 ed 18 b7 b5 62\ -45 50 3f 0c af 90 35 2b 8d e8 1c b5 a1 d9 c6 33\ -60 92 f0 cd -Salt: \ -76 fd 4e 64 fd c9 8e b9 27 a0 40 3e 35 a0 84 e7\ -6b a9 f9 2a -Signature: \ -1e d1 d8 48 fb 1e db 44 12 9b d9 b3 54 79 5a f9\ -7a 06 9a 7a 00 d0 15 10 48 59 3e 0c 72 c3 51 7f\ -f9 ff 2a 41 d0 cb 5a 0a c8 60 d7 36 a1 99 70 4f\ -7c b6 a5 39 86 a8 8b bd 8a bc c0 07 6a 2c e8 47\ -88 00 31 52 5d 44 9d a2 ac 78 35 63 74 c5 36 e3\ -43 fa a7 cb a4 2a 5a aa 65 06 08 77 91 c0 6a 8e\ -98 93 35 ae d1 9b fa b2 d5 e6 7e 27 fb 0c 28 75\ -af 89 6c 21 b6 e8 e7 30 9d 04 e4 f6 72 7e 69 46\ -3e -Test: Verify -Comment: Example 9: A 1536-bit RSA Key Pair -Modulus: \ -e6 bd 69 2a c9 66 45 79 04 03 fd d0 f5 be b8 b9\ -bf 92 ed 10 00 7f c3 65 04 64 19 dd 06 c0 5c 5b\ -5b 2f 48 ec f9 89 e4 ce 26 91 09 97 9c bb 40 b4\ -a0 ad 24 d2 24 83 d1 ee 31 5a d4 cc b1 53 42 68\ -35 26 91 c5 24 f6 dd 8e 6c 29 d2 24 cf 24 69 73\ -ae c8 6c 5b f6 b1 40 1a 85 0d 1b 9a d1 bb 8c bc\ -ec 47 b0 6f 0f 8c 7f 45 d3 fc 8f 31 92 99 c5 43\ -3d db c2 b3 05 3b 47 de d2 ec d4 a4 ca ef d6 14\ -83 3d c8 bb 62 2f 31 7e d0 76 b8 05 7f e8 de 3f\ -84 48 0a d5 e8 3e 4a 61 90 4a 4f 24 8f b3 97 02\ -73 57 e1 d3 0e 46 31 39 81 5c 6f d4 fd 5a c5 b8\ -17 2a 45 23 0e cb 63 18 a0 4f 14 55 d8 4e 5a 8b -PublicExponent: \ -01 00 01 -PrivateExponent: \ -6a 7f d8 4f b8 5f ad 07 3b 34 40 6d b7 4f 8d 61\ -a6 ab c1 21 96 a9 61 dd 79 56 5e 9d a6 e5 18 7b\ -ce 2d 98 02 50 f7 35 95 75 35 92 70 d9 15 90 bb\ -0e 42 7c 71 46 0b 55 d5 14 10 b1 91 bc f3 09 fe\ -a1 31 a9 2c 8e 70 27 38 fa 71 9f 1e 00 41 f5 2e\ -40 e9 1f 22 9f 4d 96 a1 e6 f1 72 e1 55 96 b4 51\ -0a 6d ae c2 61 05 f2 be bc 53 31 6b 87 bd f2 13\ -11 66 60 70 e8 df ee 69 d5 2c 71 a9 76 ca ae 79\ -c7 2b 68 d2 85 80 dc 68 6d 9f 51 29 d2 25 f8 2b\ -3d 61 55 13 a8 82 b3 db 91 41 6b 48 ce 08 88 82\ -13 e3 7e eb 9a f8 00 d8 1c ab 32 8c e4 20 68 99\ -03 c0 0c 7b 5f d3 1b 75 50 3a 6d 41 96 84 d6 29 -Prime1: \ -f8 eb 97 e9 8d f1 26 64 ee fd b7 61 59 6a 69 dd\ -cd 0e 76 da ec e6 ed 4b f5 a1 b5 0a c0 86 f7 92\ -8a 4d 2f 87 26 a7 7e 51 5b 74 da 41 98 8f 22 0b\ -1c c8 7a a1 fc 81 0c e9 9a 82 f2 d1 ce 82 1e dc\ -ed 79 4c 69 41 f4 2c 7a 1a 0b 8c 4d 28 c7 5e c6\ -0b 65 22 79 f6 15 4a 76 2a ed 16 5d 47 de e3 67 -Prime2: \ -ed 4d 71 d0 a6 e2 4b 93 c2 e5 f6 b4 bb e0 5f 5f\ -b0 af a0 42 d2 04 fe 33 78 d3 65 c2 f2 88 b6 a8\ -da d7 ef e4 5d 15 3e ef 40 ca cc 7b 81 ff 93 40\ -02 d1 08 99 4b 94 a5 e4 72 8c d9 c9 63 37 5a e4\ -99 65 bd a5 5c bf 0e fe d8 d6 55 3b 40 27 f2 d8\ -62 08 a6 e6 b4 89 c1 76 12 80 92 d6 29 e4 9d 3d -ModPrime1PrivateExponent: \ -2b b6 8b dd fb 0c 4f 56 c8 55 8b ff af 89 2d 80\ -43 03 78 41 e7 fa 81 cf a6 1a 38 c5 e3 9b 90 1c\ -8e e7 11 22 a5 da 22 27 bd 6c de eb 48 14 52 c1\ -2a d3 d6 1d 5e 4f 77 6a 0a b5 56 59 1b ef e3 e5\ -9e 5a 7f dd b8 34 5e 1f 2f 35 b9 f4 ce e5 7c 32\ -41 4c 08 6a ec 99 3e 93 53 e4 80 d9 ee c6 28 9f -ModPrime2PrivateExponent: \ -4f f8 97 70 9f ad 07 97 46 49 45 78 e7 0f d8 54\ -61 30 ee ab 56 27 c4 9b 08 0f 05 ee 4a d9 f3 e4\ -b7 cb a9 d6 a5 df f1 13 a4 1c 34 09 33 68 33 f1\ -90 81 6d 8a 6b c4 2e 9b ec 56 b7 56 7d 0f 3c 9c\ -69 6d b6 19 b2 45 d9 01 dd 85 6d b7 c8 09 2e 77\ -e9 a1 cc cd 56 ee 4d ba 42 c5 fd b6 1a ec 26 69 -MultiplicativeInverseOfPrime2ModPrime1: \ -77 b9 d1 13 7b 50 40 4a 98 27 29 31 6e fa fc 7d\ -fe 66 d3 4e 5a 18 26 00 d5 f3 0a 0a 85 12 05 1c\ -56 0d 08 1d 4d 0a 18 35 ec 3d 25 a6 0f 4e 4d 6a\ -a9 48 b2 bf 3d bb 5b 12 4c bb c3 48 92 55 a3 a9\ -48 37 2f 69 78 49 67 45 f9 43 e1 db 4f 18 38 2c\ -ea a5 05 df c6 57 57 bb 3f 85 7a 58 dc e5 21 56 -Test: KeyPairValidAndConsistent -Comment: RSASSA-PSS Signature Example 9.1 -Message: \ -a8 8e 26 58 55 e9 d7 ca 36 c6 87 95 f0 b3 1b 59\ -1c d6 58 7c 71 d0 60 a0 b3 f7 f3 ea ef 43 79 59\ -22 02 8b c2 b6 ad 46 7c fc 2d 7f 65 9c 53 85 aa\ -70 ba 36 72 cd de 4c fe 49 70 cc 79 04 60 1b 27\ -88 72 bf 51 32 1c 4a 97 2f 3c 95 57 0f 34 45 d4\ -f5 79 80 e0 f2 0d f5 48 46 e6 a5 2c 66 8f 12 88\ -c0 3f 95 00 6e a3 2f 56 2d 40 d5 2a f9 fe b3 2f\ -0f a0 6d b6 5b 58 8a 23 7b 34 e5 92 d5 5c f9 79\ -f9 03 a6 42 ef 64 d2 ed 54 2a a8 c7 7d c1 dd 76\ -2f 45 a5 93 03 ed 75 e5 41 ca 27 1e 2b 60 ca 70\ -9e 44 fa 06 61 13 1e 8d 5d 41 63 fd 8d 39 85 66\ -ce 26 de 87 30 e7 2f 9c ca 73 76 41 c2 44 15 94\ -20 63 70 28 df 0a 18 07 9d 62 08 ea 8b 47 11 a2\ -c7 50 f5 -Salt: \ -c0 a4 25 31 3d f8 d7 56 4b d2 43 4d 31 15 23 d5\ -25 7e ed 80 -Signature: \ -58 61 07 22 6c 3c e0 13 a7 c8 f0 4d 1a 6a 29 59\ -bb 4b 8e 20 5b a4 3a 27 b5 0f 12 41 11 bc 35 ef\ -58 9b 03 9f 59 32 18 7c b6 96 d7 d9 a3 2c 0c 38\ -30 0a 5c dd a4 83 4b 62 d2 eb 24 0a f3 3f 79 d1\ -3d fb f0 95 bf 59 9e 0d 96 86 94 8c 19 64 74 7b\ -67 e8 9c 9a ba 5c d8 50 16 23 6f 56 6c c5 80 2c\ -b1 3e ad 51 bc 7c a6 be f3 b9 4d cb db b1 d5 70\ -46 97 71 df 0e 00 b1 a8 a0 67 77 47 2d 23 16 27\ -9e da e8 64 74 66 8d 4e 1e ff f9 5f 1d e6 1c 60\ -20 da 32 ae 92 bb f1 65 20 fe f3 cf 4d 88 f6 11\ -21 f2 4b bd 9f e9 1b 59 ca f1 23 5b 2a 93 ff 81\ -fc 40 3a dd f4 eb de a8 49 34 a9 cd af 8e 1a 9e -Test: Verify -Comment: RSASSA-PSS Signature Example 9.2 -Message: \ -c8 c9 c6 af 04 ac da 41 4d 22 7e f2 3e 08 20 c3\ -73 2c 50 0d c8 72 75 e9 5b 0d 09 54 13 99 3c 26\ -58 bc 1d 98 85 81 ba 87 9c 2d 20 1f 14 cb 88 ce\ -d1 53 a0 19 69 a7 bf 0a 7b e7 9c 84 c1 48 6b c1\ -2b 3f a6 c5 98 71 b6 82 7c 8c e2 53 ca 5f ef a8\ -a8 c6 90 bf 32 6e 8e 37 cd b9 6d 90 a8 2e ba b6\ -9f 86 35 0e 18 22 e8 bd 53 6a 2e -Salt: \ -b3 07 c4 3b 48 50 a8 da c2 f1 5f 32 e3 78 39 ef\ -8c 5c 0e 91 -Signature: \ -80 b6 d6 43 25 52 09 f0 a4 56 76 38 97 ac 9e d2\ -59 d4 59 b4 9c 28 87 e5 88 2e cb 44 34 cf d6 6d\ -d7 e1 69 93 75 38 1e 51 cd 7f 55 4f 2c 27 17 04\ -b3 99 d4 2b 4b e2 54 0a 0e ca 61 95 1f 55 26 7f\ -7c 28 78 c1 22 84 2d ad b2 8b 01 bd 5f 8c 02 5f\ -7e 22 84 18 a6 73 c0 3d 6b c0 c7 36 d0 a2 95 46\ -bd 67 f7 86 d9 d6 92 cc ea 77 8d 71 d9 8c 20 63\ -b7 a7 10 92 18 7a 4d 35 af 10 81 11 d8 3e 83 ea\ -e4 6c 46 aa 34 27 7e 06 04 45 89 90 37 88 f1 d5\ -e7 ce e2 5f b4 85 e9 29 49 11 88 14 d6 f2 c3 ee\ -36 14 89 01 6f 32 7f b5 bc 51 7e b5 04 70 bf fa\ -1a fa 5f 4c e9 aa 0c e5 b8 ee 19 bf 55 01 b9 58 -Test: Verify -Comment: RSASSA-PSS Signature Example 9.3 -Message: \ -0a fa d4 2c cd 4f c6 06 54 a5 50 02 d2 28 f5 2a\ -4a 5f e0 3b 8b bb 08 ca 82 da ca 55 8b 44 db e1\ -26 6e 50 c0 e7 45 a3 6d 9d 29 04 e3 40 8a bc d1\ -fd 56 99 94 06 3f 4a 75 cc 72 f2 fe e2 a0 cd 89\ -3a 43 af 1c 5b 8b 48 7d f0 a7 16 10 02 4e 4f 6d\ -df 9f 28 ad 08 13 c1 aa b9 1b cb 3c 90 64 d5 ff\ -74 2d ef fe a6 57 09 41 39 36 9e 5e a6 f4 a9 63\ -19 a5 cc 82 24 14 5b 54 50 62 75 8f ef d1 fe 34\ -09 ae 16 92 59 c6 cd fd 6b 5f 29 58 e3 14 fa ec\ -be 69 d2 ca ce 58 ee 55 17 9a b9 b3 e6 d1 ec c1\ -4a 55 7c 5f eb e9 88 59 52 64 fc 5d a1 c5 71 46\ -2e ca 79 8a 18 a1 a4 94 0c da b4 a3 e9 20 09 cc\ -d4 2e 1e 94 7b 13 14 e3 22 38 a2 de ce 7d 23 a8\ -9b 5b 30 c7 51 fd 0a 4a 43 0d 2c 54 85 94 -Salt: \ -9a 2b 00 7e 80 97 8b bb 19 2c 35 4e b7 da 9a ed\ -fc 74 db f5 -Signature: \ -48 44 08 f3 89 8c d5 f5 34 83 f8 08 19 ef bf 27\ -08 c3 4d 27 a8 b2 a6 fa e8 b3 22 f9 24 02 37 f9\ -81 81 7a ca 18 46 f1 08 4d aa 6d 7c 07 95 f6 e5\ -bf 1a f5 9c 38 e1 85 84 37 ce 1f 7e c4 19 b9 8c\ -87 36 ad f6 dd 9a 00 b1 80 6d 2b d3 ad 0a 73 77\ -5e 05 f5 2d fe f3 a5 9a b4 b0 81 43 f0 df 05 cd\ -1a d9 d0 4b ec ec a6 da a4 a2 12 98 03 e2 00 cb\ -c7 77 87 ca f4 c1 d0 66 3a 6c 59 87 b6 05 95 20\ -19 78 2c af 2e c1 42 6d 68 fb 94 ed 1d 4b e8 16\ -a7 ed 08 1b 77 e6 ab 33 0b 3f fc 07 38 20 fe cd\ -e3 72 7f cb e2 95 ee 61 a0 50 a3 43 65 86 37 c3\ -fd 65 9c fb 63 73 6d e3 2d 9f 90 d3 c2 f6 3e ca -Test: Verify -Comment: RSASSA-PSS Signature Example 9.4 -Message: \ -1d fd 43 b4 6c 93 db 82 62 9b da e2 bd 0a 12 b8\ -82 ea 04 c3 b4 65 f5 cf 93 02 3f 01 05 96 26 db\ -be 99 f2 6b b1 be 94 9d dd d1 6d c7 f3 de bb 19\ -a1 94 62 7f 0b 22 44 34 df 7d 87 00 e9 e9 8b 06\ -e3 60 c1 2f db e3 d1 9f 51 c9 68 4e b9 08 9e cb\ -b0 a2 f0 45 03 99 d3 f5 9e ac 72 94 08 5d 04 4f\ -53 93 c6 ce 73 74 23 d8 b8 6c 41 53 70 d3 89 e3\ -0b 9f 0a 3c 02 d2 5d 00 82 e8 ad 6f 3f 1e f2 4a\ -45 c3 cf 82 b3 83 36 70 63 a4 d4 61 3e 42 64 f0\ -1b 2d ac 2e 5a a4 20 43 f8 fb 5f 69 fa 87 1d 14\ -fb 27 3e 76 7a 53 1c 40 f0 2f 34 3b c2 fb 45 a0\ -c7 e0 f6 be 25 61 92 3a 77 21 1d 66 a6 e2 db b4\ -3c 36 63 50 be ae 22 da 3a c2 c1 f5 07 70 96 fc\ -b5 c4 bf 25 5f 75 74 35 1a e0 b1 e1 f0 36 32 81\ -7c 08 56 d4 a8 ba 97 af bd c8 b8 58 55 40 2b c5\ -69 26 fc ec 20 9f 9e a8 -Salt: \ -70 f3 82 bd df 4d 5d 2d d8 8b 3b c7 b7 30 8b e6\ -32 b8 40 45 -Signature: \ -84 eb eb 48 1b e5 98 45 b4 64 68 ba fb 47 1c 01\ -12 e0 2b 23 5d 84 b5 d9 11 cb d1 92 6e e5 07 4a\ -e0 42 44 95 cb 20 e8 23 08 b8 eb b6 5f 41 9a 03\ -fb 40 e7 2b 78 98 1d 88 aa d1 43 05 36 85 17 2c\ -97 b2 9c 8b 7b f0 ae 73 b5 b2 26 3c 40 3d a0 ed\ -2f 80 ff 74 50 af 78 28 eb 8b 86 f0 02 8b d2 a8\ -b1 76 a4 d2 28 cc ce a1 83 94 f2 38 b0 9f f7 58\ -cc 00 bc 04 30 11 52 35 57 42 f2 82 b5 4e 66 3a\ -91 9e 70 9d 8d a2 4a de 55 00 a7 b9 aa 50 22 6e\ -0c a5 29 23 e6 c2 d8 60 ec 50 ff 48 0f a5 74 77\ -e8 2b 05 65 f4 37 9f 79 c7 72 d5 c2 da 80 af 9f\ -bf 32 5e ce 6f c2 0b 00 96 16 14 be e8 9a 18 3e -Test: Verify -Comment: RSASSA-PSS Signature Example 9.5 -Message: \ -1b dc 6e 7c 98 fb 8c f5 4e 9b 09 7b 66 a8 31 e9\ -cf e5 2d 9d 48 88 44 8e e4 b0 97 80 93 ba 1d 7d\ -73 ae 78 b3 a6 2b a4 ad 95 cd 28 9c cb 9e 00 52\ -26 bb 3d 17 8b cc aa 82 1f b0 44 a4 e2 1e e9 76\ -96 c1 4d 06 78 c9 4c 2d ae 93 b0 ad 73 92 22 18\ -55 3d aa 7e 44 eb e5 77 25 a7 a4 5c c7 2b 9b 21\ -38 a6 b1 7c 8d b4 11 ce 82 79 ee 12 41 af f0 a8\ -be c6 f7 7f 87 ed b0 c6 9c b2 72 36 e3 43 5a 80\ -0b 19 2e 4f 11 e5 19 e3 fe 30 fc 30 ea cc ca 4f\ -bb 41 76 90 29 bf 70 8e 81 7a 9e 68 38 05 be 67\ -fa 10 09 84 68 3b 74 83 8e 3b cf fa 79 36 6e ed\ -1d 48 1c 76 72 91 18 83 8f 31 ba 8a 04 8a 93 c1\ -be 44 24 59 8e 8d f6 32 8b 7a 77 88 0a 3f 9c 7e\ -2e 8d fc a8 eb 5a 26 fb 86 bd c5 56 d4 2b be 01\ -d9 fa 6e d8 06 46 49 1c 93 41 -Salt: \ -d6 89 25 7a 86 ef fa 68 21 2c 5e 0c 61 9e ca 29\ -5f b9 1b 67 -Signature: \ -82 10 2d f8 cb 91 e7 17 99 19 a0 4d 26 d3 35 d6\ -4f bc 2f 87 2c 44 83 39 43 24 1d e8 45 48 10 27\ -4c df 3d b5 f4 2d 42 3d b1 52 af 71 35 f7 01 42\ -0e 39 b4 94 a6 7c bf d1 9f 91 19 da 23 3a 23 da\ -5c 64 39 b5 ba 0d 2b c3 73 ee e3 50 70 01 37 8d\ -4a 40 73 85 6b 7f e2 ab a0 b5 ee 93 b2 7f 4a fe\ -c7 d4 d1 20 92 1c 83 f6 06 76 5b 02 c1 9e 4d 6a\ -1a 3b 95 fa 4c 42 29 51 be 4f 52 13 10 77 ef 17\ -17 97 29 cd df bd b5 69 50 db ac ee fe 78 cb 16\ -64 0a 09 9e a5 6d 24 38 9e ef 10 f8 fe cb 31 ba\ -3e a3 b2 27 c0 a8 66 98 bb 89 e3 e9 36 39 05 bf\ -22 77 7b 2a 3a a5 21 b6 5b 4c ef 76 d8 3b de 4c -Test: Verify -Comment: RSASSA-PSS Signature Example 9.6 -Message: \ -88 c7 a9 f1 36 04 01 d9 0e 53 b1 01 b6 1c 53 25\ -c3 c7 5d b1 b4 11 fb eb 8e 83 0b 75 e9 6b 56 67\ -0a d2 45 40 4e 16 79 35 44 ee 35 4b c6 13 a9 0c\ -c9 84 87 15 a7 3d b5 89 3e 7f 6d 27 98 15 c0 c1\ -de 83 ef 8e 29 56 e3 a5 6e d2 6a 88 8d 7a 9c dc\ -d0 42 f4 b1 6b 7f a5 1e f1 a0 57 36 62 d1 6a 30\ -2d 0e c5 b2 85 d2 e0 3a d9 65 29 c8 7b 3d 37 4d\ -b3 72 d9 5b 24 43 d0 61 b6 b1 a3 50 ba 87 80 7e\ -d0 83 af d1 eb 05 c3 f5 2f 4e ba 5e d2 22 77 14\ -fd b5 0b 9d 9d 9d d6 81 4f 62 f6 27 2f cd 5c db\ -ce 7a 9e f7 97 -Salt: \ -c2 5f 13 bf 67 d0 81 67 1a 04 81 a1 f1 82 0d 61\ -3b ba 22 76 -Signature: \ -a7 fd b0 d2 59 16 5c a2 c8 8d 00 bb f1 02 8a 86\ -7d 33 76 99 d0 61 19 3b 17 a9 64 8e 14 cc bb aa\ -de ac aa cd ec 81 5e 75 71 29 4e bb 8a 11 7a f2\ -05 fa 07 8b 47 b0 71 2c 19 9e 3a d0 51 35 c5 04\ -c2 4b 81 70 51 15 74 08 02 48 79 92 ff d5 11 d4\ -af c6 b8 54 49 1e b3 f0 dd 52 31 39 54 2f f1 5c\ -31 01 ee 85 54 35 17 c6 a3 c7 94 17 c6 7e 2d d9\ -aa 74 1e 9a 29 b0 6d cb 59 3c 23 36 b3 67 0a e3\ -af ba c7 c3 e7 6e 21 54 73 e8 66 e3 38 ca 24 4d\ -e0 0b 62 62 4d 6b 94 26 82 2c ea e9 f8 cc 46 08\ -95 f4 12 50 07 3f d4 5c 5a 1e 7b 42 5c 20 4a 42\ -3a 69 91 59 f6 90 3e 71 0b 37 a7 bb 2b c8 04 9f -Test: Verify -Comment: Example 10: A 2048-bit RSA Key Pair -Modulus: \ -a5 dd 86 7a c4 cb 02 f9 0b 94 57 d4 8c 14 a7 70\ -ef 99 1c 56 c3 9c 0e c6 5f d1 1a fa 89 37 ce a5\ -7b 9b e7 ac 73 b4 5c 00 17 61 5b 82 d6 22 e3 18\ -75 3b 60 27 c0 fd 15 7b e1 2f 80 90 fe e2 a7 ad\ -cd 0e ef 75 9f 88 ba 49 97 c7 a4 2d 58 c9 aa 12\ -cb 99 ae 00 1f e5 21 c1 3b b5 43 14 45 a8 d5 ae\ -4f 5e 4c 7e 94 8a c2 27 d3 60 40 71 f2 0e 57 7e\ -90 5f be b1 5d fa f0 6d 1d e5 ae 62 53 d6 3a 6a\ -21 20 b3 1a 5d a5 da bc 95 50 60 0e 20 f2 7d 37\ -39 e2 62 79 25 fe a3 cc 50 9f 21 df f0 4e 6e ea\ -45 49 c5 40 d6 80 9f f9 30 7e ed e9 1f ff 58 73\ -3d 83 85 a2 37 d6 d3 70 5a 33 e3 91 90 09 92 07\ -0d f7 ad f1 35 7c f7 e3 70 0c e3 66 7d e8 3f 17\ -b8 df 17 78 db 38 1d ce 09 cb 4a d0 58 a5 11 00\ -1a 73 81 98 ee 27 cf 55 a1 3b 75 45 39 90 65 82\ -ec 8b 17 4b d5 8d 5d 1f 3d 76 7c 61 37 21 ae 05 -PublicExponent: \ -01 00 01 -PrivateExponent: \ -2d 2f f5 67 b3 fe 74 e0 61 91 b7 fd ed 6d e1 12\ -29 0c 67 06 92 43 0d 59 69 18 40 47 da 23 4c 96\ -93 de ed 16 73 ed 42 95 39 c9 69 d3 72 c0 4d 6b\ -47 e0 f5 b8 ce e0 84 3e 5c 22 83 5d bd 3b 05 a0\ -99 79 84 ae 60 58 b1 1b c4 90 7c bf 67 ed 84 fa\ -9a e2 52 df b0 d0 cd 49 e6 18 e3 5d fd fe 59 bc\ -a3 dd d6 6c 33 ce bb c7 7a d4 41 aa 69 5e 13 e3\ -24 b5 18 f0 1c 60 f5 a8 5c 99 4a d1 79 f2 a6 b5\ -fb e9 34 02 b1 17 67 be 01 bf 07 34 44 d6 ba 1d\ -d2 bc a5 bd 07 4d 4a 5f ae 35 31 ad 13 03 d8 4b\ -30 d8 97 31 8c bb ba 04 e0 3c 2e 66 de 6d 91 f8\ -2f 96 ea 1d 4b b5 4a 5a ae 10 2d 59 46 57 f5 c9\ -78 95 53 51 2b 29 6d ea 29 d8 02 31 96 35 7e 3e\ -3a 6e 95 8f 39 e3 c2 34 40 38 ea 60 4b 31 ed c6\ -f0 f7 ff 6e 71 81 a5 7c 92 82 6a 26 8f 86 76 8e\ -96 f8 78 56 2f c7 1d 85 d6 9e 44 86 12 f7 04 8f -Prime1: \ -cf d5 02 83 fe ee b9 7f 6f 08 d7 3c bc 7b 38 36\ -f8 2b bc d4 99 47 9f 5e 6f 76 fd fc b8 b3 8c 4f\ -71 dc 9e 88 bd 6a 6f 76 37 1a fd 65 d2 af 18 62\ -b3 2a fb 34 a9 5f 71 b8 b1 32 04 3f fe be 3a 95\ -2b af 75 92 44 81 48 c0 3f 9c 69 b1 d6 8e 4c e5\ -cf 32 c8 6b af 46 fe d3 01 ca 1a b4 03 06 9b 32\ -f4 56 b9 1f 71 89 8a b0 81 cd 8c 42 52 ef 52 71\ -91 5c 97 94 b8 f2 95 85 1d a7 51 0f 99 cb 73 eb -Prime2: \ -cc 4e 90 d2 a1 b3 a0 65 d3 b2 d1 f5 a8 fc e3 1b\ -54 44 75 66 4e ab 56 1d 29 71 b9 9f b7 be f8 44\ -e8 ec 1f 36 0b 8c 2a c8 35 96 92 97 1e a6 a3 8f\ -72 3f cc 21 1f 5d bc b1 77 a0 fd ac 51 64 a1 d4\ -ff 7f bb 4e 82 99 86 35 3c b9 83 65 9a 14 8c dd\ -42 0c 7d 31 ba 38 22 ea 90 a3 2b e4 6c 03 0e 8c\ -17 e1 fa 0a d3 78 59 e0 6b 0a a6 fa 3b 21 6d 9c\ -be 6c 0e 22 33 97 69 c0 a6 15 91 3e 5d a7 19 cf -ModPrime1PrivateExponent: \ -1c 2d 1f c3 2f 6b c4 00 4f d8 5d fd e0 fb bf 9a\ -4c 38 f9 c7 c4 e4 1d ea 1a a8 82 34 a2 01 cd 92\ -f3 b7 da 52 65 83 a9 8a d8 5b b3 60 fb 98 3b 71\ -1e 23 44 9d 56 1d 17 78 d7 a5 15 48 6b cb f4 7b\ -46 c9 e9 e1 a3 a1 f7 70 00 ef be b0 9a 8a fe 47\ -e5 b8 57 cd a9 9c b1 6d 7f ff 9b 71 2e 3b d6 0c\ -a9 6d 9c 79 73 d6 16 d4 69 34 a9 c0 50 28 1c 00\ -43 99 ce ff 1d b7 dd a7 87 66 a8 a9 b9 cb 08 73 -ModPrime2PrivateExponent: \ -cb 3b 3c 04 ca a5 8c 60 be 7d 9b 2d eb b3 e3 96\ -43 f4 f5 73 97 be 08 23 6a 1e 9e af aa 70 65 36\ -e7 1c 3a cf e0 1c c6 51 f2 3c 9e 05 85 8f ee 13\ -bb 6a 8a fc 47 df 4e dc 9a 4b a3 0b ce cb 73 d0\ -15 78 52 32 7e e7 89 01 5c 2e 8d ee 7b 9f 05 a0\ -f3 1a c9 4e b6 17 31 64 74 0c 5c 95 14 7c d5 f3\ -b5 ae 2c b4 a8 37 87 f0 1d 8a b3 1f 27 c2 d0 ee\ -a2 dd 8a 11 ab 90 6a ba 20 7c 43 c6 ee 12 53 31 -MultiplicativeInverseOfPrime2ModPrime1: \ -12 f6 b2 cf 13 74 a7 36 fa d0 56 16 05 0f 96 ab\ -4b 61 d1 17 7c 7f 9d 52 5a 29 f3 d1 80 e7 76 67\ -e9 9d 99 ab f0 52 5d 07 58 66 0f 37 52 65 5b 0f\ -25 b8 df 84 31 d9 a8 ff 77 c1 6c 12 a0 a5 12 2a\ -9f 0b f7 cf d5 a2 66 a3 5c 15 9f 99 12 08 b9 03\ -16 ff 44 4f 3e 0b 6b d0 e9 3b 8a 7a 24 48 e9 57\ -e3 dd a6 cf cf 22 66 b1 06 01 3a c4 68 08 d3 b3\ -88 7b 3b 00 34 4b aa c9 53 0b 4c e7 08 fc 32 b6 -Test: KeyPairValidAndConsistent -Comment: RSASSA-PSS Signature Example 10.1 -Message: \ -88 31 77 e5 12 6b 9b e2 d9 a9 68 03 27 d5 37 0c\ -6f 26 86 1f 58 20 c4 3d a6 7a 3a d6 09 -Salt: \ -04 e2 15 ee 6f f9 34 b9 da 70 d7 73 0c 87 34 ab\ -fc ec de 89 -Signature: \ -82 c2 b1 60 09 3b 8a a3 c0 f7 52 2b 19 f8 73 54\ -06 6c 77 84 7a bf 2a 9f ce 54 2d 0e 84 e9 20 c5\ -af b4 9f fd fd ac e1 65 60 ee 94 a1 36 96 01 14\ -8e ba d7 a0 e1 51 cf 16 33 17 91 a5 72 7d 05 f2\ -1e 74 e7 eb 81 14 40 20 69 35 d7 44 76 5a 15 e7\ -9f 01 5c b6 6c 53 2c 87 a6 a0 59 61 c8 bf ad 74\ -1a 9a 66 57 02 28 94 39 3e 72 23 73 97 96 c0 2a\ -77 45 5d 0f 55 5b 0e c0 1d df 25 9b 62 07 fd 0f\ -d5 76 14 ce f1 a5 57 3b aa ff 4e c0 00 69 95 16\ -59 b8 5f 24 30 0a 25 16 0c a8 52 2d c6 e6 72 7e\ -57 d0 19 d7 e6 36 29 b8 fe 5e 89 e2 5c c1 5b eb\ -3a 64 75 77 55 92 99 28 0b 9b 28 f7 9b 04 09 00\ -0b e2 5b bd 96 40 8b a3 b4 3c c4 86 18 4d d1 c8\ -e6 25 53 fa 1a f4 04 0f 60 66 3d e7 f5 e4 9c 04\ -38 8e 25 7f 1c e8 9c 95 da b4 8a 31 5d 9b 66 b1\ -b7 62 82 33 87 6f f2 38 52 30 d0 70 d0 7e 16 66 -Comment: RSASSA-PSS Signature Example 10.2 -Message: \ -dd 67 0a 01 46 58 68 ad c9 3f 26 13 19 57 a5 0c\ -52 fb 77 7c db aa 30 89 2c 9e 12 36 11 64 ec 13\ -97 9d 43 04 81 18 e4 44 5d b8 7b ee 58 dd 98 7b\ -34 25 d0 20 71 d8 db ae 80 70 8b 03 9d bb 64 db\ -d1 de 56 57 d9 fe d0 c1 18 a5 41 43 74 2e 0f f3\ -c8 7f 74 e4 58 57 64 7a f3 f7 9e b0 a1 4c 9d 75\ -ea 9a 1a 04 b7 cf 47 8a 89 7a 70 8f d9 88 f4 8e\ -80 1e db 0b 70 39 df 8c 23 bb 3c 56 f4 e8 21 ac -Salt: \ -8b 2b dd 4b 40 fa f5 45 c7 78 dd f9 bc 1a 49 cb\ -57 f9 b7 1b -Signature: \ -14 ae 35 d9 dd 06 ba 92 f7 f3 b8 97 97 8a ed 7c\ -d4 bf 5f f0 b5 85 a4 0b d4 6c e1 b4 2c d2 70 30\ -53 bb 90 44 d6 4e 81 3d 8f 96 db 2d d7 00 7d 10\ -11 8f 6f 8f 84 96 09 7a d7 5e 1f f6 92 34 1b 28\ -92 ad 55 a6 33 a1 c5 5e 7f 0a 0a d5 9a 0e 20 3a\ -5b 82 78 ae c5 4d d8 62 2e 28 31 d8 71 74 f8 ca\ -ff 43 ee 6c 46 44 53 45 d8 4a 59 65 9b fb 92 ec\ -d4 c8 18 66 86 95 f3 47 06 f6 68 28 a8 99 59 63\ -7f 2b f3 e3 25 1c 24 bd ba 4d 4b 76 49 da 00 22\ -21 8b 11 9c 84 e7 9a 65 27 ec 5b 8a 5f 86 1c 15\ -99 52 e2 3e c0 5e 1e 71 73 46 fa ef e8 b1 68 68\ -25 bd 2b 26 2f b2 53 10 66 c0 de 09 ac de 2e 42\ -31 69 07 28 b5 d8 5e 11 5a 2f 6b 92 b7 9c 25 ab\ -c9 bd 93 99 ff 8b cf 82 5a 52 ea 1f 56 ea 76 dd\ -26 f4 3b aa fa 18 bf a9 2a 50 4c bd 35 69 9e 26\ -d1 dc c5 a2 88 73 85 f3 c6 32 32 f0 6f 32 44 c3 -Comment: RSASSA-PSS Signature Example 10.3 -Message: \ -48 b2 b6 a5 7a 63 c8 4c ea 85 9d 65 c6 68 28 4b\ -08 d9 6b dc aa be 25 2d b0 e4 a9 6c b1 ba c6 01\ -93 41 db 6f be fb 8d 10 6b 0e 90 ed a6 bc c6 c6\ -26 2f 37 e7 ea 9c 7e 5d 22 6b d7 df 85 ec 5e 71\ -ef ff 2f 54 c5 db 57 7f f7 29 ff 91 b8 42 49 1d\ -e2 74 1d 0c 63 16 07 df 58 6b 90 5b 23 b9 1a f1\ -3d a1 23 04 bf 83 ec a8 a7 3e 87 1f f9 db -Salt: \ -4e 96 fc 1b 39 8f 92 b4 46 71 01 0c 0d c3 ef d6\ -e2 0c 2d 73 -Signature: \ -6e 3e 4d 7b 6b 15 d2 fb 46 01 3b 89 00 aa 5b bb\ -39 39 cf 2c 09 57 17 98 70 42 02 6e e6 2c 74 c5\ -4c ff d5 d7 d5 7e fb bf 95 0a 0f 5c 57 4f a0 9d\ -3f c1 c9 f5 13 b0 5b 4f f5 0d d8 df 7e df a2 01\ -02 85 4c 35 e5 92 18 01 19 a7 0c e5 b0 85 18 2a\ -a0 2d 9e a2 aa 90 d1 df 03 f2 da ae 88 5b a2 f5\ -d0 5a fd ac 97 47 6f 06 b9 3b 5b c9 4a 1a 80 aa\ -91 16 c4 d6 15 f3 33 b0 98 89 2b 25 ff ac e2 66\ -f5 db 5a 5a 3b cc 10 a8 24 ed 55 aa d3 5b 72 78\ -34 fb 8c 07 da 28 fc f4 16 a5 d9 b2 22 4f 1f 8b\ -44 2b 36 f9 1e 45 6f de a2 d7 cf e3 36 72 68 de\ -03 07 a4 c7 4e 92 41 59 ed 33 39 3d 5e 06 55 53\ -1c 77 32 7b 89 82 1b de df 88 01 61 c7 8c d4 19\ -6b 54 19 f7 ac c3 f1 3e 5e bf 16 1b 6e 7c 67 24\ -71 6c a3 3b 85 c2 e2 56 40 19 2a c2 85 96 51 d5\ -0b de 7e b9 76 e5 1c ec 82 8b 98 b6 56 3b 86 bb -Comment: RSASSA-PSS Signature Example 10.4 -Message: \ -0b 87 77 c7 f8 39 ba f0 a6 4b bb db c5 ce 79 75\ -5c 57 a2 05 b8 45 c1 74 e2 d2 e9 05 46 a0 89 c4\ -e6 ec 8a df fa 23 a7 ea 97 ba e6 b6 5d 78 2b 82\ -db 5d 2b 5a 56 d2 2a 29 a0 5e 7c 44 33 e2 b8 2a\ -62 1a bb a9 0a dd 05 ce 39 3f c4 8a 84 05 42 45\ -1a -Salt: \ -c7 cd 69 8d 84 b6 51 28 d8 83 5e 3a 8b 1e b0 e0\ -1c b5 41 ec -Signature: \ -34 04 7f f9 6c 4d c0 dc 90 b2 d4 ff 59 a1 a3 61\ -a4 75 4b 25 5d 2e e0 af 7d 8b f8 7c 9b c9 e7 dd\ -ee de 33 93 4c 63 ca 1c 0e 3d 26 2c b1 45 ef 93\ -2a 1f 2c 0a 99 7a a6 a3 4f 8e ae e7 47 7d 82 cc\ -f0 90 95 a6 b8 ac ad 38 d4 ee c9 fb 7e ab 7a d0\ -2d a1 d1 1d 8e 54 c1 82 5e 55 bf 58 c2 a2 32 34\ -b9 02 be 12 4f 9e 90 38 a8 f6 8f a4 5d ab 72 f6\ -6e 09 45 bf 1d 8b ac c9 04 4c 6f 07 09 8c 9f ce\ -c5 8a 3a ab 10 0c 80 51 78 15 5f 03 0a 12 4c 45\ -0e 5a cb da 47 d0 e4 f1 0b 80 a2 3f 80 3e 77 4d\ -02 3b 00 15 c2 0b 9f 9b be 7c 91 29 63 38 d5 ec\ -b4 71 ca fb 03 20 07 b6 7a 60 be 5f 69 50 4a 9f\ -01 ab b3 cb 46 7b 26 0e 2b ce 86 0b e8 d9 5b f9\ -2c 0c 8e 14 96 ed 1e 52 85 93 a4 ab b6 df 46 2d\ -de 8a 09 68 df fe 46 83 11 68 57 a2 32 f5 eb f6\ -c8 5b e2 38 74 5a d0 f3 8f 76 7a 5f db f4 86 fb -Comment: RSASSA-PSS Signature Example 10.5 -Message: \ -f1 03 6e 00 8e 71 e9 64 da dc 92 19 ed 30 e1 7f\ -06 b4 b6 8a 95 5c 16 b3 12 b1 ed df 02 8b 74 97\ -6b ed 6b 3f 6a 63 d4 e7 78 59 24 3c 9c cc dc 98\ -01 65 23 ab b0 24 83 b3 55 91 c3 3a ad 81 21 3b\ -b7 c7 bb 1a 47 0a ab c1 0d 44 25 6c 4d 45 59 d9\ -16 -Salt: \ -ef a8 bf f9 62 12 b2 f4 a3 f3 71 a1 0d 57 41 52\ -65 5f 5d fb -Signature: \ -7e 09 35 ea 18 f4 d6 c1 d1 7c e8 2e b2 b3 83 6c\ -55 b3 84 58 9c e1 9d fe 74 33 63 ac 99 48 d1 f3\ -46 b7 bf dd fe 92 ef d7 8a db 21 fa ef c8 9a de\ -42 b1 0f 37 40 03 fe 12 2e 67 42 9a 1c b8 cb d1\ -f8 d9 01 45 64 c4 4d 12 01 16 f4 99 0f 1a 6e 38\ -77 4c 19 4b d1 b8 21 32 86 b0 77 b0 49 9d 2e 7b\ -3f 43 4a b1 22 89 c5 56 68 4d ee d7 81 31 93 4b\ -b3 dd 65 37 23 6f 7c 6f 3d cb 09 d4 76 be 07 72\ -1e 37 e1 ce ed 9b 2f 7b 40 68 87 bd 53 15 73 05\ -e1 c8 b4 f8 4d 73 3b c1 e1 86 fe 06 cc 59 b6 ed\ -b8 f4 bd 7f fe fd f4 f7 ba 9c fb 9d 57 06 89 b5\ -a1 a4 10 9a 74 6a 69 08 93 db 37 99 25 5a 0c b9\ -21 5d 2d 1c d4 90 59 0e 95 2e 8c 87 86 aa 00 11\ -26 52 52 47 0c 04 1d fb c3 ee c7 c3 cb f7 1c 24\ -86 9d 11 5c 0c b4 a9 56 f5 6d 53 0b 80 ab 58 9a\ -cf ef c6 90 75 1d df 36 e8 d3 83 f8 3c ed d2 cc -Comment: RSASSA-PSS Signature Example 10.6 -Message: \ -25 f1 08 95 a8 77 16 c1 37 45 0b b9 51 9d fa a1\ -f2 07 fa a9 42 ea 88 ab f7 1e 9c 17 98 00 85 b5\ -55 ae ba b7 62 64 ae 2a 3a b9 3c 2d 12 98 11 91\ -dd ac 6f b5 94 9e b3 6a ee 3c 5d a9 40 f0 07 52\ -c9 16 d9 46 08 fa 7d 97 ba 6a 29 15 b6 88 f2 03\ -23 d4 e9 d9 68 01 d8 9a 72 ab 58 92 dc 21 17 c0\ -74 34 fc f9 72 e0 58 cf 8c 41 ca 4b 4f f5 54 f7\ -d5 06 8a d3 15 5f ce d0 f3 12 5b c0 4f 91 93 37\ -8a 8f 5c 4c 3b 8c b4 dd 6d 1c c6 9d 30 ec ca 6e\ -aa 51 e3 6a 05 73 0e 9e 34 2e 85 5b af 09 9d ef\ -b8 af d7 -Salt: \ -ad 8b 15 23 70 36 46 22 4b 66 0b 55 08 85 91 7c\ -a2 d1 df 28 -Signature: \ -6d 3b 5b 87 f6 7e a6 57 af 21 f7 54 41 97 7d 21\ -80 f9 1b 2c 5f 69 2d e8 29 55 69 6a 68 67 30 d9\ -b9 77 8d 97 07 58 cc b2 60 71 c2 20 9f fb d6 12\ -5b e2 e9 6e a8 1b 67 cb 9b 93 08 23 9f da 17 f7\ -b2 b6 4e cd a0 96 b6 b9 35 64 0a 5a 1c b4 2a 91\ -55 b1 c9 ef 7a 63 3a 02 c5 9f 0d 6e e5 9b 85 2c\ -43 b3 50 29 e7 3c 94 0f f0 41 0e 8f 11 4e ed 46\ -bb d0 fa e1 65 e4 2b e2 52 8a 40 1c 3b 28 fd 81\ -8e f3 23 2d ca 9f 4d 2a 0f 51 66 ec 59 c4 23 96\ -d6 c1 1d bc 12 15 a5 6f a1 71 69 db 95 75 34 3e\ -f3 4f 9d e3 2a 49 cd c3 17 49 22 f2 29 c2 3e 18\ -e4 5d f9 35 31 19 ec 43 19 ce dc e7 a1 7c 64 08\ -8c 1f 6f 52 be 29 63 41 00 b3 91 9d 38 f3 d1 ed\ -94 e6 89 1e 66 a7 3b 8f b8 49 f5 87 4d f5 94 59\ -e2 98 c7 bb ce 2e ee 78 2a 19 5a a6 6f e2 d0 73\ -2b 25 e5 95 f5 7d 3e 06 1b 1f c3 e4 06 3b f9 8f -Test: Verify +AlgorithmType: Signature +Name: RSA/PSS-MGF1(SHA-1) +Source: http://www.rsasecurity.com/rsalabs/pkcs/pkcs-1/, PKCS #1 test vectors +KeyFormat: Component +Comment: Example 1: A 1024-bit RSA Key Pair +Modulus: \ +a5 6e 4a 0e 70 10 17 58 9a 51 87 dc 7e a8 41 d1\ +56 f2 ec 0e 36 ad 52 a4 4d fe b1 e6 1f 7a d9 91\ +d8 c5 10 56 ff ed b1 62 b4 c0 f2 83 a1 2a 88 a3\ +94 df f5 26 ab 72 91 cb b3 07 ce ab fc e0 b1 df\ +d5 cd 95 08 09 6d 5b 2b 8b 6d f5 d6 71 ef 63 77\ +c0 92 1c b2 3c 27 0a 70 e2 59 8e 6f f8 9d 19 f1\ +05 ac c2 d3 f0 cb 35 f2 92 80 e1 38 6b 6f 64 c4\ +ef 22 e1 e1 f2 0d 0c e8 cf fb 22 49 bd 9a 21 37 +PublicExponent: \ +01 00 01 +PrivateExponent: \ +33 a5 04 2a 90 b2 7d 4f 54 51 ca 9b bb d0 b4 47\ +71 a1 01 af 88 43 40 ae f9 88 5f 2a 4b be 92 e8\ +94 a7 24 ac 3c 56 8c 8f 97 85 3a d0 7c 02 66 c8\ +c6 a3 ca 09 29 f1 e8 f1 12 31 88 44 29 fc 4d 9a\ +e5 5f ee 89 6a 10 ce 70 7c 3e d7 e7 34 e4 47 27\ +a3 95 74 50 1a 53 26 83 10 9c 2a ba ca ba 28 3c\ +31 b4 bd 2f 53 c3 ee 37 e3 52 ce e3 4f 9e 50 3b\ +d8 0c 06 22 ad 79 c6 dc ee 88 35 47 c6 a3 b3 25 +Prime1: \ +e7 e8 94 27 20 a8 77 51 72 73 a3 56 05 3e a2 a1\ +bc 0c 94 aa 72 d5 5c 6e 86 29 6b 2d fc 96 79 48\ +c0 a7 2c bc cc a7 ea cb 35 70 6e 09 a1 df 55 a1\ +53 5b d9 b3 cc 34 16 0b 3b 6d cd 3e da 8e 64 43 +Prime2: \ +b6 9d ca 1c f7 d4 d7 ec 81 e7 5b 90 fc ca 87 4a\ +bc de 12 3f d2 70 01 80 aa 90 47 9b 6e 48 de 8d\ +67 ed 24 f9 f1 9d 85 ba 27 58 74 f5 42 cd 20 dc\ +72 3e 69 63 36 4a 1f 94 25 45 2b 26 9a 67 99 fd +ModPrime1PrivateExponent: \ +28 fa 13 93 86 55 be 1f 8a 15 9c ba ca 5a 72 ea\ +19 0c 30 08 9e 19 cd 27 4a 55 6f 36 c4 f6 e1 9f\ +55 4b 34 c0 77 79 04 27 bb dd 8d d3 ed e2 44 83\ +28 f3 85 d8 1b 30 e8 e4 3b 2f ff a0 27 86 19 79 +ModPrime2PrivateExponent: \ +1a 8b 38 f3 98 fa 71 20 49 89 8d 7f b7 9e e0 a7\ +76 68 79 12 99 cd fa 09 ef c0 e5 07 ac b2 1e d7\ +43 01 ef 5b fd 48 be 45 5e ae b6 e1 67 82 55 82\ +75 80 a8 e4 e8 e1 41 51 d1 51 0a 82 a3 f2 e7 29 +MultiplicativeInverseOfPrime2ModPrime1: \ +27 15 6a ba 41 26 d2 4a 81 f3 a5 28 cb fb 27 f5\ +68 86 f8 40 a9 f6 e8 6e 17 a4 4b 94 fe 93 19 58\ +4b 8e 22 fd de 1e 5a 2e 3b d8 aa 5b a8 d8 58 41\ +94 eb 21 90 ac f8 32 b8 47 f1 3a 3d 24 a7 9f 4d +Test: KeyPairValidAndConsistent +Comment: RSASSA-PSS Signature Example 1.1 +Message: \ +cd c8 7d a2 23 d7 86 df 3b 45 e0 bb bc 72 13 26\ +d1 ee 2a f8 06 cc 31 54 75 cc 6f 0d 9c 66 e1 b6\ +23 71 d4 5c e2 39 2e 1a c9 28 44 c3 10 10 2f 15\ +6a 0d 8d 52 c1 f4 c4 0b a3 aa 65 09 57 86 cb 76\ +97 57 a6 56 3b a9 58 fe d0 bc c9 84 e8 b5 17 a3\ +d5 f5 15 b2 3b 8a 41 e7 4a a8 67 69 3f 90 df b0\ +61 a6 e8 6d fa ae e6 44 72 c0 0e 5f 20 94 57 29\ +cb eb e7 7f 06 ce 78 e0 8f 40 98 fb a4 1f 9d 61\ +93 c0 31 7e 8b 60 d4 b6 08 4a cb 42 d2 9e 38 08\ +a3 bc 37 2d 85 e3 31 17 0f cb f7 cc 72 d0 b7 1c\ +29 66 48 b3 a4 d1 0f 41 62 95 d0 80 7a a6 25 ca\ +b2 74 4f d9 ea 8f d2 23 c4 25 37 02 98 28 bd 16\ +be 02 54 6f 13 0f d2 e3 3b 93 6d 26 76 e0 8a ed\ +1b 73 31 8b 75 0a 01 67 d0 +Salt: \ +de e9 59 c7 e0 64 11 36 14 20 ff 80 18 5e d5 7f\ +3e 67 76 af +Signature: \ +90 74 30 8f b5 98 e9 70 1b 22 94 38 8e 52 f9 71\ +fa ac 2b 60 a5 14 5a f1 85 df 52 87 b5 ed 28 87\ +e5 7c e7 fd 44 dc 86 34 e4 07 c8 e0 e4 36 0b c2\ +26 f3 ec 22 7f 9d 9e 54 63 8e 8d 31 f5 05 12 15\ +df 6e bb 9c 2f 95 79 aa 77 59 8a 38 f9 14 b5 b9\ +c1 bd 83 c4 e2 f9 f3 82 a0 d0 aa 35 42 ff ee 65\ +98 4a 60 1b c6 9e b2 8d eb 27 dc a1 2c 82 c2 d4\ +c3 f6 6c d5 00 f1 ff 2b 99 4d 8a 4e 30 cb b3 3c +Test: Verify +Comment: RSASSA-PSS Signature Example 1.2 +Message: \ +85 13 84 cd fe 81 9c 22 ed 6c 4c cb 30 da eb 5c\ +f0 59 bc 8e 11 66 b7 e3 53 0c 4c 23 3e 2b 5f 8f\ +71 a1 cc a5 82 d4 3e cc 72 b1 bc a1 6d fc 70 13\ +22 6b 9e +Salt: \ +ef 28 69 fa 40 c3 46 cb 18 3d ab 3d 7b ff c9 8f\ +d5 6d f4 2d +Signature: \ +3e f7 f4 6e 83 1b f9 2b 32 27 41 42 a5 85 ff ce\ +fb dc a7 b3 2a e9 0d 10 fb 0f 0c 72 99 84 f0 4e\ +f2 9a 9d f0 78 07 75 ce 43 73 9b 97 83 83 90 db\ +0a 55 05 e6 3d e9 27 02 8d 9d 29 b2 19 ca 2c 45\ +17 83 25 58 a5 5d 69 4a 6d 25 b9 da b6 60 03 c4\ +cc cd 90 78 02 19 3b e5 17 0d 26 14 7d 37 b9 35\ +90 24 1b e5 1c 25 05 5f 47 ef 62 75 2c fb e2 14\ +18 fa fe 98 c2 2c 4d 4d 47 72 4f db 56 69 e8 43 +Test: Verify +Comment: RSASSA-PSS Signature Example 1.3 +Message: \ +a4 b1 59 94 17 61 c4 0c 6a 82 f2 b8 0d 1b 94 f5\ +aa 26 54 fd 17 e1 2d 58 88 64 67 9b 54 cd 04 ef\ +8b d0 30 12 be 8d c3 7f 4b 83 af 79 63 fa ff 0d\ +fa 22 54 77 43 7c 48 01 7f f2 be 81 91 cf 39 55\ +fc 07 35 6e ab 3f 32 2f 7f 62 0e 21 d2 54 e5 db\ +43 24 27 9f e0 67 e0 91 0e 2e 81 ca 2c ab 31 c7\ +45 e6 7a 54 05 8e b5 0d 99 3c db 9e d0 b4 d0 29\ +c0 6d 21 a9 4c a6 61 c3 ce 27 fa e1 d6 cb 20 f4\ +56 4d 66 ce 47 67 58 3d 0e 5f 06 02 15 b5 90 17\ +be 85 ea 84 89 39 12 7b d8 c9 c4 d4 7b 51 05 6c\ +03 1c f3 36 f1 7c 99 80 f3 b8 f5 b9 b6 87 8e 8b\ +79 7a a4 3b 88 26 84 33 3e 17 89 3f e9 ca a6 aa\ +29 9f 7e d1 a1 8e e2 c5 48 64 b7 b2 b9 9b 72 61\ +8f b0 25 74 d1 39 ef 50 f0 19 c9 ee f4 16 97 13\ +38 e7 d4 70 +Salt: \ +71 0b 9c 47 47 d8 00 d4 de 87 f1 2a fd ce 6d f1\ +81 07 cc 77 +Signature: \ +66 60 26 fb a7 1b d3 e7 cf 13 15 7c c2 c5 1a 8e\ +4a a6 84 af 97 78 f9 18 49 f3 43 35 d1 41 c0 01\ +54 c4 19 76 21 f9 62 4a 67 5b 5a bc 22 ee 7d 5b\ +aa ff aa e1 c9 ba ca 2c c3 73 b3 f3 3e 78 e6 14\ +3c 39 5a 91 aa 7f ac a6 64 eb 73 3a fd 14 d8 82\ +72 59 d9 9a 75 50 fa ca 50 1e f2 b0 4e 33 c2 3a\ +a5 1f 4b 9e 82 82 ef db 72 8c c0 ab 09 40 5a 91\ +60 7c 63 69 96 1b c8 27 0d 2d 4f 39 fc e6 12 b1 +Test: Verify +Comment: RSASSA-PSS Signature Example 1.4 +Message: \ +bc 65 67 47 fa 9e af b3 f0 +Salt: \ +05 6f 00 98 5d e1 4d 8e f5 ce a9 e8 2f 8c 27 be\ +f7 20 33 5e +Signature: \ +46 09 79 3b 23 e9 d0 93 62 dc 21 bb 47 da 0b 4f\ +3a 76 22 64 9a 47 d4 64 01 9b 9a ea fe 53 35 9c\ +17 8c 91 cd 58 ba 6b cb 78 be 03 46 a7 bc 63 7f\ +4b 87 3d 4b ab 38 ee 66 1f 19 96 34 c5 47 a1 ad\ +84 42 e0 3d a0 15 b1 36 e5 43 f7 ab 07 c0 c1 3e\ +42 25 b8 de 8c ce 25 d4 f6 eb 84 00 f8 1f 7e 18\ +33 b7 ee 6e 33 4d 37 09 64 ca 79 fd b8 72 b4 d7\ +52 23 b5 ee b0 81 01 59 1f b5 32 d1 55 a6 de 87 +Test: Verify +Comment: RSASSA-PSS Signature Example 1.5 +Message: \ +b4 55 81 54 7e 54 27 77 0c 76 8e 8b 82 b7 55 64\ +e0 ea 4e 9c 32 59 4d 6b ff 70 65 44 de 0a 87 76\ +c7 a8 0b 45 76 55 0e ee 1b 2a ca bc 7e 8b 7d 3e\ +f7 bb 5b 03 e4 62 c1 10 47 ea dd 00 62 9a e5 75\ +48 0a c1 47 0f e0 46 f1 3a 2b f5 af 17 92 1d c4\ +b0 aa 8b 02 be e6 33 49 11 65 1d 7f 85 25 d1 0f\ +32 b5 1d 33 be 52 0d 3d df 5a 70 99 55 a3 df e7\ +82 83 b9 e0 ab 54 04 6d 15 0c 17 7f 03 7f dc cc\ +5b e4 ea 5f 68 b5 e5 a3 8c 9d 7e dc cc c4 97 5f\ +45 5a 69 09 b4 +Salt: \ +80 e7 0f f8 6a 08 de 3e c6 09 72 b3 9b 4f bf dc\ +ea 67 ae 8e +Signature: \ +1d 2a ad 22 1c a4 d3 1d df 13 50 92 39 01 93 98\ +e3 d1 4b 32 dc 34 dc 5a f4 ae ae a3 c0 95 af 73\ +47 9c f0 a4 5e 56 29 63 5a 53 a0 18 37 76 15 b1\ +6c b9 b1 3b 3e 09 d6 71 eb 71 e3 87 b8 54 5c 59\ +60 da 5a 64 77 6e 76 8e 82 b2 c9 35 83 bf 10 4c\ +3f db 23 51 2b 7b 4e 89 f6 33 dd 00 63 a5 30 db\ +45 24 b0 1c 3f 38 4c 09 31 0e 31 5a 79 dc d3 d6\ +84 02 2a 7f 31 c8 65 a6 64 e3 16 97 8b 75 9f ad +Test: Verify +Comment: RSASSA-PSS Signature Example 1.6 +Message: \ +10 aa e9 a0 ab 0b 59 5d 08 41 20 7b 70 0d 48 d7\ +5f ae dd e3 b7 75 cd 6b 4c c8 8a e0 6e 46 94 ec\ +74 ba 18 f8 52 0d 4f 5e a6 9c bb e7 cc 2b eb a4\ +3e fd c1 02 15 ac 4e b3 2d c3 02 a1 f5 3d c6 c4\ +35 22 67 e7 93 6c fe bf 7c 8d 67 03 57 84 a3 90\ +9f a8 59 c7 b7 b5 9b 8e 39 c5 c2 34 9f 18 86 b7\ +05 a3 02 67 d4 02 f7 48 6a b4 f5 8c ad 5d 69 ad\ +b1 7a b8 cd 0c e1 ca f5 02 5a f4 ae 24 b1 fb 87\ +94 c6 07 0c c0 9a 51 e2 f9 91 13 11 e3 87 7d 00\ +44 c7 1c 57 a9 93 39 50 08 80 6b 72 3a c3 83 73\ +d3 95 48 18 18 52 8c 1e 70 53 73 92 82 05 35 29\ +51 0e 93 5c d0 fa 77 b8 fa 53 cc 2d 47 4b d4 fb\ +3c c5 c6 72 d6 ff dc 90 a0 0f 98 48 71 2c 4b cf\ +e4 6c 60 57 36 59 b1 1e 64 57 e8 61 f0 f6 04 b6\ +13 8d 14 4f 8c e4 e2 da 73 +Salt: \ +a8 ab 69 dd 80 1f 00 74 c2 a1 fc 60 64 98 36 c6\ +16 d9 96 81 +Signature: \ +2a 34 f6 12 5e 1f 6b 0b f9 71 e8 4f bd 41 c6 32\ +be 8f 2c 2a ce 7d e8 b6 92 6e 31 ff 93 e9 af 98\ +7f bc 06 e5 1e 9b e1 4f 51 98 f9 1f 3f 95 3b d6\ +7d a6 0a 9d f5 97 64 c3 dc 0f e0 8e 1c be f0 b7\ +5f 86 8d 10 ad 3f ba 74 9f ef 59 fb 6d ac 46 a0\ +d6 e5 04 36 93 31 58 6f 58 e4 62 8f 39 aa 27 89\ +82 54 3b c0 ee b5 37 dc 61 95 80 19 b3 94 fb 27\ +3f 21 58 58 a0 a0 1a c4 d6 50 b9 55 c6 7f 4c 58 +Test: Verify +Comment: Example 2: A 1025-bit RSA Key Pair +Modulus: \ +01 d4 0c 1b cf 97 a6 8a e7 cd bd 8a 7b f3 e3 4f\ +a1 9d cc a4 ef 75 a4 74 54 37 5f 94 51 4d 88 fe\ +d0 06 fb 82 9f 84 19 ff 87 d6 31 5d a6 8a 1f f3\ +a0 93 8e 9a bb 34 64 01 1c 30 3a d9 91 99 cf 0c\ +7c 7a 8b 47 7d ce 82 9e 88 44 f6 25 b1 15 e5 e9\ +c4 a5 9c f8 f8 11 3b 68 34 33 6a 2f d2 68 9b 47\ +2c bb 5e 5c ab e6 74 35 0c 59 b6 c1 7e 17 68 74\ +fb 42 f8 fc 3d 17 6a 01 7e dc 61 fd 32 6c 4b 33\ +c9 +PublicExponent: \ +01 00 01 +PrivateExponent: \ +02 7d 14 7e 46 73 05 73 77 fd 1e a2 01 56 57 72\ +17 6a 7d c3 83 58 d3 76 04 56 85 a2 e7 87 c2 3c\ +15 57 6b c1 6b 9f 44 44 02 d6 bf c5 d9 8a 3e 88\ +ea 13 ef 67 c3 53 ec a0 c0 dd ba 92 55 bd 7b 8b\ +b5 0a 64 4a fd fd 1d d5 16 95 b2 52 d2 2e 73 18\ +d1 b6 68 7a 1c 10 ff 75 54 5f 3d b0 fe 60 2d 5f\ +2b 7f 29 4e 36 01 ea b7 b9 d1 ce cd 76 7f 64 69\ +2e 3e 53 6c a2 84 6c b0 c2 dd 48 6a 39 fa 75 b1 +Prime1: \ +01 66 01 e9 26 a0 f8 c9 e2 6e ca b7 69 ea 65 a5\ +e7 c5 2c c9 e0 80 ef 51 94 57 c6 44 da 68 91 c5\ +a1 04 d3 ea 79 55 92 9a 22 e7 c6 8a 7a f9 fc ad\ +77 7c 3c cc 2b 9e 3d 36 50 bc e4 04 39 9b 7e 59\ +d1 +Prime2: \ +01 4e af a1 d4 d0 18 4d a7 e3 1f 87 7d 12 81 dd\ +da 62 56 64 86 9e 83 79 e6 7a d3 b7 5e ae 74 a5\ +80 e9 82 7a bd 6e b7 a0 02 cb 54 11 f5 26 67 97\ +76 8f b8 e9 5a e4 0e 3e 8a 01 f3 5f f8 9e 56 c0\ +79 +ModPrime1PrivateExponent: \ +e2 47 cc e5 04 93 9b 8f 0a 36 09 0d e2 00 93 87\ +55 e2 44 4b 29 53 9a 7d a7 a9 02 f6 05 68 35 c0\ +db 7b 52 55 94 97 cf e2 c6 1a 80 86 d0 21 3c 47\ +2c 78 85 18 00 b1 71 f6 40 1d e2 e9 c2 75 6f 31 +ModPrime2PrivateExponent: \ +b1 2f ba 75 78 55 e5 86 e4 6f 64 c3 8a 70 c6 8b\ +3f 54 8d 93 d7 87 b3 99 99 9d 4c 8f 0b bd 25 81\ +c2 1e 19 ed 00 18 a6 d5 d3 df 86 42 4b 3a bc ad\ +40 19 9d 31 49 5b 61 30 9f 27 c1 bf 55 d4 87 c1 +MultiplicativeInverseOfPrime2ModPrime1: \ +56 4b 1e 1f a0 03 bd a9 1e 89 09 04 25 aa c0 5b\ +91 da 9e e2 50 61 e7 62 8d 5f 51 30 4a 84 99 2f\ +dc 33 76 2b d3 78 a5 9f 03 0a 33 4d 53 2b d0 da\ +e8 f2 98 ea 9e d8 44 63 6a d5 fb 8c bd c0 3c ad +Test: KeyPairValidAndConsistent +Comment: RSASSA-PSS Signature Example 2.1 +Message: \ +da ba 03 20 66 26 3f ae db 65 98 48 11 52 78 a5\ +2c 44 fa a3 a7 6f 37 51 5e d3 36 32 10 72 c4 0a\ +9d 9b 53 bc 05 01 40 78 ad f5 20 87 51 46 aa e7\ +0f f0 60 22 6d cb 7b 1f 1f c2 7e 93 60 +Salt: \ +57 bf 16 0b cb 02 bb 1d c7 28 0c f0 45 85 30 b7\ +d2 83 2f f7 +Signature: \ +01 4c 5b a5 33 83 28 cc c6 e7 a9 0b f1 c0 ab 3f\ +d6 06 ff 47 96 d3 c1 2e 4b 63 9e d9 13 6a 5f ec\ +6c 16 d8 88 4b dd 99 cf dc 52 14 56 b0 74 2b 73\ +68 68 cf 90 de 09 9a db 8d 5f fd 1d ef f3 9b a4\ +00 7a b7 46 ce fd b2 2d 7d f0 e2 25 f5 46 27 dc\ +65 46 61 31 72 1b 90 af 44 53 63 a8 35 8b 9f 60\ +76 42 f7 8f ab 0a b0 f4 3b 71 68 d6 4b ae 70 d8\ +82 78 48 d8 ef 1e 42 1c 57 54 dd f4 2c 25 89 b5\ +b3 +Test: Verify +Comment: RSASSA-PSS Signature Example 2.2 +Message: \ +e4 f8 60 1a 8a 6d a1 be 34 44 7c 09 59 c0 58 57\ +0c 36 68 cf d5 1d d5 f9 cc d6 ad 44 11 fe 82 13\ +48 6d 78 a6 c4 9f 93 ef c2 ca 22 88 ce bc 2b 9b\ +60 bd 04 b1 e2 20 d8 6e 3d 48 48 d7 09 d0 32 d1\ +e8 c6 a0 70 c6 af 9a 49 9f cf 95 35 4b 14 ba 61\ +27 c7 39 de 1b b0 fd 16 43 1e 46 93 8a ec 0c f8\ +ad 9e b7 2e 83 2a 70 35 de 9b 78 07 bd c0 ed 8b\ +68 eb 0f 5a c2 21 6b e4 0c e9 20 c0 db 0e dd d3\ +86 0e d7 88 ef ac ca ca 50 2d 8f 2b d6 d1 a7 c1\ +f4 1f f4 6f 16 81 c8 f1 f8 18 e9 c4 f6 d9 1a 0c\ +78 03 cc c6 3d 76 a6 54 4d 84 3e 08 4e 36 3b 8a\ +cc 55 aa 53 17 33 ed b5 de e5 b5 19 6e 9f 03 e8\ +b7 31 b3 77 64 28 d9 e4 57 fe 3f bc b3 db 72 74\ +44 2d 78 58 90 e9 cb 08 54 b6 44 4d ac e7 91 d7\ +27 3d e1 88 97 19 33 8a 77 fe +Salt: \ +7f 6d d3 59 e6 04 e6 08 70 e8 98 e4 7b 19 bf 2e\ +5a 7b 2a 90 +Signature: \ +01 09 91 65 6c ca 18 2b 7f 29 d2 db c0 07 e7 ae\ +0f ec 15 8e b6 75 9c b9 c4 5c 5f f8 7c 76 35 dd\ +46 d1 50 88 2f 4d e1 e9 ae 65 e7 f7 d9 01 8f 68\ +36 95 4a 47 c0 a8 1a 8a 6b 6f 83 f2 94 4d 60 81\ +b1 aa 7c 75 9b 25 4b 2c 34 b6 91 da 67 cc 02 26\ +e2 0b 2f 18 b4 22 12 76 1d cd 4b 90 8a 62 b3 71\ +b5 91 8c 57 42 af 4b 53 7e 29 69 17 67 4f b9 14\ +19 47 61 62 1c c1 9a 41 f6 fb 95 3f bc bb 64 9d\ +ea +Test: Verify +Comment: RSASSA-PSS Signature Example 2.3 +Message: \ +52 a1 d9 6c 8a c3 9e 41 e4 55 80 98 01 b9 27 a5\ +b4 45 c1 0d 90 2a 0d cd 38 50 d2 2a 66 d2 bb 07\ +03 e6 7d 58 67 11 45 95 aa bf 5a 7a eb 5a 8f 87\ +03 4b bb 30 e1 3c fd 48 17 a9 be 76 23 00 23 60\ +6d 02 86 a3 fa f8 a4 d2 2b 72 8e c5 18 07 9f 9e\ +64 52 6e 3a 0c c7 94 1a a3 38 c4 37 99 7c 68 0c\ +ca c6 7c 66 bf a1 +Salt: \ +fc a8 62 06 8b ce 22 46 72 4b 70 8a 05 19 da 17\ +e6 48 68 8c +Signature: \ +00 7f 00 30 01 8f 53 cd c7 1f 23 d0 36 59 fd e5\ +4d 42 41 f7 58 a7 50 b4 2f 18 5f 87 57 85 20 c3\ +07 42 af d8 43 59 b6 e6 e8 d3 ed 95 9d c6 fe 48\ +6b ed c8 e2 cf 00 1f 63 a7 ab e1 62 56 a1 b8 4d\ +f0 d2 49 fc 05 d3 19 4c e5 f0 91 27 42 db bf 80\ +dd 17 4f 6c 51 f6 ba d7 f1 6c f3 36 4e ba 09 5a\ +06 26 7d c3 79 38 03 ac 75 26 ae be 0a 47 5d 38\ +b8 c2 24 7a b5 1c 48 98 df 70 47 dc 6a df 52 c6\ +c4 +Test: Verify +Comment: RSASSA-PSS Signature Example 2.4 +Message: \ +a7 18 2c 83 ac 18 be 65 70 a1 06 aa 9d 5c 4e 3d\ +bb d4 af ae b0 c6 0c 4a 23 e1 96 9d 79 ff +Salt: \ +80 70 ef 2d e9 45 c0 23 87 68 4b a0 d3 30 96 73\ +22 35 d4 40 +Signature: \ +00 9c d2 f4 ed be 23 e1 23 46 ae 8c 76 dd 9a d3\ +23 0a 62 07 61 41 f1 6c 15 2b a1 85 13 a4 8e f6\ +f0 10 e0 e3 7f d3 df 10 a1 ec 62 9a 0c b5 a3 b5\ +d2 89 30 07 29 8c 30 93 6a 95 90 3b 6b a8 55 55\ +d9 ec 36 73 a0 61 08 fd 62 a2 fd a5 6d 1c e2 e8\ +5c 4d b6 b2 4a 81 ca 3b 49 6c 36 d4 fd 06 eb 7c\ +91 66 d8 e9 48 77 c4 2b ea 62 2b 3b fe 92 51 fd\ +c2 1d 8d 53 71 ba da d7 8a 48 82 14 79 63 35 b4\ +0b +Test: Verify +Comment: RSASSA-PSS Signature Example 2.5 +Message: \ +86 a8 3d 4a 72 ee 93 2a 4f 56 30 af 65 79 a3 86\ +b7 8f e8 89 99 e0 ab d2 d4 90 34 a4 bf c8 54 dd\ +94 f1 09 4e 2e 8c d7 a1 79 d1 95 88 e4 ae fc 1b\ +1b d2 5e 95 e3 dd 46 1f +Salt: \ +17 63 9a 4e 88 d7 22 c4 fc a2 4d 07 9a 8b 29 c3\ +24 33 b0 c9 +Signature: \ +00 ec 43 08 24 93 1e bd 3b aa 43 03 4d ae 98 ba\ +64 6b 8c 36 01 3d 16 71 c3 cf 1c f8 26 0c 37 4b\ +19 f8 e1 cc 8d 96 50 12 40 5e 7e 9b f7 37 86 12\ +df cc 85 fc e1 2c da 11 f9 50 bd 0b a8 87 67 40\ +43 6c 1d 25 95 a6 4a 1b 32 ef cf b7 4a 21 c8 73\ +b3 cc 33 aa f4 e3 dc 39 53 de 67 f0 67 4c 04 53\ +b4 fd 9f 60 44 06 d4 41 b8 16 09 8c b1 06 fe 34\ +72 bc 25 1f 81 5f 59 db 2e 43 78 a3 ad dc 18 1e\ +cf +Test: Verify +Comment: RSASSA-PSS Signature Example 2.6 +Message: \ +04 9f 91 54 d8 71 ac 4a 7c 7a b4 53 25 ba 75 45\ +a1 ed 08 f7 05 25 b2 66 7c f1 +Salt: \ +37 81 0d ef 10 55 ed 92 2b 06 3d f7 98 de 5d 0a\ +ab f8 86 ee +Signature: \ +00 47 5b 16 48 f8 14 a8 dc 0a bd c3 7b 55 27 f5\ +43 b6 66 bb 6e 39 d3 0e 5b 49 d3 b8 76 dc cc 58\ +ea c1 4e 32 a2 d5 5c 26 16 01 44 56 ad 2f 24 6f\ +c8 e3 d5 60 da 3d df 37 9a 1c 0b d2 00 f1 02 21\ +df 07 8c 21 9a 15 1b c8 d4 ec 9d 2f c2 56 44 67\ +81 10 14 ef 15 d8 ea 01 c2 eb bf f8 c2 c8 ef ab\ +38 09 6e 55 fc be 32 85 c7 aa 55 88 51 25 4f af\ +fa 92 c1 c7 2b 78 75 86 63 ef 45 82 84 31 39 d7\ +a6 +Test: Verify +Comment: Example 3: A 1026-bit RSA Key Pair +Modulus: \ +02 f2 46 ef 45 1e d3 ee bb 9a 31 02 00 cc 25 85\ +9c 04 8e 4b e7 98 30 29 91 11 2e b6 8c e6 db 67\ +4e 28 0d a2 1f ed ed 1a e7 48 80 ca 52 2b 18 db\ +24 93 85 01 28 27 c5 15 f0 e4 66 a1 ff a6 91 d9\ +81 70 57 4e 9d 0e ad b0 87 58 6c a4 89 33 da 3c\ +c9 53 d9 5b d0 ed 50 de 10 dd cb 67 36 10 7d 6c\ +83 1c 7f 66 3e 83 3c a4 c0 97 e7 00 ce 0f b9 45\ +f8 8f b8 5f e8 e5 a7 73 17 25 65 b9 14 a4 71 a4\ +43 +PublicExponent: \ +01 00 01 +PrivateExponent: \ +65 14 51 73 3b 56 de 5a c0 a6 89 a4 ae b6 e6 89\ +4a 69 01 4e 07 6c 88 dd 7a 66 7e ab 32 32 bb cc\ +d2 fc 44 ba 2f a9 c3 1d b4 6f 21 ed d1 fd b2 3c\ +5c 12 8a 5d a5 ba b9 1e 7f 95 2b 67 75 9c 7c ff\ +70 54 15 ac 9f a0 90 7c 7c a6 17 8f 66 8f b9 48\ +d8 69 da 4c c3 b7 35 6f 40 08 df d5 44 9d 32 ee\ +02 d9 a4 77 eb 69 fc 29 26 6e 5d 90 70 51 23 75\ +a5 0f bb cc 27 e2 38 ad 98 42 5f 6e bb f8 89 91 +Prime1: \ +01 bd 36 e1 8e ce 4b 0f db 2e 9c 9d 54 8b d1 a7\ +d6 e2 c2 1c 6f dc 35 07 4a 1d 05 b1 c6 c8 b3 d5\ +58 ea 26 39 c9 a9 a4 21 68 01 69 31 72 52 55 8b\ +d1 48 ad 21 5a ac 55 0e 2d cf 12 a8 2d 0e bf e8\ +53 +Prime2: \ +01 b1 b6 56 ad 86 d8 e1 9d 5d c8 62 92 b3 a1 92\ +fd f6 e0 dd 37 87 7b ad 14 82 2f a0 01 90 ca b2\ +65 f9 0d 3f 02 05 7b 6f 54 d6 ec b1 44 91 e5 ad\ +ea ce bc 48 bf 0e bd 2a 2a d2 6d 40 2e 54 f6 16\ +51 +ModPrime1PrivateExponent: \ +1f 27 79 fd 2e 3e 5e 6b ae 05 53 95 18 fb a0 cd\ +0e ad 1a a4 51 3a 7c ba 18 f1 cf 10 e3 f6 81 95\ +69 3d 27 8a 0f 0e e7 2f 89 f9 bc 76 0d 80 e2 f9\ +d0 26 1d 51 65 01 c6 ae 39 f1 4a 47 6c e2 cc f5 +ModPrime2PrivateExponent: \ +01 1a 0d 36 79 4b 04 a8 54 aa b4 b2 46 2d 43 9a\ +50 46 c9 1d 94 0b 2b c6 f7 5b 62 95 6f ef 35 a2\ +a6 e6 3c 53 09 81 7f 30 7b bf f9 d5 9e 7e 33 1b\ +d3 63 f6 d6 68 49 b1 83 46 ad ea 16 9f 0a e9 ae\ +c1 +MultiplicativeInverseOfPrime2ModPrime1: \ +0b 30 f0 ec f5 58 75 2f b3 a6 ce 4b a2 b8 c6 75\ +f6 59 eb a6 c3 76 58 5a 1b 39 71 2d 03 8a e3 d2\ +b4 6f cb 41 8a e1 5d 09 05 da 64 40 e1 51 3a 30\ +b9 b7 d6 66 8f bc 5e 88 e5 ab 7a 17 5e 73 ba 35 +Test: KeyPairValidAndConsistent +Comment: RSASSA-PSS Signature Example 3.1 +Message: \ +59 4b 37 33 3b bb 2c 84 52 4a 87 c1 a0 1f 75 fc\ +ec 0e 32 56 f1 08 e3 8d ca 36 d7 0d 00 57 +Salt: \ +f3 1a d6 c8 cf 89 df 78 ed 77 fe ac bc c2 f8 b0\ +a8 e4 cf aa +Signature: \ +00 88 b1 35 fb 17 94 b6 b9 6c 4a 3e 67 81 97 f8\ +ca c5 2b 64 b2 fe 90 7d 6f 27 de 76 11 24 96 4a\ +99 a0 1a 88 27 40 ec fa ed 6c 01 a4 74 64 bb 05\ +18 23 13 c0 13 38 a8 cd 09 72 14 cd 68 ca 10 3b\ +d5 7d 3b c9 e8 16 21 3e 61 d7 84 f1 82 46 7a bf\ +8a 01 cf 25 3e 99 a1 56 ea a8 e3 e1 f9 0e 3c 6e\ +4e 3a a2 d8 3e d0 34 5b 89 fa fc 9c 26 07 7c 14\ +b6 ac 51 45 4f a2 6e 44 6e 3a 2f 15 3b 2b 16 79\ +7f +Test: Verify +Comment: RSASSA-PSS Signature Example 3.2 +Message: \ +8b 76 95 28 88 4a 0d 1f fd 09 0c f1 02 99 3e 79\ +6d ad cf bd dd 38 e4 4f f6 32 4c a4 51 +Salt: \ +fc f9 f0 e1 f1 99 a3 d1 d0 da 68 1c 5b 86 06 fc\ +64 29 39 f7 +Signature: \ +02 a5 f0 a8 58 a0 86 4a 4f 65 01 7a 7d 69 45 4f\ +3f 97 3a 29 99 83 9b 7b bc 48 bf 78 64 11 69 17\ +95 56 f5 95 fa 41 f6 ff 18 e2 86 c2 78 30 79 bc\ +09 10 ee 9c c3 4f 49 ba 68 11 24 f9 23 df a8 8f\ +42 61 41 a3 68 a5 f5 a9 30 c6 28 c2 c3 c2 00 e1\ +8a 76 44 72 1a 0c be c6 dd 3f 62 79 bd e3 e8 f2\ +be 5e 2d 4e e5 6f 97 e7 ce af 33 05 4b e7 04 2b\ +d9 1a 63 bb 09 f8 97 bd 41 e8 11 97 de e9 9b 11\ +af +Test: Verify +Comment: RSASSA-PSS Signature Example 3.3 +Message: \ +1a bd ba 48 9c 5a da 2f 99 5e d1 6f 19 d5 a9 4d\ +9e 6e c3 4a 8d 84 f8 45 57 d2 6e 5e f9 b0 2b 22\ +88 7e 3f 9a 4b 69 0a d1 14 92 09 c2 0c 61 43 1f\ +0c 01 7c 36 c2 65 7b 35 d7 b0 7d 3f 5a d8 70 85\ +07 a9 c1 b8 31 df 83 5a 56 f8 31 07 18 14 ea 5d\ +3d 8d 8f 6a de 40 cb a3 8b 42 db 7a 2d 3d 7a 29\ +c8 f0 a7 9a 78 38 cf 58 a9 75 7f a2 fe 4c 40 df\ +9b aa 19 3b fc 6f 92 b1 23 ad 57 b0 7a ce 3e 6a\ +c0 68 c9 f1 06 af d9 ee b0 3b 4f 37 c2 5d bf bc\ +fb 30 71 f6 f9 77 17 66 d0 72 f3 bb 07 0a f6 60\ +55 32 97 3a e2 50 51 +Salt: \ +98 6e 7c 43 db b6 71 bd 41 b9 a7 f4 b6 af c8 0e\ +80 5f 24 23 +Signature: \ +02 44 bc d1 c8 c1 69 55 73 6c 80 3b e4 01 27 2e\ +18 cb 99 08 11 b1 4f 72 db 96 41 24 d5 fa 76 06\ +49 cb b5 7a fb 87 55 db b6 2b f5 1f 46 6c f2 3a\ +0a 16 07 57 6e 98 3d 77 8f ce ff a9 2d f7 54 8a\ +ea 8e a4 ec ad 2c 29 dd 9f 95 bc 07 fe 91 ec f8\ +be e2 55 bf e8 76 2f d7 69 0a a9 bf a4 fa 08 49\ +ef 72 8c 2c 42 c4 53 23 64 52 2d f2 ab 7f 9f 8a\ +03 b6 3f 7a 49 91 75 82 86 68 f5 ef 5a 29 e3 80\ +2c +Test: Verify +Comment: RSASSA-PSS Signature Example 3.4 +Message: \ +8f b4 31 f5 ee 79 2b 6c 2a c7 db 53 cc 42 86 55\ +ae b3 2d 03 f4 e8 89 c5 c2 5d e6 83 c4 61 b5 3a\ +cf 89 f9 f8 d3 aa bd f6 b9 f0 c2 a1 de 12 e1 5b\ +49 ed b3 91 9a 65 2f e9 49 1c 25 a7 fc e1 f7 22\ +c2 54 36 08 b6 9d c3 75 ec +Salt: \ +f8 31 2d 9c 8e ea 13 ec 0a 4c 7b 98 12 0c 87 50\ +90 87 c4 78 +Signature: \ +01 96 f1 2a 00 5b 98 12 9c 8d f1 3c 4c b1 6f 8a\ +a8 87 d3 c4 0d 96 df 3a 88 e7 53 2e f3 9c d9 92\ +f2 73 ab c3 70 bc 1b e6 f0 97 cf eb bf 01 18 fd\ +9e f4 b9 27 15 5f 3d f2 2b 90 4d 90 70 2d 1f 7b\ +a7 a5 2b ed 8b 89 42 f4 12 cd 7b d6 76 c9 d1 8e\ +17 03 91 dc d3 45 c0 6a 73 09 64 b3 f3 0b cc e0\ +bb 20 ba 10 6f 9a b0 ee b3 9c f8 a6 60 7f 75 c0\ +34 7f 0a f7 9f 16 af a0 81 d2 c9 2d 1e e6 f8 36\ +b8 +Test: Verify +Comment: RSASSA-PSS Signature Example 3.5 +Message: \ +fe f4 16 1d fa af 9c 52 95 05 1d fc 1f f3 81 0c\ +8c 9e c2 e8 66 f7 07 54 22 c8 ec 42 16 a9 c4 ff\ +49 42 7d 48 3c ae 10 c8 53 4a 41 b2 fd 15 fe e0\ +69 60 ec 6f b3 f7 a7 e9 4a 2f 8a 2e 3e 43 dc 4a\ +40 57 6c 30 97 ac 95 3b 1d e8 6f 0b 4e d3 6d 64\ +4f 23 ae 14 42 55 29 62 24 64 ca 0c bf 0b 17 41\ +34 72 38 15 7f ab 59 e4 de 55 24 09 6d 62 ba ec\ +63 ac 64 +Salt: \ +50 32 7e fe c6 29 2f 98 01 9f c6 7a 2a 66 38 56\ +3e 9b 6e 2d +Signature: \ +02 1e ca 3a b4 89 22 64 ec 22 41 1a 75 2d 92 22\ +10 76 d4 e0 1c 0e 6f 0d de 9a fd 26 ba 5a cf 6d\ +73 9e f9 87 54 5d 16 68 3e 56 74 c9 e7 0f 1d e6\ +49 d7 e6 1d 48 d0 ca eb 4f b4 d8 b2 4f ba 84 a6\ +e3 10 8f ee 7d 07 05 97 32 66 ac 52 4b 4a d2 80\ +f7 ae 17 dc 59 d9 6d 33 51 58 6b 5a 3b db 89 5d\ +1e 1f 78 20 ac 61 35 d8 75 34 80 99 83 82 ba 32\ +b7 34 95 59 60 8c 38 74 52 90 a8 5e f4 e9 f9 bd\ +83 +Test: Verify +Comment: RSASSA-PSS Signature Example 3.6 +Message: \ +ef d2 37 bb 09 8a 44 3a ee b2 bf 6c 3f 8c 81 b8\ +c0 1b 7f cb 3f eb +Salt: \ +b0 de 3f c2 5b 65 f5 af 96 b1 d5 cc 3b 27 d0 c6\ +05 30 87 b3 +Signature: \ +01 2f af ec 86 2f 56 e9 e9 2f 60 ab 0c 77 82 4f\ +42 99 a0 ca 73 4e d2 6e 06 44 d5 d2 22 c7 f0 bd\ +e0 39 64 f8 e7 0a 5c b6 5e d4 4e 44 d5 6a e0 ed\ +f1 ff 86 ca 03 2c c5 dd 44 04 db b7 6a b8 54 58\ +6c 44 ee d8 33 6d 08 d4 57 ce 6c 03 69 3b 45 c0\ +f1 ef ef 93 62 4b 95 b8 ec 16 9c 61 6d 20 e5 53\ +8e bc 0b 67 37 a6 f8 2b 4b c0 57 09 24 fc 6b 35\ +75 9a 33 48 42 62 79 f8 b3 d7 74 4e 2d 22 24 26\ +ce +Test: Verify +Comment: Example 4: A 1027-bit RSA Key Pair +Modulus: \ +05 4a db 78 86 44 7e fe 6f 57 e0 36 8f 06 cf 52\ +b0 a3 37 07 60 d1 61 ce f1 26 b9 1b e7 f8 9c 42\ +1b 62 a6 ec 1d a3 c3 11 d7 5e d5 0e 0a b5 ff f3\ +fd 33 8a cc 3a a8 a4 e7 7e e2 63 69 ac b8 1b a9\ +00 fa 83 f5 30 0c f9 bb 6c 53 ad 1d c8 a1 78 b8\ +15 db 42 35 a9 a9 da 0c 06 de 4e 61 5e a1 27 7c\ +e5 59 e9 c1 08 de 58 c1 4a 81 aa 77 f5 a6 f8 d1\ +33 54 94 49 88 48 c8 b9 59 40 74 0b e7 bf 7c 37\ +05 +PublicExponent: \ +01 00 01 +PrivateExponent: \ +fa 04 1f 8c d9 69 7c ee d3 8e c8 ca a2 75 52 3b\ +4d d7 2b 09 a3 01 d3 54 1d 72 f5 d3 1c 05 cb ce\ +2d 69 83 b3 61 83 af 10 69 0b d4 6c 46 13 1e 35\ +78 94 31 a5 56 77 1d d0 04 9b 57 46 1b f0 60 c1\ +f6 84 72 e8 a6 7c 25 f3 57 e5 b6 b4 73 8f a5 41\ +a7 30 34 6b 4a 07 64 9a 2d fa 80 6a 69 c9 75 b6\ +ab a6 46 78 ac c7 f5 91 3e 89 c6 22 f2 d8 ab b1\ +e3 e3 25 54 e3 9d f9 4b a6 0c 00 2e 38 7d 90 11 +Prime1: \ +02 92 32 33 6d 28 38 94 5d ba 9d d7 72 3f 4e 62\ +4a 05 f7 37 5b 92 7a 87 ab e6 a8 93 a1 65 8f d4\ +9f 47 f6 c7 b0 fa 59 6c 65 fa 68 a2 3f 0a b4 32\ +96 2d 18 d4 34 3b d6 fd 67 1a 5e a8 d1 48 41 39\ +95 +Prime2: \ +02 0e f5 ef e7 c5 39 4a ed 22 72 f7 e8 1a 74 f4\ +c0 2d 14 58 94 cb 1b 3c ab 23 a9 a0 71 0a 2a fc\ +7e 33 29 ac bb 74 3d 01 f6 80 c4 d0 2a fb 4c 8f\ +de 7e 20 93 08 11 bb 2b 99 57 88 b5 e8 72 c2 0b\ +b1 +ModPrime1PrivateExponent: \ +02 6e 7e 28 01 0e cf 24 12 d9 52 3a d7 04 64 7f\ +b4 fe 9b 66 b1 a6 81 58 1b 0e 15 55 3a 89 b1 54\ +28 28 89 8f 27 24 3e ba b4 5f f5 e1 ac b9 d4 df\ +1b 05 1f bc 62 82 4d bc 6f 6c 93 26 1a 78 b9 a7\ +59 +ModPrime2PrivateExponent: \ +01 2d dc c8 6e f6 55 99 8c 39 dd ae 11 71 86 69\ +e5 e4 6c f1 49 5b 07 e1 3b 10 14 cd 69 b3 af 68\ +30 4a d2 a6 b6 43 21 e7 8b f3 bb ca 9b b4 94 e9\ +1d 45 17 17 e2 d9 75 64 c6 54 94 65 d0 20 5c f4\ +21 +MultiplicativeInverseOfPrime2ModPrime1: \ +01 06 00 c4 c2 18 47 45 9f e5 76 70 3e 2e be ca\ +e8 a5 09 4e e6 3f 53 6b f4 ac 68 d3 c1 3e 5e 4f\ +12 ac 5c c1 0a b6 a2 d0 5a 19 92 14 d1 82 47 47\ +d5 51 90 96 36 b7 74 c2 2c ac 0b 83 75 99 ab cc\ +75 +Test: KeyPairValidAndConsistent +Comment: RSASSA-PSS Signature Example 4.1 +Message: \ +9f b0 3b 82 7c 82 17 d9 +Salt: \ +ed 7c 98 c9 5f 30 97 4f be 4f bd dc f0 f2 8d 60\ +21 c0 e9 1d +Signature: \ +03 23 d5 b7 bf 20 ba 45 39 28 9a e4 52 ae 42 97\ +08 0f ef f4 51 84 23 ff 48 11 a8 17 83 7e 7d 82\ +f1 83 6c df ab 54 51 4f f0 88 7b dd ee bf 40 bf\ +99 b0 47 ab c3 ec fa 6a 37 a3 ef 00 f4 a0 c4 a8\ +8a ae 09 04 b7 45 c8 46 c4 10 7e 87 97 72 3e 8a\ +c8 10 d9 e3 d9 5d fa 30 ff 49 66 f4 d7 5d 13 76\ +8d 20 85 7f 2b 14 06 f2 64 cf e7 5e 27 d7 65 2f\ +4b 5e d3 57 5f 28 a7 02 f8 c4 ed 9c f9 b2 d4 49\ +48 +Test: Verify +Comment: RSASSA-PSS Signature Example 4.2 +Message: \ +0c a2 ad 77 79 7e ce 86 de 5b f7 68 75 0d db 5e\ +d6 a3 11 6a d9 9b bd 17 ed f7 f7 82 f0 db 1c d0\ +5b 0f 67 74 68 c5 ea 42 0d c1 16 b1 0e 80 d1 10\ +de 2b 04 61 ea 14 a3 8b e6 86 20 39 2e 7e 89 3c\ +b4 ea 93 93 fb 88 6c 20 ff 79 06 42 30 5b f3 02\ +00 38 92 e5 4d f9 f6 67 50 9d c5 39 20 df 58 3f\ +50 a3 dd 61 ab b6 fa b7 5d 60 03 77 e3 83 e6 ac\ +a6 71 0e ee a2 71 56 e0 67 52 c9 4c e2 5a e9 9f\ +cb f8 59 2d be 2d 7e 27 45 3c b4 4d e0 71 00 eb\ +b1 a2 a1 98 11 a4 78 ad be ab 27 0f 94 e8 fe 36\ +9d 90 b3 ca 61 2f 9f +Salt: \ +22 d7 1d 54 36 3a 42 17 aa 55 11 3f 05 9b 33 84\ +e3 e5 7e 44 +Signature: \ +04 9d 01 85 84 5a 26 4d 28 fe b1 e6 9e da ec 09\ +06 09 e8 e4 6d 93 ab b3 83 71 ce 51 f4 aa 65 a5\ +99 bd aa a8 1d 24 fb a6 6a 08 a1 16 cb 64 4f 3f\ +1e 65 3d 95 c8 9d b8 bb d5 da ac 27 09 c8 98 40\ +00 17 84 10 a7 c6 aa 86 67 dd c3 8c 74 1f 71 0e\ +c8 66 5a a9 05 2b e9 29 d4 e3 b1 67 82 c1 66 21\ +14 c5 41 4b b0 35 34 55 c3 92 fc 28 f3 db 59 05\ +4b 5f 36 5c 49 e1 d1 56 f8 76 ee 10 cb 4f d7 05\ +98 +Test: Verify +Comment: RSASSA-PSS Signature Example 4.3 +Message: \ +28 80 62 af c0 8f cd b7 c5 f8 65 0b 29 83 73 00\ +46 1d d5 67 6c 17 a2 0a 3c 8f b5 14 89 49 e3 f7\ +3d 66 b3 ae 82 c7 24 0e 27 c5 b3 ec 43 28 ee 7d\ +6d df 6a 6a 0c 9b 5b 15 bc da 19 6a 9d 0c 76 b1\ +19 d5 34 d8 5a bd 12 39 62 d5 83 b7 6c e9 d1 80\ +bc e1 ca +Salt: \ +4a f8 70 fb c6 51 60 12 ca 91 6c 70 ba 86 2a c7\ +e8 24 36 17 +Signature: \ +03 fb c4 10 a2 ce d5 95 00 fb 99 f9 e2 af 27 81\ +ad a7 4e 13 14 56 24 60 27 82 e2 99 48 13 ee fc\ +a0 51 9e cd 25 3b 85 5f b6 26 a9 0d 77 1e ae 02\ +8b 0c 47 a1 99 cb d9 f8 e3 26 97 34 af 41 63 59\ +90 90 71 3a 3f a9 10 fa 09 60 65 27 21 43 2b 97\ +10 36 a7 18 1a 2b c0 ca b4 3b 0b 59 8b c6 21 74\ +61 d7 db 30 5f f7 e9 54 c5 b5 bb 23 1c 39 e7 91\ +af 6b cf a7 6b 14 7b 08 13 21 f7 26 41 48 2a 2a\ +ad +Test: Verify +Comment: RSASSA-PSS Signature Example 4.4 +Message: \ +6f 4f 9a b9 50 11 99 ce f5 5c 6c f4 08 fe 7b 36\ +c5 57 c4 9d 42 0a 47 63 d2 46 3c 8a d4 4b 3c fc\ +5b e2 74 2c 0e 7d 9b 0f 66 08 f0 8c 7f 47 b6 93\ +ee +Salt: \ +40 d2 e1 80 fa e1 ea c4 39 c1 90 b5 6c 2c 0e 14\ +dd f9 a2 26 +Signature: \ +04 86 64 4b c6 6b f7 5d 28 33 5a 61 79 b1 08 51\ +f4 3f 09 bd ed 9f ac 1a f3 32 52 bb 99 53 ba 42\ +98 cd 64 66 b2 75 39 a7 0a da a3 f8 9b 3d b3 c7\ +4a b6 35 d1 22 f4 ee 7c e5 57 a6 1e 59 b8 2f fb\ +78 66 30 e5 f9 db 53 c7 7d 9a 0c 12 fa b5 95 8d\ +4c 2c e7 da a8 07 cd 89 ba 2c c7 fc d0 2f f4 70\ +ca 67 b2 29 fc ce 81 4c 85 2c 73 cc 93 be a3 5b\ +e6 84 59 ce 47 8e 9d 46 55 d1 21 c8 47 2f 37 1d\ +4f +Test: Verify +Comment: RSASSA-PSS Signature Example 4.5 +Message: \ +e1 7d 20 38 5d 50 19 55 82 3c 3f 66 62 54 c1 d3\ +dd 36 ad 51 68 b8 f1 8d 28 6f dc f6 7a 7d ad 94\ +09 70 85 fa b7 ed 86 fe 21 42 a2 87 71 71 79 97\ +ef 1a 7a 08 88 4e fc 39 35 6d 76 07 7a af 82 45\ +9a 7f ad 45 84 88 75 f2 81 9b 09 89 37 fe 92 3b\ +cc 9d c4 42 d7 2d 75 4d 81 20 25 09 0c 9b c0 3d\ +b3 08 0c 13 8d d6 3b 35 5d 0b 4b 85 d6 68 8a c1\ +9f 4d e1 50 84 a0 ba 4e 37 3b 93 ef 4a 55 50 96\ +69 19 15 dc 23 c0 0e 95 4c de b2 0a 47 cd 55 d1\ +6c 3d 86 81 d4 6e d7 f2 ed 5e a4 27 95 be 17 ba\ +ed 25 f0 f4 d1 13 b3 63 6a dd d5 85 f1 6a 8b 5a\ +ec 0c 8f a9 c5 f0 3c bf 3b 9b 73 +Salt: \ +24 97 dc 2b 46 15 df ae 5a 66 3d 49 ff d5 6b f7\ +ef c1 13 04 +Signature: \ +02 2a 80 04 53 53 90 4c b3 0c bb 54 2d 7d 49 90\ +42 1a 6e ec 16 a8 02 9a 84 22 ad fd 22 d6 af f8\ +c4 cc 02 94 af 11 0a 0c 06 7e c8 6a 7d 36 41 34\ +45 9b b1 ae 8f f8 36 d5 a8 a2 57 98 40 99 6b 32\ +0b 19 f1 3a 13 fa d3 78 d9 31 a6 56 25 da e2 73\ +9f 0c 53 67 0b 35 d9 d3 cb ac 08 e7 33 e4 ec 2b\ +83 af 4b 91 96 d6 3e 7c 4f f1 dd ea e2 a1 22 79\ +1a 12 5b fe a8 de b0 de 8c cf 1f 4f fa f6 e6 fb\ +0a +Test: Verify +Comment: RSASSA-PSS Signature Example 4.6 +Message: \ +af bc 19 d4 79 24 90 18 fd f4 e0 9f 61 87 26 44\ +04 95 de 11 dd ee e3 88 72 d7 75 fc ea 74 a2 38\ +96 b5 34 3c 9c 38 d4 6a f0 db a2 24 d0 47 58 0c\ +c6 0a 65 e9 39 1c f9 b5 9b 36 a8 60 59 8d 4e 82\ +16 72 2f 99 3b 91 cf ae 87 bc 25 5a f8 9a 6a 19\ +9b ca 4a 39 1e ad bc 3a 24 90 3c 0b d6 67 36 8f\ +6b e7 8e 3f ea bf b4 ff d4 63 12 27 63 74 0f fb\ +be fe ab 9a 25 56 4b c5 d1 c2 4c 93 e4 22 f7 50\ +73 e2 ad 72 bf 45 b1 0d f0 0b 52 a1 47 12 8e 73\ +fe e3 3f a3 f0 57 7d 77 f8 0f bc 2d f1 be d3 13\ +29 0c 12 77 7f 50 +Salt: \ +a3 34 db 6f ae bf 11 08 1a 04 f8 7c 2d 62 1c de\ +c7 93 0b 9b +Signature: \ +00 93 8d cb 6d 58 30 46 06 5f 69 c7 8d a7 a1 f1\ +75 70 66 a7 fa 75 12 5a 9d 29 29 f0 b7 9a 60 b6\ +27 b0 82 f1 1f 5b 19 6f 28 eb 9d aa 6f 21 c0 5e\ +51 40 f6 ae f1 73 7d 20 23 07 5c 05 ec f0 4a 02\ +8c 68 6a 2a b3 e7 d5 a0 66 4f 29 5c e1 29 95 e8\ +90 90 8b 6a d2 1f 08 39 eb 65 b7 03 93 a7 b5 af\ +d9 87 1d e0 ca a0 ce de c5 b8 19 62 67 56 20 9d\ +13 ab 1e 7b b9 54 6a 26 ff 37 e9 a5 1a f9 fd 56\ +2e +Test: Verify +Comment: Example 5: A 1028-bit RSA Key Pair +Modulus: \ +0d 10 f6 61 f2 99 40 f5 ed 39 aa 26 09 66 de b4\ +78 43 67 9d 2b 6f b2 5b 3d e3 70 f3 ac 7c 19 91\ +63 91 fd 25 fb 52 7e bf a6 a4 b4 df 45 a1 75 9d\ +99 6c 4b b4 eb d1 88 28 c4 4f c5 2d 01 91 87 17\ +40 52 5f 47 a4 b0 cc 8d a3 25 ed 8a a6 76 b0 d0\ +f6 26 e0 a7 7f 07 69 21 70 ac ac 80 82 f4 2f aa\ +7d c7 cd 12 3e 73 0e 31 a8 79 85 20 4c ab cb e6\ +67 0d 43 a2 dd 2b 2d de f5 e0 53 92 fc 21 3b c5\ +07 +PublicExponent: \ +01 00 01 +PrivateExponent: \ +03 ce 08 b1 04 ff f3 96 a9 79 bd 3e 4e 46 92 5b\ +63 19 dd b6 3a cb cf d8 19 f1 7d 16 b8 07 7b 3a\ +87 10 1f f3 4b 77 fe 48 b8 b2 05 a9 6e 91 51 ba\ +8e ce a6 4d 0c ce 7b 23 c3 e6 a6 b8 30 58 bc 49\ +da e8 16 ae 73 6d b5 a4 70 8e 2a d4 35 23 2b 56\ +7f 90 96 ce 59 ff 28 06 1e 79 ab 1c 02 d7 17 e6\ +b2 3c ea 6d b8 eb 51 92 fa 7c 1e ab 22 7d ba 74\ +62 1c 45 60 18 96 ee f1 37 92 c8 44 0b eb 15 aa\ +c1 +Prime1: \ +03 f2 f3 31 f4 14 2d 4f 24 b4 3a a1 02 79 a8 96\ +52 d4 e7 53 72 21 a1 a7 b2 a2 5d eb 55 1e 5d e9\ +ac 49 74 11 c2 27 a9 4e 45 f9 1c 2d 1c 13 cc 04\ +6c f4 ce 14 e3 2d 05 87 34 21 0d 44 a8 7e e1 b7\ +3f +Prime2: \ +03 4f 09 0d 73 b5 58 03 03 0c f0 36 1a 5d 80 81\ +bf b7 9f 85 15 23 fe ac 0a 21 24 d0 8d 40 13 ff\ +08 48 77 71 a8 70 d0 47 9d c0 68 6c 62 f7 71 8d\ +fe cf 02 4b 17 c9 26 76 78 05 91 71 33 9c c0 08\ +39 +ModPrime1PrivateExponent: \ +02 aa 66 3a db f5 1a b8 87 a0 18 cb 42 6e 78 bc\ +2f e1 82 dc b2 f7 bc b5 04 41 d1 7f df 0f 06 79\ +8b 50 71 c6 e2 f5 fe b4 d5 4a d8 18 23 11 c1 ef\ +62 d4 c4 9f 18 d1 f5 1f 54 b2 d2 cf fb a4 da 1b\ +e5 +ModPrime2PrivateExponent: \ +02 bb e7 06 07 8b 5c 0b 39 15 12 d4 11 db 1b 19\ +9b 5a 56 64 b8 40 42 ea d3 7f e9 94 ae 72 b9 53\ +2d fb fb 3e 9e 69 81 a0 fb b8 06 51 31 41 b7 c2\ +16 3f e5 6c 39 5e 4b fa ee 57 e3 83 3f 9b 91 8d\ +f9 +MultiplicativeInverseOfPrime2ModPrime1: \ +02 42 b6 cd 00 d3 0a 76 7a ee 9a 89 8e ad 45 3c\ +8e ae a6 3d 50 0b 7d 1e 00 71 3e da e5 1c e3 6b\ +23 b6 64 df 26 e6 3e 26 6e c8 f7 6e 6e 63 ed 1b\ +a4 1e b0 33 b1 20 f7 ea 52 12 ae 21 a9 8f bc 16 +Test: KeyPairValidAndConsistent +Comment: RSASSA-PSS Signature Example 5.1 +Message: \ +30 c7 d5 57 45 8b 43 6d ec fd c1 4d 06 cb 7b 96\ +b0 67 18 c4 8d 7d e5 74 82 a8 68 ae 7f 06 58 70\ +a6 21 65 06 d1 1b 77 93 23 df df 04 6c f5 77 51\ +29 13 4b 4d 56 89 e4 d9 c0 ce 1e 12 d7 d4 b0 6c\ +b5 fc 58 20 de cf a4 1b af 59 bf 25 7b 32 f0 25\ +b7 67 9b 44 5b 94 99 c9 25 55 14 58 85 99 2f 1b\ +76 f8 48 91 ee 4d 3b e0 f5 15 0f d5 90 1e 3a 4c\ +8e d4 3f d3 6b 61 d0 22 e6 5a d5 00 8d bf 33 29\ +3c 22 bf bf d0 73 21 f0 f1 d5 fa 9f df 00 14 c2\ +fc b0 35 8a ad 0e 35 4b 0d 29 +Salt: \ +08 1b 23 3b 43 56 77 50 bd 6e 78 f3 96 a8 8b 9f\ +6a 44 51 51 +Signature: \ +0b a3 73 f7 6e 09 21 b7 0a 8f bf e6 22 f0 bf 77\ +b2 8a 3d b9 8e 36 10 51 c3 d7 cb 92 ad 04 52 91\ +5a 4d e9 c0 17 22 f6 82 3e eb 6a df 7e 0c a8 29\ +0f 5d e3 e5 49 89 0a c2 a3 c5 95 0a b2 17 ba 58\ +59 08 94 95 2d e9 6f 8d f1 11 b2 57 52 15 da 6c\ +16 15 90 c7 45 be 61 24 76 ee 57 8e d3 84 ab 33\ +e3 ec e9 74 81 a2 52 f5 c7 9a 98 b5 53 2a e0 0c\ +dd 62 f2 ec c0 cd 1b ae fe 80 d8 0b 96 21 93 ec\ +1d +Test: Verify +Comment: RSASSA-PSS Signature Example 5.2 +Message: \ +e7 b3 2e 15 56 ea 1b 27 95 04 6a c6 97 39 d2 2a\ +c8 96 6b f1 1c 11 6f 61 4b 16 67 40 e9 6b 90 65\ +3e 57 50 94 5f cf 77 21 86 c0 37 90 a0 7f da 32\ +3e 1a 61 91 6b 06 ee 21 57 db 3d ff 80 d6 7d 5e\ +39 a5 3a e2 68 c8 f0 9e d9 9a 73 20 05 b0 bc 6a\ +04 af 4e 08 d5 7a 00 e7 20 1b 30 60 ef aa db 73\ +11 3b fc 08 7f d8 37 09 3a a2 52 35 b8 c1 49 f5\ +62 15 f0 31 c2 4a d5 bd e7 f2 99 60 df 7d 52 40\ +70 f7 44 9c 6f 78 50 84 be 1a 0f 73 30 47 f3 36\ +f9 15 47 38 67 45 47 db 02 a9 f4 4d fc 6e 60 30\ +10 81 e1 ce 99 84 7f 3b 5b 60 1f f0 6b 4d 57 76\ +a9 74 0b 9a a0 d3 40 58 fd 3b 90 6e 4f 78 59 df\ +b0 7d 71 73 e5 e6 f6 35 0a da c2 1f 27 b2 30 74\ +69 +Salt: \ +bd 0c e1 95 49 d0 70 01 20 cb e5 10 77 db bb b0\ +0a 8d 8b 09 +Signature: \ +08 18 0d e8 25 e4 b8 b0 14 a3 2d a8 ba 76 15 55\ +92 12 04 f2 f9 0d 5f 24 b7 12 90 8f f8 4f 3e 22\ +0a d1 79 97 c0 dd 6e 70 66 30 ba 3e 84 ad d4 d5\ +e7 ab 00 4e 58 07 4b 54 97 09 56 5d 43 ad 9e 97\ +b5 a7 a1 a2 9e 85 b9 f9 0f 4a af cd f5 83 21 de\ +8c 59 74 ef 9a bf 2d 52 6f 33 c0 f2 f8 2e 95 d1\ +58 ea 6b 81 f1 73 6d b8 d1 af 3d 6a c6 a8 3b 32\ +d1 8b ae 0f f1 b2 fe 27 de 4c 76 ed 8c 79 80 a3\ +4e +Test: Verify +Comment: RSASSA-PSS Signature Example 5.3 +Message: \ +8d 83 96 e3 65 07 fe 1e f6 a1 90 17 54 8e 0c 71\ +66 74 c2 fe c2 33 ad b2 f7 75 66 5e c4 1f 2b d0\ +ba 39 6b 06 1a 9d aa 7e 86 6f 7c 23 fd 35 31 95\ +43 00 a3 42 f9 24 53 5e a1 49 8c 48 f6 c8 79 93\ +28 65 fc 02 00 0c 52 87 23 b7 ad 03 35 74 5b 51\ +20 9a 0a fe d9 32 af 8f 08 87 c2 19 00 4d 2a bd\ +89 4e a9 25 59 ee 31 98 af 3a 73 4f e9 b9 63 8c\ +26 3a 72 8a d9 5a 5a e8 ce 3e b1 58 39 f3 aa 78\ +52 bb 39 07 06 e7 76 0e 43 a7 12 91 a2 e3 f8 27\ +23 7d ed a8 51 87 4c 51 76 65 f5 45 f2 72 38 df\ +86 55 7f 37 5d 09 cc d8 bd 15 d8 cc f6 1f 5d 78\ +ca 5c 7f 5c de 78 2e 6b f5 d0 05 70 56 d4 ba d9\ +8b 3d 2f 95 75 e8 24 ab 7a 33 ff 57 b0 ac 10 0a\ +b0 d6 ea d7 aa 0b 50 f6 e4 d3 e5 ec 0b 96 6b +Salt: \ +81 57 79 a9 1b 3a 8b d0 49 bf 2a eb 92 01 42 77\ +22 22 c9 ca +Signature: \ +05 e0 fd bd f6 f7 56 ef 73 31 85 cc fa 8c ed 2e\ +b6 d0 29 d9 d5 6e 35 56 1b 5d b8 e7 02 57 ee 6f\ +d0 19 d2 f0 bb f6 69 fe 9b 98 21 e7 8d f6 d4 1e\ +31 60 8d 58 28 0f 31 8e e3 4f 55 99 41 c8 df 13\ +28 75 74 ba c0 00 b7 e5 8d c4 f4 14 ba 49 fb 12\ +7f 9d 0f 89 36 63 8c 76 e8 53 56 c9 94 f7 97 50\ +f7 fa 3c f4 fd 48 2d f7 5e 3f b9 97 8c d0 61 f7\ +ab b1 75 72 e6 e6 3e 0b de 12 cb dc f1 8c 68 b9\ +79 +Test: Verify +Comment: RSASSA-PSS Signature Example 5.4 +Message: \ +32 8c 65 9e 0a 64 37 43 3c ce b7 3c 14 +Salt: \ +9a ec 4a 74 80 d5 bb c4 29 20 d7 ca 23 5d b6 74\ +98 9c 9a ac +Signature: \ +0b c9 89 85 3b c2 ea 86 87 32 71 ce 18 3a 92 3a\ +b6 5e 8a 53 10 0e 6d f5 d8 7a 24 c4 19 4e b7 97\ +81 3e e2 a1 87 c0 97 dd 87 2d 59 1d a6 0c 56 86\ +05 dd 7e 74 2d 5a f4 e3 3b 11 67 8c cb 63 90 32\ +04 a3 d0 80 b0 90 2c 89 ab a8 86 8f 00 9c 0f 1c\ +0c b8 58 10 bb dd 29 12 1a bb 84 71 ff 2d 39 e4\ +9f d9 2d 56 c6 55 c8 e0 37 ad 18 fa fb dc 92 c9\ +58 63 f7 f6 1e a9 ef a2 8f ea 40 13 69 d1 9d ae\ +a1 +Test: Verify +Comment: RSASSA-PSS Signature Example 5.5 +Message: \ +f3 7b 96 23 79 a4 7d 41 5a 37 6e ec 89 73 15 0b\ +cb 34 ed d5 ab 65 40 41 b6 14 30 56 0c 21 44 58\ +2b a1 33 c8 67 d8 52 d6 b8 e2 33 21 90 13 02 ec\ +b4 5b 09 ec 88 b1 52 71 78 fa 04 32 63 f3 06 7d\ +9f fe 97 30 32 a9 9f 4c b0 8a d2 c7 e0 a2 45 6c\ +dd 57 a7 df 56 fe 60 53 52 7a 5a eb 67 d7 e5 52\ +06 3c 1c a9 7b 1b ef fa 7b 39 e9 97 ca f2 78 78\ +ea 0f 62 cb eb c8 c2 1d f4 c8 89 a2 02 85 1e 94\ +90 88 49 0c 24 9b 6e 9a cf 1d 80 63 f5 be 23 43\ +98 9b f9 5c 4d a0 1a 2b e7 8b 4a b6 b3 78 01 5b\ +c3 79 57 f7 69 48 b5 e5 8e 44 0c 28 45 3d 40 d7\ +cf d5 7e 7d 69 06 00 47 4a b5 e7 59 73 b1 ea 0c\ +5f 1e 45 d1 41 90 af e2 f4 eb 6d 3b df 71 f1 d2\ +f8 bb 15 6a 1c 29 5d 04 aa eb 9d 68 9d ce 79 ed\ +62 bc 44 3e +Salt: \ +e2 0c 1e 98 78 51 2c 39 97 0f 58 37 5e 15 49 a6\ +8b 64 f3 1d +Signature: \ +0a ef a9 43 b6 98 b9 60 9e df 89 8a d2 27 44 ac\ +28 dc 23 94 97 ce a3 69 cb bd 84 f6 5c 95 c0 ad\ +77 6b 59 47 40 16 4b 59 a7 39 c6 ff 7c 2f 07 c7\ +c0 77 a8 6d 95 23 8f e5 1e 1f cf 33 57 4a 4a e0\ +68 4b 42 a3 f6 bf 67 7d 91 82 0c a8 98 74 46 7b\ +2c 23 ad d7 79 69 c8 07 17 43 0d 0e fc 1d 36 95\ +89 2c e8 55 cb 7f 70 11 63 0f 4d f2 6d ef 8d df\ +36 fc 23 90 5f 57 fa 62 43 a4 85 c7 70 d5 68 1f\ +cd +Test: Verify +Comment: RSASSA-PSS Signature Example 5.6 +Message: \ +c6 10 3c 33 0c 1e f7 18 c1 41 e4 7b 8f a8 59 be\ +4d 5b 96 25 9e 7d 14 20 70 ec d4 85 83 9d ba 5a\ +83 69 c1 7c 11 14 03 5e 53 2d 19 5c 74 f4 4a 04\ +76 a2 d3 e8 a4 da 21 00 16 ca ce d0 e3 67 cb 86\ +77 10 a4 b5 aa 2d f2 b8 e5 da f5 fd c6 47 80 7d\ +4d 5e bb 6c 56 b9 76 3c cd ae 4d ea 33 08 eb 0a\ +c2 a8 95 01 cb 20 9d 26 39 fa 5b f8 7c e7 90 74\ +7d 3c b2 d2 95 e8 45 64 f2 f6 37 82 4f 0c 13 02\ +81 29 b0 aa 4a 42 2d 16 22 82 +Salt: \ +23 29 1e 4a 33 07 e8 bb b7 76 62 3a b3 4e 4a 5f\ +4c c8 a8 db +Signature: \ +02 80 2d cc fa 8d fa f5 27 9b f0 b4 a2 9b a1 b1\ +57 61 1f ae aa f4 19 b8 91 9d 15 94 19 00 c1 33\ +9e 7e 92 e6 fa e5 62 c5 3e 6c c8 e8 41 04 b1 10\ +bc e0 3a d1 85 25 e3 c4 9a 0e ad ad 5d 3f 28 f2\ +44 a8 ed 89 ed ba fb b6 86 27 7c fa 8a e9 09 71\ +4d 6b 28 f4 bf 8e 29 3a a0 4c 41 ef e7 c0 a8 12\ +66 d5 c0 61 e2 57 5b e0 32 aa 46 46 74 ff 71 62\ +62 19 bd 74 cc 45 f0 e7 ed 4e 3f f9 6e ee 75 8e\ +8f +Test: Verify +Comment: Example 6: A 1029-bit RSA Key Pair +Modulus: \ +16 4c a3 1c ff 60 9f 3a 0e 71 01 b0 39 f2 e4 fe\ +6d d3 75 19 ab 98 59 8d 17 9e 17 49 96 59 80 71\ +f4 7d 3a 04 55 91 58 d7 be 37 3c f1 aa 53 f0 aa\ +6e f0 90 39 e5 67 8c 2a 4c 63 90 05 14 c8 c4 f8\ +aa ed 5d e1 2a 5f 10 b0 9c 31 1a f8 c0 ff b5 b7\ +a2 97 f2 ef c6 3b 8d 6b 05 10 93 1f 0b 98 e4 8b\ +f5 fc 6e c4 e7 b8 db 1f fa eb 08 c3 8e 02 ad b8\ +f0 3a 48 22 9c 99 e9 69 43 1f 61 cb 8c 4d c6 98\ +d1 +PublicExponent: \ +01 00 01 +PrivateExponent: \ +03 b6 64 ee 3b 75 66 72 3f c6 ea f2 8a bb 43 0a\ +39 80 f1 12 6c 81 de 8a d7 09 ea b3 9a c9 dc d0\ +b1 55 0b 37 29 d8 70 68 e9 52 00 9d f5 44 53 4c\ +1f 50 82 9a 78 f4 59 1e b8 fd 57 14 04 26 a6 bb\ +04 05 b6 a6 f5 1a 57 d9 26 7b 7b bc 65 33 91 a6\ +99 a2 a9 0d ac 8a e2 26 bc c6 0f a8 cd 93 4c 73\ +c7 b0 3b 1f 6b 81 81 58 63 18 38 a8 61 2e 6e 6e\ +a9 2b e2 4f 83 24 fa f5 b1 fd 85 87 22 52 67 ba\ +6f +Prime1: \ +04 f0 54 8c 96 26 ab 1e bf 12 44 93 47 41 d9 9a\ +06 22 0e fa 2a 58 56 aa 0e 75 73 0b 2e c9 6a dc\ +86 be 89 4f a2 80 3b 53 a5 e8 5d 27 6a cb d2 9a\ +b8 23 f8 0a 73 91 bb 54 a5 05 16 72 fb 04 ee b5\ +43 +Prime2: \ +04 83 e0 ae 47 91 55 87 74 3f f3 45 36 2b 55 5d\ +39 62 d9 8b b6 f1 5f 84 8b 4c 92 b1 77 1c a8 ed\ +10 7d 8d 3e e6 5e c4 45 17 dd 0f aa 48 1a 38 7e\ +90 2f 7a 2e 74 7c 26 9e 7e a4 44 80 bc 53 8b 8e\ +5b +ModPrime1PrivateExponent: \ +03 a8 e8 ae a9 92 0c 1a a3 b2 f0 d8 46 e4 b8 50\ +d8 1c a3 06 a5 1c 83 54 4f 94 9f 64 f9 0d cf 3f\ +8e 26 61 f0 7e 56 12 20 a1 80 38 8f be 27 3e 70\ +e2 e5 dc a8 3a 0e 13 48 dd 64 90 c7 31 d6 ec e1\ +ab +ModPrime2PrivateExponent: \ +01 35 bd cd b6 0b f2 19 7c 43 6e d3 4b 32 cd 8b\ +4f c7 77 78 83 2b a7 67 03 55 1f b2 42 b3 01 69\ +95 93 af 77 fd 8f c3 94 a8 52 6a d2 3c c4 1a 03\ +80 6b d8 97 fe 4b 0e a6 46 55 8a ad dc c9 9e 8a\ +25 +MultiplicativeInverseOfPrime2ModPrime1: \ +03 04 c0 3d 9c 73 65 03 a9 84 ab bd 9b a2 23 01\ +40 7c 4a 2a b1 dd 85 76 64 81 b6 0d 45 40 11 52\ +e6 92 be 14 f4 12 1d 9a a3 fd 6e 0b 4d 1d 3a 97\ +35 38 a3 1d 42 ee 6e 1e 5e f6 20 23 1a 2b ba f3\ +5f +Test: KeyPairValidAndConsistent +Comment: RSASSA-PSS Signature Example 6.1 +Message: \ +0a 20 b7 74 ad dc 2f a5 12 45 ed 7c b9 da 60 9e\ +50 ca c6 63 6a 52 54 3f 97 45 8e ed 73 40 f8 d5\ +3f fc 64 91 8f 94 90 78 ee 03 ef 60 d4 2b 5f ec\ +24 60 50 bd 55 05 cd 8c b5 97 ba d3 c4 e7 13 b0\ +ef 30 64 4e 76 ad ab b0 de 01 a1 56 1e fb 25 51\ +58 c7 4f c8 01 e6 e9 19 e5 81 b4 6f 0f 0d dd 08\ +e4 f3 4c 78 10 b5 ed 83 18 f9 1d 7c 8c +Salt: \ +5b 4e a2 ef 62 9c c2 2f 3b 53 8e 01 69 04 b4 7b\ +1e 40 bf d5 +Signature: \ +04 c0 cf ac ec 04 e5 ba db ec e1 59 a5 a1 10 3f\ +69 b3 f3 2b a5 93 cb 4c c4 b1 b7 ab 45 59 16 a9\ +6a 27 cd 26 78 ea 0f 46 ba 37 f7 fc 9c 86 32 5f\ +29 73 3b 38 9f 1d 97 f4 3e 72 01 c0 f3 48 fc 45\ +fe 42 89 23 35 36 2e ee 01 8b 5b 16 1f 2f 93 93\ +03 12 25 c7 13 01 2a 57 6b c8 8e 23 05 24 89 86\ +8d 90 10 cb f0 33 ec c5 68 e8 bc 15 2b dc 59 d5\ +60 e4 12 91 91 5d 28 56 52 08 e2 2a ee c9 ef 85\ +d1 +Test: Verify +Comment: RSASSA-PSS Signature Example 6.2 +Message: \ +2a af f6 63 1f 62 1c e6 15 76 0a 9e bc e9 4b b3\ +33 07 7a d8 64 88 c8 61 d4 b7 6d 29 c1 f4 87 46\ +c6 11 ae 1e 03 ce d4 44 5d 7c fa 1f e5 f6 2e 1b\ +3f 08 45 2b de 3b 6e f8 19 73 ba fb b5 7f 97 bc\ +ee f8 73 98 53 95 b8 26 05 89 aa 88 cb 7d b5 0a\ +b4 69 26 2e 55 1b dc d9 a5 6f 27 5a 0a c4 fe 48\ +47 00 c3 5f 3d bf 2b 46 9e de 86 47 41 b8 6f a5\ +91 72 a3 60 ba 95 a0 2e 13 9b e5 0d df b7 cf 0b\ +42 fa ea bb fb ba a8 6a 44 97 69 9c 4f 2d fd 5b\ +08 40 6a f7 e1 41 44 42 7c 25 3e c0 ef a2 0e af\ +9a 8b e8 cd 49 ce 1f 1b c4 e9 3e 61 9c f2 aa 8e\ +d4 fb 39 bc 85 90 d0 f7 b9 64 88 f7 31 7a c9 ab\ +f7 be e4 e3 a0 e7 15 +Salt: \ +83 14 6a 9e 78 27 22 c2 8b 01 4f 98 b4 26 7b da\ +2a c9 50 4f +Signature: \ +0a 23 14 25 0c f5 2b 6e 4e 90 8d e5 b3 56 46 bc\ +aa 24 36 1d a8 16 0f b0 f9 25 75 90 ab 3a ce 42\ +b0 dc 3e 77 ad 2d b7 c2 03 a2 0b d9 52 fb b5 6b\ +15 67 04 6e cf aa 93 3d 7b 10 00 c3 de 9f f0 5b\ +7d 98 9b a4 6f d4 3b c4 c2 d0 a3 98 6b 7f fa 13\ +47 1d 37 eb 5b 47 d6 47 07 bd 29 0c fd 6a 9f 39\ +3a d0 8e c1 e3 bd 71 bb 57 92 61 50 35 cd af 2d\ +89 29 ae d3 be 09 83 79 37 7e 77 7c e7 9a aa 47\ +73 +Test: Verify +Comment: RSASSA-PSS Signature Example 6.3 +Message: \ +0f 61 95 d0 4a 6e 6f c7 e2 c9 60 0d bf 84 0c 39\ +ea 8d 4d 62 4f d5 35 07 01 6b 0e 26 85 8a 5e 0a\ +ec d7 ad a5 43 ae 5c 0a b3 a6 25 99 cb a0 a5 4e\ +6b f4 46 e2 62 f9 89 97 8f 9d df 5e 9a 41 +Salt: \ +a8 7b 8a ed 07 d7 b8 e2 da f1 4d dc a4 ac 68 c4\ +d0 aa bf f8 +Signature: \ +08 6d f6 b5 00 09 8c 12 0f 24 ff 84 23 f7 27 d9\ +c6 1a 5c 90 07 d3 b6 a3 1c e7 cf 8f 3c be c1 a2\ +6b b2 0e 2b d4 a0 46 79 32 99 e0 3e 37 a2 1b 40\ +19 4f b0 45 f9 0b 18 bf 20 a4 79 92 cc d7 99 cf\ +9c 05 9c 29 9c 05 26 85 49 54 aa de 8a 6a d9 d9\ +7e c9 1a 11 45 38 3f 42 46 8b 23 1f 4d 72 f2 37\ +06 d9 85 3c 3f a4 3c e8 ac e8 bf e7 48 49 87 a1\ +ec 6a 16 c8 da f8 1f 7c 8b f4 27 74 70 7a 9d f4\ +56 +Test: Verify +Comment: RSASSA-PSS Signature Example 6.4 +Message: \ +33 7d 25 fe 98 10 eb ca 0d e4 d4 65 8d 3c eb 8e\ +0f e4 c0 66 ab a3 bc c4 8b 10 5d 3b f7 e0 25 7d\ +44 fe ce a6 59 6f 4d 0c 59 a0 84 02 83 36 78 f7\ +06 20 f9 13 8d fe b7 de d9 05 e4 a6 d5 f0 5c 47\ +3d 55 93 66 52 e2 a5 df 43 c0 cf da 7b ac af 30\ +87 f4 52 4b 06 cf 42 15 7d 01 53 97 39 f7 fd de\ +c9 d5 81 25 df 31 a3 2e ab 06 c1 9b 71 f1 d5 bf +Salt: \ +a3 79 32 f8 a7 49 4a 94 2d 6f 76 74 38 e7 24 d6\ +d0 c0 ef 18 +Signature: \ +0b 5b 11 ad 54 98 63 ff a9 c5 1a 14 a1 10 6c 2a\ +72 cc 8b 64 6e 5c 72 62 50 97 86 10 5a 98 47 76\ +53 4c a9 b5 4c 1c c6 4b f2 d5 a4 4f d7 e8 a6 9d\ +b6 99 d5 ea 52 08 7a 47 48 fd 2a bc 1a fe d1 e5\ +d6 f7 c8 90 25 53 0b da a2 21 3d 7e 03 0f a5 5d\ +f6 f3 4b cf 1c e4 6d 2e df 4e 3a e4 f3 b0 18 91\ +a0 68 c9 e3 a4 4b bc 43 13 3e da d6 ec b9 f3 54\ +00 c4 25 2a 57 62 d6 57 44 b9 9c b9 f4 c5 59 32\ +9f +Test: Verify +Comment: RSASSA-PSS Signature Example 6.5 +Message: \ +84 ec 50 2b 07 2e 82 87 78 9d 8f 92 35 82 9e a3\ +b1 87 af d4 d4 c7 85 61 1b da 5f 9e b3 cb 96 71\ +7e fa 70 07 22 7f 1c 08 cb cb 97 2e 66 72 35 e0\ +fb 7d 43 1a 65 70 32 6d 2e cc e3 5a db 37 3d c7\ +53 b3 be 5f 82 9b 89 17 54 93 19 3f ab 16 ba db\ +41 37 1b 3a ac 0a e6 70 07 6f 24 be f4 20 c1 35\ +ad d7 ce e8 d3 5f bc 94 4d 79 fa fb 9e 30 7a 13\ +b0 f5 56 cb 65 4a 06 f9 73 ed 22 67 23 30 19 7e\ +f5 a7 48 bf 82 6a 5d b2 38 3a 25 36 4b 68 6b 93\ +72 bb 23 39 ae b1 ac 9e 98 89 32 7d 01 6f 16 70\ +77 6d b0 62 01 ad bd ca f8 a5 e3 b7 4e 10 8b 73 +Salt: \ +7b 79 0c 1d 62 f7 b8 4e 94 df 6a f2 89 17 cf 57\ +10 18 11 0e +Signature: \ +02 d7 1f a9 b5 3e 46 54 fe fb 7f 08 38 5c f6 b0\ +ae 3a 81 79 42 eb f6 6c 35 ac 67 f0 b0 69 95 2a\ +3c e9 c7 e1 f1 b0 2e 48 0a 95 00 83 6d e5 d6 4c\ +db 7e cd e0 45 42 f7 a7 99 88 78 7e 24 c2 ba 05\ +f5 fd 48 2c 02 3e d5 c3 0e 04 83 9d c4 4b ed 2a\ +3a 3a 4f ee 01 11 3c 89 1a 47 d3 2e b8 02 5c 28\ +cb 05 0b 5c db 57 6c 70 fe 76 ef 52 34 05 c0 84\ +17 fa f3 50 b0 37 a4 3c 37 93 39 fc b1 8d 3a 35\ +6b +Test: Verify +Comment: RSASSA-PSS Signature Example 6.6 +Message: \ +99 06 d8 9f 97 a9 fd ed d3 cc d8 24 db 68 73 26\ +f3 0f 00 aa 25 a7 fc a2 af cb 3b 0f 86 cd 41 e7\ +3f 0e 8f f7 d2 d8 3f 59 e2 8e d3 1a 5a 0d 55 15\ +23 37 4d e2 2e 4c 7e 8f f5 68 b3 86 ee 3d c4 11\ +63 f1 0b f6 7b b0 06 26 1c 90 82 f9 af 90 bf 1d\ +90 49 a6 b9 fa e7 1c 7f 84 fb e6 e5 5f 02 78 9d\ +e7 74 f2 30 f1 15 02 6a 4b 4e 96 c5 5b 04 a9 5d\ +a3 aa cb b2 ce ce 8f 81 76 4a 1f 1c 99 51 54 11\ +08 7c f7 d3 4a ed ed 09 32 c1 83 +Salt: \ +fb be 05 90 25 b6 9b 89 fb 14 ae 22 89 e7 aa af\ +e6 0c 0f cd +Signature: \ +0a 40 a1 6e 2f e2 b3 8d 1d f9 05 46 16 7c f9 46\ +9c 9e 3c 36 81 a3 44 2b 4b 2c 2f 58 1d eb 38 5c\ +e9 9f c6 18 8b b0 2a 84 1d 56 e7 6d 30 18 91 e2\ +45 60 55 0f cc 2a 26 b5 5f 4c cb 26 d8 37 d3 50\ +a1 54 bc ac a8 39 2d 98 fa 67 95 9e 97 27 b7 8c\ +ad 03 26 9f 56 96 8f c5 6b 68 bd 67 99 26 d8 3c\ +c9 cb 21 55 50 64 5c cd a3 1c 76 0f f3 58 88 94\ +3d 2d 8a 1d 35 1e 81 e5 d0 7b 86 18 2e 75 10 81\ +ef +Test: Verify +Comment: Example 7: A 1030-bit RSA Key Pair +Modulus: \ +37 c9 da 4a 66 c8 c4 08 b8 da 27 d0 c9 d7 9f 8c\ +cb 1e af c1 d2 fe 48 74 6d 94 0b 7c 4e f5 de e1\ +8a d1 26 47 ce fa a0 c4 b3 18 8b 22 1c 51 53 86\ +75 9b 93 f0 20 24 b2 5a b9 24 2f 83 57 d8 f3 fd\ +49 64 0e e5 e6 43 ea f6 c6 4d ee fa 70 89 72 7c\ +8f f0 39 93 33 39 15 c6 ef 21 bf 59 75 b6 e5 0d\ +11 8b 51 00 8e c3 3e 9f 01 a0 a5 45 a1 0a 83 6a\ +43 dd bc a9 d8 b5 c5 d3 54 80 22 d7 06 4e a2 9a\ +b3 +PublicExponent: \ +01 00 01 +PrivateExponent: \ +3b ed 99 90 52 d9 57 bc 06 d6 51 ee f6 e3 a9 80\ +94 b1 62 1b d3 8b 54 49 bd 6c 4a ea 3d e7 e0 84\ +67 9a 44 84 de d2 5b e0 f0 82 6c f3 37 78 25 41\ +4b 14 d4 d6 1d b1 4d e6 26 fb b8 0e 5f 4f ae c9\ +56 f9 a0 a2 d2 4f 99 57 63 80 f0 84 eb 62 e4 6a\ +57 d5 54 27 8b 53 56 26 19 3c e0 20 60 57 5e b6\ +6c 57 98 d3 6f 6c 5d 40 fb 00 d8 09 b4 2a 73 10\ +2c 1c 74 ee 95 bd 71 42 0f ff ef 63 18 b5 2c 29 +Prime1: \ +07 ee fb 42 4b 0e 3a 40 e4 20 8e e5 af b2 80 b2\ +23 17 30 81 14 dd e0 b4 b6 4f 73 01 84 ec 68 da\ +6c e2 86 7a 9f 48 ed 77 26 d5 e2 61 4e d0 4a 54\ +10 73 6c 8c 71 4e e7 02 47 42 98 c6 29 2a f0 75\ +35 +Prime2: \ +07 08 30 db f9 47 ea c0 22 8d e2 63 14 b5 9b 66\ +99 4c c6 0e 83 60 e7 5d 38 76 29 8f 8f 8a 7d 14\ +1d a0 64 e5 ca 02 6a 97 3e 28 f2 54 73 8c ee 66\ +9c 72 1b 03 4c b5 f8 e2 44 da dd 7c d1 e1 59 d5\ +47 +ModPrime1PrivateExponent: \ +05 24 d2 0c 3d 95 cf f7 5a f2 31 34 83 22 7d 87\ +02 71 7a a5 76 de 15 5f 96 05 15 50 1a db 1d 70\ +e1 c0 4d e9 1b 75 b1 61 db f0 39 83 56 12 7e de\ +da 7b bc 19 a3 2d c1 62 1c c9 f5 3c 26 5d 0c e3\ +31 +ModPrime2PrivateExponent: \ +05 f9 84 a1 f2 3c 93 8d 6a 0e 89 72 4b cf 3d d9\ +3f 99 46 92 60 37 fe 7c 6b 13 a2 9e 52 84 85 5f\ +89 08 95 91 d4 40 97 56 27 bf 5c 9e 3a 8b 5c a7\ +9c 77 2a d2 73 e4 0d 32 1a f4 a6 c9 7d fd ed 78\ +d3 +MultiplicativeInverseOfPrime2ModPrime1: \ +dd d9 18 ad ad a2 9d ca b9 81 ff 9a cb a4 25 70\ +23 c0 9a 38 01 cc ce 09 8c e2 68 f8 55 d0 df 57\ +0c d6 e7 b9 b1 4b d9 a5 a9 25 4c bc 31 5b e6 f8\ +ba 1e 25 46 dd d5 69 c5 ea 19 ee d8 35 3b de 5e +Test: KeyPairValidAndConsistent +Comment: RSASSA-PSS Signature Example 7.1 +Message: \ +9e ad 0e 01 94 56 40 67 4e b4 1c ad 43 5e 23 74\ +ea ef a8 ad 71 97 d9 79 13 c4 49 57 d8 d8 3f 40\ +d7 6e e6 0e 39 bf 9c 0f 9e af 30 21 42 1a 07 4d\ +1a de 96 2c 6e 9d 3d c3 bb 17 4f e4 df e6 52 b0\ +91 15 49 5b 8f d2 79 41 74 02 0a 06 02 b5 ca 51\ +84 8c fc 96 ce 5e b5 7f c0 a2 ad c1 dd a3 6a 7c\ +c4 52 64 1a 14 91 1b 37 e4 5b fa 11 da a5 c7 ec\ +db 74 f6 d0 10 0d 1d 3e 39 e7 52 80 0e 20 33 97\ +de 02 33 07 7b 9a 88 85 55 37 fa e9 27 f9 24 38\ +0d 78 0f 98 e1 8d cf f3 9c 5e a7 41 b1 7d 6f dd\ +18 85 bc 9d 58 14 82 d7 71 ce b5 62 d7 8a 8b f8\ +8f 0c 75 b1 13 63 e5 e3 6c d4 79 ce b0 54 5f 9d\ +a8 42 03 e0 e6 e5 08 37 5c c9 e8 44 b8 8b 7a c7\ +a0 a2 01 ea 0f 1b ee 9a 2c 57 79 20 ca 02 c0 1b\ +9d 83 20 e9 74 a5 6f 4e fb 57 63 b9 62 55 ab bf\ +80 37 bf 18 02 cf 01 8f 56 37 94 93 e5 69 a9 +Salt: \ +b7 86 7a 59 95 8c b5 43 28 f8 77 5e 65 46 ec 06\ +d2 7e aa 50 +Signature: \ +18 7f 39 07 23 c8 90 25 91 f0 15 4b ae 6d 4e cb\ +ff e0 67 f0 e8 b7 95 47 6e a4 f4 d5 1c cc 81 05\ +20 bb 3c a9 bc a7 d0 b1 f2 ea 8a 17 d8 73 fa 27\ +57 0a cd 64 2e 38 08 56 1c b9 e9 75 cc fd 80 b2\ +3d c5 77 1c db 33 06 a5 f2 31 59 da cb d3 aa 2d\ +b9 3d 46 d7 66 e0 9e d1 5d 90 0a d8 97 a8 d2 74\ +dc 26 b4 7e 99 4a 27 e9 7e 22 68 a7 66 53 3a e4\ +b5 e4 2a 2f ca f7 55 c1 c4 79 4b 29 4c 60 55 58\ +23 +Test: Verify +Comment: RSASSA-PSS Signature Example 7.2 +Message: \ +8d 80 d2 d0 8d bd 19 c1 54 df 3f 14 67 3a 14 bd\ +03 73 52 31 f2 4e 86 bf 15 3d 0e 69 e7 4c bf f7\ +b1 83 6e 66 4d e8 3f 68 01 24 37 0f c0 f9 6c 9b\ +65 c0 7a 36 6b 64 4c 4a b3 +Salt: \ +0c 09 58 22 66 df 08 63 10 82 1b a7 e1 8d f6 4d\ +fe e6 de 09 +Signature: \ +10 fd 89 76 8a 60 a6 77 88 ab b5 85 6a 78 7c 85\ +61 f3 ed cf 9a 83 e8 98 f7 dc 87 ab 8c ce 79 42\ +9b 43 e5 69 06 94 1a 88 61 94 f1 37 e5 91 fe 7c\ +33 95 55 36 1f bb e1 f2 4f eb 2d 4b cd b8 06 01\ +f3 09 6b c9 13 2d ee a6 0a e1 30 82 f4 4f 9a d4\ +1c d6 28 93 6a 4d 51 17 6e 42 fc 59 cb 76 db 81\ +5c e5 ab 4d b9 9a 10 4a af ea 68 f5 d3 30 32 9e\ +bf 25 8d 4e de 16 06 4b d1 d0 03 93 d5 e1 57 0e\ +b8 +Test: Verify +Comment: RSASSA-PSS Signature Example 7.3 +Message: \ +80 84 05 cd fc 1a 58 b9 bb 03 97 c7 20 72 2a 81\ +ff fb 76 27 8f 33 59 17 ef 9c 47 38 14 b3 e0 16\ +ba 29 73 cd 27 65 f8 f3 f8 2d 6c c3 8a a7 f8 55\ +18 27 fe 8d 1e 38 84 b7 e6 1c 94 68 3b 8f 82 f1\ +84 3b da e2 25 7e ee c9 81 2a d4 c2 cf 28 3c 34\ +e0 b0 ae 0f e3 cb 99 0c f8 8f 2e f9 +Salt: \ +28 03 9d cf e1 06 d3 b8 29 66 11 25 8c 4a 56 65\ +1c 9e 92 dd +Signature: \ +2b 31 fd e9 98 59 b9 77 aa 09 58 6d 8e 27 46 62\ +b2 5a 2a 64 06 40 b4 57 f5 94 05 1c b1 e7 f7 a9\ +11 86 54 55 24 29 26 cf 88 fe 80 df a3 a7 5b a9\ +68 98 44 a1 1e 63 4a 82 b0 75 af bd 69 c1 2a 0d\ +f9 d2 5f 84 ad 49 45 df 3d c8 fe 90 c3 ce fd f2\ +6e 95 f0 53 43 04 b5 bd ba 20 d3 e5 64 0a 2e bf\ +b8 98 aa c3 5a e4 0f 26 fc e5 56 3c 2f 9f 24 f3\ +04 2a f7 6f 3c 70 72 d6 87 bb fb 95 9a 88 46 0a\ +f1 +Test: Verify +Comment: RSASSA-PSS Signature Example 7.4 +Message: \ +f3 37 b9 ba d9 37 de 22 a1 a0 52 df f1 11 34 a8\ +ce 26 97 62 02 98 19 39 b9 1e 07 15 ae 5e 60 96\ +49 da 1a df ce f3 f4 cc a5 9b 23 83 60 e7 d1 e4\ +96 c7 bf 4b 20 4b 5a cf f9 bb d6 16 6a 1d 87 a3\ +6e f2 24 73 73 75 10 39 f8 a8 00 b8 39 98 07 b3\ +a8 5f 44 89 34 97 c0 d0 5f b7 01 7b 82 22 81 52\ +de 6f 25 e6 11 6d cc 75 03 c7 86 c8 75 c2 8f 3a\ +a6 07 e9 4a b0 f1 98 63 ab 1b 50 73 77 0b 0c d5\ +f5 33 ac de 30 c6 fb 95 3c f3 da 68 02 64 e3 0f\ +c1 1b ff 9a 19 bf fa b4 77 9b 62 23 c3 fb 3f e0\ +f7 1a ba de 4e b7 c0 9c 41 e2 4c 22 d2 3f a1 48\ +e6 a1 73 fe b6 39 84 d1 bc 6e e3 a0 2d 91 5b 75\ +2c ea f9 2a 30 15 ec eb 38 ca 58 6c 68 01 b3 7c\ +34 ce fb 2c ff 25 ea 23 c0 86 62 dc ab 26 a7 a9\ +3a 28 5d 05 d3 04 4c +Salt: \ +a7 78 21 eb bb ef 24 62 8e 4e 12 e1 d0 ea 96 de\ +39 8f 7b 0f +Signature: \ +32 c7 ca 38 ff 26 94 9a 15 00 0c 4b a0 4b 2b 13\ +b3 5a 38 10 e5 68 18 4d 7e ca ba a1 66 b7 ff ab\ +dd f2 b6 cf 4b a0 71 24 92 37 90 f2 e5 b1 a5 be\ +04 0a ea 36 fe 13 2e c1 30 e1 f1 05 67 98 2d 17\ +ac 3e 89 b8 d2 6c 30 94 03 4e 76 2d 2e 03 12 64\ +f0 11 70 be ec b3 d1 43 9e 05 84 6f 25 45 83 67\ +a7 d9 c0 20 60 44 46 72 67 1e 64 e8 77 86 45 59\ +ca 19 b2 07 4d 58 8a 28 1b 58 04 d2 37 72 fb be\ +19 +Test: Verify +Comment: RSASSA-PSS Signature Example 7.5 +Message: \ +45 01 3c eb af d9 60 b2 55 47 6a 8e 25 98 b9 aa\ +32 ef be 6d c1 f3 4f 4a 49 8d 8c f5 a2 b4 54 8d\ +08 c5 5d 5f 95 f7 bc c9 61 91 63 05 6f 2d 58 b5\ +2f a0 32 +Salt: \ +9d 5a d8 eb 45 21 34 b6 5d c3 a9 8b 6a 73 b5 f7\ +41 60 9c d6 +Signature: \ +07 eb 65 1d 75 f1 b5 2b c2 63 b2 e1 98 33 6e 99\ +fb eb c4 f3 32 04 9a 92 2a 10 81 56 07 ee 2d 98\ +9d b3 a4 49 5b 7d cc d3 8f 58 a2 11 fb 7e 19 31\ +71 a3 d8 91 13 24 37 eb ca 44 f3 18 b2 80 50 9e\ +52 b5 fa 98 fc ce 82 05 d9 69 7c 8e e4 b7 ff 59\ +d4 c5 9c 79 03 8a 19 70 bd 2a 0d 45 1e cd c5 ef\ +11 d9 97 9c 9d 35 f8 c7 0a 61 63 71 76 07 89 0d\ +58 6a 7c 6d c0 1c 79 f8 6a 8f 28 e8 52 35 f8 c2\ +f1 +Test: Verify +Comment: RSASSA-PSS Signature Example 7.6 +Message: \ +23 58 09 70 86 c8 99 32 3e 75 d9 c9 0d 0c 09 f1\ +2d 9d 54 ed fb df 70 a9 c2 eb 5a 04 d8 f3 6b 9b\ +2b df 2a ab e0 a5 bd a1 96 89 37 f9 d6 eb d3 b6\ +b2 57 ef b3 13 6d 41 31 f9 ac b5 9b 85 e2 60 2c\ +2a 3f cd c8 35 49 4a 1f 4e 5e c1 8b 22 6c 80 23\ +2b 36 a7 5a 45 fd f0 9a 7e a9 e9 8e fb de 14 50\ +d1 19 4b f1 2e 15 a4 c5 f9 eb 5c 0b ce 52 69 e0\ +c3 b2 8c fa b6 55 d8 1a 61 a2 0b 4b e2 f5 44 59\ +bb 25 a0 db 94 c5 22 18 be 10 9a 74 26 de 83 01\ +44 24 78 9a aa 90 e5 05 6e 63 2a 69 81 15 e2 82\ +c1 a5 64 10 f2 6c 20 72 f1 93 48 1a 9d cd 88 05\ +72 00 5e 64 f4 08 2e cf +Salt: \ +3f 2e fc 59 58 80 a7 d4 7f cf 3c ba 04 98 3e a5\ +4c 4b 73 fb +Signature: \ +18 da 3c dc fe 79 bf b7 7f d9 c3 2f 37 7a d3 99\ +14 6f 0a 8e 81 06 20 23 32 71 a6 e3 ed 32 48 90\ +3f 5c dc 92 dc 79 b5 5d 3e 11 61 5a a0 56 a7 95\ +85 37 92 a3 99 8c 34 9c a5 c4 57 e8 ca 7d 29 d7\ +96 aa 24 f8 34 91 70 9b ef cf b1 51 0e a5 13 c9\ +28 29 a3 f0 0b 10 4f 65 56 34 f3 20 75 2e 13 0e\ +c0 cc f6 75 4f f8 93 db 30 29 32 bb 02 5e b6 0e\ +87 82 25 98 fc 61 9e 0e 98 17 37 a9 a4 c4 15 2d\ +33 +Test: Verify +Comment: Example 8: A 1031-bit RSA Key Pair +Modulus: \ +49 53 70 a1 fb 18 54 3c 16 d3 63 1e 31 63 25 5d\ +f6 2b e6 ee e8 90 d5 f2 55 09 e4 f7 78 a8 ea 6f\ +bb bc df 85 df f6 4e 0d 97 20 03 ab 36 81 fb ba\ +6d d4 1f d5 41 82 9b 2e 58 2d e9 f2 a4 a4 e0 a2\ +d0 90 0b ef 47 53 db 3c ee 0e e0 6c 7d fa e8 b1\ +d5 3b 59 53 21 8f 9c ce ea 69 5b 08 66 8e de aa\ +dc ed 94 63 b1 d7 90 d5 eb f2 7e 91 15 b4 6c ad\ +4d 9a 2b 8e fa b0 56 1b 08 10 34 47 39 ad a0 73\ +3f +PublicExponent: \ +01 00 01 +PrivateExponent: \ +6c 66 ff e9 89 80 c3 8f cd ea b5 15 98 98 83 61\ +65 f4 b4 b8 17 c4 f6 a8 d4 86 ee 4e a9 13 0f e9\ +b9 09 2b d1 36 d1 84 f9 5f 50 4a 60 7e ac 56 58\ +46 d2 fd d6 59 7a 89 67 c7 39 6e f9 5a 6e ee bb\ +45 78 a6 43 96 6d ca 4d 8e e3 de 84 2d e6 32 79\ +c6 18 15 9c 1a b5 4a 89 43 7b 6a 61 20 e4 93 0a\ +fb 52 a4 ba 6c ed 8a 49 47 ac 64 b3 0a 34 97 cb\ +e7 01 c2 d6 26 6d 51 72 19 ad 0e c6 d3 47 db e9 +Prime1: \ +08 da d7 f1 13 63 fa a6 23 d5 d6 d5 e8 a3 19 32\ +8d 82 19 0d 71 27 d2 84 6c 43 9b 0a b7 26 19 b0\ +a4 3a 95 32 0e 4e c3 4f c3 a9 ce a8 76 42 23 05\ +bd 76 c5 ba 7b e9 e2 f4 10 c8 06 06 45 a1 d2 9e\ +db +Prime2: \ +08 47 e7 32 37 6f c7 90 0f 89 8e a8 2e b2 b0 fc\ +41 85 65 fd ae 62 f7 d9 ec 4c e2 21 7b 97 99 0d\ +d2 72 db 15 7f 99 f6 3c 0d cb b9 fb ac db d4 c4\ +da db 6d f6 77 56 35 8c a4 17 48 25 b4 8f 49 70\ +6d +ModPrime1PrivateExponent: \ +05 c2 a8 3c 12 4b 36 21 a2 aa 57 ea 2c 3e fe 03\ +5e ff 45 60 f3 3d de bb 7a da b8 1f ce 69 a0 c8\ +c2 ed c1 65 20 dd a8 3d 59 a2 3b e8 67 96 3a c6\ +5f 2c c7 10 bb cf b9 6e e1 03 de b7 71 d1 05 fd\ +85 +ModPrime2PrivateExponent: \ +04 ca e8 aa 0d 9f aa 16 5c 87 b6 82 ec 14 0b 8e\ +d3 b5 0b 24 59 4b 7a 3b 2c 22 0b 36 69 bb 81 9f\ +98 4f 55 31 0a 1a e7 82 36 51 d4 a0 2e 99 44 79\ +72 59 51 39 36 34 34 e5 e3 0a 7e 7d 24 15 51 e1\ +b9 +MultiplicativeInverseOfPrime2ModPrime1: \ +07 d3 e4 7b f6 86 60 0b 11 ac 28 3c e8 8d bb 3f\ +60 51 e8 ef d0 46 80 e4 4c 17 1e f5 31 b8 0b 2b\ +7c 39 fc 76 63 20 e2 cf 15 d8 d9 98 20 e9 6f f3\ +0d c6 96 91 83 9c 4b 40 d7 b0 6e 45 30 7d c9 1f\ +3f +Test: KeyPairValidAndConsistent +Comment: RSASSA-PSS Signature Example 8.1 +Message: \ +81 33 2f 4b e6 29 48 41 5e a1 d8 99 79 2e ea cf\ +6c 6e 1d b1 da 8b e1 3b 5c ea 41 db 2f ed 46 70\ +92 e1 ff 39 89 14 c7 14 25 97 75 f5 95 f8 54 7f\ +73 56 92 a5 75 e6 92 3a f7 8f 22 c6 99 7d db 90\ +fb 6f 72 d7 bb 0d d5 74 4a 31 de cd 3d c3 68 58\ +49 83 6e d3 4a ec 59 63 04 ad 11 84 3c 4f 88 48\ +9f 20 97 35 f5 fb 7f da f7 ce c8 ad dc 58 18 16\ +8f 88 0a cb f4 90 d5 10 05 b7 a8 e8 4e 43 e5 42\ +87 97 75 71 dd 99 ee a4 b1 61 eb 2d f1 f5 10 8f\ +12 a4 14 2a 83 32 2e db 05 a7 54 87 a3 43 5c 9a\ +78 ce 53 ed 93 bc 55 08 57 d7 a9 fb +Salt: \ +1d 65 49 1d 79 c8 64 b3 73 00 9b e6 f6 f2 46 7b\ +ac 4c 78 fa +Signature: \ +02 62 ac 25 4b fa 77 f3 c1 ac a2 2c 51 79 f8 f0\ +40 42 2b 3c 5b af d4 0a 8f 21 cf 0f a5 a6 67 cc\ +d5 99 3d 42 db af b4 09 c5 20 e2 5f ce 2b 1e e1\ +e7 16 57 7f 1e fa 17 f3 da 28 05 2f 40 f0 41 9b\ +23 10 6d 78 45 aa f0 11 25 b6 98 e7 a4 df e9 2d\ +39 67 bb 00 c4 d0 d3 5b a3 55 2a b9 a8 b3 ee f0\ +7c 7f ec db c5 42 4a c4 db 1e 20 cb 37 d0 b2 74\ +47 69 94 0e a9 07 e1 7f bb ca 67 3b 20 52 23 80\ +c5 +Test: Verify +Comment: RSASSA-PSS Signature Example 8.2 +Message: \ +e2 f9 6e af 0e 05 e7 ba 32 6e cc a0 ba 7f d2 f7\ +c0 23 56 f3 ce de 9d 0f aa bf 4f cc 8e 60 a9 73\ +e5 59 5f d9 ea 08 +Salt: \ +43 5c 09 8a a9 90 9e b2 37 7f 12 48 b0 91 b6 89\ +87 ff 18 38 +Signature: \ +27 07 b9 ad 51 15 c5 8c 94 e9 32 e8 ec 0a 28 0f\ +56 33 9e 44 a1 b5 8d 4d dc ff 2f 31 2e 5f 34 dc\ +fe 39 e8 9c 6a 94 dc ee 86 db bd ae 5b 79 ba 4e\ +08 19 a9 e7 bf d9 d9 82 e7 ee 6c 86 ee 68 39 6e\ +8b 3a 14 c9 c8 f3 4b 17 8e b7 41 f9 d3 f1 21 10\ +9b f5 c8 17 2f ad a2 e7 68 f9 ea 14 33 03 2c 00\ +4a 8a a0 7e b9 90 00 0a 48 dc 94 c8 ba c8 aa be\ +2b 09 b1 aa 46 c0 a2 aa 0e 12 f6 3f bb a7 75 ba\ +7e +Test: Verify +Comment: RSASSA-PSS Signature Example 8.3 +Message: \ +e3 5c 6e d9 8f 64 a6 d5 a6 48 fc ab 8a db 16 33\ +1d b3 2e 5d 15 c7 4a 40 ed f9 4c 3d c4 a4 de 79\ +2d 19 08 89 f2 0f 1e 24 ed 12 05 4a 6b 28 79 8f\ +cb 42 d1 c5 48 76 9b 73 4c 96 37 31 42 09 2a ed\ +27 76 03 f4 73 8d f4 dc 14 46 58 6d 0e c6 4d a4\ +fb 60 53 6d b2 ae 17 fc 7e 3c 04 bb fb bb d9 07\ +bf 11 7c 08 63 6f a1 6f 95 f5 1a 62 16 93 4d 3e\ +34 f8 50 30 f1 7b bb c5 ba 69 14 40 58 af f0 81\ +e0 b1 9c f0 3c 17 19 5c 5e 88 8b a5 8f 6f e0 a0\ +2e 5c 3b da 97 19 a7 +Salt: \ +c6 eb be 76 df 0c 4a ea 32 c4 74 17 5b 2f 13 68\ +62 d0 45 29 +Signature: \ +2a d2 05 09 d7 8c f2 6d 1b 6c 40 61 46 08 6e 4b\ +0c 91 a9 1c 2b d1 64 c8 7b 96 6b 8f aa 42 aa 0c\ +a4 46 02 23 23 ba 4b 1a 1b 89 70 6d 7f 4c 3b e5\ +7d 7b 69 70 2d 16 8a b5 95 5e e2 90 35 6b 8c 4a\ +29 ed 46 7d 54 7e c2 3c ba df 28 6c cb 58 63 c6\ +67 9d a4 67 fc 93 24 a1 51 c7 ec 55 aa c6 db 40\ +84 f8 27 26 82 5c fe 1a a4 21 bc 64 04 9f b4 2f\ +23 14 8f 9c 25 b2 dc 30 04 37 c3 8d 42 8a a7 5f\ +96 +Test: Verify +Comment: RSASSA-PSS Signature Example 8.4 +Message: \ +db c5 f7 50 a7 a1 4b e2 b9 3e 83 8d 18 d1 4a 86\ +95 e5 2e 8a dd 9c 0a c7 33 b8 f5 6d 27 47 e5 29\ +a0 cc a5 32 dd 49 b9 02 ae fe d5 14 44 7f 9e 81\ +d1 61 95 c2 85 38 68 cb 9b 30 f7 d0 d4 95 c6 9d\ +01 b5 c5 d5 0b 27 04 5d b3 86 6c 23 24 a4 4a 11\ +0b 17 17 74 6d e4 57 d1 c8 c4 5c 3c d2 a9 29 70\ +c3 d5 96 32 05 5d 4c 98 a4 1d 6e 99 e2 a3 dd d5\ +f7 f9 97 9a b3 cd 18 f3 75 05 d2 51 41 de 2a 1b\ +ff 17 b3 a7 dc e9 41 9e cc 38 5c f1 1d 72 84 0f\ +19 95 3f d0 50 92 51 f6 ca fd e2 89 3d 0e 75 c7\ +81 ba 7a 50 12 ca 40 1a 4f a9 9e 04 b3 c3 24 9f\ +92 6d 5a fe 82 cc 87 da b2 2c 3c 1b 10 5d e4 8e\ +34 ac e9 c9 12 4e 59 59 7a c7 eb f8 +Salt: \ +02 1f dc c6 eb b5 e1 9b 1c b1 6e 9c 67 f2 76 81\ +65 7f e2 0a +Signature: \ +1e 24 e6 e5 86 28 e5 17 50 44 a9 eb 6d 83 7d 48\ +af 12 60 b0 52 0e 87 32 7d e7 89 7e e4 d5 b9 f0\ +df 0b e3 e0 9e d4 de a8 c1 45 4f f3 42 3b b0 8e\ +17 93 24 5a 9d f8 bf 6a b3 96 8c 8e dd c3 b5 32\ +85 71 c7 7f 09 1c c5 78 57 69 12 df eb d1 64 b9\ +de 54 54 fe 0b e1 c1 f6 38 5b 32 83 60 ce 67 ec\ +7a 05 f6 e3 0e b4 5c 17 c4 8a c7 00 41 d2 ca b6\ +7f 0a 2a e7 aa fd cc 8d 24 5e a3 44 2a 63 00 cc\ +c7 +Test: Verify +Comment: RSASSA-PSS Signature Example 8.5 +Message: \ +04 dc 25 1b e7 2e 88 e5 72 34 85 b6 38 3a 63 7e\ +2f ef e0 76 60 c5 19 a5 60 b8 bc 18 bd ed b8 6e\ +ae 23 64 ea 53 ba 9d ca 6e b3 d2 e7 d6 b8 06 af\ +42 b3 e8 7f 29 1b 4a 88 81 d5 bf 57 2c c9 a8 5e\ +19 c8 6a cb 28 f0 98 f9 da 03 83 c5 66 d3 c0 f5\ +8c fd 8f 39 5d cf 60 2e 5c d4 0e 8c 71 83 f7 14\ +99 6e 22 97 ef +Salt: \ +c5 58 d7 16 7c bb 45 08 ad a0 42 97 1e 71 b1 37\ +7e ea 42 69 +Signature: \ +33 34 1b a3 57 6a 13 0a 50 e2 a5 cf 86 79 22 43\ +88 d5 69 3f 5a cc c2 35 ac 95 ad d6 8e 5e b1 ee\ +c3 16 66 d0 ca 7a 1c da 6f 70 a1 aa 76 2c 05 75\ +2a 51 95 0c db 8a f3 c5 37 9f 18 cf e6 b5 bc 55\ +a4 64 82 26 a1 5e 91 2e f1 9a d7 7a de ea 91 1d\ +67 cf ef d6 9b a4 3f a4 11 91 35 ff 64 21 17 ba\ +98 5a 7e 01 00 32 5e 95 19 f1 ca 6a 92 16 bd a0\ +55 b5 78 50 15 29 11 25 e9 0d cd 07 a2 ca 96 73\ +ee +Test: Verify +Comment: RSASSA-PSS Signature Example 8.6 +Message: \ +0e a3 7d f9 a6 fe a4 a8 b6 10 37 3c 24 cf 39 0c\ +20 fa 6e 21 35 c4 00 c8 a3 4f 5c 18 3a 7e 8e a4\ +c9 ae 09 0e d3 17 59 f4 2d c7 77 19 cc a4 00 ec\ +dc c5 17 ac fc 7a c6 90 26 75 b2 ef 30 c5 09 66\ +5f 33 21 48 2f c6 9a 9f b5 70 d1 5e 01 c8 45 d0\ +d8 e5 0d 2a 24 cb f1 cf 0e 71 49 75 a5 db 7b 18\ +d9 e9 e9 cb 91 b5 cb 16 86 90 60 ed 18 b7 b5 62\ +45 50 3f 0c af 90 35 2b 8d e8 1c b5 a1 d9 c6 33\ +60 92 f0 cd +Salt: \ +76 fd 4e 64 fd c9 8e b9 27 a0 40 3e 35 a0 84 e7\ +6b a9 f9 2a +Signature: \ +1e d1 d8 48 fb 1e db 44 12 9b d9 b3 54 79 5a f9\ +7a 06 9a 7a 00 d0 15 10 48 59 3e 0c 72 c3 51 7f\ +f9 ff 2a 41 d0 cb 5a 0a c8 60 d7 36 a1 99 70 4f\ +7c b6 a5 39 86 a8 8b bd 8a bc c0 07 6a 2c e8 47\ +88 00 31 52 5d 44 9d a2 ac 78 35 63 74 c5 36 e3\ +43 fa a7 cb a4 2a 5a aa 65 06 08 77 91 c0 6a 8e\ +98 93 35 ae d1 9b fa b2 d5 e6 7e 27 fb 0c 28 75\ +af 89 6c 21 b6 e8 e7 30 9d 04 e4 f6 72 7e 69 46\ +3e +Test: Verify +Comment: Example 9: A 1536-bit RSA Key Pair +Modulus: \ +e6 bd 69 2a c9 66 45 79 04 03 fd d0 f5 be b8 b9\ +bf 92 ed 10 00 7f c3 65 04 64 19 dd 06 c0 5c 5b\ +5b 2f 48 ec f9 89 e4 ce 26 91 09 97 9c bb 40 b4\ +a0 ad 24 d2 24 83 d1 ee 31 5a d4 cc b1 53 42 68\ +35 26 91 c5 24 f6 dd 8e 6c 29 d2 24 cf 24 69 73\ +ae c8 6c 5b f6 b1 40 1a 85 0d 1b 9a d1 bb 8c bc\ +ec 47 b0 6f 0f 8c 7f 45 d3 fc 8f 31 92 99 c5 43\ +3d db c2 b3 05 3b 47 de d2 ec d4 a4 ca ef d6 14\ +83 3d c8 bb 62 2f 31 7e d0 76 b8 05 7f e8 de 3f\ +84 48 0a d5 e8 3e 4a 61 90 4a 4f 24 8f b3 97 02\ +73 57 e1 d3 0e 46 31 39 81 5c 6f d4 fd 5a c5 b8\ +17 2a 45 23 0e cb 63 18 a0 4f 14 55 d8 4e 5a 8b +PublicExponent: \ +01 00 01 +PrivateExponent: \ +6a 7f d8 4f b8 5f ad 07 3b 34 40 6d b7 4f 8d 61\ +a6 ab c1 21 96 a9 61 dd 79 56 5e 9d a6 e5 18 7b\ +ce 2d 98 02 50 f7 35 95 75 35 92 70 d9 15 90 bb\ +0e 42 7c 71 46 0b 55 d5 14 10 b1 91 bc f3 09 fe\ +a1 31 a9 2c 8e 70 27 38 fa 71 9f 1e 00 41 f5 2e\ +40 e9 1f 22 9f 4d 96 a1 e6 f1 72 e1 55 96 b4 51\ +0a 6d ae c2 61 05 f2 be bc 53 31 6b 87 bd f2 13\ +11 66 60 70 e8 df ee 69 d5 2c 71 a9 76 ca ae 79\ +c7 2b 68 d2 85 80 dc 68 6d 9f 51 29 d2 25 f8 2b\ +3d 61 55 13 a8 82 b3 db 91 41 6b 48 ce 08 88 82\ +13 e3 7e eb 9a f8 00 d8 1c ab 32 8c e4 20 68 99\ +03 c0 0c 7b 5f d3 1b 75 50 3a 6d 41 96 84 d6 29 +Prime1: \ +f8 eb 97 e9 8d f1 26 64 ee fd b7 61 59 6a 69 dd\ +cd 0e 76 da ec e6 ed 4b f5 a1 b5 0a c0 86 f7 92\ +8a 4d 2f 87 26 a7 7e 51 5b 74 da 41 98 8f 22 0b\ +1c c8 7a a1 fc 81 0c e9 9a 82 f2 d1 ce 82 1e dc\ +ed 79 4c 69 41 f4 2c 7a 1a 0b 8c 4d 28 c7 5e c6\ +0b 65 22 79 f6 15 4a 76 2a ed 16 5d 47 de e3 67 +Prime2: \ +ed 4d 71 d0 a6 e2 4b 93 c2 e5 f6 b4 bb e0 5f 5f\ +b0 af a0 42 d2 04 fe 33 78 d3 65 c2 f2 88 b6 a8\ +da d7 ef e4 5d 15 3e ef 40 ca cc 7b 81 ff 93 40\ +02 d1 08 99 4b 94 a5 e4 72 8c d9 c9 63 37 5a e4\ +99 65 bd a5 5c bf 0e fe d8 d6 55 3b 40 27 f2 d8\ +62 08 a6 e6 b4 89 c1 76 12 80 92 d6 29 e4 9d 3d +ModPrime1PrivateExponent: \ +2b b6 8b dd fb 0c 4f 56 c8 55 8b ff af 89 2d 80\ +43 03 78 41 e7 fa 81 cf a6 1a 38 c5 e3 9b 90 1c\ +8e e7 11 22 a5 da 22 27 bd 6c de eb 48 14 52 c1\ +2a d3 d6 1d 5e 4f 77 6a 0a b5 56 59 1b ef e3 e5\ +9e 5a 7f dd b8 34 5e 1f 2f 35 b9 f4 ce e5 7c 32\ +41 4c 08 6a ec 99 3e 93 53 e4 80 d9 ee c6 28 9f +ModPrime2PrivateExponent: \ +4f f8 97 70 9f ad 07 97 46 49 45 78 e7 0f d8 54\ +61 30 ee ab 56 27 c4 9b 08 0f 05 ee 4a d9 f3 e4\ +b7 cb a9 d6 a5 df f1 13 a4 1c 34 09 33 68 33 f1\ +90 81 6d 8a 6b c4 2e 9b ec 56 b7 56 7d 0f 3c 9c\ +69 6d b6 19 b2 45 d9 01 dd 85 6d b7 c8 09 2e 77\ +e9 a1 cc cd 56 ee 4d ba 42 c5 fd b6 1a ec 26 69 +MultiplicativeInverseOfPrime2ModPrime1: \ +77 b9 d1 13 7b 50 40 4a 98 27 29 31 6e fa fc 7d\ +fe 66 d3 4e 5a 18 26 00 d5 f3 0a 0a 85 12 05 1c\ +56 0d 08 1d 4d 0a 18 35 ec 3d 25 a6 0f 4e 4d 6a\ +a9 48 b2 bf 3d bb 5b 12 4c bb c3 48 92 55 a3 a9\ +48 37 2f 69 78 49 67 45 f9 43 e1 db 4f 18 38 2c\ +ea a5 05 df c6 57 57 bb 3f 85 7a 58 dc e5 21 56 +Test: KeyPairValidAndConsistent +Comment: RSASSA-PSS Signature Example 9.1 +Message: \ +a8 8e 26 58 55 e9 d7 ca 36 c6 87 95 f0 b3 1b 59\ +1c d6 58 7c 71 d0 60 a0 b3 f7 f3 ea ef 43 79 59\ +22 02 8b c2 b6 ad 46 7c fc 2d 7f 65 9c 53 85 aa\ +70 ba 36 72 cd de 4c fe 49 70 cc 79 04 60 1b 27\ +88 72 bf 51 32 1c 4a 97 2f 3c 95 57 0f 34 45 d4\ +f5 79 80 e0 f2 0d f5 48 46 e6 a5 2c 66 8f 12 88\ +c0 3f 95 00 6e a3 2f 56 2d 40 d5 2a f9 fe b3 2f\ +0f a0 6d b6 5b 58 8a 23 7b 34 e5 92 d5 5c f9 79\ +f9 03 a6 42 ef 64 d2 ed 54 2a a8 c7 7d c1 dd 76\ +2f 45 a5 93 03 ed 75 e5 41 ca 27 1e 2b 60 ca 70\ +9e 44 fa 06 61 13 1e 8d 5d 41 63 fd 8d 39 85 66\ +ce 26 de 87 30 e7 2f 9c ca 73 76 41 c2 44 15 94\ +20 63 70 28 df 0a 18 07 9d 62 08 ea 8b 47 11 a2\ +c7 50 f5 +Salt: \ +c0 a4 25 31 3d f8 d7 56 4b d2 43 4d 31 15 23 d5\ +25 7e ed 80 +Signature: \ +58 61 07 22 6c 3c e0 13 a7 c8 f0 4d 1a 6a 29 59\ +bb 4b 8e 20 5b a4 3a 27 b5 0f 12 41 11 bc 35 ef\ +58 9b 03 9f 59 32 18 7c b6 96 d7 d9 a3 2c 0c 38\ +30 0a 5c dd a4 83 4b 62 d2 eb 24 0a f3 3f 79 d1\ +3d fb f0 95 bf 59 9e 0d 96 86 94 8c 19 64 74 7b\ +67 e8 9c 9a ba 5c d8 50 16 23 6f 56 6c c5 80 2c\ +b1 3e ad 51 bc 7c a6 be f3 b9 4d cb db b1 d5 70\ +46 97 71 df 0e 00 b1 a8 a0 67 77 47 2d 23 16 27\ +9e da e8 64 74 66 8d 4e 1e ff f9 5f 1d e6 1c 60\ +20 da 32 ae 92 bb f1 65 20 fe f3 cf 4d 88 f6 11\ +21 f2 4b bd 9f e9 1b 59 ca f1 23 5b 2a 93 ff 81\ +fc 40 3a dd f4 eb de a8 49 34 a9 cd af 8e 1a 9e +Test: Verify +Comment: RSASSA-PSS Signature Example 9.2 +Message: \ +c8 c9 c6 af 04 ac da 41 4d 22 7e f2 3e 08 20 c3\ +73 2c 50 0d c8 72 75 e9 5b 0d 09 54 13 99 3c 26\ +58 bc 1d 98 85 81 ba 87 9c 2d 20 1f 14 cb 88 ce\ +d1 53 a0 19 69 a7 bf 0a 7b e7 9c 84 c1 48 6b c1\ +2b 3f a6 c5 98 71 b6 82 7c 8c e2 53 ca 5f ef a8\ +a8 c6 90 bf 32 6e 8e 37 cd b9 6d 90 a8 2e ba b6\ +9f 86 35 0e 18 22 e8 bd 53 6a 2e +Salt: \ +b3 07 c4 3b 48 50 a8 da c2 f1 5f 32 e3 78 39 ef\ +8c 5c 0e 91 +Signature: \ +80 b6 d6 43 25 52 09 f0 a4 56 76 38 97 ac 9e d2\ +59 d4 59 b4 9c 28 87 e5 88 2e cb 44 34 cf d6 6d\ +d7 e1 69 93 75 38 1e 51 cd 7f 55 4f 2c 27 17 04\ +b3 99 d4 2b 4b e2 54 0a 0e ca 61 95 1f 55 26 7f\ +7c 28 78 c1 22 84 2d ad b2 8b 01 bd 5f 8c 02 5f\ +7e 22 84 18 a6 73 c0 3d 6b c0 c7 36 d0 a2 95 46\ +bd 67 f7 86 d9 d6 92 cc ea 77 8d 71 d9 8c 20 63\ +b7 a7 10 92 18 7a 4d 35 af 10 81 11 d8 3e 83 ea\ +e4 6c 46 aa 34 27 7e 06 04 45 89 90 37 88 f1 d5\ +e7 ce e2 5f b4 85 e9 29 49 11 88 14 d6 f2 c3 ee\ +36 14 89 01 6f 32 7f b5 bc 51 7e b5 04 70 bf fa\ +1a fa 5f 4c e9 aa 0c e5 b8 ee 19 bf 55 01 b9 58 +Test: Verify +Comment: RSASSA-PSS Signature Example 9.3 +Message: \ +0a fa d4 2c cd 4f c6 06 54 a5 50 02 d2 28 f5 2a\ +4a 5f e0 3b 8b bb 08 ca 82 da ca 55 8b 44 db e1\ +26 6e 50 c0 e7 45 a3 6d 9d 29 04 e3 40 8a bc d1\ +fd 56 99 94 06 3f 4a 75 cc 72 f2 fe e2 a0 cd 89\ +3a 43 af 1c 5b 8b 48 7d f0 a7 16 10 02 4e 4f 6d\ +df 9f 28 ad 08 13 c1 aa b9 1b cb 3c 90 64 d5 ff\ +74 2d ef fe a6 57 09 41 39 36 9e 5e a6 f4 a9 63\ +19 a5 cc 82 24 14 5b 54 50 62 75 8f ef d1 fe 34\ +09 ae 16 92 59 c6 cd fd 6b 5f 29 58 e3 14 fa ec\ +be 69 d2 ca ce 58 ee 55 17 9a b9 b3 e6 d1 ec c1\ +4a 55 7c 5f eb e9 88 59 52 64 fc 5d a1 c5 71 46\ +2e ca 79 8a 18 a1 a4 94 0c da b4 a3 e9 20 09 cc\ +d4 2e 1e 94 7b 13 14 e3 22 38 a2 de ce 7d 23 a8\ +9b 5b 30 c7 51 fd 0a 4a 43 0d 2c 54 85 94 +Salt: \ +9a 2b 00 7e 80 97 8b bb 19 2c 35 4e b7 da 9a ed\ +fc 74 db f5 +Signature: \ +48 44 08 f3 89 8c d5 f5 34 83 f8 08 19 ef bf 27\ +08 c3 4d 27 a8 b2 a6 fa e8 b3 22 f9 24 02 37 f9\ +81 81 7a ca 18 46 f1 08 4d aa 6d 7c 07 95 f6 e5\ +bf 1a f5 9c 38 e1 85 84 37 ce 1f 7e c4 19 b9 8c\ +87 36 ad f6 dd 9a 00 b1 80 6d 2b d3 ad 0a 73 77\ +5e 05 f5 2d fe f3 a5 9a b4 b0 81 43 f0 df 05 cd\ +1a d9 d0 4b ec ec a6 da a4 a2 12 98 03 e2 00 cb\ +c7 77 87 ca f4 c1 d0 66 3a 6c 59 87 b6 05 95 20\ +19 78 2c af 2e c1 42 6d 68 fb 94 ed 1d 4b e8 16\ +a7 ed 08 1b 77 e6 ab 33 0b 3f fc 07 38 20 fe cd\ +e3 72 7f cb e2 95 ee 61 a0 50 a3 43 65 86 37 c3\ +fd 65 9c fb 63 73 6d e3 2d 9f 90 d3 c2 f6 3e ca +Test: Verify +Comment: RSASSA-PSS Signature Example 9.4 +Message: \ +1d fd 43 b4 6c 93 db 82 62 9b da e2 bd 0a 12 b8\ +82 ea 04 c3 b4 65 f5 cf 93 02 3f 01 05 96 26 db\ +be 99 f2 6b b1 be 94 9d dd d1 6d c7 f3 de bb 19\ +a1 94 62 7f 0b 22 44 34 df 7d 87 00 e9 e9 8b 06\ +e3 60 c1 2f db e3 d1 9f 51 c9 68 4e b9 08 9e cb\ +b0 a2 f0 45 03 99 d3 f5 9e ac 72 94 08 5d 04 4f\ +53 93 c6 ce 73 74 23 d8 b8 6c 41 53 70 d3 89 e3\ +0b 9f 0a 3c 02 d2 5d 00 82 e8 ad 6f 3f 1e f2 4a\ +45 c3 cf 82 b3 83 36 70 63 a4 d4 61 3e 42 64 f0\ +1b 2d ac 2e 5a a4 20 43 f8 fb 5f 69 fa 87 1d 14\ +fb 27 3e 76 7a 53 1c 40 f0 2f 34 3b c2 fb 45 a0\ +c7 e0 f6 be 25 61 92 3a 77 21 1d 66 a6 e2 db b4\ +3c 36 63 50 be ae 22 da 3a c2 c1 f5 07 70 96 fc\ +b5 c4 bf 25 5f 75 74 35 1a e0 b1 e1 f0 36 32 81\ +7c 08 56 d4 a8 ba 97 af bd c8 b8 58 55 40 2b c5\ +69 26 fc ec 20 9f 9e a8 +Salt: \ +70 f3 82 bd df 4d 5d 2d d8 8b 3b c7 b7 30 8b e6\ +32 b8 40 45 +Signature: \ +84 eb eb 48 1b e5 98 45 b4 64 68 ba fb 47 1c 01\ +12 e0 2b 23 5d 84 b5 d9 11 cb d1 92 6e e5 07 4a\ +e0 42 44 95 cb 20 e8 23 08 b8 eb b6 5f 41 9a 03\ +fb 40 e7 2b 78 98 1d 88 aa d1 43 05 36 85 17 2c\ +97 b2 9c 8b 7b f0 ae 73 b5 b2 26 3c 40 3d a0 ed\ +2f 80 ff 74 50 af 78 28 eb 8b 86 f0 02 8b d2 a8\ +b1 76 a4 d2 28 cc ce a1 83 94 f2 38 b0 9f f7 58\ +cc 00 bc 04 30 11 52 35 57 42 f2 82 b5 4e 66 3a\ +91 9e 70 9d 8d a2 4a de 55 00 a7 b9 aa 50 22 6e\ +0c a5 29 23 e6 c2 d8 60 ec 50 ff 48 0f a5 74 77\ +e8 2b 05 65 f4 37 9f 79 c7 72 d5 c2 da 80 af 9f\ +bf 32 5e ce 6f c2 0b 00 96 16 14 be e8 9a 18 3e +Test: Verify +Comment: RSASSA-PSS Signature Example 9.5 +Message: \ +1b dc 6e 7c 98 fb 8c f5 4e 9b 09 7b 66 a8 31 e9\ +cf e5 2d 9d 48 88 44 8e e4 b0 97 80 93 ba 1d 7d\ +73 ae 78 b3 a6 2b a4 ad 95 cd 28 9c cb 9e 00 52\ +26 bb 3d 17 8b cc aa 82 1f b0 44 a4 e2 1e e9 76\ +96 c1 4d 06 78 c9 4c 2d ae 93 b0 ad 73 92 22 18\ +55 3d aa 7e 44 eb e5 77 25 a7 a4 5c c7 2b 9b 21\ +38 a6 b1 7c 8d b4 11 ce 82 79 ee 12 41 af f0 a8\ +be c6 f7 7f 87 ed b0 c6 9c b2 72 36 e3 43 5a 80\ +0b 19 2e 4f 11 e5 19 e3 fe 30 fc 30 ea cc ca 4f\ +bb 41 76 90 29 bf 70 8e 81 7a 9e 68 38 05 be 67\ +fa 10 09 84 68 3b 74 83 8e 3b cf fa 79 36 6e ed\ +1d 48 1c 76 72 91 18 83 8f 31 ba 8a 04 8a 93 c1\ +be 44 24 59 8e 8d f6 32 8b 7a 77 88 0a 3f 9c 7e\ +2e 8d fc a8 eb 5a 26 fb 86 bd c5 56 d4 2b be 01\ +d9 fa 6e d8 06 46 49 1c 93 41 +Salt: \ +d6 89 25 7a 86 ef fa 68 21 2c 5e 0c 61 9e ca 29\ +5f b9 1b 67 +Signature: \ +82 10 2d f8 cb 91 e7 17 99 19 a0 4d 26 d3 35 d6\ +4f bc 2f 87 2c 44 83 39 43 24 1d e8 45 48 10 27\ +4c df 3d b5 f4 2d 42 3d b1 52 af 71 35 f7 01 42\ +0e 39 b4 94 a6 7c bf d1 9f 91 19 da 23 3a 23 da\ +5c 64 39 b5 ba 0d 2b c3 73 ee e3 50 70 01 37 8d\ +4a 40 73 85 6b 7f e2 ab a0 b5 ee 93 b2 7f 4a fe\ +c7 d4 d1 20 92 1c 83 f6 06 76 5b 02 c1 9e 4d 6a\ +1a 3b 95 fa 4c 42 29 51 be 4f 52 13 10 77 ef 17\ +17 97 29 cd df bd b5 69 50 db ac ee fe 78 cb 16\ +64 0a 09 9e a5 6d 24 38 9e ef 10 f8 fe cb 31 ba\ +3e a3 b2 27 c0 a8 66 98 bb 89 e3 e9 36 39 05 bf\ +22 77 7b 2a 3a a5 21 b6 5b 4c ef 76 d8 3b de 4c +Test: Verify +Comment: RSASSA-PSS Signature Example 9.6 +Message: \ +88 c7 a9 f1 36 04 01 d9 0e 53 b1 01 b6 1c 53 25\ +c3 c7 5d b1 b4 11 fb eb 8e 83 0b 75 e9 6b 56 67\ +0a d2 45 40 4e 16 79 35 44 ee 35 4b c6 13 a9 0c\ +c9 84 87 15 a7 3d b5 89 3e 7f 6d 27 98 15 c0 c1\ +de 83 ef 8e 29 56 e3 a5 6e d2 6a 88 8d 7a 9c dc\ +d0 42 f4 b1 6b 7f a5 1e f1 a0 57 36 62 d1 6a 30\ +2d 0e c5 b2 85 d2 e0 3a d9 65 29 c8 7b 3d 37 4d\ +b3 72 d9 5b 24 43 d0 61 b6 b1 a3 50 ba 87 80 7e\ +d0 83 af d1 eb 05 c3 f5 2f 4e ba 5e d2 22 77 14\ +fd b5 0b 9d 9d 9d d6 81 4f 62 f6 27 2f cd 5c db\ +ce 7a 9e f7 97 +Salt: \ +c2 5f 13 bf 67 d0 81 67 1a 04 81 a1 f1 82 0d 61\ +3b ba 22 76 +Signature: \ +a7 fd b0 d2 59 16 5c a2 c8 8d 00 bb f1 02 8a 86\ +7d 33 76 99 d0 61 19 3b 17 a9 64 8e 14 cc bb aa\ +de ac aa cd ec 81 5e 75 71 29 4e bb 8a 11 7a f2\ +05 fa 07 8b 47 b0 71 2c 19 9e 3a d0 51 35 c5 04\ +c2 4b 81 70 51 15 74 08 02 48 79 92 ff d5 11 d4\ +af c6 b8 54 49 1e b3 f0 dd 52 31 39 54 2f f1 5c\ +31 01 ee 85 54 35 17 c6 a3 c7 94 17 c6 7e 2d d9\ +aa 74 1e 9a 29 b0 6d cb 59 3c 23 36 b3 67 0a e3\ +af ba c7 c3 e7 6e 21 54 73 e8 66 e3 38 ca 24 4d\ +e0 0b 62 62 4d 6b 94 26 82 2c ea e9 f8 cc 46 08\ +95 f4 12 50 07 3f d4 5c 5a 1e 7b 42 5c 20 4a 42\ +3a 69 91 59 f6 90 3e 71 0b 37 a7 bb 2b c8 04 9f +Test: Verify +Comment: Example 10: A 2048-bit RSA Key Pair +Modulus: \ +a5 dd 86 7a c4 cb 02 f9 0b 94 57 d4 8c 14 a7 70\ +ef 99 1c 56 c3 9c 0e c6 5f d1 1a fa 89 37 ce a5\ +7b 9b e7 ac 73 b4 5c 00 17 61 5b 82 d6 22 e3 18\ +75 3b 60 27 c0 fd 15 7b e1 2f 80 90 fe e2 a7 ad\ +cd 0e ef 75 9f 88 ba 49 97 c7 a4 2d 58 c9 aa 12\ +cb 99 ae 00 1f e5 21 c1 3b b5 43 14 45 a8 d5 ae\ +4f 5e 4c 7e 94 8a c2 27 d3 60 40 71 f2 0e 57 7e\ +90 5f be b1 5d fa f0 6d 1d e5 ae 62 53 d6 3a 6a\ +21 20 b3 1a 5d a5 da bc 95 50 60 0e 20 f2 7d 37\ +39 e2 62 79 25 fe a3 cc 50 9f 21 df f0 4e 6e ea\ +45 49 c5 40 d6 80 9f f9 30 7e ed e9 1f ff 58 73\ +3d 83 85 a2 37 d6 d3 70 5a 33 e3 91 90 09 92 07\ +0d f7 ad f1 35 7c f7 e3 70 0c e3 66 7d e8 3f 17\ +b8 df 17 78 db 38 1d ce 09 cb 4a d0 58 a5 11 00\ +1a 73 81 98 ee 27 cf 55 a1 3b 75 45 39 90 65 82\ +ec 8b 17 4b d5 8d 5d 1f 3d 76 7c 61 37 21 ae 05 +PublicExponent: \ +01 00 01 +PrivateExponent: \ +2d 2f f5 67 b3 fe 74 e0 61 91 b7 fd ed 6d e1 12\ +29 0c 67 06 92 43 0d 59 69 18 40 47 da 23 4c 96\ +93 de ed 16 73 ed 42 95 39 c9 69 d3 72 c0 4d 6b\ +47 e0 f5 b8 ce e0 84 3e 5c 22 83 5d bd 3b 05 a0\ +99 79 84 ae 60 58 b1 1b c4 90 7c bf 67 ed 84 fa\ +9a e2 52 df b0 d0 cd 49 e6 18 e3 5d fd fe 59 bc\ +a3 dd d6 6c 33 ce bb c7 7a d4 41 aa 69 5e 13 e3\ +24 b5 18 f0 1c 60 f5 a8 5c 99 4a d1 79 f2 a6 b5\ +fb e9 34 02 b1 17 67 be 01 bf 07 34 44 d6 ba 1d\ +d2 bc a5 bd 07 4d 4a 5f ae 35 31 ad 13 03 d8 4b\ +30 d8 97 31 8c bb ba 04 e0 3c 2e 66 de 6d 91 f8\ +2f 96 ea 1d 4b b5 4a 5a ae 10 2d 59 46 57 f5 c9\ +78 95 53 51 2b 29 6d ea 29 d8 02 31 96 35 7e 3e\ +3a 6e 95 8f 39 e3 c2 34 40 38 ea 60 4b 31 ed c6\ +f0 f7 ff 6e 71 81 a5 7c 92 82 6a 26 8f 86 76 8e\ +96 f8 78 56 2f c7 1d 85 d6 9e 44 86 12 f7 04 8f +Prime1: \ +cf d5 02 83 fe ee b9 7f 6f 08 d7 3c bc 7b 38 36\ +f8 2b bc d4 99 47 9f 5e 6f 76 fd fc b8 b3 8c 4f\ +71 dc 9e 88 bd 6a 6f 76 37 1a fd 65 d2 af 18 62\ +b3 2a fb 34 a9 5f 71 b8 b1 32 04 3f fe be 3a 95\ +2b af 75 92 44 81 48 c0 3f 9c 69 b1 d6 8e 4c e5\ +cf 32 c8 6b af 46 fe d3 01 ca 1a b4 03 06 9b 32\ +f4 56 b9 1f 71 89 8a b0 81 cd 8c 42 52 ef 52 71\ +91 5c 97 94 b8 f2 95 85 1d a7 51 0f 99 cb 73 eb +Prime2: \ +cc 4e 90 d2 a1 b3 a0 65 d3 b2 d1 f5 a8 fc e3 1b\ +54 44 75 66 4e ab 56 1d 29 71 b9 9f b7 be f8 44\ +e8 ec 1f 36 0b 8c 2a c8 35 96 92 97 1e a6 a3 8f\ +72 3f cc 21 1f 5d bc b1 77 a0 fd ac 51 64 a1 d4\ +ff 7f bb 4e 82 99 86 35 3c b9 83 65 9a 14 8c dd\ +42 0c 7d 31 ba 38 22 ea 90 a3 2b e4 6c 03 0e 8c\ +17 e1 fa 0a d3 78 59 e0 6b 0a a6 fa 3b 21 6d 9c\ +be 6c 0e 22 33 97 69 c0 a6 15 91 3e 5d a7 19 cf +ModPrime1PrivateExponent: \ +1c 2d 1f c3 2f 6b c4 00 4f d8 5d fd e0 fb bf 9a\ +4c 38 f9 c7 c4 e4 1d ea 1a a8 82 34 a2 01 cd 92\ +f3 b7 da 52 65 83 a9 8a d8 5b b3 60 fb 98 3b 71\ +1e 23 44 9d 56 1d 17 78 d7 a5 15 48 6b cb f4 7b\ +46 c9 e9 e1 a3 a1 f7 70 00 ef be b0 9a 8a fe 47\ +e5 b8 57 cd a9 9c b1 6d 7f ff 9b 71 2e 3b d6 0c\ +a9 6d 9c 79 73 d6 16 d4 69 34 a9 c0 50 28 1c 00\ +43 99 ce ff 1d b7 dd a7 87 66 a8 a9 b9 cb 08 73 +ModPrime2PrivateExponent: \ +cb 3b 3c 04 ca a5 8c 60 be 7d 9b 2d eb b3 e3 96\ +43 f4 f5 73 97 be 08 23 6a 1e 9e af aa 70 65 36\ +e7 1c 3a cf e0 1c c6 51 f2 3c 9e 05 85 8f ee 13\ +bb 6a 8a fc 47 df 4e dc 9a 4b a3 0b ce cb 73 d0\ +15 78 52 32 7e e7 89 01 5c 2e 8d ee 7b 9f 05 a0\ +f3 1a c9 4e b6 17 31 64 74 0c 5c 95 14 7c d5 f3\ +b5 ae 2c b4 a8 37 87 f0 1d 8a b3 1f 27 c2 d0 ee\ +a2 dd 8a 11 ab 90 6a ba 20 7c 43 c6 ee 12 53 31 +MultiplicativeInverseOfPrime2ModPrime1: \ +12 f6 b2 cf 13 74 a7 36 fa d0 56 16 05 0f 96 ab\ +4b 61 d1 17 7c 7f 9d 52 5a 29 f3 d1 80 e7 76 67\ +e9 9d 99 ab f0 52 5d 07 58 66 0f 37 52 65 5b 0f\ +25 b8 df 84 31 d9 a8 ff 77 c1 6c 12 a0 a5 12 2a\ +9f 0b f7 cf d5 a2 66 a3 5c 15 9f 99 12 08 b9 03\ +16 ff 44 4f 3e 0b 6b d0 e9 3b 8a 7a 24 48 e9 57\ +e3 dd a6 cf cf 22 66 b1 06 01 3a c4 68 08 d3 b3\ +88 7b 3b 00 34 4b aa c9 53 0b 4c e7 08 fc 32 b6 +Test: KeyPairValidAndConsistent +Comment: RSASSA-PSS Signature Example 10.1 +Message: \ +88 31 77 e5 12 6b 9b e2 d9 a9 68 03 27 d5 37 0c\ +6f 26 86 1f 58 20 c4 3d a6 7a 3a d6 09 +Salt: \ +04 e2 15 ee 6f f9 34 b9 da 70 d7 73 0c 87 34 ab\ +fc ec de 89 +Signature: \ +82 c2 b1 60 09 3b 8a a3 c0 f7 52 2b 19 f8 73 54\ +06 6c 77 84 7a bf 2a 9f ce 54 2d 0e 84 e9 20 c5\ +af b4 9f fd fd ac e1 65 60 ee 94 a1 36 96 01 14\ +8e ba d7 a0 e1 51 cf 16 33 17 91 a5 72 7d 05 f2\ +1e 74 e7 eb 81 14 40 20 69 35 d7 44 76 5a 15 e7\ +9f 01 5c b6 6c 53 2c 87 a6 a0 59 61 c8 bf ad 74\ +1a 9a 66 57 02 28 94 39 3e 72 23 73 97 96 c0 2a\ +77 45 5d 0f 55 5b 0e c0 1d df 25 9b 62 07 fd 0f\ +d5 76 14 ce f1 a5 57 3b aa ff 4e c0 00 69 95 16\ +59 b8 5f 24 30 0a 25 16 0c a8 52 2d c6 e6 72 7e\ +57 d0 19 d7 e6 36 29 b8 fe 5e 89 e2 5c c1 5b eb\ +3a 64 75 77 55 92 99 28 0b 9b 28 f7 9b 04 09 00\ +0b e2 5b bd 96 40 8b a3 b4 3c c4 86 18 4d d1 c8\ +e6 25 53 fa 1a f4 04 0f 60 66 3d e7 f5 e4 9c 04\ +38 8e 25 7f 1c e8 9c 95 da b4 8a 31 5d 9b 66 b1\ +b7 62 82 33 87 6f f2 38 52 30 d0 70 d0 7e 16 66 +Comment: RSASSA-PSS Signature Example 10.2 +Message: \ +dd 67 0a 01 46 58 68 ad c9 3f 26 13 19 57 a5 0c\ +52 fb 77 7c db aa 30 89 2c 9e 12 36 11 64 ec 13\ +97 9d 43 04 81 18 e4 44 5d b8 7b ee 58 dd 98 7b\ +34 25 d0 20 71 d8 db ae 80 70 8b 03 9d bb 64 db\ +d1 de 56 57 d9 fe d0 c1 18 a5 41 43 74 2e 0f f3\ +c8 7f 74 e4 58 57 64 7a f3 f7 9e b0 a1 4c 9d 75\ +ea 9a 1a 04 b7 cf 47 8a 89 7a 70 8f d9 88 f4 8e\ +80 1e db 0b 70 39 df 8c 23 bb 3c 56 f4 e8 21 ac +Salt: \ +8b 2b dd 4b 40 fa f5 45 c7 78 dd f9 bc 1a 49 cb\ +57 f9 b7 1b +Signature: \ +14 ae 35 d9 dd 06 ba 92 f7 f3 b8 97 97 8a ed 7c\ +d4 bf 5f f0 b5 85 a4 0b d4 6c e1 b4 2c d2 70 30\ +53 bb 90 44 d6 4e 81 3d 8f 96 db 2d d7 00 7d 10\ +11 8f 6f 8f 84 96 09 7a d7 5e 1f f6 92 34 1b 28\ +92 ad 55 a6 33 a1 c5 5e 7f 0a 0a d5 9a 0e 20 3a\ +5b 82 78 ae c5 4d d8 62 2e 28 31 d8 71 74 f8 ca\ +ff 43 ee 6c 46 44 53 45 d8 4a 59 65 9b fb 92 ec\ +d4 c8 18 66 86 95 f3 47 06 f6 68 28 a8 99 59 63\ +7f 2b f3 e3 25 1c 24 bd ba 4d 4b 76 49 da 00 22\ +21 8b 11 9c 84 e7 9a 65 27 ec 5b 8a 5f 86 1c 15\ +99 52 e2 3e c0 5e 1e 71 73 46 fa ef e8 b1 68 68\ +25 bd 2b 26 2f b2 53 10 66 c0 de 09 ac de 2e 42\ +31 69 07 28 b5 d8 5e 11 5a 2f 6b 92 b7 9c 25 ab\ +c9 bd 93 99 ff 8b cf 82 5a 52 ea 1f 56 ea 76 dd\ +26 f4 3b aa fa 18 bf a9 2a 50 4c bd 35 69 9e 26\ +d1 dc c5 a2 88 73 85 f3 c6 32 32 f0 6f 32 44 c3 +Comment: RSASSA-PSS Signature Example 10.3 +Message: \ +48 b2 b6 a5 7a 63 c8 4c ea 85 9d 65 c6 68 28 4b\ +08 d9 6b dc aa be 25 2d b0 e4 a9 6c b1 ba c6 01\ +93 41 db 6f be fb 8d 10 6b 0e 90 ed a6 bc c6 c6\ +26 2f 37 e7 ea 9c 7e 5d 22 6b d7 df 85 ec 5e 71\ +ef ff 2f 54 c5 db 57 7f f7 29 ff 91 b8 42 49 1d\ +e2 74 1d 0c 63 16 07 df 58 6b 90 5b 23 b9 1a f1\ +3d a1 23 04 bf 83 ec a8 a7 3e 87 1f f9 db +Salt: \ +4e 96 fc 1b 39 8f 92 b4 46 71 01 0c 0d c3 ef d6\ +e2 0c 2d 73 +Signature: \ +6e 3e 4d 7b 6b 15 d2 fb 46 01 3b 89 00 aa 5b bb\ +39 39 cf 2c 09 57 17 98 70 42 02 6e e6 2c 74 c5\ +4c ff d5 d7 d5 7e fb bf 95 0a 0f 5c 57 4f a0 9d\ +3f c1 c9 f5 13 b0 5b 4f f5 0d d8 df 7e df a2 01\ +02 85 4c 35 e5 92 18 01 19 a7 0c e5 b0 85 18 2a\ +a0 2d 9e a2 aa 90 d1 df 03 f2 da ae 88 5b a2 f5\ +d0 5a fd ac 97 47 6f 06 b9 3b 5b c9 4a 1a 80 aa\ +91 16 c4 d6 15 f3 33 b0 98 89 2b 25 ff ac e2 66\ +f5 db 5a 5a 3b cc 10 a8 24 ed 55 aa d3 5b 72 78\ +34 fb 8c 07 da 28 fc f4 16 a5 d9 b2 22 4f 1f 8b\ +44 2b 36 f9 1e 45 6f de a2 d7 cf e3 36 72 68 de\ +03 07 a4 c7 4e 92 41 59 ed 33 39 3d 5e 06 55 53\ +1c 77 32 7b 89 82 1b de df 88 01 61 c7 8c d4 19\ +6b 54 19 f7 ac c3 f1 3e 5e bf 16 1b 6e 7c 67 24\ +71 6c a3 3b 85 c2 e2 56 40 19 2a c2 85 96 51 d5\ +0b de 7e b9 76 e5 1c ec 82 8b 98 b6 56 3b 86 bb +Comment: RSASSA-PSS Signature Example 10.4 +Message: \ +0b 87 77 c7 f8 39 ba f0 a6 4b bb db c5 ce 79 75\ +5c 57 a2 05 b8 45 c1 74 e2 d2 e9 05 46 a0 89 c4\ +e6 ec 8a df fa 23 a7 ea 97 ba e6 b6 5d 78 2b 82\ +db 5d 2b 5a 56 d2 2a 29 a0 5e 7c 44 33 e2 b8 2a\ +62 1a bb a9 0a dd 05 ce 39 3f c4 8a 84 05 42 45\ +1a +Salt: \ +c7 cd 69 8d 84 b6 51 28 d8 83 5e 3a 8b 1e b0 e0\ +1c b5 41 ec +Signature: \ +34 04 7f f9 6c 4d c0 dc 90 b2 d4 ff 59 a1 a3 61\ +a4 75 4b 25 5d 2e e0 af 7d 8b f8 7c 9b c9 e7 dd\ +ee de 33 93 4c 63 ca 1c 0e 3d 26 2c b1 45 ef 93\ +2a 1f 2c 0a 99 7a a6 a3 4f 8e ae e7 47 7d 82 cc\ +f0 90 95 a6 b8 ac ad 38 d4 ee c9 fb 7e ab 7a d0\ +2d a1 d1 1d 8e 54 c1 82 5e 55 bf 58 c2 a2 32 34\ +b9 02 be 12 4f 9e 90 38 a8 f6 8f a4 5d ab 72 f6\ +6e 09 45 bf 1d 8b ac c9 04 4c 6f 07 09 8c 9f ce\ +c5 8a 3a ab 10 0c 80 51 78 15 5f 03 0a 12 4c 45\ +0e 5a cb da 47 d0 e4 f1 0b 80 a2 3f 80 3e 77 4d\ +02 3b 00 15 c2 0b 9f 9b be 7c 91 29 63 38 d5 ec\ +b4 71 ca fb 03 20 07 b6 7a 60 be 5f 69 50 4a 9f\ +01 ab b3 cb 46 7b 26 0e 2b ce 86 0b e8 d9 5b f9\ +2c 0c 8e 14 96 ed 1e 52 85 93 a4 ab b6 df 46 2d\ +de 8a 09 68 df fe 46 83 11 68 57 a2 32 f5 eb f6\ +c8 5b e2 38 74 5a d0 f3 8f 76 7a 5f db f4 86 fb +Comment: RSASSA-PSS Signature Example 10.5 +Message: \ +f1 03 6e 00 8e 71 e9 64 da dc 92 19 ed 30 e1 7f\ +06 b4 b6 8a 95 5c 16 b3 12 b1 ed df 02 8b 74 97\ +6b ed 6b 3f 6a 63 d4 e7 78 59 24 3c 9c cc dc 98\ +01 65 23 ab b0 24 83 b3 55 91 c3 3a ad 81 21 3b\ +b7 c7 bb 1a 47 0a ab c1 0d 44 25 6c 4d 45 59 d9\ +16 +Salt: \ +ef a8 bf f9 62 12 b2 f4 a3 f3 71 a1 0d 57 41 52\ +65 5f 5d fb +Signature: \ +7e 09 35 ea 18 f4 d6 c1 d1 7c e8 2e b2 b3 83 6c\ +55 b3 84 58 9c e1 9d fe 74 33 63 ac 99 48 d1 f3\ +46 b7 bf dd fe 92 ef d7 8a db 21 fa ef c8 9a de\ +42 b1 0f 37 40 03 fe 12 2e 67 42 9a 1c b8 cb d1\ +f8 d9 01 45 64 c4 4d 12 01 16 f4 99 0f 1a 6e 38\ +77 4c 19 4b d1 b8 21 32 86 b0 77 b0 49 9d 2e 7b\ +3f 43 4a b1 22 89 c5 56 68 4d ee d7 81 31 93 4b\ +b3 dd 65 37 23 6f 7c 6f 3d cb 09 d4 76 be 07 72\ +1e 37 e1 ce ed 9b 2f 7b 40 68 87 bd 53 15 73 05\ +e1 c8 b4 f8 4d 73 3b c1 e1 86 fe 06 cc 59 b6 ed\ +b8 f4 bd 7f fe fd f4 f7 ba 9c fb 9d 57 06 89 b5\ +a1 a4 10 9a 74 6a 69 08 93 db 37 99 25 5a 0c b9\ +21 5d 2d 1c d4 90 59 0e 95 2e 8c 87 86 aa 00 11\ +26 52 52 47 0c 04 1d fb c3 ee c7 c3 cb f7 1c 24\ +86 9d 11 5c 0c b4 a9 56 f5 6d 53 0b 80 ab 58 9a\ +cf ef c6 90 75 1d df 36 e8 d3 83 f8 3c ed d2 cc +Comment: RSASSA-PSS Signature Example 10.6 +Message: \ +25 f1 08 95 a8 77 16 c1 37 45 0b b9 51 9d fa a1\ +f2 07 fa a9 42 ea 88 ab f7 1e 9c 17 98 00 85 b5\ +55 ae ba b7 62 64 ae 2a 3a b9 3c 2d 12 98 11 91\ +dd ac 6f b5 94 9e b3 6a ee 3c 5d a9 40 f0 07 52\ +c9 16 d9 46 08 fa 7d 97 ba 6a 29 15 b6 88 f2 03\ +23 d4 e9 d9 68 01 d8 9a 72 ab 58 92 dc 21 17 c0\ +74 34 fc f9 72 e0 58 cf 8c 41 ca 4b 4f f5 54 f7\ +d5 06 8a d3 15 5f ce d0 f3 12 5b c0 4f 91 93 37\ +8a 8f 5c 4c 3b 8c b4 dd 6d 1c c6 9d 30 ec ca 6e\ +aa 51 e3 6a 05 73 0e 9e 34 2e 85 5b af 09 9d ef\ +b8 af d7 +Salt: \ +ad 8b 15 23 70 36 46 22 4b 66 0b 55 08 85 91 7c\ +a2 d1 df 28 +Signature: \ +6d 3b 5b 87 f6 7e a6 57 af 21 f7 54 41 97 7d 21\ +80 f9 1b 2c 5f 69 2d e8 29 55 69 6a 68 67 30 d9\ +b9 77 8d 97 07 58 cc b2 60 71 c2 20 9f fb d6 12\ +5b e2 e9 6e a8 1b 67 cb 9b 93 08 23 9f da 17 f7\ +b2 b6 4e cd a0 96 b6 b9 35 64 0a 5a 1c b4 2a 91\ +55 b1 c9 ef 7a 63 3a 02 c5 9f 0d 6e e5 9b 85 2c\ +43 b3 50 29 e7 3c 94 0f f0 41 0e 8f 11 4e ed 46\ +bb d0 fa e1 65 e4 2b e2 52 8a 40 1c 3b 28 fd 81\ +8e f3 23 2d ca 9f 4d 2a 0f 51 66 ec 59 c4 23 96\ +d6 c1 1d bc 12 15 a5 6f a1 71 69 db 95 75 34 3e\ +f3 4f 9d e3 2a 49 cd c3 17 49 22 f2 29 c2 3e 18\ +e4 5d f9 35 31 19 ec 43 19 ce dc e7 a1 7c 64 08\ +8c 1f 6f 52 be 29 63 41 00 b3 91 9d 38 f3 d1 ed\ +94 e6 89 1e 66 a7 3b 8f b8 49 f5 87 4d f5 94 59\ +e2 98 c7 bb ce 2e ee 78 2a 19 5a a6 6f e2 d0 73\ +2b 25 e5 95 f5 7d 3e 06 1b 1f c3 e4 06 3b f9 8f +Test: Verify diff --git a/TestVectors/rw.txt b/TestVectors/rw.txt index 2d932d07..3846c890 100644 --- a/TestVectors/rw.txt +++ b/TestVectors/rw.txt @@ -1,166 +1,166 @@ -AlgorithmType: Signature -Name: RW/EMSA2(SHA-1) -Source: generated by Wei Dai using Crypto++ 5.1 -Comment: 1024-bit RW key -KeyFormat: Component -Modulus: \ - e5eb47bc1f82db3001faaeabc5bbe71b7d307b431889ac10255262281ec5f5af\ - 8a790bd7bbec5efffa442cf2c3fd5ca4778763b9d15aeac0b9b71bdb13da8272\ - 7f4967ac685975f8ff05a763c864d100b7cc1142102aa2dd343ea1a0ab530255\ - 195c3a6400ecab7b27eff9b01ef6d37381fa6fb5401347f195354396772e8285 -Prime1: \ - ef86dd7af3f32cde8a9f6564e43a559a0c9f8bad36cc25330548b347ac158a34\ - 5631fa90f7b873c36effae2f7823227a3f580b5dd18304d5932751e743e9281b -Prime2: \ - f5bb4289c389d9019c36f96c6b81fffbf20be0620c6343e2b800aefb1b55a330\ - 8cc1402da7a2a558579a2a5146b30cb08e3f20b501081248f2f1de36cdfce9df -MultiplicativeInverseOfPrime2ModPrime1: \ - 88813a3d50b7c301948ee1985db19c9fd33a47c78c977024745e10483d9cc4f0\ - f573597ce564a91421d1d7457bc45a971f7d8b31403298da77799b57cf9a76de -PublicExponent: 02 -Test: KeyPairValidAndConsistent -Message: 2CA039854B55688740E3 -Signature: 1AF029CBEC9C692CE5096E73E4E9A52EC9A28D207A5511CCEC7681E5E3D867A4AE2E22DE4909D89196A272F1B50DE6FA3248BCA334D46E0D57171A790B6F4697E7BA7047DB79DECD47BD21995243DEBBF25915DDBC93C45875C14DE953792257C5C6825C905AFF40109C8CC7E793123D47AC1B5B6304A436CFA9BEEC8E0054E7 -Test: Verify -Message: 2A51DF4AF88613D91A37 -Signature: 6FF18F4471E1A8F850C910A181A9F28E69AACD8E8126969605E000A853197541AF9047E5D17315BF062B9CD8DF91196F0343285D9E31D5C72560C156782B6D0E5AF8F06D7DCDD8CABEC01B2438C168C40C21F6A8794648361BD2AEE13573A49ECA07A7EED97C0B9C5B1E508869E4CFD5FE1771924B1CF5A4BFF7D4379E5CD59F -Test: Verify -Message: 1CF8DDD95D780A89D7CF -Signature: 539C266B0313E0E256ED98EEF13E6AE64CED90C160A4999B3D47CBDA5285DAB0E0678C0E079CE9B8EB23E10EDFACFC19A80EEBB8F38ED5B5D6C8A988AB8CEC40A5A5BA102F75586167EAB6D5BF0CE8FF30C656895800F6F1B37D69FBBAF9055F7505DBEB537C0F986A1B5F0270DC12A640FFCB626F9763FDCFEFA1208C104003 -Test: Verify -Message: 2119A954F1AC0F3DCDB2 -Signature: 60C3CCF4F086B15B7F850B445F384333F7AE5A4B5EDE2820C7233239E1B86D6E4B4FCA4F50B087CE1DF17DA5D62672A17F2CF87A2875BBD9B138CAF6863821D6A4D553E9EB64C9254A8F9A6B960E57E39069D65E3F561AA1FA91643D42FEEFB9270D34AB0861DEA1E234EA587F580503D46A1989D413DAC2FFE0FC4CA663CE68 -Test: Verify -Message: F6959926E6D9D37D8BC0 -Signature: 249E1066542618CE0D236A7174708F801E7AB257931E9967A65C483ED66FB58598F99B6664AF0EAE221E2A6B271D7D17875ED02BF7FE35AA0786023858521CB79FEE0D134D9DDA609B0270FC9804BB6BF74AD90AE11EB339353533DC0D5A69E6B8758212B86024ED563767EA5D9B59655E0B8CC21244F720BA4ED663BF668E3A -Test: Verify -Message: 7A4C634DE6F16315BD5F -Signature: 308A5D65224201BED626CC83FB901EC84874EE03B2E7AB4E752EDBDE024C754E3CC9841CA062100A8843DE9183354B4E0596E8C68F1605828287884F0F9BA6968FC7A9F0CA09418A8485B90465E5D3F96CE4995A5FC7A6E5ABD9CC06BB8A2C3C8109F72EAE67FB4C108852C881CA645B3C5586F27F12FF3028ADE56E32AD9434 -Test: Verify -Comment: 1032-bit RW key -KeyFormat: Component -Modulus: \ - b660eb18786256c993ebc6dcb5892eac342f6d91229b73dc5d04f1afb9bb0dd4\ - eb0b48895f514b4c9afeaf86e91226f2299126d37528ce374e89cc312c06f47c\ - 81112bf5ca60ffc33b98318e04a17627269f1af461b6cb40f3be03b0113fb2d8\ - 404e154c7191306b36fd3efa73c784ad9189115d0bb1bd82b850d000e7cc8d20\ - 35 -Prime1: \ - 0bc31c063f43b3ade2cd633d554913339071d6ebed5fd665fc5dd7d47b80721a\ - 976c3b14fbd253f0f988c354725289f2897d7fb62c5c74af7d597a1e22aafba1\ - d3 -Prime2: \ - 0f816bf0add559afda38b008e4087f6a38b575c56fff453056eaaab3381c9552\ - 0969546f954d458d48e44850938b1db471cf4b40afc47e067fb5bce67ba98be8\ - d7 -MultiplicativeInverseOfPrime2ModPrime1: \ - 0b684eeec75b3e24e2d9947341b3f462258628af6f0b881396c887fe26a3408c\ - 40b13370710c82dd4a021a87bbaab5c0fc96cb1d015a783a764a8ab7b002903d\ - 21 -PublicExponent: 02 -Test: KeyPairValidAndConsistent -Message: EF0F1D56F4E5D587C212 -Signature: 3E544FEBB6623F5D392003B729FE2BFC20E2CB3ECAC22734DFCA55150254E616A41C5E54CE3B50FBC2FE2363EE9AF9B15C70615497B0A458F8AB6D850992EEEB56D65F87EA1BD6E2B4B7E40A0F5E1635C7DDB17110C61039CF712D3524C9C2C1F35D9163BE5C70276F46634514BE16EC09602782E88FE74EAEB2F50CBB0E3B5C4A -Test: Verify -Message: 2C9EA313EACF2C5DA43A -Signature: 1FEFF88814BB53E447E1E955AC8F1AF597C15C3866033E337AFBAB8627306F2EC1276621FF2176C89323CE32EA20F6AEC2CC271F1ED749408B2A3E43A23A44D6A3F38DCDDCAB696B239110AA7ECF12C6681B0E97E6FFF1B72F4F6D796BF82B9450AB8B3D28CA9D220BDF84ACCEA1DA5EDA0B470C3A82BBDD77B4C2723297608BD4 -Test: Verify -Message: EC5CC4228C3C70EE8F35 -Signature: 228BAA85062F10DCC9D99A23D340BC4B9E463D8AB86A6781A6D2143564303E2DC78772BF68449BE1E2711A68D5A15CF04A23573FB3870454308F583BBB5F2467069EF1395431E70F91BD56D846DC8DB2E88AB3D26A9770660B87A76D6C3575DE512BAFA8A0B901AD15B7D8E8BE2F176A182D16A9609F19A4298416245873175805 -Test: Verify -Message: D81F0C6F2D3D60EE19FE -Signature: 17EAA0C18178CD45A2B9100997F682E5F02BE09FBE4D8F345033951345CE98C8B3F13F2CA2A950CE7BDCBF83DBB700890E1F0B863D04C3ADB298F546A8F09F4DA4EF0DC6E7317207CB3CF691114E55D9EAA11C53BE55F7C214F62E6B0460DFA60C55B16EB55B29C9DBB908266C1BDBB03AD651EFB91905B142D852DCA0C4E3BBEE -Test: Verify -Message: FEF5EE07C74118DA30B9 -Signature: 2637E16E2599B6EC2F4728C73D3B29F483C2B881F1E1969C426027605EF080E9B17D258D5E1EBC6472A2501E04CF19C144537FCB38A1DA00D948EBD39FA11322D9230B62E2C12AEDB366BD85A2089588A8D52E941FD986D89828A342B83438A960B6FD87E9AD025AD75A692AA9DFEA873A9467B42D84879E85C5D11EFAB347FBED -Test: Verify -Message: 0B9554FFE4F6ADAB2C76 -Signature: 095952F24D9FBEF3A93A932865F4BDBB522CF24EBE153CE4BBB24CF301A1C7B51FE47B94F8F8B211CBC5A926FF6BAF9A6BBF7E15975D2DCCB95EF01AB7E641687870B0D01FC18B6B16FE17D3FC82931FBBCD4FD18C7F9588CEE8491876D72F98F2E7EEA90C12907210D6859053ADC7178B87BF8B4826954D6986FE761E71E1B7EA -Test: Verify -Comment: 1536-bit RW key -KeyFormat: Component -Modulus: \ - 9f8f8ab78ad635c71c9ef0fce9d4a958a9013ed69fcd67c385722668d4357c32\ - 3732c78179eaa17984531ba570aa0721a1e228957b1008010f1a2d6c42e09847\ - 9ffeaff9bbfeb3c8e101f968fc7ac74cfba210f76a6da160e65934d216368763\ - 8f59e414dc6f0448c0b4052c90f7dc565d32acae5da04e3e157dca184aba8362\ - bb28a2da6915d51d65f54fbeee69104a5a1b2304b87230c504b126dcf1c377cf\ - 1777b93be6903b50a44f054ae233b7cc24f950ded467cb8ffbdb17e7b6937605 -Prime1: \ - d0505c510a3b38a139d6d139818b04251d6ca46c2e717cfafbeebcd5fff8ae62\ - de4698e3241784f05e8c86f0f996db77259ebaac6983f092853639f619b75701\ - e562408cc1f5c543cada21fc26af36905b10a0df5b111efd754666bb3db4be63 -Prime2: \ - c41623ccb51e2474eb3dc5c2ef42cfd320a285ef7aefc1d1edcd5f566549cb79\ - 7285f01c89b9f749ca506b717c2a45b708fec2e7d611c5eee6af0a6d61219c7d\ - cab18961e98eea3b7797c61a75aed21d411de4fcf4a009a8238a832dd6e41277 -MultiplicativeInverseOfPrime2ModPrime1: \ - bc1ceeed917217387ead12254cfc183f82c79709499f510ce093d6d28bc1bf2b\ - fabc3d86d64a1c807605bd57f9ec533745d6e359270885c3eb7a36a02dff7137\ - 9bd453bf3fdc282afa2295d5e393f1c2c74edcbd2374c7740e8135ef0b8af258 -PublicExponent: 02 -Test: KeyPairValidAndConsistent -Message: 400AEF79EDBCEA796D71 -Signature: 15EB5A68CBCB0D6313BB2D14436237A716AC3159B059FBC29931933DB802D6925C01BDC6D90DD0DA25980F1C8199AB9CD3FD105A63D13B5C0101A0430455334492038FBE029BF4EE61F8A2F88D2A6D5424DE7C0CC314B5EA4F867B35224D574463BDE78B71904033C1455484865EB80AE1C2A7D1C229CD0A4D49C0F06A26E264AD42ACAA131F8C0C5EA4DC9EB5BD349D1EE12B3F91F4B9F2DABC3BCF0E216D4A34A3541169955BE45289CECE16DA6BC5352FF31D66538F64308D6FBB9C7DDE72 -Test: Verify -Message: 63F64BFAD5B830682F44 -Signature: 1003E58A73B018FF9F0F66D3BE9A8DD9D83097A0EB216AEEAA75B63C150AAE9E8BE2A5DE426D18FBC56865F4C9CA51A9BB6E99B70C59B7995246A1F4327C9E4A69517131DA66DDE98AE5D8355527D1C5E4D83CC7ED7B3B1F404F6FDF731DA615974F0777CD22C1E6FAA3569D1141900734C7F3262FE7B9ED291A934DE81A06EBF258F7159DE842737A32DAEC79EFE211C2739D3F5859CB9A633D2A16D78C347790241925C3E776F04B5D5F1900A7B48645DF16DC6F9E8C990AEFEE22FA1DA496 -Test: Verify -Message: B6AAE87E8D469A16A335 -Signature: 368EE32DDF9D5526E50B1645473DB79CE4B0EF3801F3DF050E8B6B10DFAA600A505FD1C91CAE1CD8CB8FA7BC2F81EDFEE7E74DCF7BDA9ED4FF87C39650E8A473672FD012A6A57C5DC44FFBBDA4A5DECD099A32791CEDC6170C8B367080792713041350D2483B27924822DD886A36EE575A3CD6C097162F758F5628D3EA301050AC848F0ACAEDAB8AD34D436E418AA53618AFAFC3168B7CFA641B1A88C86007FD1EDD8FE1D1A94FCE59B548DA3D8FE313A0A97719E19C857560763EFF1682CC14 -Test: Verify -Message: DB0F126516E3EDFF3D7C -Signature: 42076C3F6976EF4BBEAFEF0B4F7A8198CACE6F73436C59DF212474C94D00B0501C359CAB8950EB8937E8458964C817926A3181EED64EAB3A5274A9B3114406F62A62C51F4EDBEEF3BD948C21578996236D6D477B2701DD5A4818B08F5D4740CD23064798C3406133D0758D51717DB4575117DE887733D1E7170AA0845A81535444A962F2003A46361E8A8A1914DA6732C37334320F155E90E18D9E2A921034BEC81395AF69D61E22FEF90BC4F9127914B536BD2477552166C11F139519129864 -Test: Verify -Message: A58B1E5E98C44A8680BD -Signature: 100B8692C7A09EFB585A63B5D636EABFE9DDFE50D5235B11BDFD818D1810893B327ACC3B78942900C8F7498BDC1D2FB44330ADD3FEBC709046D8028F38AA7DCC768558E7D6469EDA306C0FCAE001C7B01544C80043864761355888C13960DD53BBD7854F2FBB7D9DE021BAD69769418712B6335A8C63143329363C65CB4170AA0C040559136EA9C19A6793024AF77BCF3EE793CAEDF07FD8A8E2C9C29B5F225F399BBA177D070314E319359394DB999D866A48D591EE8C662BA6394E396300FE -Test: Verify -Message: 7AF0498714B0D93AB959 -Signature: 35A959E3717468552590C26FA92009C3866955A1D14405AD33D3FA745D7591521A323BA031070B1FB60A1B6FE0C7198FC14EA41CE62EB6EB060FD073E816C9C85BB6251BF5235567E12951778A61D87F117137C347DE56337FBF9A3360D49330A98248233719FF862F83F772AC887F035820579F406D221191F4535ABA37401FF6E28216EC06AB8832D9AB3EAE4E1D3D780A1FA46883A79B657A7027597BCE4F21744CFC3704A449A204D3790F668E2EB710D5CF031BAA58359D35DDF92455D7 -Test: Verify -Comment: 2048-bit RW key -KeyFormat: Component -Modulus: \ - b6dee7375bf4385043b3cc2ac5cacbc14ad11a17574738dd2bd84d2d1e6c74e1\ - 6066c2a5c35bc3b87839858afb5ee5e8abfab408f38772866f6f833f39fab248\ - 3a2c34ed55ad7098f9f63d4ec70b7950f02daaaab10781a0008f993c4027e381\ - 6bfd45c52f59452a7b28873513dce415a84fc8bc06601567f91ec41647da2304\ - 5b6e01e24516724acc02947ad5aa2dba4d952bc4f49d18ada0b0f7cc5d488814\ - b921c0bc2b33d8828d80130df7d79b0992cec40d3bc7217d4a4dff3699345e44\ - dac968575194845aa7b60dcf3c712d9b0a384824c3579b40dba265457d50f69f\ - 02a140884d89b7fdee9f0a787e76a37c58c92cf2d3818c72097d41b3faa7aa95 -Prime1: \ - fa880a456f9c205a26e02c3357536531dec150be0ef8747f69ea30d987ff7dd8\ - 9e9a1075ebd39f04fa495bd26d8408a8de69113a9fbb52f20713d1d046a76b47\ - 8cf77c46454a7afda2ef418f63faf67c947d898bca109f3275999e8f2e60e2c0\ - eec133ff69e71a2d396632670b52d8ea03f7589d8144ab580b1d3e60efa1280b -Prime2: \ - badcc718dd2d761c4893c4831d56ada30fc5c7c148d473bedf7615b7e821b92f\ - 319676ce278349f1309fb3d264c1a22bde71b221354c7a4d31117b3ec3c9d480\ - 2e0a26bd8ec05d28b6502c65f35c687af7f8396b963ed029a2c5ae38dd7c5c96\ - 2a953c113c0f590957ab19a6e2afda6db84f22c0c31ae243debd2920fbe9fbdf -MultiplicativeInverseOfPrime2ModPrime1: \ - 48a56f93e044a8211861da6bde9ab61265c63e168e507b56cd6e6e5f4de57c2f\ - 5c0b626462d6c06790cf561fa12a350dc0c08767f2717914183fac90db36495a\ - 91c0e9c0fbcfef19c85075b3b744fc378a9f2045cd7fd144ecd39bd1a59f1483\ - 10f6982efb3ffe502b279c4c0cb2a7f9ef64ca8f38690c486afb5f659cf7f838 -PublicExponent: 02 -Test: KeyPairValidAndConsistent -Message: 00AA5515CDAE5CD0F0DC -Signature: 30EECA6B48D796552F5A6A3C11F28D730FA077422CAAB34FDEB879AE0F71DF21330E2F3BE5BF3A8CA372EBCD3DFA7C81B3398C31B0972D0B857926CB39732351AACEB8276D52B9D82F9C245FA0F1CF49E785A2BC00FF27FBCF777F84D05BEF17FCC0505820B029AC8F0CE17D2469372CE47E1428BB941004FE170EF87163E07298EFFCC1BFA7E7CB1F572C340CAA075A5962A15B69CE937BC7EFB492F501FC88CBF0119C351C8498782091EF6EFB19120195E5FF51DF86F90E90FAEB225AA2EE43AB4E8358101C0348C7E3859B9DEBA19464C74B74AC48A0B73FC8D2E7F8033E86208F0792B6E5B6DE36C99DEF604949811D1671EF6B0A4781B4E7A0A72AD855 -Test: Verify -Message: B8E2FB9EAE22FB2C0021 -Signature: 416D33F8C213CF81F805F54FC1D4E7C6A588A0965F1C9CAEEA1D41452E20935AAF2D30F957584B56621035430212A428E27A2F687CA9DBB596C19864AE692EF7BBA730F3D70CC2DDE15AB71E1E350C0C316EFA1A831ACD1441598B112482487DF72F58ED318182C7CD0906FE39C5655BF1313F29A15D60A6178CBF600C7FBFF8994840ED649C3C4026A463B3EA39C692B7D112B128BE49E1E32D4A7FF8D4513283D8DCD9CCB8FB7300BE0BDD4C44DAA2F7049B3AD83437093E623442AC69B48911CDA21E95E0775041F67F6E6AE01DCE646AEC20908E7C1B693600FE41ABA85AC0C778641E46C419083E41773C749DB3E1BD8FD764E271860D2D7F8E11BD6AB3 -Test: Verify -Message: 8C8C306A629373BAE647 -Signature: 0E9A00045FFD399D9DA9D0D7E543CF9FFD098BC23E72DD7763A64F22C7F0479CE866E31438B8F7DE31A18F35AF419BED6C67BE1540614D3310DD24F019E14FCC3AF73743F4C143D4B79CDF35C752A300F0A8251CCFF4AAF18785C533A7DF1A20AFE6770DEBD1B8BA2C83B2E345A04F833CD173E998FF9840C2F8A370FFDCFF5FD95CBD71B25FC9972192470FD145975344F64C2F6D68CB3513F48F9FC070021BEE8F6A4282D098C44DF655CE415E89B97994AE3ABE85986C7EE0AC348EF2A4F52D102EA80836E77E81AD3678803E53C83CF2F30D2D4950FB6B038CCB3F2690A9381EB34D6C09E88C090AB05E28047DC490EB8A1282FEB38E82FB0B18309284C4 -Test: Verify -Message: 15E7B7B7ED0F176B6799 -Signature: 39FF4B5FA50AE498F3C91A655E6865840D1FC401EE02DBC8460A59DEB8816E6680F712B7BAF8D4DC11A3B54BF906BE698306F0449BB43F3F223B944D930A1A3C718E8A9E2EEDEC5A07AB817C26A80CC2A2EE2846A597EAB8A999D38DB98490166F2574524038BBDF24B4E4622C843210C6B94987638C6976562EA9727385B152614C18349BD54AD95DE33D5354954B505E5259CCDA47E3CECEF3154F6E5481E536BAB568146A0BFCB66573714A7BA7ABE0385115720687F33D9C6EF6BB60272F1272CF349990E3A2FBCCE180B730792101089B164AE5A001F5263F7493AF148D6E0953E311AD12E4202D35F96DD30885663B5101F9B05675FCD2FCC4FCC4DDFF -Test: Verify -Message: B36724C92954C38D0288 -Signature: 3C8CD3614555568BBECA99174B7B203D0BC6FABE9E6FFE0C41EB4D9A2C601D2393CA1E01B7D7E99337758AC914C9F151311E5AE6708DAF1D8C825DA471652C6E13A8FE5802D7AE097BFC899A4EC8CA235B5982B9058C53AAD52823ACF692290EB8823C126635AB0BBF101C2B3149AB16183FA2DBB049DDB99C5E83723E4D4693CA3A08588AA868C677D42ABDAA6586EF192391D276C5E5AF0763ACCA6293F06250C51FDC2AD369CD44EB5F654E98761C881DDEC08E795FFB229B20522349B0714059E18B7B23A48875EAB12ED3F0A011D3A985DD7384B0046F39FA6C1A331F3D4C5125100BA58666935C68A7A10849D9C74850BAB82AE15EC950A283F3E7DAD8 -Test: Verify -Message: FA95400C2B14E064F76A -Signature: 3F67F9DBEB88E6AD057BEDC3D97030555A908867EC578A6CA572137CB61C21036AADE6DDC5592EC7CCB6B263E51B4C886A51904C858040E493D64B9ACE5BAA50C4A66D04ACCDFE0039D8541C4363DEFFCF93BDF5F5CC1FB64855D956B5EFD42D4C9B96B9CBAA97A32F02AAB307674E53404E6836DB5C96B59572ADBFD1113B87608ACE6D0898CB02E35575CC28D38A9FF8C1C4AD36BAA991DEFAB533F0A6C9C2F0F0815F1D659ED576E5DB18494A54B6817D9E34A134F3B9A0F1E8C77FC204B6EE087C0445A7036C935117E338D092F6E1FF4DF7605525C409456A5195233A176B29B2FD8FB2808D0412FCA0541B2BB6800BD8BB9DC9DC25230166071E8D961E -Test: Verify +AlgorithmType: Signature +Name: RW/EMSA2(SHA-1) +Source: generated by Wei Dai using Crypto++ 5.1 +Comment: 1024-bit RW key +KeyFormat: Component +Modulus: \ + e5eb47bc1f82db3001faaeabc5bbe71b7d307b431889ac10255262281ec5f5af\ + 8a790bd7bbec5efffa442cf2c3fd5ca4778763b9d15aeac0b9b71bdb13da8272\ + 7f4967ac685975f8ff05a763c864d100b7cc1142102aa2dd343ea1a0ab530255\ + 195c3a6400ecab7b27eff9b01ef6d37381fa6fb5401347f195354396772e8285 +Prime1: \ + ef86dd7af3f32cde8a9f6564e43a559a0c9f8bad36cc25330548b347ac158a34\ + 5631fa90f7b873c36effae2f7823227a3f580b5dd18304d5932751e743e9281b +Prime2: \ + f5bb4289c389d9019c36f96c6b81fffbf20be0620c6343e2b800aefb1b55a330\ + 8cc1402da7a2a558579a2a5146b30cb08e3f20b501081248f2f1de36cdfce9df +MultiplicativeInverseOfPrime2ModPrime1: \ + 88813a3d50b7c301948ee1985db19c9fd33a47c78c977024745e10483d9cc4f0\ + f573597ce564a91421d1d7457bc45a971f7d8b31403298da77799b57cf9a76de +PublicExponent: 02 +Test: KeyPairValidAndConsistent +Message: 2CA039854B55688740E3 +Signature: 1AF029CBEC9C692CE5096E73E4E9A52EC9A28D207A5511CCEC7681E5E3D867A4AE2E22DE4909D89196A272F1B50DE6FA3248BCA334D46E0D57171A790B6F4697E7BA7047DB79DECD47BD21995243DEBBF25915DDBC93C45875C14DE953792257C5C6825C905AFF40109C8CC7E793123D47AC1B5B6304A436CFA9BEEC8E0054E7 +Test: Verify +Message: 2A51DF4AF88613D91A37 +Signature: 6FF18F4471E1A8F850C910A181A9F28E69AACD8E8126969605E000A853197541AF9047E5D17315BF062B9CD8DF91196F0343285D9E31D5C72560C156782B6D0E5AF8F06D7DCDD8CABEC01B2438C168C40C21F6A8794648361BD2AEE13573A49ECA07A7EED97C0B9C5B1E508869E4CFD5FE1771924B1CF5A4BFF7D4379E5CD59F +Test: Verify +Message: 1CF8DDD95D780A89D7CF +Signature: 539C266B0313E0E256ED98EEF13E6AE64CED90C160A4999B3D47CBDA5285DAB0E0678C0E079CE9B8EB23E10EDFACFC19A80EEBB8F38ED5B5D6C8A988AB8CEC40A5A5BA102F75586167EAB6D5BF0CE8FF30C656895800F6F1B37D69FBBAF9055F7505DBEB537C0F986A1B5F0270DC12A640FFCB626F9763FDCFEFA1208C104003 +Test: Verify +Message: 2119A954F1AC0F3DCDB2 +Signature: 60C3CCF4F086B15B7F850B445F384333F7AE5A4B5EDE2820C7233239E1B86D6E4B4FCA4F50B087CE1DF17DA5D62672A17F2CF87A2875BBD9B138CAF6863821D6A4D553E9EB64C9254A8F9A6B960E57E39069D65E3F561AA1FA91643D42FEEFB9270D34AB0861DEA1E234EA587F580503D46A1989D413DAC2FFE0FC4CA663CE68 +Test: Verify +Message: F6959926E6D9D37D8BC0 +Signature: 249E1066542618CE0D236A7174708F801E7AB257931E9967A65C483ED66FB58598F99B6664AF0EAE221E2A6B271D7D17875ED02BF7FE35AA0786023858521CB79FEE0D134D9DDA609B0270FC9804BB6BF74AD90AE11EB339353533DC0D5A69E6B8758212B86024ED563767EA5D9B59655E0B8CC21244F720BA4ED663BF668E3A +Test: Verify +Message: 7A4C634DE6F16315BD5F +Signature: 308A5D65224201BED626CC83FB901EC84874EE03B2E7AB4E752EDBDE024C754E3CC9841CA062100A8843DE9183354B4E0596E8C68F1605828287884F0F9BA6968FC7A9F0CA09418A8485B90465E5D3F96CE4995A5FC7A6E5ABD9CC06BB8A2C3C8109F72EAE67FB4C108852C881CA645B3C5586F27F12FF3028ADE56E32AD9434 +Test: Verify +Comment: 1032-bit RW key +KeyFormat: Component +Modulus: \ + b660eb18786256c993ebc6dcb5892eac342f6d91229b73dc5d04f1afb9bb0dd4\ + eb0b48895f514b4c9afeaf86e91226f2299126d37528ce374e89cc312c06f47c\ + 81112bf5ca60ffc33b98318e04a17627269f1af461b6cb40f3be03b0113fb2d8\ + 404e154c7191306b36fd3efa73c784ad9189115d0bb1bd82b850d000e7cc8d20\ + 35 +Prime1: \ + 0bc31c063f43b3ade2cd633d554913339071d6ebed5fd665fc5dd7d47b80721a\ + 976c3b14fbd253f0f988c354725289f2897d7fb62c5c74af7d597a1e22aafba1\ + d3 +Prime2: \ + 0f816bf0add559afda38b008e4087f6a38b575c56fff453056eaaab3381c9552\ + 0969546f954d458d48e44850938b1db471cf4b40afc47e067fb5bce67ba98be8\ + d7 +MultiplicativeInverseOfPrime2ModPrime1: \ + 0b684eeec75b3e24e2d9947341b3f462258628af6f0b881396c887fe26a3408c\ + 40b13370710c82dd4a021a87bbaab5c0fc96cb1d015a783a764a8ab7b002903d\ + 21 +PublicExponent: 02 +Test: KeyPairValidAndConsistent +Message: EF0F1D56F4E5D587C212 +Signature: 3E544FEBB6623F5D392003B729FE2BFC20E2CB3ECAC22734DFCA55150254E616A41C5E54CE3B50FBC2FE2363EE9AF9B15C70615497B0A458F8AB6D850992EEEB56D65F87EA1BD6E2B4B7E40A0F5E1635C7DDB17110C61039CF712D3524C9C2C1F35D9163BE5C70276F46634514BE16EC09602782E88FE74EAEB2F50CBB0E3B5C4A +Test: Verify +Message: 2C9EA313EACF2C5DA43A +Signature: 1FEFF88814BB53E447E1E955AC8F1AF597C15C3866033E337AFBAB8627306F2EC1276621FF2176C89323CE32EA20F6AEC2CC271F1ED749408B2A3E43A23A44D6A3F38DCDDCAB696B239110AA7ECF12C6681B0E97E6FFF1B72F4F6D796BF82B9450AB8B3D28CA9D220BDF84ACCEA1DA5EDA0B470C3A82BBDD77B4C2723297608BD4 +Test: Verify +Message: EC5CC4228C3C70EE8F35 +Signature: 228BAA85062F10DCC9D99A23D340BC4B9E463D8AB86A6781A6D2143564303E2DC78772BF68449BE1E2711A68D5A15CF04A23573FB3870454308F583BBB5F2467069EF1395431E70F91BD56D846DC8DB2E88AB3D26A9770660B87A76D6C3575DE512BAFA8A0B901AD15B7D8E8BE2F176A182D16A9609F19A4298416245873175805 +Test: Verify +Message: D81F0C6F2D3D60EE19FE +Signature: 17EAA0C18178CD45A2B9100997F682E5F02BE09FBE4D8F345033951345CE98C8B3F13F2CA2A950CE7BDCBF83DBB700890E1F0B863D04C3ADB298F546A8F09F4DA4EF0DC6E7317207CB3CF691114E55D9EAA11C53BE55F7C214F62E6B0460DFA60C55B16EB55B29C9DBB908266C1BDBB03AD651EFB91905B142D852DCA0C4E3BBEE +Test: Verify +Message: FEF5EE07C74118DA30B9 +Signature: 2637E16E2599B6EC2F4728C73D3B29F483C2B881F1E1969C426027605EF080E9B17D258D5E1EBC6472A2501E04CF19C144537FCB38A1DA00D948EBD39FA11322D9230B62E2C12AEDB366BD85A2089588A8D52E941FD986D89828A342B83438A960B6FD87E9AD025AD75A692AA9DFEA873A9467B42D84879E85C5D11EFAB347FBED +Test: Verify +Message: 0B9554FFE4F6ADAB2C76 +Signature: 095952F24D9FBEF3A93A932865F4BDBB522CF24EBE153CE4BBB24CF301A1C7B51FE47B94F8F8B211CBC5A926FF6BAF9A6BBF7E15975D2DCCB95EF01AB7E641687870B0D01FC18B6B16FE17D3FC82931FBBCD4FD18C7F9588CEE8491876D72F98F2E7EEA90C12907210D6859053ADC7178B87BF8B4826954D6986FE761E71E1B7EA +Test: Verify +Comment: 1536-bit RW key +KeyFormat: Component +Modulus: \ + 9f8f8ab78ad635c71c9ef0fce9d4a958a9013ed69fcd67c385722668d4357c32\ + 3732c78179eaa17984531ba570aa0721a1e228957b1008010f1a2d6c42e09847\ + 9ffeaff9bbfeb3c8e101f968fc7ac74cfba210f76a6da160e65934d216368763\ + 8f59e414dc6f0448c0b4052c90f7dc565d32acae5da04e3e157dca184aba8362\ + bb28a2da6915d51d65f54fbeee69104a5a1b2304b87230c504b126dcf1c377cf\ + 1777b93be6903b50a44f054ae233b7cc24f950ded467cb8ffbdb17e7b6937605 +Prime1: \ + d0505c510a3b38a139d6d139818b04251d6ca46c2e717cfafbeebcd5fff8ae62\ + de4698e3241784f05e8c86f0f996db77259ebaac6983f092853639f619b75701\ + e562408cc1f5c543cada21fc26af36905b10a0df5b111efd754666bb3db4be63 +Prime2: \ + c41623ccb51e2474eb3dc5c2ef42cfd320a285ef7aefc1d1edcd5f566549cb79\ + 7285f01c89b9f749ca506b717c2a45b708fec2e7d611c5eee6af0a6d61219c7d\ + cab18961e98eea3b7797c61a75aed21d411de4fcf4a009a8238a832dd6e41277 +MultiplicativeInverseOfPrime2ModPrime1: \ + bc1ceeed917217387ead12254cfc183f82c79709499f510ce093d6d28bc1bf2b\ + fabc3d86d64a1c807605bd57f9ec533745d6e359270885c3eb7a36a02dff7137\ + 9bd453bf3fdc282afa2295d5e393f1c2c74edcbd2374c7740e8135ef0b8af258 +PublicExponent: 02 +Test: KeyPairValidAndConsistent +Message: 400AEF79EDBCEA796D71 +Signature: 15EB5A68CBCB0D6313BB2D14436237A716AC3159B059FBC29931933DB802D6925C01BDC6D90DD0DA25980F1C8199AB9CD3FD105A63D13B5C0101A0430455334492038FBE029BF4EE61F8A2F88D2A6D5424DE7C0CC314B5EA4F867B35224D574463BDE78B71904033C1455484865EB80AE1C2A7D1C229CD0A4D49C0F06A26E264AD42ACAA131F8C0C5EA4DC9EB5BD349D1EE12B3F91F4B9F2DABC3BCF0E216D4A34A3541169955BE45289CECE16DA6BC5352FF31D66538F64308D6FBB9C7DDE72 +Test: Verify +Message: 63F64BFAD5B830682F44 +Signature: 1003E58A73B018FF9F0F66D3BE9A8DD9D83097A0EB216AEEAA75B63C150AAE9E8BE2A5DE426D18FBC56865F4C9CA51A9BB6E99B70C59B7995246A1F4327C9E4A69517131DA66DDE98AE5D8355527D1C5E4D83CC7ED7B3B1F404F6FDF731DA615974F0777CD22C1E6FAA3569D1141900734C7F3262FE7B9ED291A934DE81A06EBF258F7159DE842737A32DAEC79EFE211C2739D3F5859CB9A633D2A16D78C347790241925C3E776F04B5D5F1900A7B48645DF16DC6F9E8C990AEFEE22FA1DA496 +Test: Verify +Message: B6AAE87E8D469A16A335 +Signature: 368EE32DDF9D5526E50B1645473DB79CE4B0EF3801F3DF050E8B6B10DFAA600A505FD1C91CAE1CD8CB8FA7BC2F81EDFEE7E74DCF7BDA9ED4FF87C39650E8A473672FD012A6A57C5DC44FFBBDA4A5DECD099A32791CEDC6170C8B367080792713041350D2483B27924822DD886A36EE575A3CD6C097162F758F5628D3EA301050AC848F0ACAEDAB8AD34D436E418AA53618AFAFC3168B7CFA641B1A88C86007FD1EDD8FE1D1A94FCE59B548DA3D8FE313A0A97719E19C857560763EFF1682CC14 +Test: Verify +Message: DB0F126516E3EDFF3D7C +Signature: 42076C3F6976EF4BBEAFEF0B4F7A8198CACE6F73436C59DF212474C94D00B0501C359CAB8950EB8937E8458964C817926A3181EED64EAB3A5274A9B3114406F62A62C51F4EDBEEF3BD948C21578996236D6D477B2701DD5A4818B08F5D4740CD23064798C3406133D0758D51717DB4575117DE887733D1E7170AA0845A81535444A962F2003A46361E8A8A1914DA6732C37334320F155E90E18D9E2A921034BEC81395AF69D61E22FEF90BC4F9127914B536BD2477552166C11F139519129864 +Test: Verify +Message: A58B1E5E98C44A8680BD +Signature: 100B8692C7A09EFB585A63B5D636EABFE9DDFE50D5235B11BDFD818D1810893B327ACC3B78942900C8F7498BDC1D2FB44330ADD3FEBC709046D8028F38AA7DCC768558E7D6469EDA306C0FCAE001C7B01544C80043864761355888C13960DD53BBD7854F2FBB7D9DE021BAD69769418712B6335A8C63143329363C65CB4170AA0C040559136EA9C19A6793024AF77BCF3EE793CAEDF07FD8A8E2C9C29B5F225F399BBA177D070314E319359394DB999D866A48D591EE8C662BA6394E396300FE +Test: Verify +Message: 7AF0498714B0D93AB959 +Signature: 35A959E3717468552590C26FA92009C3866955A1D14405AD33D3FA745D7591521A323BA031070B1FB60A1B6FE0C7198FC14EA41CE62EB6EB060FD073E816C9C85BB6251BF5235567E12951778A61D87F117137C347DE56337FBF9A3360D49330A98248233719FF862F83F772AC887F035820579F406D221191F4535ABA37401FF6E28216EC06AB8832D9AB3EAE4E1D3D780A1FA46883A79B657A7027597BCE4F21744CFC3704A449A204D3790F668E2EB710D5CF031BAA58359D35DDF92455D7 +Test: Verify +Comment: 2048-bit RW key +KeyFormat: Component +Modulus: \ + b6dee7375bf4385043b3cc2ac5cacbc14ad11a17574738dd2bd84d2d1e6c74e1\ + 6066c2a5c35bc3b87839858afb5ee5e8abfab408f38772866f6f833f39fab248\ + 3a2c34ed55ad7098f9f63d4ec70b7950f02daaaab10781a0008f993c4027e381\ + 6bfd45c52f59452a7b28873513dce415a84fc8bc06601567f91ec41647da2304\ + 5b6e01e24516724acc02947ad5aa2dba4d952bc4f49d18ada0b0f7cc5d488814\ + b921c0bc2b33d8828d80130df7d79b0992cec40d3bc7217d4a4dff3699345e44\ + dac968575194845aa7b60dcf3c712d9b0a384824c3579b40dba265457d50f69f\ + 02a140884d89b7fdee9f0a787e76a37c58c92cf2d3818c72097d41b3faa7aa95 +Prime1: \ + fa880a456f9c205a26e02c3357536531dec150be0ef8747f69ea30d987ff7dd8\ + 9e9a1075ebd39f04fa495bd26d8408a8de69113a9fbb52f20713d1d046a76b47\ + 8cf77c46454a7afda2ef418f63faf67c947d898bca109f3275999e8f2e60e2c0\ + eec133ff69e71a2d396632670b52d8ea03f7589d8144ab580b1d3e60efa1280b +Prime2: \ + badcc718dd2d761c4893c4831d56ada30fc5c7c148d473bedf7615b7e821b92f\ + 319676ce278349f1309fb3d264c1a22bde71b221354c7a4d31117b3ec3c9d480\ + 2e0a26bd8ec05d28b6502c65f35c687af7f8396b963ed029a2c5ae38dd7c5c96\ + 2a953c113c0f590957ab19a6e2afda6db84f22c0c31ae243debd2920fbe9fbdf +MultiplicativeInverseOfPrime2ModPrime1: \ + 48a56f93e044a8211861da6bde9ab61265c63e168e507b56cd6e6e5f4de57c2f\ + 5c0b626462d6c06790cf561fa12a350dc0c08767f2717914183fac90db36495a\ + 91c0e9c0fbcfef19c85075b3b744fc378a9f2045cd7fd144ecd39bd1a59f1483\ + 10f6982efb3ffe502b279c4c0cb2a7f9ef64ca8f38690c486afb5f659cf7f838 +PublicExponent: 02 +Test: KeyPairValidAndConsistent +Message: 00AA5515CDAE5CD0F0DC +Signature: 30EECA6B48D796552F5A6A3C11F28D730FA077422CAAB34FDEB879AE0F71DF21330E2F3BE5BF3A8CA372EBCD3DFA7C81B3398C31B0972D0B857926CB39732351AACEB8276D52B9D82F9C245FA0F1CF49E785A2BC00FF27FBCF777F84D05BEF17FCC0505820B029AC8F0CE17D2469372CE47E1428BB941004FE170EF87163E07298EFFCC1BFA7E7CB1F572C340CAA075A5962A15B69CE937BC7EFB492F501FC88CBF0119C351C8498782091EF6EFB19120195E5FF51DF86F90E90FAEB225AA2EE43AB4E8358101C0348C7E3859B9DEBA19464C74B74AC48A0B73FC8D2E7F8033E86208F0792B6E5B6DE36C99DEF604949811D1671EF6B0A4781B4E7A0A72AD855 +Test: Verify +Message: B8E2FB9EAE22FB2C0021 +Signature: 416D33F8C213CF81F805F54FC1D4E7C6A588A0965F1C9CAEEA1D41452E20935AAF2D30F957584B56621035430212A428E27A2F687CA9DBB596C19864AE692EF7BBA730F3D70CC2DDE15AB71E1E350C0C316EFA1A831ACD1441598B112482487DF72F58ED318182C7CD0906FE39C5655BF1313F29A15D60A6178CBF600C7FBFF8994840ED649C3C4026A463B3EA39C692B7D112B128BE49E1E32D4A7FF8D4513283D8DCD9CCB8FB7300BE0BDD4C44DAA2F7049B3AD83437093E623442AC69B48911CDA21E95E0775041F67F6E6AE01DCE646AEC20908E7C1B693600FE41ABA85AC0C778641E46C419083E41773C749DB3E1BD8FD764E271860D2D7F8E11BD6AB3 +Test: Verify +Message: 8C8C306A629373BAE647 +Signature: 0E9A00045FFD399D9DA9D0D7E543CF9FFD098BC23E72DD7763A64F22C7F0479CE866E31438B8F7DE31A18F35AF419BED6C67BE1540614D3310DD24F019E14FCC3AF73743F4C143D4B79CDF35C752A300F0A8251CCFF4AAF18785C533A7DF1A20AFE6770DEBD1B8BA2C83B2E345A04F833CD173E998FF9840C2F8A370FFDCFF5FD95CBD71B25FC9972192470FD145975344F64C2F6D68CB3513F48F9FC070021BEE8F6A4282D098C44DF655CE415E89B97994AE3ABE85986C7EE0AC348EF2A4F52D102EA80836E77E81AD3678803E53C83CF2F30D2D4950FB6B038CCB3F2690A9381EB34D6C09E88C090AB05E28047DC490EB8A1282FEB38E82FB0B18309284C4 +Test: Verify +Message: 15E7B7B7ED0F176B6799 +Signature: 39FF4B5FA50AE498F3C91A655E6865840D1FC401EE02DBC8460A59DEB8816E6680F712B7BAF8D4DC11A3B54BF906BE698306F0449BB43F3F223B944D930A1A3C718E8A9E2EEDEC5A07AB817C26A80CC2A2EE2846A597EAB8A999D38DB98490166F2574524038BBDF24B4E4622C843210C6B94987638C6976562EA9727385B152614C18349BD54AD95DE33D5354954B505E5259CCDA47E3CECEF3154F6E5481E536BAB568146A0BFCB66573714A7BA7ABE0385115720687F33D9C6EF6BB60272F1272CF349990E3A2FBCCE180B730792101089B164AE5A001F5263F7493AF148D6E0953E311AD12E4202D35F96DD30885663B5101F9B05675FCD2FCC4FCC4DDFF +Test: Verify +Message: B36724C92954C38D0288 +Signature: 3C8CD3614555568BBECA99174B7B203D0BC6FABE9E6FFE0C41EB4D9A2C601D2393CA1E01B7D7E99337758AC914C9F151311E5AE6708DAF1D8C825DA471652C6E13A8FE5802D7AE097BFC899A4EC8CA235B5982B9058C53AAD52823ACF692290EB8823C126635AB0BBF101C2B3149AB16183FA2DBB049DDB99C5E83723E4D4693CA3A08588AA868C677D42ABDAA6586EF192391D276C5E5AF0763ACCA6293F06250C51FDC2AD369CD44EB5F654E98761C881DDEC08E795FFB229B20522349B0714059E18B7B23A48875EAB12ED3F0A011D3A985DD7384B0046F39FA6C1A331F3D4C5125100BA58666935C68A7A10849D9C74850BAB82AE15EC950A283F3E7DAD8 +Test: Verify +Message: FA95400C2B14E064F76A +Signature: 3F67F9DBEB88E6AD057BEDC3D97030555A908867EC578A6CA572137CB61C21036AADE6DDC5592EC7CCB6B263E51B4C886A51904C858040E493D64B9ACE5BAA50C4A66D04ACCDFE0039D8541C4363DEFFCF93BDF5F5CC1FB64855D956B5EFD42D4C9B96B9CBAA97A32F02AAB307674E53404E6836DB5C96B59572ADBFD1113B87608ACE6D0898CB02E35575CC28D38A9FF8C1C4AD36BAA991DEFAB533F0A6C9C2F0F0815F1D659ED576E5DB18494A54B6817D9E34A134F3B9A0F1E8C77FC204B6EE087C0445A7036C935117E338D092F6E1FF4DF7605525C409456A5195233A176B29B2FD8FB2808D0412FCA0541B2BB6800BD8BB9DC9DC25230166071E8D961E +Test: Verify diff --git a/TestVectors/salsa.txt b/TestVectors/salsa.txt old mode 100755 new mode 100644 index b00ff961..8f185842 --- a/TestVectors/salsa.txt +++ b/TestVectors/salsa.txt @@ -1,463 +1,463 @@ -AlgorithmType: SymmetricCipher -Name: Salsa20 -Source: http://www.ecrypt.eu.org/stream/svn/viewcvs.cgi/ecrypt/trunk/submissions/salsa20/full/verified.test-vectors?rev=161&view=markup -Comment: Set 1, vector# 0 -Key: 80000000000000000000000000000000 -IV: 0000000000000000 -Plaintext: r16 00000000 -Seek: 0 -Ciphertext: 4DFA5E481DA23EA09A31022050859936DA52FCEE218005164F267CB65F5CFD7F2B4F97E0FF16924A52DF269515110A07F9E460BC65EF95DA58F740B7D1DBB0AA -Test: Encrypt -Seek: 448 -Ciphertext: B375703739DACED4DD4059FD71C3C47FC2F9939670FAD4A46066ADCC6A5645783308B90FFB72BE04A6B147CBE38CC0C3B9267C296A92A7C69873F9F263BE9703 -Test: Encrypt -Seek: 192 -Plaintext: r32 00000000 -Ciphertext: DA9C1581F429E0A00F7D67E23B730676783B262E8EB43A25F55FB90B3E753AEF8C6713EC66C51881111593CCB3E8CB8F8DE124080501EEEB389C4BCB6977CF95\ -7D5789631EB4554400E1E025935DFA7B3E9039D61BDC58A8697D36815BF1985CEFDF7AE112E5BB81E37ECF0616CE7147FC08A93A367E08631F23C03B00A8DA2F -Test: Encrypt -Comment: Set 3, vector#243 -Key: F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112 -IV: 0000000000000000 -Plaintext: r16 00000000 -Seek: 0 -Ciphertext: B4C0AFA503BE7FC29A62058166D56F8F5D27DC246F75B9AD8760C8C39DFD87492D3B76D5D9637F009EADA14458A52DFB09815337E72672681DDDC24633750D83 -Test: Encrypt -Seek: 448 -Ciphertext: 5A5FB5C8F0AFEA471F0318A4A2792F7AA5C67B6D6E0F0DDB79961C34E3A564BA2EECE78D9AFF45E510FEAB1030B102D39DFCECB77F5798F7D2793C0AB09C7A04 -Test: Encrypt -Seek: 192 -Plaintext: r32 00000000 -Ciphertext: DBBA0683DF48C335A9802EEF0252256354C9F763C3FDE19131A6BB7B85040624B1D6CD4BF66D16F7482236C8602A6D58505EEDCCA0B77AED574AB583115124B9\ -F0C5F98BAE05E019764EF6B65E0694A904CB9EC9C10C297B1AB1A6052365BB78E55D3C6CB9F06184BA7D425A92E7E987757FC5D9AFD7082418DD64125CA6F2B6 -Test: Encrypt -Comment: Set 6, vector# 3 -Seek: 0 -Key: 0F62B5085BAE0154A7FA4DA0F34699EC3F92E5388BDE3184D72A7DD02376C91C -IV: 288FF65DC42B92F9 -Plaintext: r131072 00 -CiphertextXorDigest: E00EBCCD70D69152725F9987982178A2E2E139C7BCBE04CA8A0E99E318D9AB76F988C8549F75ADD790BA4F81C176DA653C1A043F11A958E169B6D2319F4EEC1A -Test: EncryptXorDigest -AlgorithmType: SymmetricCipher -Name: Salsa20 -Source: http://www.ecrypt.eu.org/stream/svn/viewcvs.cgi/ecrypt/trunk/submissions/salsa20/reduced/12-rounds/verified.test-vectors?rev=210&view=auto -Comment: Set 1, vector# 0 -Rounds: 12 -Key: 80000000000000000000000000000000 -IV: 0000000000000000 -Plaintext: r64 00 -Seek: 0 -Ciphertext: FC207DBFC76C5E1774961E7A5AAD09069B2225AC1CE0FE7A0CE77003E7E5BDF8B31AF821000813E6C56B8C1771D6EE7039B2FBD0A68E8AD70A3944B677937897 -Test: Encrypt -Seek: 192 -Ciphertext: 4B62A4881FA1AF9560586510D5527ED48A51ECAFA4DECEEBBDDC10E9918D44AB26B10C0A31ED242F146C72940C6E9C3753F641DA84E9F68B4F9E76B6C48CA5AC -Test: Encrypt -Source: http://www.ecrypt.eu.org/stream/svn/viewcvs.cgi/ecrypt/trunk/submissions/salsa20/reduced/8-rounds/verified.test-vectors?rev=210&view=auto -Comment: Set 1, vector# 0 -Rounds: 8 -Key: 80000000000000000000000000000000 -IV: 0000000000000000 -Plaintext: r64 00 -Seek: 0 -Ciphertext: A9C9F888AB552A2D1BBFF9F36BEBEB337A8B4B107C75B63BAE26CB9A235BBA9D784F38BEFC3ADF4CD3E266687EA7B9F09BA650AE81EAC6063AE31FF12218DDC5 -Test: Encrypt -Seek: 192 -Ciphertext: BB5B6BB2CC8B8A0222DCCC1753ED4AEB23377ACCBD5D4C0B69A8A03BB115EF71871BC10559080ACA7C68F0DEF32A80DDBAF497259BB76A3853A7183B51CC4B9F -Test: Encrypt - -AlgorithmType: SymmetricCipher -Name: XSalsa20 -Source: created by Wei Dai using naclcrypto-20090308 -Key: 1b27556473e985d462cd51197a9a46c76009549eac6474f206c4ee0844f68389 -IV: 69696ee955b62b73cd62bda875fc73d68219e0036b7a0b37 -Plaintext: r139 00 -Ciphertext: \ -eea6a7251c1e72916d11c2cb214d3c252539121d8e234e652d651fa4c8cff880\ -309e645a74e9e0a60d8243acd9177ab51a1beb8d5a2f5d700c093c5e55855796\ -25337bd3ab619d615760d8c5b224a85b1d0efe0eb8a7ee163abb0376529fcc09\ -bab506c618e13ce777d82c3ae9d1a6f972d4160287cbfe60bf2130fc0a6ff604\ -9d0a5c8a82f429231f0080 -Key: a6a7251c1e72916d11c2cb214d3c252539121d8e234e652d651fa4c8cff88030 -IV: 9e645a74e9e0a60d8243acd9177ab51a1beb8d5a2f5d700c -Plaintext: 093c5e5585579625337bd3ab619d615760d8c5b224a85b1d0efe0eb8a7ee163abb0376529fcc09bab506c618e13ce777d82c3ae9d1a6f972d4160287cbfe60bf2130fc0a6ff6049d0a5c8a82f429231f008082e845d7e189d37f9ed2b464e6b919e6523a8c1210bd52a02a4c3fe406d3085f5068d1909eeeca6369abc981a42e87fe665583f0ab85ae71f6f84f528e6b397af86f6917d9754b7320dbdc2fea81496f2732f532ac78c4e9c6cfb18f8e9bdf74622eb126141416776971a84f94d156beaf67aecbf2ad412e76e66e8fad7633f5b6d7f3d64b5c6c69ce29003c6024465ae3b89be78e915d88b4b5621d -Ciphertext: b2af688e7d8fc4b508c05cc39dd583d6714322c64d7f3e63147aede2d9534934b04ff6f337b031815cd094bdbc6d7a92077dce709412286822ef0737ee47f6b7ffa22f9d53f11dd2b0a3bb9fc01d9a88f9d53c26e9365c2c3c063bc4840bfc812e4b80463e69d179530b25c158f543191cff993106511aa036043bbc75866ab7e34afc57e2cce4934a5faae6eabe4f221770183dd060467827c27a354159a081275a291f69d946d6fe28ed0b9ce08206cf484925a51b9498dbde178ddd3ae91a8581b91682d860f840782f6eea49dbb9bd721501d2c67122dea3b7283848c5f13e0c0de876bd227a856e4de593a3 -Test: Encrypt -IV: b2af688e7d8fc4b508c05cc39dd583d6714322c64d7f3e63 -Ciphertext: 418078fe843f5984dd3c7975d1ff51af4dceda640999aaa3c28618ae286ca15051cb4d55f9da22a213ef14a2b905b52c99a557854c7f2a6d6ed6f69c1c6649f3fb67b8628468029b3367920c2e1148aa1f3b9c695cb1426f09ce84045842946e0454e41ab1edb32cae4b95669de4e2ccaf00ba86ffeae6a9c5fce4153baddb0d8998a600537a9649939cb7d7a9c4e8cbca0fab77963abd516699879de0b1971dc7328668111ff5b77c253b9e6346d1a2ce6e390cd736156ad7f44b339cfb141f00e7a766c06e130b0c31d88980d2ad8814a2d641599162ab8af25d93067f06a49637eaf6523806b8fa07d56628bb -Test: Resync -Key: 9e1da239d155f52ad37f75c7368a536668b051952923ad44f57e75ab588e475a -IV: af06f17859dffa799891c4288f6635b5c5a45eee9017fd72 -Plaintext: feac9d54fc8c115ae247d9a7e919dd76cfcbc72d32cae4944860817cbdfb8c04e6b1df76a16517cd33ccf1acda9206389e9e318f5966c093cfb3ec2d9ee2de856437ed581f552f26ac2907609df8c613b9e33d44bfc21ff79153e9ef81a9d66cc317857f752cc175fd8891fefebb7d041e6517c3162d197e2112837d3bc4104312ad35b75ea686e7c70d4ec04746b52ff09c421451459fb59f -Ciphertext: 2c261a2f4e61a62e1b27689916bf03453fcbc97bb2af6f329391ef063b5a219bf984d07d70f602d85f6db61474e9d9f5a2deecb4fcd90184d16f3b5b5e168ee03ea8c93f3933a22bc3d1a5ae8c2d8b02757c87c073409052a2a8a41e7f487e041f9a49a0997b540e18621cad3a24f0a56d9b19227929057ab3ba950f6274b121f193e32e06e5388781a1cb57317c0ba6305e910961d01002f0 -Test: Encrypt -IV: 2c261a2f4e61a62e1b27689916bf03453fcbc97bb2af6f32 -Ciphertext: 7030af4a9db8a6b95f55f962efefcc60d8ceb0d5d920e808cebd8cf6f31542d227a67c9db8888cfcb9410ae357f8a3da06a608a93b7fd5513978c6b8b837f6ecaafd3366495cdd3ab719d9d4c2ac74d6ea2eb117f30369ea62727fa6dc7982f668fa3bf44c9da8e70ff8c18b07d63aa01afe1311bdafc457d06c69aaea0dfbb1fc89d1574ad1e7be8b459d4cf36bdd88db0363219652089c50 -Test: Resync -Key: d5c7f6797b7e7e9c1d7fd2610b2abf2bc5a7885fb3ff78092fb3abe8986d35e2 -IV: 744e17312b27969d826444640e9c4a378ae334f185369c95 -Plaintext: 7758298c628eb3a4b6963c5445ef66971222be5d1a4ad839715d1188071739b77cc6e05d5410f963a64167629757 -Ciphertext: 27b8cfe81416a76301fd1eec6a4d99675069b2da2776c360db1bdfea7c0aa613913e10f7a60fec04d11e65f2d64e -Test: Encrypt -IV: 27b8cfe81416a76301fd1eec6a4d99675069b2da2776c360 -Ciphertext: ed158a1dd07f4316d403af3e6977afaac8205d678b38fa5928c61e366ff27003143d5d20482a2ea76a50756225a4 -Test: Resync -Key: 737d7811ce96472efed12258b78122f11deaec8759ccbd71eac6bbefa627785c -IV: 6fb2ee3dda6dbd12f1274f126701ec75c35c86607adb3edd -Plaintext: 501325fb2645264864df11faa17bbd58312b77cad3d94ac8fb8542f0eb653ad73d7fce932bb874cb89ac39fc47f8267cf0f0c209f204b2d8578a3bdf461cb6a271a468bebaccd9685014ccbc9a73618c6a5e778a21cc8416c60ad24ddc417a130d53eda6dfbfe47d09170a7be1a708b7b5f3ad464310be36d9a2a95dc39e83d38667e842eb6411e8a23712297b165f690c2d7ca1b1346e3c1fccf5cafd4f8be0 -Ciphertext: 6724c372d2e9074da5e27a6c54b2d703dc1d4c9b1f8d90f00c122e692ace7700eadca942544507f1375b6581d5a8fb39981c1c0e6e1ff2140b082e9ec016fce141d5199647d43b0b68bfd0fea5e00f468962c7384dd6129aea6a3fdfe75abb210ed5607cef8fa0e152833d5ac37d52e557b91098a322e76a45bbbcf4899e790618aa3f4c2e5e0fc3de93269a577d77a5502e8ea02f717b1dd2df1ec69d8b61ca -Test: Encrypt -IV: 6724c372d2e9074da5e27a6c54b2d703dc1d4c9b1f8d90f0 -Ciphertext: cfb653dd50a04a8580847d5bb98dc15e27c60f5a70da635718ba6d589f47935ed476fc960ffaf3b8750a59171b1434429a977ba878aea7ace8dd083a9238585112591165d0948a86e89e6118d572aa85667cceffd78a60baa5a152dc5e29bdd93f7389edde1541eec2f3aac38ea2bfc812f73de7e2e7b1322468f823a2c7c16e30fe9283894ac057da5c45a67f4988b4edafeb51c1b4a51a849d188b15838552 -Test: Resync -Key: 760158da09f89bbab2c99e6997f9523a95fcef10239bcca2573b7105f6898d34 -IV: 43636b2cc346fc8b7c85a19bf507bdc3dafe953b88c69dba -Plaintext: d30a6d42dff49f0ed039a306bae9dec8d9e88366cc19e8c3642fd58fa0794ebf8029d949730339b0823a51f0f49f0d2c71f1051c1e0e2c86941f172789cdb1b0107413e70f982ff9761877bb526ef1c3eb1106a948d60ef21bd35d32cfd64f89b79ed63ecc5cca56246af736766f285d8e6b0da9cb1cd21020223ffacc5a32 -Ciphertext: c815b6b79b64f9369aec8dce8c753df8a50f2bc97c70ce2f014db33a65ac5816bac9e30ac08bdded308c65cb87e28e2e71b677dc25c5a6499c1553555daf1f55270a56959dffa0c66f24e0af00951ec4bb59ccc3a6c5f52e0981647e53e439313a52c40fa7004c855b6e6eb25b212a138e843a9ba46edb2a039ee82a263abe -Test: Encrypt -IV: c815b6b79b64f9369aec8dce8c753df8a50f2bc97c70ce2f -Ciphertext: ab7204ab4f995c2d87376c3586f0261250907ab2c25e2d232f10f51f0f3a3f11ff704ba188a508301fb9d5f7e4d55070631ecd2e3be5d79d4fa67f4f4acb3879afc2dc18c09446489b79dd3043f74027e9a24a54d8babe757c9a3470a95cb7b7b093331e32534b337d697046f7349bcfa89036b3cf50ecfc6f1e61300a49b6 -Test: Resync -Key: 27ba7e81e7edd4e71be53c07ce8e633138f287e155c7fa9e84c4ad804b7fa1b9 -IV: ea05f4ebcd2fb6b000da0612861ba54ff5c176fb601391aa -Plaintext: e09ff5d2cb050d69b2d42494bde5825238c756d6991d99d7a20d1ef0b83c371c89872690b2fc11d5369f4fc4971b6d3d6c078aef9b0f05c0e61ab89c025168054defeb03fef633858700c58b1262ce011300012673e893e44901dc18eee3105699c44c805897bdaf776af1833162a21a -Ciphertext: a23e7ef93c5d0667c96d9e404dcbe6be62026fa98f7a3ff9ba5d458643a16a1cef7272dc6097a9b52f35983557c77a11b314b4f7d5dc2cca15ee47616f861873cbfed1d32372171a61e38e447f3cf362b3abbb2ed4170d89dcb28187b7bfd206a3e026f084a7e0ed63d319de6bc9afc0 -Test: Encrypt -IV: a23e7ef93c5d0667c96d9e404dcbe6be62026fa98f7a3ff9 -Ciphertext: 5c77efcb16097df824bd58cd3498e07af1c761740b5539929115e2caf3bc10eed2a16254a4306f4e20827247900276ce887362990c070c0f79e15987473b7ad240e7a9f8e6e3f020fb337438cc3c8b81c4cdbfbdd7b543b13a48a4959744f3efcb99a939c0599ce32f816d12c2b47a2f -Test: Resync -Key: 6799d76e5ffb5b4920bc2768bafd3f8c16554e65efcf9a16f4683a7a06927c11 -IV: 61ab951921e54ff06d9b77f313a4e49df7a057d5fd627989 -Plaintext: 472766 -Ciphertext: 8fd7df -Test: Encrypt -IV: 8fd7dfcb16097df824bd58cd3498e07af1c761740b553992 -Ciphertext: 85e098 -Test: Resync -Key: f68238c08365bb293d26980a606488d09c2f109edafa0bbae9937b5cc219a49c -IV: 5190b51e9b708624820b5abdf4e40fad1fb950ad1adc2d26 -Plaintext: 47ec6b1f73c4b7ff5274a0bfd7f45f864812c85a12fbcb3c2cf8a3e90cf66ccf2eacb521e748363c77f52eb426ae57a0c6c78f75af71284569e79d1a92f949a9d69c4efc0b69902f1e36d7562765543e2d3942d9f6ff5948d8a312cff72c1afd9ea3088aff7640bfd265f7a9946e606abc77bcedae6bddc75a0dba0bd917d73e3bd1268f727e0096345da1ed25cf553ea7a98fea6b6f285732de37431561ee1b3064887fbcbd71935e02 -Ciphertext: 36160e88d3500529ba4edba17bc24d8cfaca9a0680b3b1fc97cf03f3675b7ac301c883a68c071bc54acdd3b63af4a2d72f985e51f9d60a4c7fd481af10b2fc75e252fdee7ea6b6453190617dcc6e2fe1cd56585fc2f0b0e97c5c3f8ad7eb4f31bc4890c03882aac24cc53acc1982296526690a220271c2f6e326750d3fbda5d5b63512c831f67830f59ac49aae330b3e0e02c9ea0091d19841f1b0e13d69c9fbfe8a12d6f30bb734d9d2 -Test: Encrypt -IV: 36160e88d3500529ba4edba17bc24d8cfaca9a0680b3b1fc -Ciphertext: f003b213737415a81894a3d3d8fe4e4434d4df2b253d60c44609bdc0414cedf8bae297ecdb1d0b92393dd6dd7027b555388ac8a66308082fc6327ad94ad96223003de15c48a06e9cd99b5561e7fc5949c6ba8cf11d6ba1374ec32062caef541e7252d168781aab4c637793433b3998c5a5013fd35c336600a02765ddbf52b97ae80dbfbbe55e43c6bd5f746a1c2df4c80611c76a90308c47b2807876249d6d3c507a1a96c2bbb8242ccd -Test: Resync -Key: 45b2bd0de4ed9293ec3e26c4840faaf64b7d619d51e9d7a2c7e36c83d584c3df -IV: 546c8c5d6be8f90952cab3f36d7c1957baaa7a59abe3d7e5 -Plaintext: 5007c8cd5b3c40e17d7fe423a87ae0ced86bec1c39dc07a25772f3e96dabd56cd3fd7319f6c9654925f2d87087a700e1b130da796895d1c9b9acd62b266144067d373ed51e787498b03c52faad16bb3826fa511b0ed2a19a8663f5ba2d6ea7c38e7212e9697d91486c49d8a000b9a1935d6a7ff7ef23e720a45855481440463b4ac8c4f6e7062adc1f1e1e25d3d65a31812f58a71160 -Ciphertext: 8eacfba568898b10c0957a7d44100685e8763a71a69a8d16bc7b3f88085bb9a2f09642e4d09a9f0ad09d0aad66b22610c8bd02ff6679bb92c2c026a216bf425c6be35fb8dae7ff0c72b0efd6a18037c70eed0ca90062a49a3c97fdc90a8f9c2ea536bfdc41918a7582c9927fae47efaa3dc87967b7887dee1bf071734c7665901d9105dae2fdf66b4918e51d8f4a48c60d19fbfbbcba -Test: Encrypt -IV: 8eacfba568898b10c0957a7d44100685e8763a71a69a8d16 -Ciphertext: f17808cf21dba4762ced5fcc264f615a4619d8d5ee3278dbdacf14a799f8ee5f8a38a7fd9d262b336e51a8790c90fb8f0b63a49edae81f9a200ad73d9ed5ce6257524b506d7a219013e3e44a1f2a264b7f7f121e5d4765d0bdfe4a36fc51e48ee21e9dcbc3dc2541405bbdb90490fd786b942a07786094fc990be21e5b746d522cad26269a76c85134ee654f33485807fc28cf87ac37 -Test: Resync -Key: fe559c9a282beb40814d016d6bfcb2c0c0d8bf077b1110b8703a3ce39d70e0e1 -IV: b076200cc7011259805e18b304092754002723ebec5d6200 -Plaintext: 6db65b9ec8b114a944137c821fd606be75478d928366d5284096cdef782fcff7e8f59cb8ffcda979757902c5ffa6bc477ceaa4cb5d5ea76f94d91e833f823a6bc78f1055dfa6a97bea8965c1cde67a668e001257334a585727d9e0f7c1a06e88d3d25a4e6d9096c968bf138e116a3ebeffd4bb4808adb1fd698164ba0a35c709a47f16f1f4435a2345a9194a00b95abd51851d505809a6077da9baca5831afff31578c487ee68f2767974a98a7e803aac788da98319c4ea8eaa3d394855651f484cef543f537e35158ee29 -Ciphertext: 4dce9c8f97a028051b0727f34e1b9ef21f06f0760f36e71713204027902090ba2bb6b13436ee778d9f50530efbd7a32b0d41443f58ccaee781c7b716d3a96fdec0e3764ed7959f34c3941278591ea033b5cbadc0f1916032e9bebbd1a8395b83fb63b1454bd775bd20b3a2a96f951246ac14daf68166ba62f6cbff8bd121ac9498ff8852fd2be975df52b5daef3829d18eda42e715022dcbf930d0a789ee6a146c2c7088c35773c63c06b4af4559856ac199ced86863e4294707825337c5857970eb7fddeb263781309011 -Test: Encrypt -IV: 4dce9c8f97a028051b0727f34e1b9ef21f06f0760f36e717 -Ciphertext: 534f5151319c299d7356be2275ed2137fab66742797370b511e5150dcf7bc75c06d5249e8e8bd7c16e563cc7d99368a7a7f47f811a2ae2b632c73e9f49641bf9954d4df19c2778221d780f799806757738b327e6aeebab6bb22137f8b994c1e08baff75bb2774576bce2deb599817fc7a69860c538efffe91439f4714e4629b00a25b5b1a6be8aa7da2be33bad953481926e0067a70d4ff1a7bd0111e605ef6a2d66fa7af43d746c24a5d464dd6f75773aa9b65bbdfad9b82fe80f182b144cea9211d0b2472de873008509 -Test: Resync -Key: 0ae10012d7e56614b03dcc89b14bae9242ffe630f3d7e35ce8bbb97bbc2c92c3 -IV: f96b025d6cf46a8a12ac2af1e2aef1fb83590adadaa5c5ea -Plaintext: ea0f354e96f12bc72bbaa3d12b4a8ed879b042f0689878f46b651cc4116d6f78409b11430b3aaa30b2076891e8e1fa528f2fd169ed93dc9f84e24409eec2101daf4d057be2492d11de640cbd7b355ad29fb70400fffd7cd6d425abeeb732a0eaa4330af4c656252c4173deab653eb85c58462d7ab0f35fd12b613d29d473d330310dc323d3c66348bbdbb68a326324657cae7b77a9e34358f2cec50c85609e73056856796e3be8d62b6e2fe9f953 -Ciphertext: e8abd48924b54e5b80866be7d4ebe5cf4274cafff08b39cb2d40a8f0b472398aedc776e0793812fbf1f60078635d2ed86b15efcdba60411ee23b07233592a44ec31b1013ce8964236675f8f183aef885e864f2a72edf4215b5338fa2b54653dfa1a8c55ce5d95cc605b9b311527f2e3463ffbec78a9d1d65dabad2f338769c9f43f133a791a11c7eca9af0b771a4ac32963dc8f631a2c11217ac6e1b9430c1aae1ceebe22703f429998a8fb8c641 -Test: Encrypt -IV: e8abd48924b54e5b80866be7d4ebe5cf4274cafff08b39cb -Ciphertext: e8c59b616dd10474930c432422d23d8df8dee1c626def1278eb6c9828435c0c8a98aea9d350752a78cf0cf1de7973436605f22b0d40b9059d777c55c8fd02cd9dbab6888161ed28979c64b700d7ea48038edf36af21078713f844f5f23a4f271aad3562ed2cd773de622fff2f0b5785672760a7064e5415c76ffec522eb1225868345e89a9fcbb4f12c1176b01550fe7a74f750dc43d6fa4718c33ba99b0084c7a1a8e245c8566056296aabe13af -Test: Resync -Key: 082c539bc5b20f97d767cd3f229eda80b2adc4fe49c86329b5cd6250a9877450 -IV: 845543502e8b64912d8f2c8d9fffb3c69365686587c08d0c -Plaintext: a96bb7e910281a6dfad7c8a9c370674f0ceec1ad8d4f0de32f9ae4a23ed329e3d6bc708f876640a229153ac0e7281a8188dd77695138f01cda5f41d5215fd5c6bdd46d982cb73b1efe2997970a9fdbdb1e768d7e5db712068d8ba1af6067b5753495e23e6e1963af012f9c7ce450bf2de619d3d59542fb55f3 -Ciphertext: 835da74fc6de08cbda277a7966a07c8dcd627e7b17adde6d930b6581e3124b8baad096f693991fedb1572930601fc7709541839b8e3ffd5f033d2060d999c6c6e3048276613e648000acb5212cc632a916afce290e20ebdf612d08a6aa4c79a74b070d3f872a861f8dc6bb07614db515d363349d3a8e3336a3 -Test: Encrypt -IV: 835da74fc6de08cbda277a7966a07c8dcd627e7b17adde6d -Ciphertext: a91f3039c37f753857510f121cbbab8f942b41a4d04815729361268c84abed9fd3dd2c0a84ea5dc3cab46245f720d8f0fd81ce4c7837aae561186f66ae70db9e5c2238f1b417b0ab001eada16d1f9bcc2ed74d335fe8da60bebd8b1c4ae4c51d8c46eec7d1fd575a5824bced85b02bfcb1e11d5686471b2791 -Test: Resync -Key: 3d02bff3375d403027356b94f514203737ee9a85d2052db3e4e5a217c259d18a -IV: 74216c95031895f48c1dba651555ebfa3ca326a755237025 -Plaintext: 0d4b0f54fd09ae39baa5fa4baccf2e6682e61b257e01f42b8f -Ciphertext: 16c4006c28365190411eb1593814cf15e74c22238f210afc3d -Test: Encrypt -IV: 16c4006c28365190411eb1593814cf15e74c22238f210afc -Ciphertext: c86458ffa23d50437f3385ea7d3fbae5cdc1df7a14658b8316 -Test: Resync -Key: ad1a5c47688874e6663a0f3fa16fa7efb7ecadc175c468e5432914bdb480ffc6 -IV: e489eed440f1aae1fac8fb7a9825635454f8f8f1f52e2fcc -Plaintext: aa6c1e53580f03a9abb73bfdadedfecada4c6b0ebe020ef10db745e54ba861caf65f0e40dfc520203bb54d29e0a8f78f16b3f1aa525d6bfa33c54726e59988cfbec78056 -Ciphertext: 02fe84ce81e178e7aabdd3ba925a766c3c24756eefae33942af75e8b464556b5997e616f3f2dfc7fce91848afd79912d9fb55201b5813a5a074d2c0d4292c1fd441807c5 -Test: Encrypt -IV: 02fe84ce81e178e7aabdd3ba925a766c3c24756eefae3394 -Ciphertext: 5526b8ff95272e95ad298c30f9f165353ecf0f68aa2943476ec53c386cf07c465b677be13d01279779965dda94d23fe9452dc4934e344c2ee0f6f5e32efc2b3f79630492 -Test: Resync -Key: 053a02bedd6368c1fb8afc7a1b199f7f7ea2220c9a4b642a6850091c9d20ab9c -IV: c713eea5c26dad75ad3f52451e003a9cb0d649f917c89dde -Plaintext: 8f0a8a164760426567e388840276de3f95cb5e3fadc6ed3f3e4fe8bc169d9388804dcb94b6587dbb66cb0bd5f87b8e98b52af37ba290629b858e0e2aa7378047a26602 -Ciphertext: 516710e59843e6fbd4f25d0d8ca0ec0d47d39d125e9dad987e0518d49107014cb0ae405e30c2eb3794750bca142ce95e290cf95abe15e822823e2e7d3ab21bc8fbd445 -Test: Encrypt -IV: 516710e59843e6fbd4f25d0d8ca0ec0d47d39d125e9dad98 -Ciphertext: aadb7c36647ded09fca7587edfa9bbe81911925fa8996330c8e7b77601075e5f94404db9f82c67e2cd39d1649062d4c30cf23bc28f9ddd6d5b9ec586a7de7f8ef45560 -Test: Resync -Key: 5b14ab0fbed4c58952548a6cb1e0000cf4481421f41288ea0aa84add9f7deb96 -IV: 54bf52b911231b952ba1a6af8e45b1c5a29d97e2abad7c83 -Plaintext: 37fb44a675978b560ff9a4a87011d6f3ad2d37a2c3815b45a3c0e6d1b1d8b1784cd468927c2ee39e1dccd4765e1c3d676a335be1ccd6900a45f5d41a317648315d8a8c24adc64eb285f6aeba05b9029586353d303f17a807658b9ff790474e1737bd5fdc604aeff8dfcaf1427dcc3aacbb0256badcd183ed75a2dc52452f87d3c1ed2aa583472b0ab91cda20614e9b6fdbda3b49b098c95823cc72d8e5b717f2314b0324e9ce -Ciphertext: ae6deb5d6ce43d4b09d0e6b1c0e9f46157bcd8ab50eaa3197ff9fa2bf7af649eb52c68544fd3adfe6b1eb316f1f23538d470c30dbfec7e57b60cbcd096c782e7736b669199c8253e70214cf2a098fda8eac5da79a9496a3aae754d03b17c6d70d1027f42bf7f95ce3d1d9c338854e158fcc803e4d6262fb639521e47116ef78a7a437ca9427ba645cd646832feab822a208278e45e93e118d780b988d65397eddfd7a819526e -Test: Encrypt -IV: ae6deb5d6ce43d4b09d0e6b1c0e9f46157bcd8ab50eaa319 -Ciphertext: 89e9c51abd31d6156b96c4e82ef0dfe5c376bd6324750fdbc46e5ae63897323c816fb5bb8e6bf4335853e512cc334dbbfecccfe4e5c8fe8289963ee7127f3ac56bc26b7bd4f0d1e0afb06bde930e7587eedf07995d5052bbff5453147c1555a7c8534111295bb5ab9e89645cc330ae3e0d9294c9e7d6d841579e93aefeaed879f8e8299459a3c07e3c9dee497360510668c5246970ad39077e8d8935b0d885f11d2f06dee0d7 -Test: Resync -Key: d74636e3413a88d85f322ca80fb0bd650bd0bf0134e2329160b69609cd58a4b0 -IV: efb606aa1d9d9f0f465eaa7f8165f1ac09f5cb46fecf2a57 -Plaintext: f85471b75f6ec81abac2799ec09e98e280b2ffd64ca285e5a0109cfb31ffab2d617b2c2952a2a8a788fc0da2af7f530758f74f1ab56391ab5ff2adbcc5be2d6c7f49fbe8118104c6ff9a23c6dfe52f57954e6a69dcee5db06f514f4a0a572a9a8525d961dae72269b987189d465df6107119c7fa790853e063cba0fab7800ca932e258880fd74c33c784675bedad0e7c09e9cc4d63dd5e9713d5d4a0196e6b562226ac31b4f57c04f90a181973737ddc7e80f364112a9fbb435ebdbcabf7d490ce52 -Ciphertext: b2b795fe6c1d4c83c1327e015a67d4465fd8e32813575cbab263e20ef05864d2dc17e0e4eb81436adfe9f638dcc1c8d78f6b0306baf938e5d2ab0b3e05e735cc6fff2d6e02e3d60484bea7c7a8e13e23197fea7b04d47d48f4a4e5944174539492800d3ef51e2ee5e4c8a0bdf050c2dd3dd74fce5e7e5c37364f7547a11480a3063b9a0a157b15b10a5a954de2731ced055aa2e2767f0891d4329c426f3808ee867bed0dc75b5922b7cfb895700fda016105a4c7b7f0bb90f029f6bbcb04ac36ac16 -Test: Encrypt -IV: b2b795fe6c1d4c83c1327e015a67d4465fd8e32813575cba -Ciphertext: 0a8a907dc7f30f6f68eec465ead25768383956a304aa32e4ccea6e3756cbb19f2751e3b68339ade1499004a88170e44620529d3c568cb1e014c16548830dfbce1b47a2dcdd28e59bb0daf5908c5ff51817bd119fe33bda07d63e93a3522685eb101d912b02d093780d10884959ae4a49e2fb7fca51b81394f09314879a41f6dc2f4a7dc34e88da4747a5a1fc15dcb207d13222f08f91f079eafbded0d6036325f607ff29ff2fc7635e8c3767d61a3b7814227d6a2798d623bfdf674604e4e9e03529 -Test: Resync -Key: ea060c72f6e0080fd4a9a2131c9d684902415cab34fce4e52d62273e3c385f37 -IV: 5826043957a27509423fdd82f34935928a4b23a84ede72c8 -Plaintext: 20ae58dbf5c20225c35518711a86a19a61d5ba47ab17e8c5fa9658333d40ed31bffb79cde927c36baf61ed8df37acac330f64471bd91d90bfafa72dc8cdb6ed95ec6610cd6e8f2859255216a3eb4b573410d5644a40e4f0fa785d556304489c0023a1991eb0d01b5 -Ciphertext: 6025c4d5bcc769cc3e67b88340b4101690eb283654c761f8a0af360926313129f16d1c9358ecbaf66acd85787c7c1f52a953bc05e91d43bf3d94d341bffc5913435fb3a8e6264ccd1c355472929a140fe30a22689b055082c70395e0b070a3f0967ab36848cdf3d9 -Test: Encrypt -IV: 6025c4d5bcc769cc3e67b88340b4101690eb283654c761f8 -Ciphertext: a420fde6c359342819ed9c07853c594c0098fd2a3c8da24713dbd12261b528e43af7dd52ddf1a1b553d08c20b0ab399c38a067fb115368c990d9e839735c8427aa885eacb5c2900d1d04afdd3d35793f11c78dd826c5d09351f39823a13976eaa5a49b0bdb054043 -Test: Resync -Key: 115aaaa3a3827fb05175412dc6478747d7c128ce2637b6afdfe3213f7b0b6991 -IV: f8cbe32bdb4c8eac3a571f186ef683b9eb902302ff7ac746 -Plaintext: b09472fbdaa3e4bdb7b04c8819fb3257f764154d09cea22e9a67b40f7e601a97c469811773d2733eb4ab0da6249f237d4c063012fd06714a726b24a512daa7e287d39818980a6720abc45f10aab7d71da318244507b5a9d0aeae76ec5efd3b5ce167c38196744d13b07a14805ee49dc4421e0c59d559e8518a9911682ce1d2b307ccba48dd98c003103421ae6253c6a2476dda5d11cb3d5e7d6dc2c02499d5731095ee89f77c7d4ef27231fd6e9e854d1ed84b0b47bc4794e68e055e1d83d75ab527a53ebefa4d363f952562ac1aa47635296d55e2d5d1b8e214c95445bd586c7f82b31839ff78a60f0063 -Ciphertext: 50c5e2584d473a696c797ff1668137e331bcd9a1ecd5c146422a9140de87c10996d407c5eb8335b5bdb7a9b1613ccc198d5157c6f89d409e1ce7958605d68d442e1b10179c13e12ec33f98d676ae4be95ac7a82786402b1491918a6526e9676037d04fa7aebfd9afd39f6d10dc663877ebbb67aa82c6089529218db9622bd0af7e722e72265e25524d827da8eea6d7e0daf94c516ba24ecca2d820959c0dc939252158903d97139f6fcd81752deb3e9108fc62178bf54797c428e0887d1849fb5004c3b76f0d466afffd47f5066d6dfcbe4782319738e90fa19de6b99861bfc9e8112df4573bb38b1b9e35 -Test: Encrypt -IV: 50c5e2584d473a696c797ff1668137e331bcd9a1ecd5c146 -Ciphertext: 280303c6467f6badc300961c549c33f249c6d2df0596a459383b4c995b296854dea2072d04e46cd47c3380c4be6f6456e8759a5ab2025bd20ae6d116b0bba77b4f03aaa118c73e50f48755a89474c4380e8bbecffc4d6c84514711094ef67c2ed8b81a07c2afa41a19709e69d0bea22067eb3ce3618d80066f9c9f333eea1a624cc4d4dbfb0134004d1d6d295751c7a134cfd29cc85045734e2a4400c261cca16bca4c7e4622837eeed6ddc64c0999347248081aedd3f4d911ad5c92aa491b05510adcb0bcd7c0711a964f176775f11d8b00d9e4264afbb4d6b6a81760d964ca495485895ebba1dd1d2bf9 -Test: Resync -Key: da4147528d2e7862009aa772051e60e309721eeef4b4bcd7f98ae8d0561960b3 -IV: b625057bd07c1385fc08bdc14d735e5832dce5aa0045d9e4 -Plaintext: 6db3a848beb8a6e9670ed91427364c9b042d000a14eb2ac4c6097625e20b2e8eb367c156f927262d2251974d5953f17d00b4ed6b4d93513a19ee6b4f1a159bec8ff94151a7bdd6074d12d343fd852fa69a26302a11caf57417e950723c5a5e795de4cb6523fede7af6b6cb68f41931a1eebea6079e8018fe4116e7b03df7 -Ciphertext: 399c5bf3b894e3dcb5881fdcd927d8cf4ececa5140b2425df5cb2cb993b6901f736e94fb847de41b7c32ae990510402ce5e99a34b5acbb3b5aefbe55be4707025ffcfd6605b6ebeffca3c1ed3c42cba900eb5f14c195e5c574eae67e7355b780403e44ebc91f81fb04f95759f78999fe619d5b8f9fb2185c0e14cadfa8dd -Test: Encrypt -IV: 399c5bf3b894e3dcb5881fdcd927d8cf4ececa5140b2425d -Ciphertext: ebb1d4ebb394e185fddd72fad5efa8434465a9ce758fbdae25cdc6b1278b2e137f5afa706c5a8e95684fcf6645c6c2f67f698621c7d6c7f1899be12e2f6c9e480315c12f02405b8bcf45f4a715eeb72f12e0fef15740734747764e698ee88d05ab30028c9ee237a48b50c8fc453b7d370daad88e57a572a9cb8091526861 -Test: Resync -Key: d61f8e75dc9295dc029292764f3ed08dfb6fd725cae4b0e47aceecaefcf654d8 -IV: a6046a92ad15e9f9d8027ff39bfbf534d46fec35bc9cd94f -Plaintext: c11f014781804645ca22ca213a5558a038090341f3f70aa1df0bf135fb8d0184d77783b519c9c2b2b0b748880a85bab986de7a37a4a11bcbb5c0c87676d7808fd41abbfd0d7a11a7c545405a4ae42f60baa22ccee6de0272e79610c7b885b70ba9bf027657abae393cc8f56735faab9f6fbe36e7a4d99ce15cdac24223880bfb5865ac7acf01ea833098fb148406e6 -Ciphertext: f3b2a1188c33e96124f383b8b75dcacbf782f728eaf436db05551ae2be1a77f09c9ea009d8651329d0a812580d1e11d0f64c44e245bf30dd9c8033b72d0e5049131063c5fc2a3f219e6c1bd993c8961cc174eebb655574dd45b73d0d804f5190f92e385dfd7c2a4ff430ed6dabd41db040aca8ece7f11de796478026f48337f763cf69aef12609384f0ae72ee38c8c -Test: Encrypt -IV: f3b2a1188c33e96124f383b8b75dcacbf782f728eaf436db -Ciphertext: a9b213db6c8e161687e1b63f32a806f15aa8b3ee60cd37d7d437f90b446c3361d37893b702dfe774e5e5ce486399cd408fbf6ca1005768bf7825130c061e43f6077080438514f1a8ecdc6ff7cc264122b1a55c849c76328e833667326f23670590b77f2bfb9a666bcc4c44c16efd6c506c37ec62de8e5365ee894670ac4264b807a8455d8df05ba45af51ff1fee343 -Test: Resync -Key: 0f2850f98634181f49e53bf49d2f822fbf75e5f77c6cd7487541c514a4101ce7 -IV: d6defb4e74c327d89123bdc1d1c6d2fce6b745079bc2c9ef -Plaintext: a064bd9bdab0ee26530c2d26be556cd67295180bca445dfc87954bc51b28a21b606a229cf5a41fa104c51c3f32003a65064ff73e66691e4d2b1a22d236232be18677d54aba7ad49edcc9284897a7f88945513460166e5dfd7650959c05328abc0a7e95c352dbc227ca17 -Ciphertext: 51de41664070aec657612a57641c0c83ae14f5b3b25b25d916e0cdfae1c1bd21f7b47d9ab02b6841e115394cad58a568c1d7c2559a1d3fcd9cb4b25529d26e475ae313e6487538d16376a6b24e5cf27d2dbf4c83bd18996594f60549f34a8683b04d05198893a816adbb -Test: Encrypt -IV: 51de41664070aec657612a57641c0c83ae14f5b3b25b25d9 -Ciphertext: b5f57b5f00d2bf5f48828a4e793997e6d12b0f14953f5b1634cba91867776f75d2d2d247799a46080372046518416c60a07a65b2aa1318238597c320360a279e7633045bc43cf41bf9d366eafc7613b090a41fd8db3f684afc03d96c82a40b46e2994438febf268020c4 -Test: Resync -Key: 5cf680e8a11eb005d03fdc3d4ec0e129e6aceb47262dee6c452a5b8b0ef1b450 -IV: 6a6920ddba39b5a2640976ca10c97bf308a8cdd70ea98260 -Plaintext: 1f322b31f5f577a596b0fbe567864c7ce2973b41f924205defe08e2866b7fb5c1814d664d33957614e91668bb15d9848ffb93dc08c1f74c5f5e1f88148d1a1a7ad47395b75834de4988adfbf7e58a38157544c2be5b913152c1d00 -Ciphertext: 64d6c9ca4db201d95afc0dce28f6e47d51c2856ccbbc8f4c2e2bd2d834aca165dedd117b0be9a7dcd21eb22b508f4ecd0236075b064a0ced23e324b18b2bf2cda1c4416f78c740e51ce687cd37842be368fc4e6ba7cb312d89ea7a -Test: Encrypt -IV: 64d6c9ca4db201d95afc0dce28f6e47d51c2856ccbbc8f4c -Ciphertext: 9f4090fc504efc0f6bb5f76ac9881e1379da9f700737d86e9636714debc5c4eb3276fcff90bf71c32a71e06c199b3431475ab77410e83a7eba158723efb383a5437731a136758aaf7d39f0def719b0dd46798d9d53a30cd1b91eb3 -Test: Resync -Key: 9d27327495159927d0dd93e258908590343a57f6583e0d8aca07070ce41fd37a -IV: a01d1d7d1d43de5fcd60277f84dd8b93d08d480a77961f71 -Plaintext: e2ce8d1f9ee9329c3599e1880b9e6cb75d52e86f48ca89b829d4d7ca16d3e1b496b8b46097501793cdf6764ffd44b44013c7aadbf0ccfa4eab012529373a9022480f58877332b81f3c703ca80a77f429d944d5a877d89c6f64214c9ea6d3a098d9057d519354cfbb71a4bcddaee65de22e4d782ef0065952b891c9494d8a509e86d08ca31594015d3c31931d417cd048e59945d42ab74983434d14ef4e078f30ec2fe9ceb7e247d557b1d2593ab35896082c1c218dd73a868bc5cae74862b898395681234b20fa1ae9cab6a49b94bcc38a3a4a91cefc7745d094d9d8cab730cda4079705e4afd0f5e401 -Ciphertext: 94e0d546dbdcedd76e26629484ffd9b67b9c15f61b07df7ef0efce41270bdc9039ffad321c5b2d2847f6f4d5d105676fde08b8c47df248850dee1272d51feb42d503e58d67b61fff0a20abd999a5ad5942676aca3f31ce08614106fb692ae230c2a74339eb38c074bb59cf5ab42fcc428a0d629c12fbc3d845e84ed76c3f774e92c1109be12f00aa8ebd2a137a914e655081e6e60176cc98e849165d9d93235c605c8562f51bb407aeb8f330692d6245297817eebd32fa2ee96520b560e37019e9aadaea40f25ac4c5446fe93c5b39fc90152f088a5a936ba4efb10db7f246143f2cd151b1f1155e05a8 -Test: Encrypt -IV: 94e0d546dbdcedd76e26629484ffd9b67b9c15f61b07df7e -Ciphertext: 33203e910f56c5e1a63f3a801fdd772dfd1c3b0f3e012772bf0796337d95f4562c349f65557e76dc0aadb982d1aa3a3a865db36418bd1efcae36095fdb3ad68e1df72622d45d5336224caeb237adf9c19b02e23a1b9d4b32a5b6f39595a93d495a74cceeb4254e0b75f54277b80b153f62c8b5bdccae8d3ce24d8ee258f6d4ec6d631f6d1c8e8daa049d33076bea38acc5fda4a8822a16a693c936b340eb7951cd1ab0f7f58206252b0ebe46c77214dc86db136f8e170fc402f31e1c7ef9bc409b19260e4164c145aca28846ead4dc91783bcb1bd914a23d7bdf83745cb74c7ba66eca45457c53f42280 -Test: Resync -Key: b1a6c9bc9870d808a81612d0f4b335cbfd8b305150a6140627df06d9f8b24c0e -IV: 7313e9e505147d4a4c2023259ba01197169bac01af0d5bb0 -Plaintext: 479d7baf87a385c781f0dee6e51ee4f94eb2ee3e93bdbb3f402b0252496225d4118511ff893f4ddebcd31149920e259006cc7353ec5a95da4bc61ee6863282edc341afe9541d44958c2855b6714625ed2fde62db387e114fe837bbecee398351d187e0c93e0a0618f9d923504dd662c11e43af794e7ac7c99816c180ccfe1779bd2dd476ed68eb1736f421922fdc6696 -Ciphertext: 30a86c8b6a55670856e6d1b31d59602e05819022f12df1c67294fa138d65d5fd9f5e9192ad09604e08005537832d07ad5f4743bdbf137b7e18b8811066c7e411291fffc6e6ab55744789a225f15086173495279a4c628ffe4b1f8bb4d886bf74ada7d783b143edda1675ca9493ac1da04ae62584ce41c8a2c4f9fae79d94363bcf79c343e51ce5694c639bdbd8405781 -Test: Encrypt -IV: 30a86c8b6a55670856e6d1b31d59602e05819022f12df1c6 -Ciphertext: 33c313c0da87030169b7da6963644cdd257891b14fc1e4387d35faadc39279cca215e7079ec4272bc259e6499b0cb6dd52c6dff5965c7ddc9e951ac5c0056b4065a6f8eb5cc8e5373633a4aa3aa1736a67be11ef63c3418b1fe57730d6cce0f40e5bf02e61f6aae1404a813fd2a2a870960833be71dc73bff4a98718d64cb146a2ca5d41fcba85a56fa3d0413d0a807b -Test: Resync -Key: 4f9f97fd4ba7db6365f5fec9fde4e752c8bbde48a7ea986b878302e4cc8af9d5 -IV: 05788b5db4e3711eca900a2bfe6f78de44e98a70362504d7 -Plaintext: eb50b1e352f3fae6921fa7884c99365411928a2ffa33e3106768a773246c31cb0bca5cc166819b3b05819017f06c8b8932607db6d66d58d6a2f7356e4666ff7bec3a2223c12777fa54d9ed1dc139d9512c52e1e53762badc7e6f8da576afd940fb4a29d89e76fcdc93e515d69a6ca9efe5d053b7600b458b6719852ec4ad3c59d0b0a69971ac6ae53118c186f2d1a57e350ac3c8ad7d4e087c8f32816462f0506122fc01caa8c93aeebf0edf0c8e1cb726bfc861 -Ciphertext: c63f829e84c1c9709c49780a445bbf0dd441acc5304e0433ce0cd70af3fe98d36bd9e6fab17e6e8b50fda157e3ce9d2a928e8c234dd1700999047db4a28ea40a9657172a471f962d872a1d3342c12965aa1f1484e760979181ec8fde5472f509f76748fb4557b9b73fd517f70b20795caa1cd19e4dd5ac65e8f4cdb65a4ad60e0dd64407dc5232a5a893ace71acb35700fe059bb641497a2db63caf083942b7fe530092e90014bc5b6f889710ba3fc50d086fc32 -Test: Encrypt -IV: c63f829e84c1c9709c49780a445bbf0dd441acc5304e0433 -Ciphertext: 625aa1ac285ed59cb4b17da0ddb32a772eaf95181d0587fa92be22d1f5b65e403de9c0caa3301aa569ef9396c4cd06cffb602d5b5e6d2238712e74de51b0620733e1ba802038de3735b2a08951cbf17759f90cb0c4c4eb6a1acf147b54b7ac7372bafa4377fe7510d06a9c4ed6f972a669e270610a7084b61d4b52d2931803b805440b3d5e333ccdb0f3e7c0d013f068b2b402680a83210d71051da3529299343813150fb0f26ec053a8dac9993568e9b0c703ed -Test: Resync -Key: eee68b65fafe9a5bf2f9f92512a716e5af3740efea15e596f4ea0b5aef23550a -IV: 4d312f84330a107250b68c0b1df417ef713615b704d99b71 -Plaintext: 95ccd08ed2ab0fb87f55786f1f10d33c7713bef4435c3699b13982235ed040c9d9cb1b1f335cac0faf8654812f6874408bf20b129558a2c342c07c7f42a30700b374d18b91d881fc0f153f4ec1a55633a92d637212a11d122a9a1eb085439ea1226ea7124e8bd1c644a1996fa6369dedcacd5c766d7dc9a8c8682c5729ccf4d59433ba8e1569fe826089995414afd576ffb9686a30725fb9e5d7 -Ciphertext: 6c832a8147658a1741af29b0f558fa3773c81429f91a5cef270f7154988f97d4b28549604909f726a8a6e89d625089ea387b2725861963480424d9835d7e2fea93a5bd3bf86c7827fb22e7a68efea1a05c45f9606d4ab7add687d9418ba60517cecb3503287fbc5b2c9f0f9b5faa991337b394dfac7514dc38ffe019a1e7c74e5ad23f4e3bddb74ffc8a81f521d0b6044f98238f7c2a38ab14c0 -Test: Encrypt -IV: 6c832a8147658a1741af29b0f558fa3773c81429f91a5cef -Ciphertext: 7e1ef21dad49405e2fc86c50bf045eb14c65e58acb64e210af9ad8ebb5679021721312b96514d8681fa9d52c01c83f7d871401ec345a334648e0fc2ca294ced407ff98f1d1bc4afd83bb325072a5367d9a014092bc99699713bf84587fe2ee998bf8df35aacf61a96be157bddfd52e5b5a1d4a2e3bb109502e608f286aa8f0d5f67b4072ad9b60971ee8cf9fe966015260e61802f19f4bc8a29c -Test: Resync -Key: 188fbb5bea95b5101e056b93d8890c68e1328966089ebf424defa1bcb96e88ff -IV: b51304a0194bbb2490fced46fd0f39c3e87ea5196ca67ce3 -Plaintext: cd78c7c8f308addbd9acb6352d1b5b8a6ddee8a6f51401556e612d4c18960d152e6973381f45b19693e8ab6643424f01e9ab27de29f4ea16465d95674f7c939b -Ciphertext: 81a468948c618db0de96ad5cdd8b577c8253df097128cea4ffc7044f3eefa1b486b9159545fe135ea8a862fefa015f663febbd9b9527cba516551949013e9601 -Test: Encrypt -IV: 81a468948c618db0de96ad5cdd8b577c8253df097128cea4 -Ciphertext: 0510193beecfda67addf420e9c52130dbc8883cbe27d3e013207dc0ef3ff4e0b92e9ea2a2b644ffbab55c942acd63ddb7f1cff8d51d27b0a7d2853584dcc0bd5 -Test: Resync -Key: 2fb88c256a737eacf97ce4e1d13f1e20e8b2426f19076d7901bf6696f38a81b4 -IV: 12a82872b47b2c5b73cbb38904a08d283701eba289c057b0 -Plaintext: 3caae8a0c99f38cb7b2e45ea91dd5dc1331f0efff9f69a5dab0164693e986ba0da48a84321f618cc7e4b4e4d66acd8a71b69e23dbfbc6bca0c4ae279f3583b08705100adb7a4aecc0d72955a7305f4e7e2765b0a1bebea9d7e044e360d44b402f01357dc9a3e83fb46b48a683c1ad450a255bf45fe801db33414d985fd3a337c857d370ddd05c3313ae2eee0c8cb1d12a2fb650ea6e4851f2ca27badaf36dede18a9f8a62a502f6c2ff94d591cc27438e7215ce6e6abf76c22190b7201763cbc8d3a2be1f366f69eca6e5386883f56bd1c -Ciphertext: d446cbadf5afb1f21d7748a5973e8650d1dbdceaf5b837cdecf972bd091734a71ee1692fca675f4972d1e8db716873a03f9a5516f409982316cdc9f66ca0a8018dd055af0086397a86cf7574253d53fabd3aeefdc54dc2eae48b5b61a31dfb8db6531d2185034b81f745a3b88fa11453df073343de8bbd35a45f9cdff45b52e5352081f1f1a003a58200a4aefe27c87e930b77b8dc5b0882dc848437892e1902d126813e31ee27526d947bad5e8f9cf16a302da1a8f3883e3c9b257091e708ad58f4e716bb49e660cbf1f6fa709d64857f -Test: Encrypt -IV: d446cbadf5afb1f21d7748a5973e8650d1dbdceaf5b837cd -Ciphertext: 4125c6831bd2d39c1b1a2e12c505ca077fede7c553d486ae9a87ca3232d27974fb35c9a18a6315e5feafbffa943e52e9c46aa0eff6bce2f2dbf703c641ac570a92551f8a6e9aee14e8bc433b36e06bbefb0a292279f688e5d06dcdf317eded20f9dab8fab19298b146e1555b772d9f9c95e920356282ae691436a8505051190bd840b234fde486726dabec5e0755f4335b8ff4e30c30bd4f473a6af3fa3e7542f2b720784da760753938a682e86cf7ee18c5b5f7f515ff0380134d375e434934508f7cdd7602ffe2039a376d443c048103 -Test: Resync -Key: 7066fe1125429407b653fd090262bed2a3f7f3be2fa8f160f3344f327b1e53da -IV: beec3787c335739fa5d7ad15b85b7e3e7c9438367434872a -Plaintext: 9dad7f5ca1 -Ciphertext: 014a1f27cc -Test: Encrypt -IV: 014a1f27ccd2d39c1b1a2e12c505ca077fede7c553d486ae -Ciphertext: 20539f2d9f -Test: Resync -Key: 3154d3f5bb56b00b34a255425057e99ed9effd1cb0168d16157fd769ddc665ba -IV: f7f9f18f9648f6dc06ac643ea77f1493a9fea3390a98bb0c -Plaintext: 80a488703cf316be904ac8394437ea02ae2c027b7880ebec58416429ea060db543839d781d82a0fa209077e4b1 -Ciphertext: a07abc8ef3641cf33179296ca401bb291a9547d3e6d1b0886ac31d26d2f3281a6a568cc042593132a3cc1082be -Test: Encrypt -IV: a07abc8ef3641cf33179296ca401bb291a9547d3e6d1b088 -Ciphertext: 27ff7646fa8c6b98b1a732841e1596caba7b87eb40508ef0f8ef390aa5e36c0296ba84b686701d5e3d34b16508 -Test: Resync -Key: 81426f03ae1578d8ec1407827db18640d9d90d2bb773971f4ef14f859bc19e06 -IV: 479961f75954ed4f8024108cdb149ca3fd53e6a239a01e86 -Plaintext: 9cd08cf58e13e94e02c9a40269875392251353223f5329412e2a5e34328ea18c414d4c730b4e1c0bc140953f4ecf4ffc8aec963e59305d4d -Ciphertext: db3ea5b5fdc9671ec56b3f1cecbb2a552b0ea4ce9be508863f3dfb3238d4fb91b896727357fe454a08114200ea7226787fd2ab154d53eac8 -Test: Encrypt -IV: db3ea5b5fdc9671ec56b3f1cecbb2a552b0ea4ce9be50886 -Ciphertext: a887b52b3e97e6c899e1d68e57f283633ec9392438d17fb645702ae3b0ae0aad3a7c6eff0baff9f5357328307f628f470891884c264973fd -Test: Resync -Key: b3c260036b79cd3345e04cbee474dfea3a7c773db2ccb29d4c36a1b8c8b252e7 -IV: 1277840fe82046c024e6f4f53b4ff761c7c9bd1fea6c855a -Plaintext: 6a6dac1bc93b9b5c0dde0d1e6a534914dc2a6d51e6f8af3e9d42b88bedc2173782a2314b33f795cc2e4536829871d77186168f5461d18130581664586256 -Ciphertext: ff5e71022c6522998a2d10843fda170796a70d186e5fca2afcf529c6d075c5212c793fb322c1675d0bd3cc6b18f2715678812e81a8727a2d6ac1158eacf6 -Test: Encrypt -IV: ff5e71022c6522998a2d10843fda170796a70d186e5fca2a -Ciphertext: 7e8b5b4d250c13e38b5dcaa5532295e649ab3669fa594cf30eb81a54b25b3fed4f35be97afe4a2a37b7404acb41ad31d737fa9f272e1c57b3754830b4823 -Test: Resync -Key: 14fabd52e0fff9dae88d54815d82a56c4d4a660db5f214288cec1982e56fae81 -IV: 55b8328a312dff104c7f0720af0b7624f9281731b9f5f4b6 -Plaintext: 71bfc290baeeb0380732aa4312982c0dd0cc06cf2ee53adb0ae61c64228b80c073e7687ad3d3f888151b4066f415b62cf851d2987a3c816255ac40b62f453f350da8c4e1ec6dd0985e721b45a063381e997f629a7fbcd44fead19adc289f58f104fd37ec93a35305ba6fa44844d22e80a853e6db1d466ba2ad09ee2d30b3f47dd01b4d7b5d498cffd934cd3e005dc91e9e951951d5b937b319de0a7ba23c7918b1d74d3551b6500d39e6d626fa9cac8ec4e744713a93d5edc8413e2fba1d3b9b0f70509e38a66a2a2d70c510b57e15ac0c4b2aa7c5d6eb088fcdf6cbfef2c6dad19d7f17437cd261636c6d -Ciphertext: 7fc8bc27994031b3c35632590a15607ccaf1be15c542eea5b71ea1f7fa3abee79cb1281a00adb05e6fee4e65e8cba616a5789629d8fc617fae9bde9d92f6c8779374b1cd32a8e9277d0cb052c7658b3ab24ee1e55e5dd88a76266e9fb5661f576000968a9af71a3edb59ef3974e76aceb41c3de2fcb204a0022f302316eb01a0a8d74378599a7f72987e9abbd6f1a8af152ee89455840584010da73b01bbd7b01093a8c38049dc7a5ee0ee80daa98de46803ed75d0a97083ca328e7642a07e1c037346a280a856a64bba53b050272b7ba9742ef62aa89e34500f0efd7bce800bcac91981556a878d102ceb -Test: Encrypt -IV: 7fc8bc27994031b3c35632590a15607ccaf1be15c542eea5 -Ciphertext: bfd5908a43916afa5e2709b2e43ac62f406a4e677b855d70b216ae92cd444fa47f5568558c3cedece54e8b436e904e927175b455d96672a8cbdb4316b9e48a704216e30e9955ae7107f9f7770768bfd3ce71416bd337710bdf4e8789c8537a37f7c995c616a437ee406ca20c8f333a7c2f84ef87dac8c32f5b9678e344645bd356dbff32089fd195d982d3bb94b06b5b232580b492cb754659df62c9b5186b26bc2485409ff95bdc0c1c4c80bfaae878abebd373b159507b5894c5a9f8402447559b5aa7c3b491b97adf202847d0f74605a2502b193b6440a6b1765d538e38a2206630dfda4123fbbe4da6 -Test: Resync -Key: 75fe951556aae3d6ee93670241b7adac6907fd9285dbdf165834fa0cbf741b00 -IV: fff3e1ebb2e48520be552d2f0b617291c42a946f38804243 -Plaintext: 2b56b7dfaf5969d84a88aaa10dd12682f15d8a9a942deb6eba04a9a7ff38f2d0a947b414cbf7f1fca82d74b4ef98880368ba58ab7da98e8d6a6c46cc47cf0536961920e46095627b73737ea19e393c2f19d1f252ddd74b8fe050d95d21004b8997678eb565db0e369cb8bd326942e634a20845c61265da8a21448357f3eb -Ciphertext: 4b3bbef56b4400b130f8df0ab25bb28ece9160c430417060e48e691e6cc4ba119b0c34f5e76d4f1b7963785b4c6a9fb0b42c9f4eed92f8d0989710456c7f8d228fb26359f6e2549439ff5610dacaeb1df4f43a39cb3802ab1c87ce73f731ab1127ea9c2e82fb372be407a8c2b1af40398b33582e842ef0862f120a96c75b -Test: Encrypt -IV: 4b3bbef56b4400b130f8df0ab25bb28ece9160c430417060 -Ciphertext: 76c77925fc94b86624decfd2014fa505a6343054ae55c5be6d12c43018944b5d1c2aa08b9c11ae00d0c8779e70f220ffa59847969e54228d89b4351471fcdb9f0f76f18fcb896983d09dc5e8d9ee666f5abcb4d9e7bebbba824092c65646c3bee46d07609057e44b36dedfc02ce576506aa1274d550afc57d973fbd60294 -Test: Resync -Key: ea7bcb7f8712f9aa149a311d906dbcba443319f68a441a68a263c7bd0fe10fbc -IV: 620e57a9ce4b3d438c968e603f3c1518ab70be5b7bbecc62 -Plaintext: e40ef8606c72444fd3feeb1873f7ccdd3900760af66c269ad1ee6bf1e4546b1a556d4a90f6397527b270021c226dad5353a142c22963bb818548c3ed504965b2e6eb9744a15ca3c00fef2835d34592b90cc4bef8be904987dfc35e92f835ba15f054ceb760ad903d56c65854fd21f6a03ce9f8f16c04ef7ad9507b5cfa4b373eb544f2bc61bc16e371db087fb7bb749463c16f75 -Ciphertext: a31ae696ac9d66241bf9c826a381c4610de7f6416b153d7f8cc17484f1eeb63b2bc25d7c9b8a486e3e8eed6d34b4604ab5dbca373a80c29d50f416bb4ffb8485bfc6f7b61328f7c708360cf93370b7224b7cba075becafeb5cb62938b396dcc789900d8cb8315ceb460a753f20baabb4c6f61526a012e305c28bcb59fed20565ad1afce39f98b354b67a33daa8425479a07c0dd0 -Test: Encrypt -IV: a31ae696ac9d66241bf9c826a381c4610de7f6416b153d7f -Ciphertext: be217c97aca7ee0c1be18f1d93ccdd0f26d751bbbc36ca29f12bbf4afe83bbf7a749d325aad3b6af4913dbb83b09ade5ec79d88b755f7b2ba63df6ec458627c83e28e4742bd49396f19463bd597902de42ac46ba675d2f0c9db8d39dcc56a5e9233264be90cfed284302b965ab0f0748dcadcd02354c1f81d640a359b8ee5aa58a1908de1356031432b6f12e22ae9ee9f847f0a0 -Test: Resync -Key: 017f97c643425ef0ce5c0a6a0c6dd67aa6181e6aed360adcb103bba88773e1b1 -IV: 8189c8cd17a945196321cb6147cf483d785eacbea352fe3e -Plaintext: 145a3d3ac4c5b57d68d26a1ddabc71289929b6dbf317acbb3d83313c9e4861fa9d9679de974e4f7eea83129cb8f4221df16cdf545e000e087735cb37cb321d097b7b2f4874b74af6a6da9c429b1e62d418066bdff5ea0ed7c3 -Ciphertext: 90551d5f8ebaa8c1aeb52d893ddec3e9cb95f77b8bd5f6d0b3f8a3fae5fd8d9c1e42a96360e8e7e6cc9b7711ee1d61b4d67e6c2d682215c59a72778756dcc3fa93068889219579b2a1ddd85b0e69880913cd2e9be47b93ea70 -Test: Encrypt -IV: 90551d5f8ebaa8c1aeb52d893ddec3e9cb95f77b8bd5f6d0 -Ciphertext: ef58a8589c2996e1fd990d7ec412353edcef7dff079ae0ffbf430f3a479818352647fd8640a518575a3210fa45f7df5bd63532273d54c442ff02918aa79176c137cfea1a6ae167464183ae716a0f6057be891537059ac3322b -Test: Resync -Key: e9a7e6aba47b1d9c1df629c6920ded6894b85d3e7fd211bbcc7a9335e5cbf7bb -IV: af86ca3a196464931fd579bff601c9fe7fcc7a10d7778d22 -Plaintext: ee681bb5ecd15201f433a8f89871109aff85ed5a4a16a7ffe032fff60f1acca78cee6532f7740be05438da05933c8d29fc880533d589f6029291cd0a965113e042b27734968784f871f9e9e6c2a7342bc01fba3ef666aa0e018957169f2213f492acd0d2ab82dec47d8afe7a6bedee72d0c5c7ac0d86d0af5238da822ad4e6346cf2ac76faa64d34051a91659009976d140534a4f2a80f2758a912eed692b62bda4a46649fe58563707478746c77d658f481ebf90c2cd5ff3276fa8dc36739084640e319282d74479084a15838b9822056e900f2050d0f48ed52a3a3ffbdfe3a1831 -Ciphertext: b049fa161f19691f3bfa783327d2663eb8b7f188b301b17336f68630d8e001349f659428fd29359c15e95aa3f5a9f46a92d214e0085ab661b511831d00fb6f496e171b8c139def92be2ad8f6d94c2fde48f9d77ea338b920b2d8d6ad380ce761faf170bbc05128e65149b29d32aeec45e2882362dd2d0e3c7cf9634b9f52c578cb2e1d51b5aad6447f4d1860b1a1f1b7e45bcc002a5f4f03dd7116216414b0be23876b35ffb58f466a4087c992340437e89b12151a7d8f1af04aed585f5feee36f60c1b0e19251c7587e8590e7b6bae774f3ba5f3be2d726c8da4da3824debffedc3 -Test: Encrypt -IV: b049fa161f19691f3bfa783327d2663eb8b7f188b301b173 -Ciphertext: 7cc5bceb953ed1acf44c3a448a15f07c4e4db33f863bbc2368acfe699cd18f0580e3ff8545b946c15dd0f5c15e355fc4a10e340035e91c60b757cb69bbee8d2a22b20066b15929bf3506f2b271326509552b6430f4b82cf9b38ae83124f9b448dbbe049d7b3a98bf25678a72965f9656df149bc068e4cbea8573befef8c70b32d1dae7dc9b74601db95866dc7b5a3b307ac6ab9d09f3c55b6aaeb34c8b0e77c724666a4cea694ee90129568a46bb0f8380d8bac4f6151e84d357f32488ef8d62a08cb02255de04612bec676db471ea2199b9e86fb8ad89b259c0d1ac487cd95a5430 -Test: Resync -Key: af768581d5e401b02de76e6986de0bedbfb7130b9014727194c1d3f02c747fd0 -IV: c4568db83cf9eed0c05629951afa4fe5b72c055d89421efa -Plaintext: b34095f5b7660a03edb3e2277dcd3241270c9a7b890cd682214ff979b725148b1d836346ad84bd776ad748f6fb063c15fb763ca5005e9af95840f2677c1904090a19d83dcbf1011a48c23b620eda573b4a61bb8b86fbb7260090ff6f788a9dc27b5c95c3a3ebff1dc6f72446a23740179bf4dcb0169624d1ce2bf17c79dfaa35c7e12e313488919adf7e56f2d61cad070c164797b9d2dbaf5b954b56fd43e15b61f2cddde618bff31ad545ff163f2482024388ec470329835a8deb0f230760 -Ciphertext: 5b132bc08ec5bb09b5c92587a661c25ec54b8f65a581ab5f788c97c959e39cfb93032c6f63a489deac9eacb0b1a40b14ed152077fdc7b8b6dd5f94501d319d1f5cdfac56dbbedf8a5430843ca36507a363d5694e277ad8c0dcd0c0bd729bbe4b64823acff976f39973ae2d3eaa415f32db86a207f3220054306d99558e27ced2a683699a65d13eb67abb38230137de63c5c758a2149a773d403442cb826d70064c57aa4a778cb3e00a36cc4ebba6ec83dc178a7e4a3fb07c22b77a9c00e889 -Test: Encrypt -IV: 5b132bc08ec5bb09b5c92587a661c25ec54b8f65a581ab5f -Ciphertext: 907a2c78d9e0064b600c1d20985b6268b48cb8e7af87f615f8c298316b186ef64470b1c3c05f46096697d84ac390a3d2e37cb2306b718e7c48fb624bb1c5b3855951444f83e0433e26bbe2e05d8ad375633447a9f1c0856e35c6996c4fe4a477f503a47818ccd364b099b8d640ff2540f892e6a8e915a90b96b3ec13ec18e81a5c5e9f6054e6c90b49892e22ad1f0911a33740fe0719845f5428b0911b220ccec09a73cd8a790afe1ad4b76480c5e7718755fd2c29ea2f5f3cd7608ecb7bbb -Test: Resync -Key: 215f4b041d68a316d29cbea833a9d4170c32c5ea0aa34e90b4381e642f74231b -IV: 0b9e85d8e3d62b0c5b45ef1ead0b180348c0c82b2325beb2 -Plaintext: 68a7cfb070a3ffbb5a1456ff96703d56f84fbf74d92573368def92bde3b49dc9cf8ea87dd8a51d4c12cd9b4e1d20d5939a20b86bdb9fe5c76a10bef983c871c559741ac89155eb6d1a226c2a371c03f3bdf2b4bc -Ciphertext: 68d6236f9df3727c9a457609c0b59e393864855160b1e2074257f72d8b122c99fda40d6092cc96c8134823ab93545a6f8b43e8efca9502b5db2ecb86af5798b45639dc41b34df49782388cad7d1826d9d165b79f -Test: Encrypt -IV: 68d6236f9df3727c9a457609c0b59e393864855160b1e207 -Ciphertext: ab148bbc10bdb9a086c2c94c641225bdd8bca6f04d11a7cc5ba7eb728f1fd84522d3861a648ccae4e03f34162058f560028680d986c4a71e5369a312af02d135684b348b2cf42df1ab7ca841d474b3b51b8b52bf -Test: Resync -Key: 2ecbb5a282ee515b3226952d11d0579607f653a708d18920d18dc5106f76074f -IV: 53f67a3bada58382426b7d2142c327c7a9fa75a8634463c7 -Plaintext: 0878ed1298af132502bb5144066d26042e4a2990 -Ciphertext: f8ef2dc3ffca9dfa4d006bd9d3c00d7517fe0971 -Test: Encrypt -IV: f8ef2dc3ffca9dfa4d006bd9d3c00d7517fe09714d11a7cc -Ciphertext: 488bfbb9058907da6218b81138c26f306b3e214c -Test: Resync -Key: 473ee670e4b93e070c69e4c9f9d1a1808aca67c02dc9b8250034b9a19f0a306f -IV: c7bc3457a0d5b3384ff35ac10c8b09a114b09ad8e3d1ef6b -Plaintext: 09ba3c2aa122ee53878bf46711922fc946d67085ff68c3c5f07da6749194737b715bdfd4d052366fc6761c5aad4931808033b620f7e47d3c6bb65e355d66f4f577ee42a1881a853acfa6e710673b72ba15cc169333aef8fc63635ae5a7af8154d19409f57121d6580d10796585236812bdee04346084c9a831aea5d4be2ea248a90b9d71fb00823c2fdb522ff00e7482bd9d178766ad26807d963002104d3e42d2 -Ciphertext: 12fa7fe0fa0791d6a1ccb22f025563a9f61b1dbaf825bb59ae7523b531da1d720b816f42c12adeebe8171309aa65a5357d46e719e260af1ed2eb2096ab59a00f08671acf0e3a4ca67843641a5d9be4e2c00f8da7d37349f2560dabd133dab9dfe2ff6f3c087099ebcd2c4420b6485a8e810392310a8dfb61eb850ae70680882e98d8c97c1c922e6358c0ff3a6cb6df77f0ff86f4b2697c698c0440305d3ff03c1e -Test: Encrypt -IV: 12fa7fe0fa0791d6a1ccb22f025563a9f61b1dbaf825bb59 -Ciphertext: b069c6b32e99129d65d0e17dc92106edb3949710ea7f84638137073b706d790f4c57db477f4f40161c029f1663ca17fa6ffbe8f6d1e10d94718cc7cb75549307c2e3da305bd33263d7f80d8da26ddeeecb95a241f0d0dd636ca54f7129ee35bd49c707c52aff4a6fb5f520575d693949b8a1ece03cf093663c86b8cf97c89b87fc76cf76d9dce6791c499208fcf7a2b7e868f625a940b5721bee984bf3ba0925cd -Test: Resync -Key: 95d049394412ccaaa002264f391f2448837b9a9eaeeec49ae73f21c3bfb83016 -IV: deb9499a1b4043f0c116133700eae22ea61f45ffad305c03 -Plaintext: fba6e561dbb8d9d3dca1b6073d29103b758c463c5ad756920f66dcfe88fe0e4fc21b6aa382b6b96ef5785d51bf4c6b2375f7ca4494e711a34fef708ec09dd10311d312f7aaef6828f112ffa786263f1f9507ecd5fc3a80bc3fa75c17d272ef1c7cac66097a46df791d0d61a22a68dc4217f7ce54abbf7d4fd3fcedfb4d92c4a87657e15aa3417b62 -Ciphertext: a081927e375175dc84df664d824c351c9417614523e0c30d9fc5b6ab5aadcbd9d3a2fc28cfd7c11a807dfbcfdc7d28a54a5c44e52f6e9806a1c08a5fb06f322d22a91f5aa5097b9cb12ac29d5bdbbf8312fcde98b79c6cae3a26c9828874f9c8e2b072b6c1c70f15a1b6464c722fe183fb1367e03bb3991d8de30396aafe160b4669462ace11bf46 -Test: Encrypt -IV: a081927e375175dc84df664d824c351c9417614523e0c30d -Ciphertext: 2629e5e9e550bcb2d80ad3134a2ceaa80ebc96a68d4cb9b0bfc1e78b8b9b06b6ee34e242a174f65f2c74688b740aa9d52f14e900436c020c10b860f7cc8063dffa9b5baf2202a8ca05a3b52bea40bf7dc3c9444989f33e2ff0cc841742df284ea75c6dcfc9a2eee78dd9ce6b29255979b4abd333ed1ed92d19661850d42ca425a30d3aaf95a201d3 -Test: Resync -Key: 9a1831352b9bd922b41cde1ad94b40b3c2f622ffdd633d03f5638d2ca01b892a -IV: 4539205c887f099743e9ebd3aa4ef88ca7eb0a957a1cf8a2 -Plaintext: b4a37464a37b3691c7fe66a81572f535d780925b3b28dbc85b574edc2b6753278994fbcdac780c6f09e153fcd8a2ffb6e873c440dabcbd081e7bb35098c29dc97248dae7781dbc3b00d7c097c75a2f3cc88bf6dd1989 -Ciphertext: abc902e1dc5c4e5d858597347ebf523cfa233ffa1c38b7d8e8df8cb5dc75f08e74cc7077352efccdd18e39820bf03a39ae1aa56b3f07d92b148b26d6214d710167004b338c1f9868b6932b3d999e60f84ec839dc09cd -Test: Encrypt -IV: abc902e1dc5c4e5d858597347ebf523cfa233ffa1c38b7d8 -Ciphertext: 7b2d46034c39cf770b075dbf8eaaa19492e51e451d1ba97a0f4a71c466dea5dfa1d506ff3c7cb90fe276dfd73a6c0ce88e0df56ec0429872dbcae451dd19d2f3e58ac420e83c97909dce9673e7785cf3a11df9a0b062 -Test: Resync -Key: beed63202b4bb586cadbbb8b6893bc6ca2c07217a3b9275b499245aaace55383 -IV: d22603bfe4fe47187d969fce3aefe24beafb9337ef886980 -Plaintext: 375fe2819168ed3a1bfa7f46e037af06f202f1927b78606a46a35f41e23806817a4151872a5738ba76fc6bc736208124d2da5aaa952276125eb5ee95ab9668a7e773a2c429acf296979436ab21bf8bd77f31ab3023bd7fdbe28b93fe92ddabf0bdb1d990d628bf43942d728cddd330c8b79ab6a270877b789a714095074823637880bb380ad826c3a5ec6fd46c0e2b5887dbcfb101fd84 -Ciphertext: a9b65651c6b7b3a6322c21538d9732f2f31beabe4e94c288aff4cc0bd18dea04f15215343a07e16eda6eb535a04f0fa6100bbafd8fb7e89ed087e662cd5537ed321351d19b56a6dc4a8cf50078f7bc9bb9d2982a0ffc8d24e1814935a9ca38edc6b04105a8ac488437946af107e1bf0838db8ec4066646692fc61b9d94d09a83d63913838c1e88ef6845de6b32e261ae972a6b70e72d6e -Test: Encrypt -IV: a9b65651c6b7b3a6322c21538d9732f2f31beabe4e94c288 -Ciphertext: 685c9adf5239c2f521ac91e3a335267b34ce2aad1760f8771c51ac8c48ae1b93938ae2fa2f988b7c87a43c8cd4a97b5e65c2d11aa878c69349308922bf63dff3a5579d549d22c0028a336aac48bdba88cd9654e37746d2728ddf653c7eed0b0404df6f5a4342d0d7e1df8841da0a249313e105e2863d63fbed1ee621ef5e57f48753dbe3d2fc08d15b5244bdf0369c1741fe92fe3b677e -Test: Resync -Key: 8d4b9a4e7e3107c54a75a7c74b93ddf9c44adeffb07a503a05d6a5f287244808 -IV: 7abba4d58cf460f394f80bc9a080a355961c4a2511f50947 -Plaintext: ed3eccc8be0e5ae6d90eed3b15357050171716c7ae56bc9ef7224db5740257361b83aec0d8c7dc7a9e1df44e0f3fd1b8275bb6c5d6fb8d172df4918f39bab0323a5fa7c4a98aef3a482394882daf5403767f639c0d651f01b9b294d511876c4c3c471f7b684900c54cbbc1143d8aa690d7ab98a41fd9236c31692b7d2406beab5202e1b617ee43a6b9c8324404c4862e5fc0301ba8ac7d7b65df1eb36bf038c85e51a03f1b38a6fa74b0163657eebe640343b83a94ef09308ea3f98cc30ad9 -Ciphertext: 5cf10e20d44ba83ba4b201c7176846976b1a10a98d37f006a9b1ba01b4c81db6e97514d0dad76855d95483f3765b26ecb5f8403f8bd65a79cdc220bbc39a35538dfc757431c20b22cc825633a9af1be926f1072b38d2e89dcc903f2d257592ca97520c869abd4f2ec41b10adf0a2f7c56296975869dbc3a2e1465d32b7781991747ad3d141fb0c343419b76c5ce4facfc257f666c1dd020bdc8f189aea79d5c77e63f42da60510ba86ec2b1c934b90d77793b5951faf1c94b5e3ce38d869b0 -Test: Encrypt -IV: 5cf10e20d44ba83ba4b201c7176846976b1a10a98d37f006 -Ciphertext: e23e817a9c4c2740922734bbe3cc5fad938020ed34c0fe401d4da9cee010d4d1056b71d28856ea327d495c643d819d2d4ba6d97820909a7ac222b892aac4ab130610fbe29311f28432303af69d3dbd3a696fb35582aef9b7040a7e85f6c48d31a3d0c3f1cddb5251bc01a5ce0ace8c95882228ddf7c57aaf1890d70b899631a09af5f4130b436a69ab8623e0260cadebad595ba3d27da5df9e62544876d4daa3fe7af8ba8bdbb7246af0289903d69928c43a1c720b948e2d5a0e8b0d062fca -Test: Resync -Key: 39efc9016ceab203c0e172a335d7dc2916ff577f168904648dce170abf5d21ba -IV: e4e0a36fd930f726ff81007cc919ba0da8aacb5abab72394 -Plaintext: c1229356fb463b251270dae5bfe6772135af17b0624454edee3490ae95616c8b4efaab8a6b6f2a83b083d4ef19a86950c6b570d9000e94255087ecaeb56fead57eb8c51ef71fc802f9fd9d14f462fb5568d4206815e7f3473442b5f9ccc730fbf86a45a008f2b784d14791dcda532578e3ba17a0a3733bd518e15d2a65eb6c79a2130d988db4ee07f1f557a9a08aaa77f28744cf928829c940f70ec541a07b2646f4860fbda22f95cd20018deb68159aec40a889e534dd071a076b46d29a3445c8cebdf2ae0ea6ca7ecdfd203e5941581db5a84e66828f2c3e1b -Ciphertext: c885db1a0c9211392f2cf3cd655170409d53fa559acc66faf0f75766b4501ce80b739f51b985ab10ebcaae7adc2b58c1315ded28b77a2c1c1e3bb65b7d9866827a8b4a39f316222bf0522f3c4cd1ab367c6135cd1b104fcaf4cc746e12d3c72a5cf781d487e1a297d83822c6b68c1b5a9a9505a9b64963d64b2d50ef487057aec172cd070533c400fe0d83f79f4affb1be18fd9429d5dda1ed35c71d674fe98788e3b488bb3b5a781fb6689f8732aa8e4674a5df2643b03a332fdc3d5e10bee7014753a745b4e7bd2b579b8885955d8141fca840204da3eeceef -Test: Encrypt -IV: c885db1a0c9211392f2cf3cd655170409d53fa559acc66fa -Ciphertext: a65f1a87049667811331f8305128b6c06fc3becedae1661dcbac3a627d27cf80429687178b1ff1577cc99bee4b311c480dc3053a74fa523660e9af670d852a032e69b65bb2af61af8a2db4d3aad0a4b27ee74bc2203ac502d188975463f050e3369259d676881b1b318a1cd26094923d2c6fb15c0b522952c176c3cbc01252a4d64f875aea09a9295957be06209ae896410f5665422df60dc4038dc9ad1a45f16350bb433054b9a14061b5eed9cde905ea59f15bd1f58811dd4df49531138431e9d57a8a9adbd4d4fa472077ccf40a2a61affb82242db08f3d27 -Test: Resync -Key: 3070f0db09c523507d36404dac79038a393e9f0e3cf5f870b16d2a06da68dcd3 -IV: 4afe87bf79eb938d786ba54c26fd6d7e62261eeae8b62202 -Plaintext: f4ea120b47d15466ade07df0f2ff508759d9cb1035ceeab43920e9094fa50b868673b07173557d4b994b1e9d35078c1c7369df6b6adb2ec0e6bfd280fea8ac31db44beb0c2a4ddc6198957bd0592e3e587d304863b893ff8eee0efc70ced5d712651c3e9dd1a0de0480fd8cccbae4c50dccbacb83dcdc3e2cef7dbc645f0af468163fb0e015ef48ad74694dfbce2db8430a6e91645fd16adbb72e21a0fbaedf5ecff829cea9cbc22f82902748aa52da5ce903d9f2bde77efef5fa3970c720e89f25dd05157247bf0de2d2129c3f856238d4fad -Ciphertext: 46f396f0d2d54189968bf56b5b2f35588c3ad851e00fac6507598f3ea0193a586c00b18677811cc305b0261d9aebbb9c0485a5800c940aa4f09c4fbdede12553824c429c7954e0b8dad889203d292517b98a64e8d7a37c1364eb0934751323d9b9f8498f50d729e977fb742880222f22ac5d7bfebe6905a4c344d82027398a70c334635792deb0f20b83861b05e731f5627aee17df20413c79957556e66a970085e9ad40a73d9a964381584976c6f111619a916fbb5f5d305df862d5a56bac9ff9b436f31c85f34ff890b5ad3299eda2b8642d -Test: Encrypt -IV: 46f396f0d2d54189968bf56b5b2f35588c3ad851e00fac65 -Ciphertext: 358a8f5e5c6fe93c3d6d7d2f90f5973ba2c0cf7c4579c92a52d1ce6203ddd90188d3e36ff7cbe94e7adb4ec7596e89edcf3a94dba1fe64eeb24e8bec5fed2ef6faa4f0d16faf5853e8f69ee0ca0e048658507bd155bfa13d487c3b994f3a1b8871996eedc2d899d9d79ecd8ff968000b863337dc04d9ad8d05696659f8a1cae880e471621ea13ec42d163eecfdf9cd07bf0b10d6f4634ff16d26c700c88831efc82ac0abd0269b93e302422cfc2dc4088e28bc22ed6c06c9b51774bf3aa4088a6a18fa3d3608f9927837efc3382b25a7ab873c -Test: Resync +AlgorithmType: SymmetricCipher +Name: Salsa20 +Source: http://www.ecrypt.eu.org/stream/svn/viewcvs.cgi/ecrypt/trunk/submissions/salsa20/full/verified.test-vectors?rev=161&view=markup +Comment: Set 1, vector# 0 +Key: 80000000000000000000000000000000 +IV: 0000000000000000 +Plaintext: r16 00000000 +Seek: 0 +Ciphertext: 4DFA5E481DA23EA09A31022050859936DA52FCEE218005164F267CB65F5CFD7F2B4F97E0FF16924A52DF269515110A07F9E460BC65EF95DA58F740B7D1DBB0AA +Test: Encrypt +Seek: 448 +Ciphertext: B375703739DACED4DD4059FD71C3C47FC2F9939670FAD4A46066ADCC6A5645783308B90FFB72BE04A6B147CBE38CC0C3B9267C296A92A7C69873F9F263BE9703 +Test: Encrypt +Seek: 192 +Plaintext: r32 00000000 +Ciphertext: DA9C1581F429E0A00F7D67E23B730676783B262E8EB43A25F55FB90B3E753AEF8C6713EC66C51881111593CCB3E8CB8F8DE124080501EEEB389C4BCB6977CF95\ +7D5789631EB4554400E1E025935DFA7B3E9039D61BDC58A8697D36815BF1985CEFDF7AE112E5BB81E37ECF0616CE7147FC08A93A367E08631F23C03B00A8DA2F +Test: Encrypt +Comment: Set 3, vector#243 +Key: F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112 +IV: 0000000000000000 +Plaintext: r16 00000000 +Seek: 0 +Ciphertext: B4C0AFA503BE7FC29A62058166D56F8F5D27DC246F75B9AD8760C8C39DFD87492D3B76D5D9637F009EADA14458A52DFB09815337E72672681DDDC24633750D83 +Test: Encrypt +Seek: 448 +Ciphertext: 5A5FB5C8F0AFEA471F0318A4A2792F7AA5C67B6D6E0F0DDB79961C34E3A564BA2EECE78D9AFF45E510FEAB1030B102D39DFCECB77F5798F7D2793C0AB09C7A04 +Test: Encrypt +Seek: 192 +Plaintext: r32 00000000 +Ciphertext: DBBA0683DF48C335A9802EEF0252256354C9F763C3FDE19131A6BB7B85040624B1D6CD4BF66D16F7482236C8602A6D58505EEDCCA0B77AED574AB583115124B9\ +F0C5F98BAE05E019764EF6B65E0694A904CB9EC9C10C297B1AB1A6052365BB78E55D3C6CB9F06184BA7D425A92E7E987757FC5D9AFD7082418DD64125CA6F2B6 +Test: Encrypt +Comment: Set 6, vector# 3 +Seek: 0 +Key: 0F62B5085BAE0154A7FA4DA0F34699EC3F92E5388BDE3184D72A7DD02376C91C +IV: 288FF65DC42B92F9 +Plaintext: r131072 00 +CiphertextXorDigest: E00EBCCD70D69152725F9987982178A2E2E139C7BCBE04CA8A0E99E318D9AB76F988C8549F75ADD790BA4F81C176DA653C1A043F11A958E169B6D2319F4EEC1A +Test: EncryptXorDigest +AlgorithmType: SymmetricCipher +Name: Salsa20 +Source: http://www.ecrypt.eu.org/stream/svn/viewcvs.cgi/ecrypt/trunk/submissions/salsa20/reduced/12-rounds/verified.test-vectors?rev=210&view=auto +Comment: Set 1, vector# 0 +Rounds: 12 +Key: 80000000000000000000000000000000 +IV: 0000000000000000 +Plaintext: r64 00 +Seek: 0 +Ciphertext: FC207DBFC76C5E1774961E7A5AAD09069B2225AC1CE0FE7A0CE77003E7E5BDF8B31AF821000813E6C56B8C1771D6EE7039B2FBD0A68E8AD70A3944B677937897 +Test: Encrypt +Seek: 192 +Ciphertext: 4B62A4881FA1AF9560586510D5527ED48A51ECAFA4DECEEBBDDC10E9918D44AB26B10C0A31ED242F146C72940C6E9C3753F641DA84E9F68B4F9E76B6C48CA5AC +Test: Encrypt +Source: http://www.ecrypt.eu.org/stream/svn/viewcvs.cgi/ecrypt/trunk/submissions/salsa20/reduced/8-rounds/verified.test-vectors?rev=210&view=auto +Comment: Set 1, vector# 0 +Rounds: 8 +Key: 80000000000000000000000000000000 +IV: 0000000000000000 +Plaintext: r64 00 +Seek: 0 +Ciphertext: A9C9F888AB552A2D1BBFF9F36BEBEB337A8B4B107C75B63BAE26CB9A235BBA9D784F38BEFC3ADF4CD3E266687EA7B9F09BA650AE81EAC6063AE31FF12218DDC5 +Test: Encrypt +Seek: 192 +Ciphertext: BB5B6BB2CC8B8A0222DCCC1753ED4AEB23377ACCBD5D4C0B69A8A03BB115EF71871BC10559080ACA7C68F0DEF32A80DDBAF497259BB76A3853A7183B51CC4B9F +Test: Encrypt + +AlgorithmType: SymmetricCipher +Name: XSalsa20 +Source: created by Wei Dai using naclcrypto-20090308 +Key: 1b27556473e985d462cd51197a9a46c76009549eac6474f206c4ee0844f68389 +IV: 69696ee955b62b73cd62bda875fc73d68219e0036b7a0b37 +Plaintext: r139 00 +Ciphertext: \ +eea6a7251c1e72916d11c2cb214d3c252539121d8e234e652d651fa4c8cff880\ +309e645a74e9e0a60d8243acd9177ab51a1beb8d5a2f5d700c093c5e55855796\ +25337bd3ab619d615760d8c5b224a85b1d0efe0eb8a7ee163abb0376529fcc09\ +bab506c618e13ce777d82c3ae9d1a6f972d4160287cbfe60bf2130fc0a6ff604\ +9d0a5c8a82f429231f0080 +Key: a6a7251c1e72916d11c2cb214d3c252539121d8e234e652d651fa4c8cff88030 +IV: 9e645a74e9e0a60d8243acd9177ab51a1beb8d5a2f5d700c +Plaintext: 093c5e5585579625337bd3ab619d615760d8c5b224a85b1d0efe0eb8a7ee163abb0376529fcc09bab506c618e13ce777d82c3ae9d1a6f972d4160287cbfe60bf2130fc0a6ff6049d0a5c8a82f429231f008082e845d7e189d37f9ed2b464e6b919e6523a8c1210bd52a02a4c3fe406d3085f5068d1909eeeca6369abc981a42e87fe665583f0ab85ae71f6f84f528e6b397af86f6917d9754b7320dbdc2fea81496f2732f532ac78c4e9c6cfb18f8e9bdf74622eb126141416776971a84f94d156beaf67aecbf2ad412e76e66e8fad7633f5b6d7f3d64b5c6c69ce29003c6024465ae3b89be78e915d88b4b5621d +Ciphertext: b2af688e7d8fc4b508c05cc39dd583d6714322c64d7f3e63147aede2d9534934b04ff6f337b031815cd094bdbc6d7a92077dce709412286822ef0737ee47f6b7ffa22f9d53f11dd2b0a3bb9fc01d9a88f9d53c26e9365c2c3c063bc4840bfc812e4b80463e69d179530b25c158f543191cff993106511aa036043bbc75866ab7e34afc57e2cce4934a5faae6eabe4f221770183dd060467827c27a354159a081275a291f69d946d6fe28ed0b9ce08206cf484925a51b9498dbde178ddd3ae91a8581b91682d860f840782f6eea49dbb9bd721501d2c67122dea3b7283848c5f13e0c0de876bd227a856e4de593a3 +Test: Encrypt +IV: b2af688e7d8fc4b508c05cc39dd583d6714322c64d7f3e63 +Ciphertext: 418078fe843f5984dd3c7975d1ff51af4dceda640999aaa3c28618ae286ca15051cb4d55f9da22a213ef14a2b905b52c99a557854c7f2a6d6ed6f69c1c6649f3fb67b8628468029b3367920c2e1148aa1f3b9c695cb1426f09ce84045842946e0454e41ab1edb32cae4b95669de4e2ccaf00ba86ffeae6a9c5fce4153baddb0d8998a600537a9649939cb7d7a9c4e8cbca0fab77963abd516699879de0b1971dc7328668111ff5b77c253b9e6346d1a2ce6e390cd736156ad7f44b339cfb141f00e7a766c06e130b0c31d88980d2ad8814a2d641599162ab8af25d93067f06a49637eaf6523806b8fa07d56628bb +Test: Resync +Key: 9e1da239d155f52ad37f75c7368a536668b051952923ad44f57e75ab588e475a +IV: af06f17859dffa799891c4288f6635b5c5a45eee9017fd72 +Plaintext: feac9d54fc8c115ae247d9a7e919dd76cfcbc72d32cae4944860817cbdfb8c04e6b1df76a16517cd33ccf1acda9206389e9e318f5966c093cfb3ec2d9ee2de856437ed581f552f26ac2907609df8c613b9e33d44bfc21ff79153e9ef81a9d66cc317857f752cc175fd8891fefebb7d041e6517c3162d197e2112837d3bc4104312ad35b75ea686e7c70d4ec04746b52ff09c421451459fb59f +Ciphertext: 2c261a2f4e61a62e1b27689916bf03453fcbc97bb2af6f329391ef063b5a219bf984d07d70f602d85f6db61474e9d9f5a2deecb4fcd90184d16f3b5b5e168ee03ea8c93f3933a22bc3d1a5ae8c2d8b02757c87c073409052a2a8a41e7f487e041f9a49a0997b540e18621cad3a24f0a56d9b19227929057ab3ba950f6274b121f193e32e06e5388781a1cb57317c0ba6305e910961d01002f0 +Test: Encrypt +IV: 2c261a2f4e61a62e1b27689916bf03453fcbc97bb2af6f32 +Ciphertext: 7030af4a9db8a6b95f55f962efefcc60d8ceb0d5d920e808cebd8cf6f31542d227a67c9db8888cfcb9410ae357f8a3da06a608a93b7fd5513978c6b8b837f6ecaafd3366495cdd3ab719d9d4c2ac74d6ea2eb117f30369ea62727fa6dc7982f668fa3bf44c9da8e70ff8c18b07d63aa01afe1311bdafc457d06c69aaea0dfbb1fc89d1574ad1e7be8b459d4cf36bdd88db0363219652089c50 +Test: Resync +Key: d5c7f6797b7e7e9c1d7fd2610b2abf2bc5a7885fb3ff78092fb3abe8986d35e2 +IV: 744e17312b27969d826444640e9c4a378ae334f185369c95 +Plaintext: 7758298c628eb3a4b6963c5445ef66971222be5d1a4ad839715d1188071739b77cc6e05d5410f963a64167629757 +Ciphertext: 27b8cfe81416a76301fd1eec6a4d99675069b2da2776c360db1bdfea7c0aa613913e10f7a60fec04d11e65f2d64e +Test: Encrypt +IV: 27b8cfe81416a76301fd1eec6a4d99675069b2da2776c360 +Ciphertext: ed158a1dd07f4316d403af3e6977afaac8205d678b38fa5928c61e366ff27003143d5d20482a2ea76a50756225a4 +Test: Resync +Key: 737d7811ce96472efed12258b78122f11deaec8759ccbd71eac6bbefa627785c +IV: 6fb2ee3dda6dbd12f1274f126701ec75c35c86607adb3edd +Plaintext: 501325fb2645264864df11faa17bbd58312b77cad3d94ac8fb8542f0eb653ad73d7fce932bb874cb89ac39fc47f8267cf0f0c209f204b2d8578a3bdf461cb6a271a468bebaccd9685014ccbc9a73618c6a5e778a21cc8416c60ad24ddc417a130d53eda6dfbfe47d09170a7be1a708b7b5f3ad464310be36d9a2a95dc39e83d38667e842eb6411e8a23712297b165f690c2d7ca1b1346e3c1fccf5cafd4f8be0 +Ciphertext: 6724c372d2e9074da5e27a6c54b2d703dc1d4c9b1f8d90f00c122e692ace7700eadca942544507f1375b6581d5a8fb39981c1c0e6e1ff2140b082e9ec016fce141d5199647d43b0b68bfd0fea5e00f468962c7384dd6129aea6a3fdfe75abb210ed5607cef8fa0e152833d5ac37d52e557b91098a322e76a45bbbcf4899e790618aa3f4c2e5e0fc3de93269a577d77a5502e8ea02f717b1dd2df1ec69d8b61ca +Test: Encrypt +IV: 6724c372d2e9074da5e27a6c54b2d703dc1d4c9b1f8d90f0 +Ciphertext: cfb653dd50a04a8580847d5bb98dc15e27c60f5a70da635718ba6d589f47935ed476fc960ffaf3b8750a59171b1434429a977ba878aea7ace8dd083a9238585112591165d0948a86e89e6118d572aa85667cceffd78a60baa5a152dc5e29bdd93f7389edde1541eec2f3aac38ea2bfc812f73de7e2e7b1322468f823a2c7c16e30fe9283894ac057da5c45a67f4988b4edafeb51c1b4a51a849d188b15838552 +Test: Resync +Key: 760158da09f89bbab2c99e6997f9523a95fcef10239bcca2573b7105f6898d34 +IV: 43636b2cc346fc8b7c85a19bf507bdc3dafe953b88c69dba +Plaintext: d30a6d42dff49f0ed039a306bae9dec8d9e88366cc19e8c3642fd58fa0794ebf8029d949730339b0823a51f0f49f0d2c71f1051c1e0e2c86941f172789cdb1b0107413e70f982ff9761877bb526ef1c3eb1106a948d60ef21bd35d32cfd64f89b79ed63ecc5cca56246af736766f285d8e6b0da9cb1cd21020223ffacc5a32 +Ciphertext: c815b6b79b64f9369aec8dce8c753df8a50f2bc97c70ce2f014db33a65ac5816bac9e30ac08bdded308c65cb87e28e2e71b677dc25c5a6499c1553555daf1f55270a56959dffa0c66f24e0af00951ec4bb59ccc3a6c5f52e0981647e53e439313a52c40fa7004c855b6e6eb25b212a138e843a9ba46edb2a039ee82a263abe +Test: Encrypt +IV: c815b6b79b64f9369aec8dce8c753df8a50f2bc97c70ce2f +Ciphertext: ab7204ab4f995c2d87376c3586f0261250907ab2c25e2d232f10f51f0f3a3f11ff704ba188a508301fb9d5f7e4d55070631ecd2e3be5d79d4fa67f4f4acb3879afc2dc18c09446489b79dd3043f74027e9a24a54d8babe757c9a3470a95cb7b7b093331e32534b337d697046f7349bcfa89036b3cf50ecfc6f1e61300a49b6 +Test: Resync +Key: 27ba7e81e7edd4e71be53c07ce8e633138f287e155c7fa9e84c4ad804b7fa1b9 +IV: ea05f4ebcd2fb6b000da0612861ba54ff5c176fb601391aa +Plaintext: e09ff5d2cb050d69b2d42494bde5825238c756d6991d99d7a20d1ef0b83c371c89872690b2fc11d5369f4fc4971b6d3d6c078aef9b0f05c0e61ab89c025168054defeb03fef633858700c58b1262ce011300012673e893e44901dc18eee3105699c44c805897bdaf776af1833162a21a +Ciphertext: a23e7ef93c5d0667c96d9e404dcbe6be62026fa98f7a3ff9ba5d458643a16a1cef7272dc6097a9b52f35983557c77a11b314b4f7d5dc2cca15ee47616f861873cbfed1d32372171a61e38e447f3cf362b3abbb2ed4170d89dcb28187b7bfd206a3e026f084a7e0ed63d319de6bc9afc0 +Test: Encrypt +IV: a23e7ef93c5d0667c96d9e404dcbe6be62026fa98f7a3ff9 +Ciphertext: 5c77efcb16097df824bd58cd3498e07af1c761740b5539929115e2caf3bc10eed2a16254a4306f4e20827247900276ce887362990c070c0f79e15987473b7ad240e7a9f8e6e3f020fb337438cc3c8b81c4cdbfbdd7b543b13a48a4959744f3efcb99a939c0599ce32f816d12c2b47a2f +Test: Resync +Key: 6799d76e5ffb5b4920bc2768bafd3f8c16554e65efcf9a16f4683a7a06927c11 +IV: 61ab951921e54ff06d9b77f313a4e49df7a057d5fd627989 +Plaintext: 472766 +Ciphertext: 8fd7df +Test: Encrypt +IV: 8fd7dfcb16097df824bd58cd3498e07af1c761740b553992 +Ciphertext: 85e098 +Test: Resync +Key: f68238c08365bb293d26980a606488d09c2f109edafa0bbae9937b5cc219a49c +IV: 5190b51e9b708624820b5abdf4e40fad1fb950ad1adc2d26 +Plaintext: 47ec6b1f73c4b7ff5274a0bfd7f45f864812c85a12fbcb3c2cf8a3e90cf66ccf2eacb521e748363c77f52eb426ae57a0c6c78f75af71284569e79d1a92f949a9d69c4efc0b69902f1e36d7562765543e2d3942d9f6ff5948d8a312cff72c1afd9ea3088aff7640bfd265f7a9946e606abc77bcedae6bddc75a0dba0bd917d73e3bd1268f727e0096345da1ed25cf553ea7a98fea6b6f285732de37431561ee1b3064887fbcbd71935e02 +Ciphertext: 36160e88d3500529ba4edba17bc24d8cfaca9a0680b3b1fc97cf03f3675b7ac301c883a68c071bc54acdd3b63af4a2d72f985e51f9d60a4c7fd481af10b2fc75e252fdee7ea6b6453190617dcc6e2fe1cd56585fc2f0b0e97c5c3f8ad7eb4f31bc4890c03882aac24cc53acc1982296526690a220271c2f6e326750d3fbda5d5b63512c831f67830f59ac49aae330b3e0e02c9ea0091d19841f1b0e13d69c9fbfe8a12d6f30bb734d9d2 +Test: Encrypt +IV: 36160e88d3500529ba4edba17bc24d8cfaca9a0680b3b1fc +Ciphertext: f003b213737415a81894a3d3d8fe4e4434d4df2b253d60c44609bdc0414cedf8bae297ecdb1d0b92393dd6dd7027b555388ac8a66308082fc6327ad94ad96223003de15c48a06e9cd99b5561e7fc5949c6ba8cf11d6ba1374ec32062caef541e7252d168781aab4c637793433b3998c5a5013fd35c336600a02765ddbf52b97ae80dbfbbe55e43c6bd5f746a1c2df4c80611c76a90308c47b2807876249d6d3c507a1a96c2bbb8242ccd +Test: Resync +Key: 45b2bd0de4ed9293ec3e26c4840faaf64b7d619d51e9d7a2c7e36c83d584c3df +IV: 546c8c5d6be8f90952cab3f36d7c1957baaa7a59abe3d7e5 +Plaintext: 5007c8cd5b3c40e17d7fe423a87ae0ced86bec1c39dc07a25772f3e96dabd56cd3fd7319f6c9654925f2d87087a700e1b130da796895d1c9b9acd62b266144067d373ed51e787498b03c52faad16bb3826fa511b0ed2a19a8663f5ba2d6ea7c38e7212e9697d91486c49d8a000b9a1935d6a7ff7ef23e720a45855481440463b4ac8c4f6e7062adc1f1e1e25d3d65a31812f58a71160 +Ciphertext: 8eacfba568898b10c0957a7d44100685e8763a71a69a8d16bc7b3f88085bb9a2f09642e4d09a9f0ad09d0aad66b22610c8bd02ff6679bb92c2c026a216bf425c6be35fb8dae7ff0c72b0efd6a18037c70eed0ca90062a49a3c97fdc90a8f9c2ea536bfdc41918a7582c9927fae47efaa3dc87967b7887dee1bf071734c7665901d9105dae2fdf66b4918e51d8f4a48c60d19fbfbbcba +Test: Encrypt +IV: 8eacfba568898b10c0957a7d44100685e8763a71a69a8d16 +Ciphertext: f17808cf21dba4762ced5fcc264f615a4619d8d5ee3278dbdacf14a799f8ee5f8a38a7fd9d262b336e51a8790c90fb8f0b63a49edae81f9a200ad73d9ed5ce6257524b506d7a219013e3e44a1f2a264b7f7f121e5d4765d0bdfe4a36fc51e48ee21e9dcbc3dc2541405bbdb90490fd786b942a07786094fc990be21e5b746d522cad26269a76c85134ee654f33485807fc28cf87ac37 +Test: Resync +Key: fe559c9a282beb40814d016d6bfcb2c0c0d8bf077b1110b8703a3ce39d70e0e1 +IV: b076200cc7011259805e18b304092754002723ebec5d6200 +Plaintext: 6db65b9ec8b114a944137c821fd606be75478d928366d5284096cdef782fcff7e8f59cb8ffcda979757902c5ffa6bc477ceaa4cb5d5ea76f94d91e833f823a6bc78f1055dfa6a97bea8965c1cde67a668e001257334a585727d9e0f7c1a06e88d3d25a4e6d9096c968bf138e116a3ebeffd4bb4808adb1fd698164ba0a35c709a47f16f1f4435a2345a9194a00b95abd51851d505809a6077da9baca5831afff31578c487ee68f2767974a98a7e803aac788da98319c4ea8eaa3d394855651f484cef543f537e35158ee29 +Ciphertext: 4dce9c8f97a028051b0727f34e1b9ef21f06f0760f36e71713204027902090ba2bb6b13436ee778d9f50530efbd7a32b0d41443f58ccaee781c7b716d3a96fdec0e3764ed7959f34c3941278591ea033b5cbadc0f1916032e9bebbd1a8395b83fb63b1454bd775bd20b3a2a96f951246ac14daf68166ba62f6cbff8bd121ac9498ff8852fd2be975df52b5daef3829d18eda42e715022dcbf930d0a789ee6a146c2c7088c35773c63c06b4af4559856ac199ced86863e4294707825337c5857970eb7fddeb263781309011 +Test: Encrypt +IV: 4dce9c8f97a028051b0727f34e1b9ef21f06f0760f36e717 +Ciphertext: 534f5151319c299d7356be2275ed2137fab66742797370b511e5150dcf7bc75c06d5249e8e8bd7c16e563cc7d99368a7a7f47f811a2ae2b632c73e9f49641bf9954d4df19c2778221d780f799806757738b327e6aeebab6bb22137f8b994c1e08baff75bb2774576bce2deb599817fc7a69860c538efffe91439f4714e4629b00a25b5b1a6be8aa7da2be33bad953481926e0067a70d4ff1a7bd0111e605ef6a2d66fa7af43d746c24a5d464dd6f75773aa9b65bbdfad9b82fe80f182b144cea9211d0b2472de873008509 +Test: Resync +Key: 0ae10012d7e56614b03dcc89b14bae9242ffe630f3d7e35ce8bbb97bbc2c92c3 +IV: f96b025d6cf46a8a12ac2af1e2aef1fb83590adadaa5c5ea +Plaintext: ea0f354e96f12bc72bbaa3d12b4a8ed879b042f0689878f46b651cc4116d6f78409b11430b3aaa30b2076891e8e1fa528f2fd169ed93dc9f84e24409eec2101daf4d057be2492d11de640cbd7b355ad29fb70400fffd7cd6d425abeeb732a0eaa4330af4c656252c4173deab653eb85c58462d7ab0f35fd12b613d29d473d330310dc323d3c66348bbdbb68a326324657cae7b77a9e34358f2cec50c85609e73056856796e3be8d62b6e2fe9f953 +Ciphertext: e8abd48924b54e5b80866be7d4ebe5cf4274cafff08b39cb2d40a8f0b472398aedc776e0793812fbf1f60078635d2ed86b15efcdba60411ee23b07233592a44ec31b1013ce8964236675f8f183aef885e864f2a72edf4215b5338fa2b54653dfa1a8c55ce5d95cc605b9b311527f2e3463ffbec78a9d1d65dabad2f338769c9f43f133a791a11c7eca9af0b771a4ac32963dc8f631a2c11217ac6e1b9430c1aae1ceebe22703f429998a8fb8c641 +Test: Encrypt +IV: e8abd48924b54e5b80866be7d4ebe5cf4274cafff08b39cb +Ciphertext: e8c59b616dd10474930c432422d23d8df8dee1c626def1278eb6c9828435c0c8a98aea9d350752a78cf0cf1de7973436605f22b0d40b9059d777c55c8fd02cd9dbab6888161ed28979c64b700d7ea48038edf36af21078713f844f5f23a4f271aad3562ed2cd773de622fff2f0b5785672760a7064e5415c76ffec522eb1225868345e89a9fcbb4f12c1176b01550fe7a74f750dc43d6fa4718c33ba99b0084c7a1a8e245c8566056296aabe13af +Test: Resync +Key: 082c539bc5b20f97d767cd3f229eda80b2adc4fe49c86329b5cd6250a9877450 +IV: 845543502e8b64912d8f2c8d9fffb3c69365686587c08d0c +Plaintext: a96bb7e910281a6dfad7c8a9c370674f0ceec1ad8d4f0de32f9ae4a23ed329e3d6bc708f876640a229153ac0e7281a8188dd77695138f01cda5f41d5215fd5c6bdd46d982cb73b1efe2997970a9fdbdb1e768d7e5db712068d8ba1af6067b5753495e23e6e1963af012f9c7ce450bf2de619d3d59542fb55f3 +Ciphertext: 835da74fc6de08cbda277a7966a07c8dcd627e7b17adde6d930b6581e3124b8baad096f693991fedb1572930601fc7709541839b8e3ffd5f033d2060d999c6c6e3048276613e648000acb5212cc632a916afce290e20ebdf612d08a6aa4c79a74b070d3f872a861f8dc6bb07614db515d363349d3a8e3336a3 +Test: Encrypt +IV: 835da74fc6de08cbda277a7966a07c8dcd627e7b17adde6d +Ciphertext: a91f3039c37f753857510f121cbbab8f942b41a4d04815729361268c84abed9fd3dd2c0a84ea5dc3cab46245f720d8f0fd81ce4c7837aae561186f66ae70db9e5c2238f1b417b0ab001eada16d1f9bcc2ed74d335fe8da60bebd8b1c4ae4c51d8c46eec7d1fd575a5824bced85b02bfcb1e11d5686471b2791 +Test: Resync +Key: 3d02bff3375d403027356b94f514203737ee9a85d2052db3e4e5a217c259d18a +IV: 74216c95031895f48c1dba651555ebfa3ca326a755237025 +Plaintext: 0d4b0f54fd09ae39baa5fa4baccf2e6682e61b257e01f42b8f +Ciphertext: 16c4006c28365190411eb1593814cf15e74c22238f210afc3d +Test: Encrypt +IV: 16c4006c28365190411eb1593814cf15e74c22238f210afc +Ciphertext: c86458ffa23d50437f3385ea7d3fbae5cdc1df7a14658b8316 +Test: Resync +Key: ad1a5c47688874e6663a0f3fa16fa7efb7ecadc175c468e5432914bdb480ffc6 +IV: e489eed440f1aae1fac8fb7a9825635454f8f8f1f52e2fcc +Plaintext: aa6c1e53580f03a9abb73bfdadedfecada4c6b0ebe020ef10db745e54ba861caf65f0e40dfc520203bb54d29e0a8f78f16b3f1aa525d6bfa33c54726e59988cfbec78056 +Ciphertext: 02fe84ce81e178e7aabdd3ba925a766c3c24756eefae33942af75e8b464556b5997e616f3f2dfc7fce91848afd79912d9fb55201b5813a5a074d2c0d4292c1fd441807c5 +Test: Encrypt +IV: 02fe84ce81e178e7aabdd3ba925a766c3c24756eefae3394 +Ciphertext: 5526b8ff95272e95ad298c30f9f165353ecf0f68aa2943476ec53c386cf07c465b677be13d01279779965dda94d23fe9452dc4934e344c2ee0f6f5e32efc2b3f79630492 +Test: Resync +Key: 053a02bedd6368c1fb8afc7a1b199f7f7ea2220c9a4b642a6850091c9d20ab9c +IV: c713eea5c26dad75ad3f52451e003a9cb0d649f917c89dde +Plaintext: 8f0a8a164760426567e388840276de3f95cb5e3fadc6ed3f3e4fe8bc169d9388804dcb94b6587dbb66cb0bd5f87b8e98b52af37ba290629b858e0e2aa7378047a26602 +Ciphertext: 516710e59843e6fbd4f25d0d8ca0ec0d47d39d125e9dad987e0518d49107014cb0ae405e30c2eb3794750bca142ce95e290cf95abe15e822823e2e7d3ab21bc8fbd445 +Test: Encrypt +IV: 516710e59843e6fbd4f25d0d8ca0ec0d47d39d125e9dad98 +Ciphertext: aadb7c36647ded09fca7587edfa9bbe81911925fa8996330c8e7b77601075e5f94404db9f82c67e2cd39d1649062d4c30cf23bc28f9ddd6d5b9ec586a7de7f8ef45560 +Test: Resync +Key: 5b14ab0fbed4c58952548a6cb1e0000cf4481421f41288ea0aa84add9f7deb96 +IV: 54bf52b911231b952ba1a6af8e45b1c5a29d97e2abad7c83 +Plaintext: 37fb44a675978b560ff9a4a87011d6f3ad2d37a2c3815b45a3c0e6d1b1d8b1784cd468927c2ee39e1dccd4765e1c3d676a335be1ccd6900a45f5d41a317648315d8a8c24adc64eb285f6aeba05b9029586353d303f17a807658b9ff790474e1737bd5fdc604aeff8dfcaf1427dcc3aacbb0256badcd183ed75a2dc52452f87d3c1ed2aa583472b0ab91cda20614e9b6fdbda3b49b098c95823cc72d8e5b717f2314b0324e9ce +Ciphertext: ae6deb5d6ce43d4b09d0e6b1c0e9f46157bcd8ab50eaa3197ff9fa2bf7af649eb52c68544fd3adfe6b1eb316f1f23538d470c30dbfec7e57b60cbcd096c782e7736b669199c8253e70214cf2a098fda8eac5da79a9496a3aae754d03b17c6d70d1027f42bf7f95ce3d1d9c338854e158fcc803e4d6262fb639521e47116ef78a7a437ca9427ba645cd646832feab822a208278e45e93e118d780b988d65397eddfd7a819526e +Test: Encrypt +IV: ae6deb5d6ce43d4b09d0e6b1c0e9f46157bcd8ab50eaa319 +Ciphertext: 89e9c51abd31d6156b96c4e82ef0dfe5c376bd6324750fdbc46e5ae63897323c816fb5bb8e6bf4335853e512cc334dbbfecccfe4e5c8fe8289963ee7127f3ac56bc26b7bd4f0d1e0afb06bde930e7587eedf07995d5052bbff5453147c1555a7c8534111295bb5ab9e89645cc330ae3e0d9294c9e7d6d841579e93aefeaed879f8e8299459a3c07e3c9dee497360510668c5246970ad39077e8d8935b0d885f11d2f06dee0d7 +Test: Resync +Key: d74636e3413a88d85f322ca80fb0bd650bd0bf0134e2329160b69609cd58a4b0 +IV: efb606aa1d9d9f0f465eaa7f8165f1ac09f5cb46fecf2a57 +Plaintext: f85471b75f6ec81abac2799ec09e98e280b2ffd64ca285e5a0109cfb31ffab2d617b2c2952a2a8a788fc0da2af7f530758f74f1ab56391ab5ff2adbcc5be2d6c7f49fbe8118104c6ff9a23c6dfe52f57954e6a69dcee5db06f514f4a0a572a9a8525d961dae72269b987189d465df6107119c7fa790853e063cba0fab7800ca932e258880fd74c33c784675bedad0e7c09e9cc4d63dd5e9713d5d4a0196e6b562226ac31b4f57c04f90a181973737ddc7e80f364112a9fbb435ebdbcabf7d490ce52 +Ciphertext: b2b795fe6c1d4c83c1327e015a67d4465fd8e32813575cbab263e20ef05864d2dc17e0e4eb81436adfe9f638dcc1c8d78f6b0306baf938e5d2ab0b3e05e735cc6fff2d6e02e3d60484bea7c7a8e13e23197fea7b04d47d48f4a4e5944174539492800d3ef51e2ee5e4c8a0bdf050c2dd3dd74fce5e7e5c37364f7547a11480a3063b9a0a157b15b10a5a954de2731ced055aa2e2767f0891d4329c426f3808ee867bed0dc75b5922b7cfb895700fda016105a4c7b7f0bb90f029f6bbcb04ac36ac16 +Test: Encrypt +IV: b2b795fe6c1d4c83c1327e015a67d4465fd8e32813575cba +Ciphertext: 0a8a907dc7f30f6f68eec465ead25768383956a304aa32e4ccea6e3756cbb19f2751e3b68339ade1499004a88170e44620529d3c568cb1e014c16548830dfbce1b47a2dcdd28e59bb0daf5908c5ff51817bd119fe33bda07d63e93a3522685eb101d912b02d093780d10884959ae4a49e2fb7fca51b81394f09314879a41f6dc2f4a7dc34e88da4747a5a1fc15dcb207d13222f08f91f079eafbded0d6036325f607ff29ff2fc7635e8c3767d61a3b7814227d6a2798d623bfdf674604e4e9e03529 +Test: Resync +Key: ea060c72f6e0080fd4a9a2131c9d684902415cab34fce4e52d62273e3c385f37 +IV: 5826043957a27509423fdd82f34935928a4b23a84ede72c8 +Plaintext: 20ae58dbf5c20225c35518711a86a19a61d5ba47ab17e8c5fa9658333d40ed31bffb79cde927c36baf61ed8df37acac330f64471bd91d90bfafa72dc8cdb6ed95ec6610cd6e8f2859255216a3eb4b573410d5644a40e4f0fa785d556304489c0023a1991eb0d01b5 +Ciphertext: 6025c4d5bcc769cc3e67b88340b4101690eb283654c761f8a0af360926313129f16d1c9358ecbaf66acd85787c7c1f52a953bc05e91d43bf3d94d341bffc5913435fb3a8e6264ccd1c355472929a140fe30a22689b055082c70395e0b070a3f0967ab36848cdf3d9 +Test: Encrypt +IV: 6025c4d5bcc769cc3e67b88340b4101690eb283654c761f8 +Ciphertext: a420fde6c359342819ed9c07853c594c0098fd2a3c8da24713dbd12261b528e43af7dd52ddf1a1b553d08c20b0ab399c38a067fb115368c990d9e839735c8427aa885eacb5c2900d1d04afdd3d35793f11c78dd826c5d09351f39823a13976eaa5a49b0bdb054043 +Test: Resync +Key: 115aaaa3a3827fb05175412dc6478747d7c128ce2637b6afdfe3213f7b0b6991 +IV: f8cbe32bdb4c8eac3a571f186ef683b9eb902302ff7ac746 +Plaintext: b09472fbdaa3e4bdb7b04c8819fb3257f764154d09cea22e9a67b40f7e601a97c469811773d2733eb4ab0da6249f237d4c063012fd06714a726b24a512daa7e287d39818980a6720abc45f10aab7d71da318244507b5a9d0aeae76ec5efd3b5ce167c38196744d13b07a14805ee49dc4421e0c59d559e8518a9911682ce1d2b307ccba48dd98c003103421ae6253c6a2476dda5d11cb3d5e7d6dc2c02499d5731095ee89f77c7d4ef27231fd6e9e854d1ed84b0b47bc4794e68e055e1d83d75ab527a53ebefa4d363f952562ac1aa47635296d55e2d5d1b8e214c95445bd586c7f82b31839ff78a60f0063 +Ciphertext: 50c5e2584d473a696c797ff1668137e331bcd9a1ecd5c146422a9140de87c10996d407c5eb8335b5bdb7a9b1613ccc198d5157c6f89d409e1ce7958605d68d442e1b10179c13e12ec33f98d676ae4be95ac7a82786402b1491918a6526e9676037d04fa7aebfd9afd39f6d10dc663877ebbb67aa82c6089529218db9622bd0af7e722e72265e25524d827da8eea6d7e0daf94c516ba24ecca2d820959c0dc939252158903d97139f6fcd81752deb3e9108fc62178bf54797c428e0887d1849fb5004c3b76f0d466afffd47f5066d6dfcbe4782319738e90fa19de6b99861bfc9e8112df4573bb38b1b9e35 +Test: Encrypt +IV: 50c5e2584d473a696c797ff1668137e331bcd9a1ecd5c146 +Ciphertext: 280303c6467f6badc300961c549c33f249c6d2df0596a459383b4c995b296854dea2072d04e46cd47c3380c4be6f6456e8759a5ab2025bd20ae6d116b0bba77b4f03aaa118c73e50f48755a89474c4380e8bbecffc4d6c84514711094ef67c2ed8b81a07c2afa41a19709e69d0bea22067eb3ce3618d80066f9c9f333eea1a624cc4d4dbfb0134004d1d6d295751c7a134cfd29cc85045734e2a4400c261cca16bca4c7e4622837eeed6ddc64c0999347248081aedd3f4d911ad5c92aa491b05510adcb0bcd7c0711a964f176775f11d8b00d9e4264afbb4d6b6a81760d964ca495485895ebba1dd1d2bf9 +Test: Resync +Key: da4147528d2e7862009aa772051e60e309721eeef4b4bcd7f98ae8d0561960b3 +IV: b625057bd07c1385fc08bdc14d735e5832dce5aa0045d9e4 +Plaintext: 6db3a848beb8a6e9670ed91427364c9b042d000a14eb2ac4c6097625e20b2e8eb367c156f927262d2251974d5953f17d00b4ed6b4d93513a19ee6b4f1a159bec8ff94151a7bdd6074d12d343fd852fa69a26302a11caf57417e950723c5a5e795de4cb6523fede7af6b6cb68f41931a1eebea6079e8018fe4116e7b03df7 +Ciphertext: 399c5bf3b894e3dcb5881fdcd927d8cf4ececa5140b2425df5cb2cb993b6901f736e94fb847de41b7c32ae990510402ce5e99a34b5acbb3b5aefbe55be4707025ffcfd6605b6ebeffca3c1ed3c42cba900eb5f14c195e5c574eae67e7355b780403e44ebc91f81fb04f95759f78999fe619d5b8f9fb2185c0e14cadfa8dd +Test: Encrypt +IV: 399c5bf3b894e3dcb5881fdcd927d8cf4ececa5140b2425d +Ciphertext: ebb1d4ebb394e185fddd72fad5efa8434465a9ce758fbdae25cdc6b1278b2e137f5afa706c5a8e95684fcf6645c6c2f67f698621c7d6c7f1899be12e2f6c9e480315c12f02405b8bcf45f4a715eeb72f12e0fef15740734747764e698ee88d05ab30028c9ee237a48b50c8fc453b7d370daad88e57a572a9cb8091526861 +Test: Resync +Key: d61f8e75dc9295dc029292764f3ed08dfb6fd725cae4b0e47aceecaefcf654d8 +IV: a6046a92ad15e9f9d8027ff39bfbf534d46fec35bc9cd94f +Plaintext: c11f014781804645ca22ca213a5558a038090341f3f70aa1df0bf135fb8d0184d77783b519c9c2b2b0b748880a85bab986de7a37a4a11bcbb5c0c87676d7808fd41abbfd0d7a11a7c545405a4ae42f60baa22ccee6de0272e79610c7b885b70ba9bf027657abae393cc8f56735faab9f6fbe36e7a4d99ce15cdac24223880bfb5865ac7acf01ea833098fb148406e6 +Ciphertext: f3b2a1188c33e96124f383b8b75dcacbf782f728eaf436db05551ae2be1a77f09c9ea009d8651329d0a812580d1e11d0f64c44e245bf30dd9c8033b72d0e5049131063c5fc2a3f219e6c1bd993c8961cc174eebb655574dd45b73d0d804f5190f92e385dfd7c2a4ff430ed6dabd41db040aca8ece7f11de796478026f48337f763cf69aef12609384f0ae72ee38c8c +Test: Encrypt +IV: f3b2a1188c33e96124f383b8b75dcacbf782f728eaf436db +Ciphertext: a9b213db6c8e161687e1b63f32a806f15aa8b3ee60cd37d7d437f90b446c3361d37893b702dfe774e5e5ce486399cd408fbf6ca1005768bf7825130c061e43f6077080438514f1a8ecdc6ff7cc264122b1a55c849c76328e833667326f23670590b77f2bfb9a666bcc4c44c16efd6c506c37ec62de8e5365ee894670ac4264b807a8455d8df05ba45af51ff1fee343 +Test: Resync +Key: 0f2850f98634181f49e53bf49d2f822fbf75e5f77c6cd7487541c514a4101ce7 +IV: d6defb4e74c327d89123bdc1d1c6d2fce6b745079bc2c9ef +Plaintext: a064bd9bdab0ee26530c2d26be556cd67295180bca445dfc87954bc51b28a21b606a229cf5a41fa104c51c3f32003a65064ff73e66691e4d2b1a22d236232be18677d54aba7ad49edcc9284897a7f88945513460166e5dfd7650959c05328abc0a7e95c352dbc227ca17 +Ciphertext: 51de41664070aec657612a57641c0c83ae14f5b3b25b25d916e0cdfae1c1bd21f7b47d9ab02b6841e115394cad58a568c1d7c2559a1d3fcd9cb4b25529d26e475ae313e6487538d16376a6b24e5cf27d2dbf4c83bd18996594f60549f34a8683b04d05198893a816adbb +Test: Encrypt +IV: 51de41664070aec657612a57641c0c83ae14f5b3b25b25d9 +Ciphertext: b5f57b5f00d2bf5f48828a4e793997e6d12b0f14953f5b1634cba91867776f75d2d2d247799a46080372046518416c60a07a65b2aa1318238597c320360a279e7633045bc43cf41bf9d366eafc7613b090a41fd8db3f684afc03d96c82a40b46e2994438febf268020c4 +Test: Resync +Key: 5cf680e8a11eb005d03fdc3d4ec0e129e6aceb47262dee6c452a5b8b0ef1b450 +IV: 6a6920ddba39b5a2640976ca10c97bf308a8cdd70ea98260 +Plaintext: 1f322b31f5f577a596b0fbe567864c7ce2973b41f924205defe08e2866b7fb5c1814d664d33957614e91668bb15d9848ffb93dc08c1f74c5f5e1f88148d1a1a7ad47395b75834de4988adfbf7e58a38157544c2be5b913152c1d00 +Ciphertext: 64d6c9ca4db201d95afc0dce28f6e47d51c2856ccbbc8f4c2e2bd2d834aca165dedd117b0be9a7dcd21eb22b508f4ecd0236075b064a0ced23e324b18b2bf2cda1c4416f78c740e51ce687cd37842be368fc4e6ba7cb312d89ea7a +Test: Encrypt +IV: 64d6c9ca4db201d95afc0dce28f6e47d51c2856ccbbc8f4c +Ciphertext: 9f4090fc504efc0f6bb5f76ac9881e1379da9f700737d86e9636714debc5c4eb3276fcff90bf71c32a71e06c199b3431475ab77410e83a7eba158723efb383a5437731a136758aaf7d39f0def719b0dd46798d9d53a30cd1b91eb3 +Test: Resync +Key: 9d27327495159927d0dd93e258908590343a57f6583e0d8aca07070ce41fd37a +IV: a01d1d7d1d43de5fcd60277f84dd8b93d08d480a77961f71 +Plaintext: e2ce8d1f9ee9329c3599e1880b9e6cb75d52e86f48ca89b829d4d7ca16d3e1b496b8b46097501793cdf6764ffd44b44013c7aadbf0ccfa4eab012529373a9022480f58877332b81f3c703ca80a77f429d944d5a877d89c6f64214c9ea6d3a098d9057d519354cfbb71a4bcddaee65de22e4d782ef0065952b891c9494d8a509e86d08ca31594015d3c31931d417cd048e59945d42ab74983434d14ef4e078f30ec2fe9ceb7e247d557b1d2593ab35896082c1c218dd73a868bc5cae74862b898395681234b20fa1ae9cab6a49b94bcc38a3a4a91cefc7745d094d9d8cab730cda4079705e4afd0f5e401 +Ciphertext: 94e0d546dbdcedd76e26629484ffd9b67b9c15f61b07df7ef0efce41270bdc9039ffad321c5b2d2847f6f4d5d105676fde08b8c47df248850dee1272d51feb42d503e58d67b61fff0a20abd999a5ad5942676aca3f31ce08614106fb692ae230c2a74339eb38c074bb59cf5ab42fcc428a0d629c12fbc3d845e84ed76c3f774e92c1109be12f00aa8ebd2a137a914e655081e6e60176cc98e849165d9d93235c605c8562f51bb407aeb8f330692d6245297817eebd32fa2ee96520b560e37019e9aadaea40f25ac4c5446fe93c5b39fc90152f088a5a936ba4efb10db7f246143f2cd151b1f1155e05a8 +Test: Encrypt +IV: 94e0d546dbdcedd76e26629484ffd9b67b9c15f61b07df7e +Ciphertext: 33203e910f56c5e1a63f3a801fdd772dfd1c3b0f3e012772bf0796337d95f4562c349f65557e76dc0aadb982d1aa3a3a865db36418bd1efcae36095fdb3ad68e1df72622d45d5336224caeb237adf9c19b02e23a1b9d4b32a5b6f39595a93d495a74cceeb4254e0b75f54277b80b153f62c8b5bdccae8d3ce24d8ee258f6d4ec6d631f6d1c8e8daa049d33076bea38acc5fda4a8822a16a693c936b340eb7951cd1ab0f7f58206252b0ebe46c77214dc86db136f8e170fc402f31e1c7ef9bc409b19260e4164c145aca28846ead4dc91783bcb1bd914a23d7bdf83745cb74c7ba66eca45457c53f42280 +Test: Resync +Key: b1a6c9bc9870d808a81612d0f4b335cbfd8b305150a6140627df06d9f8b24c0e +IV: 7313e9e505147d4a4c2023259ba01197169bac01af0d5bb0 +Plaintext: 479d7baf87a385c781f0dee6e51ee4f94eb2ee3e93bdbb3f402b0252496225d4118511ff893f4ddebcd31149920e259006cc7353ec5a95da4bc61ee6863282edc341afe9541d44958c2855b6714625ed2fde62db387e114fe837bbecee398351d187e0c93e0a0618f9d923504dd662c11e43af794e7ac7c99816c180ccfe1779bd2dd476ed68eb1736f421922fdc6696 +Ciphertext: 30a86c8b6a55670856e6d1b31d59602e05819022f12df1c67294fa138d65d5fd9f5e9192ad09604e08005537832d07ad5f4743bdbf137b7e18b8811066c7e411291fffc6e6ab55744789a225f15086173495279a4c628ffe4b1f8bb4d886bf74ada7d783b143edda1675ca9493ac1da04ae62584ce41c8a2c4f9fae79d94363bcf79c343e51ce5694c639bdbd8405781 +Test: Encrypt +IV: 30a86c8b6a55670856e6d1b31d59602e05819022f12df1c6 +Ciphertext: 33c313c0da87030169b7da6963644cdd257891b14fc1e4387d35faadc39279cca215e7079ec4272bc259e6499b0cb6dd52c6dff5965c7ddc9e951ac5c0056b4065a6f8eb5cc8e5373633a4aa3aa1736a67be11ef63c3418b1fe57730d6cce0f40e5bf02e61f6aae1404a813fd2a2a870960833be71dc73bff4a98718d64cb146a2ca5d41fcba85a56fa3d0413d0a807b +Test: Resync +Key: 4f9f97fd4ba7db6365f5fec9fde4e752c8bbde48a7ea986b878302e4cc8af9d5 +IV: 05788b5db4e3711eca900a2bfe6f78de44e98a70362504d7 +Plaintext: eb50b1e352f3fae6921fa7884c99365411928a2ffa33e3106768a773246c31cb0bca5cc166819b3b05819017f06c8b8932607db6d66d58d6a2f7356e4666ff7bec3a2223c12777fa54d9ed1dc139d9512c52e1e53762badc7e6f8da576afd940fb4a29d89e76fcdc93e515d69a6ca9efe5d053b7600b458b6719852ec4ad3c59d0b0a69971ac6ae53118c186f2d1a57e350ac3c8ad7d4e087c8f32816462f0506122fc01caa8c93aeebf0edf0c8e1cb726bfc861 +Ciphertext: c63f829e84c1c9709c49780a445bbf0dd441acc5304e0433ce0cd70af3fe98d36bd9e6fab17e6e8b50fda157e3ce9d2a928e8c234dd1700999047db4a28ea40a9657172a471f962d872a1d3342c12965aa1f1484e760979181ec8fde5472f509f76748fb4557b9b73fd517f70b20795caa1cd19e4dd5ac65e8f4cdb65a4ad60e0dd64407dc5232a5a893ace71acb35700fe059bb641497a2db63caf083942b7fe530092e90014bc5b6f889710ba3fc50d086fc32 +Test: Encrypt +IV: c63f829e84c1c9709c49780a445bbf0dd441acc5304e0433 +Ciphertext: 625aa1ac285ed59cb4b17da0ddb32a772eaf95181d0587fa92be22d1f5b65e403de9c0caa3301aa569ef9396c4cd06cffb602d5b5e6d2238712e74de51b0620733e1ba802038de3735b2a08951cbf17759f90cb0c4c4eb6a1acf147b54b7ac7372bafa4377fe7510d06a9c4ed6f972a669e270610a7084b61d4b52d2931803b805440b3d5e333ccdb0f3e7c0d013f068b2b402680a83210d71051da3529299343813150fb0f26ec053a8dac9993568e9b0c703ed +Test: Resync +Key: eee68b65fafe9a5bf2f9f92512a716e5af3740efea15e596f4ea0b5aef23550a +IV: 4d312f84330a107250b68c0b1df417ef713615b704d99b71 +Plaintext: 95ccd08ed2ab0fb87f55786f1f10d33c7713bef4435c3699b13982235ed040c9d9cb1b1f335cac0faf8654812f6874408bf20b129558a2c342c07c7f42a30700b374d18b91d881fc0f153f4ec1a55633a92d637212a11d122a9a1eb085439ea1226ea7124e8bd1c644a1996fa6369dedcacd5c766d7dc9a8c8682c5729ccf4d59433ba8e1569fe826089995414afd576ffb9686a30725fb9e5d7 +Ciphertext: 6c832a8147658a1741af29b0f558fa3773c81429f91a5cef270f7154988f97d4b28549604909f726a8a6e89d625089ea387b2725861963480424d9835d7e2fea93a5bd3bf86c7827fb22e7a68efea1a05c45f9606d4ab7add687d9418ba60517cecb3503287fbc5b2c9f0f9b5faa991337b394dfac7514dc38ffe019a1e7c74e5ad23f4e3bddb74ffc8a81f521d0b6044f98238f7c2a38ab14c0 +Test: Encrypt +IV: 6c832a8147658a1741af29b0f558fa3773c81429f91a5cef +Ciphertext: 7e1ef21dad49405e2fc86c50bf045eb14c65e58acb64e210af9ad8ebb5679021721312b96514d8681fa9d52c01c83f7d871401ec345a334648e0fc2ca294ced407ff98f1d1bc4afd83bb325072a5367d9a014092bc99699713bf84587fe2ee998bf8df35aacf61a96be157bddfd52e5b5a1d4a2e3bb109502e608f286aa8f0d5f67b4072ad9b60971ee8cf9fe966015260e61802f19f4bc8a29c +Test: Resync +Key: 188fbb5bea95b5101e056b93d8890c68e1328966089ebf424defa1bcb96e88ff +IV: b51304a0194bbb2490fced46fd0f39c3e87ea5196ca67ce3 +Plaintext: cd78c7c8f308addbd9acb6352d1b5b8a6ddee8a6f51401556e612d4c18960d152e6973381f45b19693e8ab6643424f01e9ab27de29f4ea16465d95674f7c939b +Ciphertext: 81a468948c618db0de96ad5cdd8b577c8253df097128cea4ffc7044f3eefa1b486b9159545fe135ea8a862fefa015f663febbd9b9527cba516551949013e9601 +Test: Encrypt +IV: 81a468948c618db0de96ad5cdd8b577c8253df097128cea4 +Ciphertext: 0510193beecfda67addf420e9c52130dbc8883cbe27d3e013207dc0ef3ff4e0b92e9ea2a2b644ffbab55c942acd63ddb7f1cff8d51d27b0a7d2853584dcc0bd5 +Test: Resync +Key: 2fb88c256a737eacf97ce4e1d13f1e20e8b2426f19076d7901bf6696f38a81b4 +IV: 12a82872b47b2c5b73cbb38904a08d283701eba289c057b0 +Plaintext: 3caae8a0c99f38cb7b2e45ea91dd5dc1331f0efff9f69a5dab0164693e986ba0da48a84321f618cc7e4b4e4d66acd8a71b69e23dbfbc6bca0c4ae279f3583b08705100adb7a4aecc0d72955a7305f4e7e2765b0a1bebea9d7e044e360d44b402f01357dc9a3e83fb46b48a683c1ad450a255bf45fe801db33414d985fd3a337c857d370ddd05c3313ae2eee0c8cb1d12a2fb650ea6e4851f2ca27badaf36dede18a9f8a62a502f6c2ff94d591cc27438e7215ce6e6abf76c22190b7201763cbc8d3a2be1f366f69eca6e5386883f56bd1c +Ciphertext: d446cbadf5afb1f21d7748a5973e8650d1dbdceaf5b837cdecf972bd091734a71ee1692fca675f4972d1e8db716873a03f9a5516f409982316cdc9f66ca0a8018dd055af0086397a86cf7574253d53fabd3aeefdc54dc2eae48b5b61a31dfb8db6531d2185034b81f745a3b88fa11453df073343de8bbd35a45f9cdff45b52e5352081f1f1a003a58200a4aefe27c87e930b77b8dc5b0882dc848437892e1902d126813e31ee27526d947bad5e8f9cf16a302da1a8f3883e3c9b257091e708ad58f4e716bb49e660cbf1f6fa709d64857f +Test: Encrypt +IV: d446cbadf5afb1f21d7748a5973e8650d1dbdceaf5b837cd +Ciphertext: 4125c6831bd2d39c1b1a2e12c505ca077fede7c553d486ae9a87ca3232d27974fb35c9a18a6315e5feafbffa943e52e9c46aa0eff6bce2f2dbf703c641ac570a92551f8a6e9aee14e8bc433b36e06bbefb0a292279f688e5d06dcdf317eded20f9dab8fab19298b146e1555b772d9f9c95e920356282ae691436a8505051190bd840b234fde486726dabec5e0755f4335b8ff4e30c30bd4f473a6af3fa3e7542f2b720784da760753938a682e86cf7ee18c5b5f7f515ff0380134d375e434934508f7cdd7602ffe2039a376d443c048103 +Test: Resync +Key: 7066fe1125429407b653fd090262bed2a3f7f3be2fa8f160f3344f327b1e53da +IV: beec3787c335739fa5d7ad15b85b7e3e7c9438367434872a +Plaintext: 9dad7f5ca1 +Ciphertext: 014a1f27cc +Test: Encrypt +IV: 014a1f27ccd2d39c1b1a2e12c505ca077fede7c553d486ae +Ciphertext: 20539f2d9f +Test: Resync +Key: 3154d3f5bb56b00b34a255425057e99ed9effd1cb0168d16157fd769ddc665ba +IV: f7f9f18f9648f6dc06ac643ea77f1493a9fea3390a98bb0c +Plaintext: 80a488703cf316be904ac8394437ea02ae2c027b7880ebec58416429ea060db543839d781d82a0fa209077e4b1 +Ciphertext: a07abc8ef3641cf33179296ca401bb291a9547d3e6d1b0886ac31d26d2f3281a6a568cc042593132a3cc1082be +Test: Encrypt +IV: a07abc8ef3641cf33179296ca401bb291a9547d3e6d1b088 +Ciphertext: 27ff7646fa8c6b98b1a732841e1596caba7b87eb40508ef0f8ef390aa5e36c0296ba84b686701d5e3d34b16508 +Test: Resync +Key: 81426f03ae1578d8ec1407827db18640d9d90d2bb773971f4ef14f859bc19e06 +IV: 479961f75954ed4f8024108cdb149ca3fd53e6a239a01e86 +Plaintext: 9cd08cf58e13e94e02c9a40269875392251353223f5329412e2a5e34328ea18c414d4c730b4e1c0bc140953f4ecf4ffc8aec963e59305d4d +Ciphertext: db3ea5b5fdc9671ec56b3f1cecbb2a552b0ea4ce9be508863f3dfb3238d4fb91b896727357fe454a08114200ea7226787fd2ab154d53eac8 +Test: Encrypt +IV: db3ea5b5fdc9671ec56b3f1cecbb2a552b0ea4ce9be50886 +Ciphertext: a887b52b3e97e6c899e1d68e57f283633ec9392438d17fb645702ae3b0ae0aad3a7c6eff0baff9f5357328307f628f470891884c264973fd +Test: Resync +Key: b3c260036b79cd3345e04cbee474dfea3a7c773db2ccb29d4c36a1b8c8b252e7 +IV: 1277840fe82046c024e6f4f53b4ff761c7c9bd1fea6c855a +Plaintext: 6a6dac1bc93b9b5c0dde0d1e6a534914dc2a6d51e6f8af3e9d42b88bedc2173782a2314b33f795cc2e4536829871d77186168f5461d18130581664586256 +Ciphertext: ff5e71022c6522998a2d10843fda170796a70d186e5fca2afcf529c6d075c5212c793fb322c1675d0bd3cc6b18f2715678812e81a8727a2d6ac1158eacf6 +Test: Encrypt +IV: ff5e71022c6522998a2d10843fda170796a70d186e5fca2a +Ciphertext: 7e8b5b4d250c13e38b5dcaa5532295e649ab3669fa594cf30eb81a54b25b3fed4f35be97afe4a2a37b7404acb41ad31d737fa9f272e1c57b3754830b4823 +Test: Resync +Key: 14fabd52e0fff9dae88d54815d82a56c4d4a660db5f214288cec1982e56fae81 +IV: 55b8328a312dff104c7f0720af0b7624f9281731b9f5f4b6 +Plaintext: 71bfc290baeeb0380732aa4312982c0dd0cc06cf2ee53adb0ae61c64228b80c073e7687ad3d3f888151b4066f415b62cf851d2987a3c816255ac40b62f453f350da8c4e1ec6dd0985e721b45a063381e997f629a7fbcd44fead19adc289f58f104fd37ec93a35305ba6fa44844d22e80a853e6db1d466ba2ad09ee2d30b3f47dd01b4d7b5d498cffd934cd3e005dc91e9e951951d5b937b319de0a7ba23c7918b1d74d3551b6500d39e6d626fa9cac8ec4e744713a93d5edc8413e2fba1d3b9b0f70509e38a66a2a2d70c510b57e15ac0c4b2aa7c5d6eb088fcdf6cbfef2c6dad19d7f17437cd261636c6d +Ciphertext: 7fc8bc27994031b3c35632590a15607ccaf1be15c542eea5b71ea1f7fa3abee79cb1281a00adb05e6fee4e65e8cba616a5789629d8fc617fae9bde9d92f6c8779374b1cd32a8e9277d0cb052c7658b3ab24ee1e55e5dd88a76266e9fb5661f576000968a9af71a3edb59ef3974e76aceb41c3de2fcb204a0022f302316eb01a0a8d74378599a7f72987e9abbd6f1a8af152ee89455840584010da73b01bbd7b01093a8c38049dc7a5ee0ee80daa98de46803ed75d0a97083ca328e7642a07e1c037346a280a856a64bba53b050272b7ba9742ef62aa89e34500f0efd7bce800bcac91981556a878d102ceb +Test: Encrypt +IV: 7fc8bc27994031b3c35632590a15607ccaf1be15c542eea5 +Ciphertext: bfd5908a43916afa5e2709b2e43ac62f406a4e677b855d70b216ae92cd444fa47f5568558c3cedece54e8b436e904e927175b455d96672a8cbdb4316b9e48a704216e30e9955ae7107f9f7770768bfd3ce71416bd337710bdf4e8789c8537a37f7c995c616a437ee406ca20c8f333a7c2f84ef87dac8c32f5b9678e344645bd356dbff32089fd195d982d3bb94b06b5b232580b492cb754659df62c9b5186b26bc2485409ff95bdc0c1c4c80bfaae878abebd373b159507b5894c5a9f8402447559b5aa7c3b491b97adf202847d0f74605a2502b193b6440a6b1765d538e38a2206630dfda4123fbbe4da6 +Test: Resync +Key: 75fe951556aae3d6ee93670241b7adac6907fd9285dbdf165834fa0cbf741b00 +IV: fff3e1ebb2e48520be552d2f0b617291c42a946f38804243 +Plaintext: 2b56b7dfaf5969d84a88aaa10dd12682f15d8a9a942deb6eba04a9a7ff38f2d0a947b414cbf7f1fca82d74b4ef98880368ba58ab7da98e8d6a6c46cc47cf0536961920e46095627b73737ea19e393c2f19d1f252ddd74b8fe050d95d21004b8997678eb565db0e369cb8bd326942e634a20845c61265da8a21448357f3eb +Ciphertext: 4b3bbef56b4400b130f8df0ab25bb28ece9160c430417060e48e691e6cc4ba119b0c34f5e76d4f1b7963785b4c6a9fb0b42c9f4eed92f8d0989710456c7f8d228fb26359f6e2549439ff5610dacaeb1df4f43a39cb3802ab1c87ce73f731ab1127ea9c2e82fb372be407a8c2b1af40398b33582e842ef0862f120a96c75b +Test: Encrypt +IV: 4b3bbef56b4400b130f8df0ab25bb28ece9160c430417060 +Ciphertext: 76c77925fc94b86624decfd2014fa505a6343054ae55c5be6d12c43018944b5d1c2aa08b9c11ae00d0c8779e70f220ffa59847969e54228d89b4351471fcdb9f0f76f18fcb896983d09dc5e8d9ee666f5abcb4d9e7bebbba824092c65646c3bee46d07609057e44b36dedfc02ce576506aa1274d550afc57d973fbd60294 +Test: Resync +Key: ea7bcb7f8712f9aa149a311d906dbcba443319f68a441a68a263c7bd0fe10fbc +IV: 620e57a9ce4b3d438c968e603f3c1518ab70be5b7bbecc62 +Plaintext: e40ef8606c72444fd3feeb1873f7ccdd3900760af66c269ad1ee6bf1e4546b1a556d4a90f6397527b270021c226dad5353a142c22963bb818548c3ed504965b2e6eb9744a15ca3c00fef2835d34592b90cc4bef8be904987dfc35e92f835ba15f054ceb760ad903d56c65854fd21f6a03ce9f8f16c04ef7ad9507b5cfa4b373eb544f2bc61bc16e371db087fb7bb749463c16f75 +Ciphertext: a31ae696ac9d66241bf9c826a381c4610de7f6416b153d7f8cc17484f1eeb63b2bc25d7c9b8a486e3e8eed6d34b4604ab5dbca373a80c29d50f416bb4ffb8485bfc6f7b61328f7c708360cf93370b7224b7cba075becafeb5cb62938b396dcc789900d8cb8315ceb460a753f20baabb4c6f61526a012e305c28bcb59fed20565ad1afce39f98b354b67a33daa8425479a07c0dd0 +Test: Encrypt +IV: a31ae696ac9d66241bf9c826a381c4610de7f6416b153d7f +Ciphertext: be217c97aca7ee0c1be18f1d93ccdd0f26d751bbbc36ca29f12bbf4afe83bbf7a749d325aad3b6af4913dbb83b09ade5ec79d88b755f7b2ba63df6ec458627c83e28e4742bd49396f19463bd597902de42ac46ba675d2f0c9db8d39dcc56a5e9233264be90cfed284302b965ab0f0748dcadcd02354c1f81d640a359b8ee5aa58a1908de1356031432b6f12e22ae9ee9f847f0a0 +Test: Resync +Key: 017f97c643425ef0ce5c0a6a0c6dd67aa6181e6aed360adcb103bba88773e1b1 +IV: 8189c8cd17a945196321cb6147cf483d785eacbea352fe3e +Plaintext: 145a3d3ac4c5b57d68d26a1ddabc71289929b6dbf317acbb3d83313c9e4861fa9d9679de974e4f7eea83129cb8f4221df16cdf545e000e087735cb37cb321d097b7b2f4874b74af6a6da9c429b1e62d418066bdff5ea0ed7c3 +Ciphertext: 90551d5f8ebaa8c1aeb52d893ddec3e9cb95f77b8bd5f6d0b3f8a3fae5fd8d9c1e42a96360e8e7e6cc9b7711ee1d61b4d67e6c2d682215c59a72778756dcc3fa93068889219579b2a1ddd85b0e69880913cd2e9be47b93ea70 +Test: Encrypt +IV: 90551d5f8ebaa8c1aeb52d893ddec3e9cb95f77b8bd5f6d0 +Ciphertext: ef58a8589c2996e1fd990d7ec412353edcef7dff079ae0ffbf430f3a479818352647fd8640a518575a3210fa45f7df5bd63532273d54c442ff02918aa79176c137cfea1a6ae167464183ae716a0f6057be891537059ac3322b +Test: Resync +Key: e9a7e6aba47b1d9c1df629c6920ded6894b85d3e7fd211bbcc7a9335e5cbf7bb +IV: af86ca3a196464931fd579bff601c9fe7fcc7a10d7778d22 +Plaintext: ee681bb5ecd15201f433a8f89871109aff85ed5a4a16a7ffe032fff60f1acca78cee6532f7740be05438da05933c8d29fc880533d589f6029291cd0a965113e042b27734968784f871f9e9e6c2a7342bc01fba3ef666aa0e018957169f2213f492acd0d2ab82dec47d8afe7a6bedee72d0c5c7ac0d86d0af5238da822ad4e6346cf2ac76faa64d34051a91659009976d140534a4f2a80f2758a912eed692b62bda4a46649fe58563707478746c77d658f481ebf90c2cd5ff3276fa8dc36739084640e319282d74479084a15838b9822056e900f2050d0f48ed52a3a3ffbdfe3a1831 +Ciphertext: b049fa161f19691f3bfa783327d2663eb8b7f188b301b17336f68630d8e001349f659428fd29359c15e95aa3f5a9f46a92d214e0085ab661b511831d00fb6f496e171b8c139def92be2ad8f6d94c2fde48f9d77ea338b920b2d8d6ad380ce761faf170bbc05128e65149b29d32aeec45e2882362dd2d0e3c7cf9634b9f52c578cb2e1d51b5aad6447f4d1860b1a1f1b7e45bcc002a5f4f03dd7116216414b0be23876b35ffb58f466a4087c992340437e89b12151a7d8f1af04aed585f5feee36f60c1b0e19251c7587e8590e7b6bae774f3ba5f3be2d726c8da4da3824debffedc3 +Test: Encrypt +IV: b049fa161f19691f3bfa783327d2663eb8b7f188b301b173 +Ciphertext: 7cc5bceb953ed1acf44c3a448a15f07c4e4db33f863bbc2368acfe699cd18f0580e3ff8545b946c15dd0f5c15e355fc4a10e340035e91c60b757cb69bbee8d2a22b20066b15929bf3506f2b271326509552b6430f4b82cf9b38ae83124f9b448dbbe049d7b3a98bf25678a72965f9656df149bc068e4cbea8573befef8c70b32d1dae7dc9b74601db95866dc7b5a3b307ac6ab9d09f3c55b6aaeb34c8b0e77c724666a4cea694ee90129568a46bb0f8380d8bac4f6151e84d357f32488ef8d62a08cb02255de04612bec676db471ea2199b9e86fb8ad89b259c0d1ac487cd95a5430 +Test: Resync +Key: af768581d5e401b02de76e6986de0bedbfb7130b9014727194c1d3f02c747fd0 +IV: c4568db83cf9eed0c05629951afa4fe5b72c055d89421efa +Plaintext: b34095f5b7660a03edb3e2277dcd3241270c9a7b890cd682214ff979b725148b1d836346ad84bd776ad748f6fb063c15fb763ca5005e9af95840f2677c1904090a19d83dcbf1011a48c23b620eda573b4a61bb8b86fbb7260090ff6f788a9dc27b5c95c3a3ebff1dc6f72446a23740179bf4dcb0169624d1ce2bf17c79dfaa35c7e12e313488919adf7e56f2d61cad070c164797b9d2dbaf5b954b56fd43e15b61f2cddde618bff31ad545ff163f2482024388ec470329835a8deb0f230760 +Ciphertext: 5b132bc08ec5bb09b5c92587a661c25ec54b8f65a581ab5f788c97c959e39cfb93032c6f63a489deac9eacb0b1a40b14ed152077fdc7b8b6dd5f94501d319d1f5cdfac56dbbedf8a5430843ca36507a363d5694e277ad8c0dcd0c0bd729bbe4b64823acff976f39973ae2d3eaa415f32db86a207f3220054306d99558e27ced2a683699a65d13eb67abb38230137de63c5c758a2149a773d403442cb826d70064c57aa4a778cb3e00a36cc4ebba6ec83dc178a7e4a3fb07c22b77a9c00e889 +Test: Encrypt +IV: 5b132bc08ec5bb09b5c92587a661c25ec54b8f65a581ab5f +Ciphertext: 907a2c78d9e0064b600c1d20985b6268b48cb8e7af87f615f8c298316b186ef64470b1c3c05f46096697d84ac390a3d2e37cb2306b718e7c48fb624bb1c5b3855951444f83e0433e26bbe2e05d8ad375633447a9f1c0856e35c6996c4fe4a477f503a47818ccd364b099b8d640ff2540f892e6a8e915a90b96b3ec13ec18e81a5c5e9f6054e6c90b49892e22ad1f0911a33740fe0719845f5428b0911b220ccec09a73cd8a790afe1ad4b76480c5e7718755fd2c29ea2f5f3cd7608ecb7bbb +Test: Resync +Key: 215f4b041d68a316d29cbea833a9d4170c32c5ea0aa34e90b4381e642f74231b +IV: 0b9e85d8e3d62b0c5b45ef1ead0b180348c0c82b2325beb2 +Plaintext: 68a7cfb070a3ffbb5a1456ff96703d56f84fbf74d92573368def92bde3b49dc9cf8ea87dd8a51d4c12cd9b4e1d20d5939a20b86bdb9fe5c76a10bef983c871c559741ac89155eb6d1a226c2a371c03f3bdf2b4bc +Ciphertext: 68d6236f9df3727c9a457609c0b59e393864855160b1e2074257f72d8b122c99fda40d6092cc96c8134823ab93545a6f8b43e8efca9502b5db2ecb86af5798b45639dc41b34df49782388cad7d1826d9d165b79f +Test: Encrypt +IV: 68d6236f9df3727c9a457609c0b59e393864855160b1e207 +Ciphertext: ab148bbc10bdb9a086c2c94c641225bdd8bca6f04d11a7cc5ba7eb728f1fd84522d3861a648ccae4e03f34162058f560028680d986c4a71e5369a312af02d135684b348b2cf42df1ab7ca841d474b3b51b8b52bf +Test: Resync +Key: 2ecbb5a282ee515b3226952d11d0579607f653a708d18920d18dc5106f76074f +IV: 53f67a3bada58382426b7d2142c327c7a9fa75a8634463c7 +Plaintext: 0878ed1298af132502bb5144066d26042e4a2990 +Ciphertext: f8ef2dc3ffca9dfa4d006bd9d3c00d7517fe0971 +Test: Encrypt +IV: f8ef2dc3ffca9dfa4d006bd9d3c00d7517fe09714d11a7cc +Ciphertext: 488bfbb9058907da6218b81138c26f306b3e214c +Test: Resync +Key: 473ee670e4b93e070c69e4c9f9d1a1808aca67c02dc9b8250034b9a19f0a306f +IV: c7bc3457a0d5b3384ff35ac10c8b09a114b09ad8e3d1ef6b +Plaintext: 09ba3c2aa122ee53878bf46711922fc946d67085ff68c3c5f07da6749194737b715bdfd4d052366fc6761c5aad4931808033b620f7e47d3c6bb65e355d66f4f577ee42a1881a853acfa6e710673b72ba15cc169333aef8fc63635ae5a7af8154d19409f57121d6580d10796585236812bdee04346084c9a831aea5d4be2ea248a90b9d71fb00823c2fdb522ff00e7482bd9d178766ad26807d963002104d3e42d2 +Ciphertext: 12fa7fe0fa0791d6a1ccb22f025563a9f61b1dbaf825bb59ae7523b531da1d720b816f42c12adeebe8171309aa65a5357d46e719e260af1ed2eb2096ab59a00f08671acf0e3a4ca67843641a5d9be4e2c00f8da7d37349f2560dabd133dab9dfe2ff6f3c087099ebcd2c4420b6485a8e810392310a8dfb61eb850ae70680882e98d8c97c1c922e6358c0ff3a6cb6df77f0ff86f4b2697c698c0440305d3ff03c1e +Test: Encrypt +IV: 12fa7fe0fa0791d6a1ccb22f025563a9f61b1dbaf825bb59 +Ciphertext: b069c6b32e99129d65d0e17dc92106edb3949710ea7f84638137073b706d790f4c57db477f4f40161c029f1663ca17fa6ffbe8f6d1e10d94718cc7cb75549307c2e3da305bd33263d7f80d8da26ddeeecb95a241f0d0dd636ca54f7129ee35bd49c707c52aff4a6fb5f520575d693949b8a1ece03cf093663c86b8cf97c89b87fc76cf76d9dce6791c499208fcf7a2b7e868f625a940b5721bee984bf3ba0925cd +Test: Resync +Key: 95d049394412ccaaa002264f391f2448837b9a9eaeeec49ae73f21c3bfb83016 +IV: deb9499a1b4043f0c116133700eae22ea61f45ffad305c03 +Plaintext: fba6e561dbb8d9d3dca1b6073d29103b758c463c5ad756920f66dcfe88fe0e4fc21b6aa382b6b96ef5785d51bf4c6b2375f7ca4494e711a34fef708ec09dd10311d312f7aaef6828f112ffa786263f1f9507ecd5fc3a80bc3fa75c17d272ef1c7cac66097a46df791d0d61a22a68dc4217f7ce54abbf7d4fd3fcedfb4d92c4a87657e15aa3417b62 +Ciphertext: a081927e375175dc84df664d824c351c9417614523e0c30d9fc5b6ab5aadcbd9d3a2fc28cfd7c11a807dfbcfdc7d28a54a5c44e52f6e9806a1c08a5fb06f322d22a91f5aa5097b9cb12ac29d5bdbbf8312fcde98b79c6cae3a26c9828874f9c8e2b072b6c1c70f15a1b6464c722fe183fb1367e03bb3991d8de30396aafe160b4669462ace11bf46 +Test: Encrypt +IV: a081927e375175dc84df664d824c351c9417614523e0c30d +Ciphertext: 2629e5e9e550bcb2d80ad3134a2ceaa80ebc96a68d4cb9b0bfc1e78b8b9b06b6ee34e242a174f65f2c74688b740aa9d52f14e900436c020c10b860f7cc8063dffa9b5baf2202a8ca05a3b52bea40bf7dc3c9444989f33e2ff0cc841742df284ea75c6dcfc9a2eee78dd9ce6b29255979b4abd333ed1ed92d19661850d42ca425a30d3aaf95a201d3 +Test: Resync +Key: 9a1831352b9bd922b41cde1ad94b40b3c2f622ffdd633d03f5638d2ca01b892a +IV: 4539205c887f099743e9ebd3aa4ef88ca7eb0a957a1cf8a2 +Plaintext: b4a37464a37b3691c7fe66a81572f535d780925b3b28dbc85b574edc2b6753278994fbcdac780c6f09e153fcd8a2ffb6e873c440dabcbd081e7bb35098c29dc97248dae7781dbc3b00d7c097c75a2f3cc88bf6dd1989 +Ciphertext: abc902e1dc5c4e5d858597347ebf523cfa233ffa1c38b7d8e8df8cb5dc75f08e74cc7077352efccdd18e39820bf03a39ae1aa56b3f07d92b148b26d6214d710167004b338c1f9868b6932b3d999e60f84ec839dc09cd +Test: Encrypt +IV: abc902e1dc5c4e5d858597347ebf523cfa233ffa1c38b7d8 +Ciphertext: 7b2d46034c39cf770b075dbf8eaaa19492e51e451d1ba97a0f4a71c466dea5dfa1d506ff3c7cb90fe276dfd73a6c0ce88e0df56ec0429872dbcae451dd19d2f3e58ac420e83c97909dce9673e7785cf3a11df9a0b062 +Test: Resync +Key: beed63202b4bb586cadbbb8b6893bc6ca2c07217a3b9275b499245aaace55383 +IV: d22603bfe4fe47187d969fce3aefe24beafb9337ef886980 +Plaintext: 375fe2819168ed3a1bfa7f46e037af06f202f1927b78606a46a35f41e23806817a4151872a5738ba76fc6bc736208124d2da5aaa952276125eb5ee95ab9668a7e773a2c429acf296979436ab21bf8bd77f31ab3023bd7fdbe28b93fe92ddabf0bdb1d990d628bf43942d728cddd330c8b79ab6a270877b789a714095074823637880bb380ad826c3a5ec6fd46c0e2b5887dbcfb101fd84 +Ciphertext: a9b65651c6b7b3a6322c21538d9732f2f31beabe4e94c288aff4cc0bd18dea04f15215343a07e16eda6eb535a04f0fa6100bbafd8fb7e89ed087e662cd5537ed321351d19b56a6dc4a8cf50078f7bc9bb9d2982a0ffc8d24e1814935a9ca38edc6b04105a8ac488437946af107e1bf0838db8ec4066646692fc61b9d94d09a83d63913838c1e88ef6845de6b32e261ae972a6b70e72d6e +Test: Encrypt +IV: a9b65651c6b7b3a6322c21538d9732f2f31beabe4e94c288 +Ciphertext: 685c9adf5239c2f521ac91e3a335267b34ce2aad1760f8771c51ac8c48ae1b93938ae2fa2f988b7c87a43c8cd4a97b5e65c2d11aa878c69349308922bf63dff3a5579d549d22c0028a336aac48bdba88cd9654e37746d2728ddf653c7eed0b0404df6f5a4342d0d7e1df8841da0a249313e105e2863d63fbed1ee621ef5e57f48753dbe3d2fc08d15b5244bdf0369c1741fe92fe3b677e +Test: Resync +Key: 8d4b9a4e7e3107c54a75a7c74b93ddf9c44adeffb07a503a05d6a5f287244808 +IV: 7abba4d58cf460f394f80bc9a080a355961c4a2511f50947 +Plaintext: ed3eccc8be0e5ae6d90eed3b15357050171716c7ae56bc9ef7224db5740257361b83aec0d8c7dc7a9e1df44e0f3fd1b8275bb6c5d6fb8d172df4918f39bab0323a5fa7c4a98aef3a482394882daf5403767f639c0d651f01b9b294d511876c4c3c471f7b684900c54cbbc1143d8aa690d7ab98a41fd9236c31692b7d2406beab5202e1b617ee43a6b9c8324404c4862e5fc0301ba8ac7d7b65df1eb36bf038c85e51a03f1b38a6fa74b0163657eebe640343b83a94ef09308ea3f98cc30ad9 +Ciphertext: 5cf10e20d44ba83ba4b201c7176846976b1a10a98d37f006a9b1ba01b4c81db6e97514d0dad76855d95483f3765b26ecb5f8403f8bd65a79cdc220bbc39a35538dfc757431c20b22cc825633a9af1be926f1072b38d2e89dcc903f2d257592ca97520c869abd4f2ec41b10adf0a2f7c56296975869dbc3a2e1465d32b7781991747ad3d141fb0c343419b76c5ce4facfc257f666c1dd020bdc8f189aea79d5c77e63f42da60510ba86ec2b1c934b90d77793b5951faf1c94b5e3ce38d869b0 +Test: Encrypt +IV: 5cf10e20d44ba83ba4b201c7176846976b1a10a98d37f006 +Ciphertext: e23e817a9c4c2740922734bbe3cc5fad938020ed34c0fe401d4da9cee010d4d1056b71d28856ea327d495c643d819d2d4ba6d97820909a7ac222b892aac4ab130610fbe29311f28432303af69d3dbd3a696fb35582aef9b7040a7e85f6c48d31a3d0c3f1cddb5251bc01a5ce0ace8c95882228ddf7c57aaf1890d70b899631a09af5f4130b436a69ab8623e0260cadebad595ba3d27da5df9e62544876d4daa3fe7af8ba8bdbb7246af0289903d69928c43a1c720b948e2d5a0e8b0d062fca +Test: Resync +Key: 39efc9016ceab203c0e172a335d7dc2916ff577f168904648dce170abf5d21ba +IV: e4e0a36fd930f726ff81007cc919ba0da8aacb5abab72394 +Plaintext: c1229356fb463b251270dae5bfe6772135af17b0624454edee3490ae95616c8b4efaab8a6b6f2a83b083d4ef19a86950c6b570d9000e94255087ecaeb56fead57eb8c51ef71fc802f9fd9d14f462fb5568d4206815e7f3473442b5f9ccc730fbf86a45a008f2b784d14791dcda532578e3ba17a0a3733bd518e15d2a65eb6c79a2130d988db4ee07f1f557a9a08aaa77f28744cf928829c940f70ec541a07b2646f4860fbda22f95cd20018deb68159aec40a889e534dd071a076b46d29a3445c8cebdf2ae0ea6ca7ecdfd203e5941581db5a84e66828f2c3e1b +Ciphertext: c885db1a0c9211392f2cf3cd655170409d53fa559acc66faf0f75766b4501ce80b739f51b985ab10ebcaae7adc2b58c1315ded28b77a2c1c1e3bb65b7d9866827a8b4a39f316222bf0522f3c4cd1ab367c6135cd1b104fcaf4cc746e12d3c72a5cf781d487e1a297d83822c6b68c1b5a9a9505a9b64963d64b2d50ef487057aec172cd070533c400fe0d83f79f4affb1be18fd9429d5dda1ed35c71d674fe98788e3b488bb3b5a781fb6689f8732aa8e4674a5df2643b03a332fdc3d5e10bee7014753a745b4e7bd2b579b8885955d8141fca840204da3eeceef +Test: Encrypt +IV: c885db1a0c9211392f2cf3cd655170409d53fa559acc66fa +Ciphertext: a65f1a87049667811331f8305128b6c06fc3becedae1661dcbac3a627d27cf80429687178b1ff1577cc99bee4b311c480dc3053a74fa523660e9af670d852a032e69b65bb2af61af8a2db4d3aad0a4b27ee74bc2203ac502d188975463f050e3369259d676881b1b318a1cd26094923d2c6fb15c0b522952c176c3cbc01252a4d64f875aea09a9295957be06209ae896410f5665422df60dc4038dc9ad1a45f16350bb433054b9a14061b5eed9cde905ea59f15bd1f58811dd4df49531138431e9d57a8a9adbd4d4fa472077ccf40a2a61affb82242db08f3d27 +Test: Resync +Key: 3070f0db09c523507d36404dac79038a393e9f0e3cf5f870b16d2a06da68dcd3 +IV: 4afe87bf79eb938d786ba54c26fd6d7e62261eeae8b62202 +Plaintext: f4ea120b47d15466ade07df0f2ff508759d9cb1035ceeab43920e9094fa50b868673b07173557d4b994b1e9d35078c1c7369df6b6adb2ec0e6bfd280fea8ac31db44beb0c2a4ddc6198957bd0592e3e587d304863b893ff8eee0efc70ced5d712651c3e9dd1a0de0480fd8cccbae4c50dccbacb83dcdc3e2cef7dbc645f0af468163fb0e015ef48ad74694dfbce2db8430a6e91645fd16adbb72e21a0fbaedf5ecff829cea9cbc22f82902748aa52da5ce903d9f2bde77efef5fa3970c720e89f25dd05157247bf0de2d2129c3f856238d4fad +Ciphertext: 46f396f0d2d54189968bf56b5b2f35588c3ad851e00fac6507598f3ea0193a586c00b18677811cc305b0261d9aebbb9c0485a5800c940aa4f09c4fbdede12553824c429c7954e0b8dad889203d292517b98a64e8d7a37c1364eb0934751323d9b9f8498f50d729e977fb742880222f22ac5d7bfebe6905a4c344d82027398a70c334635792deb0f20b83861b05e731f5627aee17df20413c79957556e66a970085e9ad40a73d9a964381584976c6f111619a916fbb5f5d305df862d5a56bac9ff9b436f31c85f34ff890b5ad3299eda2b8642d +Test: Encrypt +IV: 46f396f0d2d54189968bf56b5b2f35588c3ad851e00fac65 +Ciphertext: 358a8f5e5c6fe93c3d6d7d2f90f5973ba2c0cf7c4579c92a52d1ce6203ddd90188d3e36ff7cbe94e7adb4ec7596e89edcf3a94dba1fe64eeb24e8bec5fed2ef6faa4f0d16faf5853e8f69ee0ca0e048658507bd155bfa13d487c3b994f3a1b8871996eedc2d899d9d79ecd8ff968000b863337dc04d9ad8d05696659f8a1cae880e471621ea13ec42d163eecfdf9cd07bf0b10d6f4634ff16d26c700c88831efc82ac0abd0269b93e302422cfc2dc4088e28bc22ed6c06c9b51774bf3aa4088a6a18fa3d3608f9927837efc3382b25a7ab873c +Test: Resync diff --git a/TestVectors/seal.txt b/TestVectors/seal.txt index a1ca35f4..af371e52 100644 --- a/TestVectors/seal.txt +++ b/TestVectors/seal.txt @@ -1,137 +1,137 @@ -AlgorithmType: SymmetricCipher -Name: SEAL-3.0-BE -Source: generated by Crypto++ 5.2 -Comment: verified against partial ciphertext from 1997 SEAL paper by Rogaway and Coppersmith -Key: 67452301efcdab8998badcfe10325476c3d2e1f0 -IV: 013577af -Plaintext: r1024 00000000 -Ciphertext: \ -37a005959b84c49ca4be1e050673530f5fb097fdf6a13fbd6c2cdecd81fdee7c\ -2abdc3e764209aff00a12283ef675085c1634b53289059e6a7ab5ed9480c01eb\ -4c64569a8dce2a23feed0ef58f6f5ac3f74145127dbcaec4bcb6b1a459bdc287\ -58ba0523f721c3e154433dc7353f02ef487b07ad309ef5e44e6cc19026f5fd57\ -07cc32ec12b9c01fe0c58beb2fe73ea79e24093f05911663a76b21beab18cede\ -17275c54d18fcd3e4cf32279347b22f8751119fb56d92f55d511e4ecc1334085\ -e74934455a2daec3f1821c54b4cb809053b8d837de4186600afedf8bd72dd56e\ -223745c19f76edba01e9b5346666d01f677fbd68fa5010fd7db8b06829a90da0\ -e81b84756a70946a6c05e16d225a2e11af586bb1c5b1d21f5349f8e5e3ee41f4\ -232d554954d1bc86064754b86c1dc92d7a9de30086d8eb4a7c86db9c380f13b9\ -52e11c5b89f1be0a6b52c6e7a053da7359c5fd7f50c70232d86aff08c5ff1746\ -d3bd074d79ad6fc657e0cbbe5d02c4fce55d3c31fef4642ed738f751430f2f1c\ -f6e453ef6edeb9540cec52c697d4864201e141e06c3ddf5aaa64a1a984247e96\ -d2cf1e7fb2bc239919369f4a0bf9d111d0d8be64afae86214d5f62e64f25e8f1\ -3e12680ec170ad6234cbbda938df53cc17a12afea1eb4005122a65cb42bedb76\ -edf029db910fc81b81f3dd28341fed4064ce37648548e5852d4aebb7923016f9\ -afcb07ae7bc11800e217a0062f0b53ffa8d471aa78ca6a13b7f5647189106773\ -0a311d6fe4ff57f05f9a58aa742696b6cbb3ec539da0c2aadd6a60d2a33c26d5\ -8a343448ed912aafb98568c6ae1cb1efaeafd81a6e3e7c450f8e2be4c6cc18f9\ -5e8a1c6c59190a2798e912a614c1e7d0f7e74b1baf8e5682f5442f998b24fa86\ -d1e5f673002e2c92db8ebf7abb1c9d267a9763f4bd54f7bbf07c4466dac0bf3f\ -faf5666a43a52f0812e76df5f9d4da8ed1bc6d4ab29b34718facb4bebc11e907\ -fe9b0e3937de7769fc5b0cc52b3e50d57e02b9b4022949aaf3698bc58f696073\ -ec972a425caee9700864d3d166130ee09d51320b9d51bc9b4aa575c789786242\ -0698d9e1f6426fd141a32c9f55c24e5149e274983035ac1c44833b0179aed63e\ -a2b2b61afa54700155e55c7c343412584f7b0fe73d63c5ad88718dde3000ac1d\ -b4050ae2610032e6b389eec48952a1a2ed0016e525ccd9616706caba89ed07d5\ -4f15ecfaabbc91b7c82c5904bc0f83d44888997faa11fe8fa7333cb8c5b16e31\ -52233c80fbc9f71d9ee8fefa50d67a7e45b93d3469ba4078bb1ed5859e7a8e62\ -b26bacf538507fa6bd43e18d67d7aaf27baaa68d233ca392ce33e257d5ddf3fa\ -ef6a951430d686f65ee9afaf6aee0677b41098922b41fba202ef05a27d614612\ -5daebeb147d617c8df42dba0b91dfbf8ab5805ee9877e495881035fbb7342c24\ -e24f3b85c88671184152ab0d395a9a81afab3bf93bea49cb23ee6bd1c9fb84e6\ -4ecd462f60119ceeae7f1d2150bd36fe7ef2782b0fd12b55df119a517103d489\ -0a739b715d3d33e2ae9fe659df4bc0136c0b243538eaa8f9b813043d66ae15c8\ -261c94c0072afc802668b3151ad1c0ab0f034eb3e8f2fce0c9fbc8f68404fb93\ -a1cd11f4eb9a5eeb9117462ea602ae41fbfe0074323e56e15deb04d41f3510cd\ -1df417f759f4c2bee72bab88833e7d3d9837801f16901ee12581588fa7037f74\ -073b2166405d79098098fb196cc4b1733e45796fa7fc977cbd23853e5943b2ad\ -e154856565a455189198f6ba50b9cc6fda0c309a413ccc746bc8261fd6b060f0\ -5cfcc82894125b3f1e0b0c47257fd838cf295aa13102724163a9fc2598fe8572\ -d0bf844518dccc1ee16eb8e4c9935b78fb969b7c3104091079079a7688f1e833\ -0335f63eabfdd3224a506bae4ea3022a8a4959f4fa410ad7111488a39e3c1cd7\ -a28ce83255de2c4477fe62f660af3b7ba049240aa5212e4e9fffd8b66fd51b17\ -0bdf6c7e7214361a7efdceae86878f49716c0859ce2e24979bae82d98025720e\ -06d7904c9646f1b1058b1a7c93ee4fd728c4f19051adf2ca30f4d54cf65be23a\ -7198e5be5765c018bbc1d2344fa8d1aa908cb8f789ea793c6c60d9a7ba9eebcf\ -7aee50a54810cbe3b632144956a157c220e33a232c169cc9ae64d6aa3560a185\ -fc2d94f15b389eebad8d07662c2be6d6349ece8ef88aea27d430ec9512ff1bc0\ -c5560862fa4a833af750d968e9fb545e3879571ec021735761da937e294820c6\ -585ae00e8023f48a4e1f392217df763a09e540ca615188345512179f8889902f\ -38c626ea3a333fc367818b058dbb8d6aa474ff3438b2de2b32822fdb93f77618\ -83b89223e0e616c885fa3414905d098d82a5359f629ed11589974393cfaf4695\ -da7ee36346d088a6ea6ef21ad6245da8de9956fcefc930c4e2759b596e3f98d9\ -2483b2bd82b74269caae2014f796ffcfe5db58759f0cd4e527b16f989d9cbab7\ -f20282ee2e666cc19ad64aa7a36193ff248002c762280a98f3ad2bf07b32f26b\ -eff5a5586d967d844aba69f7297bb1e28075273f39aa6e7c6c7308728da8ad30\ -31a2d20ebe99940732f93d0440b6e3b481774b69eb76179496350983031c2611\ -a27d885d91ac37debc02512edd06e1d10061325c5e04269c0c14942d10f03f83\ -06ef173d645478d79c74990a82df4b13f2754f273227f96988c25bedaf392534\ -69d73d642305f8058ce4713f65a36b822cd98da3fd805c4408d18dde4ee8e794\ -72e38f8683edbbfdce8d085e005407666eefba25d8c3368c6cb656a699b30736\ -31b8024eb6859019feb76bdb5a0d7f17c92a37fe6bcd14630c1a62bdde1e41b5\ -e9ab7306183a16c31554821ad44229ebce2e552f9a09fd1607dec8c92a1e893a\ -b80c331cdc7860093503cedfd44b3403b3501415916303baef0c68d12efa7c54\ -a11af3a7df5d23df98cfba907dafad0a8989c710d4602fc75f663fb16039d94e\ -f860f358bbf05ac9c34865141030513c4cda32e9b777d9fd9e4ebdc1ad0b24f6\ -799f815e29b8e2259f94b0215b94b349938556736d3ed578cdcea9024d71f174\ -376f05b3c203cc56476dd92d07ecf7e283cc181225a2b690eeaf3cffd35bbda9\ -c4ed0456661e2e39f6be537d2446f65cae13a6dea668b04f8f223601629cd3d1\ -1b75180dfea19435bae5e0622c5005371d4198b8dc1e0c40adbbe08d3651d345\ -4d68507f7f0b56d4bf2a328bb68854064699d0a38d7468ef64ddb4139644fabb\ -d21ad79b5f28a5612e445dc5673b2038e3f7dcf17a12ab32da214fb28500ea79\ -00491554da45661a03e2a878d1006d4fba8e22a7e5dded9b02fb8b5e6d166aad\ -43f8ef3eec4a7050a0304d46cc0be3ec97f0bdd137eea7c001bd8519101ff3af\ -76d1d7710c22c5b0a69c10df3493283254f5afa2ce4b3959d3be512e6ddb78da\ -30cc0a338d675c8fc3fcbbd313b696c660a85fa13ec9fa13ac8e8dbce8335575\ -608d5962ecb516b9ac186206e1ffb971924e9301e6fc220d0769ea1cd954e2fd\ -dc591ea026e369509d427ad062b81ca5e8873432a0d7a031b7f26702840fbb5e\ -5e9e6c8794dbec841822ca92aea2a22709182a3cda136b7b3569d85be6213817\ -06b2852b7de3e20907739958726334ad0c2c3b7327d0060b3f6cd319bf6666e0\ -9de3ee588abb948a6df37d5ac2b18c82d63ca0a0dcc6f1c1e2ae609999f60738\ -714df767fbf14b12b7a002ce0dad86f8adf777ff7ccc9b08180faa0d96b44023\ -3ca5398525eaaa9afba9e0ea4f2cfbf5a3e868f99ddc1a86ee36baf2ab56f9b0\ -b1ff1ff591033e579847267b9557217e0991d2c90e61f7e58321d9bdaba96c9c\ -63e9d3924f0a8c7ac6d4fc94d74d7bc1a96aafad76fca0fa4017d76f00f5cb5e\ -96058fafb57caf07cbcf665fea359cfa2cd4084796e3ea2ccf30bbe6e8f7efea\ -60190fcf2700d1d27b80ff53d8071aeee1ed8708617c92d821f83c9a7ea90c72\ -f19a58e9179cbed5f4f86a80c28e0fbc3fac50d5eea3117df747ab076044f1ef\ -61c7bb95ab31ca2f4f6e61d19e906230694158df40a72fb748dd79d0fd0617b7\ -24b23c6d0569d170731ee07dfd637820f10fbe860a179f2a24775b1f27a2e528\ -a5808d13cc3f995d2cf0c4a832915e19bd6293bfae8eeabcf85de223c4dea84f\ -0d095815cd34ab885d6c50816bf8fd07d4e58aa8c8fbf34344fc3279c1efa142\ -68471ff263f121bc501439c9fe1ae45c946b348a00535ae451d17f3edcecea67\ -5a7dde387813246bb8312147163f813159413fd550e00204c441b0eaf4d12c79\ -520a3d3bd75b00e20a5284457fc3999ac7ce1f1202e5bd651047c74eac7ff92d\ -7f214d6583304f6dda309a01230198b1e656c9707f2f27663c1855771af7f449\ -0e3f3f8da53f0492654a3c40d15620e2fd2a68658ecaa8fb5601775a393878a3\ -110d75e6b968db8eb81c2ecba5852b2eaf7f9b8967b60f92ee4af138a5e777b7\ -aad802e39d7237a17b4a79d9a467a4be1be5121de907400ee5586f0f94bed1db\ -35dcd7995ec93b49b0f6dc7a1e3e4cc0ad1945e60dbe0d24948eb94ddbc45e20\ -fe0bea593df4e6d38647fb623df65f6fbd1e36f318decf77824abd6bdf95eb8f\ -a5f29b650f36b77a305bf9c15b034a7ce1f482ccba079171a6476863a70bf49f\ -cc488177e461837c64d5f5419ae0a344010df2d6edb170b1461ef27024199b15\ -44144dc327eb225f1ee99ab4f07bf2f934042f2df86252c4058212b2e5cf35dd\ -14df206c1dba5445d41f211911e1053813a09e7fea3d5de5cac92acfe36b3ef6\ -8d4767c52a31c8ccba0eaa85874892d813ae601db1ffd5cd42ec1e98534056e2\ -753b5fa30f993016b787de9620a1242986370e005ff4495315c2b1aedb59a32e\ -47be953ea41f15fbe7a115d10328f67e59c538948ceef3f4a338a030ad198b2f\ -c89f067b336f28085a4ca061a38ae6190de48981de1c942ea83a9143b1faf94c\ -2f462a9de5d14b915bfc52e916d16f11cf59a28a3d933fedb48ac06b7cdd29a0\ -720ed851863bafe7a149f403881afe46b940ca37c29b7e49a730b28404179449\ -73274553b70fb11da65acc1c5420677288c624e67542f230da340d1e9b8dc5a1\ -90b69bf5e67e77929250a802f07cdf0716db567209774367aae32e0c1e90928f\ -61c43eaa372f1e9ec70aa0dd506734d23825213edaf184a24a1bb128811db664\ -783cb27cac1edd074d79d1259f84da9e0e5c75923a4dbfaa8a6283dd2279ba69\ -bcd1d78970d7a54a0d31c44071cbf05527010e2ff808cadefd74d906a8ad8c32\ -a01845d3ad78bc6ed96a688dfff171d80d931409d94c83da2bc54ad9790e9a6b\ -a5093384850090a961572f6fdb929a1a6baa98c015e95b0a6da10de04b8471c1\ -aeac19b6c887c1c81dad641d55ab1a29250d14dc41a042f83eb8a6bddcb662a9\ -3e00cf6adaed95cb52b36692f43a8e9b85ba7723d70e5ada851a16fe102ee1c6\ -d3bf8be1634ade9fa6b44626c734788b3aed0c287ab7e80ae5fc1451ddb037c0\ -f729309209226022f13e6f8aa592445db33bb1f29101e0df15db15df0bab6411\ -5bc12f0bbf430551473dbd274db2eea9905eab75f290ecbd903b675f1ad9ac2f\ -2196d00139e7671ac8b95a8cc8e244511d481863b509e5bb7573b6ce49cf0fc9\ -53de75523ca31a64012d11bb7f60f1f67b199a4f2013f6ea3808e2639eb5f263\ -1c19568bcf36071235de8ae7b2d5815e2e0a2e81098a6b4d6179e29ed0a92bdf\ -585a2905f0496ba58eb3d740efa54b664d1a6134fed9fede636504aa691e08e4 -Test: Encrypt +AlgorithmType: SymmetricCipher +Name: SEAL-3.0-BE +Source: generated by Crypto++ 5.2 +Comment: verified against partial ciphertext from 1997 SEAL paper by Rogaway and Coppersmith +Key: 67452301efcdab8998badcfe10325476c3d2e1f0 +IV: 013577af +Plaintext: r1024 00000000 +Ciphertext: \ +37a005959b84c49ca4be1e050673530f5fb097fdf6a13fbd6c2cdecd81fdee7c\ +2abdc3e764209aff00a12283ef675085c1634b53289059e6a7ab5ed9480c01eb\ +4c64569a8dce2a23feed0ef58f6f5ac3f74145127dbcaec4bcb6b1a459bdc287\ +58ba0523f721c3e154433dc7353f02ef487b07ad309ef5e44e6cc19026f5fd57\ +07cc32ec12b9c01fe0c58beb2fe73ea79e24093f05911663a76b21beab18cede\ +17275c54d18fcd3e4cf32279347b22f8751119fb56d92f55d511e4ecc1334085\ +e74934455a2daec3f1821c54b4cb809053b8d837de4186600afedf8bd72dd56e\ +223745c19f76edba01e9b5346666d01f677fbd68fa5010fd7db8b06829a90da0\ +e81b84756a70946a6c05e16d225a2e11af586bb1c5b1d21f5349f8e5e3ee41f4\ +232d554954d1bc86064754b86c1dc92d7a9de30086d8eb4a7c86db9c380f13b9\ +52e11c5b89f1be0a6b52c6e7a053da7359c5fd7f50c70232d86aff08c5ff1746\ +d3bd074d79ad6fc657e0cbbe5d02c4fce55d3c31fef4642ed738f751430f2f1c\ +f6e453ef6edeb9540cec52c697d4864201e141e06c3ddf5aaa64a1a984247e96\ +d2cf1e7fb2bc239919369f4a0bf9d111d0d8be64afae86214d5f62e64f25e8f1\ +3e12680ec170ad6234cbbda938df53cc17a12afea1eb4005122a65cb42bedb76\ +edf029db910fc81b81f3dd28341fed4064ce37648548e5852d4aebb7923016f9\ +afcb07ae7bc11800e217a0062f0b53ffa8d471aa78ca6a13b7f5647189106773\ +0a311d6fe4ff57f05f9a58aa742696b6cbb3ec539da0c2aadd6a60d2a33c26d5\ +8a343448ed912aafb98568c6ae1cb1efaeafd81a6e3e7c450f8e2be4c6cc18f9\ +5e8a1c6c59190a2798e912a614c1e7d0f7e74b1baf8e5682f5442f998b24fa86\ +d1e5f673002e2c92db8ebf7abb1c9d267a9763f4bd54f7bbf07c4466dac0bf3f\ +faf5666a43a52f0812e76df5f9d4da8ed1bc6d4ab29b34718facb4bebc11e907\ +fe9b0e3937de7769fc5b0cc52b3e50d57e02b9b4022949aaf3698bc58f696073\ +ec972a425caee9700864d3d166130ee09d51320b9d51bc9b4aa575c789786242\ +0698d9e1f6426fd141a32c9f55c24e5149e274983035ac1c44833b0179aed63e\ +a2b2b61afa54700155e55c7c343412584f7b0fe73d63c5ad88718dde3000ac1d\ +b4050ae2610032e6b389eec48952a1a2ed0016e525ccd9616706caba89ed07d5\ +4f15ecfaabbc91b7c82c5904bc0f83d44888997faa11fe8fa7333cb8c5b16e31\ +52233c80fbc9f71d9ee8fefa50d67a7e45b93d3469ba4078bb1ed5859e7a8e62\ +b26bacf538507fa6bd43e18d67d7aaf27baaa68d233ca392ce33e257d5ddf3fa\ +ef6a951430d686f65ee9afaf6aee0677b41098922b41fba202ef05a27d614612\ +5daebeb147d617c8df42dba0b91dfbf8ab5805ee9877e495881035fbb7342c24\ +e24f3b85c88671184152ab0d395a9a81afab3bf93bea49cb23ee6bd1c9fb84e6\ +4ecd462f60119ceeae7f1d2150bd36fe7ef2782b0fd12b55df119a517103d489\ +0a739b715d3d33e2ae9fe659df4bc0136c0b243538eaa8f9b813043d66ae15c8\ +261c94c0072afc802668b3151ad1c0ab0f034eb3e8f2fce0c9fbc8f68404fb93\ +a1cd11f4eb9a5eeb9117462ea602ae41fbfe0074323e56e15deb04d41f3510cd\ +1df417f759f4c2bee72bab88833e7d3d9837801f16901ee12581588fa7037f74\ +073b2166405d79098098fb196cc4b1733e45796fa7fc977cbd23853e5943b2ad\ +e154856565a455189198f6ba50b9cc6fda0c309a413ccc746bc8261fd6b060f0\ +5cfcc82894125b3f1e0b0c47257fd838cf295aa13102724163a9fc2598fe8572\ +d0bf844518dccc1ee16eb8e4c9935b78fb969b7c3104091079079a7688f1e833\ +0335f63eabfdd3224a506bae4ea3022a8a4959f4fa410ad7111488a39e3c1cd7\ +a28ce83255de2c4477fe62f660af3b7ba049240aa5212e4e9fffd8b66fd51b17\ +0bdf6c7e7214361a7efdceae86878f49716c0859ce2e24979bae82d98025720e\ +06d7904c9646f1b1058b1a7c93ee4fd728c4f19051adf2ca30f4d54cf65be23a\ +7198e5be5765c018bbc1d2344fa8d1aa908cb8f789ea793c6c60d9a7ba9eebcf\ +7aee50a54810cbe3b632144956a157c220e33a232c169cc9ae64d6aa3560a185\ +fc2d94f15b389eebad8d07662c2be6d6349ece8ef88aea27d430ec9512ff1bc0\ +c5560862fa4a833af750d968e9fb545e3879571ec021735761da937e294820c6\ +585ae00e8023f48a4e1f392217df763a09e540ca615188345512179f8889902f\ +38c626ea3a333fc367818b058dbb8d6aa474ff3438b2de2b32822fdb93f77618\ +83b89223e0e616c885fa3414905d098d82a5359f629ed11589974393cfaf4695\ +da7ee36346d088a6ea6ef21ad6245da8de9956fcefc930c4e2759b596e3f98d9\ +2483b2bd82b74269caae2014f796ffcfe5db58759f0cd4e527b16f989d9cbab7\ +f20282ee2e666cc19ad64aa7a36193ff248002c762280a98f3ad2bf07b32f26b\ +eff5a5586d967d844aba69f7297bb1e28075273f39aa6e7c6c7308728da8ad30\ +31a2d20ebe99940732f93d0440b6e3b481774b69eb76179496350983031c2611\ +a27d885d91ac37debc02512edd06e1d10061325c5e04269c0c14942d10f03f83\ +06ef173d645478d79c74990a82df4b13f2754f273227f96988c25bedaf392534\ +69d73d642305f8058ce4713f65a36b822cd98da3fd805c4408d18dde4ee8e794\ +72e38f8683edbbfdce8d085e005407666eefba25d8c3368c6cb656a699b30736\ +31b8024eb6859019feb76bdb5a0d7f17c92a37fe6bcd14630c1a62bdde1e41b5\ +e9ab7306183a16c31554821ad44229ebce2e552f9a09fd1607dec8c92a1e893a\ +b80c331cdc7860093503cedfd44b3403b3501415916303baef0c68d12efa7c54\ +a11af3a7df5d23df98cfba907dafad0a8989c710d4602fc75f663fb16039d94e\ +f860f358bbf05ac9c34865141030513c4cda32e9b777d9fd9e4ebdc1ad0b24f6\ +799f815e29b8e2259f94b0215b94b349938556736d3ed578cdcea9024d71f174\ +376f05b3c203cc56476dd92d07ecf7e283cc181225a2b690eeaf3cffd35bbda9\ +c4ed0456661e2e39f6be537d2446f65cae13a6dea668b04f8f223601629cd3d1\ +1b75180dfea19435bae5e0622c5005371d4198b8dc1e0c40adbbe08d3651d345\ +4d68507f7f0b56d4bf2a328bb68854064699d0a38d7468ef64ddb4139644fabb\ +d21ad79b5f28a5612e445dc5673b2038e3f7dcf17a12ab32da214fb28500ea79\ +00491554da45661a03e2a878d1006d4fba8e22a7e5dded9b02fb8b5e6d166aad\ +43f8ef3eec4a7050a0304d46cc0be3ec97f0bdd137eea7c001bd8519101ff3af\ +76d1d7710c22c5b0a69c10df3493283254f5afa2ce4b3959d3be512e6ddb78da\ +30cc0a338d675c8fc3fcbbd313b696c660a85fa13ec9fa13ac8e8dbce8335575\ +608d5962ecb516b9ac186206e1ffb971924e9301e6fc220d0769ea1cd954e2fd\ +dc591ea026e369509d427ad062b81ca5e8873432a0d7a031b7f26702840fbb5e\ +5e9e6c8794dbec841822ca92aea2a22709182a3cda136b7b3569d85be6213817\ +06b2852b7de3e20907739958726334ad0c2c3b7327d0060b3f6cd319bf6666e0\ +9de3ee588abb948a6df37d5ac2b18c82d63ca0a0dcc6f1c1e2ae609999f60738\ +714df767fbf14b12b7a002ce0dad86f8adf777ff7ccc9b08180faa0d96b44023\ +3ca5398525eaaa9afba9e0ea4f2cfbf5a3e868f99ddc1a86ee36baf2ab56f9b0\ +b1ff1ff591033e579847267b9557217e0991d2c90e61f7e58321d9bdaba96c9c\ +63e9d3924f0a8c7ac6d4fc94d74d7bc1a96aafad76fca0fa4017d76f00f5cb5e\ +96058fafb57caf07cbcf665fea359cfa2cd4084796e3ea2ccf30bbe6e8f7efea\ +60190fcf2700d1d27b80ff53d8071aeee1ed8708617c92d821f83c9a7ea90c72\ +f19a58e9179cbed5f4f86a80c28e0fbc3fac50d5eea3117df747ab076044f1ef\ +61c7bb95ab31ca2f4f6e61d19e906230694158df40a72fb748dd79d0fd0617b7\ +24b23c6d0569d170731ee07dfd637820f10fbe860a179f2a24775b1f27a2e528\ +a5808d13cc3f995d2cf0c4a832915e19bd6293bfae8eeabcf85de223c4dea84f\ +0d095815cd34ab885d6c50816bf8fd07d4e58aa8c8fbf34344fc3279c1efa142\ +68471ff263f121bc501439c9fe1ae45c946b348a00535ae451d17f3edcecea67\ +5a7dde387813246bb8312147163f813159413fd550e00204c441b0eaf4d12c79\ +520a3d3bd75b00e20a5284457fc3999ac7ce1f1202e5bd651047c74eac7ff92d\ +7f214d6583304f6dda309a01230198b1e656c9707f2f27663c1855771af7f449\ +0e3f3f8da53f0492654a3c40d15620e2fd2a68658ecaa8fb5601775a393878a3\ +110d75e6b968db8eb81c2ecba5852b2eaf7f9b8967b60f92ee4af138a5e777b7\ +aad802e39d7237a17b4a79d9a467a4be1be5121de907400ee5586f0f94bed1db\ +35dcd7995ec93b49b0f6dc7a1e3e4cc0ad1945e60dbe0d24948eb94ddbc45e20\ +fe0bea593df4e6d38647fb623df65f6fbd1e36f318decf77824abd6bdf95eb8f\ +a5f29b650f36b77a305bf9c15b034a7ce1f482ccba079171a6476863a70bf49f\ +cc488177e461837c64d5f5419ae0a344010df2d6edb170b1461ef27024199b15\ +44144dc327eb225f1ee99ab4f07bf2f934042f2df86252c4058212b2e5cf35dd\ +14df206c1dba5445d41f211911e1053813a09e7fea3d5de5cac92acfe36b3ef6\ +8d4767c52a31c8ccba0eaa85874892d813ae601db1ffd5cd42ec1e98534056e2\ +753b5fa30f993016b787de9620a1242986370e005ff4495315c2b1aedb59a32e\ +47be953ea41f15fbe7a115d10328f67e59c538948ceef3f4a338a030ad198b2f\ +c89f067b336f28085a4ca061a38ae6190de48981de1c942ea83a9143b1faf94c\ +2f462a9de5d14b915bfc52e916d16f11cf59a28a3d933fedb48ac06b7cdd29a0\ +720ed851863bafe7a149f403881afe46b940ca37c29b7e49a730b28404179449\ +73274553b70fb11da65acc1c5420677288c624e67542f230da340d1e9b8dc5a1\ +90b69bf5e67e77929250a802f07cdf0716db567209774367aae32e0c1e90928f\ +61c43eaa372f1e9ec70aa0dd506734d23825213edaf184a24a1bb128811db664\ +783cb27cac1edd074d79d1259f84da9e0e5c75923a4dbfaa8a6283dd2279ba69\ +bcd1d78970d7a54a0d31c44071cbf05527010e2ff808cadefd74d906a8ad8c32\ +a01845d3ad78bc6ed96a688dfff171d80d931409d94c83da2bc54ad9790e9a6b\ +a5093384850090a961572f6fdb929a1a6baa98c015e95b0a6da10de04b8471c1\ +aeac19b6c887c1c81dad641d55ab1a29250d14dc41a042f83eb8a6bddcb662a9\ +3e00cf6adaed95cb52b36692f43a8e9b85ba7723d70e5ada851a16fe102ee1c6\ +d3bf8be1634ade9fa6b44626c734788b3aed0c287ab7e80ae5fc1451ddb037c0\ +f729309209226022f13e6f8aa592445db33bb1f29101e0df15db15df0bab6411\ +5bc12f0bbf430551473dbd274db2eea9905eab75f290ecbd903b675f1ad9ac2f\ +2196d00139e7671ac8b95a8cc8e244511d481863b509e5bb7573b6ce49cf0fc9\ +53de75523ca31a64012d11bb7f60f1f67b199a4f2013f6ea3808e2639eb5f263\ +1c19568bcf36071235de8ae7b2d5815e2e0a2e81098a6b4d6179e29ed0a92bdf\ +585a2905f0496ba58eb3d740efa54b664d1a6134fed9fede636504aa691e08e4 +Test: Encrypt diff --git a/TestVectors/sha.txt b/TestVectors/sha.txt index 7980daa4..cdb1ea68 100644 --- a/TestVectors/sha.txt +++ b/TestVectors/sha.txt @@ -1,59 +1,59 @@ -AlgorithmType: MessageDigest -Name: SHA-1 -Message: "abc" -Digest: A9993E364706816ABA3E25717850C26C9CD0D89D -Test: Verify -Message: "abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq" -Digest: 84983E441C3BD26EBAAE4AA1F95129E5E54670F1 -Test: Verify -Message: r15625 "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" -Digest: 34AA973CD4C4DAA4F61EEB2BDBAD27316534016F -Test: Verify - -AlgorithmType: MessageDigest -Name: SHA-224 -Message: "abc" -Digest: 23097d223405d8228642a477bda255b32aadbce4bda0b3f7e36c9da7 -Test: Verify -Message: "abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq" -Digest: 75388b16512776cc5dba5da1fd890150b0c6455cb4f58b1952522525 -Test: Verify -Message: r15625 "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" -Digest: 20794655980c91d8bbb4c1ea97618a4bf03f42581948b2ee4ee7ad67 -Test: Verify - -AlgorithmType: MessageDigest -Name: SHA-256 -Message: "abc" -Digest: ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad -Test: Verify -Message: "abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq" -Digest: 248d6a61d20638b8e5c026930c3e6039a33ce45964ff2167f6ecedd419db06c1 -Test: Verify -Message: r15625 "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" -Digest: cdc76e5c9914fb9281a1c7e284d73e67f1809a48a497200e046d39ccc7112cd0 -Test: Verify - -AlgorithmType: MessageDigest -Name: SHA-384 -Message: "abc" -Digest: cb00753f45a35e8bb5a03d699ac65007272c32ab0eded1631a8b605a43ff5bed8086072ba1e7cc2358baeca134c825a7 -Test: Verify -Message: "abcdefghbcdefghicdefghijdefghijkefghijklfghijklmghijklmnhijklmnoijklmnopjklmnopqklmnopqrlmnopqrsmnopqrstnopqrstu" -Digest: 09330c33f71147e83d192fc782cd1b4753111b173b3b05d22fa08086e3b0f712fcc7c71a557e2db966c3e9fa91746039 -Test: Verify -Message: r15625 "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" -Digest: 9d0e1809716474cb086e834e310a4a1ced149e9c00f248527972cec5704c2a5b07b8b3dc38ecc4ebae97ddd87f3d8985 -Test: Verify - -AlgorithmType: MessageDigest -Name: SHA-512 -Message: "abc" -Digest: ddaf35a193617abacc417349ae20413112e6fa4e89a97ea20a9eeee64b55d39a2192992a274fc1a836ba3c23a3feebbd454d4423643ce80e2a9ac94fa54ca49f -Test: Verify -Message: "abcdefghbcdefghicdefghijdefghijkefghijklfghijklmghijklmnhijklmnoijklmnopjklmnopqklmnopqrlmnopqrsmnopqrstnopqrstu" -Digest: 8e959b75dae313da8cf4f72814fc143f8f7779c6eb9f7fa17299aeadb6889018501d289e4900f7e4331b99dec4b5433ac7d329eeb6dd26545e96e55b874be909 -Test: Verify -Message: r15625 "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" -Digest: e718483d0ce769644e2e42c7bc15b4638e1f98b13b2044285632a803afa973ebde0ff244877ea60a4cb0432ce577c31beb009c5c2c49aa2e4eadb217ad8cc09b -Test: Verify +AlgorithmType: MessageDigest +Name: SHA-1 +Message: "abc" +Digest: A9993E364706816ABA3E25717850C26C9CD0D89D +Test: Verify +Message: "abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq" +Digest: 84983E441C3BD26EBAAE4AA1F95129E5E54670F1 +Test: Verify +Message: r15625 "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" +Digest: 34AA973CD4C4DAA4F61EEB2BDBAD27316534016F +Test: Verify + +AlgorithmType: MessageDigest +Name: SHA-224 +Message: "abc" +Digest: 23097d223405d8228642a477bda255b32aadbce4bda0b3f7e36c9da7 +Test: Verify +Message: "abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq" +Digest: 75388b16512776cc5dba5da1fd890150b0c6455cb4f58b1952522525 +Test: Verify +Message: r15625 "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" +Digest: 20794655980c91d8bbb4c1ea97618a4bf03f42581948b2ee4ee7ad67 +Test: Verify + +AlgorithmType: MessageDigest +Name: SHA-256 +Message: "abc" +Digest: ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad +Test: Verify +Message: "abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq" +Digest: 248d6a61d20638b8e5c026930c3e6039a33ce45964ff2167f6ecedd419db06c1 +Test: Verify +Message: r15625 "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" +Digest: cdc76e5c9914fb9281a1c7e284d73e67f1809a48a497200e046d39ccc7112cd0 +Test: Verify + +AlgorithmType: MessageDigest +Name: SHA-384 +Message: "abc" +Digest: cb00753f45a35e8bb5a03d699ac65007272c32ab0eded1631a8b605a43ff5bed8086072ba1e7cc2358baeca134c825a7 +Test: Verify +Message: "abcdefghbcdefghicdefghijdefghijkefghijklfghijklmghijklmnhijklmnoijklmnopjklmnopqklmnopqrlmnopqrsmnopqrstnopqrstu" +Digest: 09330c33f71147e83d192fc782cd1b4753111b173b3b05d22fa08086e3b0f712fcc7c71a557e2db966c3e9fa91746039 +Test: Verify +Message: r15625 "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" +Digest: 9d0e1809716474cb086e834e310a4a1ced149e9c00f248527972cec5704c2a5b07b8b3dc38ecc4ebae97ddd87f3d8985 +Test: Verify + +AlgorithmType: MessageDigest +Name: SHA-512 +Message: "abc" +Digest: ddaf35a193617abacc417349ae20413112e6fa4e89a97ea20a9eeee64b55d39a2192992a274fc1a836ba3c23a3feebbd454d4423643ce80e2a9ac94fa54ca49f +Test: Verify +Message: "abcdefghbcdefghicdefghijdefghijkefghijklfghijklmghijklmnhijklmnoijklmnopjklmnopqklmnopqrlmnopqrsmnopqrstnopqrstu" +Digest: 8e959b75dae313da8cf4f72814fc143f8f7779c6eb9f7fa17299aeadb6889018501d289e4900f7e4331b99dec4b5433ac7d329eeb6dd26545e96e55b874be909 +Test: Verify +Message: r15625 "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" +Digest: e718483d0ce769644e2e42c7bc15b4638e1f98b13b2044285632a803afa973ebde0ff244877ea60a4cb0432ce577c31beb009c5c2c49aa2e4eadb217ad8cc09b +Test: Verify diff --git a/TestVectors/shacal2.txt b/TestVectors/shacal2.txt index 19a3d86e..a970c461 100644 --- a/TestVectors/shacal2.txt +++ b/TestVectors/shacal2.txt @@ -1,5123 +1,5123 @@ -AlgorithmType: SymmetricCipher -Name: SHACAL-2/ECB -Source: NESSIE submission -Comment: Set 1, vector 0 -Key: 80000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 361AB6322FA9E7A7BB23818D839E01BDDAFDF47305426EDD297AEDB9F6202BAE -Test: Encrypt -Comment: Set 1, vector 1 -Key: 40000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: F3BAF53E5301E08813F8BE6F651BB19E9722151FF15063BA42A6FEF7CF3BF3D7 -Test: Encrypt -Comment: Set 1, vector 2 -Key: 20000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: E485005217441B60EE5B48EE8AF924B268B6B952D7F593E6102AC83D7DA72838 -Test: Encrypt -Comment: Set 1, vector 3 -Key: 10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: AE70E355CB7E26FF12421F46CDAD5CB98367FE0E86CC234EDF97481765CD1AD9 -Test: Encrypt -Comment: Set 1, vector 4 -Key: 08000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 00CECD0B01311F881018E7A20BCE169766C089D91FF161346C4E1BD122EA199F -Test: Encrypt -Comment: Set 1, vector 5 -Key: 04000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 47A879CB6785AD37119C450CD50E9A36FE318FA8E7B6C6E0FA963430122F33CD -Test: Encrypt -Comment: Set 1, vector 6 -Key: 02000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: CF3D53B9F9F7CA2C66738A4C09CEA9212C056F525BDC26F263FBA1B482EDF503 -Test: Encrypt -Comment: Set 1, vector 7 -Key: 01000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: A274D404E83E82817389A2CB7B528C792A0E80DE879A5A67DE633B0B7DD57B7B -Test: Encrypt -Comment: Set 1, vector 8 -Key: 00800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 09B3AB9332301D4E3C239D192A4221AFD43F6829A705D396FA96BDE1E716BC38 -Test: Encrypt -Comment: Set 1, vector 9 -Key: 00400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: D3B9AB867A6868C4400D200979055C8F9E3A6BFB40D1F9E376B9EC89223D7050 -Test: Encrypt -Comment: Set 1, vector 10 -Key: 00200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 4F27041481DCF574586CD6D5B72F2E806B0DBC351FEEA624112897A8A64CDBA9 -Test: Encrypt -Comment: Set 1, vector 11 -Key: 00100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 77CEC8EA64BB7FAE966D030FE4CF318C318DBEBAEB896F31FAA3C9CBA0AE125D -Test: Encrypt -Comment: Set 1, vector 12 -Key: 00080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: E6F96E0217B8BDC6BBF30CB91C05325F493EB076E505FC6469AAA2BBB3A8A60B -Test: Encrypt -Comment: Set 1, vector 13 -Key: 00040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: ED949C1CFC555EC7192464AE86EC0334AD1198C2DBA36DB38CDF7160C950D474 -Test: Encrypt -Comment: Set 1, vector 14 -Key: 00020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 41EB01CC3875F31A6C8D7008C958BBB164813C59435B01879199979FC4762B26 -Test: Encrypt -Comment: Set 1, vector 15 -Key: 00010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: CCE7C4F96A665DDD23F39A78A3C7898E5F945FE908F1707DBED08BA6BCA3A58E -Test: Encrypt -Comment: Set 1, vector 16 -Key: 00008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 5FDBD5741AB5BC53E8C75F4497E37D5BE92B89D2424A11BBF189449AE005E2E8 -Test: Encrypt -Comment: Set 1, vector 17 -Key: 00004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: E6C00B21A5B89F4FE9251E53E7AFE30D6C8721678BF842575EEE185E85632778 -Test: Encrypt -Comment: Set 1, vector 18 -Key: 00002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: FC19871F6E933014D92721D77BDF4E0EF528A325D5DC979536D6C46457CA066F -Test: Encrypt -Comment: Set 1, vector 19 -Key: 00001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: A195202A93364212B989EB2C667EE05881657AD95FB6B3EE62DD21EB73347E56 -Test: Encrypt -Comment: Set 1, vector 20 -Key: 00000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: A25B4FB9B4F8418514A1A04078DFBDF73B83B936A887AD6B1B672F1C2AF128CF -Test: Encrypt -Comment: Set 1, vector 21 -Key: 00000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: ACB2AB0F22068D36C160D668ED300DCF32C66FB8447594878DE1B1A83B414E13 -Test: Encrypt -Comment: Set 1, vector 22 -Key: 00000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: A5AD217E39C9B40A921B4E52B1B47649C72631E7A99FE4897A92CD1A65BF8BFF -Test: Encrypt -Comment: Set 1, vector 23 -Key: 00000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 1185C198ABA5AD97F5DF7850284CD5E34BBE5E0EEC3CE4ACC4FC0A3CE3FA3BEE -Test: Encrypt -Comment: Set 1, vector 24 -Key: 00000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 7AC85AA2C5A9A219B8E437C65913738628EE442F56BD57292C8A1B36026B6664 -Test: Encrypt -Comment: Set 1, vector 25 -Key: 00000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 6140F926FA90F091603D23A4876A3A5598890CB1F2FDE64E43C50630BE4101D2 -Test: Encrypt -Comment: Set 1, vector 26 -Key: 00000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 365135682290CB40D83228B3F26FD63266EED9C72DAC991510FEFA9B56466E8F -Test: Encrypt -Comment: Set 1, vector 27 -Key: 00000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 928EED2E262D9E398ADA06151ADFB35F34018114E97414C75E390C8EDA8D2440 -Test: Encrypt -Comment: Set 1, vector 28 -Key: 00000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: E362280E66204F47E8FB782D18522AA3E1D527C15EBA88E76DB5AF44E156BB45 -Test: Encrypt -Comment: Set 1, vector 29 -Key: 00000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 807E3938AF9C9F0233FDA70B0E26028B390101F238ECFBD53EAE8E2D86552DBF -Test: Encrypt -Comment: Set 1, vector 30 -Key: 00000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: E7D3FA388C4E07ADD32E188BD09264A2BD19F0F7EC5712AC05C47B49C7FD6651 -Test: Encrypt -Comment: Set 1, vector 31 -Key: 00000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 891CFD4A18F35239FD4463DE95FE9CAF4569AC82766E457315C123FB5FE6A397 -Test: Encrypt -Comment: Set 1, vector 32 -Key: 00000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 5C8E12B2572ED949494B324383806FD61B7CF0479DEB5D62028E83B7091BB039 -Test: Encrypt -Comment: Set 1, vector 33 -Key: 00000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 6F071D68C107B19B9949A6B7AF2C79EDC40FBA9BD07674AB3B1DB8CDE0A9637D -Test: Encrypt -Comment: Set 1, vector 34 -Key: 00000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: FD720D4ECFB7B68BA48C52E2F69FE268773D73B41723AA51127895B14C516F34 -Test: Encrypt -Comment: Set 1, vector 35 -Key: 00000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 0D3D7DEB1F8742BB22C4A3FB88C7C07CDCC8165ECF624C95FD8838D90D465B0D -Test: Encrypt -Comment: Set 1, vector 36 -Key: 00000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 06A524998D1FEA6AF6E4015B9A16B7A447F50AE0A8902E6E3308D3B47E98C4F1 -Test: Encrypt -Comment: Set 1, vector 37 -Key: 00000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 9FBDF43AB1294164BC968E113673BB11195AE39267BF2537F0E429E3C10B5D2F -Test: Encrypt -Comment: Set 1, vector 38 -Key: 00000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 81C4C7F2144555C888D876787EE62BC03EBB57093DB3DDE806918707684C8C52 -Test: Encrypt -Comment: Set 1, vector 39 -Key: 00000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: F62E7B237C98C5727D4F267AE17932AAC4DAEF0CAF4C02176B4CBB902ED164D1 -Test: Encrypt -Comment: Set 1, vector 40 -Key: 00000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 99CAD86B7E78D9B2ED9DA56F27C9AECB49CBFFC287930CEBC1BF06EA94541E9B -Test: Encrypt -Comment: Set 1, vector 41 -Key: 00000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: ED1F4429D5C36B2C16D598A2CE52D9C84E9DE7CD0B4899E47ADCB999CAEDB0CA -Test: Encrypt -Comment: Set 1, vector 42 -Key: 00000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 3FEF41084D9CFF6111C40F9656C46D3892323465630B0C1D082255222847D9D0 -Test: Encrypt -Comment: Set 1, vector 43 -Key: 00000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: AB7D2B41135ED54EC7AB11C67D20BC35F0C8652D209D675AAB3A33FA264C9380 -Test: Encrypt -Comment: Set 1, vector 44 -Key: 00000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 1208F63F213F1A55127900FFBFEB0569B693376D9310C9A9E36EA1DE22CB5A59 -Test: Encrypt -Comment: Set 1, vector 45 -Key: 00000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 10C38678BC2465923063E41B4339D96F3DC5A64CA77A9C9C132D75BC4EC517F1 -Test: Encrypt -Comment: Set 1, vector 46 -Key: 00000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 5342519F1181700EDC380133226AE072971AC1AC6DF72440FD817C9ACB862E68 -Test: Encrypt -Comment: Set 1, vector 47 -Key: 00000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 09D02729C71C6E5E852272B853E87C1BAB5E522875E5D8063501ECE10315B4D6 -Test: Encrypt -Comment: Set 1, vector 48 -Key: 00000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 33D7D4F58BDD14244621A960A076573892ABDDBEF36109289A3E8A4EC536E95F -Test: Encrypt -Comment: Set 1, vector 49 -Key: 00000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 81A4590D64E2140414B913AC73BECEC19CAC798C313196007E39EF4F75C7DDB5 -Test: Encrypt -Comment: Set 1, vector 50 -Key: 00000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 942ED16EC4A9D72D74ABFB7E79CDE840997DD2AD83C9DDFAD02528A9A7E0AAC3 -Test: Encrypt -Comment: Set 1, vector 51 -Key: 00000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 8376BF03EAE71EF035E18903AC0CC2CCC93610C48050DB096BE758743234CD63 -Test: Encrypt -Comment: Set 1, vector 52 -Key: 00000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: B5613234B5F9D1201A9A581D59BD744B8E59728E5E330B74CBF03B9E81C950E0 -Test: Encrypt -Comment: Set 1, vector 53 -Key: 00000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 4750E864B881A2764EC508D0DD4AF06B7B1B123FDCCCA141A74DEAF28070B408 -Test: Encrypt -Comment: Set 1, vector 54 -Key: 00000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: B3F29EE6BDF09A16C4EA8C1539CD033B17706436FC40DEBD95DA70BF05BF1856 -Test: Encrypt -Comment: Set 1, vector 55 -Key: 00000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 3A91B7730E3FE044B75E75B9BB09BC1550AD5AC9F495AFFB524FAD90A51112D5 -Test: Encrypt -Comment: Set 1, vector 56 -Key: 00000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: D262DF12E3D8DA99A9F7F011D607905DCBE9AB03C317E81E4BCD076F3C55EBB2 -Test: Encrypt -Comment: Set 1, vector 57 -Key: 00000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 827BD4A79FD82594F645A02F9546906ADCBFF47E2F2D0D0DAF89A200389A5E00 -Test: Encrypt -Comment: Set 1, vector 58 -Key: 00000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: E83B866B294780E36058CBCB62BC3C509604F9EB9A44F1CFAFD50F248359A106 -Test: Encrypt -Comment: Set 1, vector 59 -Key: 00000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 8695B4BC5DC6528183B94D5257DC668DCAA0E5A855B76555B65FCCF941A8CCAC -Test: Encrypt -Comment: Set 1, vector 60 -Key: 00000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 3B5D549F736D15CFD0F39A42CB1ACBEA370ADAA9EBC7C012AF2E30463DF98E03 -Test: Encrypt -Comment: Set 1, vector 61 -Key: 00000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 1C29F7919784BDF30E566B75DBA4C911FC48C1CD7F845406B86DA540B71C572E -Test: Encrypt -Comment: Set 1, vector 62 -Key: 00000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: D530E5B30338589A6AE67E0C1E2C57AF02CCEFF84705BC4AAD0D93375E7F2DAB -Test: Encrypt -Comment: Set 1, vector 63 -Key: 00000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: AE92CD3DA2022DC9C91E381DA62D8FFA646FD02A1A5A3249AEAD35B729C48329 -Test: Encrypt -Comment: Set 1, vector 64 -Key: 00000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 111318C5C6DAE45DF4FAFF404AE2140300DBBF9361E926900F3ED7F731385A52 -Test: Encrypt -Comment: Set 1, vector 65 -Key: 00000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: AA0DAA9A0025B5B3243367C7FC22F56F65A52B3CEEA060825C1FD2813953BEF8 -Test: Encrypt -Comment: Set 1, vector 66 -Key: 00000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 11EA951B966D0B3DF0D6AA00059281E6944CBB9921F84209265938CCE91F4910 -Test: Encrypt -Comment: Set 1, vector 67 -Key: 00000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: DFDE0D41A657B700DADED5F9CB341481A0183AC1BB51291E8719F77251B478F6 -Test: Encrypt -Comment: Set 1, vector 68 -Key: 00000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: A8A42F8E3C2BD71D415EF9FBDBB9DA86B32CFC24EBDADC656B7BFF17FC8BE365 -Test: Encrypt -Comment: Set 1, vector 69 -Key: 00000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 1755CB48D8057669C488DF3A2296651F3FB64AA173DC6FCBD2C1113A084679C1 -Test: Encrypt -Comment: Set 1, vector 70 -Key: 00000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: CEFD04E10B318145993C0AF4B4A64F623BCE0E04CE04E6D3DDE14EC6DFC0CDEE -Test: Encrypt -Comment: Set 1, vector 71 -Key: 00000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: D9C83924493AE365C6369317A4393F904D530C1D30B2FD1A2E4126D0A532A743 -Test: Encrypt -Comment: Set 1, vector 72 -Key: 00000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 9B8FC0A924382EBD28AA3F6871B17E1BA9C94418FC3533B446C2DE8C188EABB6 -Test: Encrypt -Comment: Set 1, vector 73 -Key: 00000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: F91346BFBC0E05A4076B8CD5640E9DD278D4A7755A6D870565AC2A7E60A7F5AE -Test: Encrypt -Comment: Set 1, vector 74 -Key: 00000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 58D205808D4A580FF8111B9EF06BEE613D51E3B2E026B296F5E9F8520C7319FE -Test: Encrypt -Comment: Set 1, vector 75 -Key: 00000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 15D0C54FC35621B206A4A50EC3DADCEDFE4CCA17C9C5396A18901099A3389086 -Test: Encrypt -Comment: Set 1, vector 76 -Key: 00000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 48DE43EC8F644BCCFF61A52D93BEDEEBA38C71C196203A4A5AD9145416EFF31E -Test: Encrypt -Comment: Set 1, vector 77 -Key: 00000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 253057DA247A8D7A1B4A23E87B67D49669ADE1FE5EF32E08058F2DA6E82D1C25 -Test: Encrypt -Comment: Set 1, vector 78 -Key: 00000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 6494B08A0B0CE628E34EC6D7EFBC436687D242131974789ECF20911C0CF16839 -Test: Encrypt -Comment: Set 1, vector 79 -Key: 00000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 5088AC91D68173FE292A64D04D9A8083535649D44D7F00F23F389810F5F2528E -Test: Encrypt -Comment: Set 1, vector 80 -Key: 00000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: FFF5D0D5296B0C3553DD43C429F51AF844EB6100E373A6A7A16B79A73392AC58 -Test: Encrypt -Comment: Set 1, vector 81 -Key: 00000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 4A805BF70CBBAC2FACF405789FE96C4EF097D36F6982B843246C353E77539863 -Test: Encrypt -Comment: Set 1, vector 82 -Key: 00000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 5F5F6828D3D2FDF24B4AC2F1F4080F40E9564CD8F9BAFC34E5567F96E2F057BA -Test: Encrypt -Comment: Set 1, vector 83 -Key: 00000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 5BFAD855773EF036BAE365C18B6C5784E8BD4673514B0499E7ACFA38F7832927 -Test: Encrypt -Comment: Set 1, vector 84 -Key: 00000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: B38604950FA73165F940D4DB527D09CD0B233276CD3808B5CADCCB9FA859AEEB -Test: Encrypt -Comment: Set 1, vector 85 -Key: 00000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: B96570996489A74726A70C02CD55FB9D4C3ADE0B69FAE7C37899E3D560A5132F -Test: Encrypt -Comment: Set 1, vector 86 -Key: 00000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 0B8612F83912A9EF1082E9D08C772738908BCCD20DE47D64ACA1500633163479 -Test: Encrypt -Comment: Set 1, vector 87 -Key: 00000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: CCC75B4A84D08B14495AA8349B0AF79480FF6D0695561710AA16739A54504E58 -Test: Encrypt -Comment: Set 1, vector 88 -Key: 00000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: BC3F95A0CB0DCAEDB78E3D6E855267E34F3168C436774E28035D144406E803DA -Test: Encrypt -Comment: Set 1, vector 89 -Key: 00000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: BD0A34B0509EFA39D9D091577FC4296F563AF5F3AF9E030FCC3661C0BD82738E -Test: Encrypt -Comment: Set 1, vector 90 -Key: 00000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: EC82DA0C15A50EB98E97532C509DBAC9C392DB79ADDC139F9ADC6091708CD726 -Test: Encrypt -Comment: Set 1, vector 91 -Key: 00000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 7F164D165F7585E8306E38D44211325D0C6C177C523F13F69DB39DFEDF5BFD3F -Test: Encrypt -Comment: Set 1, vector 92 -Key: 00000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 73F36AF678E74D413BE851E77F5E55DE1DD92D5237DBAE75E3AB6364D1F181DF -Test: Encrypt -Comment: Set 1, vector 93 -Key: 00000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: BE25140C4E7804B22390822501718BE09E7F494594EBD2BCB35A36AC2F0CA095 -Test: Encrypt -Comment: Set 1, vector 94 -Key: 00000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 33171A271100D5CC5CF651ABF60977CD15B718863213DC243CAFA6CA86041094 -Test: Encrypt -Comment: Set 1, vector 95 -Key: 00000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 323FF7A80198298E438C833032CE609D4E6C5C107C9069E8B216080DE5C0880D -Test: Encrypt -Comment: Set 1, vector 96 -Key: 00000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: D8FB3E266B96E48524159A3BE04CC85B3DB70F2FE649A01259E4FCCBCD3E7BAF -Test: Encrypt -Comment: Set 1, vector 97 -Key: 00000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 88B2171E37F3E861B6A69397BCC46044EABBC424E3359D11C96A62CB33F6C56C -Test: Encrypt -Comment: Set 1, vector 98 -Key: 00000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 96168ED95200986AFF506D3C2F043DFE03356345C52AD205BDC91423C6079824 -Test: Encrypt -Comment: Set 1, vector 99 -Key: 00000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 4FDE2AD110847B5F4F2BD20CE5047913B12A682D119D9A8C8395B9958771FC22 -Test: Encrypt -Comment: Set 1, vector 100 -Key: 00000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: F703282E54592A5617E10618027BB67F639E43A90767150D8B7F5E83054B3CBD -Test: Encrypt -Comment: Set 1, vector 101 -Key: 00000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 6673138D1A64DD26CDD2F62CAB0BAB2318DE17507BAA307A189EC4997F9C3F89 -Test: Encrypt -Comment: Set 1, vector 102 -Key: 00000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 328B2F4069F398422D78E359F19938B8BFBC9E073C2162A0829265CFD48B89CA -Test: Encrypt -Comment: Set 1, vector 103 -Key: 00000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 02B14A28344C4164DDF0EDB594D581AE847FC0090EE6B933B8B8B91EAE90F5B3 -Test: Encrypt -Comment: Set 1, vector 104 -Key: 00000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 506221E93DBCBA6787757CCBBB0D5CDE9D06CFE3A23A8942A13C5B3849B2D2B9 -Test: Encrypt -Comment: Set 1, vector 105 -Key: 00000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 53A01AD91AE1C7F0DCBE19CF701A895E03FD866F77ABC7B174B327A0576D7719 -Test: Encrypt -Comment: Set 1, vector 106 -Key: 00000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: B27AB67ACB784CB231A76D05B2539F0146F5C2F330987DE2C91AEAF8511DB9D1 -Test: Encrypt -Comment: Set 1, vector 107 -Key: 00000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 682263AAD3FF0B227983D20CB8A8B572427A2EE1B85A7FBB0961C722A7DE70CE -Test: Encrypt -Comment: Set 1, vector 108 -Key: 00000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: E8AA0C754FBFB2BAF1025C8C13101552FA32E4031843E3DC56D2D819476CBFA6 -Test: Encrypt -Comment: Set 1, vector 109 -Key: 00000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 7952391AEB6094458B28B543B9A5AC1DDB0CB18AEB431BE7CC7A4D45CCBEBEB0 -Test: Encrypt -Comment: Set 1, vector 110 -Key: 00000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 138599B1B9406E932D6229A4FFD959EE02E626022342FF233269A00DA1F58384 -Test: Encrypt -Comment: Set 1, vector 111 -Key: 00000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 87FA25FEBEFB539BFA46F9FAF8D62DB8E3C126D7409813A3B2FFC760FF19D390 -Test: Encrypt -Comment: Set 1, vector 112 -Key: 00000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 943B778E6053E3CBC59E9423A6D8AE678D369D5E27AB56D668DAD944D0A238F4 -Test: Encrypt -Comment: Set 1, vector 113 -Key: 00000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 00D31AA7620BEE29169C62966C53058F05709CD7C6A6584AFA80D7B2B7D9414C -Test: Encrypt -Comment: Set 1, vector 114 -Key: 00000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 9A6DD9EAE3286D48A7548C0A8A4CE8FFFB61B362C95C897DCD1CB1D8BBF76DEB -Test: Encrypt -Comment: Set 1, vector 115 -Key: 00000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 8231E89C8C74641DA6CD862B98B5DE749D6751B44361B763DF888F3D2312FAD5 -Test: Encrypt -Comment: Set 1, vector 116 -Key: 00000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: AEE13BA9322E1089262CEB199FD96E8A3C1E29142C6542961CA0B70782A4FD65 -Test: Encrypt -Comment: Set 1, vector 117 -Key: 00000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 89EEFABFFF030B563CAA5965CFF0372E0518BA1BF9A6E07D279C20AF3D52B9E5 -Test: Encrypt -Comment: Set 1, vector 118 -Key: 00000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 9EB46332AE8F271D9613A5FD1D6E1B06ED7A553C874A44A6F3A0615D46AA079D -Test: Encrypt -Comment: Set 1, vector 119 -Key: 00000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: FDB79EB3D755AC9338093917F84742BB1D62197D9730AEFCBAA9B3A4CEEC0B5E -Test: Encrypt -Comment: Set 1, vector 120 -Key: 00000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 64D439442C3FB4B580E0C7BC212F5589B395F6D100AA8165E4599A34F288D31D -Test: Encrypt -Comment: Set 1, vector 121 -Key: 00000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 09F8A382936078076F496A14B7BFD77CF4E549171FBDD8106AD0C2F87FD9C151 -Test: Encrypt -Comment: Set 1, vector 122 -Key: 00000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: AEB59849B6291FC1B8917642088608C4B9EE364C8C1FAE502F1ECD5BFACBC96A -Test: Encrypt -Comment: Set 1, vector 123 -Key: 00000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 006136B68224BF8BF47C0298FE7E2A4B72964A6C9F36EB709C452F0319B6A104 -Test: Encrypt -Comment: Set 1, vector 124 -Key: 00000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 55912F44A9A3493CF0A4DEF2F77978ECE0868ABF30BBAB15A96AFE15575AA90A -Test: Encrypt -Comment: Set 1, vector 125 -Key: 00000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 81BA612B664481588AB16246226CC1B59A08A7FE0FD64B0111C67C4BF344D2C7 -Test: Encrypt -Comment: Set 1, vector 126 -Key: 00000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 6B7930B1609C35095BE581F8F73709A65781DC1D49381411F6474CEBE6D16182 -Test: Encrypt -Comment: Set 1, vector 127 -Key: 00000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 7308AEC23D25A231B26448AFE78D5047804C5011B9B5F95C16DF2670551F0001 -Test: Encrypt -Comment: Set 1, vector 128 -Key: 00000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: FBE855BD6540594E2D90566E7A30F57516EE170817B66C2468615D5D3D5DF03B -Test: Encrypt -Comment: Set 1, vector 129 -Key: 00000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: B072D598869D6EFCC8856A2B4686EF05A37DDB3F26DFEDA2F9C406B7250801F5 -Test: Encrypt -Comment: Set 1, vector 130 -Key: 00000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 0CF58B2665B889C06836E699DC2B4C615106541987229D686D43614D3BFC290B -Test: Encrypt -Comment: Set 1, vector 131 -Key: 00000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: F591E78CE6A8A375CBF821D222A49C862A461DC52C74065BA6349598CC7CB6EC -Test: Encrypt -Comment: Set 1, vector 132 -Key: 00000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: A32B883113DE96B7AFD4ABE8E1703C8D724397542527E27F0CA32C89332980D9 -Test: Encrypt -Comment: Set 1, vector 133 -Key: 00000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 9B2C992F4CA0E70E0DDB03400AD24C4F20AD5F32940537B33F375C7979968537 -Test: Encrypt -Comment: Set 1, vector 134 -Key: 00000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 0DDEEEBC428F117B094FD27B614F6BDFEC0D71D61F8F93F9A09E0443F2FEB659 -Test: Encrypt -Comment: Set 1, vector 135 -Key: 00000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: D58740E259B1C9A5DADD2FA5FFB768ACECD0DA6FE40D7D59F3CF6FCD4838FEDA -Test: Encrypt -Comment: Set 1, vector 136 -Key: 00000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: E6F318C17501C28164BE9CA692E92D4CF4835E2778B126E9841CA0F132CCAA61 -Test: Encrypt -Comment: Set 1, vector 137 -Key: 00000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 3776A0BB5880EB65386F20D11BCF308C2DA3B010F7E2DAF3FB8B55B523E7CBC3 -Test: Encrypt -Comment: Set 1, vector 138 -Key: 00000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 3926539CFD76BB79E50A571D75AA51B94864A79CA5DCAF6CE451FC068E487625 -Test: Encrypt -Comment: Set 1, vector 139 -Key: 00000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: A8D9B6254BCD0BC32CA3ECF7A7A80882DDC178F47D8E91F760883D589D94F45C -Test: Encrypt -Comment: Set 1, vector 140 -Key: 00000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: A2C3810606AD6AAAA571C8A783A686E9F713D0A1238C3E621347622C569C7BB6 -Test: Encrypt -Comment: Set 1, vector 141 -Key: 00000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 902FF7C8DA5B1D171603F48C02E72B611C40E4B15F06BF4A7DB914AAA7E63036 -Test: Encrypt -Comment: Set 1, vector 142 -Key: 00000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 55AAAB17A700544B1384EA512146F65A2F871C30F8EF7AB84DD96E004E924403 -Test: Encrypt -Comment: Set 1, vector 143 -Key: 00000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: E9F049D8DD032202BC5E16F061B0449AEFD91845A4786A045E35739826E283AE -Test: Encrypt -Comment: Set 1, vector 144 -Key: 00000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 6347929B2B5B6634C2674CC4AD3B04B321F7404101E79259A35053E552369548 -Test: Encrypt -Comment: Set 1, vector 145 -Key: 00000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 3C8D318014177555818122F69A95BED7A175464310A9B53DD4AF3C5887970D39 -Test: Encrypt -Comment: Set 1, vector 146 -Key: 00000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: A3CE794DEA39A03EB4337395E3713ACA02E15148CC9302083E9F2FD55A921BF5 -Test: Encrypt -Comment: Set 1, vector 147 -Key: 00000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 2EE444D85842D41D9AEFBB7ECE34EEB71720AFB04498F9B4CFB87C10AC842D3A -Test: Encrypt -Comment: Set 1, vector 148 -Key: 00000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 0050EF8A2E0EAC79CD1BCC82F52F04410DA08263A320DA47B500DD72FBAA3487 -Test: Encrypt -Comment: Set 1, vector 149 -Key: 00000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 51721D61A2032DB004C8B83F7509B045A5190892FBC5AEB9BAA4B27D7969C791 -Test: Encrypt -Comment: Set 1, vector 150 -Key: 00000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 016D3D0A0C9B1EA97A12AB7BFA23BD4A973D5F10C06581A6DA92668BF3B4026E -Test: Encrypt -Comment: Set 1, vector 151 -Key: 00000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 687DAF7B782EB92EE2F8812ABA81A1F8EC353797544602A8EF2D2D6C1AC7EB48 -Test: Encrypt -Comment: Set 1, vector 152 -Key: 00000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 538008D0A4465A705313E0A03DE02BDFF7D9F0F0226F630DAFEA5434D9ADD7EE -Test: Encrypt -Comment: Set 1, vector 153 -Key: 00000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 2F65E608EF3E4C202C347ADDB9733132350A7AC9E544C5D7D76F9527DB3640AE -Test: Encrypt -Comment: Set 1, vector 154 -Key: 00000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 1EF33EF878790A6E16E18377C474700E6AF64C0C56F5FE8E7A1A83D990BB7B9B -Test: Encrypt -Comment: Set 1, vector 155 -Key: 00000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 3369751D8735C5B82164E9FDFAA8B224AA4BD3FC2CD3DC48C60A1C290AE189BD -Test: Encrypt -Comment: Set 1, vector 156 -Key: 00000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 428F02228A58756A94871F5DCB37F54AD21345ABEDECB6D12630E51ADF4D6128 -Test: Encrypt -Comment: Set 1, vector 157 -Key: 00000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 521221AE0F51055948753BAC7A30394DA0F3DCB485364AB512E62D9CDC24FE48 -Test: Encrypt -Comment: Set 1, vector 158 -Key: 00000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 7E44783F40C4A3EBB40E5D4E22A9BECAD3008D8B1AE64929B666664D8D8680D9 -Test: Encrypt -Comment: Set 1, vector 159 -Key: 00000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 48F54AE18072D2E58922EB0B14E4C32CD72807BF436A01164B0B5027ADCE6121 -Test: Encrypt -Comment: Set 1, vector 160 -Key: 00000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 671E9014ABC8FBBA21A307FAFF3FC7C89231ACA932F58C2D79DA323F80B3F87B -Test: Encrypt -Comment: Set 1, vector 161 -Key: 00000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 4473A8EF3585DDC8AB5858DB58FD87FA42E724D2374D7888FCFA66D82B30145A -Test: Encrypt -Comment: Set 1, vector 162 -Key: 00000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: A4AD8D6A847FF420E96E1E592852FC7B362F1E0DBBE417B0CFC80C1200C5BB97 -Test: Encrypt -Comment: Set 1, vector 163 -Key: 00000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: B10D378FB56687BDDE7462A91FD0C42C773097765AC4C332B5007D1D47670EE0 -Test: Encrypt -Comment: Set 1, vector 164 -Key: 00000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 788D00A54C0A6FB10067E08B8F2C60B4DBA05B58D3C8CEEABE49C2FD2FD7D6C2 -Test: Encrypt -Comment: Set 1, vector 165 -Key: 00000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: CC54D8465F9529077237703DF4DC136FCD7A9D2FF3B89FF0D226EA3B234B6113 -Test: Encrypt -Comment: Set 1, vector 166 -Key: 00000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: A0DAF3D3568FA9134C9C1B6EC5137B72715271DEC644F1268FDFA88A89989371 -Test: Encrypt -Comment: Set 1, vector 167 -Key: 00000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 0BBCCB3D83D7B6D3AA96AD5687C4895CD990146E293733A649B4D7EC48E9A93C -Test: Encrypt -Comment: Set 1, vector 168 -Key: 00000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: DDF8388BA3EA8FDC869D54D38D6BFE47FB7C5B6D81B3D80AE8B7DE00F4581EC1 -Test: Encrypt -Comment: Set 1, vector 169 -Key: 00000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: FF4F175CADFA435B31D5766FE6FE73B88B33BF5A87D79A2B47FCEB6BFE6E39AF -Test: Encrypt -Comment: Set 1, vector 170 -Key: 00000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 9B28804310814CF3C9782CB23FAB7FE19D5BDA5E9553F23E7876A6426316365C -Test: Encrypt -Comment: Set 1, vector 171 -Key: 00000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 94831F56AC794746628AF8A0684ABFE6A1113EB5B95939A8223D5C0C08BF52FD -Test: Encrypt -Comment: Set 1, vector 172 -Key: 00000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 689C2CAC1FC6999B8BA48B767A995871D80AB561FADF20D8613274CFFD00BF32 -Test: Encrypt -Comment: Set 1, vector 173 -Key: 00000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 4CC4412727B69CE43E6B85D89F03DAC6982CF867FB98801DA1F0E8720123699E -Test: Encrypt -Comment: Set 1, vector 174 -Key: 00000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 8160A24A68E81E4A839E1C16086983BE98652856CC621B3F7612A8B1324FA33E -Test: Encrypt -Comment: Set 1, vector 175 -Key: 00000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 024B19F8BE7203D9E5589AB96B86BD68A488D7994813D0231C835637B9E59A64 -Test: Encrypt -Comment: Set 1, vector 176 -Key: 00000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 954714BFD736CB391604E77367C2875EF291C02EED35B6DD6A20D58FBADAFB84 -Test: Encrypt -Comment: Set 1, vector 177 -Key: 00000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 6E95756FEA083B4AB4E624B5CFB00E31CAEA9C03CE4A1F51104BF6E7A86495F3 -Test: Encrypt -Comment: Set 1, vector 178 -Key: 00000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 93176B234B0A25F30649FD3172F75F181CD47C75D795FCFD5A537F18B101B24D -Test: Encrypt -Comment: Set 1, vector 179 -Key: 00000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 51637CD02F79DA935C5A317C1F8AC79E47E255E4A83F3F04DBA2998DF5118D39 -Test: Encrypt -Comment: Set 1, vector 180 -Key: 00000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 15C15F38B0CDEC62A426CF4AED25096DCCF1B2C7CF49A223F4D3ED7E06CAD2D7 -Test: Encrypt -Comment: Set 1, vector 181 -Key: 00000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 14520B3D7B8734A8D4E07CAB93744560D60FE7C9122C97F2ADB97D811074D225 -Test: Encrypt -Comment: Set 1, vector 182 -Key: 00000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: F16ED0E9813C694563BF3557D73085C8761642B6B003291B31C681D3A9421E73 -Test: Encrypt -Comment: Set 1, vector 183 -Key: 00000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: BD3B03B8DF1994DDD3BE4509BB2B4AED0F7D0F7638102C58B15ED9DC9FAD5261 -Test: Encrypt -Comment: Set 1, vector 184 -Key: 00000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 45813D3ABF443D14B8519A10BA667F16C2EC757B309B978E26FFE56EE0BA00B1 -Test: Encrypt -Comment: Set 1, vector 185 -Key: 00000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: A13D32CA09C34BBA16813BE8F4D56AF772B67327C7CDE0756B3D5CECEF2BCD2D -Test: Encrypt -Comment: Set 1, vector 186 -Key: 00000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: EC7D07D6F3AD0351131F15816F8044CBB1592324F62903B9DD6180D88E09EF07 -Test: Encrypt -Comment: Set 1, vector 187 -Key: 00000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 873F46936C8CC3A23CCA3EA3288CA070CC41F128296FCE6E7AAD2B7381BBAEBB -Test: Encrypt -Comment: Set 1, vector 188 -Key: 00000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 0AF0BB23EFCF86B273A27D84435F53F9984183E4C0D2F69945E79BAC8674C3A5 -Test: Encrypt -Comment: Set 1, vector 189 -Key: 00000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 7B9A8CD1942564414FE5C1237B680970A306CCB0CF73F1123D2E823D084F3126 -Test: Encrypt -Comment: Set 1, vector 190 -Key: 00000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: C21A4ABA37069F7173A704B16C2DB945301BD4B08D3202BCBCA4AF8E5BA8A963 -Test: Encrypt -Comment: Set 1, vector 191 -Key: 00000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 5B2F725ECF531E569AC6B69408259547B9B054CAAA20B6727FE7654FAE4386D2 -Test: Encrypt -Comment: Set 1, vector 192 -Key: 00000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 58E6E58AD73C9DA9A19CBCBCB6E89B44951781A027D5C5CBEAABD95D55BE1CDF -Test: Encrypt -Comment: Set 1, vector 193 -Key: 00000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 8F076E12AB23D9CABFD006D16E1D554AB367CE88B3FDD44717824387DC9D4B43 -Test: Encrypt -Comment: Set 1, vector 194 -Key: 00000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: C5A351191F18886099542CE6B3025D6F0F4EF8A9A1C804803166BC2699D4B3C2 -Test: Encrypt -Comment: Set 1, vector 195 -Key: 00000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 39BF10576DBE0BA332EF36C38CD96F4F0043B8A0C6CCCCD3521F169821CC4C0E -Test: Encrypt -Comment: Set 1, vector 196 -Key: 00000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 12EC53C9420154F7D5334D4BF94BE3B4CCB044FDF56B4A92E245F016BBE9C057 -Test: Encrypt -Comment: Set 1, vector 197 -Key: 00000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 569D436AFFBB65451ECFDDDC7BABD5608BC183E9437F30B5058C505158BCE7EE -Test: Encrypt -Comment: Set 1, vector 198 -Key: 00000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 4E53AA49C4A8E0A00FA51E3DBE4D6BD6ABC1505C2E3FDADAC282BBDF5987E075 -Test: Encrypt -Comment: Set 1, vector 199 -Key: 00000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: E0BF45509232C9F66517F057FB01C2E0E08906842B59DA4980413F629388C088 -Test: Encrypt -Comment: Set 1, vector 200 -Key: 00000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: CC5A42F9BBCD1A5BE0D8EAC69A184E1693AE5F1C9FDAA05B8CB5330D5D63A2C0 -Test: Encrypt -Comment: Set 1, vector 201 -Key: 00000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 4247A5AA925AEAF29EA9FCC3C942DC47FB1A13213B302FE0C6F33243C631D2A0 -Test: Encrypt -Comment: Set 1, vector 202 -Key: 00000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: DAC043890BB61728CFC30E3A860BFF9474DE05CA104C242BAF498344470319B5 -Test: Encrypt -Comment: Set 1, vector 203 -Key: 00000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 214703F986092730BDF01020A825628FD06CD22C9F385CE14BBB2738A38A1E94 -Test: Encrypt -Comment: Set 1, vector 204 -Key: 00000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: AD3EED667396E27E4EF749BE1BC2D222380AA5C070B7246EB3A8249D9003BE1E -Test: Encrypt -Comment: Set 1, vector 205 -Key: 00000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 57B33C626E776BAAB8D655DD93125D49BFE92177BB63AA9902A44E4CC6F90666 -Test: Encrypt -Comment: Set 1, vector 206 -Key: 00000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 3ABEB777D6240D198677B50B14545714D71D2F46885513688406B201F689C3BD -Test: Encrypt -Comment: Set 1, vector 207 -Key: 00000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 0B9E5A4358BCD0CA1AF306274CA676B515499878D2ACA0AD7865139D36910018 -Test: Encrypt -Comment: Set 1, vector 208 -Key: 00000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 9EAB0FE92E1B83FAE87EF6369BD0EED91D10DCFC5810FA0188D06929CF927422 -Test: Encrypt -Comment: Set 1, vector 209 -Key: 00000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: BC205D90F13A69AA6C45979861B1E5737A69C61F726D252F773E528276B9F1B7 -Test: Encrypt -Comment: Set 1, vector 210 -Key: 00000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: CEB885427DF7C988804E7C2401BD703CBB8F3D3D50AFD6CE9F56D32F802F8219 -Test: Encrypt -Comment: Set 1, vector 211 -Key: 00000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: C61CE53D0A5E771E6AC98830D496079A34ECE8967D737D0EBE393E7549679BA3 -Test: Encrypt -Comment: Set 1, vector 212 -Key: 00000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 842F934F9C3E9690F3AABC753B6C27F7F3EF7B199ABFDA287686F35E2884A2F5 -Test: Encrypt -Comment: Set 1, vector 213 -Key: 00000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: EE357FEC92355A11FDCE30B089E4F5918A90025832DB3562C762A8421F3B6625 -Test: Encrypt -Comment: Set 1, vector 214 -Key: 00000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: C9CC50B7CB29557DCDC64C995B24D2E0E8AD8FBB4906A8DF06D67A69B1AAB8A6 -Test: Encrypt -Comment: Set 1, vector 215 -Key: 00000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: D6DE0F6B51BCBDA8D44D7EEA5F91C85B78F42B6612A35662CE3AB3043E87701D -Test: Encrypt -Comment: Set 1, vector 216 -Key: 00000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: E3F3E3A5317DCBE044E1A97CAD714449DF0F8E9C319F5C12C19917B2F47F1FD7 -Test: Encrypt -Comment: Set 1, vector 217 -Key: 00000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 3A1A26993055B3B30BA84236212646D2622680117D2813316223EDFFA1BBB22B -Test: Encrypt -Comment: Set 1, vector 218 -Key: 00000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 192EE13F6909D98437E8F424DE7DC873D82330DE64B379F3F8985658B00033DA -Test: Encrypt -Comment: Set 1, vector 219 -Key: 00000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: DEB92C0159D40548317AEAF996819352F43CB1E487885A0851234A43E4C5CB2F -Test: Encrypt -Comment: Set 1, vector 220 -Key: 00000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: C671DF68881157258EF58E7C7E712351FC9D743A2C4ECAAC9D3ABE98F9701B3C -Test: Encrypt -Comment: Set 1, vector 221 -Key: 00000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 7A8BA935035DFE8F1DE34EA373FB60E147E6D5572686212BF95B6E0C115D15B8 -Test: Encrypt -Comment: Set 1, vector 222 -Key: 00000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: AA95483043360A3CCD5E98C8D5088F9F7154DA3E36F517C459F03B94EA8B5DCF -Test: Encrypt -Comment: Set 1, vector 223 -Key: 00000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: F716EF1B45585282C50AD6EB1EAD2D19AFBF57235E5D56A015882C55EECC2044 -Test: Encrypt -Comment: Set 1, vector 224 -Key: 00000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: CECA215484E90CE7AF49BED4B5F84543D05CE120973EE8510E0A410FA391BE3F -Test: Encrypt -Comment: Set 1, vector 225 -Key: 00000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 5AF45DB110A67D0CC49D1A1BB5765ACDDD6482BD88664A4A511BEB8DCDDC08B3 -Test: Encrypt -Comment: Set 1, vector 226 -Key: 00000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: E0AFCA91B3CCF0A0C4E332C4F75BC17E5956B0F3A438F0B0ACA0E9B08DA9A1C0 -Test: Encrypt -Comment: Set 1, vector 227 -Key: 00000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: C559C00EB5C49F2321975A264F855C291DB8FF942FC4617193236318D55DA27A -Test: Encrypt -Comment: Set 1, vector 228 -Key: 00000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 88BCDD04989FE085F888A57176463662C57DC70DD3888F427B68BD5A36C3297A -Test: Encrypt -Comment: Set 1, vector 229 -Key: 00000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 3C6302F9C2C8997C41FA0F0187B9E19D14FC2196A001D39F56BF5200E76D4F66 -Test: Encrypt -Comment: Set 1, vector 230 -Key: 00000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 641DA3FF9CC2C5AD625FD131D91E1AE5AD3088DF404384BD885917FD1AFDB9AB -Test: Encrypt -Comment: Set 1, vector 231 -Key: 00000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 1A05DEF28E631857C796D665FA66F8A4743F9A340904EC1C084AB022E63E3A0A -Test: Encrypt -Comment: Set 1, vector 232 -Key: 00000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 04DF8F3469AFEA2F63ECA1FA64FC18F1E42B42F7666BDCBFE6CC1C68614D85A7 -Test: Encrypt -Comment: Set 1, vector 233 -Key: 00000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 21AA974CF45CF84383024A8E7D3427BCD9A0A4F4B2AA83FA44911615B2D9A27E -Test: Encrypt -Comment: Set 1, vector 234 -Key: 00000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 74533E9973B565E0B7F9DB65A63B70BC5840EE4E1B6D927033CC1F733BD78AD1 -Test: Encrypt -Comment: Set 1, vector 235 -Key: 00000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: E818E22E590974A00FBF40C1A1DD100F5C2E3A76C594D129DDE0C9119CC1A836 -Test: Encrypt -Comment: Set 1, vector 236 -Key: 00000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 00BEF3BB9263863455A8736A114E7DF13C903D6D9FE065FED48E6634EE9B9156 -Test: Encrypt -Comment: Set 1, vector 237 -Key: 00000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: A0D418EAA61D8B6234D8B07D4652F61EDA48B00764E124DE5D7545973E4BFB0D -Test: Encrypt -Comment: Set 1, vector 238 -Key: 00000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 21472EDC58EB9D2EDE5D8A24DE18784500420820C388408E2D09C8935D3208CA -Test: Encrypt -Comment: Set 1, vector 239 -Key: 00000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 278849105940CFDF61AB8DF9A37427A24BD452C244988E7CE85B8FF94A913F71 -Test: Encrypt -Comment: Set 1, vector 240 -Key: 00000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 7B35DC73EBA6408C2486D59ADA0A17B89ADC10E405E029E51B8FA7096704DF23 -Test: Encrypt -Comment: Set 1, vector 241 -Key: 00000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: D81FC2305382B4110925F4EEEE6C93C3356B30F4E083B47C0FFB429DC8A317A5 -Test: Encrypt -Comment: Set 1, vector 242 -Key: 00000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: B1CC26F822DAA8B4EF2DC5C08792C21A985D285697C9BC49E038331996F2DE35 -Test: Encrypt -Comment: Set 1, vector 243 -Key: 00000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 565635B8CF39652AD3F94F9658FBF2310A08DC25975102D9E0A658574E5437C6 -Test: Encrypt -Comment: Set 1, vector 244 -Key: 00000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 3A9E77725182484E375528415C99C9BB2795A0841FD9F7E7D2DDE20A6CD71C04 -Test: Encrypt -Comment: Set 1, vector 245 -Key: 00000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: BD3F45893A96EF8C218B3C22079E64BF847F3C41D87F1AC68E62B32E5A59D350 -Test: Encrypt -Comment: Set 1, vector 246 -Key: 00000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 44BBB67723B8FC5778D18FFA60F1A7DF16F2A4583BA07E3B2A9A4286765AF743 -Test: Encrypt -Comment: Set 1, vector 247 -Key: 00000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 06198963CE32DC41A3869CB3893E1602D21EA64DD206C2DEA9FA79F756260BF8 -Test: Encrypt -Comment: Set 1, vector 248 -Key: 00000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 82EA3EC56648E3152D541EA5EA76F9C1D12A373D5183CFFDBC49C0FCE25AC9BA -Test: Encrypt -Comment: Set 1, vector 249 -Key: 00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 2D6F44E5104C9A6B28DA5731FE95AD5ED73051B4D405FCB77D2845A3306CD9EA -Test: Encrypt -Comment: Set 1, vector 250 -Key: 00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 360DF8BA5BA3F245E4751C6B1D81CCCC7160D6DE8CB12B496DEF04A78B0D3DD6 -Test: Encrypt -Comment: Set 1, vector 251 -Key: 00000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: BE0B2DE97E0528C5A135A81F2DA7431C8BF01A456411CB826F1205A9E57A44D2 -Test: Encrypt -Comment: Set 1, vector 252 -Key: 00000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 4CC729EFC23033F244182FBAE629ABF4386CDB279C6394C7CC914724604D8736 -Test: Encrypt -Comment: Set 1, vector 253 -Key: 00000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: BA44E9372A4EDC847FE6601F0DDBCF40864B2BB5C4EFF9B3038F7EAD6672907B -Test: Encrypt -Comment: Set 1, vector 254 -Key: 00000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: DF3109ACA9E8546F5140E6705EDD69EB5512F0C5B3567D6EE132700820839B77 -Test: Encrypt -Comment: Set 1, vector 255 -Key: 00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: D909866F49103120A46CD4F2A98B2A2169E3E9AE7BB5AD36CEBD675F62B73018 -Test: Encrypt -Comment: Set 1, vector 256 -Key: 00000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 63081A9DE55FA28CFF0089A3D4A52568BFC0D3A172B1750180A91BA12EC3E38A -Test: Encrypt -Comment: Set 1, vector 257 -Key: 00000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 7FBD9ADE476739C69CF906B611639D554ECF25BA26AC87A11EF30856DE890D28 -Test: Encrypt -Comment: Set 1, vector 258 -Key: 00000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 495FB031327D3AE9CCA3F449E73571539EF9FD88589B5C3142F5A4461CAFF9F1 -Test: Encrypt -Comment: Set 1, vector 259 -Key: 00000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 1E958BF17F89DD463B49BDE9B05D01DC2557DC4CE072C24D0527E45BA1C8026C -Test: Encrypt -Comment: Set 1, vector 260 -Key: 00000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 92093F21E7CFDCD81765E71ED960121F84C6FE1CDA50B00592ED0DB9A8808FFA -Test: Encrypt -Comment: Set 1, vector 261 -Key: 00000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 122E0C5E19B0636ADE10F1A14FF4CA69EC426B4F311C109F6B137BEE274B1912 -Test: Encrypt -Comment: Set 1, vector 262 -Key: 00000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 2CE82AD1BF9BDA86355188CF5605CEAB73E98BC617CDC3D5C8598F11BA96F6A5 -Test: Encrypt -Comment: Set 1, vector 263 -Key: 00000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: B14A656DB71E54DF9D443E899417FF4F79E033106AA34D8669EEF0E9918FF4C7 -Test: Encrypt -Comment: Set 1, vector 264 -Key: 00000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 47ECD5C02C3D702FC36817981781B1A4593E240773121F763EB788D46E990C5C -Test: Encrypt -Comment: Set 1, vector 265 -Key: 00000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 91B74FC5E6FC8C6C30F33CE83BC0055190373FC589C0516F248227531C6B853F -Test: Encrypt -Comment: Set 1, vector 266 -Key: 00000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: AC8F0393E6D8881EFF753E7CE47EC441106AFE1315E712BB439F2F2DD4318670 -Test: Encrypt -Comment: Set 1, vector 267 -Key: 00000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 5765316B484E3091FB5135ECD4A5356293BD87512688EF14C719B61857767E1C -Test: Encrypt -Comment: Set 1, vector 268 -Key: 00000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: FAD76A9798E8DD194095DACF92F83779DEDA70C413033DADEE55B4C94B98B426 -Test: Encrypt -Comment: Set 1, vector 269 -Key: 00000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 87F337C9D5763F38C679C5EB9A67F72B4581487ABC5ADCD5BABF4C71B5EB6F7C -Test: Encrypt -Comment: Set 1, vector 270 -Key: 00000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 526B4C3E3FE096F47D32A403A7D20EE269A42F68939B2FA8254A1812D9EC6069 -Test: Encrypt -Comment: Set 1, vector 271 -Key: 00000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 342C0D2D0A5048DC98F2E8CDBB84CC610E30BEBC12F7572CB416CBFCFA24039D -Test: Encrypt -Comment: Set 1, vector 272 -Key: 00000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 47D03635744E2D917F799F77A7E09E6F064CE224A4A1D507090DBE200DBD022A -Test: Encrypt -Comment: Set 1, vector 273 -Key: 00000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 0DCE2CCCD9628DD4F6552A020B9447D35DEEFCFE5D8CDD8223AB3BA9090D8141 -Test: Encrypt -Comment: Set 1, vector 274 -Key: 00000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: AC5622C3DDECDB0A46F796596ED595926B2783E6A884D18517F7344CCAB3A2C0 -Test: Encrypt -Comment: Set 1, vector 275 -Key: 00000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 80E59C358DC6F0B5749FEAF45A9BE7F884842839EE6B47024083F52A8636C2A6 -Test: Encrypt -Comment: Set 1, vector 276 -Key: 00000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 8E57504AD8F6DA6D8633D413362E961A6D69B18FA1B501DB846080A5A9C9C700 -Test: Encrypt -Comment: Set 1, vector 277 -Key: 00000000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 4956C679E9B58DDE2185BB018A7D6C61C918FA0AA9D6102E7DEF1183DB768FB1 -Test: Encrypt -Comment: Set 1, vector 278 -Key: 00000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 2C25F9CD0DB2444EE43D0AD2C3AF0303D1487528F45AFD346617D164F80635B9 -Test: Encrypt -Comment: Set 1, vector 279 -Key: 00000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 5292E96CB2110AD3FD231C5B2BCD1A8986333787664D1A551B9B750B2AA39A11 -Test: Encrypt -Comment: Set 1, vector 280 -Key: 00000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: D189129077C79106AEACA4E3463FD0650AC493ED981DC252531C072F18E1E292 -Test: Encrypt -Comment: Set 1, vector 281 -Key: 00000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: F9490DB8BAE36E28E73419D1D57869D760D772DC8752D1DE948262755B4ED503 -Test: Encrypt -Comment: Set 1, vector 282 -Key: 00000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 994EB2D9BE7C9FD547426F295F15DE3BC8F4A2B3955C7028ED890B1DE0FBE21C -Test: Encrypt -Comment: Set 1, vector 283 -Key: 00000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 464BFD1EB42B595AEF9700C7C4C184A2132B5F1E85625592E48A233FA7840EC3 -Test: Encrypt -Comment: Set 1, vector 284 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: A097C32D58D5A932AC9DBEE942DCCE547222E37E97DC3B29A63AAF118D5B01CF -Test: Encrypt -Comment: Set 1, vector 285 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: D3D13CC4379D2817B8CF8E06312FC727A3BA3C58F96E478E4EC5BC7BAEDDCDE4 -Test: Encrypt -Comment: Set 1, vector 286 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 577C709C26BD52547BD7C0D3F9CDEBEC0F266178905C4C067B75A01D799EF910 -Test: Encrypt -Comment: Set 1, vector 287 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 08FCEF6A263916C53AEBB6CCD2623E7BA3C38C871C5A8B64106308B74A7AE1B6 -Test: Encrypt -Comment: Set 1, vector 288 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: A22F794F4913B2B1CD930FA26EC219081F297DE4EC808771C9B375782F891D67 -Test: Encrypt -Comment: Set 1, vector 289 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 52F2C9714DAD06FCF5FD8962131D33952A6D68C2A90B8C08C3AB86B09A2C77C5 -Test: Encrypt -Comment: Set 1, vector 290 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 60BDED5533E692A9F073AAED43A5D5A81378E73A953514ACD5B0997B61848E3E -Test: Encrypt -Comment: Set 1, vector 291 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 38921BE2443A8101FBB44BCB4C5B87AB5026AA34C78B7FCDE07E102E142B6162 -Test: Encrypt -Comment: Set 1, vector 292 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: D49C075CC20268EE889A10E27F2D4EAA99A1764F765621FE97687ECB6067E5AA -Test: Encrypt -Comment: Set 1, vector 293 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 50FC6782B3285D35117C0FA81039A7F264FC4EB492F3B86A233D45F2834F153A -Test: Encrypt -Comment: Set 1, vector 294 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 1CC0B39D670A88D424F5D40B2F9256AF3736689BD82F0EB315AC9056F7EC63A0 -Test: Encrypt -Comment: Set 1, vector 295 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: CF66C3CD4B08CB0E4D25186BF84BE3AAAB1C435F07D12593AD001F70894030FE -Test: Encrypt -Comment: Set 1, vector 296 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 352572656D0EB6E0CE604C1A913ED733D465A480504B61B0F9BBA77122FD20D3 -Test: Encrypt -Comment: Set 1, vector 297 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 096E9F34E6E277EDB994954C3705F6904452001D3A3E799A1D0230D430E207D7 -Test: Encrypt -Comment: Set 1, vector 298 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 277BC612F90A6D0735B86168C021098F134D1627D0FEF38607038415D1BADF84 -Test: Encrypt -Comment: Set 1, vector 299 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 2376E2CE884AEC093E22A3C119D573609225FD5DC9B3EB7602C340D1AB51BDF2 -Test: Encrypt -Comment: Set 1, vector 300 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 3EE2E39ADB49F92D09D55ACC817B5B2F22FB202951AEFB6DE8998D2932145669 -Test: Encrypt -Comment: Set 1, vector 301 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: E508313113570BBB5A1E63F46AB52B57ED0676A061936F093961D34409F1B962 -Test: Encrypt -Comment: Set 1, vector 302 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 198A9A0A5B04AE936CB19E02A5B2A254A2DD5A4D71F6C676C0A826CD261CE8C0 -Test: Encrypt -Comment: Set 1, vector 303 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: EFEB9C3D34865B89275EFB9DCE1929697FC9E68ED9E9E32E2CF267DE57388E77 -Test: Encrypt -Comment: Set 1, vector 304 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 61016E27DF83D9DE642AE01D7D56C4BFE881C8BDEDD15C503BDC28D3F7107754 -Test: Encrypt -Comment: Set 1, vector 305 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 2FB5FDEC05BD94EF5A7F0DEA7A368F7C2B26ABC5789FEAE7B7B6A5E6C364041C -Test: Encrypt -Comment: Set 1, vector 306 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: F765AE08A03CF705D4BE6A6AF8A34CDE7A14F599B2CB7E2FCF2770F0CFD4F7AC -Test: Encrypt -Comment: Set 1, vector 307 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: D38105C4DE4742F16E6AE7C1C3C85A515DA8BC758456E4B5D64C0539B76D473B -Test: Encrypt -Comment: Set 1, vector 308 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: BFE3A705729C82DDE1297DF492A8F8ABAFBF2F436830B3716FC206D6931BBFEF -Test: Encrypt -Comment: Set 1, vector 309 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: B81E7CB312AC5FF0A1795FCD4AD8B3D84FE6C8B796584DE794B7E230823E6AF0 -Test: Encrypt -Comment: Set 1, vector 310 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 605C8D477420CF7D8218CB8A6B3624700BADE8D1384B04995F3C942DE38ABA6D -Test: Encrypt -Comment: Set 1, vector 311 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 87A3F6DC69A7675F27CD00D7A84251366CCCA92775D680EBEBB48B92A5781D7E -Test: Encrypt -Comment: Set 1, vector 312 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 71625BD75BF6A89C643553D382B325EDACCFB4BF5F1617DED0C44BAB96A9F72D -Test: Encrypt -Comment: Set 1, vector 313 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: ADF64E64C1A8D854C421F5AA8CCBE789F3643B0D769A2CDC68D7C3AC85FDB634 -Test: Encrypt -Comment: Set 1, vector 314 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 3C1AB3A3A85B1EEAA057557DBB59FC28479B38BEE67F4CDA0CD49880DC15ED0F -Test: Encrypt -Comment: Set 1, vector 315 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 026071B93A8B85F000539539626BBF664273EA701B63D487208962F8CC14F1DA -Test: Encrypt -Comment: Set 1, vector 316 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 61EC580BC31488BD8993C9B9D6B430BEBAE04F9807F199808CF05B0B4F083F9A -Test: Encrypt -Comment: Set 1, vector 317 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: DF9093A33937B0B3ACAEAC1840C8E1358CC90FB0B6C0834D4CE4F442830127B7 -Test: Encrypt -Comment: Set 1, vector 318 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 5683A2E768F9E105E9ABF7B71DE48833367D19E961D9D95577D2C4E48716EE9E -Test: Encrypt -Comment: Set 1, vector 319 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 1D33978B4B75C10ACB850BBD98BB2CCB31F7D6F561E34AABAEB929C2F7762219 -Test: Encrypt -Comment: Set 1, vector 320 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 6197C557619E4B791888DFD695B4BF55B7F72258968E26B9B74A6A3814267DD2 -Test: Encrypt -Comment: Set 1, vector 321 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 9AD5C65433732C4ABF08BAE9015692F509775FC0450677CB1E76A060974B8807 -Test: Encrypt -Comment: Set 1, vector 322 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 44AA2FB88757EA695083CE00105D5B77C2DCE04EE1315D99040A1495E97EEB42 -Test: Encrypt -Comment: Set 1, vector 323 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 9C637BA9B011A62B15BE522D6C514092358222CDB01A2A35B895B1E57DF1303B -Test: Encrypt -Comment: Set 1, vector 324 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 21774A71C07FC295C4BF477A512445B2AC9AFD6619DCF0124CBD735BC823F945 -Test: Encrypt -Comment: Set 1, vector 325 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 3D74A1E781FEE340DD9D912F6A681F85C0EF78BAE81D3E50A5DB8A311057DCB3 -Test: Encrypt -Comment: Set 1, vector 326 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 5B851E24E32EEB5BFAB09D26E86BBE4DA23C43C8E88635413516825D1F56DC43 -Test: Encrypt -Comment: Set 1, vector 327 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: E79FAFD3076C0F879222F86A0671104F350B115A6AC107F5C66BB673CB047948 -Test: Encrypt -Comment: Set 1, vector 328 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 5E8EBDFCEF4F70640695CF76FE7912F5E77F55095F0A3EC15CE692AED2C7312E -Test: Encrypt -Comment: Set 1, vector 329 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 99EC9D6724631EBC582C22B1B002C8F63B386EF1A96A9E4D162F698F3EC13944 -Test: Encrypt -Comment: Set 1, vector 330 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 9DCF4937F7E089B09AF8F441538E2577E315212AA56EB20209F040BE602509C3 -Test: Encrypt -Comment: Set 1, vector 331 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 063CE595D4EEC463726FDB74E5254B5AFB965D2729D02F1890E70E33C4C7AE49 -Test: Encrypt -Comment: Set 1, vector 332 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 18F5B3F2F2B54FF37C354F3181228FBAA7D337791671988801C19333165EAD35 -Test: Encrypt -Comment: Set 1, vector 333 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 912671C8099032B1C0AE139D8F029B153B22B999DC30170DAAE3904CBDEFF083 -Test: Encrypt -Comment: Set 1, vector 334 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: CAE46BA93F81E1AD26A8FACE45566E162B8F4CAE831B4B80F93D2A809D3C557D -Test: Encrypt -Comment: Set 1, vector 335 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 31708CCF07D82433A61053273FBC5543BAA1A73B836624FF092361E55631531D -Test: Encrypt -Comment: Set 1, vector 336 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: B5F46BFA7B367DCE7998428525483F775D8F5F1A8DB9F7E3EB848F887283028A -Test: Encrypt -Comment: Set 1, vector 337 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 1D1B9489F66B8FDC1902C02CE15E94727352C2F6A302C12A6F9672BC44014F6F -Test: Encrypt -Comment: Set 1, vector 338 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 8EDD86FA2225D954B3F9F57A0433ED692E99F7ED55EF0A8D112468AEA58717A2 -Test: Encrypt -Comment: Set 1, vector 339 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 6F1414CBA350BB5DF73F7B23FCC0859BC2F081374BD4FBA7571DEC9343BD939A -Test: Encrypt -Comment: Set 1, vector 340 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 84535A21BFDE843B9E70AEEC9E5EB915FCEFF57449B7872142AA0669EFF250BF -Test: Encrypt -Comment: Set 1, vector 341 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: C4CC653F5CFA6C13C4693967D4CD1398B8808982F0C1D6D9B4CC9A6FCAF41E8B -Test: Encrypt -Comment: Set 1, vector 342 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 0949688EEF8CFBB88589CAB3EF58912A2C413E413EF122BB7F4C0E17BF723E71 -Test: Encrypt -Comment: Set 1, vector 343 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: AFF2976C45A69940BB88C71381DAEDD767BAF454331FCC5666624EB052CE05CD -Test: Encrypt -Comment: Set 1, vector 344 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: A7D73428AA840EFCBFF0C856409C9B19CBDC19BE376EBC75DFC008A6BC9EAB37 -Test: Encrypt -Comment: Set 1, vector 345 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 3C59AA18035D96933FB938DE0331DBE42DA57B539A77D660DBFA12B62611760A -Test: Encrypt -Comment: Set 1, vector 346 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 1F982024A86CEBEF27F0D19765907131C5EA1385761E92C7432D55A118AF2FD0 -Test: Encrypt -Comment: Set 1, vector 347 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 5D5CE5B2BCEC679BEE0B894E4E0FD2E5ABD345D8F8061A02BD4B1873C3A9B612 -Test: Encrypt -Comment: Set 1, vector 348 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 54C62940FC9BD4D96A0D19CE92F6880B5F45A422DF0400E868020ED5B42BC287 -Test: Encrypt -Comment: Set 1, vector 349 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 6A7B7E894CB7FE3A0153B5CC6E78351A07AEC726CCAF93A2C426C83760974035 -Test: Encrypt -Comment: Set 1, vector 350 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: D2DAC7485B1818A7A2976F164C80AB5FE47B7CBDA4048000D09DAC65857A8387 -Test: Encrypt -Comment: Set 1, vector 351 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 7C545CC73456F1C1B06C5B5A05A9659F5D30A4D78E9D85C29A38735BEF098E0E -Test: Encrypt -Comment: Set 1, vector 352 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 7E3FA28ABB96C7CFAC0DFAFA5BF2E469D75ECF690FA876F3307D851D3CF0AAC4 -Test: Encrypt -Comment: Set 1, vector 353 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 46FFBA6995D7D6A2B58AB5F995AE3A305CB0385242428FD092FE777556AB05B5 -Test: Encrypt -Comment: Set 1, vector 354 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 052E5126AEDA420CC39EEF255B816BD475DBD36635B090D04C43410F40236BE2 -Test: Encrypt -Comment: Set 1, vector 355 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 80BBBFF3EB0CE3976503A85240226D7FE177B4F30C753F081D7E1F3F8F0FC176 -Test: Encrypt -Comment: Set 1, vector 356 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 4A748837D0A7950876ABC89127A6D6FE5B646C7FE9DF8005CBBC3832DFE488EF -Test: Encrypt -Comment: Set 1, vector 357 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 84F35DFA249674C24E6DFB3947E3F3475817DF9548B301D4741B79EF9D26629A -Test: Encrypt -Comment: Set 1, vector 358 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: BEC48DE878DD3533F3614B3A0A4BDF5FB34DBA96AE94508FC0D3927032CC6E61 -Test: Encrypt -Comment: Set 1, vector 359 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 80DDDED6AF53DB0459359FE311F32C5DFE85F281C45365BEA7A2D6BA8A2D5EA9 -Test: Encrypt -Comment: Set 1, vector 360 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 43BA1E833A673FB760B13DA40C509EBB7170CA05E7BD2728A7FDA0EB8E3020B8 -Test: Encrypt -Comment: Set 1, vector 361 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 917FDDD2206E751DBAD9BD2EAA3E1FDD7C6CFC7782367B563DE6E116D0E4A3B9 -Test: Encrypt -Comment: Set 1, vector 362 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 3AD03FD2841A7C8E8BA49100FCA794DAAF29995A9CDCC6D4F868914C890C3BFC -Test: Encrypt -Comment: Set 1, vector 363 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 79A9305A48A10F739B06EBD24DAACBF5289ED6A83415021DB1CAAB542E417DDB -Test: Encrypt -Comment: Set 1, vector 364 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 195DA96825A0F6B94A71E2EDD934FB184F375EEF66411567815A4A6E966CAC0C -Test: Encrypt -Comment: Set 1, vector 365 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 513239A738978DE007138E83F5CD13A0A9BE374CF61B09021767CAE284D5510E -Test: Encrypt -Comment: Set 1, vector 366 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 6BC70608C85D884873CDE727CF2B8A4E9563DA58242C907A3E87C2608AC0F1F7 -Test: Encrypt -Comment: Set 1, vector 367 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: F47D47E5D0013BF10141C7BF92642E4CCCF8020347B59F1FAB145849EEF0A2E1 -Test: Encrypt -Comment: Set 1, vector 368 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 879D4097A300F6575BC2021F218E9AE9FED113AF9B4FC9179C621244A9E2A090 -Test: Encrypt -Comment: Set 1, vector 369 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 91EF2BE82D9080A366AC7C4344E457E5F46DA5BD54DD50C97D2910D1478BFA21 -Test: Encrypt -Comment: Set 1, vector 370 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 0EED2315EF9B9278CCAD8EE2E33493F5A4FDAE31EC1DA863C017E8AEB77C2867 -Test: Encrypt -Comment: Set 1, vector 371 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: FE80FF0F839BE1F911A21C97B36D439ED66F9965293890D98D8A3A98F2CFAE1D -Test: Encrypt -Comment: Set 1, vector 372 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 4E241C22B26385E268F868E37873C36B173625048DAAE4ADE3C2E09D856A8AE9 -Test: Encrypt -Comment: Set 1, vector 373 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 71DA83DEC321D3160433BD8E2C2345921A6505444C9B1949B4D6CE400F1FBDBB -Test: Encrypt -Comment: Set 1, vector 374 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 21FF7AA748E96269211F129671E4F7A25BC55D92A144B7BEEB75F445FDCCDDB3 -Test: Encrypt -Comment: Set 1, vector 375 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 070290F0A10324414DCFD323822ABD2256ADDA0913FEDC70EA53F3F88EEB7AB2 -Test: Encrypt -Comment: Set 1, vector 376 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: A112192AEDC7824247A9239BE92E45928416D086FEA09D4370DDFE862493AF4E -Test: Encrypt -Comment: Set 1, vector 377 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: B0CD1E1BF87C1C63C455C8A285DF739A85706A587CDF0726C4615590DD25BDDE -Test: Encrypt -Comment: Set 1, vector 378 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: F5EBFED2EF7706C5DEF09E94641FDA500100F500E431C601C879CC65CE260DF6 -Test: Encrypt -Comment: Set 1, vector 379 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 02CA5B7EAA7F906B706DD5B13A6C121927EAE22FB51C7259A781A916C5906E7D -Test: Encrypt -Comment: Set 1, vector 380 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 10569B20052606FEEB9956C2882702477F1D48F82B09C0BE1C97C3150F5F7D1F -Test: Encrypt -Comment: Set 1, vector 381 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 95C649C5B1ADCE59BE93F701C01D815D7A32D151179FC1B6610B3A2A98EE1295 -Test: Encrypt -Comment: Set 1, vector 382 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 7E1DD644C151A0C1055E0AEB7A9DBE80BE09CCDE6C69797D00E7B391A6311D1D -Test: Encrypt -Comment: Set 1, vector 383 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 6A82511AEBE5A82B6392CCA180B10F77FF0C14A7CF8CED894E1C8EDF9BAB29DA -Test: Encrypt -Comment: Set 1, vector 384 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: AD05B4B2F644469BCCD1BE1D028B1FB26F270088E56D8B73364F958730B0C9D7 -Test: Encrypt -Comment: Set 1, vector 385 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 8B4110E53906CBD07EC61AC8DC8C97C475085AE6AE6418C45CAD7495B2C2F4A9 -Test: Encrypt -Comment: Set 1, vector 386 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: FC44F97B9B3791B98D941B460C585BC7A485024F2B15370605FA64BEB36F10F6 -Test: Encrypt -Comment: Set 1, vector 387 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 95E1B79F255E9E477D756B0123F22397C723D63F3D6AC710A1647E5D6229AC25 -Test: Encrypt -Comment: Set 1, vector 388 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 523D59EEA567CAE613403BE8C8769E9E375F290D7FA2DFF64C9B41120E96F0C0 -Test: Encrypt -Comment: Set 1, vector 389 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: DCD843BF9123A86C9938CB833C815217E37325B4ECF9A43E8E878ED2CDB257E3 -Test: Encrypt -Comment: Set 1, vector 390 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 4D737BB7B6B2EA155FA64CAA9124588594AD9D3239B03A0B5F1A1670EF37C309 -Test: Encrypt -Comment: Set 1, vector 391 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: D884858B07B3ADC2AB0067E24CEF443AF6D3CB691C7D3EDDFAF672763DF6991F -Test: Encrypt -Comment: Set 1, vector 392 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 24923E668BA92F02D0545738A1F3A81AD3EACC6F3E65A3C6879FEB3D55C3BEF5 -Test: Encrypt -Comment: Set 1, vector 393 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 98006EC6FFEE6DC3FE9D53FC632D1D82E8DC5BCB0BE0BBF1782701F858934432 -Test: Encrypt -Comment: Set 1, vector 394 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 1C7CD45E2FDF746F2F6B7FCE3510DD14CAC7420FDA6BC9C6D3287E894D2B9EF5 -Test: Encrypt -Comment: Set 1, vector 395 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: DF1B2CD5A9A7ADC85A257882E53150F9B3BAD4B5EFEEE8B4B212F8FB08F11194 -Test: Encrypt -Comment: Set 1, vector 396 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 5DF3202330B96E2C8D45284BC1D8CC34C076B18600495EC43F847D09B9AB08C2 -Test: Encrypt -Comment: Set 1, vector 397 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: CEE878EA6317D3B4E2CC695FCCC5EE04B7415B735F2D11B9A8891293D5D5E818 -Test: Encrypt -Comment: Set 1, vector 398 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 3753BC3550155B6880CF1AAE6365FA5EA4F277B4E01FD26133A5C69F5620AC9F -Test: Encrypt -Comment: Set 1, vector 399 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 8FF623E4246D8B7D14904BFB478256CA55EBD9E383B672A91D512AFD606BA629 -Test: Encrypt -Comment: Set 1, vector 400 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: C823B856B5E462FAD71A1D9C8F02CE1FE48650BD53BD620D021ADB1C53C21B84 -Test: Encrypt -Comment: Set 1, vector 401 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 22D0CD94534D8DCC359095D77008069E57851298103A13ACB50BF6FA778CB9A3 -Test: Encrypt -Comment: Set 1, vector 402 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 413F7657C9E46D928AE307FE794D1B10FEEB433D7F829C66118E155227F811BD -Test: Encrypt -Comment: Set 1, vector 403 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 12A9E9ABCC1916594307C982852A6750FFD5D9DCFDA261EC54C2D465BBB0FB64 -Test: Encrypt -Comment: Set 1, vector 404 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: EEB4897AEABADA871D368A00748CB437801933D78A14687EDDB3D526BBC2BFF7 -Test: Encrypt -Comment: Set 1, vector 405 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 2444A95492348F7AB5C8EFE89839C6491833EF227637640F8199262DA70E5406 -Test: Encrypt -Comment: Set 1, vector 406 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: CD0F1C806CE40D9901A04A23B52BBCFF51D20E964BA2ADCFE9AEE7CC8FE4A3B5 -Test: Encrypt -Comment: Set 1, vector 407 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 30E58CD115B75139A5D2ECC5253F6467FDEF4DFA307D11132570F90E657BC254 -Test: Encrypt -Comment: Set 1, vector 408 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 563FF22D971BDFACD7A90EDE80F076126CB16A759FDE6DB83E0DEE71CA48F33F -Test: Encrypt -Comment: Set 1, vector 409 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: D235A2277B7D3A772C3D092D2E3D92248865EFED8C2577D3D087C5BE84891667 -Test: Encrypt -Comment: Set 1, vector 410 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 3CD74A025D1C2044875FE1D97351608E0203CE65F2EB283633505AFDC3C6393B -Test: Encrypt -Comment: Set 1, vector 411 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: FDAAE4CA8FD698D4330AD8217D40C8368AE9A825BE3359CB881FA74315ADA4DD -Test: Encrypt -Comment: Set 1, vector 412 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: A9BBBED3051D1EB40AA806CF6505EBB4A0D3BAE671AFA03BD2586B01ECC6B9AD -Test: Encrypt -Comment: Set 1, vector 413 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 468AC86525069F4A9F1F7036BB2FC3D042296707B9FE8328C9514DA52FCBBCC2 -Test: Encrypt -Comment: Set 1, vector 414 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 96498A45E45E26AA2A1DD58E7374BCDA71420627B332F94FE98E045251B432C0 -Test: Encrypt -Comment: Set 1, vector 415 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 36FB6B4DAE5EDE9971BC2F5A353A3D5954961D9C8F7D38063A9F8556881F1E1B -Test: Encrypt -Comment: Set 1, vector 416 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 4206BEA972707980637FCD2B990F2B8EAE3243C9178487047B1A9BE2C7F6225C -Test: Encrypt -Comment: Set 1, vector 417 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: BF2763F46F4EF8CF40E42B6E4F161785D3478BDD1EA0BFAB30763B98BBC64720 -Test: Encrypt -Comment: Set 1, vector 418 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: E7B97A297B534B1842528055982B7C382CFFDD161D69725789BF0CC35339D0A8 -Test: Encrypt -Comment: Set 1, vector 419 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: F8E68E206729EDF06C9379DC6F87891FFB6D5DD75A040D4F0E17BDF28308E6E0 -Test: Encrypt -Comment: Set 1, vector 420 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: DA69958998715C7517B9864E3A81F5960A48E9071FEB047084683D95A8532751 -Test: Encrypt -Comment: Set 1, vector 421 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 99456A498166535817F3DD3B47696CC74777ADE25DFA5CB5A3DF1A47DBCF0F17 -Test: Encrypt -Comment: Set 1, vector 422 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: D2D061B7FEDCA0663FE8F738042D1CE7D0EFB3BCED73977087FAB06192A361C1 -Test: Encrypt -Comment: Set 1, vector 423 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: ABF4E053FD99A777A5C95F057A1D8D3BC433D212220FE2BD5074C7E7B4AAA636 -Test: Encrypt -Comment: Set 1, vector 424 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 335F971AF070B59191F61547DC555F2AD86B263B23AAD53A80D6DA0C8A73C6BB -Test: Encrypt -Comment: Set 1, vector 425 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: C2EE398458AD869FCFB5DBAD16CB66F2CDEBE8D9D2C0FC4B258553D7D648E281 -Test: Encrypt -Comment: Set 1, vector 426 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 659BDB67C3BB43D43CF53EF14411F9B5B2B3C8C9B961087622BF1F0412596D81 -Test: Encrypt -Comment: Set 1, vector 427 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 21E2DA7422F753B1B625D95BFE5FD1C52CB5DFEDF0F2662EF17416E44F671525 -Test: Encrypt -Comment: Set 1, vector 428 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: C14725058665DCF8D701BB4A3DD5490DDA85E2754D9B233C008B5FC3559837B0 -Test: Encrypt -Comment: Set 1, vector 429 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: BF0D7F94DF1C7CA59CAF588BEDB316CB4E31A578B76C1E5213EB663C0E850F97 -Test: Encrypt -Comment: Set 1, vector 430 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: C81ABCB56C58DB2D5A329C6777091857DA4A5CBCB9D05AD6B0D4A2D4E915A7F4 -Test: Encrypt -Comment: Set 1, vector 431 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: F9D7611F502D0CED242909E032173BAF5A43DAF7009F53E25E109D7F4FEF9981 -Test: Encrypt -Comment: Set 1, vector 432 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 4EC0E7F808A10BFD4676E5CCA67E1D48806F346B702B2827810487EE56907C71 -Test: Encrypt -Comment: Set 1, vector 433 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 34C183C96FE5D9D2B4ED564EE9726551B27E1AF24848B5D711503E88BECBE458 -Test: Encrypt -Comment: Set 1, vector 434 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 3E5EA6B326751B501C91C4A575B0ED6AEA9D60A14908187ACB3FC145B5468131 -Test: Encrypt -Comment: Set 1, vector 435 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: DA3904568BC8844CB594F44FE13F5D663B55EE6995D2232A999D591F2FCE7812 -Test: Encrypt -Comment: Set 1, vector 436 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 9293ED1C3C5B1A91B54A43BC63603F2EAD345EF9A7D3E69BD955EF1B8D36FD13 -Test: Encrypt -Comment: Set 1, vector 437 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 65C5CE0CC96FA6085A23EF00299B6D8518673DC9B8BF764DB595A8A7F8E940C7 -Test: Encrypt -Comment: Set 1, vector 438 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: EF95E25669CF4079F8BA728F41BD115F2913D8CFE0116C86032CD133E4787011 -Test: Encrypt -Comment: Set 1, vector 439 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 7860315B44671B93718FEAB94BBCEE6B1006354914A90C3BF2DA1B6FA62F48AB -Test: Encrypt -Comment: Set 1, vector 440 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 2AA9968D7011FB1F33B97DAD01C2708A6826C030AFCCA35B222B2E47C89F14E1 -Test: Encrypt -Comment: Set 1, vector 441 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: CA9DD4F0771447B9AD0664DDA2921192568C2012246CCF5E95CD6CF3FBC44DCA -Test: Encrypt -Comment: Set 1, vector 442 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 38D51B18372FD7E7A617D7BCBCC658CB16014B05ECA242AF52B40AEDF6952DE4 -Test: Encrypt -Comment: Set 1, vector 443 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 640D035CFD65FE70D089866A53F21D00F86FDB1CEE2880F9FA7D382D424978A1 -Test: Encrypt -Comment: Set 1, vector 444 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: B41B62EC90FA9CC037F1BC74AEED25226917DD3B2B2E5C11EC6AE7601CF3F0E2 -Test: Encrypt -Comment: Set 1, vector 445 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: A4340A36C7E640C83D2401AAE6F9F103BC9B568EF5B7F67663E64B820974B235 -Test: Encrypt -Comment: Set 1, vector 446 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: CAEF6FE59B0C05DDFE4F233412A185038077B7138EE9BA5FF4815C63C2BE84D2 -Test: Encrypt -Comment: Set 1, vector 447 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: F5D76FAAF12F566711DAAAC0E1F71260354FBA7BC0DBC34D7A2B6FE8E19DC672 -Test: Encrypt -Comment: Set 1, vector 448 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: DB1B22D80BD5BEA8D3F5F445E296FF3506C98C6FAE617D6C8DD943BC535AF864 -Test: Encrypt -Comment: Set 1, vector 449 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: DA02BA2C706095D3EB008EFFEB5E501FFF78B59EC34CBCAF0D7CE82268CCAFBA -Test: Encrypt -Comment: Set 1, vector 450 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: F878759262E5C2BA6CBC2091406D4045F876767C475582965B185DC9437ADD1E -Test: Encrypt -Comment: Set 1, vector 451 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: CA268715277F1CABC2062D4EDFD667759829782F793715199EE172917DA35C5D -Test: Encrypt -Comment: Set 1, vector 452 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 01BACD8388BF42064C8E927B3629C0DA82A0FEC4883EC068DC48483C43512BC5 -Test: Encrypt -Comment: Set 1, vector 453 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 3D782388FD4ECBFEBBD49F2FBCF80A687E4CC0B8FEF51F097DEB679F49CB8B06 -Test: Encrypt -Comment: Set 1, vector 454 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 392E11AF1FD4A97ED260B680930C95DF26679260EAE0C025C405CDCDBC8E810D -Test: Encrypt -Comment: Set 1, vector 455 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 10E6AA6CAA90220E6D8963837D9EC3D46F8E9679379345282573753F2093E0F2 -Test: Encrypt -Comment: Set 1, vector 456 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: E3EF5E9644294206A5707EF83C54E5EF5F4DB9841383C3EB767DEA722E9B7D0E -Test: Encrypt -Comment: Set 1, vector 457 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 0EDD01B5FE46475139F14371B548B58C5E33830D6EA6864BFBAB36D25345F8F3 -Test: Encrypt -Comment: Set 1, vector 458 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 7DB72BFBC00A04E38DD4B9F2EA5C0114D19B2956EB959BEAD3E29DFB9BFC9A2A -Test: Encrypt -Comment: Set 1, vector 459 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 7DB561AF481CC8B010BFD18A0216E2554888BBDD4E90B00476809B48601C9306 -Test: Encrypt -Comment: Set 1, vector 460 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 4EAB74E6D12574BCDEF95BC0CAD67C7E04B24472431607EBAD5F915F1116C9CB -Test: Encrypt -Comment: Set 1, vector 461 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 5A48DE560FA1ABF0F85BFF9A0A1928020A6C51AD3FE7C1392C2A875401DE62F0 -Test: Encrypt -Comment: Set 1, vector 462 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 074956F37AF065DBEDB2D68C602A4B65B7D614F8A0B284539E234B307CFDC495 -Test: Encrypt -Comment: Set 1, vector 463 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 9BB4837A582A5CB30579DABEEC41ACCB3786AA9BE52DDC88065BE0FFD33917EC -Test: Encrypt -Comment: Set 1, vector 464 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: E1E690D74FC254D1D2A8238096285CC100013E8A8BB55FE92F6DF69DB217773E -Test: Encrypt -Comment: Set 1, vector 465 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: DFE35C2BC6ADFEBE4D9E8F84160AD6315CA43F0F022DDC629106E008F29C81AE -Test: Encrypt -Comment: Set 1, vector 466 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 8106B2FE206F9F8738BEC324B531E6943F00B20EC35DEADCB508197EEEBA5473 -Test: Encrypt -Comment: Set 1, vector 467 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: E46E36293B659E73FAA1722AF29651621598FF2E92694C99F7BB0C792B93BAB2 -Test: Encrypt -Comment: Set 1, vector 468 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: F3CAB9F84AF81A06F9F350C345B44E053C8F1EE36D62159B4993950BB76D0948 -Test: Encrypt -Comment: Set 1, vector 469 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: E3381C1644BBBB29290D30F15C96956BF4AEFE443FBDA0DB3EF2CEE7081D1DB3 -Test: Encrypt -Comment: Set 1, vector 470 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: A4DD97D2710285907527C4FAE5676774D937FEC609F8489A16384568FAAA699F -Test: Encrypt -Comment: Set 1, vector 471 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 43C608E43584C631E620672EB0A92707C396ACC12CBCE0810A28F7EA3491E0A3 -Test: Encrypt -Comment: Set 1, vector 472 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: A1DC3C2AE54BB2FA291913562F05E021AF361E422D39C89D8CFDBE4B672B63ED -Test: Encrypt -Comment: Set 1, vector 473 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 890CB43DA15A1D69A10EA9322B8C14D61AD537462439A735472CEF9428C8A2D9 -Test: Encrypt -Comment: Set 1, vector 474 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 9119548582EB7EA7F4AA1B224A6825B786F316EAA7AAA18B61B56D64AA4CBA29 -Test: Encrypt -Comment: Set 1, vector 475 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 574DD7CA20662ECBC730FA7CE314094E427FB8250E0F636894B650DA35A7F0CE -Test: Encrypt -Comment: Set 1, vector 476 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 3575DEA861D0F97DA32438DB834020996820BE85EAE5ED15A7983A31C7669C70 -Test: Encrypt -Comment: Set 1, vector 477 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 27EA06CBD196073357F1F790191D14796FE2BEFBE18B8C48D7566528B3DDA4C6 -Test: Encrypt -Comment: Set 1, vector 478 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 11B190730F6EDE90C8B3FEE01E722ADDD21BEB4324A358F86F524E4B7F7AF975 -Test: Encrypt -Comment: Set 1, vector 479 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 07E3CDB5130D8FF7A2A31335AD478FEF10805E266C00646CFBBEE81F2B3C1711 -Test: Encrypt -Comment: Set 1, vector 480 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: A0ED0FFEEBCBF4066EE550E63065B08569B92BCC938002A5469ABD1C397233A0 -Test: Encrypt -Comment: Set 1, vector 481 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 2C9CDE299A4C507EC03C617EACE2358E76BC1AD338FE5A66A9105F18788A8836 -Test: Encrypt -Comment: Set 1, vector 482 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 5163F9C4ECECD047E83BDF1D6EE233487646A96FE43B4B08C41324FD8ECB271B -Test: Encrypt -Comment: Set 1, vector 483 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: AA2AE4BF506AB3D7607A29C3EF90B4C7933EE58ED3AB3720817FE3C611A850AC -Test: Encrypt -Comment: Set 1, vector 484 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: B04B4C802D91D9ADE76EBAFCDBA0A96A8A83DAEB7069370D6E901A42291EB8C6 -Test: Encrypt -Comment: Set 1, vector 485 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 91A99BC40CF38388B4AA77798D720653492CCED5230382ED587A305A2A1A6BCF -Test: Encrypt -Comment: Set 1, vector 486 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 91FB386F3B9AF82F93836005CBD9ED6727B9BBF1F669EAE6D06DA6D04D1AC082 -Test: Encrypt -Comment: Set 1, vector 487 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 01F8956120BF068AE7241BB96FF086C2D67547B549A8743FC0569978F201678E -Test: Encrypt -Comment: Set 1, vector 488 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: A8C562A616F918A669A29C0724B76E3D04B125E0AB5A09E8CE60F54E4816EC90 -Test: Encrypt -Comment: Set 1, vector 489 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: B41D3BC188419DC929D611197D17FB4D29B78CD7FBC03B904219DD8A2FEE210C -Test: Encrypt -Comment: Set 1, vector 490 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: B119861B67AFE45C0134E2336CAC90BAFD1EB94C557EBA6DFDCBE69367B37981 -Test: Encrypt -Comment: Set 1, vector 491 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: A2317FD4C041AF4D87C46FC684FBEE8DB65E4D43E5EA74237988A7EB67404656 -Test: Encrypt -Comment: Set 1, vector 492 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 641794C292A1A590F909D01F175E012671AEBF1E432295AED662E74C1EEA5DD4 -Test: Encrypt -Comment: Set 1, vector 493 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 7984AC47362281DF446BE46AEC5D9A94B842F6F5BCCB01FD564318A49F94042C -Test: Encrypt -Comment: Set 1, vector 494 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 74F84174C9E2EBBEE396727DBB1C9CFAE2809D802F7E7CF8F7515FA3A629ED98 -Test: Encrypt -Comment: Set 1, vector 495 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 7A9E862E27444A492C91CA2EE5E93369FEB74BB881AAC74F895D97E61500FA99 -Test: Encrypt -Comment: Set 1, vector 496 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 638E347CEC7121A668AF985E56F7F3934D852FCF53283B767BAC213337AAE99A -Test: Encrypt -Comment: Set 1, vector 497 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 45DC398895DA1B415708B4BC8B7EF133849E0E8E99945AE4D9C894FDF6D2815D -Test: Encrypt -Comment: Set 1, vector 498 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 1ACF1203B698FE2E3375E251EBBC05D387FECABDE6A9194DF5195F3FBF1E3502 -Test: Encrypt -Comment: Set 1, vector 499 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: F6A064BDC6EE0777B09CC1A0154F28AD282D4D6E48F9DE11CA083B8A9F454891 -Test: Encrypt -Comment: Set 1, vector 500 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: FE68FB721E181EA8A62CDD3CA0278C6EB1344DF07E73676D3F0DC501D99721C3 -Test: Encrypt -Comment: Set 1, vector 501 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 72923AD92EF01BDB90B9639DD411E4540CE0F531A0AE401547FBA03CB850B63A -Test: Encrypt -Comment: Set 1, vector 502 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 0B1D0F485A4DE59658FE61F1F0010D9EF5A2BA97624CC3687D94EE4335777138 -Test: Encrypt -Comment: Set 1, vector 503 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 7423264FBF5EA94BA461BD80B2518B1CAF3757CF5BAB4511144637F5DC917168 -Test: Encrypt -Comment: Set 1, vector 504 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 589FADA29BEA438C12CA96241AA492FCFED48C1C1C05C16C88CD7A8B46E16A0D -Test: Encrypt -Comment: Set 1, vector 505 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 319B5D23945A98C9480E6460CBCB86A8B36038A28500A36182B228060713F58B -Test: Encrypt -Comment: Set 1, vector 506 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: B81B723D3E18A074078B7D041E55B9B130953ECF70BF773273A28E11238651A5 -Test: Encrypt -Comment: Set 1, vector 507 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: E660AC40BC4700D4CE85AA43A2A39A24D0F255E64A9251D7442AEFB6EDFD43A8 -Test: Encrypt -Comment: Set 1, vector 508 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: C27914CB70EA29C06B321E4F61730CE6679A342733738BE72C97EED40802EC17 -Test: Encrypt -Comment: Set 1, vector 509 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 764B78FA0EC12E017D9F7C69FF53FA8FA00E7185888F36DBC3CA9A10A6122FBA -Test: Encrypt -Comment: Set 1, vector 510 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: E2F9F554823B38D2099DD27E0AD6AD69BE137626840B41B7CF081D7881C47CC7 -Test: Encrypt -Comment: Set 1, vector 511 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 403E453BBAF997A75C4517B588431C75BCF01208B378A4F4FBB138217A9CA4A2 -Test: Encrypt -Comment: Set 2, vector 0 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 8000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 2CAE7C0460EE2FC3200923A1B6C2ABEEA746C8B44F6C3FB941BD3AF02A3E6E3E -Test: Encrypt -Comment: Set 2, vector 1 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 4000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 45FAAFBEE792EA704EE3D08CFA9D9F5CF93FEB3443E0049DE5898A48F5A3D92B -Test: Encrypt -Comment: Set 2, vector 2 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 2000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 720F072E7796310AC1BDDD3714581EB95896723DA3E61E0892B43F65A4153965 -Test: Encrypt -Comment: Set 2, vector 3 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 1000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 5E6671D1F792673D63940E69D78A3471B3C150707DA72E6C25CBD2C4DA2B9778 -Test: Encrypt -Comment: Set 2, vector 4 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0800000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 2E96F027C2B62ED2D2EE692A992ACAB827D16FDA71DD98109A645E4094923D3B -Test: Encrypt -Comment: Set 2, vector 5 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0400000000000000000000000000000000000000000000000000000000000000 -Ciphertext: A38D7F334B21394B28A29FC9CBC68AD9F2AE85E7434D1C2F57AAA4C1A49DB759 -Test: Encrypt -Comment: Set 2, vector 6 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0200000000000000000000000000000000000000000000000000000000000000 -Ciphertext: F67B5037CE9193023095D43DE312523F99E6CBCDF43EC00A947284496E311DD6 -Test: Encrypt -Comment: Set 2, vector 7 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0100000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 7DC030A91C39EC8558AC10044AF79D4CCA92BBC8093B3A2456E26350E35EEBDA -Test: Encrypt -Comment: Set 2, vector 8 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0080000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 99260425AA126953E04A3D959F9153404521EC64C3B35E61EEBA67AAD2C1295A -Test: Encrypt -Comment: Set 2, vector 9 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0040000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 65C380354899581B2B40EDDF40A0695FB608DCDD11C6B0C2CA6BB427DB1D2A9D -Test: Encrypt -Comment: Set 2, vector 10 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0020000000000000000000000000000000000000000000000000000000000000 -Ciphertext: BBD1C4488D41FB1B096E835AD29FC3DC5B97496BA638625D78B99C5ABBDFA13A -Test: Encrypt -Comment: Set 2, vector 11 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0010000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 7AFDEE496D690233ED0717E2D92DE3A102FDF902E51E69FFCE244B84A69CA826 -Test: Encrypt -Comment: Set 2, vector 12 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0008000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 06D8C3E7AAC698D143013B364BD7ABC4E4EB6BA82BBAB2A4A0B486E70E24592C -Test: Encrypt -Comment: Set 2, vector 13 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0004000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 727A8BF64932039C3409ED31CFC0171651BA69D551E8073A4BD1D35F31F52336 -Test: Encrypt -Comment: Set 2, vector 14 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0002000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 9EE7CA05C4161860014BEA89FB2DED90B4F0B362AD67789C6045C9C71310A8AA -Test: Encrypt -Comment: Set 2, vector 15 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0001000000000000000000000000000000000000000000000000000000000000 -Ciphertext: E924224559E43960EC44165CAD471CFED381B279B3EA4AF96BDB071BE987DA0D -Test: Encrypt -Comment: Set 2, vector 16 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000800000000000000000000000000000000000000000000000000000000000 -Ciphertext: FF189222046B5F4FB491CDC9A98130D772629F3EF44A06894268C507C25061AF -Test: Encrypt -Comment: Set 2, vector 17 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000400000000000000000000000000000000000000000000000000000000000 -Ciphertext: 6B053BA7765F2A62595A1E83444B52FCF16C8BBBEB21B437E6FC8C5F03B3673F -Test: Encrypt -Comment: Set 2, vector 18 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000200000000000000000000000000000000000000000000000000000000000 -Ciphertext: 0FB836DC6BCDA1C2955CC7A6F25E72C5FFFDE1075D820217157051FB5BD3D3EF -Test: Encrypt -Comment: Set 2, vector 19 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000100000000000000000000000000000000000000000000000000000000000 -Ciphertext: 200EBC8B8217D9A6895253F9366543027E5F493DBA1A5AD4FC7AB66FB806308E -Test: Encrypt -Comment: Set 2, vector 20 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000080000000000000000000000000000000000000000000000000000000000 -Ciphertext: 45B33F2465C674941B7E26C5986E42F6814A71323B420E401DCC8DA200FC3C08 -Test: Encrypt -Comment: Set 2, vector 21 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000040000000000000000000000000000000000000000000000000000000000 -Ciphertext: D2BF0A074053A01A227DC439311BF8BD696203995285A3A2CD3674A0CC6A65B2 -Test: Encrypt -Comment: Set 2, vector 22 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000020000000000000000000000000000000000000000000000000000000000 -Ciphertext: 5FFFAB58BA2CB27AE92E10F36F99A8EFEDF9DE2446A9C2E82E48F22FB1ED8C5D -Test: Encrypt -Comment: Set 2, vector 23 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000010000000000000000000000000000000000000000000000000000000000 -Ciphertext: 835A1BD7A3688BA0F7C572417A06FCCBCE0A69C7FCDF10C8BCF4469AE80DF11E -Test: Encrypt -Comment: Set 2, vector 24 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000008000000000000000000000000000000000000000000000000000000000 -Ciphertext: 559D1BECB3DBBE40A7E31C66D97D292821B934818172553FC1CE68AD8E6A741F -Test: Encrypt -Comment: Set 2, vector 25 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000004000000000000000000000000000000000000000000000000000000000 -Ciphertext: D962BE9A9C4F8DDA6F0EC42DB8B48FA14A1E91E639BD85FF26A2543D9FDFA9A9 -Test: Encrypt -Comment: Set 2, vector 26 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000002000000000000000000000000000000000000000000000000000000000 -Ciphertext: 588B2319C62ED25ECEAB7C327B212F5FCD5D89DE8A85AA3713BF332CF5F715DF -Test: Encrypt -Comment: Set 2, vector 27 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000001000000000000000000000000000000000000000000000000000000000 -Ciphertext: 67EDE571C64AFF87D7AE5294E64F1709F920A10D278E1629FC8B2BE7EF5ABE0D -Test: Encrypt -Comment: Set 2, vector 28 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000800000000000000000000000000000000000000000000000000000000 -Ciphertext: 60D9E58A6828847F9644DC165EB508B5A2BC67219B969B605B3CFAE109C9CE47 -Test: Encrypt -Comment: Set 2, vector 29 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000400000000000000000000000000000000000000000000000000000000 -Ciphertext: 5A0C538CB78F13404BF8D8AF5C43A17F04AD0D35DAD45F88E26B9D1C204B5AFB -Test: Encrypt -Comment: Set 2, vector 30 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000200000000000000000000000000000000000000000000000000000000 -Ciphertext: 724EE8B7D7BCAC2587C42D92FFCDF7EDFF91F06AD43ED353F332E1FAC3B70F5F -Test: Encrypt -Comment: Set 2, vector 31 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000100000000000000000000000000000000000000000000000000000000 -Ciphertext: D50F11DACBF340C1315419D1983028DCED83F8350FE50DA4F9554DFA641E99E1 -Test: Encrypt -Comment: Set 2, vector 32 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000080000000000000000000000000000000000000000000000000000000 -Ciphertext: 9460ACD1B739015ED197B2659353AAC465339FAD9D1AFB845A337630332C1C55 -Test: Encrypt -Comment: Set 2, vector 33 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000040000000000000000000000000000000000000000000000000000000 -Ciphertext: 7D7A56F8A89463C4CE519B96854200C6E05703651CE3ACD5549B59D0B9788B93 -Test: Encrypt -Comment: Set 2, vector 34 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000020000000000000000000000000000000000000000000000000000000 -Ciphertext: D07E4F830ADF1DE4886C614CDB6B3D988884293AE65A63B3E9886A8727C022B2 -Test: Encrypt -Comment: Set 2, vector 35 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000010000000000000000000000000000000000000000000000000000000 -Ciphertext: 56CCEC1812B3B83086208DBF0C98119DC1CAE316E91B09F4F6F36BDCF73F8873 -Test: Encrypt -Comment: Set 2, vector 36 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000008000000000000000000000000000000000000000000000000000000 -Ciphertext: E8C3012B0EEB2D18DEA4C06BAC2906DF858BFB8A4D86D6841C02A9E45B2D0455 -Test: Encrypt -Comment: Set 2, vector 37 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000004000000000000000000000000000000000000000000000000000000 -Ciphertext: E10FB90CB2F5F830763FCEFA386A8E70052AB8994A55DC95FEDF8B71E11D2636 -Test: Encrypt -Comment: Set 2, vector 38 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000002000000000000000000000000000000000000000000000000000000 -Ciphertext: 848DFB81A0D4D13A40F9119AB77A3B6D2B96E76396B39984739FDF31ADBC376F -Test: Encrypt -Comment: Set 2, vector 39 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000001000000000000000000000000000000000000000000000000000000 -Ciphertext: 61068A490E20E07686D8A77B81718A3214508E3FE3DA6A6BBAA8ABD67B98623F -Test: Encrypt -Comment: Set 2, vector 40 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000800000000000000000000000000000000000000000000000000000 -Ciphertext: 9197E2A5212260324CA6E6FA0BBA56B4E5D9934C8B9E42D9F43E901C0994082C -Test: Encrypt -Comment: Set 2, vector 41 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000400000000000000000000000000000000000000000000000000000 -Ciphertext: E9DC3C1445CBFF1B863CF3FB6B338B4EC29F2C083E65A4BBCC2F1FAC22CCA8DD -Test: Encrypt -Comment: Set 2, vector 42 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000200000000000000000000000000000000000000000000000000000 -Ciphertext: 80039358C99E64A255D5E4E334C830FFEC8E0CBF2EB6030DE7DCE1A938821938 -Test: Encrypt -Comment: Set 2, vector 43 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000100000000000000000000000000000000000000000000000000000 -Ciphertext: E508D93429BBE95EE38672A2F653841701F391C68235391367F16415C2C84ADC -Test: Encrypt -Comment: Set 2, vector 44 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000080000000000000000000000000000000000000000000000000000 -Ciphertext: 710463874DF68B8930CC5CD6A00ABA2BCE27352997F2582EF472ED5F5AFE75A8 -Test: Encrypt -Comment: Set 2, vector 45 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000040000000000000000000000000000000000000000000000000000 -Ciphertext: E90AD04D26F4FF6D25D193CD2C34A2E1C6A1E570CCC705B873CACC94E61F79A7 -Test: Encrypt -Comment: Set 2, vector 46 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000020000000000000000000000000000000000000000000000000000 -Ciphertext: 8E19B69D55C9A2B2CCEACB50EC8007F39C81A0F261A8568D1298967C132BB790 -Test: Encrypt -Comment: Set 2, vector 47 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000010000000000000000000000000000000000000000000000000000 -Ciphertext: 4051E2FA9032676DC6E11CE947C64C9A0C0FC262AA41F40FA0C4093D1E4FA924 -Test: Encrypt -Comment: Set 2, vector 48 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000008000000000000000000000000000000000000000000000000000 -Ciphertext: 5DA6F415CCDF1A2D3335A0BEBB879D88CB9C871744111004C0E5AA6D27EB0311 -Test: Encrypt -Comment: Set 2, vector 49 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000004000000000000000000000000000000000000000000000000000 -Ciphertext: 684C24EC1DD06F6B565890190BE1F8BC7F4537CF5F9CF038ECB6D1D86164503A -Test: Encrypt -Comment: Set 2, vector 50 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000002000000000000000000000000000000000000000000000000000 -Ciphertext: 6D259C132726524987D4FD96C1ECD943D6B87BB98C61C4FFE41E282EC82F246A -Test: Encrypt -Comment: Set 2, vector 51 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000001000000000000000000000000000000000000000000000000000 -Ciphertext: 14707F80CC43E4E6321362B0ACFF84FE57E9D477B56637D01CAA09B232D726C5 -Test: Encrypt -Comment: Set 2, vector 52 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000800000000000000000000000000000000000000000000000000 -Ciphertext: FE98609B71F9CD65CD377C98BC4117EC8708E58D15361F9CAC02C64F0452B80D -Test: Encrypt -Comment: Set 2, vector 53 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000400000000000000000000000000000000000000000000000000 -Ciphertext: 1B78E77F935EBA86B28C9B37818245E2865AF84A73C9DAA735E42E6009AA07F3 -Test: Encrypt -Comment: Set 2, vector 54 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000200000000000000000000000000000000000000000000000000 -Ciphertext: F354ADD75ED9E121B1BFAD9483C6825AEF57BAA2DF08B519640E022E196B313F -Test: Encrypt -Comment: Set 2, vector 55 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000100000000000000000000000000000000000000000000000000 -Ciphertext: 7E0D7DCC0642CD5BF0C39460C4C183E5F321BCAB5EEA0AC7021E1AECE423E2A9 -Test: Encrypt -Comment: Set 2, vector 56 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000080000000000000000000000000000000000000000000000000 -Ciphertext: D1CCBD3EEA6ACF918569BEC2C900723B4359CA19C58E32ED65FDCBAA30A41C98 -Test: Encrypt -Comment: Set 2, vector 57 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000040000000000000000000000000000000000000000000000000 -Ciphertext: 361246D37645483C6D13C6500326694A0D577604CDF7CD36586B6C7F96FBE077 -Test: Encrypt -Comment: Set 2, vector 58 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000020000000000000000000000000000000000000000000000000 -Ciphertext: 0BC890CF369C233EDB99A51CEC75BFF60FB36BFB3EC15F253054F8865CB16DFF -Test: Encrypt -Comment: Set 2, vector 59 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000010000000000000000000000000000000000000000000000000 -Ciphertext: B5ED5183A00C882F8D213AFCE35C14E940407B7C2A8C9A5A19F289AED42DFAD7 -Test: Encrypt -Comment: Set 2, vector 60 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000008000000000000000000000000000000000000000000000000 -Ciphertext: 22B4EA3A5718D6CEE4EA78725F5BAC735C539C343D7B45121EDDA22CA39D9413 -Test: Encrypt -Comment: Set 2, vector 61 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000004000000000000000000000000000000000000000000000000 -Ciphertext: 94ECEC21BC3426C7214F266B6442F85B6AE765BD6206A951B2AA14505D19FBCA -Test: Encrypt -Comment: Set 2, vector 62 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000002000000000000000000000000000000000000000000000000 -Ciphertext: EF77932A5749126D65BD88330C18D91EDBB7FB53D7B3B675EE148EFC893559B9 -Test: Encrypt -Comment: Set 2, vector 63 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000001000000000000000000000000000000000000000000000000 -Ciphertext: BB9E132DC5DE8035433FBEAC46395E861BDA17A4892FFE6BD1B10D6B4D6AE0F3 -Test: Encrypt -Comment: Set 2, vector 64 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000800000000000000000000000000000000000000000000000 -Ciphertext: 7B536CF871F7FF406AD640683F405F0E14D72E77CDD2AB091D9A8E169155CE24 -Test: Encrypt -Comment: Set 2, vector 65 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000400000000000000000000000000000000000000000000000 -Ciphertext: 2417835AB4BD0A1D3439310480224C52796F3DB3536419F51A09551DFD4A6799 -Test: Encrypt -Comment: Set 2, vector 66 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000200000000000000000000000000000000000000000000000 -Ciphertext: 8E49C9819DFF2DEFCD8DF3E9EA910F79A9A932F43E4B763D6988CC0924C20544 -Test: Encrypt -Comment: Set 2, vector 67 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000100000000000000000000000000000000000000000000000 -Ciphertext: 1D364FDEFCB51560E4408CF25FC05E7698235D271E725590533CE24E3F3EC1EE -Test: Encrypt -Comment: Set 2, vector 68 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000080000000000000000000000000000000000000000000000 -Ciphertext: F1C0422AC64E4D566E799ADA6CE33B59C31051C55ED2212841460CE330F2763E -Test: Encrypt -Comment: Set 2, vector 69 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000040000000000000000000000000000000000000000000000 -Ciphertext: FA90883588183011F2748ADBC5217BA38CF6787FFD8BFCBEA06ADE193B1313C5 -Test: Encrypt -Comment: Set 2, vector 70 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000020000000000000000000000000000000000000000000000 -Ciphertext: 84EE69F947AEAAA0F1F2DA8C1508733D31F62FEBCF7085C68DEA5A602A566EBF -Test: Encrypt -Comment: Set 2, vector 71 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000010000000000000000000000000000000000000000000000 -Ciphertext: 260C06AB73B581E29C34FEE05363F532D4C693B5E8025291FC99C48F9CFCEFF8 -Test: Encrypt -Comment: Set 2, vector 72 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000008000000000000000000000000000000000000000000000 -Ciphertext: 98184C744C6A24B329A7827CE0F5B30AE709493A22F9064D1C3F7FED046D1C2A -Test: Encrypt -Comment: Set 2, vector 73 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000004000000000000000000000000000000000000000000000 -Ciphertext: 3CCDF1C3103B356E7A460410D91F1F00F749EB96F3E89F91248FB5E0949806EF -Test: Encrypt -Comment: Set 2, vector 74 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000002000000000000000000000000000000000000000000000 -Ciphertext: 49AB6245E93A6CF84BF66A7451D134535362CB8A8CE2E47012BF8B4EF02894D4 -Test: Encrypt -Comment: Set 2, vector 75 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000001000000000000000000000000000000000000000000000 -Ciphertext: 7A92C7BB97CB99AD15EA9DA3A629031901840D23EA4227C699944882E2E8F3CC -Test: Encrypt -Comment: Set 2, vector 76 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000800000000000000000000000000000000000000000000 -Ciphertext: 00FC7EBE56FCB696D9606FBBEEA6955871B7A03CDCAAE25DFC47D06145371AD3 -Test: Encrypt -Comment: Set 2, vector 77 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000400000000000000000000000000000000000000000000 -Ciphertext: FFF7327A979B527486052C1B99DECCFCC5E680D39613DE4107E8A04980DDFD70 -Test: Encrypt -Comment: Set 2, vector 78 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000200000000000000000000000000000000000000000000 -Ciphertext: 1E950B49D7D446867ED48272D220BCCC35B104A76A107880FB37D8AE55E69F58 -Test: Encrypt -Comment: Set 2, vector 79 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000100000000000000000000000000000000000000000000 -Ciphertext: 3B97EDED4E70497DAE02FD51E10AB26888096D2D182A7BC7EE55B6F3243E0144 -Test: Encrypt -Comment: Set 2, vector 80 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000080000000000000000000000000000000000000000000 -Ciphertext: 94414A0116665FFD8D1589B050A1663DBA15463206DA4E6A735B58FA7B4AA7ED -Test: Encrypt -Comment: Set 2, vector 81 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000040000000000000000000000000000000000000000000 -Ciphertext: D586FFCBBF32561B9659306068DD31C2A1FBC8DDF99CF0BDAB3DCC0664B403C7 -Test: Encrypt -Comment: Set 2, vector 82 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000020000000000000000000000000000000000000000000 -Ciphertext: 061E17DB1EAF9884C940B8C72E884C8D9D46819FDDF6724239168DDBEE170B9B -Test: Encrypt -Comment: Set 2, vector 83 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000010000000000000000000000000000000000000000000 -Ciphertext: D70F322E45E1D64B3D91249E9DE766DB7EF9084120C13D0215F31A6DE2E791C6 -Test: Encrypt -Comment: Set 2, vector 84 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000008000000000000000000000000000000000000000000 -Ciphertext: 5018967FCA5E67F24DCCE2190D24CD3E24A0B709B70DC38F1A4B4FE39CDCD2E5 -Test: Encrypt -Comment: Set 2, vector 85 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000004000000000000000000000000000000000000000000 -Ciphertext: 9108A0540D8D02658268185F06DFF6F2248681D0D9F9F4C6658942FC27C68246 -Test: Encrypt -Comment: Set 2, vector 86 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000002000000000000000000000000000000000000000000 -Ciphertext: 6595E74A5943DFE1A3FC19ADEBF190CDEC4C2EA0B7CCC6364E0AF7222CCEAA46 -Test: Encrypt -Comment: Set 2, vector 87 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000001000000000000000000000000000000000000000000 -Ciphertext: 5F156FB20AFD4BC0E4E4B2BA7700A38FFCAF9229E3CBA8C99915B692A76ACDEA -Test: Encrypt -Comment: Set 2, vector 88 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000800000000000000000000000000000000000000000 -Ciphertext: F0584D66033584791BED0EB67D2A73AA918E0F88F08683DC1F67DB7DD3375326 -Test: Encrypt -Comment: Set 2, vector 89 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000400000000000000000000000000000000000000000 -Ciphertext: 5EB0956E3DA8ECFC571D5BD1C4EF430FBB10117C6684B8530B6552B812780EBF -Test: Encrypt -Comment: Set 2, vector 90 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000200000000000000000000000000000000000000000 -Ciphertext: E8C8CB56ED63B5BA16DD833CC9C7AC77E425C284FFD547E8F9FE10410CA02FF3 -Test: Encrypt -Comment: Set 2, vector 91 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000100000000000000000000000000000000000000000 -Ciphertext: 68704A278A231ED468C1F0CFF43A4FC61253EACBE2BDCE1ED86D89F43263016D -Test: Encrypt -Comment: Set 2, vector 92 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000080000000000000000000000000000000000000000 -Ciphertext: CA16F899842EE79CBAC4D7CD67172C7DD537E6EA21D48C15B0B34B29BF87E79B -Test: Encrypt -Comment: Set 2, vector 93 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000040000000000000000000000000000000000000000 -Ciphertext: 9E6E7B31FF5D4D5C7D1C264273A27DA542BFCC6116B7DFDEF6332690B7304BDD -Test: Encrypt -Comment: Set 2, vector 94 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000020000000000000000000000000000000000000000 -Ciphertext: FE466983DED41AFB1908DF12A5532054C6DB320F0ECBDCE7610BBE2A07AA7F68 -Test: Encrypt -Comment: Set 2, vector 95 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000010000000000000000000000000000000000000000 -Ciphertext: D2D93C1B66FD710F8B72564A44ACA93995938FEE7C38DE482C9586E3413EB40C -Test: Encrypt -Comment: Set 2, vector 96 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000008000000000000000000000000000000000000000 -Ciphertext: 6623F853780833A60B60E6467CFA3D3D000228F2C8334F8B00CFE119133D41C7 -Test: Encrypt -Comment: Set 2, vector 97 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000004000000000000000000000000000000000000000 -Ciphertext: 1CED4727527E1C3107A89E77645241D240F3F113AC2BF8319E5D8EFF68997595 -Test: Encrypt -Comment: Set 2, vector 98 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000002000000000000000000000000000000000000000 -Ciphertext: FA450B3D8A7C03B643DF6EC70867D0502AE20235335AF5932A7016D71A6059A4 -Test: Encrypt -Comment: Set 2, vector 99 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000001000000000000000000000000000000000000000 -Ciphertext: A6F76AB74CE44538579369F5367B826C4EA72EB6EE08A0CFE1272EB435FDFEFC -Test: Encrypt -Comment: Set 2, vector 100 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000800000000000000000000000000000000000000 -Ciphertext: 8108B48A62A0E0CD58B066C10613E2B589CFB0BCEF4EB58BBF8C88E84A2CD258 -Test: Encrypt -Comment: Set 2, vector 101 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000400000000000000000000000000000000000000 -Ciphertext: F335D10835B018414786D30923663B77B2E0CA65423B96BFA885B9797138CF4F -Test: Encrypt -Comment: Set 2, vector 102 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000200000000000000000000000000000000000000 -Ciphertext: 87D8E75FEDA12025B9517BBF8421E837872E8978E48DA51BB8B8574C04731091 -Test: Encrypt -Comment: Set 2, vector 103 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000100000000000000000000000000000000000000 -Ciphertext: B8A50E6EDFF9711C6064812423F5DC5D77970BE65B545C042A02BACB30A4CD6F -Test: Encrypt -Comment: Set 2, vector 104 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000080000000000000000000000000000000000000 -Ciphertext: EB98815E5A9337DF35F98D7CF27183EC8423D5F9D145326638B864E0F994DD7D -Test: Encrypt -Comment: Set 2, vector 105 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000040000000000000000000000000000000000000 -Ciphertext: 3E5DDB36ABD739986483DE7A9EEF2468461A02B55CAA24100394442F0946F337 -Test: Encrypt -Comment: Set 2, vector 106 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000020000000000000000000000000000000000000 -Ciphertext: 809F726C3BB19BD09D4412B64777085D968ED4E612286008C4BAC69F671E7E31 -Test: Encrypt -Comment: Set 2, vector 107 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000010000000000000000000000000000000000000 -Ciphertext: 28F2EE8D382DF1AB0CF82B93C7A09B87180E8D19C35657302EFE1B1C4CA11ED4 -Test: Encrypt -Comment: Set 2, vector 108 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000008000000000000000000000000000000000000 -Ciphertext: 76E6887FC464215C9576BB233F5A3A7D98CA73F9B2D06E3BB81BC34AF02C8CE9 -Test: Encrypt -Comment: Set 2, vector 109 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000004000000000000000000000000000000000000 -Ciphertext: E8CEF712D7AF841C4FE7800CB04C27E25BDB41BECFA894588F73776CAAE2A0FA -Test: Encrypt -Comment: Set 2, vector 110 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000002000000000000000000000000000000000000 -Ciphertext: 868D3A678A216D01A765046E2991A21F9626493063AFE771E3369E5DA2BA7E9B -Test: Encrypt -Comment: Set 2, vector 111 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000001000000000000000000000000000000000000 -Ciphertext: D6465061FA1B143E1F6A3FCC1601D2D9FAEEF995C457E9EE301A27E8139D1AFE -Test: Encrypt -Comment: Set 2, vector 112 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000800000000000000000000000000000000000 -Ciphertext: B42BB57D2F25612AAB33EF3213D6D210D9831502A1C4D51C4E72148CBB9893D1 -Test: Encrypt -Comment: Set 2, vector 113 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000400000000000000000000000000000000000 -Ciphertext: CE0EC3C44BFAABE6E18B3506E01199B0F2E0BCA4EA6C29D367EDDD0E83A1C65F -Test: Encrypt -Comment: Set 2, vector 114 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000200000000000000000000000000000000000 -Ciphertext: 627101F50E134D6F33EF70AF0E32A3AF7C3237E3A5D99319719F175DD0392383 -Test: Encrypt -Comment: Set 2, vector 115 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000100000000000000000000000000000000000 -Ciphertext: CBCC83BE624059BD8B950BCF486AFBC342CF3575EBA6950FB39C03DB4822EDD9 -Test: Encrypt -Comment: Set 2, vector 116 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000080000000000000000000000000000000000 -Ciphertext: 5EAD7961798903C315DD89BE57105FEA164CA06A4ECDBB5CB10B76711C3E49A0 -Test: Encrypt -Comment: Set 2, vector 117 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000040000000000000000000000000000000000 -Ciphertext: 69169E6E11EAC935E12E6E30EFCEDD7236EAED9C5E1E3B215CD7167AB88B199D -Test: Encrypt -Comment: Set 2, vector 118 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000020000000000000000000000000000000000 -Ciphertext: 5B08F07728399920CA30DC57CE94CAE85A44530033B2AE6BB7F8E29D7934C437 -Test: Encrypt -Comment: Set 2, vector 119 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000010000000000000000000000000000000000 -Ciphertext: 8FAD35B4FBC3BBAB2F4BF00D8A1651BE3FD77085AC5E6C7F6E2EDF5048F86068 -Test: Encrypt -Comment: Set 2, vector 120 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000008000000000000000000000000000000000 -Ciphertext: 71B22D911D9E754A76EC052CD7DC503CDE9A16E9043A04CFA244D8EB19FC21AA -Test: Encrypt -Comment: Set 2, vector 121 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000004000000000000000000000000000000000 -Ciphertext: 062A10B7F5E3E8D7F3FC2C14E10EC9CA947A8FDC0EBC01E3A127BAFE689D6577 -Test: Encrypt -Comment: Set 2, vector 122 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000002000000000000000000000000000000000 -Ciphertext: 0FC375F0F68567F1827C7218132B434E84DA6377DB50AB330E8D9BD2754BD1B8 -Test: Encrypt -Comment: Set 2, vector 123 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000001000000000000000000000000000000000 -Ciphertext: 0E4C1117D462EEBCF5FCD7AC9807AF40C403910421CD19A4634B1C86113EB387 -Test: Encrypt -Comment: Set 2, vector 124 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000800000000000000000000000000000000 -Ciphertext: A9DB2CD2A23780D8BC5A2567961BCA24A41531157D4A229046B47DE48CAE0FDD -Test: Encrypt -Comment: Set 2, vector 125 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000400000000000000000000000000000000 -Ciphertext: 7195678F00F98B00706E7C497E5FA2BC648EDA00B4B7DFAC6234C8232DF8E071 -Test: Encrypt -Comment: Set 2, vector 126 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000200000000000000000000000000000000 -Ciphertext: E5C1970C7C0B8E7E1BF871219486359C2E5037BE6E8E637BDB9F11051FB36A16 -Test: Encrypt -Comment: Set 2, vector 127 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000100000000000000000000000000000000 -Ciphertext: 2426496DC3B09404B609157E2273D526C3E6909B82F65527B42ABDD6348CF602 -Test: Encrypt -Comment: Set 2, vector 128 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000080000000000000000000000000000000 -Ciphertext: F9870238947E1575AF11D14D12E593163B98BA12E79F05563CBFFBCFB23FDC38 -Test: Encrypt -Comment: Set 2, vector 129 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000040000000000000000000000000000000 -Ciphertext: 2B1E410ACE9E8875F965A29D90773B68CAC452AE98CEB5922B7BAD936ACC421B -Test: Encrypt -Comment: Set 2, vector 130 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000020000000000000000000000000000000 -Ciphertext: 180285A7AD7DD8FFD619970804F0FDB9706D5F5C467F815D0B1A455DED9D9300 -Test: Encrypt -Comment: Set 2, vector 131 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000010000000000000000000000000000000 -Ciphertext: BAEB5C1C68D72F1AE4735F6B75CDF9265E4F6F55DA934C4F118A3728AA2BC0D5 -Test: Encrypt -Comment: Set 2, vector 132 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000008000000000000000000000000000000 -Ciphertext: 9DEBFCC984F55E97C0064335C8A4B7489B7BDD75560EA51982114FCE4D481032 -Test: Encrypt -Comment: Set 2, vector 133 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000004000000000000000000000000000000 -Ciphertext: DF3B0B54DF4D1814A6F46B8F8B37E27AE8B9EC54B97BF9C523F1EC713EDDFFEE -Test: Encrypt -Comment: Set 2, vector 134 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000002000000000000000000000000000000 -Ciphertext: 37AA04C74A1E8ED165BC1B4C97265A32B5579D9B2A7B7C883A98B616D5C24FAE -Test: Encrypt -Comment: Set 2, vector 135 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000001000000000000000000000000000000 -Ciphertext: 83815356746186AE4CC327AB3A8CE04EF66ABD32D44D7089F1D7E301BFE006D6 -Test: Encrypt -Comment: Set 2, vector 136 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000800000000000000000000000000000 -Ciphertext: 2C6C7878E099F55653CA784A0BE4C9EC6201AFDCF99CDDC1ED862D4FE88CFDC8 -Test: Encrypt -Comment: Set 2, vector 137 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000400000000000000000000000000000 -Ciphertext: 424804513D38537C024955F2CCB29BECFD801FC06CD8EC5DE353872F0B50616F -Test: Encrypt -Comment: Set 2, vector 138 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000200000000000000000000000000000 -Ciphertext: 48C31A55ED4716825D43FF671C01A86CDD792AABF78703ADC58F5FD65B3C0DE1 -Test: Encrypt -Comment: Set 2, vector 139 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000100000000000000000000000000000 -Ciphertext: BF99E4263F2C512CDE33A91E04FACA55052444E40FF79F09716FC06D24FDDE1D -Test: Encrypt -Comment: Set 2, vector 140 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000080000000000000000000000000000 -Ciphertext: 1A40488BA16A5D0AE6381018F15ABF95C78FB05867E3D7E213CAD7BA3DC9EA3B -Test: Encrypt -Comment: Set 2, vector 141 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000040000000000000000000000000000 -Ciphertext: BEAD8979A1A485959C3E9C8BF9CCF7CF850EB205296E1E8FF8BCAFBB011FF21D -Test: Encrypt -Comment: Set 2, vector 142 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000020000000000000000000000000000 -Ciphertext: A8EDCC85F5A941B4434BD4DAD5E39EEAD102DA25BBB2C3D143572AC7425ED819 -Test: Encrypt -Comment: Set 2, vector 143 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000010000000000000000000000000000 -Ciphertext: 631126B3A837AA4C999EFE6A687BBA58751464A6395670213C8445CC8409C33F -Test: Encrypt -Comment: Set 2, vector 144 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000008000000000000000000000000000 -Ciphertext: CA4A5FD3A3D2DA973E16C0A849E374C5A293351A66415B45107BD228CB842B19 -Test: Encrypt -Comment: Set 2, vector 145 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000004000000000000000000000000000 -Ciphertext: A61FDF733DDEC4C3AE51BE778BDD6E34BED64449ABCA7A718EAA513A2A5A9014 -Test: Encrypt -Comment: Set 2, vector 146 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000002000000000000000000000000000 -Ciphertext: 2C632530E7FCD550B5F9D14E21409AFD07C7E1FBF04B3B3FEC8C61AC8A1591ED -Test: Encrypt -Comment: Set 2, vector 147 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000001000000000000000000000000000 -Ciphertext: B2D97A1D343D3D5E1A7E444BA6E57D2E5ED42E02F719ECA22BA47E796AB37B18 -Test: Encrypt -Comment: Set 2, vector 148 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000800000000000000000000000000 -Ciphertext: AC515AAC675C2C3E46A8F77578189149327413CF40B48E16BF83D3500C2B1355 -Test: Encrypt -Comment: Set 2, vector 149 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000400000000000000000000000000 -Ciphertext: C8ADC6079B92459A8E975FFFE2352A90629CF9E8D53630536D9EBC7DAC4C467E -Test: Encrypt -Comment: Set 2, vector 150 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000200000000000000000000000000 -Ciphertext: 97B2C40964B25AE5CBD092E36B37A3BB4520570A9920034C584C66600D3857D9 -Test: Encrypt -Comment: Set 2, vector 151 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000100000000000000000000000000 -Ciphertext: 99A017D3829CEFE10DDD33D33F53EA470A2A74A35ED3BED8B7E9D6EF3B790153 -Test: Encrypt -Comment: Set 2, vector 152 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000080000000000000000000000000 -Ciphertext: 6141854199F9E01CFE4A35DF918B805985ACC8F8A7456FFBF91D27D4E85E4C49 -Test: Encrypt -Comment: Set 2, vector 153 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000040000000000000000000000000 -Ciphertext: 28BC7571E7C921B31BC2D7BF55853C2CC5B815B39471907DAE152F685791378B -Test: Encrypt -Comment: Set 2, vector 154 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000020000000000000000000000000 -Ciphertext: AD751D4D9D635900C22B6166328ECD85FB4A1610D055793BF04A83CB6F5F02DB -Test: Encrypt -Comment: Set 2, vector 155 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000010000000000000000000000000 -Ciphertext: 8670009356A0A3BD402CF218664826C05BE1651C6E606C011967F8F9C3835017 -Test: Encrypt -Comment: Set 2, vector 156 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000008000000000000000000000000 -Ciphertext: 6CE35F565BC4F38D73116267C49D345B7B19D57D5C90136CAF512F76AF47FAAD -Test: Encrypt -Comment: Set 2, vector 157 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000004000000000000000000000000 -Ciphertext: FD0DF28AFE47414F99219AD120F33DCA6F8756B2264349911041B0AEC9D77A43 -Test: Encrypt -Comment: Set 2, vector 158 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000002000000000000000000000000 -Ciphertext: 49CE284D7A18A0608E5E3768286E919DE97DD81B369AB0A012AD7BDC491DED1A -Test: Encrypt -Comment: Set 2, vector 159 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000001000000000000000000000000 -Ciphertext: 12B27FEC757A809C68F670698E5CB40E762855022FC12DE2332DB9814FC6E5E2 -Test: Encrypt -Comment: Set 2, vector 160 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000800000000000000000000000 -Ciphertext: 53074884476D09C729F35C3906046C2DCBA7F12BF59CDD3CE73ABF91847C6369 -Test: Encrypt -Comment: Set 2, vector 161 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000400000000000000000000000 -Ciphertext: D29E3C55DD3D867D7263D2C961FDB6A97B8D827AB73A20479ACB06DF992AEC24 -Test: Encrypt -Comment: Set 2, vector 162 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000200000000000000000000000 -Ciphertext: 4BE421463C6F2CC8118A50684EB5FC98323EA27F03D4B98EC05727BA0FFA40E8 -Test: Encrypt -Comment: Set 2, vector 163 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000100000000000000000000000 -Ciphertext: A96EC7F07298F9D86A811D0110D60E65C80F3E913B575831A5E8533932196B24 -Test: Encrypt -Comment: Set 2, vector 164 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000080000000000000000000000 -Ciphertext: F12B579997BA4203D8A0FF36181E4C1B50C703FE32CF18D9BF84355BC404D135 -Test: Encrypt -Comment: Set 2, vector 165 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000040000000000000000000000 -Ciphertext: 35EBB3FE5FACC9B9D321E82A73C344CA05D0E73372579349A1F365DEA0105292 -Test: Encrypt -Comment: Set 2, vector 166 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000020000000000000000000000 -Ciphertext: 0F1F0518D57ADC91D810B5899EB7EE7900D05AD8AD2960FE07893F30859B636F -Test: Encrypt -Comment: Set 2, vector 167 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000010000000000000000000000 -Ciphertext: A6CAF97EF17BEFDCF3412D7F45F72C1F1726198ED3B5CD905DF9078DCD70F882 -Test: Encrypt -Comment: Set 2, vector 168 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000008000000000000000000000 -Ciphertext: E287019353E8C71C62178B3AF7A3ECA210D79F803F43C09B6C08F295367A30CA -Test: Encrypt -Comment: Set 2, vector 169 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000004000000000000000000000 -Ciphertext: CF7A7ECEA347875A7B9191BF9FFDC3FB53512052FA42370E39BF5D906EE82D4E -Test: Encrypt -Comment: Set 2, vector 170 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000002000000000000000000000 -Ciphertext: 7E362B5B5ED5CAB9A518320E498FDB915BFD72BB5C588495AC49FC2D5CEC2134 -Test: Encrypt -Comment: Set 2, vector 171 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000001000000000000000000000 -Ciphertext: 69254195C6A9A4D334F8F0558A6C9635EB8A397E5AB672E81DC194AFA5C3A8B7 -Test: Encrypt -Comment: Set 2, vector 172 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000800000000000000000000 -Ciphertext: 3934A6BA3DE9885771111CBA59D50EC684F8F612AAAE3E511C0A211D972723C4 -Test: Encrypt -Comment: Set 2, vector 173 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000400000000000000000000 -Ciphertext: BCEE40ADD3CFDE924F58786640A56A68FE83615EDD82873DF6908057AF39F74A -Test: Encrypt -Comment: Set 2, vector 174 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000200000000000000000000 -Ciphertext: 70F4E0381A989C486A45FAE5B108373E950843EE48DC2A43E7AA625BF3AC9838 -Test: Encrypt -Comment: Set 2, vector 175 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000100000000000000000000 -Ciphertext: FAED24C44DE7F447CD1169F4D8D734E55154B73F79B31AD1CD310C7F5529433A -Test: Encrypt -Comment: Set 2, vector 176 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000080000000000000000000 -Ciphertext: 887BA60DED98C75DADDC1CD0824E7E6C76D947617A919A3B870B489CD1B7F6B2 -Test: Encrypt -Comment: Set 2, vector 177 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000040000000000000000000 -Ciphertext: 33D833FFDB7BEB6BBAB4DDACA6784B88C4B76A49641AA01BC980AB31084F4351 -Test: Encrypt -Comment: Set 2, vector 178 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000020000000000000000000 -Ciphertext: 8CDEF08AB44C2CB2AB5EC94437E501A96999B30C045A79DE99E220595B95DA2F -Test: Encrypt -Comment: Set 2, vector 179 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000010000000000000000000 -Ciphertext: 029247C8EC0610E7F5B49FA4191E99CDECBC1E44DF123270901A57DE8ED64850 -Test: Encrypt -Comment: Set 2, vector 180 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000008000000000000000000 -Ciphertext: 08487E1E53C677CA34640459BDBF7C53247DD54624B9C2156A59F24A818A258E -Test: Encrypt -Comment: Set 2, vector 181 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000004000000000000000000 -Ciphertext: 2C7C0444738DB202D9236CF00E1B75F579E18CAD4341093675F66732746F8060 -Test: Encrypt -Comment: Set 2, vector 182 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000002000000000000000000 -Ciphertext: F493AF90C19A9EA6460AE35418D4857236D678B570352665092854CFF9FB684E -Test: Encrypt -Comment: Set 2, vector 183 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000001000000000000000000 -Ciphertext: 4575CF8865954F9FDCC9C2F7A41BFD52B1C770E2C7609151E41D9B1D0489500C -Test: Encrypt -Comment: Set 2, vector 184 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000800000000000000000 -Ciphertext: BA0606FA831D4EF759CF457F88B0EEDFDF13BD3ABF72547456052C877B9E3A3B -Test: Encrypt -Comment: Set 2, vector 185 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000400000000000000000 -Ciphertext: 10E979D310CAD332AA3DC860EF69B2BBD96E817BFB93393AD4D8B141C0A301E4 -Test: Encrypt -Comment: Set 2, vector 186 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000200000000000000000 -Ciphertext: B46DE2A7729FAF7CEE978353D4392EA23FE1BB36732D101377C603125125FE62 -Test: Encrypt -Comment: Set 2, vector 187 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000100000000000000000 -Ciphertext: F03E1B911C1EDD769CAD59A744FAD47CB5E19502C1E7F4F0B3197101F3B673C1 -Test: Encrypt -Comment: Set 2, vector 188 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000080000000000000000 -Ciphertext: A9128F8B0C1809095597110471DD7F10040AE71626E8C694BA529B4C9E1353A2 -Test: Encrypt -Comment: Set 2, vector 189 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000040000000000000000 -Ciphertext: B9EDCD81B2CFB461C1FC554ED71CCC958AF4B2B726C011173F4058C40211C496 -Test: Encrypt -Comment: Set 2, vector 190 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000020000000000000000 -Ciphertext: 400F0635E34B796116E3752A0EDA47C3ABC19641DDD60427B4CE3AA8700CEA8E -Test: Encrypt -Comment: Set 2, vector 191 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000010000000000000000 -Ciphertext: 0E526F1012B80F22F946FD51D776187DEFD554B1F5806102E7DD9277FE06B826 -Test: Encrypt -Comment: Set 2, vector 192 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000008000000000000000 -Ciphertext: 1FC0DA71F72D08CDD0F59120C4A88E793869A2C598BAB97C92D6C63C0FAEADA9 -Test: Encrypt -Comment: Set 2, vector 193 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000004000000000000000 -Ciphertext: C493FDECD4D49D5FC6D8590C70BEAAD97EB7694244201CA4CF1732E03D7A4251 -Test: Encrypt -Comment: Set 2, vector 194 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000002000000000000000 -Ciphertext: C532BFE04C6CA7E8B4ABFF9E8BD9C676CBC9AA78FEF4A2DC5CC907742B3ED64F -Test: Encrypt -Comment: Set 2, vector 195 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000001000000000000000 -Ciphertext: 5C8F3ECB07F0264162A9C01A6BB2BC5CF3C7B9ED315803BF86A72406C2655242 -Test: Encrypt -Comment: Set 2, vector 196 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000800000000000000 -Ciphertext: 8C13C039C13DF9C8D821D33E85AFE93EEAFCFC2A2F06D85B3BDE2743FC37AD3F -Test: Encrypt -Comment: Set 2, vector 197 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000400000000000000 -Ciphertext: 3D990835001730714D0880420F57041E37A7FAF1FCA991AA38C409C80F2DC61F -Test: Encrypt -Comment: Set 2, vector 198 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000200000000000000 -Ciphertext: EC44357D4F18EBE148B47AB546D6A5F3E08F8F6C9E2B8B6B99FF303814BF43BA -Test: Encrypt -Comment: Set 2, vector 199 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000100000000000000 -Ciphertext: 00C3B30C81FBC65B9E12C8D6429104FDF40D322D47A59E637FC8CE749725BDCC -Test: Encrypt -Comment: Set 2, vector 200 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000080000000000000 -Ciphertext: 6136C065D96E7F18AB296F86AF04BB264A6DA61DEA7C5413C9131B7EBE551B88 -Test: Encrypt -Comment: Set 2, vector 201 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000040000000000000 -Ciphertext: 2A363A08CAD79DF6A3F2DF5D842B14935C5D09C9D6C78C4989ADCB018A735A5D -Test: Encrypt -Comment: Set 2, vector 202 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000020000000000000 -Ciphertext: B25955B31CC449A42502D1AB61D699DE558BA2C7825BA06B17B239851E575880 -Test: Encrypt -Comment: Set 2, vector 203 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000010000000000000 -Ciphertext: CBE2FD81D74436E167D6A5CF8F7DC07338885146351483E4474CD213D853A6FE -Test: Encrypt -Comment: Set 2, vector 204 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000008000000000000 -Ciphertext: 66DE9DCBF2B85FF944EDD40B3D81F5F8699DB1982C045667FDE9A499A7777DD6 -Test: Encrypt -Comment: Set 2, vector 205 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000004000000000000 -Ciphertext: D940E3F69C42E847312E473E362FD609BE7780D99DAC30F8F095D58EFDC58D59 -Test: Encrypt -Comment: Set 2, vector 206 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000002000000000000 -Ciphertext: 60FBA04239A8C312E10C7773673E94678CB1E13B069759AF304C56CCA6F490DD -Test: Encrypt -Comment: Set 2, vector 207 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000001000000000000 -Ciphertext: D67E081F763F322BA82FA01E184C355A65DE8028E47BF0DB5FCAEDA8C2593F02 -Test: Encrypt -Comment: Set 2, vector 208 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000800000000000 -Ciphertext: 434868F9A6086D0F9218E02CB9534E9EEE88B90C6174A4306B0D0843A35CFDFD -Test: Encrypt -Comment: Set 2, vector 209 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000400000000000 -Ciphertext: B6CCB5899745E29FEE7870B22C2F989D84C98C4510DEA892666E187CDEF77E1A -Test: Encrypt -Comment: Set 2, vector 210 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000200000000000 -Ciphertext: E798F9255A21E0ECDC4BA638F0BF03BAA0AD7810844837582193D7FB3E11B5DF -Test: Encrypt -Comment: Set 2, vector 211 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000100000000000 -Ciphertext: 9BAE51C5C4DF9E55570EF0FE5F2C6AC0CF9FD953E65CD07ED12378BD5A0F2911 -Test: Encrypt -Comment: Set 2, vector 212 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000080000000000 -Ciphertext: 95ECC45EEDD4537D6A7D54D60A64CBFB6728982441C7EE10B7A84A80B51EE171 -Test: Encrypt -Comment: Set 2, vector 213 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000040000000000 -Ciphertext: D8D77750B38E522216DA0A1A9DB7C56788E504708A2048B66946FB83C1981FCB -Test: Encrypt -Comment: Set 2, vector 214 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000020000000000 -Ciphertext: 0CAA8435D051798DB289708EC6CC4C98F0018AB7F068FA0E40443A1F227002CD -Test: Encrypt -Comment: Set 2, vector 215 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000010000000000 -Ciphertext: 5410408C0306460E6033543669A26A63F7C7BBDFEF4273C9BAD8AC472EDAFB67 -Test: Encrypt -Comment: Set 2, vector 216 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000008000000000 -Ciphertext: DD3A0F7B61D056015B54A329882E942ECA3C5C3F64ACFE71E3255A8F53E1AD73 -Test: Encrypt -Comment: Set 2, vector 217 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000004000000000 -Ciphertext: 80A70BE4CC4C61C0F7F501E8068C75CEA78DC11A224D0C47C09D20361C99CF00 -Test: Encrypt -Comment: Set 2, vector 218 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000002000000000 -Ciphertext: BEF3417464A46BBD2B7E9FB967F4FBF406C2B5B9C8B076B770C199C003786A40 -Test: Encrypt -Comment: Set 2, vector 219 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000001000000000 -Ciphertext: C1756ADF6EEF9837B43C4B032B17A79C3A583EE37981CC495CA95893F34218A6 -Test: Encrypt -Comment: Set 2, vector 220 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000800000000 -Ciphertext: 90273FCA31968871BE3D5C76AFCB47D9ECC31A48B87988FD359E93AFF6815F4D -Test: Encrypt -Comment: Set 2, vector 221 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000400000000 -Ciphertext: D0A5F666F7A819EF8BA114C1872158179731F6989997E13AFD73DB252E5CD2A2 -Test: Encrypt -Comment: Set 2, vector 222 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000200000000 -Ciphertext: D4E3DA34C47E5A86A723ED5B9F615B283E4CD54E9F2ED9EAA98A7AB8DE41B14C -Test: Encrypt -Comment: Set 2, vector 223 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000100000000 -Ciphertext: 547227D086EBB538F5836B8E1E65601209AEB6DFD1C450C014C559D879D71862 -Test: Encrypt -Comment: Set 2, vector 224 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000080000000 -Ciphertext: 9E52F033EFE0762ED108095BDF6CD8A89F8E1028F0D3D9B39B601C1084F95F74 -Test: Encrypt -Comment: Set 2, vector 225 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000040000000 -Ciphertext: A049C5B9BD63EBEB23B34EA2F27813D29EDC044E2486D709AC7D2C731557066B -Test: Encrypt -Comment: Set 2, vector 226 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000020000000 -Ciphertext: 1A9CDD2A99C5ED7FB2A6A1870230B0BD6890567E0E4439E248548DF25CB6126E -Test: Encrypt -Comment: Set 2, vector 227 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000010000000 -Ciphertext: 41F2CDA0EFE97BCE8689CF33201B4E57E0600BBB1F274DF3D589915F8EA5C372 -Test: Encrypt -Comment: Set 2, vector 228 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000008000000 -Ciphertext: 1F4712D7AB6D127ABDA90DA977CFC60B44F84859AE4B705851CF687E01E1E250 -Test: Encrypt -Comment: Set 2, vector 229 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000004000000 -Ciphertext: DC93D915CBBC140EDB08B34406F71B4CD38274E92DE8FAF355D274AE7929BC28 -Test: Encrypt -Comment: Set 2, vector 230 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000002000000 -Ciphertext: D2D9A648EDAF9339D7EE52419CC33C42E4CA91AA670D14B78952F41F889122E5 -Test: Encrypt -Comment: Set 2, vector 231 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000001000000 -Ciphertext: F34BA77405D00CAFC3E6786CDB26263C10CDC4D6AFAEDF4C26566A51DB82F5F9 -Test: Encrypt -Comment: Set 2, vector 232 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000800000 -Ciphertext: 21A7EAD6D95FC7AB788206CEA15A25CC4AEB69BAA96C78D5E2851DDBA25523F0 -Test: Encrypt -Comment: Set 2, vector 233 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000400000 -Ciphertext: 822BC3900195E6F224805E77B2460A65FA1A11CFD473F1DFA65351CBB4EFDFEB -Test: Encrypt -Comment: Set 2, vector 234 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000200000 -Ciphertext: 648A71BE1E77866181F980B37690D5C8A37DF29BB2EBC3A41665CD0CCC2E8EF8 -Test: Encrypt -Comment: Set 2, vector 235 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000100000 -Ciphertext: 808E32C933955FF7C8D6F1A4C6754CB3B7311612CFF846D02C81B712C78EB63E -Test: Encrypt -Comment: Set 2, vector 236 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000080000 -Ciphertext: E074251CC7C5BFFCE2CA45933206B2EE8864156A4626C03EA030B71F8BD454BE -Test: Encrypt -Comment: Set 2, vector 237 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000040000 -Ciphertext: 72EBE213A06F63603B49A750808F348FF7C9E4EC72884FDA7C58968EC5A25EED -Test: Encrypt -Comment: Set 2, vector 238 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000020000 -Ciphertext: 20618612C2AF418DE3E185AF7973D508DC31DE1E9D9FB4FDF9E95FD592F567EF -Test: Encrypt -Comment: Set 2, vector 239 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000010000 -Ciphertext: F94C66D4884A657BF0A6A6EA31A90A07F193F55465575FF1BF8DE68F3441BF4E -Test: Encrypt -Comment: Set 2, vector 240 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000008000 -Ciphertext: 9636DCAB40FB991FC330D8EFD671FF83BAA0C9E33D7A146D5E7ADC53592B605F -Test: Encrypt -Comment: Set 2, vector 241 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000004000 -Ciphertext: FC21689B5F46A011ECFE1E314E03ED7105BAC620193714B2290087C17FB763B6 -Test: Encrypt -Comment: Set 2, vector 242 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000002000 -Ciphertext: ABD2583E0FCC95122FDC700AF9B1FDA50D91E752E19BE9D2EE4F5E22033D53C6 -Test: Encrypt -Comment: Set 2, vector 243 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000001000 -Ciphertext: 3501CD56EE5EA39AB32F38371E5C2CF6EEEB9DA82D210A8D88AE8F29917AE9F4 -Test: Encrypt -Comment: Set 2, vector 244 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000800 -Ciphertext: 7559A2AA6CBFA8A181565EDDDE323DB80CE740545FFEE13B4851980AD2451E24 -Test: Encrypt -Comment: Set 2, vector 245 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000400 -Ciphertext: CEF6DBFD1FBCCBB587BD748D6CC992F8EF671A829E2D6AD73D1DC1C1B2A9E8DD -Test: Encrypt -Comment: Set 2, vector 246 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000200 -Ciphertext: 46FBBCD26A1F879746BDF4FF7804A5C105F621837ABCF94F17123B700A58A08A -Test: Encrypt -Comment: Set 2, vector 247 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000100 -Ciphertext: 0B10D2DA0E0FB6F067D641FF7F8C9C8FF4E2D689450787B7136ADF38DC1F2948 -Test: Encrypt -Comment: Set 2, vector 248 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000080 -Ciphertext: 4492E09E73459BF74417FC0D7190DA719A891C9CAE14801944FFB24912E377A8 -Test: Encrypt -Comment: Set 2, vector 249 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000040 -Ciphertext: 76D72C3D3AF6F2FF6AFBC0C1A553E6F8171D81D6BB1CB3C3A6C43ED826A88FAA -Test: Encrypt -Comment: Set 2, vector 250 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000020 -Ciphertext: D912041134584B69AC01938EC88913DBCFF7CDBE93CDF7443BD465F1B2E3F7F5 -Test: Encrypt -Comment: Set 2, vector 251 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000010 -Ciphertext: F0883EB64A5345CC9A0055D4E882D199EFFC334C05B53BC4132AC1A51BA39A9F -Test: Encrypt -Comment: Set 2, vector 252 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000008 -Ciphertext: 276246B0D93A4E6FF05832F51D2BF60641B63594EB90A1E08A7D98C6DDAE1461 -Test: Encrypt -Comment: Set 2, vector 253 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000004 -Ciphertext: 6AA2B04BF65F4213583CED5347537123DC3BE0703209170D1D34B0B8A66C1C58 -Test: Encrypt -Comment: Set 2, vector 254 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000002 -Ciphertext: DC438414927E453DBFD91DC60C635EE4273A9921A134DB513AB2BBDBAE64A9AD -Test: Encrypt -Comment: Set 2, vector 255 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000001 -Ciphertext: 45D43E9288738C5AD1A683D8DE59CEDD22D666A2B7078EB1301B532A272D570B -Test: Encrypt -Comment: Set 3, vector 0 -Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext: 7CA51614425C3BA8CE54DD2FC2020AE7B6E574D198136D0FAE7E26CCBF0BE7A6 -Test: Encrypt -Comment: Set 3, vector 1 -Key: 01010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101 -Plaintext: 0101010101010101010101010101010101010101010101010101010101010101 -Ciphertext: C4B7C6A9738C77EE28F7E685C8358E0AF88FB6D23955EE6DF49FE3F5DA16F826 -Test: Encrypt -Comment: Set 3, vector 2 -Key: 02020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202 -Plaintext: 0202020202020202020202020202020202020202020202020202020202020202 -Ciphertext: CD108DD9EC1000B79C75AA3DCC88F913E6F52773853035A5C44F3245B134CBFF -Test: Encrypt -Comment: Set 3, vector 3 -Key: 03030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303 -Plaintext: 0303030303030303030303030303030303030303030303030303030303030303 -Ciphertext: E8F9DE8F066B675AE90C919FC4981603485BBB92382D8C844CAF707973D5276D -Test: Encrypt -Comment: Set 3, vector 4 -Key: 04040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404 -Plaintext: 0404040404040404040404040404040404040404040404040404040404040404 -Ciphertext: 6AA777340200C1B65AB25193A8BB267C233DAC7E1B3C523D406FC5B567B7B586 -Test: Encrypt -Comment: Set 3, vector 5 -Key: 05050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505 -Plaintext: 0505050505050505050505050505050505050505050505050505050505050505 -Ciphertext: 6B14A9C454143376DBDC3C93FB8096B09C01456B0B55412FD9692CD7CB587069 -Test: Encrypt -Comment: Set 3, vector 6 -Key: 06060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606 -Plaintext: 0606060606060606060606060606060606060606060606060606060606060606 -Ciphertext: 3FED53DEF4FBC1D012B36562132AB40049818DA4E62E86716DE5EF70790B0D6A -Test: Encrypt -Comment: Set 3, vector 7 -Key: 07070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707 -Plaintext: 0707070707070707070707070707070707070707070707070707070707070707 -Ciphertext: 7A428F7A6841BC8F0E99335C5021C413D2639321DC8D9F280A2F0EF4B420A212 -Test: Encrypt -Comment: Set 3, vector 8 -Key: 08080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808 -Plaintext: 0808080808080808080808080808080808080808080808080808080808080808 -Ciphertext: A23BE32D37FA4054EC45D6A9CC643AF9124EDAA4AD9ABC7FAAB449D39D11B128 -Test: Encrypt -Comment: Set 3, vector 9 -Key: 09090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909 -Plaintext: 0909090909090909090909090909090909090909090909090909090909090909 -Ciphertext: 972195D6756F7D3A4D13BF49BFBCE7D164460355150C297A41CCC6AA9F31C5D6 -Test: Encrypt -Comment: Set 3, vector 10 -Key: 0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A -Plaintext: 0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A -Ciphertext: 2AA722C58EBDB7701225BA9C3B1F7C946D57DEDC74FEDDB637EB14E27A0F0CC9 -Test: Encrypt -Comment: Set 3, vector 11 -Key: 0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B -Plaintext: 0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B -Ciphertext: 1C9A0420B9F6EF013FB3ADB4F20C862B61702BA479276E3187322B33D4B128C2 -Test: Encrypt -Comment: Set 3, vector 12 -Key: 0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C -Plaintext: 0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C -Ciphertext: 666CC3862BAACADA4D35A9079D52438FB3B4416C9938397E61D48066B6476068 -Test: Encrypt -Comment: Set 3, vector 13 -Key: 0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D -Plaintext: 0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D -Ciphertext: DB94504EF884901FAA5778199329A2DCC9AA50A4453172CE8ADE11BFE54234E9 -Test: Encrypt -Comment: Set 3, vector 14 -Key: 0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E -Plaintext: 0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E -Ciphertext: DF0B4204DB7E0924BD2931C131E6DFEB013A5844F717DF7A2DEF86FBC2125DA6 -Test: Encrypt -Comment: Set 3, vector 15 -Key: 0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F -Plaintext: 0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F -Ciphertext: D7C2D4257254E7A05657047B43B65AB778C9E6ACDE53F14000FDFC346CEE4BA6 -Test: Encrypt -Comment: Set 3, vector 16 -Key: 10101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010 -Plaintext: 1010101010101010101010101010101010101010101010101010101010101010 -Ciphertext: F64819DFBEBE0A6DB650E7072CE28EA606586418B317785FF0AD44212A84C82C -Test: Encrypt -Comment: Set 3, vector 17 -Key: 11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 -Plaintext: 1111111111111111111111111111111111111111111111111111111111111111 -Ciphertext: 155B7E6FFCC0AA874E22494545374E97C08A3D1B1045A0F35FFC54B2842D02A4 -Test: Encrypt -Comment: Set 3, vector 18 -Key: 12121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212 -Plaintext: 1212121212121212121212121212121212121212121212121212121212121212 -Ciphertext: FEE12FD9E87DCB4FE5C5249E3EAEDA0514F6A4826C1A5ABC87E22B95D4A84851 -Test: Encrypt -Comment: Set 3, vector 19 -Key: 13131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313 -Plaintext: 1313131313131313131313131313131313131313131313131313131313131313 -Ciphertext: 1DA785C2A2CEFED459474EE5401F5B795F6ED468DBB924CFFCF65EF465DE9534 -Test: Encrypt -Comment: Set 3, vector 20 -Key: 14141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414 -Plaintext: 1414141414141414141414141414141414141414141414141414141414141414 -Ciphertext: 4434A4D83273B06B64AF4ED1D70EEAD50DBFC44C5931A7B7B98FF9F514B229E9 -Test: Encrypt -Comment: Set 3, vector 21 -Key: 15151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515 -Plaintext: 1515151515151515151515151515151515151515151515151515151515151515 -Ciphertext: 1AB982A6C64C2C42D05F9FB8ED9BE0EEB5B48CEE8EAB0250D98D43157E999EDC -Test: Encrypt -Comment: Set 3, vector 22 -Key: 16161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616 -Plaintext: 1616161616161616161616161616161616161616161616161616161616161616 -Ciphertext: 83291A3265ACAB71E5CCCF0281A433579F39AE6C2FB7CB7528D7F820158177FF -Test: Encrypt -Comment: Set 3, vector 23 -Key: 17171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717 -Plaintext: 1717171717171717171717171717171717171717171717171717171717171717 -Ciphertext: 90F1FF9F69854321CFC6D0A4541CCDF73C1A1DC737D96FB76F0DDD0BB0097BBA -Test: Encrypt -Comment: Set 3, vector 24 -Key: 18181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818 -Plaintext: 1818181818181818181818181818181818181818181818181818181818181818 -Ciphertext: ABF9813765AFBEA9BF26026716294D5C5B309243339ECC9F21CEADE6E7083266 -Test: Encrypt -Comment: Set 3, vector 25 -Key: 19191919191919191919191919191919191919191919191919191919191919191919191919191919191919191919191919191919191919191919191919191919 -Plaintext: 1919191919191919191919191919191919191919191919191919191919191919 -Ciphertext: 7B5C8222D85392E82E703ADFB0FF02DBD2297791B84E26A3A1ED12309247D064 -Test: Encrypt -Comment: Set 3, vector 26 -Key: 1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A -Plaintext: 1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A -Ciphertext: 227355246FCC9106FA5572475E8C466F1140CD75A8A84DFCD2B0908392914FD7 -Test: Encrypt -Comment: Set 3, vector 27 -Key: 1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B -Plaintext: 1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B -Ciphertext: E5E5A887FA888691FF93014C2E368DC10775A447A5EF4B632A089DA82D245BE3 -Test: Encrypt -Comment: Set 3, vector 28 -Key: 1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C -Plaintext: 1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C -Ciphertext: BA417FC94107761C0969EF6EA7DDC74E5F85CAB61E2271CEB6D9C98B139F4576 -Test: Encrypt -Comment: Set 3, vector 29 -Key: 1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D -Plaintext: 1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D -Ciphertext: F3B85912DF6950B9AE28CE08E456D494E0C949A36FA102540C51827AEC9168AB -Test: Encrypt -Comment: Set 3, vector 30 -Key: 1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E -Plaintext: 1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E -Ciphertext: 1AC0ED993D24366380522B05F97B6FC64B199241A1D556B992632AEE400F0494 -Test: Encrypt -Comment: Set 3, vector 31 -Key: 1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F -Plaintext: 1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F -Ciphertext: 3550CD591130231B0F01F6860B699715B98B9497B4035C7323000D67C5F0B1B7 -Test: Encrypt -Comment: Set 3, vector 32 -Key: 20202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020 -Plaintext: 2020202020202020202020202020202020202020202020202020202020202020 -Ciphertext: E267D6113C27170A3EE6DF496E801A6131BBD3444365D7C03791E25610F1A0E4 -Test: Encrypt -Comment: Set 3, vector 33 -Key: 21212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121 -Plaintext: 2121212121212121212121212121212121212121212121212121212121212121 -Ciphertext: 3D71B778381E70BCC1A7B8411208225FC922857E862FC17312E3782CEA289B15 -Test: Encrypt -Comment: Set 3, vector 34 -Key: 22222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222 -Plaintext: 2222222222222222222222222222222222222222222222222222222222222222 -Ciphertext: 16B41DE00DBF29B96CC59E246DE3188B786E097394E9EEE2250169AE00306FD8 -Test: Encrypt -Comment: Set 3, vector 35 -Key: 23232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323 -Plaintext: 2323232323232323232323232323232323232323232323232323232323232323 -Ciphertext: 99DDE88C9F26D270B3C507A25FE49955A0FEA6C8FEBAD133842DA1CE730EEB7F -Test: Encrypt -Comment: Set 3, vector 36 -Key: 24242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424 -Plaintext: 2424242424242424242424242424242424242424242424242424242424242424 -Ciphertext: 9766D3F9E73987EE10A20605C8338C0759A7024CF2DF549DE5084EC4902C550A -Test: Encrypt -Comment: Set 3, vector 37 -Key: 25252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525 -Plaintext: 2525252525252525252525252525252525252525252525252525252525252525 -Ciphertext: 0FFD89849C8EC5A46B8F43C799ED305AF602C73E810FC729A8C9BB0F5C55CD54 -Test: Encrypt -Comment: Set 3, vector 38 -Key: 26262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626 -Plaintext: 2626262626262626262626262626262626262626262626262626262626262626 -Ciphertext: 91956E101CE4546623A5BE49811F167476CB568972CEBF7A59EB27DA524A0C6B -Test: Encrypt -Comment: Set 3, vector 39 -Key: 27272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727 -Plaintext: 2727272727272727272727272727272727272727272727272727272727272727 -Ciphertext: 7DEC5ECE0D590EE3E099C07F2DD6A6A9C71632D277803FD007275B93369ABED0 -Test: Encrypt -Comment: Set 3, vector 40 -Key: 28282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828 -Plaintext: 2828282828282828282828282828282828282828282828282828282828282828 -Ciphertext: 039C192AFC54EFDE1ED3610B0E9F95AA08D7CDC6AE71A66B5C508E4D14C038CF -Test: Encrypt -Comment: Set 3, vector 41 -Key: 29292929292929292929292929292929292929292929292929292929292929292929292929292929292929292929292929292929292929292929292929292929 -Plaintext: 2929292929292929292929292929292929292929292929292929292929292929 -Ciphertext: D558F8F4562BD8FE816FABF621556C8416C6FD00209028DF978F8915CC093E16 -Test: Encrypt -Comment: Set 3, vector 42 -Key: 2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A -Plaintext: 2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A -Ciphertext: 1AE21791ED4B610DD693012518759D6E9C1BBF206482EEA43470F02B493CFFB8 -Test: Encrypt -Comment: Set 3, vector 43 -Key: 2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B -Plaintext: 2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B -Ciphertext: 34F2112E8FBD1B373BA8400B05321F658FDFE0DC87C1304C36766DE71840A4DF -Test: Encrypt -Comment: Set 3, vector 44 -Key: 2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C -Plaintext: 2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C -Ciphertext: DBF9B56BBF2E50DF321CA687F8BE0E6222E7DF52B4A142174058CC119D9EC0DA -Test: Encrypt -Comment: Set 3, vector 45 -Key: 2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D -Plaintext: 2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D -Ciphertext: 8B2757374F778FE0B30D11AD7116CE37E2AB858A4E1C50D1115B6E328F3635F5 -Test: Encrypt -Comment: Set 3, vector 46 -Key: 2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E -Plaintext: 2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E -Ciphertext: 06588A873366FAA47323C9A098A759718DFB0E310C91A4E38B42CC56A0757811 -Test: Encrypt -Comment: Set 3, vector 47 -Key: 2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F -Plaintext: 2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F -Ciphertext: 7B861B18E3F322D8000BDDCBCE3B50405AA923375568F16AE84411E91DB879C3 -Test: Encrypt -Comment: Set 3, vector 48 -Key: 30303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030 -Plaintext: 3030303030303030303030303030303030303030303030303030303030303030 -Ciphertext: 170F74A4D692C302551EE17CD544D65185112D2A5E812D203B36FC39BF1DA9C7 -Test: Encrypt -Comment: Set 3, vector 49 -Key: 31313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131 -Plaintext: 3131313131313131313131313131313131313131313131313131313131313131 -Ciphertext: 0178F59DDAB05A4DFAF66FD406170E08227096EF9712CB481A26EBD82F470D7A -Test: Encrypt -Comment: Set 3, vector 50 -Key: 32323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232 -Plaintext: 3232323232323232323232323232323232323232323232323232323232323232 -Ciphertext: 8BAC479F3A92DF71F973AA457E19D75FB0F1A0FE68FF440A86154721BCC345D4 -Test: Encrypt -Comment: Set 3, vector 51 -Key: 33333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333 -Plaintext: 3333333333333333333333333333333333333333333333333333333333333333 -Ciphertext: EB50A10C7A0ED9960CDE0C3EDB899A6B67324B1EE23DE4BB13F60D187C3CBA35 -Test: Encrypt -Comment: Set 3, vector 52 -Key: 34343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434 -Plaintext: 3434343434343434343434343434343434343434343434343434343434343434 -Ciphertext: 00AA782AC61FD06DC781E3C5662C65BD1043EC28D056C98F07074DA7C11C1E1F -Test: Encrypt -Comment: Set 3, vector 53 -Key: 35353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535 -Plaintext: 3535353535353535353535353535353535353535353535353535353535353535 -Ciphertext: 23B9F2F26CFC51ECC6DD1AFE614C2DAE8348DA033F9B67AEAA87B71F5377D95D -Test: Encrypt -Comment: Set 3, vector 54 -Key: 36363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636 -Plaintext: 3636363636363636363636363636363636363636363636363636363636363636 -Ciphertext: 9655D4B1CBEF855401274C3339C16DB9B5A9651F60579CFE8554B6EE25DCCA0E -Test: Encrypt -Comment: Set 3, vector 55 -Key: 37373737373737373737373737373737373737373737373737373737373737373737373737373737373737373737373737373737373737373737373737373737 -Plaintext: 3737373737373737373737373737373737373737373737373737373737373737 -Ciphertext: E072ED2DAD79B07C48B50ED31E02FD9705562525D49DBF45DACCFDF35D5A6965 -Test: Encrypt -Comment: Set 3, vector 56 -Key: 38383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838 -Plaintext: 3838383838383838383838383838383838383838383838383838383838383838 -Ciphertext: 287638BAE945B88A95029155BC47D033B5C5C4C191F079C234C6E97683FFABA0 -Test: Encrypt -Comment: Set 3, vector 57 -Key: 39393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939 -Plaintext: 3939393939393939393939393939393939393939393939393939393939393939 -Ciphertext: 500CD3B02BF6FA8C66D1ADE0CE43B325A759CD3426096084A261F054D798F885 -Test: Encrypt -Comment: Set 3, vector 58 -Key: 3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A -Plaintext: 3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A -Ciphertext: 17614BAB583F2DCF809A2AEE973A4875251B571525521B3A8C47303450B6301F -Test: Encrypt -Comment: Set 3, vector 59 -Key: 3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B -Plaintext: 3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B -Ciphertext: 978C8DFD9AC74FF670CC8B31EDC8EC15DDBC2854375ED9BA07BB0F7B96C70BB3 -Test: Encrypt -Comment: Set 3, vector 60 -Key: 3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C -Plaintext: 3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C -Ciphertext: 994CA36F6230C7DB63CAD61342FAB3F155C361DAD458FC457AD09ACCAB2EB43F -Test: Encrypt -Comment: Set 3, vector 61 -Key: 3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D -Plaintext: 3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D -Ciphertext: AC06659932208AC1DD5F07448A7407232F1410CDAC92F7C5305C4043C559345F -Test: Encrypt -Comment: Set 3, vector 62 -Key: 3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E -Plaintext: 3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E -Ciphertext: B55616F0743A29655FEC468CD30C8C65F7925327665670BA9E41A2E09C05C63B -Test: Encrypt -Comment: Set 3, vector 63 -Key: 3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F -Plaintext: 3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F -Ciphertext: 78F4852712C3547547A114E73F52C6128EDD3F29E0B2C938D6F9F69AF2303FD2 -Test: Encrypt -Comment: Set 3, vector 64 -Key: 40404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040 -Plaintext: 4040404040404040404040404040404040404040404040404040404040404040 -Ciphertext: C97909916EE86FFDCE8A92903046109B53F788A53039434DF1A394DAD6F697A2 -Test: Encrypt -Comment: Set 3, vector 65 -Key: 41414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141 -Plaintext: 4141414141414141414141414141414141414141414141414141414141414141 -Ciphertext: C3FD3C59D37D44AF9EE6B87AC0939A4A4B2FBAAC23E80E72B1CAC352FE30A8E2 -Test: Encrypt -Comment: Set 3, vector 66 -Key: 42424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242 -Plaintext: 4242424242424242424242424242424242424242424242424242424242424242 -Ciphertext: 94C70F7654479BC9DA9854129F57F3E69C31B63900A404F577AF1C83CD96E5D6 -Test: Encrypt -Comment: Set 3, vector 67 -Key: 43434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343 -Plaintext: 4343434343434343434343434343434343434343434343434343434343434343 -Ciphertext: 71DD024E9CE700B373A275AA870A68B5DAD9E47D38BC18F34073319041A1CADF -Test: Encrypt -Comment: Set 3, vector 68 -Key: 44444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444 -Plaintext: 4444444444444444444444444444444444444444444444444444444444444444 -Ciphertext: 274D101B2BD0E7CAFC9E5559DC68567DC8975056B84573C4294D78513B7406D8 -Test: Encrypt -Comment: Set 3, vector 69 -Key: 45454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545 -Plaintext: 4545454545454545454545454545454545454545454545454545454545454545 -Ciphertext: 8DCE5B5C376E42F11A322D8CBCEB8C0AE1EC24F3C65D72B326708FEAF13E3B51 -Test: Encrypt -Comment: Set 3, vector 70 -Key: 46464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646 -Plaintext: 4646464646464646464646464646464646464646464646464646464646464646 -Ciphertext: D62D3BA9BBD23F4424EB929AE7A4CD83A70FA7EFD2E6CCFED23E1176AFDB69CD -Test: Encrypt -Comment: Set 3, vector 71 -Key: 47474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747 -Plaintext: 4747474747474747474747474747474747474747474747474747474747474747 -Ciphertext: FE7670925FEA3AAE1F039590EA230C094C3E434BF1350B12D4EA26E48A6EF7F0 -Test: Encrypt -Comment: Set 3, vector 72 -Key: 48484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848 -Plaintext: 4848484848484848484848484848484848484848484848484848484848484848 -Ciphertext: 3A57E728BFA31AA36C8E4ED38A34B465BA233AD066225F31651C93B870AAFE6D -Test: Encrypt -Comment: Set 3, vector 73 -Key: 49494949494949494949494949494949494949494949494949494949494949494949494949494949494949494949494949494949494949494949494949494949 -Plaintext: 4949494949494949494949494949494949494949494949494949494949494949 -Ciphertext: 3B56014035A28EA6F2F2B09429FED7FC0F5B76D5458F1EB4F3AAA7E7F6610C65 -Test: Encrypt -Comment: Set 3, vector 74 -Key: 4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A -Plaintext: 4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A -Ciphertext: 2D28A28ECABAC61B540CD933BE43AF16F11429EDE8E7B62121CD853054363730 -Test: Encrypt -Comment: Set 3, vector 75 -Key: 4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B -Plaintext: 4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B -Ciphertext: D8A892E3C24C6A2EB8446B3737A0E3AA1478811B819FFD3440B5307185906518 -Test: Encrypt -Comment: Set 3, vector 76 -Key: 4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C -Plaintext: 4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C -Ciphertext: 798AD5E43127299B61247059F508268CDBA78B46D4FD28C200AE1052C52294E7 -Test: Encrypt -Comment: Set 3, vector 77 -Key: 4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D -Plaintext: 4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D -Ciphertext: 63F43065BA1F262D950219D71B9CD5FA78D6798BCAA981FE3391FF8EA735E4C7 -Test: Encrypt -Comment: Set 3, vector 78 -Key: 4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E -Plaintext: 4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E -Ciphertext: E8E461EB5FD98011A37765ECA336B080D58B35C636AD6F423893EE768913255C -Test: Encrypt -Comment: Set 3, vector 79 -Key: 4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F -Plaintext: 4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F -Ciphertext: 7348E30FFC0C4F5569B6490622A34FB015C364944553582355887BC472279E8D -Test: Encrypt -Comment: Set 3, vector 80 -Key: 50505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050 -Plaintext: 5050505050505050505050505050505050505050505050505050505050505050 -Ciphertext: BE28CB05EEEEDA8FD8971E9970ECBCA25856F66E95AC8B987C69F04BE3276CD7 -Test: Encrypt -Comment: Set 3, vector 81 -Key: 51515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151 -Plaintext: 5151515151515151515151515151515151515151515151515151515151515151 -Ciphertext: 5D336C5E34D4EB95CFAB87C542C72A748AA45E7F77D841A738017927C7908804 -Test: Encrypt -Comment: Set 3, vector 82 -Key: 52525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252 -Plaintext: 5252525252525252525252525252525252525252525252525252525252525252 -Ciphertext: 2942A594A7964F41460EB6037DDE2C28FFBFFB3C21F7EFF43F06632DA980ED8B -Test: Encrypt -Comment: Set 3, vector 83 -Key: 53535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353 -Plaintext: 5353535353535353535353535353535353535353535353535353535353535353 -Ciphertext: 1C0F7A4E3147BC7F8150D8144ED31D0054FF15414E5DBF289BFEC160D22684AC -Test: Encrypt -Comment: Set 3, vector 84 -Key: 54545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454 -Plaintext: 5454545454545454545454545454545454545454545454545454545454545454 -Ciphertext: 7931C7B9D78CB50610B1BEF596268B94446FCDA44C3EE7CEE53121AC519C4001 -Test: Encrypt -Comment: Set 3, vector 85 -Key: 55555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555 -Plaintext: 5555555555555555555555555555555555555555555555555555555555555555 -Ciphertext: F4E331C357C603EE5ED5547D75B54631A68D7CD74C5075198D0FC38E5661F556 -Test: Encrypt -Comment: Set 3, vector 86 -Key: 56565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656 -Plaintext: 5656565656565656565656565656565656565656565656565656565656565656 -Ciphertext: 378C2887958E31971E8F59C882730E48407E4DA9C26D4C76B672CD53202AB1B8 -Test: Encrypt -Comment: Set 3, vector 87 -Key: 57575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757 -Plaintext: 5757575757575757575757575757575757575757575757575757575757575757 -Ciphertext: DBE68FE249F4A8D36E1CB49DBE20ED58649CCC502F85895875C1FE82269219DA -Test: Encrypt -Comment: Set 3, vector 88 -Key: 58585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858 -Plaintext: 5858585858585858585858585858585858585858585858585858585858585858 -Ciphertext: 103BD780F3B382C4B28E6E1CB41CBEE22CC1BB64E4A0147D658EDA96A6E7FEAB -Test: Encrypt -Comment: Set 3, vector 89 -Key: 59595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959 -Plaintext: 5959595959595959595959595959595959595959595959595959595959595959 -Ciphertext: 382EF838282E0F4BA729083542BB8CB48AB874FF568DFDA56AFC4ED266DD3243 -Test: Encrypt -Comment: Set 3, vector 90 -Key: 5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A -Plaintext: 5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A -Ciphertext: 088665DE8F9DC9298DEF4164C12526597F56859AAC2C96A95645A06014BA689A -Test: Encrypt -Comment: Set 3, vector 91 -Key: 5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B -Plaintext: 5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B -Ciphertext: EC988946646A1B2DCC7EDEC4FCAB11BF29055A226F4C75D28F9DFB8D2EB5C9B6 -Test: Encrypt -Comment: Set 3, vector 92 -Key: 5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C -Plaintext: 5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C -Ciphertext: B77221CE7F68292BD4E3A55E8EC7BD1FC68B1B6B02F1008586248833C1089F5C -Test: Encrypt -Comment: Set 3, vector 93 -Key: 5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D -Plaintext: 5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D -Ciphertext: B3E4AA5DE6D25A6237FDD97540191D669C64E54A7D3C544E949489355AFC82B5 -Test: Encrypt -Comment: Set 3, vector 94 -Key: 5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E -Plaintext: 5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E -Ciphertext: AAA6FA046AC4270B22A742C4C29445EB38511E5048414886EBF39523B7EAF76A -Test: Encrypt -Comment: Set 3, vector 95 -Key: 5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F -Plaintext: 5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F -Ciphertext: 4D23440171778573BE7B515C68FA99D0426A32111CA493337E7C55280A90F697 -Test: Encrypt -Comment: Set 3, vector 96 -Key: 60606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060 -Plaintext: 6060606060606060606060606060606060606060606060606060606060606060 -Ciphertext: 8EE711FB281CBAA99917C85F0623B68E2EDAFEFCC3B1B841883D71BA6683568A -Test: Encrypt -Comment: Set 3, vector 97 -Key: 61616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161 -Plaintext: 6161616161616161616161616161616161616161616161616161616161616161 -Ciphertext: EC29DAE53DB4475F8900311F425FE60CB834A82F2A6A2DB4810F95F4D6991B84 -Test: Encrypt -Comment: Set 3, vector 98 -Key: 62626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262 -Plaintext: 6262626262626262626262626262626262626262626262626262626262626262 -Ciphertext: 91E58DDE741553572B5D6F3DAD25953906424FF217497226746A25C0CE1C7D0F -Test: Encrypt -Comment: Set 3, vector 99 -Key: 63636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363 -Plaintext: 6363636363636363636363636363636363636363636363636363636363636363 -Ciphertext: B6EC4D9421AB011D4EEDBC32B289E45AC44CAEB1DC5FAEA752DFFA0137325067 -Test: Encrypt -Comment: Set 3, vector 100 -Key: 64646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464 -Plaintext: 6464646464646464646464646464646464646464646464646464646464646464 -Ciphertext: D9CB13EA06CADF09AC446F9B09553FFE3BF4F1152997B171C03E609D4BD60ADB -Test: Encrypt -Comment: Set 3, vector 101 -Key: 65656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565 -Plaintext: 6565656565656565656565656565656565656565656565656565656565656565 -Ciphertext: 2D07CA161326ED154D9E3FF650963557EC369A91ABB0D49FC1F32AEF39A3B12E -Test: Encrypt -Comment: Set 3, vector 102 -Key: 66666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666 -Plaintext: 6666666666666666666666666666666666666666666666666666666666666666 -Ciphertext: 28E8B606EE621D2C5B865B8208C7BD40C3596931CE3FF8FA5AD7EB8EE4480E95 -Test: Encrypt -Comment: Set 3, vector 103 -Key: 67676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767 -Plaintext: 6767676767676767676767676767676767676767676767676767676767676767 -Ciphertext: 9B9B3A23DA29539DA1E9BAA20449750EC192CE14A5063E1A2FFAF5039A665754 -Test: Encrypt -Comment: Set 3, vector 104 -Key: 68686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868 -Plaintext: 6868686868686868686868686868686868686868686868686868686868686868 -Ciphertext: D770E305A9C2D257759D8AE9E70C408D1CB090F976BBAFF3A56730A78BA8BF4F -Test: Encrypt -Comment: Set 3, vector 105 -Key: 69696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969 -Plaintext: 6969696969696969696969696969696969696969696969696969696969696969 -Ciphertext: 453988B10DFD852D1AFD11E96C50024571CCB0F19E7C3C4981F8B8BDCD11F720 -Test: Encrypt -Comment: Set 3, vector 106 -Key: 6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A -Plaintext: 6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A -Ciphertext: 17DFD98CB5C24610DD631C4E2749A679D68F854F21AABE8BF67605A256452AD8 -Test: Encrypt -Comment: Set 3, vector 107 -Key: 6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B -Plaintext: 6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B -Ciphertext: DA260145EC80E19C18685540AC71FA460DD4427168E37BC6E0F967D90C306FBB -Test: Encrypt -Comment: Set 3, vector 108 -Key: 6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C -Plaintext: 6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C -Ciphertext: 2AC246E2E384ECCC4BC69CE82EDB51C05DD864642F1E9A572DA6043DD1D56DF0 -Test: Encrypt -Comment: Set 3, vector 109 -Key: 6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D -Plaintext: 6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D -Ciphertext: D1A06B820071CC4122F0B0797A294F31922E26703CDEF15A6D8F511CDBD8BD3F -Test: Encrypt -Comment: Set 3, vector 110 -Key: 6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E -Plaintext: 6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E -Ciphertext: C8D23274A1FF6AEBDF0BA70FBA7A895277B1CC8040F8FB2814195E3A7E85BD01 -Test: Encrypt -Comment: Set 3, vector 111 -Key: 6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F -Plaintext: 6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F -Ciphertext: E0133DC7960953BABC7BFBA52E88DCF86EBD979D6D63EB19466EEADEDEDEEBB3 -Test: Encrypt -Comment: Set 3, vector 112 -Key: 70707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070 -Plaintext: 7070707070707070707070707070707070707070707070707070707070707070 -Ciphertext: A1A9527766EE54D566D97E7A0763A5AECE86F2816411AC2066439D6BDF02FEA7 -Test: Encrypt -Comment: Set 3, vector 113 -Key: 71717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171 -Plaintext: 7171717171717171717171717171717171717171717171717171717171717171 -Ciphertext: E1833EF5C2BA2EF192642164F0F2C02A7334EF5AEA37E9DD56D17AE6CB031004 -Test: Encrypt -Comment: Set 3, vector 114 -Key: 72727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272 -Plaintext: 7272727272727272727272727272727272727272727272727272727272727272 -Ciphertext: DD2CC0EECAA7E5364376FA73E12C64A0C42FB9FC7E94EFF0B22A051D6EDFE905 -Test: Encrypt -Comment: Set 3, vector 115 -Key: 73737373737373737373737373737373737373737373737373737373737373737373737373737373737373737373737373737373737373737373737373737373 -Plaintext: 7373737373737373737373737373737373737373737373737373737373737373 -Ciphertext: 9A72F15B911E6A50A32EEEDF83B62B628E37ED403085180571DEBEA2F37CF49F -Test: Encrypt -Comment: Set 3, vector 116 -Key: 74747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474 -Plaintext: 7474747474747474747474747474747474747474747474747474747474747474 -Ciphertext: CD83CE7861EE8259A9C29BC3870EA1BF629ECD31F2E18F0BC12221F239207457 -Test: Encrypt -Comment: Set 3, vector 117 -Key: 75757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575 -Plaintext: 7575757575757575757575757575757575757575757575757575757575757575 -Ciphertext: 7B4218C5AEA4EEFE17E2AB110D8B63A947F21D5210162F6283EDDF00900CEE27 -Test: Encrypt -Comment: Set 3, vector 118 -Key: 76767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676 -Plaintext: 7676767676767676767676767676767676767676767676767676767676767676 -Ciphertext: 935DE2010B112937A233E7CB1023FB9D3C46D7C688A478A94F86AD3919FD2728 -Test: Encrypt -Comment: Set 3, vector 119 -Key: 77777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777 -Plaintext: 7777777777777777777777777777777777777777777777777777777777777777 -Ciphertext: 416A91A68A520732E672ACB5A36599D9A99901F013CC460D9C2FB16AAB45996E -Test: Encrypt -Comment: Set 3, vector 120 -Key: 78787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878 -Plaintext: 7878787878787878787878787878787878787878787878787878787878787878 -Ciphertext: FD066F9C65CD3D61B43F5DA44F7B94C85541DC5E09D52B044DA963699C39FDA0 -Test: Encrypt -Comment: Set 3, vector 121 -Key: 79797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979 -Plaintext: 7979797979797979797979797979797979797979797979797979797979797979 -Ciphertext: 63937A7953E453B6E48539FACBD1BC489E03D209DB188837C5A09BA458FFFB92 -Test: Encrypt -Comment: Set 3, vector 122 -Key: 7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A -Plaintext: 7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A -Ciphertext: 68F9EA0F87112633611052A45BBF32B7069079EDB16A928CD2AA16BE464178E3 -Test: Encrypt -Comment: Set 3, vector 123 -Key: 7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B -Plaintext: 7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B -Ciphertext: 874D5ED6C8052C3B4AB830626A195F508DDA15388BA75B3D957B26BC134C9B30 -Test: Encrypt -Comment: Set 3, vector 124 -Key: 7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C -Plaintext: 7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C -Ciphertext: EC3EA8DC433E39B85E4C4D68AC6A854A1B943D99EB2E9A018EA27DC1874CA867 -Test: Encrypt -Comment: Set 3, vector 125 -Key: 7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D -Plaintext: 7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D -Ciphertext: 9CE2298362F1F234A73BECA011EC31B4BC7E143D87B4F118CDADE6AB8D1ED783 -Test: Encrypt -Comment: Set 3, vector 126 -Key: 7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E -Plaintext: 7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E -Ciphertext: 27973D9B510ED9C612CC770FC1AE25EE21B1A9616CB64617EDA477939BE98D04 -Test: Encrypt -Comment: Set 3, vector 127 -Key: 7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F -Plaintext: 7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F -Ciphertext: 82A0EB8C058E727EBD6032F0F77EE693342C97BD44E9538032652B1CA10403DE -Test: Encrypt -Comment: Set 3, vector 128 -Key: 80808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080 -Plaintext: 8080808080808080808080808080808080808080808080808080808080808080 -Ciphertext: C3C1CD5F3060B3EC4E6ABC0818B68449E1750FB482368C8F3305270E16F98735 -Test: Encrypt -Comment: Set 3, vector 129 -Key: 81818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181 -Plaintext: 8181818181818181818181818181818181818181818181818181818181818181 -Ciphertext: 26381852C68B646D80E53C958855293BDC6FAAA85C5F9CAAACABE7B8077E4F7A -Test: Encrypt -Comment: Set 3, vector 130 -Key: 82828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282 -Plaintext: 8282828282828282828282828282828282828282828282828282828282828282 -Ciphertext: E2EA924898ED40FBD8C633706AD7D698392DF1EF33A10FDFCBE51B58C3AE0668 -Test: Encrypt -Comment: Set 3, vector 131 -Key: 83838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383 -Plaintext: 8383838383838383838383838383838383838383838383838383838383838383 -Ciphertext: 15CBDDA36707819D0C7694AAD46B2345BDEFC9D4F26F03A4BF860CE46F7BB53A -Test: Encrypt -Comment: Set 3, vector 132 -Key: 84848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484 -Plaintext: 8484848484848484848484848484848484848484848484848484848484848484 -Ciphertext: F96318A42737AB884FAA82BBB7025063E9A25C5957F52A7342E0C03A1A64273C -Test: Encrypt -Comment: Set 3, vector 133 -Key: 85858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585 -Plaintext: 8585858585858585858585858585858585858585858585858585858585858585 -Ciphertext: 7813FEB148D103075C80ACDFC95E2437A560D9B2E6C910E3A59805338E498907 -Test: Encrypt -Comment: Set 3, vector 134 -Key: 86868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686 -Plaintext: 8686868686868686868686868686868686868686868686868686868686868686 -Ciphertext: C7E9D5FE3BA11096AB77E715DFF0D2EB67E9136F0393CD004A7E994B3F994FA4 -Test: Encrypt -Comment: Set 3, vector 135 -Key: 87878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787 -Plaintext: 8787878787878787878787878787878787878787878787878787878787878787 -Ciphertext: F7D2DD8DF86A0E985CF6E83AA5922A548C83856D88C2C9D49EA962C9E6497949 -Test: Encrypt -Comment: Set 3, vector 136 -Key: 88888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888 -Plaintext: 8888888888888888888888888888888888888888888888888888888888888888 -Ciphertext: C64887C6573E3D7F286C0353188FC93F05321C0C949ACDCB0237725576BCF77B -Test: Encrypt -Comment: Set 3, vector 137 -Key: 89898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989 -Plaintext: 8989898989898989898989898989898989898989898989898989898989898989 -Ciphertext: 77FB97C9C953BE6BD58044FB1E095BB5E3F4B3A51DAFE6F2F7ADED0FB707921F -Test: Encrypt -Comment: Set 3, vector 138 -Key: 8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A -Plaintext: 8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A -Ciphertext: 22DE5F20955357BA1BF70E4D6DA436CCDE28C228031E4A413882C918EF8082D1 -Test: Encrypt -Comment: Set 3, vector 139 -Key: 8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B -Plaintext: 8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B -Ciphertext: 146FF5907A3C58593C3FD3EB7498C4426CCE04DD0DA9138954BB97AAC821D87F -Test: Encrypt -Comment: Set 3, vector 140 -Key: 8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C -Plaintext: 8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C -Ciphertext: 474ADC5855C87504A7C859409E25154D94B05A925F1D9989AE653B5511710BD7 -Test: Encrypt -Comment: Set 3, vector 141 -Key: 8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D -Plaintext: 8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D -Ciphertext: 959B1090C1FF59998C100814E95E40EF94C6F2B7ED0425C78391192CFFFFA465 -Test: Encrypt -Comment: Set 3, vector 142 -Key: 8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E -Plaintext: 8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E -Ciphertext: 9DA473108FFCECB228F8809860CDA316F4E1FAC5ADC39BB0373F01DCEBCBF271 -Test: Encrypt -Comment: Set 3, vector 143 -Key: 8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F -Plaintext: 8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F -Ciphertext: 905FD0302F9F3C4296E15F94EDD72A8F9F4E9E4068F068099CAAE7247235847E -Test: Encrypt -Comment: Set 3, vector 144 -Key: 90909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090 -Plaintext: 9090909090909090909090909090909090909090909090909090909090909090 -Ciphertext: B63B82FB4B4961E4800FD13CAF145BEBF3625822AF7F5D3ACF2A4506471C636D -Test: Encrypt -Comment: Set 3, vector 145 -Key: 91919191919191919191919191919191919191919191919191919191919191919191919191919191919191919191919191919191919191919191919191919191 -Plaintext: 9191919191919191919191919191919191919191919191919191919191919191 -Ciphertext: 63AA9822C7A5A6777D03F901E3BAF91FD566553C88835EF06DB9A983212288BF -Test: Encrypt -Comment: Set 3, vector 146 -Key: 92929292929292929292929292929292929292929292929292929292929292929292929292929292929292929292929292929292929292929292929292929292 -Plaintext: 9292929292929292929292929292929292929292929292929292929292929292 -Ciphertext: 5417F10E4028BDE0F741114632E2090A1E6C83ACB1D03EA98D18D003838B4F0A -Test: Encrypt -Comment: Set 3, vector 147 -Key: 93939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393 -Plaintext: 9393939393939393939393939393939393939393939393939393939393939393 -Ciphertext: FD2C478FB17EE8520149E8A242BB07E0B32929536B191AC6DBCE05891C5E4BFC -Test: Encrypt -Comment: Set 3, vector 148 -Key: 94949494949494949494949494949494949494949494949494949494949494949494949494949494949494949494949494949494949494949494949494949494 -Plaintext: 9494949494949494949494949494949494949494949494949494949494949494 -Ciphertext: 6A36A092BC0F029B60D40440F141EF0DC21A241547359FB618E9243C39AE3D7C -Test: Encrypt -Comment: Set 3, vector 149 -Key: 95959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595 -Plaintext: 9595959595959595959595959595959595959595959595959595959595959595 -Ciphertext: 605BC400A0FEE12092D369142E4D20C3A4F3D7623254BF9E242766946FC47ED1 -Test: Encrypt -Comment: Set 3, vector 150 -Key: 96969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696 -Plaintext: 9696969696969696969696969696969696969696969696969696969696969696 -Ciphertext: 6A5FA33652F946D7C93A56D15B5D3807401C667A9757495341F78526D58659D2 -Test: Encrypt -Comment: Set 3, vector 151 -Key: 97979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797 -Plaintext: 9797979797979797979797979797979797979797979797979797979797979797 -Ciphertext: 5C6AC175B74B9F7F7D6371A90B1F35E1276628DF6A82B0ECE38590C88B7B8DCA -Test: Encrypt -Comment: Set 3, vector 152 -Key: 98989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898 -Plaintext: 9898989898989898989898989898989898989898989898989898989898989898 -Ciphertext: 67BB4E7818FBE6CFAB113C1B2EC797E3164432BFF708450312422D5AEC70A8A8 -Test: Encrypt -Comment: Set 3, vector 153 -Key: 99999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999 -Plaintext: 9999999999999999999999999999999999999999999999999999999999999999 -Ciphertext: BFDA13CA82E73FBF62B6F1BB7181916CE7FD7DC7608EB958A8246346DFBB04E9 -Test: Encrypt -Comment: Set 3, vector 154 -Key: 9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A -Plaintext: 9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A -Ciphertext: C30F3EF137BF7718F76C7E4D2366A48E7C3CE53735BBF8B56CD51609A23AC06C -Test: Encrypt -Comment: Set 3, vector 155 -Key: 9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B -Plaintext: 9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B -Ciphertext: D73795A681B4FBE858703C15D60299682F64C800E691D223C4BE51012DA4D3DA -Test: Encrypt -Comment: Set 3, vector 156 -Key: 9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C -Plaintext: 9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C -Ciphertext: 885A096C820E01E48E1A5F75DB0A007C2A96B66FCAB38AE80CF92DD8B6A35F6F -Test: Encrypt -Comment: Set 3, vector 157 -Key: 9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D -Plaintext: 9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D -Ciphertext: 8FBDD4939C31026305C575F1FDCED3DBAE320C56CF064E9F19B44A43898BFD5C -Test: Encrypt -Comment: Set 3, vector 158 -Key: 9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E -Plaintext: 9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E -Ciphertext: 2D9EC00B081BC1512EC11A0B8B898639415AEEA3270C4B49E4B47C601AB85875 -Test: Encrypt -Comment: Set 3, vector 159 -Key: 9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F -Plaintext: 9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F -Ciphertext: 59565FB9888519C77E9C4E86D72AD86205AB55488D5ED0B9A388FB2D301C4400 -Test: Encrypt -Comment: Set 3, vector 160 -Key: A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0 -Plaintext: A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0 -Ciphertext: 32D6CAA3D5E0A5D3CCD0FD8F2105CFF662FC4052FE348C2DFD0BC3EEFF3AB700 -Test: Encrypt -Comment: Set 3, vector 161 -Key: A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1 -Plaintext: A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1 -Ciphertext: 7C3276EA6BB6FDDDEC8B901C45978B7D4D34AACE9F2D02F7D7F5826A89809DE9 -Test: Encrypt -Comment: Set 3, vector 162 -Key: A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2 -Plaintext: A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2 -Ciphertext: C5ABC33559D828DD1464264F94D46A8519B4CE47EAA0EC9BF0504C876AC85451 -Test: Encrypt -Comment: Set 3, vector 163 -Key: A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3 -Plaintext: A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3 -Ciphertext: E63050ADB9F2789F91A192E089883D7346DD42DE4C654E1D4B72C77D6C09FDB0 -Test: Encrypt -Comment: Set 3, vector 164 -Key: A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4 -Plaintext: A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4 -Ciphertext: E7C58AF118E1DFD2A279DE640EDEF02FB4F3C78D778D145ECC6B2C4CCD065229 -Test: Encrypt -Comment: Set 3, vector 165 -Key: A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5 -Plaintext: A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5 -Ciphertext: 278D8C11ACFDB851131432B3E19C409F940F93E0F6CB49D076C62E70B9C27095 -Test: Encrypt -Comment: Set 3, vector 166 -Key: A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6 -Plaintext: A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6 -Ciphertext: D4839B5679FCA83189BB8C3681E83BAC871A02F297578855034E915F4EF04C12 -Test: Encrypt -Comment: Set 3, vector 167 -Key: A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7 -Plaintext: A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7 -Ciphertext: 91AFF6474168F1D113E3DC66E620CF2F7283CE84F5FDDECC7E79CC005859C1BA -Test: Encrypt -Comment: Set 3, vector 168 -Key: A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8 -Plaintext: A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8 -Ciphertext: 1374026DD442B1C1E0BA34570240F6A9E99781C8307A1544A9D3C91857C7E6E1 -Test: Encrypt -Comment: Set 3, vector 169 -Key: A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9 -Plaintext: A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9 -Ciphertext: C95E8163D47755E25E8A4BA1FDFF46E016F080F13A794FD21251CE238F28C52E -Test: Encrypt -Comment: Set 3, vector 170 -Key: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -Plaintext: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -Ciphertext: 5DA751854BEEDB19D767A09E2BD9C12D15E51A4409A1F70574496D0A0DA767F9 -Test: Encrypt -Comment: Set 3, vector 171 -Key: ABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABAB -Plaintext: ABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABAB -Ciphertext: C1A0ADDB98DA358D8F40CDB8FA427770D6BD5705D81A804A9BA27FFAE8790BD1 -Test: Encrypt -Comment: Set 3, vector 172 -Key: ACACACACACACACACACACACACACACACACACACACACACACACACACACACACACACACACACACACACACACACACACACACACACACACACACACACACACACACACACACACACACACACAC -Plaintext: ACACACACACACACACACACACACACACACACACACACACACACACACACACACACACACACAC -Ciphertext: 604830D513CB29E0E89A36EAB97FFDFC0855AE212F9DDAB62ABE7572CBCEBFC5 -Test: Encrypt -Comment: Set 3, vector 173 -Key: ADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADAD -Plaintext: ADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADAD -Ciphertext: 0DB5075E0B9727D439ED88030D31B532B61556D206220CAE70A7B42EE4C5F72E -Test: Encrypt -Comment: Set 3, vector 174 -Key: AEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAE -Plaintext: AEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAE -Ciphertext: A5167DC20ED3B1894B10C6AA754FDCF9FC1418439D9CA80C40974E9CB7630A12 -Test: Encrypt -Comment: Set 3, vector 175 -Key: AFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAF -Plaintext: AFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAF -Ciphertext: 1A90CCEA061A2FB58E4D1F363B6CEEC26BFB55F4F140A18991C8EF50E8DFB306 -Test: Encrypt -Comment: Set 3, vector 176 -Key: B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0 -Plaintext: B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0 -Ciphertext: 5CED17D75543C21AA1E020D4B084DB86A77BC445C7E77DA54DC6D786A0976A09 -Test: Encrypt -Comment: Set 3, vector 177 -Key: B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1 -Plaintext: B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1 -Ciphertext: BB28F1F9496ED578276F99F3A2D4657566DC2CDDDCF00AE44555DA614C64E54E -Test: Encrypt -Comment: Set 3, vector 178 -Key: B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2 -Plaintext: B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2 -Ciphertext: 30C28BF86BEAEBB25F4A667FB2B9C183B85B456527EB49B44AA4EA825A44E026 -Test: Encrypt -Comment: Set 3, vector 179 -Key: B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3 -Plaintext: B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3 -Ciphertext: C2B0DEB4BC6C28869675FB75D2C2081396601B1FA823185D2D9EDE0730BBEAEA -Test: Encrypt -Comment: Set 3, vector 180 -Key: B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4 -Plaintext: B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4 -Ciphertext: B3EDC667C3FD03CE50D05877C8A78C330F809DF5F8F7FB11968A3664C77CA78B -Test: Encrypt -Comment: Set 3, vector 181 -Key: B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5 -Plaintext: B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5 -Ciphertext: BC2FCF90C52B883CAC3F0A673FA093EEB48952F4DE50A9288464B84A920A1316 -Test: Encrypt -Comment: Set 3, vector 182 -Key: B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6 -Plaintext: B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6 -Ciphertext: 30BCF4063A59823CE94B14B6B65F1B4DBEED8FB30832765B5186F4B834DBEA89 -Test: Encrypt -Comment: Set 3, vector 183 -Key: B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7 -Plaintext: B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7 -Ciphertext: 51B4C7E8F697FACC24294A2CEB404C4BEC0CA41C76A6B50A824800EA4464C796 -Test: Encrypt -Comment: Set 3, vector 184 -Key: B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8 -Plaintext: B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8 -Ciphertext: 2CCFF61604C0881CCC6A69B885878D6D07CEA7DAB31719D89DC4ECB0063DF5D2 -Test: Encrypt -Comment: Set 3, vector 185 -Key: B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9 -Plaintext: B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9 -Ciphertext: 87998D9F16DC018B5DBD42A2E0C26D3774C2A41986E2D0A1504CE37B6EE71688 -Test: Encrypt -Comment: Set 3, vector 186 -Key: BABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABA -Plaintext: BABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABA -Ciphertext: D774451BB82A62A4C7708D0194F6C129C483CEFD182BAADF5A35EB77892F317A -Test: Encrypt -Comment: Set 3, vector 187 -Key: BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB -Plaintext: BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB -Ciphertext: B88CE3DF52572A1A1C8253E05D789BBF204E2CFC7A00389429F4C6B428EF8CD6 -Test: Encrypt -Comment: Set 3, vector 188 -Key: BCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBC -Plaintext: BCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBC -Ciphertext: B854E538E6674A1831F635AA6650A0A4D0730A9A4B12511509EFD49E34D57D62 -Test: Encrypt -Comment: Set 3, vector 189 -Key: BDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBD -Plaintext: BDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBD -Ciphertext: A69EF2348FEEF1EA09A2B29A6D977092ECD522A62EE906FA47624C92A872EB17 -Test: Encrypt -Comment: Set 3, vector 190 -Key: BEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBE -Plaintext: BEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBE -Ciphertext: A1AE0CBC3B5200F1D8AE165EE42D45F6CE8C4FF448F8127B6D9AB4936FC76CA8 -Test: Encrypt -Comment: Set 3, vector 191 -Key: BFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBF -Plaintext: BFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBF -Ciphertext: 91948E36B83E21FF8A5EEDAA48E50E3A292A3B68D20657FA7E11F50BC7A12205 -Test: Encrypt -Comment: Set 3, vector 192 -Key: C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0 -Plaintext: C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0 -Ciphertext: 56CD17219224C3103E3E3E5CABAB6C1E78DEA9AD27613E8D62901FFA31500BFF -Test: Encrypt -Comment: Set 3, vector 193 -Key: C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1 -Plaintext: C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1 -Ciphertext: 2E8FE5CAB2448B194387B160E9141E7D1B879BA1580B3D393B55436608EA2735 -Test: Encrypt -Comment: Set 3, vector 194 -Key: C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2 -Plaintext: C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2 -Ciphertext: 5DD74E1155DD90840C702145DF6912754FB74B47625EA4C5382326681DB3390E -Test: Encrypt -Comment: Set 3, vector 195 -Key: C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3 -Plaintext: C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3 -Ciphertext: 3A9F5962554037DCB1FA2AD04BFC0BF79699941500D5F9841320C6D8601310A2 -Test: Encrypt -Comment: Set 3, vector 196 -Key: C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4 -Plaintext: C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4 -Ciphertext: BB0F5B68087BBA51DBB700BA1860CC3D0A587E54D57F4014DE4E48E58E529F87 -Test: Encrypt -Comment: Set 3, vector 197 -Key: C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5 -Plaintext: C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5 -Ciphertext: 8384025D801AB8EC4D4416F5B7E862B6D9AC9E4AEE334C35FD0296B1402E4975 -Test: Encrypt -Comment: Set 3, vector 198 -Key: C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6 -Plaintext: C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6 -Ciphertext: BE3057511C5D0E51315D89671BB4E57E7B590EC3ECE8A14D728248ED8F5107BB -Test: Encrypt -Comment: Set 3, vector 199 -Key: C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7 -Plaintext: C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7 -Ciphertext: 18882618837D15B0B6BD77E1F37470EC58155A2788BDD9D91AEBD16B29A92A1B -Test: Encrypt -Comment: Set 3, vector 200 -Key: C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8 -Plaintext: C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8 -Ciphertext: 8FAFDDC7E04C1AF3BBE8428222DCA59D2EF8C9E0213430492ECAB7B414987FEF -Test: Encrypt -Comment: Set 3, vector 201 -Key: C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9 -Plaintext: C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9 -Ciphertext: 4D687992D4F9F515FE451AC967CBF75F906D637C3C261758E263A0DA0DEF69C2 -Test: Encrypt -Comment: Set 3, vector 202 -Key: CACACACACACACACACACACACACACACACACACACACACACACACACACACACACACACACACACACACACACACACACACACACACACACACACACACACACACACACACACACACACACACACA -Plaintext: CACACACACACACACACACACACACACACACACACACACACACACACACACACACACACACACA -Ciphertext: 9DDC94BFF87FDBAFDB0AB9DC17D3649231300E5E6270600856722324DC9CA39A -Test: Encrypt -Comment: Set 3, vector 203 -Key: CBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCB -Plaintext: CBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCB -Ciphertext: 86E9CCD90D7B902D23D82C085B1F886402DBD2D19C5A81A32F318C98C6E2A98A -Test: Encrypt -Comment: Set 3, vector 204 -Key: CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC -Plaintext: CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC -Ciphertext: 164FCD7D1FFE12FF1FDEE6384145EF546A5CD98C22817A5205FF2C2E18339779 -Test: Encrypt -Comment: Set 3, vector 205 -Key: CDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCD -Plaintext: CDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCD -Ciphertext: 4579935A483BAC6B4CCD8C25BCC9E6DEAF46EA8B53F8B5E37CC436EAB85A1330 -Test: Encrypt -Comment: Set 3, vector 206 -Key: CECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECE -Plaintext: CECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECE -Ciphertext: E5F810DF5B215F559E76EF925F2B795915A7B03A6F7019FAC8E9127A7CE93F09 -Test: Encrypt -Comment: Set 3, vector 207 -Key: CFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCF -Plaintext: CFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCF -Ciphertext: 2EA0892E2B2F29A63526B37DECD18E31DC970A60E60A4D8414A5BD0D2D5491EF -Test: Encrypt -Comment: Set 3, vector 208 -Key: D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0 -Plaintext: D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0 -Ciphertext: 900F155E80A716199EB062827CDDDC4DA857550BA1C265A46D47BE4024706F40 -Test: Encrypt -Comment: Set 3, vector 209 -Key: D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1 -Plaintext: D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1 -Ciphertext: 5B495546838A97D8DF4B9CA95EF8350210A3ECAB81469678EBDE1E5846C1F42D -Test: Encrypt -Comment: Set 3, vector 210 -Key: D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2 -Plaintext: D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2 -Ciphertext: 60E7E367347BC3F4091CE34CCA288C8AFC6375ED8F4394D904FD8489280D50F1 -Test: Encrypt -Comment: Set 3, vector 211 -Key: D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3 -Plaintext: D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3 -Ciphertext: F215EED91D35B7BA649F05C3D1E2B254CB1215588AB78DF54F3CA221AB4A3F1B -Test: Encrypt -Comment: Set 3, vector 212 -Key: D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4 -Plaintext: D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4 -Ciphertext: 6441A445D808842C6185B81ACBC5AF86386C54C79026BFC21C1DB5111362AA15 -Test: Encrypt -Comment: Set 3, vector 213 -Key: D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5 -Plaintext: D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5 -Ciphertext: 4EE459EDAC1FE0CB08E80C8C13FCE8C44CBFECF7A7F9F14C15B5A92BB7F34E71 -Test: Encrypt -Comment: Set 3, vector 214 -Key: D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6 -Plaintext: D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6 -Ciphertext: 78826499B0F2F402E6DA3CACA36EA35492B7BD2A4D84575D0432E16368E78808 -Test: Encrypt -Comment: Set 3, vector 215 -Key: D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7 -Plaintext: D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7 -Ciphertext: BDFBCAE2761BEF6A411156AE01A63F9321EE969C56043F2A44C5D3D4BB017BC0 -Test: Encrypt -Comment: Set 3, vector 216 -Key: D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8 -Plaintext: D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8 -Ciphertext: 926F2CD84035F9070C3506E6D7245FEA9A845F2D355785BB17E1D3C34FA81228 -Test: Encrypt -Comment: Set 3, vector 217 -Key: D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9 -Plaintext: D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9 -Ciphertext: 6C5F6B1C746967142D55FA3769A9417D5A44875D364DB4412B4F9EB254D9BB89 -Test: Encrypt -Comment: Set 3, vector 218 -Key: DADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADA -Plaintext: DADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADA -Ciphertext: 8329A1E54D9F45DB4E8CE6F1B481C3EE00D5511B52B3CDADCBD562A9F1B35770 -Test: Encrypt -Comment: Set 3, vector 219 -Key: DBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDB -Plaintext: DBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDB -Ciphertext: 7A7FEEDEF1950F1A60529743163406CAF167097358377E0650CF0BB35CD783F6 -Test: Encrypt -Comment: Set 3, vector 220 -Key: DCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDC -Plaintext: DCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDC -Ciphertext: C52CFB15D2F53156701AE4951AA46BCFC872252447BB14E1CE19CAC074926984 -Test: Encrypt -Comment: Set 3, vector 221 -Key: DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD -Plaintext: DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD -Ciphertext: 79DFF8DC12ABCEC71E7FAE55ABC8C374135ECE2D52834BC77B860252B756D54A -Test: Encrypt -Comment: Set 3, vector 222 -Key: DEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDE -Plaintext: DEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDE -Ciphertext: 62963B66E680BD5602EC86DB7267E15CB1FF6EA698B54EBA661D125400C7F2DD -Test: Encrypt -Comment: Set 3, vector 223 -Key: DFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDF -Plaintext: DFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDF -Ciphertext: 0C2E76743ACC9CC0525D6E2C519D12C369CFA9E27F13068F98D2F32FAD7220CB -Test: Encrypt -Comment: Set 3, vector 224 -Key: E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0 -Plaintext: E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0 -Ciphertext: B464640E72C30DF092A5BB00F34568A7C04B8620265EDA53F19F3A06164AF980 -Test: Encrypt -Comment: Set 3, vector 225 -Key: E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1 -Plaintext: E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1 -Ciphertext: 3725215E79F1FE3DC64B4316449FF98EB52D03330BFC848CD83A407475AADA3A -Test: Encrypt -Comment: Set 3, vector 226 -Key: E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2 -Plaintext: E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2 -Ciphertext: BA273F544C5076D523CC75F90E315A39E465D2B25434E6577FE629F27061BBA4 -Test: Encrypt -Comment: Set 3, vector 227 -Key: E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3 -Plaintext: E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3 -Ciphertext: 472161A0F42E64BD0FE6D448996C370E2C3A56BDE16B378EAA31740551121B4E -Test: Encrypt -Comment: Set 3, vector 228 -Key: E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4 -Plaintext: E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4 -Ciphertext: EA089A10A597504D057E1F03064C9465C1A707C9472A7C0DBAD6978F5BB83A46 -Test: Encrypt -Comment: Set 3, vector 229 -Key: E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -Plaintext: E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 -Ciphertext: E91B3433426F88FA31A05E17906E55EA1D803ADFE080C51FBD98290CBF427BEF -Test: Encrypt -Comment: Set 3, vector 230 -Key: E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6 -Plaintext: E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6 -Ciphertext: 747C4999D0256384349A5FB132DE1AAD4D7FC48507FEC206B80ED429AF7FDBDB -Test: Encrypt -Comment: Set 3, vector 231 -Key: E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7 -Plaintext: E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7 -Ciphertext: 3F8058A1A9B7B0A9C31B4670EEAA6988BF2D41E9B3417EF899EF12CBBC9C77DE -Test: Encrypt -Comment: Set 3, vector 232 -Key: E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8 -Plaintext: E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8 -Ciphertext: 9DA431EC0DADDEC4A76B3830B20AA03D346AD09691FB98FC0E9A8987F7B70EDF -Test: Encrypt -Comment: Set 3, vector 233 -Key: E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9 -Plaintext: E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9 -Ciphertext: 63BF528E184A43EF807DC9169BDB9CD7B63EE144478A4735EC2EE3A5A7EE460A -Test: Encrypt -Comment: Set 3, vector 234 -Key: EAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEA -Plaintext: EAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEA -Ciphertext: 73DC5F8AFA9493AD7767D15A36E7741044EFC225136B4972DC5294E80071A64D -Test: Encrypt -Comment: Set 3, vector 235 -Key: EBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEB -Plaintext: EBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEB -Ciphertext: 7EEE75D690458A604D20CD21ED64B228F0C3563DB8FB925341FC02845B6E06BA -Test: Encrypt -Comment: Set 3, vector 236 -Key: ECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECEC -Plaintext: ECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECEC -Ciphertext: AA4D9E1A0157AC347DC7A1997718944427BD579DC18B94F181390E8C36A1305C -Test: Encrypt -Comment: Set 3, vector 237 -Key: EDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDED -Plaintext: EDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDED -Ciphertext: 1695BC5C3D63F4B0E0BC3225F00BB0B8E8D29F3DC09584353E11510002E2BE53 -Test: Encrypt -Comment: Set 3, vector 238 -Key: EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE -Plaintext: EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE -Ciphertext: C68C7A2FBDA419A515AE816480490BFB2A72A4B6534A19A8D8C6C85FAA949567 -Test: Encrypt -Comment: Set 3, vector 239 -Key: EFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEF -Plaintext: EFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEF -Ciphertext: 5F45E7F72A64C66269F83714A88A0701561C3E7AF33BB48887D4439F5DE4A82D -Test: Encrypt -Comment: Set 3, vector 240 -Key: F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0 -Plaintext: F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0 -Ciphertext: AD49A5C8EB06256147F02301FB47710E915B5A8FC3219C0D56A19382977119FC -Test: Encrypt -Comment: Set 3, vector 241 -Key: F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1 -Plaintext: F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1 -Ciphertext: 2387AF70EE04E7F25277E81081B044EA24090D503CE8F64997BB610C762D8F6F -Test: Encrypt -Comment: Set 3, vector 242 -Key: F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2 -Plaintext: F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2 -Ciphertext: B5D496DD36BA0B47832C170A53760CE5E47B1FF5C28848F5F7A1827E94BC73CB -Test: Encrypt -Comment: Set 3, vector 243 -Key: F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3 -Plaintext: F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3 -Ciphertext: 77978F2EAB7E8B6B32C9293B83F51419785A0CD276276CB417ACA806A456A6AE -Test: Encrypt -Comment: Set 3, vector 244 -Key: F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4 -Plaintext: F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4 -Ciphertext: E3CBD41F80B27C9A684D7C7C27BBCA9FD59E5E81E93B7BC5BFDF66722EF68EEE -Test: Encrypt -Comment: Set 3, vector 245 -Key: F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5 -Plaintext: F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5 -Ciphertext: 4482F0C362CB423104CAA26E1415B0B7519E1189624D313E65D324C6DC95F516 -Test: Encrypt -Comment: Set 3, vector 246 -Key: F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6 -Plaintext: F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6 -Ciphertext: CD72EE9A6919348595286348C7E488DB3648458688F72BAD994B26FE6999E676 -Test: Encrypt -Comment: Set 3, vector 247 -Key: F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7 -Plaintext: F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7 -Ciphertext: 03EF38F91710AE8BCC8B9193F6A55A7C90C66300D20EDCF5B4946F3B38BEF6C5 -Test: Encrypt -Comment: Set 3, vector 248 -Key: F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8 -Plaintext: F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8 -Ciphertext: B67638D30578AB2319FE275D0B833B50D7ABF01E8760F566D0D441D8EAFDF8AA -Test: Encrypt -Comment: Set 3, vector 249 -Key: F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9 -Plaintext: F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9 -Ciphertext: 98B05FF6042436505C7163415E187E09F10C3B1A86FA4B458CE1EF31022F5D16 -Test: Encrypt -Comment: Set 3, vector 250 -Key: FAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFA -Plaintext: FAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFA -Ciphertext: B670A350A2CF0478412307EF00F97F8B30175CDB7593FF4686BD614B41444342 -Test: Encrypt -Comment: Set 3, vector 251 -Key: FBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFB -Plaintext: FBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFB -Ciphertext: D7FD492E6302265C24FAB910AA1335C29D53406147E853F7604F4AF1A9407E83 -Test: Encrypt -Comment: Set 3, vector 252 -Key: FCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFC -Plaintext: FCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFC -Ciphertext: 28926789363A4306E2C75FD1D8FDF0FE6B62FDB2AFAEDDA6F47A565C2781968B -Test: Encrypt -Comment: Set 3, vector 253 -Key: FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD -Plaintext: FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD -Ciphertext: 813C816CD4B18F20BD06E2E93CFAA717EBB6554B556CC33D67530608A9BF100F -Test: Encrypt -Comment: Set 3, vector 254 -Key: FEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFE -Plaintext: FEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFE -Ciphertext: 5DC15C83E7C4F5AAF8D8482ED1E443271B28B59288783DBCDDEC3544E3368A6E -Test: Encrypt -Comment: Set 3, vector 255 -Key: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -Plaintext: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -Ciphertext: 0598127BAF11706F77402000D730C54A0B84C868A98C6CA4D7F3C0FA06A78B7A -Test: Encrypt +AlgorithmType: SymmetricCipher +Name: SHACAL-2/ECB +Source: NESSIE submission +Comment: Set 1, vector 0 +Key: 80000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 361AB6322FA9E7A7BB23818D839E01BDDAFDF47305426EDD297AEDB9F6202BAE +Test: Encrypt +Comment: Set 1, vector 1 +Key: 40000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: F3BAF53E5301E08813F8BE6F651BB19E9722151FF15063BA42A6FEF7CF3BF3D7 +Test: Encrypt +Comment: Set 1, vector 2 +Key: 20000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: E485005217441B60EE5B48EE8AF924B268B6B952D7F593E6102AC83D7DA72838 +Test: Encrypt +Comment: Set 1, vector 3 +Key: 10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: AE70E355CB7E26FF12421F46CDAD5CB98367FE0E86CC234EDF97481765CD1AD9 +Test: Encrypt +Comment: Set 1, vector 4 +Key: 08000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 00CECD0B01311F881018E7A20BCE169766C089D91FF161346C4E1BD122EA199F +Test: Encrypt +Comment: Set 1, vector 5 +Key: 04000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 47A879CB6785AD37119C450CD50E9A36FE318FA8E7B6C6E0FA963430122F33CD +Test: Encrypt +Comment: Set 1, vector 6 +Key: 02000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: CF3D53B9F9F7CA2C66738A4C09CEA9212C056F525BDC26F263FBA1B482EDF503 +Test: Encrypt +Comment: Set 1, vector 7 +Key: 01000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: A274D404E83E82817389A2CB7B528C792A0E80DE879A5A67DE633B0B7DD57B7B +Test: Encrypt +Comment: Set 1, vector 8 +Key: 00800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 09B3AB9332301D4E3C239D192A4221AFD43F6829A705D396FA96BDE1E716BC38 +Test: Encrypt +Comment: Set 1, vector 9 +Key: 00400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: D3B9AB867A6868C4400D200979055C8F9E3A6BFB40D1F9E376B9EC89223D7050 +Test: Encrypt +Comment: Set 1, vector 10 +Key: 00200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 4F27041481DCF574586CD6D5B72F2E806B0DBC351FEEA624112897A8A64CDBA9 +Test: Encrypt +Comment: Set 1, vector 11 +Key: 00100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 77CEC8EA64BB7FAE966D030FE4CF318C318DBEBAEB896F31FAA3C9CBA0AE125D +Test: Encrypt +Comment: Set 1, vector 12 +Key: 00080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: E6F96E0217B8BDC6BBF30CB91C05325F493EB076E505FC6469AAA2BBB3A8A60B +Test: Encrypt +Comment: Set 1, vector 13 +Key: 00040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: ED949C1CFC555EC7192464AE86EC0334AD1198C2DBA36DB38CDF7160C950D474 +Test: Encrypt +Comment: Set 1, vector 14 +Key: 00020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 41EB01CC3875F31A6C8D7008C958BBB164813C59435B01879199979FC4762B26 +Test: Encrypt +Comment: Set 1, vector 15 +Key: 00010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: CCE7C4F96A665DDD23F39A78A3C7898E5F945FE908F1707DBED08BA6BCA3A58E +Test: Encrypt +Comment: Set 1, vector 16 +Key: 00008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 5FDBD5741AB5BC53E8C75F4497E37D5BE92B89D2424A11BBF189449AE005E2E8 +Test: Encrypt +Comment: Set 1, vector 17 +Key: 00004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: E6C00B21A5B89F4FE9251E53E7AFE30D6C8721678BF842575EEE185E85632778 +Test: Encrypt +Comment: Set 1, vector 18 +Key: 00002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: FC19871F6E933014D92721D77BDF4E0EF528A325D5DC979536D6C46457CA066F +Test: Encrypt +Comment: Set 1, vector 19 +Key: 00001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: A195202A93364212B989EB2C667EE05881657AD95FB6B3EE62DD21EB73347E56 +Test: Encrypt +Comment: Set 1, vector 20 +Key: 00000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: A25B4FB9B4F8418514A1A04078DFBDF73B83B936A887AD6B1B672F1C2AF128CF +Test: Encrypt +Comment: Set 1, vector 21 +Key: 00000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: ACB2AB0F22068D36C160D668ED300DCF32C66FB8447594878DE1B1A83B414E13 +Test: Encrypt +Comment: Set 1, vector 22 +Key: 00000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: A5AD217E39C9B40A921B4E52B1B47649C72631E7A99FE4897A92CD1A65BF8BFF +Test: Encrypt +Comment: Set 1, vector 23 +Key: 00000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 1185C198ABA5AD97F5DF7850284CD5E34BBE5E0EEC3CE4ACC4FC0A3CE3FA3BEE +Test: Encrypt +Comment: Set 1, vector 24 +Key: 00000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 7AC85AA2C5A9A219B8E437C65913738628EE442F56BD57292C8A1B36026B6664 +Test: Encrypt +Comment: Set 1, vector 25 +Key: 00000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 6140F926FA90F091603D23A4876A3A5598890CB1F2FDE64E43C50630BE4101D2 +Test: Encrypt +Comment: Set 1, vector 26 +Key: 00000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 365135682290CB40D83228B3F26FD63266EED9C72DAC991510FEFA9B56466E8F +Test: Encrypt +Comment: Set 1, vector 27 +Key: 00000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 928EED2E262D9E398ADA06151ADFB35F34018114E97414C75E390C8EDA8D2440 +Test: Encrypt +Comment: Set 1, vector 28 +Key: 00000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: E362280E66204F47E8FB782D18522AA3E1D527C15EBA88E76DB5AF44E156BB45 +Test: Encrypt +Comment: Set 1, vector 29 +Key: 00000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 807E3938AF9C9F0233FDA70B0E26028B390101F238ECFBD53EAE8E2D86552DBF +Test: Encrypt +Comment: Set 1, vector 30 +Key: 00000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: E7D3FA388C4E07ADD32E188BD09264A2BD19F0F7EC5712AC05C47B49C7FD6651 +Test: Encrypt +Comment: Set 1, vector 31 +Key: 00000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 891CFD4A18F35239FD4463DE95FE9CAF4569AC82766E457315C123FB5FE6A397 +Test: Encrypt +Comment: Set 1, vector 32 +Key: 00000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 5C8E12B2572ED949494B324383806FD61B7CF0479DEB5D62028E83B7091BB039 +Test: Encrypt +Comment: Set 1, vector 33 +Key: 00000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 6F071D68C107B19B9949A6B7AF2C79EDC40FBA9BD07674AB3B1DB8CDE0A9637D +Test: Encrypt +Comment: Set 1, vector 34 +Key: 00000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: FD720D4ECFB7B68BA48C52E2F69FE268773D73B41723AA51127895B14C516F34 +Test: Encrypt +Comment: Set 1, vector 35 +Key: 00000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 0D3D7DEB1F8742BB22C4A3FB88C7C07CDCC8165ECF624C95FD8838D90D465B0D +Test: Encrypt +Comment: Set 1, vector 36 +Key: 00000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 06A524998D1FEA6AF6E4015B9A16B7A447F50AE0A8902E6E3308D3B47E98C4F1 +Test: Encrypt +Comment: Set 1, vector 37 +Key: 00000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 9FBDF43AB1294164BC968E113673BB11195AE39267BF2537F0E429E3C10B5D2F +Test: Encrypt +Comment: Set 1, vector 38 +Key: 00000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 81C4C7F2144555C888D876787EE62BC03EBB57093DB3DDE806918707684C8C52 +Test: Encrypt +Comment: Set 1, vector 39 +Key: 00000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: F62E7B237C98C5727D4F267AE17932AAC4DAEF0CAF4C02176B4CBB902ED164D1 +Test: Encrypt +Comment: Set 1, vector 40 +Key: 00000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 99CAD86B7E78D9B2ED9DA56F27C9AECB49CBFFC287930CEBC1BF06EA94541E9B +Test: Encrypt +Comment: Set 1, vector 41 +Key: 00000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: ED1F4429D5C36B2C16D598A2CE52D9C84E9DE7CD0B4899E47ADCB999CAEDB0CA +Test: Encrypt +Comment: Set 1, vector 42 +Key: 00000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 3FEF41084D9CFF6111C40F9656C46D3892323465630B0C1D082255222847D9D0 +Test: Encrypt +Comment: Set 1, vector 43 +Key: 00000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: AB7D2B41135ED54EC7AB11C67D20BC35F0C8652D209D675AAB3A33FA264C9380 +Test: Encrypt +Comment: Set 1, vector 44 +Key: 00000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 1208F63F213F1A55127900FFBFEB0569B693376D9310C9A9E36EA1DE22CB5A59 +Test: Encrypt +Comment: Set 1, vector 45 +Key: 00000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 10C38678BC2465923063E41B4339D96F3DC5A64CA77A9C9C132D75BC4EC517F1 +Test: Encrypt +Comment: Set 1, vector 46 +Key: 00000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 5342519F1181700EDC380133226AE072971AC1AC6DF72440FD817C9ACB862E68 +Test: Encrypt +Comment: Set 1, vector 47 +Key: 00000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 09D02729C71C6E5E852272B853E87C1BAB5E522875E5D8063501ECE10315B4D6 +Test: Encrypt +Comment: Set 1, vector 48 +Key: 00000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 33D7D4F58BDD14244621A960A076573892ABDDBEF36109289A3E8A4EC536E95F +Test: Encrypt +Comment: Set 1, vector 49 +Key: 00000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 81A4590D64E2140414B913AC73BECEC19CAC798C313196007E39EF4F75C7DDB5 +Test: Encrypt +Comment: Set 1, vector 50 +Key: 00000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 942ED16EC4A9D72D74ABFB7E79CDE840997DD2AD83C9DDFAD02528A9A7E0AAC3 +Test: Encrypt +Comment: Set 1, vector 51 +Key: 00000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 8376BF03EAE71EF035E18903AC0CC2CCC93610C48050DB096BE758743234CD63 +Test: Encrypt +Comment: Set 1, vector 52 +Key: 00000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: B5613234B5F9D1201A9A581D59BD744B8E59728E5E330B74CBF03B9E81C950E0 +Test: Encrypt +Comment: Set 1, vector 53 +Key: 00000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 4750E864B881A2764EC508D0DD4AF06B7B1B123FDCCCA141A74DEAF28070B408 +Test: Encrypt +Comment: Set 1, vector 54 +Key: 00000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: B3F29EE6BDF09A16C4EA8C1539CD033B17706436FC40DEBD95DA70BF05BF1856 +Test: Encrypt +Comment: Set 1, vector 55 +Key: 00000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 3A91B7730E3FE044B75E75B9BB09BC1550AD5AC9F495AFFB524FAD90A51112D5 +Test: Encrypt +Comment: Set 1, vector 56 +Key: 00000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: D262DF12E3D8DA99A9F7F011D607905DCBE9AB03C317E81E4BCD076F3C55EBB2 +Test: Encrypt +Comment: Set 1, vector 57 +Key: 00000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 827BD4A79FD82594F645A02F9546906ADCBFF47E2F2D0D0DAF89A200389A5E00 +Test: Encrypt +Comment: Set 1, vector 58 +Key: 00000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: E83B866B294780E36058CBCB62BC3C509604F9EB9A44F1CFAFD50F248359A106 +Test: Encrypt +Comment: Set 1, vector 59 +Key: 00000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 8695B4BC5DC6528183B94D5257DC668DCAA0E5A855B76555B65FCCF941A8CCAC +Test: Encrypt +Comment: Set 1, vector 60 +Key: 00000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 3B5D549F736D15CFD0F39A42CB1ACBEA370ADAA9EBC7C012AF2E30463DF98E03 +Test: Encrypt +Comment: Set 1, vector 61 +Key: 00000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 1C29F7919784BDF30E566B75DBA4C911FC48C1CD7F845406B86DA540B71C572E +Test: Encrypt +Comment: Set 1, vector 62 +Key: 00000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: D530E5B30338589A6AE67E0C1E2C57AF02CCEFF84705BC4AAD0D93375E7F2DAB +Test: Encrypt +Comment: Set 1, vector 63 +Key: 00000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: AE92CD3DA2022DC9C91E381DA62D8FFA646FD02A1A5A3249AEAD35B729C48329 +Test: Encrypt +Comment: Set 1, vector 64 +Key: 00000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 111318C5C6DAE45DF4FAFF404AE2140300DBBF9361E926900F3ED7F731385A52 +Test: Encrypt +Comment: Set 1, vector 65 +Key: 00000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: AA0DAA9A0025B5B3243367C7FC22F56F65A52B3CEEA060825C1FD2813953BEF8 +Test: Encrypt +Comment: Set 1, vector 66 +Key: 00000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 11EA951B966D0B3DF0D6AA00059281E6944CBB9921F84209265938CCE91F4910 +Test: Encrypt +Comment: Set 1, vector 67 +Key: 00000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: DFDE0D41A657B700DADED5F9CB341481A0183AC1BB51291E8719F77251B478F6 +Test: Encrypt +Comment: Set 1, vector 68 +Key: 00000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: A8A42F8E3C2BD71D415EF9FBDBB9DA86B32CFC24EBDADC656B7BFF17FC8BE365 +Test: Encrypt +Comment: Set 1, vector 69 +Key: 00000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 1755CB48D8057669C488DF3A2296651F3FB64AA173DC6FCBD2C1113A084679C1 +Test: Encrypt +Comment: Set 1, vector 70 +Key: 00000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: CEFD04E10B318145993C0AF4B4A64F623BCE0E04CE04E6D3DDE14EC6DFC0CDEE +Test: Encrypt +Comment: Set 1, vector 71 +Key: 00000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: D9C83924493AE365C6369317A4393F904D530C1D30B2FD1A2E4126D0A532A743 +Test: Encrypt +Comment: Set 1, vector 72 +Key: 00000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 9B8FC0A924382EBD28AA3F6871B17E1BA9C94418FC3533B446C2DE8C188EABB6 +Test: Encrypt +Comment: Set 1, vector 73 +Key: 00000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: F91346BFBC0E05A4076B8CD5640E9DD278D4A7755A6D870565AC2A7E60A7F5AE +Test: Encrypt +Comment: Set 1, vector 74 +Key: 00000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 58D205808D4A580FF8111B9EF06BEE613D51E3B2E026B296F5E9F8520C7319FE +Test: Encrypt +Comment: Set 1, vector 75 +Key: 00000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 15D0C54FC35621B206A4A50EC3DADCEDFE4CCA17C9C5396A18901099A3389086 +Test: Encrypt +Comment: Set 1, vector 76 +Key: 00000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 48DE43EC8F644BCCFF61A52D93BEDEEBA38C71C196203A4A5AD9145416EFF31E +Test: Encrypt +Comment: Set 1, vector 77 +Key: 00000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 253057DA247A8D7A1B4A23E87B67D49669ADE1FE5EF32E08058F2DA6E82D1C25 +Test: Encrypt +Comment: Set 1, vector 78 +Key: 00000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 6494B08A0B0CE628E34EC6D7EFBC436687D242131974789ECF20911C0CF16839 +Test: Encrypt +Comment: Set 1, vector 79 +Key: 00000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 5088AC91D68173FE292A64D04D9A8083535649D44D7F00F23F389810F5F2528E +Test: Encrypt +Comment: Set 1, vector 80 +Key: 00000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: FFF5D0D5296B0C3553DD43C429F51AF844EB6100E373A6A7A16B79A73392AC58 +Test: Encrypt +Comment: Set 1, vector 81 +Key: 00000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 4A805BF70CBBAC2FACF405789FE96C4EF097D36F6982B843246C353E77539863 +Test: Encrypt +Comment: Set 1, vector 82 +Key: 00000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 5F5F6828D3D2FDF24B4AC2F1F4080F40E9564CD8F9BAFC34E5567F96E2F057BA +Test: Encrypt +Comment: Set 1, vector 83 +Key: 00000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 5BFAD855773EF036BAE365C18B6C5784E8BD4673514B0499E7ACFA38F7832927 +Test: Encrypt +Comment: Set 1, vector 84 +Key: 00000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: B38604950FA73165F940D4DB527D09CD0B233276CD3808B5CADCCB9FA859AEEB +Test: Encrypt +Comment: Set 1, vector 85 +Key: 00000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: B96570996489A74726A70C02CD55FB9D4C3ADE0B69FAE7C37899E3D560A5132F +Test: Encrypt +Comment: Set 1, vector 86 +Key: 00000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 0B8612F83912A9EF1082E9D08C772738908BCCD20DE47D64ACA1500633163479 +Test: Encrypt +Comment: Set 1, vector 87 +Key: 00000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: CCC75B4A84D08B14495AA8349B0AF79480FF6D0695561710AA16739A54504E58 +Test: Encrypt +Comment: Set 1, vector 88 +Key: 00000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: BC3F95A0CB0DCAEDB78E3D6E855267E34F3168C436774E28035D144406E803DA +Test: Encrypt +Comment: Set 1, vector 89 +Key: 00000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: BD0A34B0509EFA39D9D091577FC4296F563AF5F3AF9E030FCC3661C0BD82738E +Test: Encrypt +Comment: Set 1, vector 90 +Key: 00000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: EC82DA0C15A50EB98E97532C509DBAC9C392DB79ADDC139F9ADC6091708CD726 +Test: Encrypt +Comment: Set 1, vector 91 +Key: 00000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 7F164D165F7585E8306E38D44211325D0C6C177C523F13F69DB39DFEDF5BFD3F +Test: Encrypt +Comment: Set 1, vector 92 +Key: 00000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 73F36AF678E74D413BE851E77F5E55DE1DD92D5237DBAE75E3AB6364D1F181DF +Test: Encrypt +Comment: Set 1, vector 93 +Key: 00000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: BE25140C4E7804B22390822501718BE09E7F494594EBD2BCB35A36AC2F0CA095 +Test: Encrypt +Comment: Set 1, vector 94 +Key: 00000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 33171A271100D5CC5CF651ABF60977CD15B718863213DC243CAFA6CA86041094 +Test: Encrypt +Comment: Set 1, vector 95 +Key: 00000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 323FF7A80198298E438C833032CE609D4E6C5C107C9069E8B216080DE5C0880D +Test: Encrypt +Comment: Set 1, vector 96 +Key: 00000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: D8FB3E266B96E48524159A3BE04CC85B3DB70F2FE649A01259E4FCCBCD3E7BAF +Test: Encrypt +Comment: Set 1, vector 97 +Key: 00000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 88B2171E37F3E861B6A69397BCC46044EABBC424E3359D11C96A62CB33F6C56C +Test: Encrypt +Comment: Set 1, vector 98 +Key: 00000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 96168ED95200986AFF506D3C2F043DFE03356345C52AD205BDC91423C6079824 +Test: Encrypt +Comment: Set 1, vector 99 +Key: 00000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 4FDE2AD110847B5F4F2BD20CE5047913B12A682D119D9A8C8395B9958771FC22 +Test: Encrypt +Comment: Set 1, vector 100 +Key: 00000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: F703282E54592A5617E10618027BB67F639E43A90767150D8B7F5E83054B3CBD +Test: Encrypt +Comment: Set 1, vector 101 +Key: 00000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 6673138D1A64DD26CDD2F62CAB0BAB2318DE17507BAA307A189EC4997F9C3F89 +Test: Encrypt +Comment: Set 1, vector 102 +Key: 00000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 328B2F4069F398422D78E359F19938B8BFBC9E073C2162A0829265CFD48B89CA +Test: Encrypt +Comment: Set 1, vector 103 +Key: 00000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 02B14A28344C4164DDF0EDB594D581AE847FC0090EE6B933B8B8B91EAE90F5B3 +Test: Encrypt +Comment: Set 1, vector 104 +Key: 00000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 506221E93DBCBA6787757CCBBB0D5CDE9D06CFE3A23A8942A13C5B3849B2D2B9 +Test: Encrypt +Comment: Set 1, vector 105 +Key: 00000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 53A01AD91AE1C7F0DCBE19CF701A895E03FD866F77ABC7B174B327A0576D7719 +Test: Encrypt +Comment: Set 1, vector 106 +Key: 00000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: B27AB67ACB784CB231A76D05B2539F0146F5C2F330987DE2C91AEAF8511DB9D1 +Test: Encrypt +Comment: Set 1, vector 107 +Key: 00000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 682263AAD3FF0B227983D20CB8A8B572427A2EE1B85A7FBB0961C722A7DE70CE +Test: Encrypt +Comment: Set 1, vector 108 +Key: 00000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: E8AA0C754FBFB2BAF1025C8C13101552FA32E4031843E3DC56D2D819476CBFA6 +Test: Encrypt +Comment: Set 1, vector 109 +Key: 00000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 7952391AEB6094458B28B543B9A5AC1DDB0CB18AEB431BE7CC7A4D45CCBEBEB0 +Test: Encrypt +Comment: Set 1, vector 110 +Key: 00000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 138599B1B9406E932D6229A4FFD959EE02E626022342FF233269A00DA1F58384 +Test: Encrypt +Comment: Set 1, vector 111 +Key: 00000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 87FA25FEBEFB539BFA46F9FAF8D62DB8E3C126D7409813A3B2FFC760FF19D390 +Test: Encrypt +Comment: Set 1, vector 112 +Key: 00000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 943B778E6053E3CBC59E9423A6D8AE678D369D5E27AB56D668DAD944D0A238F4 +Test: Encrypt +Comment: Set 1, vector 113 +Key: 00000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 00D31AA7620BEE29169C62966C53058F05709CD7C6A6584AFA80D7B2B7D9414C +Test: Encrypt +Comment: Set 1, vector 114 +Key: 00000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 9A6DD9EAE3286D48A7548C0A8A4CE8FFFB61B362C95C897DCD1CB1D8BBF76DEB +Test: Encrypt +Comment: Set 1, vector 115 +Key: 00000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 8231E89C8C74641DA6CD862B98B5DE749D6751B44361B763DF888F3D2312FAD5 +Test: Encrypt +Comment: Set 1, vector 116 +Key: 00000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: AEE13BA9322E1089262CEB199FD96E8A3C1E29142C6542961CA0B70782A4FD65 +Test: Encrypt +Comment: Set 1, vector 117 +Key: 00000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 89EEFABFFF030B563CAA5965CFF0372E0518BA1BF9A6E07D279C20AF3D52B9E5 +Test: Encrypt +Comment: Set 1, vector 118 +Key: 00000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 9EB46332AE8F271D9613A5FD1D6E1B06ED7A553C874A44A6F3A0615D46AA079D +Test: Encrypt +Comment: Set 1, vector 119 +Key: 00000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: FDB79EB3D755AC9338093917F84742BB1D62197D9730AEFCBAA9B3A4CEEC0B5E +Test: Encrypt +Comment: Set 1, vector 120 +Key: 00000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 64D439442C3FB4B580E0C7BC212F5589B395F6D100AA8165E4599A34F288D31D +Test: Encrypt +Comment: Set 1, vector 121 +Key: 00000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 09F8A382936078076F496A14B7BFD77CF4E549171FBDD8106AD0C2F87FD9C151 +Test: Encrypt +Comment: Set 1, vector 122 +Key: 00000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: AEB59849B6291FC1B8917642088608C4B9EE364C8C1FAE502F1ECD5BFACBC96A +Test: Encrypt +Comment: Set 1, vector 123 +Key: 00000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 006136B68224BF8BF47C0298FE7E2A4B72964A6C9F36EB709C452F0319B6A104 +Test: Encrypt +Comment: Set 1, vector 124 +Key: 00000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 55912F44A9A3493CF0A4DEF2F77978ECE0868ABF30BBAB15A96AFE15575AA90A +Test: Encrypt +Comment: Set 1, vector 125 +Key: 00000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 81BA612B664481588AB16246226CC1B59A08A7FE0FD64B0111C67C4BF344D2C7 +Test: Encrypt +Comment: Set 1, vector 126 +Key: 00000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 6B7930B1609C35095BE581F8F73709A65781DC1D49381411F6474CEBE6D16182 +Test: Encrypt +Comment: Set 1, vector 127 +Key: 00000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 7308AEC23D25A231B26448AFE78D5047804C5011B9B5F95C16DF2670551F0001 +Test: Encrypt +Comment: Set 1, vector 128 +Key: 00000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: FBE855BD6540594E2D90566E7A30F57516EE170817B66C2468615D5D3D5DF03B +Test: Encrypt +Comment: Set 1, vector 129 +Key: 00000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: B072D598869D6EFCC8856A2B4686EF05A37DDB3F26DFEDA2F9C406B7250801F5 +Test: Encrypt +Comment: Set 1, vector 130 +Key: 00000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 0CF58B2665B889C06836E699DC2B4C615106541987229D686D43614D3BFC290B +Test: Encrypt +Comment: Set 1, vector 131 +Key: 00000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: F591E78CE6A8A375CBF821D222A49C862A461DC52C74065BA6349598CC7CB6EC +Test: Encrypt +Comment: Set 1, vector 132 +Key: 00000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: A32B883113DE96B7AFD4ABE8E1703C8D724397542527E27F0CA32C89332980D9 +Test: Encrypt +Comment: Set 1, vector 133 +Key: 00000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 9B2C992F4CA0E70E0DDB03400AD24C4F20AD5F32940537B33F375C7979968537 +Test: Encrypt +Comment: Set 1, vector 134 +Key: 00000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 0DDEEEBC428F117B094FD27B614F6BDFEC0D71D61F8F93F9A09E0443F2FEB659 +Test: Encrypt +Comment: Set 1, vector 135 +Key: 00000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: D58740E259B1C9A5DADD2FA5FFB768ACECD0DA6FE40D7D59F3CF6FCD4838FEDA +Test: Encrypt +Comment: Set 1, vector 136 +Key: 00000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: E6F318C17501C28164BE9CA692E92D4CF4835E2778B126E9841CA0F132CCAA61 +Test: Encrypt +Comment: Set 1, vector 137 +Key: 00000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 3776A0BB5880EB65386F20D11BCF308C2DA3B010F7E2DAF3FB8B55B523E7CBC3 +Test: Encrypt +Comment: Set 1, vector 138 +Key: 00000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 3926539CFD76BB79E50A571D75AA51B94864A79CA5DCAF6CE451FC068E487625 +Test: Encrypt +Comment: Set 1, vector 139 +Key: 00000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: A8D9B6254BCD0BC32CA3ECF7A7A80882DDC178F47D8E91F760883D589D94F45C +Test: Encrypt +Comment: Set 1, vector 140 +Key: 00000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: A2C3810606AD6AAAA571C8A783A686E9F713D0A1238C3E621347622C569C7BB6 +Test: Encrypt +Comment: Set 1, vector 141 +Key: 00000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 902FF7C8DA5B1D171603F48C02E72B611C40E4B15F06BF4A7DB914AAA7E63036 +Test: Encrypt +Comment: Set 1, vector 142 +Key: 00000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 55AAAB17A700544B1384EA512146F65A2F871C30F8EF7AB84DD96E004E924403 +Test: Encrypt +Comment: Set 1, vector 143 +Key: 00000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: E9F049D8DD032202BC5E16F061B0449AEFD91845A4786A045E35739826E283AE +Test: Encrypt +Comment: Set 1, vector 144 +Key: 00000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 6347929B2B5B6634C2674CC4AD3B04B321F7404101E79259A35053E552369548 +Test: Encrypt +Comment: Set 1, vector 145 +Key: 00000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 3C8D318014177555818122F69A95BED7A175464310A9B53DD4AF3C5887970D39 +Test: Encrypt +Comment: Set 1, vector 146 +Key: 00000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: A3CE794DEA39A03EB4337395E3713ACA02E15148CC9302083E9F2FD55A921BF5 +Test: Encrypt +Comment: Set 1, vector 147 +Key: 00000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 2EE444D85842D41D9AEFBB7ECE34EEB71720AFB04498F9B4CFB87C10AC842D3A +Test: Encrypt +Comment: Set 1, vector 148 +Key: 00000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 0050EF8A2E0EAC79CD1BCC82F52F04410DA08263A320DA47B500DD72FBAA3487 +Test: Encrypt +Comment: Set 1, vector 149 +Key: 00000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 51721D61A2032DB004C8B83F7509B045A5190892FBC5AEB9BAA4B27D7969C791 +Test: Encrypt +Comment: Set 1, vector 150 +Key: 00000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 016D3D0A0C9B1EA97A12AB7BFA23BD4A973D5F10C06581A6DA92668BF3B4026E +Test: Encrypt +Comment: Set 1, vector 151 +Key: 00000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 687DAF7B782EB92EE2F8812ABA81A1F8EC353797544602A8EF2D2D6C1AC7EB48 +Test: Encrypt +Comment: Set 1, vector 152 +Key: 00000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 538008D0A4465A705313E0A03DE02BDFF7D9F0F0226F630DAFEA5434D9ADD7EE +Test: Encrypt +Comment: Set 1, vector 153 +Key: 00000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 2F65E608EF3E4C202C347ADDB9733132350A7AC9E544C5D7D76F9527DB3640AE +Test: Encrypt +Comment: Set 1, vector 154 +Key: 00000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 1EF33EF878790A6E16E18377C474700E6AF64C0C56F5FE8E7A1A83D990BB7B9B +Test: Encrypt +Comment: Set 1, vector 155 +Key: 00000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 3369751D8735C5B82164E9FDFAA8B224AA4BD3FC2CD3DC48C60A1C290AE189BD +Test: Encrypt +Comment: Set 1, vector 156 +Key: 00000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 428F02228A58756A94871F5DCB37F54AD21345ABEDECB6D12630E51ADF4D6128 +Test: Encrypt +Comment: Set 1, vector 157 +Key: 00000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 521221AE0F51055948753BAC7A30394DA0F3DCB485364AB512E62D9CDC24FE48 +Test: Encrypt +Comment: Set 1, vector 158 +Key: 00000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 7E44783F40C4A3EBB40E5D4E22A9BECAD3008D8B1AE64929B666664D8D8680D9 +Test: Encrypt +Comment: Set 1, vector 159 +Key: 00000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 48F54AE18072D2E58922EB0B14E4C32CD72807BF436A01164B0B5027ADCE6121 +Test: Encrypt +Comment: Set 1, vector 160 +Key: 00000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 671E9014ABC8FBBA21A307FAFF3FC7C89231ACA932F58C2D79DA323F80B3F87B +Test: Encrypt +Comment: Set 1, vector 161 +Key: 00000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 4473A8EF3585DDC8AB5858DB58FD87FA42E724D2374D7888FCFA66D82B30145A +Test: Encrypt +Comment: Set 1, vector 162 +Key: 00000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: A4AD8D6A847FF420E96E1E592852FC7B362F1E0DBBE417B0CFC80C1200C5BB97 +Test: Encrypt +Comment: Set 1, vector 163 +Key: 00000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: B10D378FB56687BDDE7462A91FD0C42C773097765AC4C332B5007D1D47670EE0 +Test: Encrypt +Comment: Set 1, vector 164 +Key: 00000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 788D00A54C0A6FB10067E08B8F2C60B4DBA05B58D3C8CEEABE49C2FD2FD7D6C2 +Test: Encrypt +Comment: Set 1, vector 165 +Key: 00000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: CC54D8465F9529077237703DF4DC136FCD7A9D2FF3B89FF0D226EA3B234B6113 +Test: Encrypt +Comment: Set 1, vector 166 +Key: 00000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: A0DAF3D3568FA9134C9C1B6EC5137B72715271DEC644F1268FDFA88A89989371 +Test: Encrypt +Comment: Set 1, vector 167 +Key: 00000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 0BBCCB3D83D7B6D3AA96AD5687C4895CD990146E293733A649B4D7EC48E9A93C +Test: Encrypt +Comment: Set 1, vector 168 +Key: 00000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: DDF8388BA3EA8FDC869D54D38D6BFE47FB7C5B6D81B3D80AE8B7DE00F4581EC1 +Test: Encrypt +Comment: Set 1, vector 169 +Key: 00000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: FF4F175CADFA435B31D5766FE6FE73B88B33BF5A87D79A2B47FCEB6BFE6E39AF +Test: Encrypt +Comment: Set 1, vector 170 +Key: 00000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 9B28804310814CF3C9782CB23FAB7FE19D5BDA5E9553F23E7876A6426316365C +Test: Encrypt +Comment: Set 1, vector 171 +Key: 00000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 94831F56AC794746628AF8A0684ABFE6A1113EB5B95939A8223D5C0C08BF52FD +Test: Encrypt +Comment: Set 1, vector 172 +Key: 00000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 689C2CAC1FC6999B8BA48B767A995871D80AB561FADF20D8613274CFFD00BF32 +Test: Encrypt +Comment: Set 1, vector 173 +Key: 00000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 4CC4412727B69CE43E6B85D89F03DAC6982CF867FB98801DA1F0E8720123699E +Test: Encrypt +Comment: Set 1, vector 174 +Key: 00000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 8160A24A68E81E4A839E1C16086983BE98652856CC621B3F7612A8B1324FA33E +Test: Encrypt +Comment: Set 1, vector 175 +Key: 00000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 024B19F8BE7203D9E5589AB96B86BD68A488D7994813D0231C835637B9E59A64 +Test: Encrypt +Comment: Set 1, vector 176 +Key: 00000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 954714BFD736CB391604E77367C2875EF291C02EED35B6DD6A20D58FBADAFB84 +Test: Encrypt +Comment: Set 1, vector 177 +Key: 00000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 6E95756FEA083B4AB4E624B5CFB00E31CAEA9C03CE4A1F51104BF6E7A86495F3 +Test: Encrypt +Comment: Set 1, vector 178 +Key: 00000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 93176B234B0A25F30649FD3172F75F181CD47C75D795FCFD5A537F18B101B24D +Test: Encrypt +Comment: Set 1, vector 179 +Key: 00000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 51637CD02F79DA935C5A317C1F8AC79E47E255E4A83F3F04DBA2998DF5118D39 +Test: Encrypt +Comment: Set 1, vector 180 +Key: 00000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 15C15F38B0CDEC62A426CF4AED25096DCCF1B2C7CF49A223F4D3ED7E06CAD2D7 +Test: Encrypt +Comment: Set 1, vector 181 +Key: 00000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 14520B3D7B8734A8D4E07CAB93744560D60FE7C9122C97F2ADB97D811074D225 +Test: Encrypt +Comment: Set 1, vector 182 +Key: 00000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: F16ED0E9813C694563BF3557D73085C8761642B6B003291B31C681D3A9421E73 +Test: Encrypt +Comment: Set 1, vector 183 +Key: 00000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: BD3B03B8DF1994DDD3BE4509BB2B4AED0F7D0F7638102C58B15ED9DC9FAD5261 +Test: Encrypt +Comment: Set 1, vector 184 +Key: 00000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 45813D3ABF443D14B8519A10BA667F16C2EC757B309B978E26FFE56EE0BA00B1 +Test: Encrypt +Comment: Set 1, vector 185 +Key: 00000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: A13D32CA09C34BBA16813BE8F4D56AF772B67327C7CDE0756B3D5CECEF2BCD2D +Test: Encrypt +Comment: Set 1, vector 186 +Key: 00000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: EC7D07D6F3AD0351131F15816F8044CBB1592324F62903B9DD6180D88E09EF07 +Test: Encrypt +Comment: Set 1, vector 187 +Key: 00000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 873F46936C8CC3A23CCA3EA3288CA070CC41F128296FCE6E7AAD2B7381BBAEBB +Test: Encrypt +Comment: Set 1, vector 188 +Key: 00000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 0AF0BB23EFCF86B273A27D84435F53F9984183E4C0D2F69945E79BAC8674C3A5 +Test: Encrypt +Comment: Set 1, vector 189 +Key: 00000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 7B9A8CD1942564414FE5C1237B680970A306CCB0CF73F1123D2E823D084F3126 +Test: Encrypt +Comment: Set 1, vector 190 +Key: 00000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: C21A4ABA37069F7173A704B16C2DB945301BD4B08D3202BCBCA4AF8E5BA8A963 +Test: Encrypt +Comment: Set 1, vector 191 +Key: 00000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 5B2F725ECF531E569AC6B69408259547B9B054CAAA20B6727FE7654FAE4386D2 +Test: Encrypt +Comment: Set 1, vector 192 +Key: 00000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 58E6E58AD73C9DA9A19CBCBCB6E89B44951781A027D5C5CBEAABD95D55BE1CDF +Test: Encrypt +Comment: Set 1, vector 193 +Key: 00000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 8F076E12AB23D9CABFD006D16E1D554AB367CE88B3FDD44717824387DC9D4B43 +Test: Encrypt +Comment: Set 1, vector 194 +Key: 00000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: C5A351191F18886099542CE6B3025D6F0F4EF8A9A1C804803166BC2699D4B3C2 +Test: Encrypt +Comment: Set 1, vector 195 +Key: 00000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 39BF10576DBE0BA332EF36C38CD96F4F0043B8A0C6CCCCD3521F169821CC4C0E +Test: Encrypt +Comment: Set 1, vector 196 +Key: 00000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 12EC53C9420154F7D5334D4BF94BE3B4CCB044FDF56B4A92E245F016BBE9C057 +Test: Encrypt +Comment: Set 1, vector 197 +Key: 00000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 569D436AFFBB65451ECFDDDC7BABD5608BC183E9437F30B5058C505158BCE7EE +Test: Encrypt +Comment: Set 1, vector 198 +Key: 00000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 4E53AA49C4A8E0A00FA51E3DBE4D6BD6ABC1505C2E3FDADAC282BBDF5987E075 +Test: Encrypt +Comment: Set 1, vector 199 +Key: 00000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: E0BF45509232C9F66517F057FB01C2E0E08906842B59DA4980413F629388C088 +Test: Encrypt +Comment: Set 1, vector 200 +Key: 00000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: CC5A42F9BBCD1A5BE0D8EAC69A184E1693AE5F1C9FDAA05B8CB5330D5D63A2C0 +Test: Encrypt +Comment: Set 1, vector 201 +Key: 00000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 4247A5AA925AEAF29EA9FCC3C942DC47FB1A13213B302FE0C6F33243C631D2A0 +Test: Encrypt +Comment: Set 1, vector 202 +Key: 00000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: DAC043890BB61728CFC30E3A860BFF9474DE05CA104C242BAF498344470319B5 +Test: Encrypt +Comment: Set 1, vector 203 +Key: 00000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 214703F986092730BDF01020A825628FD06CD22C9F385CE14BBB2738A38A1E94 +Test: Encrypt +Comment: Set 1, vector 204 +Key: 00000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: AD3EED667396E27E4EF749BE1BC2D222380AA5C070B7246EB3A8249D9003BE1E +Test: Encrypt +Comment: Set 1, vector 205 +Key: 00000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 57B33C626E776BAAB8D655DD93125D49BFE92177BB63AA9902A44E4CC6F90666 +Test: Encrypt +Comment: Set 1, vector 206 +Key: 00000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 3ABEB777D6240D198677B50B14545714D71D2F46885513688406B201F689C3BD +Test: Encrypt +Comment: Set 1, vector 207 +Key: 00000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 0B9E5A4358BCD0CA1AF306274CA676B515499878D2ACA0AD7865139D36910018 +Test: Encrypt +Comment: Set 1, vector 208 +Key: 00000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 9EAB0FE92E1B83FAE87EF6369BD0EED91D10DCFC5810FA0188D06929CF927422 +Test: Encrypt +Comment: Set 1, vector 209 +Key: 00000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: BC205D90F13A69AA6C45979861B1E5737A69C61F726D252F773E528276B9F1B7 +Test: Encrypt +Comment: Set 1, vector 210 +Key: 00000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: CEB885427DF7C988804E7C2401BD703CBB8F3D3D50AFD6CE9F56D32F802F8219 +Test: Encrypt +Comment: Set 1, vector 211 +Key: 00000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: C61CE53D0A5E771E6AC98830D496079A34ECE8967D737D0EBE393E7549679BA3 +Test: Encrypt +Comment: Set 1, vector 212 +Key: 00000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 842F934F9C3E9690F3AABC753B6C27F7F3EF7B199ABFDA287686F35E2884A2F5 +Test: Encrypt +Comment: Set 1, vector 213 +Key: 00000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: EE357FEC92355A11FDCE30B089E4F5918A90025832DB3562C762A8421F3B6625 +Test: Encrypt +Comment: Set 1, vector 214 +Key: 00000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: C9CC50B7CB29557DCDC64C995B24D2E0E8AD8FBB4906A8DF06D67A69B1AAB8A6 +Test: Encrypt +Comment: Set 1, vector 215 +Key: 00000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: D6DE0F6B51BCBDA8D44D7EEA5F91C85B78F42B6612A35662CE3AB3043E87701D +Test: Encrypt +Comment: Set 1, vector 216 +Key: 00000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: E3F3E3A5317DCBE044E1A97CAD714449DF0F8E9C319F5C12C19917B2F47F1FD7 +Test: Encrypt +Comment: Set 1, vector 217 +Key: 00000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 3A1A26993055B3B30BA84236212646D2622680117D2813316223EDFFA1BBB22B +Test: Encrypt +Comment: Set 1, vector 218 +Key: 00000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 192EE13F6909D98437E8F424DE7DC873D82330DE64B379F3F8985658B00033DA +Test: Encrypt +Comment: Set 1, vector 219 +Key: 00000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: DEB92C0159D40548317AEAF996819352F43CB1E487885A0851234A43E4C5CB2F +Test: Encrypt +Comment: Set 1, vector 220 +Key: 00000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: C671DF68881157258EF58E7C7E712351FC9D743A2C4ECAAC9D3ABE98F9701B3C +Test: Encrypt +Comment: Set 1, vector 221 +Key: 00000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 7A8BA935035DFE8F1DE34EA373FB60E147E6D5572686212BF95B6E0C115D15B8 +Test: Encrypt +Comment: Set 1, vector 222 +Key: 00000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: AA95483043360A3CCD5E98C8D5088F9F7154DA3E36F517C459F03B94EA8B5DCF +Test: Encrypt +Comment: Set 1, vector 223 +Key: 00000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: F716EF1B45585282C50AD6EB1EAD2D19AFBF57235E5D56A015882C55EECC2044 +Test: Encrypt +Comment: Set 1, vector 224 +Key: 00000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: CECA215484E90CE7AF49BED4B5F84543D05CE120973EE8510E0A410FA391BE3F +Test: Encrypt +Comment: Set 1, vector 225 +Key: 00000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 5AF45DB110A67D0CC49D1A1BB5765ACDDD6482BD88664A4A511BEB8DCDDC08B3 +Test: Encrypt +Comment: Set 1, vector 226 +Key: 00000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: E0AFCA91B3CCF0A0C4E332C4F75BC17E5956B0F3A438F0B0ACA0E9B08DA9A1C0 +Test: Encrypt +Comment: Set 1, vector 227 +Key: 00000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: C559C00EB5C49F2321975A264F855C291DB8FF942FC4617193236318D55DA27A +Test: Encrypt +Comment: Set 1, vector 228 +Key: 00000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 88BCDD04989FE085F888A57176463662C57DC70DD3888F427B68BD5A36C3297A +Test: Encrypt +Comment: Set 1, vector 229 +Key: 00000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 3C6302F9C2C8997C41FA0F0187B9E19D14FC2196A001D39F56BF5200E76D4F66 +Test: Encrypt +Comment: Set 1, vector 230 +Key: 00000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 641DA3FF9CC2C5AD625FD131D91E1AE5AD3088DF404384BD885917FD1AFDB9AB +Test: Encrypt +Comment: Set 1, vector 231 +Key: 00000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 1A05DEF28E631857C796D665FA66F8A4743F9A340904EC1C084AB022E63E3A0A +Test: Encrypt +Comment: Set 1, vector 232 +Key: 00000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 04DF8F3469AFEA2F63ECA1FA64FC18F1E42B42F7666BDCBFE6CC1C68614D85A7 +Test: Encrypt +Comment: Set 1, vector 233 +Key: 00000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 21AA974CF45CF84383024A8E7D3427BCD9A0A4F4B2AA83FA44911615B2D9A27E +Test: Encrypt +Comment: Set 1, vector 234 +Key: 00000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 74533E9973B565E0B7F9DB65A63B70BC5840EE4E1B6D927033CC1F733BD78AD1 +Test: Encrypt +Comment: Set 1, vector 235 +Key: 00000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: E818E22E590974A00FBF40C1A1DD100F5C2E3A76C594D129DDE0C9119CC1A836 +Test: Encrypt +Comment: Set 1, vector 236 +Key: 00000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 00BEF3BB9263863455A8736A114E7DF13C903D6D9FE065FED48E6634EE9B9156 +Test: Encrypt +Comment: Set 1, vector 237 +Key: 00000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: A0D418EAA61D8B6234D8B07D4652F61EDA48B00764E124DE5D7545973E4BFB0D +Test: Encrypt +Comment: Set 1, vector 238 +Key: 00000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 21472EDC58EB9D2EDE5D8A24DE18784500420820C388408E2D09C8935D3208CA +Test: Encrypt +Comment: Set 1, vector 239 +Key: 00000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 278849105940CFDF61AB8DF9A37427A24BD452C244988E7CE85B8FF94A913F71 +Test: Encrypt +Comment: Set 1, vector 240 +Key: 00000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 7B35DC73EBA6408C2486D59ADA0A17B89ADC10E405E029E51B8FA7096704DF23 +Test: Encrypt +Comment: Set 1, vector 241 +Key: 00000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: D81FC2305382B4110925F4EEEE6C93C3356B30F4E083B47C0FFB429DC8A317A5 +Test: Encrypt +Comment: Set 1, vector 242 +Key: 00000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: B1CC26F822DAA8B4EF2DC5C08792C21A985D285697C9BC49E038331996F2DE35 +Test: Encrypt +Comment: Set 1, vector 243 +Key: 00000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 565635B8CF39652AD3F94F9658FBF2310A08DC25975102D9E0A658574E5437C6 +Test: Encrypt +Comment: Set 1, vector 244 +Key: 00000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 3A9E77725182484E375528415C99C9BB2795A0841FD9F7E7D2DDE20A6CD71C04 +Test: Encrypt +Comment: Set 1, vector 245 +Key: 00000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: BD3F45893A96EF8C218B3C22079E64BF847F3C41D87F1AC68E62B32E5A59D350 +Test: Encrypt +Comment: Set 1, vector 246 +Key: 00000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 44BBB67723B8FC5778D18FFA60F1A7DF16F2A4583BA07E3B2A9A4286765AF743 +Test: Encrypt +Comment: Set 1, vector 247 +Key: 00000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 06198963CE32DC41A3869CB3893E1602D21EA64DD206C2DEA9FA79F756260BF8 +Test: Encrypt +Comment: Set 1, vector 248 +Key: 00000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 82EA3EC56648E3152D541EA5EA76F9C1D12A373D5183CFFDBC49C0FCE25AC9BA +Test: Encrypt +Comment: Set 1, vector 249 +Key: 00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 2D6F44E5104C9A6B28DA5731FE95AD5ED73051B4D405FCB77D2845A3306CD9EA +Test: Encrypt +Comment: Set 1, vector 250 +Key: 00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 360DF8BA5BA3F245E4751C6B1D81CCCC7160D6DE8CB12B496DEF04A78B0D3DD6 +Test: Encrypt +Comment: Set 1, vector 251 +Key: 00000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: BE0B2DE97E0528C5A135A81F2DA7431C8BF01A456411CB826F1205A9E57A44D2 +Test: Encrypt +Comment: Set 1, vector 252 +Key: 00000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 4CC729EFC23033F244182FBAE629ABF4386CDB279C6394C7CC914724604D8736 +Test: Encrypt +Comment: Set 1, vector 253 +Key: 00000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: BA44E9372A4EDC847FE6601F0DDBCF40864B2BB5C4EFF9B3038F7EAD6672907B +Test: Encrypt +Comment: Set 1, vector 254 +Key: 00000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: DF3109ACA9E8546F5140E6705EDD69EB5512F0C5B3567D6EE132700820839B77 +Test: Encrypt +Comment: Set 1, vector 255 +Key: 00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: D909866F49103120A46CD4F2A98B2A2169E3E9AE7BB5AD36CEBD675F62B73018 +Test: Encrypt +Comment: Set 1, vector 256 +Key: 00000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 63081A9DE55FA28CFF0089A3D4A52568BFC0D3A172B1750180A91BA12EC3E38A +Test: Encrypt +Comment: Set 1, vector 257 +Key: 00000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 7FBD9ADE476739C69CF906B611639D554ECF25BA26AC87A11EF30856DE890D28 +Test: Encrypt +Comment: Set 1, vector 258 +Key: 00000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 495FB031327D3AE9CCA3F449E73571539EF9FD88589B5C3142F5A4461CAFF9F1 +Test: Encrypt +Comment: Set 1, vector 259 +Key: 00000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 1E958BF17F89DD463B49BDE9B05D01DC2557DC4CE072C24D0527E45BA1C8026C +Test: Encrypt +Comment: Set 1, vector 260 +Key: 00000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 92093F21E7CFDCD81765E71ED960121F84C6FE1CDA50B00592ED0DB9A8808FFA +Test: Encrypt +Comment: Set 1, vector 261 +Key: 00000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 122E0C5E19B0636ADE10F1A14FF4CA69EC426B4F311C109F6B137BEE274B1912 +Test: Encrypt +Comment: Set 1, vector 262 +Key: 00000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 2CE82AD1BF9BDA86355188CF5605CEAB73E98BC617CDC3D5C8598F11BA96F6A5 +Test: Encrypt +Comment: Set 1, vector 263 +Key: 00000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: B14A656DB71E54DF9D443E899417FF4F79E033106AA34D8669EEF0E9918FF4C7 +Test: Encrypt +Comment: Set 1, vector 264 +Key: 00000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 47ECD5C02C3D702FC36817981781B1A4593E240773121F763EB788D46E990C5C +Test: Encrypt +Comment: Set 1, vector 265 +Key: 00000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 91B74FC5E6FC8C6C30F33CE83BC0055190373FC589C0516F248227531C6B853F +Test: Encrypt +Comment: Set 1, vector 266 +Key: 00000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: AC8F0393E6D8881EFF753E7CE47EC441106AFE1315E712BB439F2F2DD4318670 +Test: Encrypt +Comment: Set 1, vector 267 +Key: 00000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 5765316B484E3091FB5135ECD4A5356293BD87512688EF14C719B61857767E1C +Test: Encrypt +Comment: Set 1, vector 268 +Key: 00000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: FAD76A9798E8DD194095DACF92F83779DEDA70C413033DADEE55B4C94B98B426 +Test: Encrypt +Comment: Set 1, vector 269 +Key: 00000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 87F337C9D5763F38C679C5EB9A67F72B4581487ABC5ADCD5BABF4C71B5EB6F7C +Test: Encrypt +Comment: Set 1, vector 270 +Key: 00000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 526B4C3E3FE096F47D32A403A7D20EE269A42F68939B2FA8254A1812D9EC6069 +Test: Encrypt +Comment: Set 1, vector 271 +Key: 00000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 342C0D2D0A5048DC98F2E8CDBB84CC610E30BEBC12F7572CB416CBFCFA24039D +Test: Encrypt +Comment: Set 1, vector 272 +Key: 00000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 47D03635744E2D917F799F77A7E09E6F064CE224A4A1D507090DBE200DBD022A +Test: Encrypt +Comment: Set 1, vector 273 +Key: 00000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 0DCE2CCCD9628DD4F6552A020B9447D35DEEFCFE5D8CDD8223AB3BA9090D8141 +Test: Encrypt +Comment: Set 1, vector 274 +Key: 00000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: AC5622C3DDECDB0A46F796596ED595926B2783E6A884D18517F7344CCAB3A2C0 +Test: Encrypt +Comment: Set 1, vector 275 +Key: 00000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 80E59C358DC6F0B5749FEAF45A9BE7F884842839EE6B47024083F52A8636C2A6 +Test: Encrypt +Comment: Set 1, vector 276 +Key: 00000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 8E57504AD8F6DA6D8633D413362E961A6D69B18FA1B501DB846080A5A9C9C700 +Test: Encrypt +Comment: Set 1, vector 277 +Key: 00000000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 4956C679E9B58DDE2185BB018A7D6C61C918FA0AA9D6102E7DEF1183DB768FB1 +Test: Encrypt +Comment: Set 1, vector 278 +Key: 00000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 2C25F9CD0DB2444EE43D0AD2C3AF0303D1487528F45AFD346617D164F80635B9 +Test: Encrypt +Comment: Set 1, vector 279 +Key: 00000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 5292E96CB2110AD3FD231C5B2BCD1A8986333787664D1A551B9B750B2AA39A11 +Test: Encrypt +Comment: Set 1, vector 280 +Key: 00000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: D189129077C79106AEACA4E3463FD0650AC493ED981DC252531C072F18E1E292 +Test: Encrypt +Comment: Set 1, vector 281 +Key: 00000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: F9490DB8BAE36E28E73419D1D57869D760D772DC8752D1DE948262755B4ED503 +Test: Encrypt +Comment: Set 1, vector 282 +Key: 00000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 994EB2D9BE7C9FD547426F295F15DE3BC8F4A2B3955C7028ED890B1DE0FBE21C +Test: Encrypt +Comment: Set 1, vector 283 +Key: 00000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 464BFD1EB42B595AEF9700C7C4C184A2132B5F1E85625592E48A233FA7840EC3 +Test: Encrypt +Comment: Set 1, vector 284 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: A097C32D58D5A932AC9DBEE942DCCE547222E37E97DC3B29A63AAF118D5B01CF +Test: Encrypt +Comment: Set 1, vector 285 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: D3D13CC4379D2817B8CF8E06312FC727A3BA3C58F96E478E4EC5BC7BAEDDCDE4 +Test: Encrypt +Comment: Set 1, vector 286 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 577C709C26BD52547BD7C0D3F9CDEBEC0F266178905C4C067B75A01D799EF910 +Test: Encrypt +Comment: Set 1, vector 287 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 08FCEF6A263916C53AEBB6CCD2623E7BA3C38C871C5A8B64106308B74A7AE1B6 +Test: Encrypt +Comment: Set 1, vector 288 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: A22F794F4913B2B1CD930FA26EC219081F297DE4EC808771C9B375782F891D67 +Test: Encrypt +Comment: Set 1, vector 289 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 52F2C9714DAD06FCF5FD8962131D33952A6D68C2A90B8C08C3AB86B09A2C77C5 +Test: Encrypt +Comment: Set 1, vector 290 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 60BDED5533E692A9F073AAED43A5D5A81378E73A953514ACD5B0997B61848E3E +Test: Encrypt +Comment: Set 1, vector 291 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 38921BE2443A8101FBB44BCB4C5B87AB5026AA34C78B7FCDE07E102E142B6162 +Test: Encrypt +Comment: Set 1, vector 292 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: D49C075CC20268EE889A10E27F2D4EAA99A1764F765621FE97687ECB6067E5AA +Test: Encrypt +Comment: Set 1, vector 293 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 50FC6782B3285D35117C0FA81039A7F264FC4EB492F3B86A233D45F2834F153A +Test: Encrypt +Comment: Set 1, vector 294 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 1CC0B39D670A88D424F5D40B2F9256AF3736689BD82F0EB315AC9056F7EC63A0 +Test: Encrypt +Comment: Set 1, vector 295 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: CF66C3CD4B08CB0E4D25186BF84BE3AAAB1C435F07D12593AD001F70894030FE +Test: Encrypt +Comment: Set 1, vector 296 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 352572656D0EB6E0CE604C1A913ED733D465A480504B61B0F9BBA77122FD20D3 +Test: Encrypt +Comment: Set 1, vector 297 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 096E9F34E6E277EDB994954C3705F6904452001D3A3E799A1D0230D430E207D7 +Test: Encrypt +Comment: Set 1, vector 298 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 277BC612F90A6D0735B86168C021098F134D1627D0FEF38607038415D1BADF84 +Test: Encrypt +Comment: Set 1, vector 299 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 2376E2CE884AEC093E22A3C119D573609225FD5DC9B3EB7602C340D1AB51BDF2 +Test: Encrypt +Comment: Set 1, vector 300 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 3EE2E39ADB49F92D09D55ACC817B5B2F22FB202951AEFB6DE8998D2932145669 +Test: Encrypt +Comment: Set 1, vector 301 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: E508313113570BBB5A1E63F46AB52B57ED0676A061936F093961D34409F1B962 +Test: Encrypt +Comment: Set 1, vector 302 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 198A9A0A5B04AE936CB19E02A5B2A254A2DD5A4D71F6C676C0A826CD261CE8C0 +Test: Encrypt +Comment: Set 1, vector 303 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: EFEB9C3D34865B89275EFB9DCE1929697FC9E68ED9E9E32E2CF267DE57388E77 +Test: Encrypt +Comment: Set 1, vector 304 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 61016E27DF83D9DE642AE01D7D56C4BFE881C8BDEDD15C503BDC28D3F7107754 +Test: Encrypt +Comment: Set 1, vector 305 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 2FB5FDEC05BD94EF5A7F0DEA7A368F7C2B26ABC5789FEAE7B7B6A5E6C364041C +Test: Encrypt +Comment: Set 1, vector 306 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: F765AE08A03CF705D4BE6A6AF8A34CDE7A14F599B2CB7E2FCF2770F0CFD4F7AC +Test: Encrypt +Comment: Set 1, vector 307 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: D38105C4DE4742F16E6AE7C1C3C85A515DA8BC758456E4B5D64C0539B76D473B +Test: Encrypt +Comment: Set 1, vector 308 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: BFE3A705729C82DDE1297DF492A8F8ABAFBF2F436830B3716FC206D6931BBFEF +Test: Encrypt +Comment: Set 1, vector 309 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: B81E7CB312AC5FF0A1795FCD4AD8B3D84FE6C8B796584DE794B7E230823E6AF0 +Test: Encrypt +Comment: Set 1, vector 310 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 605C8D477420CF7D8218CB8A6B3624700BADE8D1384B04995F3C942DE38ABA6D +Test: Encrypt +Comment: Set 1, vector 311 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 87A3F6DC69A7675F27CD00D7A84251366CCCA92775D680EBEBB48B92A5781D7E +Test: Encrypt +Comment: Set 1, vector 312 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 71625BD75BF6A89C643553D382B325EDACCFB4BF5F1617DED0C44BAB96A9F72D +Test: Encrypt +Comment: Set 1, vector 313 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: ADF64E64C1A8D854C421F5AA8CCBE789F3643B0D769A2CDC68D7C3AC85FDB634 +Test: Encrypt +Comment: Set 1, vector 314 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 3C1AB3A3A85B1EEAA057557DBB59FC28479B38BEE67F4CDA0CD49880DC15ED0F +Test: Encrypt +Comment: Set 1, vector 315 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 026071B93A8B85F000539539626BBF664273EA701B63D487208962F8CC14F1DA +Test: Encrypt +Comment: Set 1, vector 316 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 61EC580BC31488BD8993C9B9D6B430BEBAE04F9807F199808CF05B0B4F083F9A +Test: Encrypt +Comment: Set 1, vector 317 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: DF9093A33937B0B3ACAEAC1840C8E1358CC90FB0B6C0834D4CE4F442830127B7 +Test: Encrypt +Comment: Set 1, vector 318 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 5683A2E768F9E105E9ABF7B71DE48833367D19E961D9D95577D2C4E48716EE9E +Test: Encrypt +Comment: Set 1, vector 319 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 1D33978B4B75C10ACB850BBD98BB2CCB31F7D6F561E34AABAEB929C2F7762219 +Test: Encrypt +Comment: Set 1, vector 320 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 6197C557619E4B791888DFD695B4BF55B7F72258968E26B9B74A6A3814267DD2 +Test: Encrypt +Comment: Set 1, vector 321 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 9AD5C65433732C4ABF08BAE9015692F509775FC0450677CB1E76A060974B8807 +Test: Encrypt +Comment: Set 1, vector 322 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 44AA2FB88757EA695083CE00105D5B77C2DCE04EE1315D99040A1495E97EEB42 +Test: Encrypt +Comment: Set 1, vector 323 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 9C637BA9B011A62B15BE522D6C514092358222CDB01A2A35B895B1E57DF1303B +Test: Encrypt +Comment: Set 1, vector 324 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 21774A71C07FC295C4BF477A512445B2AC9AFD6619DCF0124CBD735BC823F945 +Test: Encrypt +Comment: Set 1, vector 325 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 3D74A1E781FEE340DD9D912F6A681F85C0EF78BAE81D3E50A5DB8A311057DCB3 +Test: Encrypt +Comment: Set 1, vector 326 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 5B851E24E32EEB5BFAB09D26E86BBE4DA23C43C8E88635413516825D1F56DC43 +Test: Encrypt +Comment: Set 1, vector 327 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: E79FAFD3076C0F879222F86A0671104F350B115A6AC107F5C66BB673CB047948 +Test: Encrypt +Comment: Set 1, vector 328 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 5E8EBDFCEF4F70640695CF76FE7912F5E77F55095F0A3EC15CE692AED2C7312E +Test: Encrypt +Comment: Set 1, vector 329 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 99EC9D6724631EBC582C22B1B002C8F63B386EF1A96A9E4D162F698F3EC13944 +Test: Encrypt +Comment: Set 1, vector 330 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 9DCF4937F7E089B09AF8F441538E2577E315212AA56EB20209F040BE602509C3 +Test: Encrypt +Comment: Set 1, vector 331 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 063CE595D4EEC463726FDB74E5254B5AFB965D2729D02F1890E70E33C4C7AE49 +Test: Encrypt +Comment: Set 1, vector 332 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 18F5B3F2F2B54FF37C354F3181228FBAA7D337791671988801C19333165EAD35 +Test: Encrypt +Comment: Set 1, vector 333 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 912671C8099032B1C0AE139D8F029B153B22B999DC30170DAAE3904CBDEFF083 +Test: Encrypt +Comment: Set 1, vector 334 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: CAE46BA93F81E1AD26A8FACE45566E162B8F4CAE831B4B80F93D2A809D3C557D +Test: Encrypt +Comment: Set 1, vector 335 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 31708CCF07D82433A61053273FBC5543BAA1A73B836624FF092361E55631531D +Test: Encrypt +Comment: Set 1, vector 336 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: B5F46BFA7B367DCE7998428525483F775D8F5F1A8DB9F7E3EB848F887283028A +Test: Encrypt +Comment: Set 1, vector 337 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 1D1B9489F66B8FDC1902C02CE15E94727352C2F6A302C12A6F9672BC44014F6F +Test: Encrypt +Comment: Set 1, vector 338 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 8EDD86FA2225D954B3F9F57A0433ED692E99F7ED55EF0A8D112468AEA58717A2 +Test: Encrypt +Comment: Set 1, vector 339 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 6F1414CBA350BB5DF73F7B23FCC0859BC2F081374BD4FBA7571DEC9343BD939A +Test: Encrypt +Comment: Set 1, vector 340 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 84535A21BFDE843B9E70AEEC9E5EB915FCEFF57449B7872142AA0669EFF250BF +Test: Encrypt +Comment: Set 1, vector 341 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: C4CC653F5CFA6C13C4693967D4CD1398B8808982F0C1D6D9B4CC9A6FCAF41E8B +Test: Encrypt +Comment: Set 1, vector 342 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 0949688EEF8CFBB88589CAB3EF58912A2C413E413EF122BB7F4C0E17BF723E71 +Test: Encrypt +Comment: Set 1, vector 343 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: AFF2976C45A69940BB88C71381DAEDD767BAF454331FCC5666624EB052CE05CD +Test: Encrypt +Comment: Set 1, vector 344 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: A7D73428AA840EFCBFF0C856409C9B19CBDC19BE376EBC75DFC008A6BC9EAB37 +Test: Encrypt +Comment: Set 1, vector 345 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 3C59AA18035D96933FB938DE0331DBE42DA57B539A77D660DBFA12B62611760A +Test: Encrypt +Comment: Set 1, vector 346 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 1F982024A86CEBEF27F0D19765907131C5EA1385761E92C7432D55A118AF2FD0 +Test: Encrypt +Comment: Set 1, vector 347 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 5D5CE5B2BCEC679BEE0B894E4E0FD2E5ABD345D8F8061A02BD4B1873C3A9B612 +Test: Encrypt +Comment: Set 1, vector 348 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 54C62940FC9BD4D96A0D19CE92F6880B5F45A422DF0400E868020ED5B42BC287 +Test: Encrypt +Comment: Set 1, vector 349 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 6A7B7E894CB7FE3A0153B5CC6E78351A07AEC726CCAF93A2C426C83760974035 +Test: Encrypt +Comment: Set 1, vector 350 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: D2DAC7485B1818A7A2976F164C80AB5FE47B7CBDA4048000D09DAC65857A8387 +Test: Encrypt +Comment: Set 1, vector 351 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 7C545CC73456F1C1B06C5B5A05A9659F5D30A4D78E9D85C29A38735BEF098E0E +Test: Encrypt +Comment: Set 1, vector 352 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 7E3FA28ABB96C7CFAC0DFAFA5BF2E469D75ECF690FA876F3307D851D3CF0AAC4 +Test: Encrypt +Comment: Set 1, vector 353 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 46FFBA6995D7D6A2B58AB5F995AE3A305CB0385242428FD092FE777556AB05B5 +Test: Encrypt +Comment: Set 1, vector 354 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 052E5126AEDA420CC39EEF255B816BD475DBD36635B090D04C43410F40236BE2 +Test: Encrypt +Comment: Set 1, vector 355 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 80BBBFF3EB0CE3976503A85240226D7FE177B4F30C753F081D7E1F3F8F0FC176 +Test: Encrypt +Comment: Set 1, vector 356 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 4A748837D0A7950876ABC89127A6D6FE5B646C7FE9DF8005CBBC3832DFE488EF +Test: Encrypt +Comment: Set 1, vector 357 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 84F35DFA249674C24E6DFB3947E3F3475817DF9548B301D4741B79EF9D26629A +Test: Encrypt +Comment: Set 1, vector 358 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: BEC48DE878DD3533F3614B3A0A4BDF5FB34DBA96AE94508FC0D3927032CC6E61 +Test: Encrypt +Comment: Set 1, vector 359 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 80DDDED6AF53DB0459359FE311F32C5DFE85F281C45365BEA7A2D6BA8A2D5EA9 +Test: Encrypt +Comment: Set 1, vector 360 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 43BA1E833A673FB760B13DA40C509EBB7170CA05E7BD2728A7FDA0EB8E3020B8 +Test: Encrypt +Comment: Set 1, vector 361 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 917FDDD2206E751DBAD9BD2EAA3E1FDD7C6CFC7782367B563DE6E116D0E4A3B9 +Test: Encrypt +Comment: Set 1, vector 362 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 3AD03FD2841A7C8E8BA49100FCA794DAAF29995A9CDCC6D4F868914C890C3BFC +Test: Encrypt +Comment: Set 1, vector 363 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 79A9305A48A10F739B06EBD24DAACBF5289ED6A83415021DB1CAAB542E417DDB +Test: Encrypt +Comment: Set 1, vector 364 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 195DA96825A0F6B94A71E2EDD934FB184F375EEF66411567815A4A6E966CAC0C +Test: Encrypt +Comment: Set 1, vector 365 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 513239A738978DE007138E83F5CD13A0A9BE374CF61B09021767CAE284D5510E +Test: Encrypt +Comment: Set 1, vector 366 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 6BC70608C85D884873CDE727CF2B8A4E9563DA58242C907A3E87C2608AC0F1F7 +Test: Encrypt +Comment: Set 1, vector 367 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: F47D47E5D0013BF10141C7BF92642E4CCCF8020347B59F1FAB145849EEF0A2E1 +Test: Encrypt +Comment: Set 1, vector 368 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 879D4097A300F6575BC2021F218E9AE9FED113AF9B4FC9179C621244A9E2A090 +Test: Encrypt +Comment: Set 1, vector 369 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 91EF2BE82D9080A366AC7C4344E457E5F46DA5BD54DD50C97D2910D1478BFA21 +Test: Encrypt +Comment: Set 1, vector 370 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 0EED2315EF9B9278CCAD8EE2E33493F5A4FDAE31EC1DA863C017E8AEB77C2867 +Test: Encrypt +Comment: Set 1, vector 371 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: FE80FF0F839BE1F911A21C97B36D439ED66F9965293890D98D8A3A98F2CFAE1D +Test: Encrypt +Comment: Set 1, vector 372 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 4E241C22B26385E268F868E37873C36B173625048DAAE4ADE3C2E09D856A8AE9 +Test: Encrypt +Comment: Set 1, vector 373 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 71DA83DEC321D3160433BD8E2C2345921A6505444C9B1949B4D6CE400F1FBDBB +Test: Encrypt +Comment: Set 1, vector 374 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 21FF7AA748E96269211F129671E4F7A25BC55D92A144B7BEEB75F445FDCCDDB3 +Test: Encrypt +Comment: Set 1, vector 375 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 070290F0A10324414DCFD323822ABD2256ADDA0913FEDC70EA53F3F88EEB7AB2 +Test: Encrypt +Comment: Set 1, vector 376 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: A112192AEDC7824247A9239BE92E45928416D086FEA09D4370DDFE862493AF4E +Test: Encrypt +Comment: Set 1, vector 377 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: B0CD1E1BF87C1C63C455C8A285DF739A85706A587CDF0726C4615590DD25BDDE +Test: Encrypt +Comment: Set 1, vector 378 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: F5EBFED2EF7706C5DEF09E94641FDA500100F500E431C601C879CC65CE260DF6 +Test: Encrypt +Comment: Set 1, vector 379 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 02CA5B7EAA7F906B706DD5B13A6C121927EAE22FB51C7259A781A916C5906E7D +Test: Encrypt +Comment: Set 1, vector 380 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 10569B20052606FEEB9956C2882702477F1D48F82B09C0BE1C97C3150F5F7D1F +Test: Encrypt +Comment: Set 1, vector 381 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 95C649C5B1ADCE59BE93F701C01D815D7A32D151179FC1B6610B3A2A98EE1295 +Test: Encrypt +Comment: Set 1, vector 382 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 7E1DD644C151A0C1055E0AEB7A9DBE80BE09CCDE6C69797D00E7B391A6311D1D +Test: Encrypt +Comment: Set 1, vector 383 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 6A82511AEBE5A82B6392CCA180B10F77FF0C14A7CF8CED894E1C8EDF9BAB29DA +Test: Encrypt +Comment: Set 1, vector 384 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: AD05B4B2F644469BCCD1BE1D028B1FB26F270088E56D8B73364F958730B0C9D7 +Test: Encrypt +Comment: Set 1, vector 385 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 8B4110E53906CBD07EC61AC8DC8C97C475085AE6AE6418C45CAD7495B2C2F4A9 +Test: Encrypt +Comment: Set 1, vector 386 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: FC44F97B9B3791B98D941B460C585BC7A485024F2B15370605FA64BEB36F10F6 +Test: Encrypt +Comment: Set 1, vector 387 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 95E1B79F255E9E477D756B0123F22397C723D63F3D6AC710A1647E5D6229AC25 +Test: Encrypt +Comment: Set 1, vector 388 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 523D59EEA567CAE613403BE8C8769E9E375F290D7FA2DFF64C9B41120E96F0C0 +Test: Encrypt +Comment: Set 1, vector 389 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: DCD843BF9123A86C9938CB833C815217E37325B4ECF9A43E8E878ED2CDB257E3 +Test: Encrypt +Comment: Set 1, vector 390 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 4D737BB7B6B2EA155FA64CAA9124588594AD9D3239B03A0B5F1A1670EF37C309 +Test: Encrypt +Comment: Set 1, vector 391 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: D884858B07B3ADC2AB0067E24CEF443AF6D3CB691C7D3EDDFAF672763DF6991F +Test: Encrypt +Comment: Set 1, vector 392 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 24923E668BA92F02D0545738A1F3A81AD3EACC6F3E65A3C6879FEB3D55C3BEF5 +Test: Encrypt +Comment: Set 1, vector 393 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 98006EC6FFEE6DC3FE9D53FC632D1D82E8DC5BCB0BE0BBF1782701F858934432 +Test: Encrypt +Comment: Set 1, vector 394 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 1C7CD45E2FDF746F2F6B7FCE3510DD14CAC7420FDA6BC9C6D3287E894D2B9EF5 +Test: Encrypt +Comment: Set 1, vector 395 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: DF1B2CD5A9A7ADC85A257882E53150F9B3BAD4B5EFEEE8B4B212F8FB08F11194 +Test: Encrypt +Comment: Set 1, vector 396 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 5DF3202330B96E2C8D45284BC1D8CC34C076B18600495EC43F847D09B9AB08C2 +Test: Encrypt +Comment: Set 1, vector 397 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: CEE878EA6317D3B4E2CC695FCCC5EE04B7415B735F2D11B9A8891293D5D5E818 +Test: Encrypt +Comment: Set 1, vector 398 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 3753BC3550155B6880CF1AAE6365FA5EA4F277B4E01FD26133A5C69F5620AC9F +Test: Encrypt +Comment: Set 1, vector 399 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 8FF623E4246D8B7D14904BFB478256CA55EBD9E383B672A91D512AFD606BA629 +Test: Encrypt +Comment: Set 1, vector 400 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: C823B856B5E462FAD71A1D9C8F02CE1FE48650BD53BD620D021ADB1C53C21B84 +Test: Encrypt +Comment: Set 1, vector 401 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 22D0CD94534D8DCC359095D77008069E57851298103A13ACB50BF6FA778CB9A3 +Test: Encrypt +Comment: Set 1, vector 402 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 413F7657C9E46D928AE307FE794D1B10FEEB433D7F829C66118E155227F811BD +Test: Encrypt +Comment: Set 1, vector 403 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 12A9E9ABCC1916594307C982852A6750FFD5D9DCFDA261EC54C2D465BBB0FB64 +Test: Encrypt +Comment: Set 1, vector 404 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: EEB4897AEABADA871D368A00748CB437801933D78A14687EDDB3D526BBC2BFF7 +Test: Encrypt +Comment: Set 1, vector 405 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 2444A95492348F7AB5C8EFE89839C6491833EF227637640F8199262DA70E5406 +Test: Encrypt +Comment: Set 1, vector 406 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: CD0F1C806CE40D9901A04A23B52BBCFF51D20E964BA2ADCFE9AEE7CC8FE4A3B5 +Test: Encrypt +Comment: Set 1, vector 407 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 30E58CD115B75139A5D2ECC5253F6467FDEF4DFA307D11132570F90E657BC254 +Test: Encrypt +Comment: Set 1, vector 408 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 563FF22D971BDFACD7A90EDE80F076126CB16A759FDE6DB83E0DEE71CA48F33F +Test: Encrypt +Comment: Set 1, vector 409 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: D235A2277B7D3A772C3D092D2E3D92248865EFED8C2577D3D087C5BE84891667 +Test: Encrypt +Comment: Set 1, vector 410 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 3CD74A025D1C2044875FE1D97351608E0203CE65F2EB283633505AFDC3C6393B +Test: Encrypt +Comment: Set 1, vector 411 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: FDAAE4CA8FD698D4330AD8217D40C8368AE9A825BE3359CB881FA74315ADA4DD +Test: Encrypt +Comment: Set 1, vector 412 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: A9BBBED3051D1EB40AA806CF6505EBB4A0D3BAE671AFA03BD2586B01ECC6B9AD +Test: Encrypt +Comment: Set 1, vector 413 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 468AC86525069F4A9F1F7036BB2FC3D042296707B9FE8328C9514DA52FCBBCC2 +Test: Encrypt +Comment: Set 1, vector 414 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 96498A45E45E26AA2A1DD58E7374BCDA71420627B332F94FE98E045251B432C0 +Test: Encrypt +Comment: Set 1, vector 415 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 36FB6B4DAE5EDE9971BC2F5A353A3D5954961D9C8F7D38063A9F8556881F1E1B +Test: Encrypt +Comment: Set 1, vector 416 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 4206BEA972707980637FCD2B990F2B8EAE3243C9178487047B1A9BE2C7F6225C +Test: Encrypt +Comment: Set 1, vector 417 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: BF2763F46F4EF8CF40E42B6E4F161785D3478BDD1EA0BFAB30763B98BBC64720 +Test: Encrypt +Comment: Set 1, vector 418 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: E7B97A297B534B1842528055982B7C382CFFDD161D69725789BF0CC35339D0A8 +Test: Encrypt +Comment: Set 1, vector 419 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: F8E68E206729EDF06C9379DC6F87891FFB6D5DD75A040D4F0E17BDF28308E6E0 +Test: Encrypt +Comment: Set 1, vector 420 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: DA69958998715C7517B9864E3A81F5960A48E9071FEB047084683D95A8532751 +Test: Encrypt +Comment: Set 1, vector 421 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 99456A498166535817F3DD3B47696CC74777ADE25DFA5CB5A3DF1A47DBCF0F17 +Test: Encrypt +Comment: Set 1, vector 422 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: D2D061B7FEDCA0663FE8F738042D1CE7D0EFB3BCED73977087FAB06192A361C1 +Test: Encrypt +Comment: Set 1, vector 423 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: ABF4E053FD99A777A5C95F057A1D8D3BC433D212220FE2BD5074C7E7B4AAA636 +Test: Encrypt +Comment: Set 1, vector 424 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 335F971AF070B59191F61547DC555F2AD86B263B23AAD53A80D6DA0C8A73C6BB +Test: Encrypt +Comment: Set 1, vector 425 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: C2EE398458AD869FCFB5DBAD16CB66F2CDEBE8D9D2C0FC4B258553D7D648E281 +Test: Encrypt +Comment: Set 1, vector 426 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 659BDB67C3BB43D43CF53EF14411F9B5B2B3C8C9B961087622BF1F0412596D81 +Test: Encrypt +Comment: Set 1, vector 427 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 21E2DA7422F753B1B625D95BFE5FD1C52CB5DFEDF0F2662EF17416E44F671525 +Test: Encrypt +Comment: Set 1, vector 428 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: C14725058665DCF8D701BB4A3DD5490DDA85E2754D9B233C008B5FC3559837B0 +Test: Encrypt +Comment: Set 1, vector 429 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: BF0D7F94DF1C7CA59CAF588BEDB316CB4E31A578B76C1E5213EB663C0E850F97 +Test: Encrypt +Comment: Set 1, vector 430 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: C81ABCB56C58DB2D5A329C6777091857DA4A5CBCB9D05AD6B0D4A2D4E915A7F4 +Test: Encrypt +Comment: Set 1, vector 431 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: F9D7611F502D0CED242909E032173BAF5A43DAF7009F53E25E109D7F4FEF9981 +Test: Encrypt +Comment: Set 1, vector 432 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 4EC0E7F808A10BFD4676E5CCA67E1D48806F346B702B2827810487EE56907C71 +Test: Encrypt +Comment: Set 1, vector 433 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 34C183C96FE5D9D2B4ED564EE9726551B27E1AF24848B5D711503E88BECBE458 +Test: Encrypt +Comment: Set 1, vector 434 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 3E5EA6B326751B501C91C4A575B0ED6AEA9D60A14908187ACB3FC145B5468131 +Test: Encrypt +Comment: Set 1, vector 435 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: DA3904568BC8844CB594F44FE13F5D663B55EE6995D2232A999D591F2FCE7812 +Test: Encrypt +Comment: Set 1, vector 436 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 9293ED1C3C5B1A91B54A43BC63603F2EAD345EF9A7D3E69BD955EF1B8D36FD13 +Test: Encrypt +Comment: Set 1, vector 437 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 65C5CE0CC96FA6085A23EF00299B6D8518673DC9B8BF764DB595A8A7F8E940C7 +Test: Encrypt +Comment: Set 1, vector 438 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: EF95E25669CF4079F8BA728F41BD115F2913D8CFE0116C86032CD133E4787011 +Test: Encrypt +Comment: Set 1, vector 439 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 7860315B44671B93718FEAB94BBCEE6B1006354914A90C3BF2DA1B6FA62F48AB +Test: Encrypt +Comment: Set 1, vector 440 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 2AA9968D7011FB1F33B97DAD01C2708A6826C030AFCCA35B222B2E47C89F14E1 +Test: Encrypt +Comment: Set 1, vector 441 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: CA9DD4F0771447B9AD0664DDA2921192568C2012246CCF5E95CD6CF3FBC44DCA +Test: Encrypt +Comment: Set 1, vector 442 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 38D51B18372FD7E7A617D7BCBCC658CB16014B05ECA242AF52B40AEDF6952DE4 +Test: Encrypt +Comment: Set 1, vector 443 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 640D035CFD65FE70D089866A53F21D00F86FDB1CEE2880F9FA7D382D424978A1 +Test: Encrypt +Comment: Set 1, vector 444 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: B41B62EC90FA9CC037F1BC74AEED25226917DD3B2B2E5C11EC6AE7601CF3F0E2 +Test: Encrypt +Comment: Set 1, vector 445 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: A4340A36C7E640C83D2401AAE6F9F103BC9B568EF5B7F67663E64B820974B235 +Test: Encrypt +Comment: Set 1, vector 446 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: CAEF6FE59B0C05DDFE4F233412A185038077B7138EE9BA5FF4815C63C2BE84D2 +Test: Encrypt +Comment: Set 1, vector 447 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: F5D76FAAF12F566711DAAAC0E1F71260354FBA7BC0DBC34D7A2B6FE8E19DC672 +Test: Encrypt +Comment: Set 1, vector 448 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: DB1B22D80BD5BEA8D3F5F445E296FF3506C98C6FAE617D6C8DD943BC535AF864 +Test: Encrypt +Comment: Set 1, vector 449 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: DA02BA2C706095D3EB008EFFEB5E501FFF78B59EC34CBCAF0D7CE82268CCAFBA +Test: Encrypt +Comment: Set 1, vector 450 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: F878759262E5C2BA6CBC2091406D4045F876767C475582965B185DC9437ADD1E +Test: Encrypt +Comment: Set 1, vector 451 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: CA268715277F1CABC2062D4EDFD667759829782F793715199EE172917DA35C5D +Test: Encrypt +Comment: Set 1, vector 452 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 01BACD8388BF42064C8E927B3629C0DA82A0FEC4883EC068DC48483C43512BC5 +Test: Encrypt +Comment: Set 1, vector 453 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 3D782388FD4ECBFEBBD49F2FBCF80A687E4CC0B8FEF51F097DEB679F49CB8B06 +Test: Encrypt +Comment: Set 1, vector 454 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 392E11AF1FD4A97ED260B680930C95DF26679260EAE0C025C405CDCDBC8E810D +Test: Encrypt +Comment: Set 1, vector 455 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 10E6AA6CAA90220E6D8963837D9EC3D46F8E9679379345282573753F2093E0F2 +Test: Encrypt +Comment: Set 1, vector 456 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: E3EF5E9644294206A5707EF83C54E5EF5F4DB9841383C3EB767DEA722E9B7D0E +Test: Encrypt +Comment: Set 1, vector 457 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 0EDD01B5FE46475139F14371B548B58C5E33830D6EA6864BFBAB36D25345F8F3 +Test: Encrypt +Comment: Set 1, vector 458 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 7DB72BFBC00A04E38DD4B9F2EA5C0114D19B2956EB959BEAD3E29DFB9BFC9A2A +Test: Encrypt +Comment: Set 1, vector 459 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 7DB561AF481CC8B010BFD18A0216E2554888BBDD4E90B00476809B48601C9306 +Test: Encrypt +Comment: Set 1, vector 460 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 4EAB74E6D12574BCDEF95BC0CAD67C7E04B24472431607EBAD5F915F1116C9CB +Test: Encrypt +Comment: Set 1, vector 461 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 5A48DE560FA1ABF0F85BFF9A0A1928020A6C51AD3FE7C1392C2A875401DE62F0 +Test: Encrypt +Comment: Set 1, vector 462 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 074956F37AF065DBEDB2D68C602A4B65B7D614F8A0B284539E234B307CFDC495 +Test: Encrypt +Comment: Set 1, vector 463 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 9BB4837A582A5CB30579DABEEC41ACCB3786AA9BE52DDC88065BE0FFD33917EC +Test: Encrypt +Comment: Set 1, vector 464 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: E1E690D74FC254D1D2A8238096285CC100013E8A8BB55FE92F6DF69DB217773E +Test: Encrypt +Comment: Set 1, vector 465 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: DFE35C2BC6ADFEBE4D9E8F84160AD6315CA43F0F022DDC629106E008F29C81AE +Test: Encrypt +Comment: Set 1, vector 466 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 8106B2FE206F9F8738BEC324B531E6943F00B20EC35DEADCB508197EEEBA5473 +Test: Encrypt +Comment: Set 1, vector 467 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: E46E36293B659E73FAA1722AF29651621598FF2E92694C99F7BB0C792B93BAB2 +Test: Encrypt +Comment: Set 1, vector 468 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: F3CAB9F84AF81A06F9F350C345B44E053C8F1EE36D62159B4993950BB76D0948 +Test: Encrypt +Comment: Set 1, vector 469 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: E3381C1644BBBB29290D30F15C96956BF4AEFE443FBDA0DB3EF2CEE7081D1DB3 +Test: Encrypt +Comment: Set 1, vector 470 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: A4DD97D2710285907527C4FAE5676774D937FEC609F8489A16384568FAAA699F +Test: Encrypt +Comment: Set 1, vector 471 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 43C608E43584C631E620672EB0A92707C396ACC12CBCE0810A28F7EA3491E0A3 +Test: Encrypt +Comment: Set 1, vector 472 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: A1DC3C2AE54BB2FA291913562F05E021AF361E422D39C89D8CFDBE4B672B63ED +Test: Encrypt +Comment: Set 1, vector 473 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 890CB43DA15A1D69A10EA9322B8C14D61AD537462439A735472CEF9428C8A2D9 +Test: Encrypt +Comment: Set 1, vector 474 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 9119548582EB7EA7F4AA1B224A6825B786F316EAA7AAA18B61B56D64AA4CBA29 +Test: Encrypt +Comment: Set 1, vector 475 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 574DD7CA20662ECBC730FA7CE314094E427FB8250E0F636894B650DA35A7F0CE +Test: Encrypt +Comment: Set 1, vector 476 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 3575DEA861D0F97DA32438DB834020996820BE85EAE5ED15A7983A31C7669C70 +Test: Encrypt +Comment: Set 1, vector 477 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 27EA06CBD196073357F1F790191D14796FE2BEFBE18B8C48D7566528B3DDA4C6 +Test: Encrypt +Comment: Set 1, vector 478 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 11B190730F6EDE90C8B3FEE01E722ADDD21BEB4324A358F86F524E4B7F7AF975 +Test: Encrypt +Comment: Set 1, vector 479 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 07E3CDB5130D8FF7A2A31335AD478FEF10805E266C00646CFBBEE81F2B3C1711 +Test: Encrypt +Comment: Set 1, vector 480 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: A0ED0FFEEBCBF4066EE550E63065B08569B92BCC938002A5469ABD1C397233A0 +Test: Encrypt +Comment: Set 1, vector 481 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 2C9CDE299A4C507EC03C617EACE2358E76BC1AD338FE5A66A9105F18788A8836 +Test: Encrypt +Comment: Set 1, vector 482 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 5163F9C4ECECD047E83BDF1D6EE233487646A96FE43B4B08C41324FD8ECB271B +Test: Encrypt +Comment: Set 1, vector 483 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: AA2AE4BF506AB3D7607A29C3EF90B4C7933EE58ED3AB3720817FE3C611A850AC +Test: Encrypt +Comment: Set 1, vector 484 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: B04B4C802D91D9ADE76EBAFCDBA0A96A8A83DAEB7069370D6E901A42291EB8C6 +Test: Encrypt +Comment: Set 1, vector 485 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 91A99BC40CF38388B4AA77798D720653492CCED5230382ED587A305A2A1A6BCF +Test: Encrypt +Comment: Set 1, vector 486 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 91FB386F3B9AF82F93836005CBD9ED6727B9BBF1F669EAE6D06DA6D04D1AC082 +Test: Encrypt +Comment: Set 1, vector 487 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 01F8956120BF068AE7241BB96FF086C2D67547B549A8743FC0569978F201678E +Test: Encrypt +Comment: Set 1, vector 488 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: A8C562A616F918A669A29C0724B76E3D04B125E0AB5A09E8CE60F54E4816EC90 +Test: Encrypt +Comment: Set 1, vector 489 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: B41D3BC188419DC929D611197D17FB4D29B78CD7FBC03B904219DD8A2FEE210C +Test: Encrypt +Comment: Set 1, vector 490 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: B119861B67AFE45C0134E2336CAC90BAFD1EB94C557EBA6DFDCBE69367B37981 +Test: Encrypt +Comment: Set 1, vector 491 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: A2317FD4C041AF4D87C46FC684FBEE8DB65E4D43E5EA74237988A7EB67404656 +Test: Encrypt +Comment: Set 1, vector 492 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 641794C292A1A590F909D01F175E012671AEBF1E432295AED662E74C1EEA5DD4 +Test: Encrypt +Comment: Set 1, vector 493 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 7984AC47362281DF446BE46AEC5D9A94B842F6F5BCCB01FD564318A49F94042C +Test: Encrypt +Comment: Set 1, vector 494 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 74F84174C9E2EBBEE396727DBB1C9CFAE2809D802F7E7CF8F7515FA3A629ED98 +Test: Encrypt +Comment: Set 1, vector 495 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 7A9E862E27444A492C91CA2EE5E93369FEB74BB881AAC74F895D97E61500FA99 +Test: Encrypt +Comment: Set 1, vector 496 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 638E347CEC7121A668AF985E56F7F3934D852FCF53283B767BAC213337AAE99A +Test: Encrypt +Comment: Set 1, vector 497 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 45DC398895DA1B415708B4BC8B7EF133849E0E8E99945AE4D9C894FDF6D2815D +Test: Encrypt +Comment: Set 1, vector 498 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 1ACF1203B698FE2E3375E251EBBC05D387FECABDE6A9194DF5195F3FBF1E3502 +Test: Encrypt +Comment: Set 1, vector 499 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: F6A064BDC6EE0777B09CC1A0154F28AD282D4D6E48F9DE11CA083B8A9F454891 +Test: Encrypt +Comment: Set 1, vector 500 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: FE68FB721E181EA8A62CDD3CA0278C6EB1344DF07E73676D3F0DC501D99721C3 +Test: Encrypt +Comment: Set 1, vector 501 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 72923AD92EF01BDB90B9639DD411E4540CE0F531A0AE401547FBA03CB850B63A +Test: Encrypt +Comment: Set 1, vector 502 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 0B1D0F485A4DE59658FE61F1F0010D9EF5A2BA97624CC3687D94EE4335777138 +Test: Encrypt +Comment: Set 1, vector 503 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 7423264FBF5EA94BA461BD80B2518B1CAF3757CF5BAB4511144637F5DC917168 +Test: Encrypt +Comment: Set 1, vector 504 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 589FADA29BEA438C12CA96241AA492FCFED48C1C1C05C16C88CD7A8B46E16A0D +Test: Encrypt +Comment: Set 1, vector 505 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 319B5D23945A98C9480E6460CBCB86A8B36038A28500A36182B228060713F58B +Test: Encrypt +Comment: Set 1, vector 506 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: B81B723D3E18A074078B7D041E55B9B130953ECF70BF773273A28E11238651A5 +Test: Encrypt +Comment: Set 1, vector 507 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: E660AC40BC4700D4CE85AA43A2A39A24D0F255E64A9251D7442AEFB6EDFD43A8 +Test: Encrypt +Comment: Set 1, vector 508 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: C27914CB70EA29C06B321E4F61730CE6679A342733738BE72C97EED40802EC17 +Test: Encrypt +Comment: Set 1, vector 509 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 764B78FA0EC12E017D9F7C69FF53FA8FA00E7185888F36DBC3CA9A10A6122FBA +Test: Encrypt +Comment: Set 1, vector 510 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: E2F9F554823B38D2099DD27E0AD6AD69BE137626840B41B7CF081D7881C47CC7 +Test: Encrypt +Comment: Set 1, vector 511 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 403E453BBAF997A75C4517B588431C75BCF01208B378A4F4FBB138217A9CA4A2 +Test: Encrypt +Comment: Set 2, vector 0 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 8000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 2CAE7C0460EE2FC3200923A1B6C2ABEEA746C8B44F6C3FB941BD3AF02A3E6E3E +Test: Encrypt +Comment: Set 2, vector 1 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 4000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 45FAAFBEE792EA704EE3D08CFA9D9F5CF93FEB3443E0049DE5898A48F5A3D92B +Test: Encrypt +Comment: Set 2, vector 2 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 2000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 720F072E7796310AC1BDDD3714581EB95896723DA3E61E0892B43F65A4153965 +Test: Encrypt +Comment: Set 2, vector 3 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 1000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 5E6671D1F792673D63940E69D78A3471B3C150707DA72E6C25CBD2C4DA2B9778 +Test: Encrypt +Comment: Set 2, vector 4 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0800000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 2E96F027C2B62ED2D2EE692A992ACAB827D16FDA71DD98109A645E4094923D3B +Test: Encrypt +Comment: Set 2, vector 5 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0400000000000000000000000000000000000000000000000000000000000000 +Ciphertext: A38D7F334B21394B28A29FC9CBC68AD9F2AE85E7434D1C2F57AAA4C1A49DB759 +Test: Encrypt +Comment: Set 2, vector 6 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0200000000000000000000000000000000000000000000000000000000000000 +Ciphertext: F67B5037CE9193023095D43DE312523F99E6CBCDF43EC00A947284496E311DD6 +Test: Encrypt +Comment: Set 2, vector 7 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0100000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 7DC030A91C39EC8558AC10044AF79D4CCA92BBC8093B3A2456E26350E35EEBDA +Test: Encrypt +Comment: Set 2, vector 8 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0080000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 99260425AA126953E04A3D959F9153404521EC64C3B35E61EEBA67AAD2C1295A +Test: Encrypt +Comment: Set 2, vector 9 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0040000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 65C380354899581B2B40EDDF40A0695FB608DCDD11C6B0C2CA6BB427DB1D2A9D +Test: Encrypt +Comment: Set 2, vector 10 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0020000000000000000000000000000000000000000000000000000000000000 +Ciphertext: BBD1C4488D41FB1B096E835AD29FC3DC5B97496BA638625D78B99C5ABBDFA13A +Test: Encrypt +Comment: Set 2, vector 11 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0010000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 7AFDEE496D690233ED0717E2D92DE3A102FDF902E51E69FFCE244B84A69CA826 +Test: Encrypt +Comment: Set 2, vector 12 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0008000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 06D8C3E7AAC698D143013B364BD7ABC4E4EB6BA82BBAB2A4A0B486E70E24592C +Test: Encrypt +Comment: Set 2, vector 13 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0004000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 727A8BF64932039C3409ED31CFC0171651BA69D551E8073A4BD1D35F31F52336 +Test: Encrypt +Comment: Set 2, vector 14 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0002000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 9EE7CA05C4161860014BEA89FB2DED90B4F0B362AD67789C6045C9C71310A8AA +Test: Encrypt +Comment: Set 2, vector 15 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0001000000000000000000000000000000000000000000000000000000000000 +Ciphertext: E924224559E43960EC44165CAD471CFED381B279B3EA4AF96BDB071BE987DA0D +Test: Encrypt +Comment: Set 2, vector 16 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000800000000000000000000000000000000000000000000000000000000000 +Ciphertext: FF189222046B5F4FB491CDC9A98130D772629F3EF44A06894268C507C25061AF +Test: Encrypt +Comment: Set 2, vector 17 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000400000000000000000000000000000000000000000000000000000000000 +Ciphertext: 6B053BA7765F2A62595A1E83444B52FCF16C8BBBEB21B437E6FC8C5F03B3673F +Test: Encrypt +Comment: Set 2, vector 18 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000200000000000000000000000000000000000000000000000000000000000 +Ciphertext: 0FB836DC6BCDA1C2955CC7A6F25E72C5FFFDE1075D820217157051FB5BD3D3EF +Test: Encrypt +Comment: Set 2, vector 19 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000100000000000000000000000000000000000000000000000000000000000 +Ciphertext: 200EBC8B8217D9A6895253F9366543027E5F493DBA1A5AD4FC7AB66FB806308E +Test: Encrypt +Comment: Set 2, vector 20 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000080000000000000000000000000000000000000000000000000000000000 +Ciphertext: 45B33F2465C674941B7E26C5986E42F6814A71323B420E401DCC8DA200FC3C08 +Test: Encrypt +Comment: Set 2, vector 21 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000040000000000000000000000000000000000000000000000000000000000 +Ciphertext: D2BF0A074053A01A227DC439311BF8BD696203995285A3A2CD3674A0CC6A65B2 +Test: Encrypt +Comment: Set 2, vector 22 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000020000000000000000000000000000000000000000000000000000000000 +Ciphertext: 5FFFAB58BA2CB27AE92E10F36F99A8EFEDF9DE2446A9C2E82E48F22FB1ED8C5D +Test: Encrypt +Comment: Set 2, vector 23 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000010000000000000000000000000000000000000000000000000000000000 +Ciphertext: 835A1BD7A3688BA0F7C572417A06FCCBCE0A69C7FCDF10C8BCF4469AE80DF11E +Test: Encrypt +Comment: Set 2, vector 24 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000008000000000000000000000000000000000000000000000000000000000 +Ciphertext: 559D1BECB3DBBE40A7E31C66D97D292821B934818172553FC1CE68AD8E6A741F +Test: Encrypt +Comment: Set 2, vector 25 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000004000000000000000000000000000000000000000000000000000000000 +Ciphertext: D962BE9A9C4F8DDA6F0EC42DB8B48FA14A1E91E639BD85FF26A2543D9FDFA9A9 +Test: Encrypt +Comment: Set 2, vector 26 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000002000000000000000000000000000000000000000000000000000000000 +Ciphertext: 588B2319C62ED25ECEAB7C327B212F5FCD5D89DE8A85AA3713BF332CF5F715DF +Test: Encrypt +Comment: Set 2, vector 27 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000001000000000000000000000000000000000000000000000000000000000 +Ciphertext: 67EDE571C64AFF87D7AE5294E64F1709F920A10D278E1629FC8B2BE7EF5ABE0D +Test: Encrypt +Comment: Set 2, vector 28 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000800000000000000000000000000000000000000000000000000000000 +Ciphertext: 60D9E58A6828847F9644DC165EB508B5A2BC67219B969B605B3CFAE109C9CE47 +Test: Encrypt +Comment: Set 2, vector 29 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000400000000000000000000000000000000000000000000000000000000 +Ciphertext: 5A0C538CB78F13404BF8D8AF5C43A17F04AD0D35DAD45F88E26B9D1C204B5AFB +Test: Encrypt +Comment: Set 2, vector 30 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000200000000000000000000000000000000000000000000000000000000 +Ciphertext: 724EE8B7D7BCAC2587C42D92FFCDF7EDFF91F06AD43ED353F332E1FAC3B70F5F +Test: Encrypt +Comment: Set 2, vector 31 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000100000000000000000000000000000000000000000000000000000000 +Ciphertext: D50F11DACBF340C1315419D1983028DCED83F8350FE50DA4F9554DFA641E99E1 +Test: Encrypt +Comment: Set 2, vector 32 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000080000000000000000000000000000000000000000000000000000000 +Ciphertext: 9460ACD1B739015ED197B2659353AAC465339FAD9D1AFB845A337630332C1C55 +Test: Encrypt +Comment: Set 2, vector 33 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000040000000000000000000000000000000000000000000000000000000 +Ciphertext: 7D7A56F8A89463C4CE519B96854200C6E05703651CE3ACD5549B59D0B9788B93 +Test: Encrypt +Comment: Set 2, vector 34 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000020000000000000000000000000000000000000000000000000000000 +Ciphertext: D07E4F830ADF1DE4886C614CDB6B3D988884293AE65A63B3E9886A8727C022B2 +Test: Encrypt +Comment: Set 2, vector 35 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000010000000000000000000000000000000000000000000000000000000 +Ciphertext: 56CCEC1812B3B83086208DBF0C98119DC1CAE316E91B09F4F6F36BDCF73F8873 +Test: Encrypt +Comment: Set 2, vector 36 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000008000000000000000000000000000000000000000000000000000000 +Ciphertext: E8C3012B0EEB2D18DEA4C06BAC2906DF858BFB8A4D86D6841C02A9E45B2D0455 +Test: Encrypt +Comment: Set 2, vector 37 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000004000000000000000000000000000000000000000000000000000000 +Ciphertext: E10FB90CB2F5F830763FCEFA386A8E70052AB8994A55DC95FEDF8B71E11D2636 +Test: Encrypt +Comment: Set 2, vector 38 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000002000000000000000000000000000000000000000000000000000000 +Ciphertext: 848DFB81A0D4D13A40F9119AB77A3B6D2B96E76396B39984739FDF31ADBC376F +Test: Encrypt +Comment: Set 2, vector 39 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000001000000000000000000000000000000000000000000000000000000 +Ciphertext: 61068A490E20E07686D8A77B81718A3214508E3FE3DA6A6BBAA8ABD67B98623F +Test: Encrypt +Comment: Set 2, vector 40 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000800000000000000000000000000000000000000000000000000000 +Ciphertext: 9197E2A5212260324CA6E6FA0BBA56B4E5D9934C8B9E42D9F43E901C0994082C +Test: Encrypt +Comment: Set 2, vector 41 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000400000000000000000000000000000000000000000000000000000 +Ciphertext: E9DC3C1445CBFF1B863CF3FB6B338B4EC29F2C083E65A4BBCC2F1FAC22CCA8DD +Test: Encrypt +Comment: Set 2, vector 42 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000200000000000000000000000000000000000000000000000000000 +Ciphertext: 80039358C99E64A255D5E4E334C830FFEC8E0CBF2EB6030DE7DCE1A938821938 +Test: Encrypt +Comment: Set 2, vector 43 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000100000000000000000000000000000000000000000000000000000 +Ciphertext: E508D93429BBE95EE38672A2F653841701F391C68235391367F16415C2C84ADC +Test: Encrypt +Comment: Set 2, vector 44 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000080000000000000000000000000000000000000000000000000000 +Ciphertext: 710463874DF68B8930CC5CD6A00ABA2BCE27352997F2582EF472ED5F5AFE75A8 +Test: Encrypt +Comment: Set 2, vector 45 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000040000000000000000000000000000000000000000000000000000 +Ciphertext: E90AD04D26F4FF6D25D193CD2C34A2E1C6A1E570CCC705B873CACC94E61F79A7 +Test: Encrypt +Comment: Set 2, vector 46 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000020000000000000000000000000000000000000000000000000000 +Ciphertext: 8E19B69D55C9A2B2CCEACB50EC8007F39C81A0F261A8568D1298967C132BB790 +Test: Encrypt +Comment: Set 2, vector 47 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000010000000000000000000000000000000000000000000000000000 +Ciphertext: 4051E2FA9032676DC6E11CE947C64C9A0C0FC262AA41F40FA0C4093D1E4FA924 +Test: Encrypt +Comment: Set 2, vector 48 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000008000000000000000000000000000000000000000000000000000 +Ciphertext: 5DA6F415CCDF1A2D3335A0BEBB879D88CB9C871744111004C0E5AA6D27EB0311 +Test: Encrypt +Comment: Set 2, vector 49 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000004000000000000000000000000000000000000000000000000000 +Ciphertext: 684C24EC1DD06F6B565890190BE1F8BC7F4537CF5F9CF038ECB6D1D86164503A +Test: Encrypt +Comment: Set 2, vector 50 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000002000000000000000000000000000000000000000000000000000 +Ciphertext: 6D259C132726524987D4FD96C1ECD943D6B87BB98C61C4FFE41E282EC82F246A +Test: Encrypt +Comment: Set 2, vector 51 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000001000000000000000000000000000000000000000000000000000 +Ciphertext: 14707F80CC43E4E6321362B0ACFF84FE57E9D477B56637D01CAA09B232D726C5 +Test: Encrypt +Comment: Set 2, vector 52 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000800000000000000000000000000000000000000000000000000 +Ciphertext: FE98609B71F9CD65CD377C98BC4117EC8708E58D15361F9CAC02C64F0452B80D +Test: Encrypt +Comment: Set 2, vector 53 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000400000000000000000000000000000000000000000000000000 +Ciphertext: 1B78E77F935EBA86B28C9B37818245E2865AF84A73C9DAA735E42E6009AA07F3 +Test: Encrypt +Comment: Set 2, vector 54 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000200000000000000000000000000000000000000000000000000 +Ciphertext: F354ADD75ED9E121B1BFAD9483C6825AEF57BAA2DF08B519640E022E196B313F +Test: Encrypt +Comment: Set 2, vector 55 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000100000000000000000000000000000000000000000000000000 +Ciphertext: 7E0D7DCC0642CD5BF0C39460C4C183E5F321BCAB5EEA0AC7021E1AECE423E2A9 +Test: Encrypt +Comment: Set 2, vector 56 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000080000000000000000000000000000000000000000000000000 +Ciphertext: D1CCBD3EEA6ACF918569BEC2C900723B4359CA19C58E32ED65FDCBAA30A41C98 +Test: Encrypt +Comment: Set 2, vector 57 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000040000000000000000000000000000000000000000000000000 +Ciphertext: 361246D37645483C6D13C6500326694A0D577604CDF7CD36586B6C7F96FBE077 +Test: Encrypt +Comment: Set 2, vector 58 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000020000000000000000000000000000000000000000000000000 +Ciphertext: 0BC890CF369C233EDB99A51CEC75BFF60FB36BFB3EC15F253054F8865CB16DFF +Test: Encrypt +Comment: Set 2, vector 59 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000010000000000000000000000000000000000000000000000000 +Ciphertext: B5ED5183A00C882F8D213AFCE35C14E940407B7C2A8C9A5A19F289AED42DFAD7 +Test: Encrypt +Comment: Set 2, vector 60 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000008000000000000000000000000000000000000000000000000 +Ciphertext: 22B4EA3A5718D6CEE4EA78725F5BAC735C539C343D7B45121EDDA22CA39D9413 +Test: Encrypt +Comment: Set 2, vector 61 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000004000000000000000000000000000000000000000000000000 +Ciphertext: 94ECEC21BC3426C7214F266B6442F85B6AE765BD6206A951B2AA14505D19FBCA +Test: Encrypt +Comment: Set 2, vector 62 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000002000000000000000000000000000000000000000000000000 +Ciphertext: EF77932A5749126D65BD88330C18D91EDBB7FB53D7B3B675EE148EFC893559B9 +Test: Encrypt +Comment: Set 2, vector 63 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000001000000000000000000000000000000000000000000000000 +Ciphertext: BB9E132DC5DE8035433FBEAC46395E861BDA17A4892FFE6BD1B10D6B4D6AE0F3 +Test: Encrypt +Comment: Set 2, vector 64 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000800000000000000000000000000000000000000000000000 +Ciphertext: 7B536CF871F7FF406AD640683F405F0E14D72E77CDD2AB091D9A8E169155CE24 +Test: Encrypt +Comment: Set 2, vector 65 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000400000000000000000000000000000000000000000000000 +Ciphertext: 2417835AB4BD0A1D3439310480224C52796F3DB3536419F51A09551DFD4A6799 +Test: Encrypt +Comment: Set 2, vector 66 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000200000000000000000000000000000000000000000000000 +Ciphertext: 8E49C9819DFF2DEFCD8DF3E9EA910F79A9A932F43E4B763D6988CC0924C20544 +Test: Encrypt +Comment: Set 2, vector 67 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000100000000000000000000000000000000000000000000000 +Ciphertext: 1D364FDEFCB51560E4408CF25FC05E7698235D271E725590533CE24E3F3EC1EE +Test: Encrypt +Comment: Set 2, vector 68 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000080000000000000000000000000000000000000000000000 +Ciphertext: F1C0422AC64E4D566E799ADA6CE33B59C31051C55ED2212841460CE330F2763E +Test: Encrypt +Comment: Set 2, vector 69 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000040000000000000000000000000000000000000000000000 +Ciphertext: FA90883588183011F2748ADBC5217BA38CF6787FFD8BFCBEA06ADE193B1313C5 +Test: Encrypt +Comment: Set 2, vector 70 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000020000000000000000000000000000000000000000000000 +Ciphertext: 84EE69F947AEAAA0F1F2DA8C1508733D31F62FEBCF7085C68DEA5A602A566EBF +Test: Encrypt +Comment: Set 2, vector 71 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000010000000000000000000000000000000000000000000000 +Ciphertext: 260C06AB73B581E29C34FEE05363F532D4C693B5E8025291FC99C48F9CFCEFF8 +Test: Encrypt +Comment: Set 2, vector 72 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000008000000000000000000000000000000000000000000000 +Ciphertext: 98184C744C6A24B329A7827CE0F5B30AE709493A22F9064D1C3F7FED046D1C2A +Test: Encrypt +Comment: Set 2, vector 73 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000004000000000000000000000000000000000000000000000 +Ciphertext: 3CCDF1C3103B356E7A460410D91F1F00F749EB96F3E89F91248FB5E0949806EF +Test: Encrypt +Comment: Set 2, vector 74 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000002000000000000000000000000000000000000000000000 +Ciphertext: 49AB6245E93A6CF84BF66A7451D134535362CB8A8CE2E47012BF8B4EF02894D4 +Test: Encrypt +Comment: Set 2, vector 75 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000001000000000000000000000000000000000000000000000 +Ciphertext: 7A92C7BB97CB99AD15EA9DA3A629031901840D23EA4227C699944882E2E8F3CC +Test: Encrypt +Comment: Set 2, vector 76 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000800000000000000000000000000000000000000000000 +Ciphertext: 00FC7EBE56FCB696D9606FBBEEA6955871B7A03CDCAAE25DFC47D06145371AD3 +Test: Encrypt +Comment: Set 2, vector 77 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000400000000000000000000000000000000000000000000 +Ciphertext: FFF7327A979B527486052C1B99DECCFCC5E680D39613DE4107E8A04980DDFD70 +Test: Encrypt +Comment: Set 2, vector 78 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000200000000000000000000000000000000000000000000 +Ciphertext: 1E950B49D7D446867ED48272D220BCCC35B104A76A107880FB37D8AE55E69F58 +Test: Encrypt +Comment: Set 2, vector 79 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000100000000000000000000000000000000000000000000 +Ciphertext: 3B97EDED4E70497DAE02FD51E10AB26888096D2D182A7BC7EE55B6F3243E0144 +Test: Encrypt +Comment: Set 2, vector 80 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000080000000000000000000000000000000000000000000 +Ciphertext: 94414A0116665FFD8D1589B050A1663DBA15463206DA4E6A735B58FA7B4AA7ED +Test: Encrypt +Comment: Set 2, vector 81 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000040000000000000000000000000000000000000000000 +Ciphertext: D586FFCBBF32561B9659306068DD31C2A1FBC8DDF99CF0BDAB3DCC0664B403C7 +Test: Encrypt +Comment: Set 2, vector 82 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000020000000000000000000000000000000000000000000 +Ciphertext: 061E17DB1EAF9884C940B8C72E884C8D9D46819FDDF6724239168DDBEE170B9B +Test: Encrypt +Comment: Set 2, vector 83 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000010000000000000000000000000000000000000000000 +Ciphertext: D70F322E45E1D64B3D91249E9DE766DB7EF9084120C13D0215F31A6DE2E791C6 +Test: Encrypt +Comment: Set 2, vector 84 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000008000000000000000000000000000000000000000000 +Ciphertext: 5018967FCA5E67F24DCCE2190D24CD3E24A0B709B70DC38F1A4B4FE39CDCD2E5 +Test: Encrypt +Comment: Set 2, vector 85 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000004000000000000000000000000000000000000000000 +Ciphertext: 9108A0540D8D02658268185F06DFF6F2248681D0D9F9F4C6658942FC27C68246 +Test: Encrypt +Comment: Set 2, vector 86 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000002000000000000000000000000000000000000000000 +Ciphertext: 6595E74A5943DFE1A3FC19ADEBF190CDEC4C2EA0B7CCC6364E0AF7222CCEAA46 +Test: Encrypt +Comment: Set 2, vector 87 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000001000000000000000000000000000000000000000000 +Ciphertext: 5F156FB20AFD4BC0E4E4B2BA7700A38FFCAF9229E3CBA8C99915B692A76ACDEA +Test: Encrypt +Comment: Set 2, vector 88 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000800000000000000000000000000000000000000000 +Ciphertext: F0584D66033584791BED0EB67D2A73AA918E0F88F08683DC1F67DB7DD3375326 +Test: Encrypt +Comment: Set 2, vector 89 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000400000000000000000000000000000000000000000 +Ciphertext: 5EB0956E3DA8ECFC571D5BD1C4EF430FBB10117C6684B8530B6552B812780EBF +Test: Encrypt +Comment: Set 2, vector 90 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000200000000000000000000000000000000000000000 +Ciphertext: E8C8CB56ED63B5BA16DD833CC9C7AC77E425C284FFD547E8F9FE10410CA02FF3 +Test: Encrypt +Comment: Set 2, vector 91 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000100000000000000000000000000000000000000000 +Ciphertext: 68704A278A231ED468C1F0CFF43A4FC61253EACBE2BDCE1ED86D89F43263016D +Test: Encrypt +Comment: Set 2, vector 92 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000080000000000000000000000000000000000000000 +Ciphertext: CA16F899842EE79CBAC4D7CD67172C7DD537E6EA21D48C15B0B34B29BF87E79B +Test: Encrypt +Comment: Set 2, vector 93 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000040000000000000000000000000000000000000000 +Ciphertext: 9E6E7B31FF5D4D5C7D1C264273A27DA542BFCC6116B7DFDEF6332690B7304BDD +Test: Encrypt +Comment: Set 2, vector 94 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000020000000000000000000000000000000000000000 +Ciphertext: FE466983DED41AFB1908DF12A5532054C6DB320F0ECBDCE7610BBE2A07AA7F68 +Test: Encrypt +Comment: Set 2, vector 95 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000010000000000000000000000000000000000000000 +Ciphertext: D2D93C1B66FD710F8B72564A44ACA93995938FEE7C38DE482C9586E3413EB40C +Test: Encrypt +Comment: Set 2, vector 96 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000008000000000000000000000000000000000000000 +Ciphertext: 6623F853780833A60B60E6467CFA3D3D000228F2C8334F8B00CFE119133D41C7 +Test: Encrypt +Comment: Set 2, vector 97 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000004000000000000000000000000000000000000000 +Ciphertext: 1CED4727527E1C3107A89E77645241D240F3F113AC2BF8319E5D8EFF68997595 +Test: Encrypt +Comment: Set 2, vector 98 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000002000000000000000000000000000000000000000 +Ciphertext: FA450B3D8A7C03B643DF6EC70867D0502AE20235335AF5932A7016D71A6059A4 +Test: Encrypt +Comment: Set 2, vector 99 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000001000000000000000000000000000000000000000 +Ciphertext: A6F76AB74CE44538579369F5367B826C4EA72EB6EE08A0CFE1272EB435FDFEFC +Test: Encrypt +Comment: Set 2, vector 100 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000800000000000000000000000000000000000000 +Ciphertext: 8108B48A62A0E0CD58B066C10613E2B589CFB0BCEF4EB58BBF8C88E84A2CD258 +Test: Encrypt +Comment: Set 2, vector 101 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000400000000000000000000000000000000000000 +Ciphertext: F335D10835B018414786D30923663B77B2E0CA65423B96BFA885B9797138CF4F +Test: Encrypt +Comment: Set 2, vector 102 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000200000000000000000000000000000000000000 +Ciphertext: 87D8E75FEDA12025B9517BBF8421E837872E8978E48DA51BB8B8574C04731091 +Test: Encrypt +Comment: Set 2, vector 103 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000100000000000000000000000000000000000000 +Ciphertext: B8A50E6EDFF9711C6064812423F5DC5D77970BE65B545C042A02BACB30A4CD6F +Test: Encrypt +Comment: Set 2, vector 104 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000080000000000000000000000000000000000000 +Ciphertext: EB98815E5A9337DF35F98D7CF27183EC8423D5F9D145326638B864E0F994DD7D +Test: Encrypt +Comment: Set 2, vector 105 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000040000000000000000000000000000000000000 +Ciphertext: 3E5DDB36ABD739986483DE7A9EEF2468461A02B55CAA24100394442F0946F337 +Test: Encrypt +Comment: Set 2, vector 106 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000020000000000000000000000000000000000000 +Ciphertext: 809F726C3BB19BD09D4412B64777085D968ED4E612286008C4BAC69F671E7E31 +Test: Encrypt +Comment: Set 2, vector 107 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000010000000000000000000000000000000000000 +Ciphertext: 28F2EE8D382DF1AB0CF82B93C7A09B87180E8D19C35657302EFE1B1C4CA11ED4 +Test: Encrypt +Comment: Set 2, vector 108 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000008000000000000000000000000000000000000 +Ciphertext: 76E6887FC464215C9576BB233F5A3A7D98CA73F9B2D06E3BB81BC34AF02C8CE9 +Test: Encrypt +Comment: Set 2, vector 109 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000004000000000000000000000000000000000000 +Ciphertext: E8CEF712D7AF841C4FE7800CB04C27E25BDB41BECFA894588F73776CAAE2A0FA +Test: Encrypt +Comment: Set 2, vector 110 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000002000000000000000000000000000000000000 +Ciphertext: 868D3A678A216D01A765046E2991A21F9626493063AFE771E3369E5DA2BA7E9B +Test: Encrypt +Comment: Set 2, vector 111 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000001000000000000000000000000000000000000 +Ciphertext: D6465061FA1B143E1F6A3FCC1601D2D9FAEEF995C457E9EE301A27E8139D1AFE +Test: Encrypt +Comment: Set 2, vector 112 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000800000000000000000000000000000000000 +Ciphertext: B42BB57D2F25612AAB33EF3213D6D210D9831502A1C4D51C4E72148CBB9893D1 +Test: Encrypt +Comment: Set 2, vector 113 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000400000000000000000000000000000000000 +Ciphertext: CE0EC3C44BFAABE6E18B3506E01199B0F2E0BCA4EA6C29D367EDDD0E83A1C65F +Test: Encrypt +Comment: Set 2, vector 114 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000200000000000000000000000000000000000 +Ciphertext: 627101F50E134D6F33EF70AF0E32A3AF7C3237E3A5D99319719F175DD0392383 +Test: Encrypt +Comment: Set 2, vector 115 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000100000000000000000000000000000000000 +Ciphertext: CBCC83BE624059BD8B950BCF486AFBC342CF3575EBA6950FB39C03DB4822EDD9 +Test: Encrypt +Comment: Set 2, vector 116 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000080000000000000000000000000000000000 +Ciphertext: 5EAD7961798903C315DD89BE57105FEA164CA06A4ECDBB5CB10B76711C3E49A0 +Test: Encrypt +Comment: Set 2, vector 117 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000040000000000000000000000000000000000 +Ciphertext: 69169E6E11EAC935E12E6E30EFCEDD7236EAED9C5E1E3B215CD7167AB88B199D +Test: Encrypt +Comment: Set 2, vector 118 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000020000000000000000000000000000000000 +Ciphertext: 5B08F07728399920CA30DC57CE94CAE85A44530033B2AE6BB7F8E29D7934C437 +Test: Encrypt +Comment: Set 2, vector 119 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000010000000000000000000000000000000000 +Ciphertext: 8FAD35B4FBC3BBAB2F4BF00D8A1651BE3FD77085AC5E6C7F6E2EDF5048F86068 +Test: Encrypt +Comment: Set 2, vector 120 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000008000000000000000000000000000000000 +Ciphertext: 71B22D911D9E754A76EC052CD7DC503CDE9A16E9043A04CFA244D8EB19FC21AA +Test: Encrypt +Comment: Set 2, vector 121 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000004000000000000000000000000000000000 +Ciphertext: 062A10B7F5E3E8D7F3FC2C14E10EC9CA947A8FDC0EBC01E3A127BAFE689D6577 +Test: Encrypt +Comment: Set 2, vector 122 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000002000000000000000000000000000000000 +Ciphertext: 0FC375F0F68567F1827C7218132B434E84DA6377DB50AB330E8D9BD2754BD1B8 +Test: Encrypt +Comment: Set 2, vector 123 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000001000000000000000000000000000000000 +Ciphertext: 0E4C1117D462EEBCF5FCD7AC9807AF40C403910421CD19A4634B1C86113EB387 +Test: Encrypt +Comment: Set 2, vector 124 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000800000000000000000000000000000000 +Ciphertext: A9DB2CD2A23780D8BC5A2567961BCA24A41531157D4A229046B47DE48CAE0FDD +Test: Encrypt +Comment: Set 2, vector 125 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000400000000000000000000000000000000 +Ciphertext: 7195678F00F98B00706E7C497E5FA2BC648EDA00B4B7DFAC6234C8232DF8E071 +Test: Encrypt +Comment: Set 2, vector 126 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000200000000000000000000000000000000 +Ciphertext: E5C1970C7C0B8E7E1BF871219486359C2E5037BE6E8E637BDB9F11051FB36A16 +Test: Encrypt +Comment: Set 2, vector 127 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000100000000000000000000000000000000 +Ciphertext: 2426496DC3B09404B609157E2273D526C3E6909B82F65527B42ABDD6348CF602 +Test: Encrypt +Comment: Set 2, vector 128 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000080000000000000000000000000000000 +Ciphertext: F9870238947E1575AF11D14D12E593163B98BA12E79F05563CBFFBCFB23FDC38 +Test: Encrypt +Comment: Set 2, vector 129 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000040000000000000000000000000000000 +Ciphertext: 2B1E410ACE9E8875F965A29D90773B68CAC452AE98CEB5922B7BAD936ACC421B +Test: Encrypt +Comment: Set 2, vector 130 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000020000000000000000000000000000000 +Ciphertext: 180285A7AD7DD8FFD619970804F0FDB9706D5F5C467F815D0B1A455DED9D9300 +Test: Encrypt +Comment: Set 2, vector 131 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000010000000000000000000000000000000 +Ciphertext: BAEB5C1C68D72F1AE4735F6B75CDF9265E4F6F55DA934C4F118A3728AA2BC0D5 +Test: Encrypt +Comment: Set 2, vector 132 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000008000000000000000000000000000000 +Ciphertext: 9DEBFCC984F55E97C0064335C8A4B7489B7BDD75560EA51982114FCE4D481032 +Test: Encrypt +Comment: Set 2, vector 133 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000004000000000000000000000000000000 +Ciphertext: DF3B0B54DF4D1814A6F46B8F8B37E27AE8B9EC54B97BF9C523F1EC713EDDFFEE +Test: Encrypt +Comment: Set 2, vector 134 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000002000000000000000000000000000000 +Ciphertext: 37AA04C74A1E8ED165BC1B4C97265A32B5579D9B2A7B7C883A98B616D5C24FAE +Test: Encrypt +Comment: Set 2, vector 135 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000001000000000000000000000000000000 +Ciphertext: 83815356746186AE4CC327AB3A8CE04EF66ABD32D44D7089F1D7E301BFE006D6 +Test: Encrypt +Comment: Set 2, vector 136 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000800000000000000000000000000000 +Ciphertext: 2C6C7878E099F55653CA784A0BE4C9EC6201AFDCF99CDDC1ED862D4FE88CFDC8 +Test: Encrypt +Comment: Set 2, vector 137 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000400000000000000000000000000000 +Ciphertext: 424804513D38537C024955F2CCB29BECFD801FC06CD8EC5DE353872F0B50616F +Test: Encrypt +Comment: Set 2, vector 138 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000200000000000000000000000000000 +Ciphertext: 48C31A55ED4716825D43FF671C01A86CDD792AABF78703ADC58F5FD65B3C0DE1 +Test: Encrypt +Comment: Set 2, vector 139 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000100000000000000000000000000000 +Ciphertext: BF99E4263F2C512CDE33A91E04FACA55052444E40FF79F09716FC06D24FDDE1D +Test: Encrypt +Comment: Set 2, vector 140 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000080000000000000000000000000000 +Ciphertext: 1A40488BA16A5D0AE6381018F15ABF95C78FB05867E3D7E213CAD7BA3DC9EA3B +Test: Encrypt +Comment: Set 2, vector 141 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000040000000000000000000000000000 +Ciphertext: BEAD8979A1A485959C3E9C8BF9CCF7CF850EB205296E1E8FF8BCAFBB011FF21D +Test: Encrypt +Comment: Set 2, vector 142 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000020000000000000000000000000000 +Ciphertext: A8EDCC85F5A941B4434BD4DAD5E39EEAD102DA25BBB2C3D143572AC7425ED819 +Test: Encrypt +Comment: Set 2, vector 143 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000010000000000000000000000000000 +Ciphertext: 631126B3A837AA4C999EFE6A687BBA58751464A6395670213C8445CC8409C33F +Test: Encrypt +Comment: Set 2, vector 144 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000008000000000000000000000000000 +Ciphertext: CA4A5FD3A3D2DA973E16C0A849E374C5A293351A66415B45107BD228CB842B19 +Test: Encrypt +Comment: Set 2, vector 145 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000004000000000000000000000000000 +Ciphertext: A61FDF733DDEC4C3AE51BE778BDD6E34BED64449ABCA7A718EAA513A2A5A9014 +Test: Encrypt +Comment: Set 2, vector 146 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000002000000000000000000000000000 +Ciphertext: 2C632530E7FCD550B5F9D14E21409AFD07C7E1FBF04B3B3FEC8C61AC8A1591ED +Test: Encrypt +Comment: Set 2, vector 147 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000001000000000000000000000000000 +Ciphertext: B2D97A1D343D3D5E1A7E444BA6E57D2E5ED42E02F719ECA22BA47E796AB37B18 +Test: Encrypt +Comment: Set 2, vector 148 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000800000000000000000000000000 +Ciphertext: AC515AAC675C2C3E46A8F77578189149327413CF40B48E16BF83D3500C2B1355 +Test: Encrypt +Comment: Set 2, vector 149 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000400000000000000000000000000 +Ciphertext: C8ADC6079B92459A8E975FFFE2352A90629CF9E8D53630536D9EBC7DAC4C467E +Test: Encrypt +Comment: Set 2, vector 150 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000200000000000000000000000000 +Ciphertext: 97B2C40964B25AE5CBD092E36B37A3BB4520570A9920034C584C66600D3857D9 +Test: Encrypt +Comment: Set 2, vector 151 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000100000000000000000000000000 +Ciphertext: 99A017D3829CEFE10DDD33D33F53EA470A2A74A35ED3BED8B7E9D6EF3B790153 +Test: Encrypt +Comment: Set 2, vector 152 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000080000000000000000000000000 +Ciphertext: 6141854199F9E01CFE4A35DF918B805985ACC8F8A7456FFBF91D27D4E85E4C49 +Test: Encrypt +Comment: Set 2, vector 153 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000040000000000000000000000000 +Ciphertext: 28BC7571E7C921B31BC2D7BF55853C2CC5B815B39471907DAE152F685791378B +Test: Encrypt +Comment: Set 2, vector 154 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000020000000000000000000000000 +Ciphertext: AD751D4D9D635900C22B6166328ECD85FB4A1610D055793BF04A83CB6F5F02DB +Test: Encrypt +Comment: Set 2, vector 155 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000010000000000000000000000000 +Ciphertext: 8670009356A0A3BD402CF218664826C05BE1651C6E606C011967F8F9C3835017 +Test: Encrypt +Comment: Set 2, vector 156 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000008000000000000000000000000 +Ciphertext: 6CE35F565BC4F38D73116267C49D345B7B19D57D5C90136CAF512F76AF47FAAD +Test: Encrypt +Comment: Set 2, vector 157 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000004000000000000000000000000 +Ciphertext: FD0DF28AFE47414F99219AD120F33DCA6F8756B2264349911041B0AEC9D77A43 +Test: Encrypt +Comment: Set 2, vector 158 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000002000000000000000000000000 +Ciphertext: 49CE284D7A18A0608E5E3768286E919DE97DD81B369AB0A012AD7BDC491DED1A +Test: Encrypt +Comment: Set 2, vector 159 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000001000000000000000000000000 +Ciphertext: 12B27FEC757A809C68F670698E5CB40E762855022FC12DE2332DB9814FC6E5E2 +Test: Encrypt +Comment: Set 2, vector 160 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000800000000000000000000000 +Ciphertext: 53074884476D09C729F35C3906046C2DCBA7F12BF59CDD3CE73ABF91847C6369 +Test: Encrypt +Comment: Set 2, vector 161 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000400000000000000000000000 +Ciphertext: D29E3C55DD3D867D7263D2C961FDB6A97B8D827AB73A20479ACB06DF992AEC24 +Test: Encrypt +Comment: Set 2, vector 162 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000200000000000000000000000 +Ciphertext: 4BE421463C6F2CC8118A50684EB5FC98323EA27F03D4B98EC05727BA0FFA40E8 +Test: Encrypt +Comment: Set 2, vector 163 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000100000000000000000000000 +Ciphertext: A96EC7F07298F9D86A811D0110D60E65C80F3E913B575831A5E8533932196B24 +Test: Encrypt +Comment: Set 2, vector 164 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000080000000000000000000000 +Ciphertext: F12B579997BA4203D8A0FF36181E4C1B50C703FE32CF18D9BF84355BC404D135 +Test: Encrypt +Comment: Set 2, vector 165 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000040000000000000000000000 +Ciphertext: 35EBB3FE5FACC9B9D321E82A73C344CA05D0E73372579349A1F365DEA0105292 +Test: Encrypt +Comment: Set 2, vector 166 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000020000000000000000000000 +Ciphertext: 0F1F0518D57ADC91D810B5899EB7EE7900D05AD8AD2960FE07893F30859B636F +Test: Encrypt +Comment: Set 2, vector 167 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000010000000000000000000000 +Ciphertext: A6CAF97EF17BEFDCF3412D7F45F72C1F1726198ED3B5CD905DF9078DCD70F882 +Test: Encrypt +Comment: Set 2, vector 168 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000008000000000000000000000 +Ciphertext: E287019353E8C71C62178B3AF7A3ECA210D79F803F43C09B6C08F295367A30CA +Test: Encrypt +Comment: Set 2, vector 169 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000004000000000000000000000 +Ciphertext: CF7A7ECEA347875A7B9191BF9FFDC3FB53512052FA42370E39BF5D906EE82D4E +Test: Encrypt +Comment: Set 2, vector 170 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000002000000000000000000000 +Ciphertext: 7E362B5B5ED5CAB9A518320E498FDB915BFD72BB5C588495AC49FC2D5CEC2134 +Test: Encrypt +Comment: Set 2, vector 171 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000001000000000000000000000 +Ciphertext: 69254195C6A9A4D334F8F0558A6C9635EB8A397E5AB672E81DC194AFA5C3A8B7 +Test: Encrypt +Comment: Set 2, vector 172 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000800000000000000000000 +Ciphertext: 3934A6BA3DE9885771111CBA59D50EC684F8F612AAAE3E511C0A211D972723C4 +Test: Encrypt +Comment: Set 2, vector 173 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000400000000000000000000 +Ciphertext: BCEE40ADD3CFDE924F58786640A56A68FE83615EDD82873DF6908057AF39F74A +Test: Encrypt +Comment: Set 2, vector 174 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000200000000000000000000 +Ciphertext: 70F4E0381A989C486A45FAE5B108373E950843EE48DC2A43E7AA625BF3AC9838 +Test: Encrypt +Comment: Set 2, vector 175 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000100000000000000000000 +Ciphertext: FAED24C44DE7F447CD1169F4D8D734E55154B73F79B31AD1CD310C7F5529433A +Test: Encrypt +Comment: Set 2, vector 176 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000080000000000000000000 +Ciphertext: 887BA60DED98C75DADDC1CD0824E7E6C76D947617A919A3B870B489CD1B7F6B2 +Test: Encrypt +Comment: Set 2, vector 177 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000040000000000000000000 +Ciphertext: 33D833FFDB7BEB6BBAB4DDACA6784B88C4B76A49641AA01BC980AB31084F4351 +Test: Encrypt +Comment: Set 2, vector 178 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000020000000000000000000 +Ciphertext: 8CDEF08AB44C2CB2AB5EC94437E501A96999B30C045A79DE99E220595B95DA2F +Test: Encrypt +Comment: Set 2, vector 179 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000010000000000000000000 +Ciphertext: 029247C8EC0610E7F5B49FA4191E99CDECBC1E44DF123270901A57DE8ED64850 +Test: Encrypt +Comment: Set 2, vector 180 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000008000000000000000000 +Ciphertext: 08487E1E53C677CA34640459BDBF7C53247DD54624B9C2156A59F24A818A258E +Test: Encrypt +Comment: Set 2, vector 181 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000004000000000000000000 +Ciphertext: 2C7C0444738DB202D9236CF00E1B75F579E18CAD4341093675F66732746F8060 +Test: Encrypt +Comment: Set 2, vector 182 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000002000000000000000000 +Ciphertext: F493AF90C19A9EA6460AE35418D4857236D678B570352665092854CFF9FB684E +Test: Encrypt +Comment: Set 2, vector 183 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000001000000000000000000 +Ciphertext: 4575CF8865954F9FDCC9C2F7A41BFD52B1C770E2C7609151E41D9B1D0489500C +Test: Encrypt +Comment: Set 2, vector 184 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000800000000000000000 +Ciphertext: BA0606FA831D4EF759CF457F88B0EEDFDF13BD3ABF72547456052C877B9E3A3B +Test: Encrypt +Comment: Set 2, vector 185 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000400000000000000000 +Ciphertext: 10E979D310CAD332AA3DC860EF69B2BBD96E817BFB93393AD4D8B141C0A301E4 +Test: Encrypt +Comment: Set 2, vector 186 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000200000000000000000 +Ciphertext: B46DE2A7729FAF7CEE978353D4392EA23FE1BB36732D101377C603125125FE62 +Test: Encrypt +Comment: Set 2, vector 187 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000100000000000000000 +Ciphertext: F03E1B911C1EDD769CAD59A744FAD47CB5E19502C1E7F4F0B3197101F3B673C1 +Test: Encrypt +Comment: Set 2, vector 188 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000080000000000000000 +Ciphertext: A9128F8B0C1809095597110471DD7F10040AE71626E8C694BA529B4C9E1353A2 +Test: Encrypt +Comment: Set 2, vector 189 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000040000000000000000 +Ciphertext: B9EDCD81B2CFB461C1FC554ED71CCC958AF4B2B726C011173F4058C40211C496 +Test: Encrypt +Comment: Set 2, vector 190 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000020000000000000000 +Ciphertext: 400F0635E34B796116E3752A0EDA47C3ABC19641DDD60427B4CE3AA8700CEA8E +Test: Encrypt +Comment: Set 2, vector 191 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000010000000000000000 +Ciphertext: 0E526F1012B80F22F946FD51D776187DEFD554B1F5806102E7DD9277FE06B826 +Test: Encrypt +Comment: Set 2, vector 192 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000008000000000000000 +Ciphertext: 1FC0DA71F72D08CDD0F59120C4A88E793869A2C598BAB97C92D6C63C0FAEADA9 +Test: Encrypt +Comment: Set 2, vector 193 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000004000000000000000 +Ciphertext: C493FDECD4D49D5FC6D8590C70BEAAD97EB7694244201CA4CF1732E03D7A4251 +Test: Encrypt +Comment: Set 2, vector 194 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000002000000000000000 +Ciphertext: C532BFE04C6CA7E8B4ABFF9E8BD9C676CBC9AA78FEF4A2DC5CC907742B3ED64F +Test: Encrypt +Comment: Set 2, vector 195 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000001000000000000000 +Ciphertext: 5C8F3ECB07F0264162A9C01A6BB2BC5CF3C7B9ED315803BF86A72406C2655242 +Test: Encrypt +Comment: Set 2, vector 196 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000800000000000000 +Ciphertext: 8C13C039C13DF9C8D821D33E85AFE93EEAFCFC2A2F06D85B3BDE2743FC37AD3F +Test: Encrypt +Comment: Set 2, vector 197 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000400000000000000 +Ciphertext: 3D990835001730714D0880420F57041E37A7FAF1FCA991AA38C409C80F2DC61F +Test: Encrypt +Comment: Set 2, vector 198 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000200000000000000 +Ciphertext: EC44357D4F18EBE148B47AB546D6A5F3E08F8F6C9E2B8B6B99FF303814BF43BA +Test: Encrypt +Comment: Set 2, vector 199 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000100000000000000 +Ciphertext: 00C3B30C81FBC65B9E12C8D6429104FDF40D322D47A59E637FC8CE749725BDCC +Test: Encrypt +Comment: Set 2, vector 200 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000080000000000000 +Ciphertext: 6136C065D96E7F18AB296F86AF04BB264A6DA61DEA7C5413C9131B7EBE551B88 +Test: Encrypt +Comment: Set 2, vector 201 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000040000000000000 +Ciphertext: 2A363A08CAD79DF6A3F2DF5D842B14935C5D09C9D6C78C4989ADCB018A735A5D +Test: Encrypt +Comment: Set 2, vector 202 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000020000000000000 +Ciphertext: B25955B31CC449A42502D1AB61D699DE558BA2C7825BA06B17B239851E575880 +Test: Encrypt +Comment: Set 2, vector 203 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000010000000000000 +Ciphertext: CBE2FD81D74436E167D6A5CF8F7DC07338885146351483E4474CD213D853A6FE +Test: Encrypt +Comment: Set 2, vector 204 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000008000000000000 +Ciphertext: 66DE9DCBF2B85FF944EDD40B3D81F5F8699DB1982C045667FDE9A499A7777DD6 +Test: Encrypt +Comment: Set 2, vector 205 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000004000000000000 +Ciphertext: D940E3F69C42E847312E473E362FD609BE7780D99DAC30F8F095D58EFDC58D59 +Test: Encrypt +Comment: Set 2, vector 206 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000002000000000000 +Ciphertext: 60FBA04239A8C312E10C7773673E94678CB1E13B069759AF304C56CCA6F490DD +Test: Encrypt +Comment: Set 2, vector 207 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000001000000000000 +Ciphertext: D67E081F763F322BA82FA01E184C355A65DE8028E47BF0DB5FCAEDA8C2593F02 +Test: Encrypt +Comment: Set 2, vector 208 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000800000000000 +Ciphertext: 434868F9A6086D0F9218E02CB9534E9EEE88B90C6174A4306B0D0843A35CFDFD +Test: Encrypt +Comment: Set 2, vector 209 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000400000000000 +Ciphertext: B6CCB5899745E29FEE7870B22C2F989D84C98C4510DEA892666E187CDEF77E1A +Test: Encrypt +Comment: Set 2, vector 210 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000200000000000 +Ciphertext: E798F9255A21E0ECDC4BA638F0BF03BAA0AD7810844837582193D7FB3E11B5DF +Test: Encrypt +Comment: Set 2, vector 211 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000100000000000 +Ciphertext: 9BAE51C5C4DF9E55570EF0FE5F2C6AC0CF9FD953E65CD07ED12378BD5A0F2911 +Test: Encrypt +Comment: Set 2, vector 212 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000080000000000 +Ciphertext: 95ECC45EEDD4537D6A7D54D60A64CBFB6728982441C7EE10B7A84A80B51EE171 +Test: Encrypt +Comment: Set 2, vector 213 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000040000000000 +Ciphertext: D8D77750B38E522216DA0A1A9DB7C56788E504708A2048B66946FB83C1981FCB +Test: Encrypt +Comment: Set 2, vector 214 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000020000000000 +Ciphertext: 0CAA8435D051798DB289708EC6CC4C98F0018AB7F068FA0E40443A1F227002CD +Test: Encrypt +Comment: Set 2, vector 215 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000010000000000 +Ciphertext: 5410408C0306460E6033543669A26A63F7C7BBDFEF4273C9BAD8AC472EDAFB67 +Test: Encrypt +Comment: Set 2, vector 216 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000008000000000 +Ciphertext: DD3A0F7B61D056015B54A329882E942ECA3C5C3F64ACFE71E3255A8F53E1AD73 +Test: Encrypt +Comment: Set 2, vector 217 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000004000000000 +Ciphertext: 80A70BE4CC4C61C0F7F501E8068C75CEA78DC11A224D0C47C09D20361C99CF00 +Test: Encrypt +Comment: Set 2, vector 218 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000002000000000 +Ciphertext: BEF3417464A46BBD2B7E9FB967F4FBF406C2B5B9C8B076B770C199C003786A40 +Test: Encrypt +Comment: Set 2, vector 219 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000001000000000 +Ciphertext: C1756ADF6EEF9837B43C4B032B17A79C3A583EE37981CC495CA95893F34218A6 +Test: Encrypt +Comment: Set 2, vector 220 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000800000000 +Ciphertext: 90273FCA31968871BE3D5C76AFCB47D9ECC31A48B87988FD359E93AFF6815F4D +Test: Encrypt +Comment: Set 2, vector 221 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000400000000 +Ciphertext: D0A5F666F7A819EF8BA114C1872158179731F6989997E13AFD73DB252E5CD2A2 +Test: Encrypt +Comment: Set 2, vector 222 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000200000000 +Ciphertext: D4E3DA34C47E5A86A723ED5B9F615B283E4CD54E9F2ED9EAA98A7AB8DE41B14C +Test: Encrypt +Comment: Set 2, vector 223 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000100000000 +Ciphertext: 547227D086EBB538F5836B8E1E65601209AEB6DFD1C450C014C559D879D71862 +Test: Encrypt +Comment: Set 2, vector 224 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000080000000 +Ciphertext: 9E52F033EFE0762ED108095BDF6CD8A89F8E1028F0D3D9B39B601C1084F95F74 +Test: Encrypt +Comment: Set 2, vector 225 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000040000000 +Ciphertext: A049C5B9BD63EBEB23B34EA2F27813D29EDC044E2486D709AC7D2C731557066B +Test: Encrypt +Comment: Set 2, vector 226 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000020000000 +Ciphertext: 1A9CDD2A99C5ED7FB2A6A1870230B0BD6890567E0E4439E248548DF25CB6126E +Test: Encrypt +Comment: Set 2, vector 227 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000010000000 +Ciphertext: 41F2CDA0EFE97BCE8689CF33201B4E57E0600BBB1F274DF3D589915F8EA5C372 +Test: Encrypt +Comment: Set 2, vector 228 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000008000000 +Ciphertext: 1F4712D7AB6D127ABDA90DA977CFC60B44F84859AE4B705851CF687E01E1E250 +Test: Encrypt +Comment: Set 2, vector 229 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000004000000 +Ciphertext: DC93D915CBBC140EDB08B34406F71B4CD38274E92DE8FAF355D274AE7929BC28 +Test: Encrypt +Comment: Set 2, vector 230 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000002000000 +Ciphertext: D2D9A648EDAF9339D7EE52419CC33C42E4CA91AA670D14B78952F41F889122E5 +Test: Encrypt +Comment: Set 2, vector 231 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000001000000 +Ciphertext: F34BA77405D00CAFC3E6786CDB26263C10CDC4D6AFAEDF4C26566A51DB82F5F9 +Test: Encrypt +Comment: Set 2, vector 232 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000800000 +Ciphertext: 21A7EAD6D95FC7AB788206CEA15A25CC4AEB69BAA96C78D5E2851DDBA25523F0 +Test: Encrypt +Comment: Set 2, vector 233 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000400000 +Ciphertext: 822BC3900195E6F224805E77B2460A65FA1A11CFD473F1DFA65351CBB4EFDFEB +Test: Encrypt +Comment: Set 2, vector 234 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000200000 +Ciphertext: 648A71BE1E77866181F980B37690D5C8A37DF29BB2EBC3A41665CD0CCC2E8EF8 +Test: Encrypt +Comment: Set 2, vector 235 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000100000 +Ciphertext: 808E32C933955FF7C8D6F1A4C6754CB3B7311612CFF846D02C81B712C78EB63E +Test: Encrypt +Comment: Set 2, vector 236 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000080000 +Ciphertext: E074251CC7C5BFFCE2CA45933206B2EE8864156A4626C03EA030B71F8BD454BE +Test: Encrypt +Comment: Set 2, vector 237 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000040000 +Ciphertext: 72EBE213A06F63603B49A750808F348FF7C9E4EC72884FDA7C58968EC5A25EED +Test: Encrypt +Comment: Set 2, vector 238 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000020000 +Ciphertext: 20618612C2AF418DE3E185AF7973D508DC31DE1E9D9FB4FDF9E95FD592F567EF +Test: Encrypt +Comment: Set 2, vector 239 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000010000 +Ciphertext: F94C66D4884A657BF0A6A6EA31A90A07F193F55465575FF1BF8DE68F3441BF4E +Test: Encrypt +Comment: Set 2, vector 240 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000008000 +Ciphertext: 9636DCAB40FB991FC330D8EFD671FF83BAA0C9E33D7A146D5E7ADC53592B605F +Test: Encrypt +Comment: Set 2, vector 241 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000004000 +Ciphertext: FC21689B5F46A011ECFE1E314E03ED7105BAC620193714B2290087C17FB763B6 +Test: Encrypt +Comment: Set 2, vector 242 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000002000 +Ciphertext: ABD2583E0FCC95122FDC700AF9B1FDA50D91E752E19BE9D2EE4F5E22033D53C6 +Test: Encrypt +Comment: Set 2, vector 243 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000001000 +Ciphertext: 3501CD56EE5EA39AB32F38371E5C2CF6EEEB9DA82D210A8D88AE8F29917AE9F4 +Test: Encrypt +Comment: Set 2, vector 244 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000800 +Ciphertext: 7559A2AA6CBFA8A181565EDDDE323DB80CE740545FFEE13B4851980AD2451E24 +Test: Encrypt +Comment: Set 2, vector 245 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000400 +Ciphertext: CEF6DBFD1FBCCBB587BD748D6CC992F8EF671A829E2D6AD73D1DC1C1B2A9E8DD +Test: Encrypt +Comment: Set 2, vector 246 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000200 +Ciphertext: 46FBBCD26A1F879746BDF4FF7804A5C105F621837ABCF94F17123B700A58A08A +Test: Encrypt +Comment: Set 2, vector 247 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000100 +Ciphertext: 0B10D2DA0E0FB6F067D641FF7F8C9C8FF4E2D689450787B7136ADF38DC1F2948 +Test: Encrypt +Comment: Set 2, vector 248 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000080 +Ciphertext: 4492E09E73459BF74417FC0D7190DA719A891C9CAE14801944FFB24912E377A8 +Test: Encrypt +Comment: Set 2, vector 249 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000040 +Ciphertext: 76D72C3D3AF6F2FF6AFBC0C1A553E6F8171D81D6BB1CB3C3A6C43ED826A88FAA +Test: Encrypt +Comment: Set 2, vector 250 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000020 +Ciphertext: D912041134584B69AC01938EC88913DBCFF7CDBE93CDF7443BD465F1B2E3F7F5 +Test: Encrypt +Comment: Set 2, vector 251 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000010 +Ciphertext: F0883EB64A5345CC9A0055D4E882D199EFFC334C05B53BC4132AC1A51BA39A9F +Test: Encrypt +Comment: Set 2, vector 252 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000008 +Ciphertext: 276246B0D93A4E6FF05832F51D2BF60641B63594EB90A1E08A7D98C6DDAE1461 +Test: Encrypt +Comment: Set 2, vector 253 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000004 +Ciphertext: 6AA2B04BF65F4213583CED5347537123DC3BE0703209170D1D34B0B8A66C1C58 +Test: Encrypt +Comment: Set 2, vector 254 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000002 +Ciphertext: DC438414927E453DBFD91DC60C635EE4273A9921A134DB513AB2BBDBAE64A9AD +Test: Encrypt +Comment: Set 2, vector 255 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000001 +Ciphertext: 45D43E9288738C5AD1A683D8DE59CEDD22D666A2B7078EB1301B532A272D570B +Test: Encrypt +Comment: Set 3, vector 0 +Key: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Plaintext: 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext: 7CA51614425C3BA8CE54DD2FC2020AE7B6E574D198136D0FAE7E26CCBF0BE7A6 +Test: Encrypt +Comment: Set 3, vector 1 +Key: 01010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101 +Plaintext: 0101010101010101010101010101010101010101010101010101010101010101 +Ciphertext: C4B7C6A9738C77EE28F7E685C8358E0AF88FB6D23955EE6DF49FE3F5DA16F826 +Test: Encrypt +Comment: Set 3, vector 2 +Key: 02020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202 +Plaintext: 0202020202020202020202020202020202020202020202020202020202020202 +Ciphertext: CD108DD9EC1000B79C75AA3DCC88F913E6F52773853035A5C44F3245B134CBFF +Test: Encrypt +Comment: Set 3, vector 3 +Key: 03030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303 +Plaintext: 0303030303030303030303030303030303030303030303030303030303030303 +Ciphertext: E8F9DE8F066B675AE90C919FC4981603485BBB92382D8C844CAF707973D5276D +Test: Encrypt +Comment: Set 3, vector 4 +Key: 04040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404 +Plaintext: 0404040404040404040404040404040404040404040404040404040404040404 +Ciphertext: 6AA777340200C1B65AB25193A8BB267C233DAC7E1B3C523D406FC5B567B7B586 +Test: Encrypt +Comment: Set 3, vector 5 +Key: 05050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505 +Plaintext: 0505050505050505050505050505050505050505050505050505050505050505 +Ciphertext: 6B14A9C454143376DBDC3C93FB8096B09C01456B0B55412FD9692CD7CB587069 +Test: Encrypt +Comment: Set 3, vector 6 +Key: 06060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606 +Plaintext: 0606060606060606060606060606060606060606060606060606060606060606 +Ciphertext: 3FED53DEF4FBC1D012B36562132AB40049818DA4E62E86716DE5EF70790B0D6A +Test: Encrypt +Comment: Set 3, vector 7 +Key: 07070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707 +Plaintext: 0707070707070707070707070707070707070707070707070707070707070707 +Ciphertext: 7A428F7A6841BC8F0E99335C5021C413D2639321DC8D9F280A2F0EF4B420A212 +Test: Encrypt +Comment: Set 3, vector 8 +Key: 08080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808 +Plaintext: 0808080808080808080808080808080808080808080808080808080808080808 +Ciphertext: A23BE32D37FA4054EC45D6A9CC643AF9124EDAA4AD9ABC7FAAB449D39D11B128 +Test: Encrypt +Comment: Set 3, vector 9 +Key: 09090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909 +Plaintext: 0909090909090909090909090909090909090909090909090909090909090909 +Ciphertext: 972195D6756F7D3A4D13BF49BFBCE7D164460355150C297A41CCC6AA9F31C5D6 +Test: Encrypt +Comment: Set 3, vector 10 +Key: 0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A +Plaintext: 0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A +Ciphertext: 2AA722C58EBDB7701225BA9C3B1F7C946D57DEDC74FEDDB637EB14E27A0F0CC9 +Test: Encrypt +Comment: Set 3, vector 11 +Key: 0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B +Plaintext: 0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B +Ciphertext: 1C9A0420B9F6EF013FB3ADB4F20C862B61702BA479276E3187322B33D4B128C2 +Test: Encrypt +Comment: Set 3, vector 12 +Key: 0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C +Plaintext: 0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C +Ciphertext: 666CC3862BAACADA4D35A9079D52438FB3B4416C9938397E61D48066B6476068 +Test: Encrypt +Comment: Set 3, vector 13 +Key: 0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D +Plaintext: 0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D +Ciphertext: DB94504EF884901FAA5778199329A2DCC9AA50A4453172CE8ADE11BFE54234E9 +Test: Encrypt +Comment: Set 3, vector 14 +Key: 0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E +Plaintext: 0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E +Ciphertext: DF0B4204DB7E0924BD2931C131E6DFEB013A5844F717DF7A2DEF86FBC2125DA6 +Test: Encrypt +Comment: Set 3, vector 15 +Key: 0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F +Plaintext: 0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F +Ciphertext: D7C2D4257254E7A05657047B43B65AB778C9E6ACDE53F14000FDFC346CEE4BA6 +Test: Encrypt +Comment: Set 3, vector 16 +Key: 10101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010 +Plaintext: 1010101010101010101010101010101010101010101010101010101010101010 +Ciphertext: F64819DFBEBE0A6DB650E7072CE28EA606586418B317785FF0AD44212A84C82C +Test: Encrypt +Comment: Set 3, vector 17 +Key: 11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +Plaintext: 1111111111111111111111111111111111111111111111111111111111111111 +Ciphertext: 155B7E6FFCC0AA874E22494545374E97C08A3D1B1045A0F35FFC54B2842D02A4 +Test: Encrypt +Comment: Set 3, vector 18 +Key: 12121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212 +Plaintext: 1212121212121212121212121212121212121212121212121212121212121212 +Ciphertext: FEE12FD9E87DCB4FE5C5249E3EAEDA0514F6A4826C1A5ABC87E22B95D4A84851 +Test: Encrypt +Comment: Set 3, vector 19 +Key: 13131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313 +Plaintext: 1313131313131313131313131313131313131313131313131313131313131313 +Ciphertext: 1DA785C2A2CEFED459474EE5401F5B795F6ED468DBB924CFFCF65EF465DE9534 +Test: Encrypt +Comment: Set 3, vector 20 +Key: 14141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414 +Plaintext: 1414141414141414141414141414141414141414141414141414141414141414 +Ciphertext: 4434A4D83273B06B64AF4ED1D70EEAD50DBFC44C5931A7B7B98FF9F514B229E9 +Test: Encrypt +Comment: Set 3, vector 21 +Key: 15151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515 +Plaintext: 1515151515151515151515151515151515151515151515151515151515151515 +Ciphertext: 1AB982A6C64C2C42D05F9FB8ED9BE0EEB5B48CEE8EAB0250D98D43157E999EDC +Test: Encrypt +Comment: Set 3, vector 22 +Key: 16161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616 +Plaintext: 1616161616161616161616161616161616161616161616161616161616161616 +Ciphertext: 83291A3265ACAB71E5CCCF0281A433579F39AE6C2FB7CB7528D7F820158177FF +Test: Encrypt +Comment: Set 3, vector 23 +Key: 17171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717 +Plaintext: 1717171717171717171717171717171717171717171717171717171717171717 +Ciphertext: 90F1FF9F69854321CFC6D0A4541CCDF73C1A1DC737D96FB76F0DDD0BB0097BBA +Test: Encrypt +Comment: Set 3, vector 24 +Key: 18181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818 +Plaintext: 1818181818181818181818181818181818181818181818181818181818181818 +Ciphertext: ABF9813765AFBEA9BF26026716294D5C5B309243339ECC9F21CEADE6E7083266 +Test: Encrypt +Comment: Set 3, vector 25 +Key: 19191919191919191919191919191919191919191919191919191919191919191919191919191919191919191919191919191919191919191919191919191919 +Plaintext: 1919191919191919191919191919191919191919191919191919191919191919 +Ciphertext: 7B5C8222D85392E82E703ADFB0FF02DBD2297791B84E26A3A1ED12309247D064 +Test: Encrypt +Comment: Set 3, vector 26 +Key: 1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A +Plaintext: 1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A +Ciphertext: 227355246FCC9106FA5572475E8C466F1140CD75A8A84DFCD2B0908392914FD7 +Test: Encrypt +Comment: Set 3, vector 27 +Key: 1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B +Plaintext: 1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B +Ciphertext: E5E5A887FA888691FF93014C2E368DC10775A447A5EF4B632A089DA82D245BE3 +Test: Encrypt +Comment: Set 3, vector 28 +Key: 1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C +Plaintext: 1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C +Ciphertext: BA417FC94107761C0969EF6EA7DDC74E5F85CAB61E2271CEB6D9C98B139F4576 +Test: Encrypt +Comment: Set 3, vector 29 +Key: 1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D +Plaintext: 1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D +Ciphertext: F3B85912DF6950B9AE28CE08E456D494E0C949A36FA102540C51827AEC9168AB +Test: Encrypt +Comment: Set 3, vector 30 +Key: 1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E +Plaintext: 1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E +Ciphertext: 1AC0ED993D24366380522B05F97B6FC64B199241A1D556B992632AEE400F0494 +Test: Encrypt +Comment: Set 3, vector 31 +Key: 1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F +Plaintext: 1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F +Ciphertext: 3550CD591130231B0F01F6860B699715B98B9497B4035C7323000D67C5F0B1B7 +Test: Encrypt +Comment: Set 3, vector 32 +Key: 20202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020 +Plaintext: 2020202020202020202020202020202020202020202020202020202020202020 +Ciphertext: E267D6113C27170A3EE6DF496E801A6131BBD3444365D7C03791E25610F1A0E4 +Test: Encrypt +Comment: Set 3, vector 33 +Key: 21212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121 +Plaintext: 2121212121212121212121212121212121212121212121212121212121212121 +Ciphertext: 3D71B778381E70BCC1A7B8411208225FC922857E862FC17312E3782CEA289B15 +Test: Encrypt +Comment: Set 3, vector 34 +Key: 22222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222 +Plaintext: 2222222222222222222222222222222222222222222222222222222222222222 +Ciphertext: 16B41DE00DBF29B96CC59E246DE3188B786E097394E9EEE2250169AE00306FD8 +Test: Encrypt +Comment: Set 3, vector 35 +Key: 23232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323 +Plaintext: 2323232323232323232323232323232323232323232323232323232323232323 +Ciphertext: 99DDE88C9F26D270B3C507A25FE49955A0FEA6C8FEBAD133842DA1CE730EEB7F +Test: Encrypt +Comment: Set 3, vector 36 +Key: 24242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424 +Plaintext: 2424242424242424242424242424242424242424242424242424242424242424 +Ciphertext: 9766D3F9E73987EE10A20605C8338C0759A7024CF2DF549DE5084EC4902C550A +Test: Encrypt +Comment: Set 3, vector 37 +Key: 25252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525 +Plaintext: 2525252525252525252525252525252525252525252525252525252525252525 +Ciphertext: 0FFD89849C8EC5A46B8F43C799ED305AF602C73E810FC729A8C9BB0F5C55CD54 +Test: Encrypt +Comment: Set 3, vector 38 +Key: 26262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626 +Plaintext: 2626262626262626262626262626262626262626262626262626262626262626 +Ciphertext: 91956E101CE4546623A5BE49811F167476CB568972CEBF7A59EB27DA524A0C6B +Test: Encrypt +Comment: Set 3, vector 39 +Key: 27272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727 +Plaintext: 2727272727272727272727272727272727272727272727272727272727272727 +Ciphertext: 7DEC5ECE0D590EE3E099C07F2DD6A6A9C71632D277803FD007275B93369ABED0 +Test: Encrypt +Comment: Set 3, vector 40 +Key: 28282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828 +Plaintext: 2828282828282828282828282828282828282828282828282828282828282828 +Ciphertext: 039C192AFC54EFDE1ED3610B0E9F95AA08D7CDC6AE71A66B5C508E4D14C038CF +Test: Encrypt +Comment: Set 3, vector 41 +Key: 29292929292929292929292929292929292929292929292929292929292929292929292929292929292929292929292929292929292929292929292929292929 +Plaintext: 2929292929292929292929292929292929292929292929292929292929292929 +Ciphertext: D558F8F4562BD8FE816FABF621556C8416C6FD00209028DF978F8915CC093E16 +Test: Encrypt +Comment: Set 3, vector 42 +Key: 2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A +Plaintext: 2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A +Ciphertext: 1AE21791ED4B610DD693012518759D6E9C1BBF206482EEA43470F02B493CFFB8 +Test: Encrypt +Comment: Set 3, vector 43 +Key: 2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B +Plaintext: 2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B +Ciphertext: 34F2112E8FBD1B373BA8400B05321F658FDFE0DC87C1304C36766DE71840A4DF +Test: Encrypt +Comment: Set 3, vector 44 +Key: 2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C +Plaintext: 2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C +Ciphertext: DBF9B56BBF2E50DF321CA687F8BE0E6222E7DF52B4A142174058CC119D9EC0DA +Test: Encrypt +Comment: Set 3, vector 45 +Key: 2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D +Plaintext: 2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D +Ciphertext: 8B2757374F778FE0B30D11AD7116CE37E2AB858A4E1C50D1115B6E328F3635F5 +Test: Encrypt +Comment: Set 3, vector 46 +Key: 2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E +Plaintext: 2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E +Ciphertext: 06588A873366FAA47323C9A098A759718DFB0E310C91A4E38B42CC56A0757811 +Test: Encrypt +Comment: Set 3, vector 47 +Key: 2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F +Plaintext: 2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F +Ciphertext: 7B861B18E3F322D8000BDDCBCE3B50405AA923375568F16AE84411E91DB879C3 +Test: Encrypt +Comment: Set 3, vector 48 +Key: 30303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030 +Plaintext: 3030303030303030303030303030303030303030303030303030303030303030 +Ciphertext: 170F74A4D692C302551EE17CD544D65185112D2A5E812D203B36FC39BF1DA9C7 +Test: Encrypt +Comment: Set 3, vector 49 +Key: 31313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131 +Plaintext: 3131313131313131313131313131313131313131313131313131313131313131 +Ciphertext: 0178F59DDAB05A4DFAF66FD406170E08227096EF9712CB481A26EBD82F470D7A +Test: Encrypt +Comment: Set 3, vector 50 +Key: 32323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232 +Plaintext: 3232323232323232323232323232323232323232323232323232323232323232 +Ciphertext: 8BAC479F3A92DF71F973AA457E19D75FB0F1A0FE68FF440A86154721BCC345D4 +Test: Encrypt +Comment: Set 3, vector 51 +Key: 33333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333 +Plaintext: 3333333333333333333333333333333333333333333333333333333333333333 +Ciphertext: EB50A10C7A0ED9960CDE0C3EDB899A6B67324B1EE23DE4BB13F60D187C3CBA35 +Test: Encrypt +Comment: Set 3, vector 52 +Key: 34343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434 +Plaintext: 3434343434343434343434343434343434343434343434343434343434343434 +Ciphertext: 00AA782AC61FD06DC781E3C5662C65BD1043EC28D056C98F07074DA7C11C1E1F +Test: Encrypt +Comment: Set 3, vector 53 +Key: 35353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535 +Plaintext: 3535353535353535353535353535353535353535353535353535353535353535 +Ciphertext: 23B9F2F26CFC51ECC6DD1AFE614C2DAE8348DA033F9B67AEAA87B71F5377D95D +Test: Encrypt +Comment: Set 3, vector 54 +Key: 36363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636 +Plaintext: 3636363636363636363636363636363636363636363636363636363636363636 +Ciphertext: 9655D4B1CBEF855401274C3339C16DB9B5A9651F60579CFE8554B6EE25DCCA0E +Test: Encrypt +Comment: Set 3, vector 55 +Key: 37373737373737373737373737373737373737373737373737373737373737373737373737373737373737373737373737373737373737373737373737373737 +Plaintext: 3737373737373737373737373737373737373737373737373737373737373737 +Ciphertext: E072ED2DAD79B07C48B50ED31E02FD9705562525D49DBF45DACCFDF35D5A6965 +Test: Encrypt +Comment: Set 3, vector 56 +Key: 38383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838 +Plaintext: 3838383838383838383838383838383838383838383838383838383838383838 +Ciphertext: 287638BAE945B88A95029155BC47D033B5C5C4C191F079C234C6E97683FFABA0 +Test: Encrypt +Comment: Set 3, vector 57 +Key: 39393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939 +Plaintext: 3939393939393939393939393939393939393939393939393939393939393939 +Ciphertext: 500CD3B02BF6FA8C66D1ADE0CE43B325A759CD3426096084A261F054D798F885 +Test: Encrypt +Comment: Set 3, vector 58 +Key: 3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A +Plaintext: 3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A +Ciphertext: 17614BAB583F2DCF809A2AEE973A4875251B571525521B3A8C47303450B6301F +Test: Encrypt +Comment: Set 3, vector 59 +Key: 3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B +Plaintext: 3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B +Ciphertext: 978C8DFD9AC74FF670CC8B31EDC8EC15DDBC2854375ED9BA07BB0F7B96C70BB3 +Test: Encrypt +Comment: Set 3, vector 60 +Key: 3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C +Plaintext: 3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C +Ciphertext: 994CA36F6230C7DB63CAD61342FAB3F155C361DAD458FC457AD09ACCAB2EB43F +Test: Encrypt +Comment: Set 3, vector 61 +Key: 3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D +Plaintext: 3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D +Ciphertext: AC06659932208AC1DD5F07448A7407232F1410CDAC92F7C5305C4043C559345F +Test: Encrypt +Comment: Set 3, vector 62 +Key: 3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E +Plaintext: 3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E +Ciphertext: B55616F0743A29655FEC468CD30C8C65F7925327665670BA9E41A2E09C05C63B +Test: Encrypt +Comment: Set 3, vector 63 +Key: 3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F +Plaintext: 3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F +Ciphertext: 78F4852712C3547547A114E73F52C6128EDD3F29E0B2C938D6F9F69AF2303FD2 +Test: Encrypt +Comment: Set 3, vector 64 +Key: 40404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040 +Plaintext: 4040404040404040404040404040404040404040404040404040404040404040 +Ciphertext: C97909916EE86FFDCE8A92903046109B53F788A53039434DF1A394DAD6F697A2 +Test: Encrypt +Comment: Set 3, vector 65 +Key: 41414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141 +Plaintext: 4141414141414141414141414141414141414141414141414141414141414141 +Ciphertext: C3FD3C59D37D44AF9EE6B87AC0939A4A4B2FBAAC23E80E72B1CAC352FE30A8E2 +Test: Encrypt +Comment: Set 3, vector 66 +Key: 42424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242 +Plaintext: 4242424242424242424242424242424242424242424242424242424242424242 +Ciphertext: 94C70F7654479BC9DA9854129F57F3E69C31B63900A404F577AF1C83CD96E5D6 +Test: Encrypt +Comment: Set 3, vector 67 +Key: 43434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343 +Plaintext: 4343434343434343434343434343434343434343434343434343434343434343 +Ciphertext: 71DD024E9CE700B373A275AA870A68B5DAD9E47D38BC18F34073319041A1CADF +Test: Encrypt +Comment: Set 3, vector 68 +Key: 44444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444 +Plaintext: 4444444444444444444444444444444444444444444444444444444444444444 +Ciphertext: 274D101B2BD0E7CAFC9E5559DC68567DC8975056B84573C4294D78513B7406D8 +Test: Encrypt +Comment: Set 3, vector 69 +Key: 45454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545 +Plaintext: 4545454545454545454545454545454545454545454545454545454545454545 +Ciphertext: 8DCE5B5C376E42F11A322D8CBCEB8C0AE1EC24F3C65D72B326708FEAF13E3B51 +Test: Encrypt +Comment: Set 3, vector 70 +Key: 46464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646 +Plaintext: 4646464646464646464646464646464646464646464646464646464646464646 +Ciphertext: D62D3BA9BBD23F4424EB929AE7A4CD83A70FA7EFD2E6CCFED23E1176AFDB69CD +Test: Encrypt +Comment: Set 3, vector 71 +Key: 47474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747 +Plaintext: 4747474747474747474747474747474747474747474747474747474747474747 +Ciphertext: FE7670925FEA3AAE1F039590EA230C094C3E434BF1350B12D4EA26E48A6EF7F0 +Test: Encrypt +Comment: Set 3, vector 72 +Key: 48484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848 +Plaintext: 4848484848484848484848484848484848484848484848484848484848484848 +Ciphertext: 3A57E728BFA31AA36C8E4ED38A34B465BA233AD066225F31651C93B870AAFE6D +Test: Encrypt +Comment: Set 3, vector 73 +Key: 49494949494949494949494949494949494949494949494949494949494949494949494949494949494949494949494949494949494949494949494949494949 +Plaintext: 4949494949494949494949494949494949494949494949494949494949494949 +Ciphertext: 3B56014035A28EA6F2F2B09429FED7FC0F5B76D5458F1EB4F3AAA7E7F6610C65 +Test: Encrypt +Comment: Set 3, vector 74 +Key: 4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A +Plaintext: 4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A +Ciphertext: 2D28A28ECABAC61B540CD933BE43AF16F11429EDE8E7B62121CD853054363730 +Test: Encrypt +Comment: Set 3, vector 75 +Key: 4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B +Plaintext: 4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B +Ciphertext: D8A892E3C24C6A2EB8446B3737A0E3AA1478811B819FFD3440B5307185906518 +Test: Encrypt +Comment: Set 3, vector 76 +Key: 4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C +Plaintext: 4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C +Ciphertext: 798AD5E43127299B61247059F508268CDBA78B46D4FD28C200AE1052C52294E7 +Test: Encrypt +Comment: Set 3, vector 77 +Key: 4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D +Plaintext: 4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D +Ciphertext: 63F43065BA1F262D950219D71B9CD5FA78D6798BCAA981FE3391FF8EA735E4C7 +Test: Encrypt +Comment: Set 3, vector 78 +Key: 4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E +Plaintext: 4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E +Ciphertext: E8E461EB5FD98011A37765ECA336B080D58B35C636AD6F423893EE768913255C +Test: Encrypt +Comment: Set 3, vector 79 +Key: 4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F +Plaintext: 4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F +Ciphertext: 7348E30FFC0C4F5569B6490622A34FB015C364944553582355887BC472279E8D +Test: Encrypt +Comment: Set 3, vector 80 +Key: 50505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050 +Plaintext: 5050505050505050505050505050505050505050505050505050505050505050 +Ciphertext: BE28CB05EEEEDA8FD8971E9970ECBCA25856F66E95AC8B987C69F04BE3276CD7 +Test: Encrypt +Comment: Set 3, vector 81 +Key: 51515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151 +Plaintext: 5151515151515151515151515151515151515151515151515151515151515151 +Ciphertext: 5D336C5E34D4EB95CFAB87C542C72A748AA45E7F77D841A738017927C7908804 +Test: Encrypt +Comment: Set 3, vector 82 +Key: 52525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252 +Plaintext: 5252525252525252525252525252525252525252525252525252525252525252 +Ciphertext: 2942A594A7964F41460EB6037DDE2C28FFBFFB3C21F7EFF43F06632DA980ED8B +Test: Encrypt +Comment: Set 3, vector 83 +Key: 53535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353 +Plaintext: 5353535353535353535353535353535353535353535353535353535353535353 +Ciphertext: 1C0F7A4E3147BC7F8150D8144ED31D0054FF15414E5DBF289BFEC160D22684AC +Test: Encrypt +Comment: Set 3, vector 84 +Key: 54545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454 +Plaintext: 5454545454545454545454545454545454545454545454545454545454545454 +Ciphertext: 7931C7B9D78CB50610B1BEF596268B94446FCDA44C3EE7CEE53121AC519C4001 +Test: Encrypt +Comment: Set 3, vector 85 +Key: 55555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555 +Plaintext: 5555555555555555555555555555555555555555555555555555555555555555 +Ciphertext: F4E331C357C603EE5ED5547D75B54631A68D7CD74C5075198D0FC38E5661F556 +Test: Encrypt +Comment: Set 3, vector 86 +Key: 56565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656 +Plaintext: 5656565656565656565656565656565656565656565656565656565656565656 +Ciphertext: 378C2887958E31971E8F59C882730E48407E4DA9C26D4C76B672CD53202AB1B8 +Test: Encrypt +Comment: Set 3, vector 87 +Key: 57575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757 +Plaintext: 5757575757575757575757575757575757575757575757575757575757575757 +Ciphertext: DBE68FE249F4A8D36E1CB49DBE20ED58649CCC502F85895875C1FE82269219DA +Test: Encrypt +Comment: Set 3, vector 88 +Key: 58585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858 +Plaintext: 5858585858585858585858585858585858585858585858585858585858585858 +Ciphertext: 103BD780F3B382C4B28E6E1CB41CBEE22CC1BB64E4A0147D658EDA96A6E7FEAB +Test: Encrypt +Comment: Set 3, vector 89 +Key: 59595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959 +Plaintext: 5959595959595959595959595959595959595959595959595959595959595959 +Ciphertext: 382EF838282E0F4BA729083542BB8CB48AB874FF568DFDA56AFC4ED266DD3243 +Test: Encrypt +Comment: Set 3, vector 90 +Key: 5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A +Plaintext: 5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A +Ciphertext: 088665DE8F9DC9298DEF4164C12526597F56859AAC2C96A95645A06014BA689A +Test: Encrypt +Comment: Set 3, vector 91 +Key: 5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B +Plaintext: 5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B +Ciphertext: EC988946646A1B2DCC7EDEC4FCAB11BF29055A226F4C75D28F9DFB8D2EB5C9B6 +Test: Encrypt +Comment: Set 3, vector 92 +Key: 5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C +Plaintext: 5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C +Ciphertext: B77221CE7F68292BD4E3A55E8EC7BD1FC68B1B6B02F1008586248833C1089F5C +Test: Encrypt +Comment: Set 3, vector 93 +Key: 5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D +Plaintext: 5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D +Ciphertext: B3E4AA5DE6D25A6237FDD97540191D669C64E54A7D3C544E949489355AFC82B5 +Test: Encrypt +Comment: Set 3, vector 94 +Key: 5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E +Plaintext: 5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E +Ciphertext: AAA6FA046AC4270B22A742C4C29445EB38511E5048414886EBF39523B7EAF76A +Test: Encrypt +Comment: Set 3, vector 95 +Key: 5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F +Plaintext: 5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F +Ciphertext: 4D23440171778573BE7B515C68FA99D0426A32111CA493337E7C55280A90F697 +Test: Encrypt +Comment: Set 3, vector 96 +Key: 60606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060 +Plaintext: 6060606060606060606060606060606060606060606060606060606060606060 +Ciphertext: 8EE711FB281CBAA99917C85F0623B68E2EDAFEFCC3B1B841883D71BA6683568A +Test: Encrypt +Comment: Set 3, vector 97 +Key: 61616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161 +Plaintext: 6161616161616161616161616161616161616161616161616161616161616161 +Ciphertext: EC29DAE53DB4475F8900311F425FE60CB834A82F2A6A2DB4810F95F4D6991B84 +Test: Encrypt +Comment: Set 3, vector 98 +Key: 62626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262 +Plaintext: 6262626262626262626262626262626262626262626262626262626262626262 +Ciphertext: 91E58DDE741553572B5D6F3DAD25953906424FF217497226746A25C0CE1C7D0F +Test: Encrypt +Comment: Set 3, vector 99 +Key: 63636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363 +Plaintext: 6363636363636363636363636363636363636363636363636363636363636363 +Ciphertext: B6EC4D9421AB011D4EEDBC32B289E45AC44CAEB1DC5FAEA752DFFA0137325067 +Test: Encrypt +Comment: Set 3, vector 100 +Key: 64646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464 +Plaintext: 6464646464646464646464646464646464646464646464646464646464646464 +Ciphertext: D9CB13EA06CADF09AC446F9B09553FFE3BF4F1152997B171C03E609D4BD60ADB +Test: Encrypt +Comment: Set 3, vector 101 +Key: 65656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565 +Plaintext: 6565656565656565656565656565656565656565656565656565656565656565 +Ciphertext: 2D07CA161326ED154D9E3FF650963557EC369A91ABB0D49FC1F32AEF39A3B12E +Test: Encrypt +Comment: Set 3, vector 102 +Key: 66666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666 +Plaintext: 6666666666666666666666666666666666666666666666666666666666666666 +Ciphertext: 28E8B606EE621D2C5B865B8208C7BD40C3596931CE3FF8FA5AD7EB8EE4480E95 +Test: Encrypt +Comment: Set 3, vector 103 +Key: 67676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767 +Plaintext: 6767676767676767676767676767676767676767676767676767676767676767 +Ciphertext: 9B9B3A23DA29539DA1E9BAA20449750EC192CE14A5063E1A2FFAF5039A665754 +Test: Encrypt +Comment: Set 3, vector 104 +Key: 68686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868 +Plaintext: 6868686868686868686868686868686868686868686868686868686868686868 +Ciphertext: D770E305A9C2D257759D8AE9E70C408D1CB090F976BBAFF3A56730A78BA8BF4F +Test: Encrypt +Comment: Set 3, vector 105 +Key: 69696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969 +Plaintext: 6969696969696969696969696969696969696969696969696969696969696969 +Ciphertext: 453988B10DFD852D1AFD11E96C50024571CCB0F19E7C3C4981F8B8BDCD11F720 +Test: Encrypt +Comment: Set 3, vector 106 +Key: 6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A +Plaintext: 6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A +Ciphertext: 17DFD98CB5C24610DD631C4E2749A679D68F854F21AABE8BF67605A256452AD8 +Test: Encrypt +Comment: Set 3, vector 107 +Key: 6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B +Plaintext: 6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B +Ciphertext: DA260145EC80E19C18685540AC71FA460DD4427168E37BC6E0F967D90C306FBB +Test: Encrypt +Comment: Set 3, vector 108 +Key: 6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C +Plaintext: 6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C +Ciphertext: 2AC246E2E384ECCC4BC69CE82EDB51C05DD864642F1E9A572DA6043DD1D56DF0 +Test: Encrypt +Comment: Set 3, vector 109 +Key: 6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D +Plaintext: 6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D +Ciphertext: D1A06B820071CC4122F0B0797A294F31922E26703CDEF15A6D8F511CDBD8BD3F +Test: Encrypt +Comment: Set 3, vector 110 +Key: 6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E +Plaintext: 6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E +Ciphertext: C8D23274A1FF6AEBDF0BA70FBA7A895277B1CC8040F8FB2814195E3A7E85BD01 +Test: Encrypt +Comment: Set 3, vector 111 +Key: 6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F +Plaintext: 6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F +Ciphertext: E0133DC7960953BABC7BFBA52E88DCF86EBD979D6D63EB19466EEADEDEDEEBB3 +Test: Encrypt +Comment: Set 3, vector 112 +Key: 70707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070 +Plaintext: 7070707070707070707070707070707070707070707070707070707070707070 +Ciphertext: A1A9527766EE54D566D97E7A0763A5AECE86F2816411AC2066439D6BDF02FEA7 +Test: Encrypt +Comment: Set 3, vector 113 +Key: 71717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171 +Plaintext: 7171717171717171717171717171717171717171717171717171717171717171 +Ciphertext: E1833EF5C2BA2EF192642164F0F2C02A7334EF5AEA37E9DD56D17AE6CB031004 +Test: Encrypt +Comment: Set 3, vector 114 +Key: 72727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272 +Plaintext: 7272727272727272727272727272727272727272727272727272727272727272 +Ciphertext: DD2CC0EECAA7E5364376FA73E12C64A0C42FB9FC7E94EFF0B22A051D6EDFE905 +Test: Encrypt +Comment: Set 3, vector 115 +Key: 73737373737373737373737373737373737373737373737373737373737373737373737373737373737373737373737373737373737373737373737373737373 +Plaintext: 7373737373737373737373737373737373737373737373737373737373737373 +Ciphertext: 9A72F15B911E6A50A32EEEDF83B62B628E37ED403085180571DEBEA2F37CF49F +Test: Encrypt +Comment: Set 3, vector 116 +Key: 74747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474 +Plaintext: 7474747474747474747474747474747474747474747474747474747474747474 +Ciphertext: CD83CE7861EE8259A9C29BC3870EA1BF629ECD31F2E18F0BC12221F239207457 +Test: Encrypt +Comment: Set 3, vector 117 +Key: 75757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575 +Plaintext: 7575757575757575757575757575757575757575757575757575757575757575 +Ciphertext: 7B4218C5AEA4EEFE17E2AB110D8B63A947F21D5210162F6283EDDF00900CEE27 +Test: Encrypt +Comment: Set 3, vector 118 +Key: 76767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676 +Plaintext: 7676767676767676767676767676767676767676767676767676767676767676 +Ciphertext: 935DE2010B112937A233E7CB1023FB9D3C46D7C688A478A94F86AD3919FD2728 +Test: Encrypt +Comment: Set 3, vector 119 +Key: 77777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777 +Plaintext: 7777777777777777777777777777777777777777777777777777777777777777 +Ciphertext: 416A91A68A520732E672ACB5A36599D9A99901F013CC460D9C2FB16AAB45996E +Test: Encrypt +Comment: Set 3, vector 120 +Key: 78787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878 +Plaintext: 7878787878787878787878787878787878787878787878787878787878787878 +Ciphertext: FD066F9C65CD3D61B43F5DA44F7B94C85541DC5E09D52B044DA963699C39FDA0 +Test: Encrypt +Comment: Set 3, vector 121 +Key: 79797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979 +Plaintext: 7979797979797979797979797979797979797979797979797979797979797979 +Ciphertext: 63937A7953E453B6E48539FACBD1BC489E03D209DB188837C5A09BA458FFFB92 +Test: Encrypt +Comment: Set 3, vector 122 +Key: 7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A +Plaintext: 7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A +Ciphertext: 68F9EA0F87112633611052A45BBF32B7069079EDB16A928CD2AA16BE464178E3 +Test: Encrypt +Comment: Set 3, vector 123 +Key: 7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B +Plaintext: 7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B +Ciphertext: 874D5ED6C8052C3B4AB830626A195F508DDA15388BA75B3D957B26BC134C9B30 +Test: Encrypt +Comment: Set 3, vector 124 +Key: 7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C +Plaintext: 7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C +Ciphertext: EC3EA8DC433E39B85E4C4D68AC6A854A1B943D99EB2E9A018EA27DC1874CA867 +Test: Encrypt +Comment: Set 3, vector 125 +Key: 7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D +Plaintext: 7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D +Ciphertext: 9CE2298362F1F234A73BECA011EC31B4BC7E143D87B4F118CDADE6AB8D1ED783 +Test: Encrypt +Comment: Set 3, vector 126 +Key: 7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E +Plaintext: 7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E +Ciphertext: 27973D9B510ED9C612CC770FC1AE25EE21B1A9616CB64617EDA477939BE98D04 +Test: Encrypt +Comment: Set 3, vector 127 +Key: 7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F +Plaintext: 7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F +Ciphertext: 82A0EB8C058E727EBD6032F0F77EE693342C97BD44E9538032652B1CA10403DE +Test: Encrypt +Comment: Set 3, vector 128 +Key: 80808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080 +Plaintext: 8080808080808080808080808080808080808080808080808080808080808080 +Ciphertext: C3C1CD5F3060B3EC4E6ABC0818B68449E1750FB482368C8F3305270E16F98735 +Test: Encrypt +Comment: Set 3, vector 129 +Key: 81818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181 +Plaintext: 8181818181818181818181818181818181818181818181818181818181818181 +Ciphertext: 26381852C68B646D80E53C958855293BDC6FAAA85C5F9CAAACABE7B8077E4F7A +Test: Encrypt +Comment: Set 3, vector 130 +Key: 82828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282 +Plaintext: 8282828282828282828282828282828282828282828282828282828282828282 +Ciphertext: E2EA924898ED40FBD8C633706AD7D698392DF1EF33A10FDFCBE51B58C3AE0668 +Test: Encrypt +Comment: Set 3, vector 131 +Key: 83838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383 +Plaintext: 8383838383838383838383838383838383838383838383838383838383838383 +Ciphertext: 15CBDDA36707819D0C7694AAD46B2345BDEFC9D4F26F03A4BF860CE46F7BB53A +Test: Encrypt +Comment: Set 3, vector 132 +Key: 84848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484 +Plaintext: 8484848484848484848484848484848484848484848484848484848484848484 +Ciphertext: F96318A42737AB884FAA82BBB7025063E9A25C5957F52A7342E0C03A1A64273C +Test: Encrypt +Comment: Set 3, vector 133 +Key: 85858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585 +Plaintext: 8585858585858585858585858585858585858585858585858585858585858585 +Ciphertext: 7813FEB148D103075C80ACDFC95E2437A560D9B2E6C910E3A59805338E498907 +Test: Encrypt +Comment: Set 3, vector 134 +Key: 86868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686 +Plaintext: 8686868686868686868686868686868686868686868686868686868686868686 +Ciphertext: C7E9D5FE3BA11096AB77E715DFF0D2EB67E9136F0393CD004A7E994B3F994FA4 +Test: Encrypt +Comment: Set 3, vector 135 +Key: 87878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787 +Plaintext: 8787878787878787878787878787878787878787878787878787878787878787 +Ciphertext: F7D2DD8DF86A0E985CF6E83AA5922A548C83856D88C2C9D49EA962C9E6497949 +Test: Encrypt +Comment: Set 3, vector 136 +Key: 88888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888 +Plaintext: 8888888888888888888888888888888888888888888888888888888888888888 +Ciphertext: C64887C6573E3D7F286C0353188FC93F05321C0C949ACDCB0237725576BCF77B +Test: Encrypt +Comment: Set 3, vector 137 +Key: 89898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989 +Plaintext: 8989898989898989898989898989898989898989898989898989898989898989 +Ciphertext: 77FB97C9C953BE6BD58044FB1E095BB5E3F4B3A51DAFE6F2F7ADED0FB707921F +Test: Encrypt +Comment: Set 3, vector 138 +Key: 8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A +Plaintext: 8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A +Ciphertext: 22DE5F20955357BA1BF70E4D6DA436CCDE28C228031E4A413882C918EF8082D1 +Test: Encrypt +Comment: Set 3, vector 139 +Key: 8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B +Plaintext: 8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B +Ciphertext: 146FF5907A3C58593C3FD3EB7498C4426CCE04DD0DA9138954BB97AAC821D87F +Test: Encrypt +Comment: Set 3, vector 140 +Key: 8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C +Plaintext: 8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C +Ciphertext: 474ADC5855C87504A7C859409E25154D94B05A925F1D9989AE653B5511710BD7 +Test: Encrypt +Comment: Set 3, vector 141 +Key: 8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D +Plaintext: 8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D +Ciphertext: 959B1090C1FF59998C100814E95E40EF94C6F2B7ED0425C78391192CFFFFA465 +Test: Encrypt +Comment: Set 3, vector 142 +Key: 8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E +Plaintext: 8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E +Ciphertext: 9DA473108FFCECB228F8809860CDA316F4E1FAC5ADC39BB0373F01DCEBCBF271 +Test: Encrypt +Comment: Set 3, vector 143 +Key: 8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F +Plaintext: 8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F +Ciphertext: 905FD0302F9F3C4296E15F94EDD72A8F9F4E9E4068F068099CAAE7247235847E +Test: Encrypt +Comment: Set 3, vector 144 +Key: 90909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090 +Plaintext: 9090909090909090909090909090909090909090909090909090909090909090 +Ciphertext: B63B82FB4B4961E4800FD13CAF145BEBF3625822AF7F5D3ACF2A4506471C636D +Test: Encrypt +Comment: Set 3, vector 145 +Key: 91919191919191919191919191919191919191919191919191919191919191919191919191919191919191919191919191919191919191919191919191919191 +Plaintext: 9191919191919191919191919191919191919191919191919191919191919191 +Ciphertext: 63AA9822C7A5A6777D03F901E3BAF91FD566553C88835EF06DB9A983212288BF +Test: Encrypt +Comment: Set 3, vector 146 +Key: 92929292929292929292929292929292929292929292929292929292929292929292929292929292929292929292929292929292929292929292929292929292 +Plaintext: 9292929292929292929292929292929292929292929292929292929292929292 +Ciphertext: 5417F10E4028BDE0F741114632E2090A1E6C83ACB1D03EA98D18D003838B4F0A +Test: Encrypt +Comment: Set 3, vector 147 +Key: 93939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393 +Plaintext: 9393939393939393939393939393939393939393939393939393939393939393 +Ciphertext: FD2C478FB17EE8520149E8A242BB07E0B32929536B191AC6DBCE05891C5E4BFC +Test: Encrypt +Comment: Set 3, vector 148 +Key: 94949494949494949494949494949494949494949494949494949494949494949494949494949494949494949494949494949494949494949494949494949494 +Plaintext: 9494949494949494949494949494949494949494949494949494949494949494 +Ciphertext: 6A36A092BC0F029B60D40440F141EF0DC21A241547359FB618E9243C39AE3D7C +Test: Encrypt +Comment: Set 3, vector 149 +Key: 95959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595 +Plaintext: 9595959595959595959595959595959595959595959595959595959595959595 +Ciphertext: 605BC400A0FEE12092D369142E4D20C3A4F3D7623254BF9E242766946FC47ED1 +Test: Encrypt +Comment: Set 3, vector 150 +Key: 96969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696 +Plaintext: 9696969696969696969696969696969696969696969696969696969696969696 +Ciphertext: 6A5FA33652F946D7C93A56D15B5D3807401C667A9757495341F78526D58659D2 +Test: Encrypt +Comment: Set 3, vector 151 +Key: 97979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797 +Plaintext: 9797979797979797979797979797979797979797979797979797979797979797 +Ciphertext: 5C6AC175B74B9F7F7D6371A90B1F35E1276628DF6A82B0ECE38590C88B7B8DCA +Test: Encrypt +Comment: Set 3, vector 152 +Key: 98989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898 +Plaintext: 9898989898989898989898989898989898989898989898989898989898989898 +Ciphertext: 67BB4E7818FBE6CFAB113C1B2EC797E3164432BFF708450312422D5AEC70A8A8 +Test: Encrypt +Comment: Set 3, vector 153 +Key: 99999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999 +Plaintext: 9999999999999999999999999999999999999999999999999999999999999999 +Ciphertext: BFDA13CA82E73FBF62B6F1BB7181916CE7FD7DC7608EB958A8246346DFBB04E9 +Test: Encrypt +Comment: Set 3, vector 154 +Key: 9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A +Plaintext: 9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A +Ciphertext: C30F3EF137BF7718F76C7E4D2366A48E7C3CE53735BBF8B56CD51609A23AC06C +Test: Encrypt +Comment: Set 3, vector 155 +Key: 9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B +Plaintext: 9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B +Ciphertext: D73795A681B4FBE858703C15D60299682F64C800E691D223C4BE51012DA4D3DA +Test: Encrypt +Comment: Set 3, vector 156 +Key: 9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C +Plaintext: 9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C +Ciphertext: 885A096C820E01E48E1A5F75DB0A007C2A96B66FCAB38AE80CF92DD8B6A35F6F +Test: Encrypt +Comment: Set 3, vector 157 +Key: 9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D +Plaintext: 9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D +Ciphertext: 8FBDD4939C31026305C575F1FDCED3DBAE320C56CF064E9F19B44A43898BFD5C +Test: Encrypt +Comment: Set 3, vector 158 +Key: 9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E +Plaintext: 9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E +Ciphertext: 2D9EC00B081BC1512EC11A0B8B898639415AEEA3270C4B49E4B47C601AB85875 +Test: Encrypt +Comment: Set 3, vector 159 +Key: 9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F +Plaintext: 9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F +Ciphertext: 59565FB9888519C77E9C4E86D72AD86205AB55488D5ED0B9A388FB2D301C4400 +Test: Encrypt +Comment: Set 3, vector 160 +Key: A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0 +Plaintext: A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0 +Ciphertext: 32D6CAA3D5E0A5D3CCD0FD8F2105CFF662FC4052FE348C2DFD0BC3EEFF3AB700 +Test: Encrypt +Comment: Set 3, vector 161 +Key: A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1 +Plaintext: A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1 +Ciphertext: 7C3276EA6BB6FDDDEC8B901C45978B7D4D34AACE9F2D02F7D7F5826A89809DE9 +Test: Encrypt +Comment: Set 3, vector 162 +Key: A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2 +Plaintext: A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2 +Ciphertext: C5ABC33559D828DD1464264F94D46A8519B4CE47EAA0EC9BF0504C876AC85451 +Test: Encrypt +Comment: Set 3, vector 163 +Key: A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3 +Plaintext: A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3 +Ciphertext: E63050ADB9F2789F91A192E089883D7346DD42DE4C654E1D4B72C77D6C09FDB0 +Test: Encrypt +Comment: Set 3, vector 164 +Key: A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4 +Plaintext: A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4 +Ciphertext: E7C58AF118E1DFD2A279DE640EDEF02FB4F3C78D778D145ECC6B2C4CCD065229 +Test: Encrypt +Comment: Set 3, vector 165 +Key: A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5 +Plaintext: A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5 +Ciphertext: 278D8C11ACFDB851131432B3E19C409F940F93E0F6CB49D076C62E70B9C27095 +Test: Encrypt +Comment: Set 3, vector 166 +Key: A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6 +Plaintext: A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6 +Ciphertext: D4839B5679FCA83189BB8C3681E83BAC871A02F297578855034E915F4EF04C12 +Test: Encrypt +Comment: Set 3, vector 167 +Key: A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7 +Plaintext: A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7 +Ciphertext: 91AFF6474168F1D113E3DC66E620CF2F7283CE84F5FDDECC7E79CC005859C1BA +Test: Encrypt +Comment: Set 3, vector 168 +Key: A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8 +Plaintext: A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8 +Ciphertext: 1374026DD442B1C1E0BA34570240F6A9E99781C8307A1544A9D3C91857C7E6E1 +Test: Encrypt +Comment: Set 3, vector 169 +Key: A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9 +Plaintext: A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9 +Ciphertext: C95E8163D47755E25E8A4BA1FDFF46E016F080F13A794FD21251CE238F28C52E +Test: Encrypt +Comment: Set 3, vector 170 +Key: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +Plaintext: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +Ciphertext: 5DA751854BEEDB19D767A09E2BD9C12D15E51A4409A1F70574496D0A0DA767F9 +Test: Encrypt +Comment: Set 3, vector 171 +Key: ABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABAB +Plaintext: ABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABAB +Ciphertext: C1A0ADDB98DA358D8F40CDB8FA427770D6BD5705D81A804A9BA27FFAE8790BD1 +Test: Encrypt +Comment: Set 3, vector 172 +Key: ACACACACACACACACACACACACACACACACACACACACACACACACACACACACACACACACACACACACACACACACACACACACACACACACACACACACACACACACACACACACACACACAC +Plaintext: ACACACACACACACACACACACACACACACACACACACACACACACACACACACACACACACAC +Ciphertext: 604830D513CB29E0E89A36EAB97FFDFC0855AE212F9DDAB62ABE7572CBCEBFC5 +Test: Encrypt +Comment: Set 3, vector 173 +Key: ADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADAD +Plaintext: ADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADAD +Ciphertext: 0DB5075E0B9727D439ED88030D31B532B61556D206220CAE70A7B42EE4C5F72E +Test: Encrypt +Comment: Set 3, vector 174 +Key: AEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAE +Plaintext: AEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAE +Ciphertext: A5167DC20ED3B1894B10C6AA754FDCF9FC1418439D9CA80C40974E9CB7630A12 +Test: Encrypt +Comment: Set 3, vector 175 +Key: AFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAF +Plaintext: AFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAF +Ciphertext: 1A90CCEA061A2FB58E4D1F363B6CEEC26BFB55F4F140A18991C8EF50E8DFB306 +Test: Encrypt +Comment: Set 3, vector 176 +Key: B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0 +Plaintext: B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0 +Ciphertext: 5CED17D75543C21AA1E020D4B084DB86A77BC445C7E77DA54DC6D786A0976A09 +Test: Encrypt +Comment: Set 3, vector 177 +Key: B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1 +Plaintext: B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1 +Ciphertext: BB28F1F9496ED578276F99F3A2D4657566DC2CDDDCF00AE44555DA614C64E54E +Test: Encrypt +Comment: Set 3, vector 178 +Key: B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2 +Plaintext: B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2 +Ciphertext: 30C28BF86BEAEBB25F4A667FB2B9C183B85B456527EB49B44AA4EA825A44E026 +Test: Encrypt +Comment: Set 3, vector 179 +Key: B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3 +Plaintext: B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3 +Ciphertext: C2B0DEB4BC6C28869675FB75D2C2081396601B1FA823185D2D9EDE0730BBEAEA +Test: Encrypt +Comment: Set 3, vector 180 +Key: B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4 +Plaintext: B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4 +Ciphertext: B3EDC667C3FD03CE50D05877C8A78C330F809DF5F8F7FB11968A3664C77CA78B +Test: Encrypt +Comment: Set 3, vector 181 +Key: B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5 +Plaintext: B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5 +Ciphertext: BC2FCF90C52B883CAC3F0A673FA093EEB48952F4DE50A9288464B84A920A1316 +Test: Encrypt +Comment: Set 3, vector 182 +Key: B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6 +Plaintext: B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6 +Ciphertext: 30BCF4063A59823CE94B14B6B65F1B4DBEED8FB30832765B5186F4B834DBEA89 +Test: Encrypt +Comment: Set 3, vector 183 +Key: B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7 +Plaintext: B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7 +Ciphertext: 51B4C7E8F697FACC24294A2CEB404C4BEC0CA41C76A6B50A824800EA4464C796 +Test: Encrypt +Comment: Set 3, vector 184 +Key: B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8 +Plaintext: B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8 +Ciphertext: 2CCFF61604C0881CCC6A69B885878D6D07CEA7DAB31719D89DC4ECB0063DF5D2 +Test: Encrypt +Comment: Set 3, vector 185 +Key: B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9 +Plaintext: B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9 +Ciphertext: 87998D9F16DC018B5DBD42A2E0C26D3774C2A41986E2D0A1504CE37B6EE71688 +Test: Encrypt +Comment: Set 3, vector 186 +Key: BABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABA +Plaintext: BABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABA +Ciphertext: D774451BB82A62A4C7708D0194F6C129C483CEFD182BAADF5A35EB77892F317A +Test: Encrypt +Comment: Set 3, vector 187 +Key: BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB +Plaintext: BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB +Ciphertext: B88CE3DF52572A1A1C8253E05D789BBF204E2CFC7A00389429F4C6B428EF8CD6 +Test: Encrypt +Comment: Set 3, vector 188 +Key: BCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBC +Plaintext: BCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBC +Ciphertext: B854E538E6674A1831F635AA6650A0A4D0730A9A4B12511509EFD49E34D57D62 +Test: Encrypt +Comment: Set 3, vector 189 +Key: BDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBD +Plaintext: BDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBD +Ciphertext: A69EF2348FEEF1EA09A2B29A6D977092ECD522A62EE906FA47624C92A872EB17 +Test: Encrypt +Comment: Set 3, vector 190 +Key: BEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBE +Plaintext: BEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBE +Ciphertext: A1AE0CBC3B5200F1D8AE165EE42D45F6CE8C4FF448F8127B6D9AB4936FC76CA8 +Test: Encrypt +Comment: Set 3, vector 191 +Key: BFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBF +Plaintext: BFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBF +Ciphertext: 91948E36B83E21FF8A5EEDAA48E50E3A292A3B68D20657FA7E11F50BC7A12205 +Test: Encrypt +Comment: Set 3, vector 192 +Key: C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0 +Plaintext: C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0 +Ciphertext: 56CD17219224C3103E3E3E5CABAB6C1E78DEA9AD27613E8D62901FFA31500BFF +Test: Encrypt +Comment: Set 3, vector 193 +Key: C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1 +Plaintext: C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1 +Ciphertext: 2E8FE5CAB2448B194387B160E9141E7D1B879BA1580B3D393B55436608EA2735 +Test: Encrypt +Comment: Set 3, vector 194 +Key: C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2 +Plaintext: C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2 +Ciphertext: 5DD74E1155DD90840C702145DF6912754FB74B47625EA4C5382326681DB3390E +Test: Encrypt +Comment: Set 3, vector 195 +Key: C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3 +Plaintext: C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3 +Ciphertext: 3A9F5962554037DCB1FA2AD04BFC0BF79699941500D5F9841320C6D8601310A2 +Test: Encrypt +Comment: Set 3, vector 196 +Key: C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4 +Plaintext: C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4 +Ciphertext: BB0F5B68087BBA51DBB700BA1860CC3D0A587E54D57F4014DE4E48E58E529F87 +Test: Encrypt +Comment: Set 3, vector 197 +Key: C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5 +Plaintext: C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5 +Ciphertext: 8384025D801AB8EC4D4416F5B7E862B6D9AC9E4AEE334C35FD0296B1402E4975 +Test: Encrypt +Comment: Set 3, vector 198 +Key: C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6 +Plaintext: C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6 +Ciphertext: BE3057511C5D0E51315D89671BB4E57E7B590EC3ECE8A14D728248ED8F5107BB +Test: Encrypt +Comment: Set 3, vector 199 +Key: C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7 +Plaintext: C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7 +Ciphertext: 18882618837D15B0B6BD77E1F37470EC58155A2788BDD9D91AEBD16B29A92A1B +Test: Encrypt +Comment: Set 3, vector 200 +Key: C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8 +Plaintext: C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8 +Ciphertext: 8FAFDDC7E04C1AF3BBE8428222DCA59D2EF8C9E0213430492ECAB7B414987FEF +Test: Encrypt +Comment: Set 3, vector 201 +Key: C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9 +Plaintext: C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9 +Ciphertext: 4D687992D4F9F515FE451AC967CBF75F906D637C3C261758E263A0DA0DEF69C2 +Test: Encrypt +Comment: Set 3, vector 202 +Key: CACACACACACACACACACACACACACACACACACACACACACACACACACACACACACACACACACACACACACACACACACACACACACACACACACACACACACACACACACACACACACACACA +Plaintext: CACACACACACACACACACACACACACACACACACACACACACACACACACACACACACACACA +Ciphertext: 9DDC94BFF87FDBAFDB0AB9DC17D3649231300E5E6270600856722324DC9CA39A +Test: Encrypt +Comment: Set 3, vector 203 +Key: CBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCB +Plaintext: CBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCB +Ciphertext: 86E9CCD90D7B902D23D82C085B1F886402DBD2D19C5A81A32F318C98C6E2A98A +Test: Encrypt +Comment: Set 3, vector 204 +Key: CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC +Plaintext: CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC +Ciphertext: 164FCD7D1FFE12FF1FDEE6384145EF546A5CD98C22817A5205FF2C2E18339779 +Test: Encrypt +Comment: Set 3, vector 205 +Key: CDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCD +Plaintext: CDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCD +Ciphertext: 4579935A483BAC6B4CCD8C25BCC9E6DEAF46EA8B53F8B5E37CC436EAB85A1330 +Test: Encrypt +Comment: Set 3, vector 206 +Key: CECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECE +Plaintext: CECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECE +Ciphertext: E5F810DF5B215F559E76EF925F2B795915A7B03A6F7019FAC8E9127A7CE93F09 +Test: Encrypt +Comment: Set 3, vector 207 +Key: CFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCF +Plaintext: CFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCF +Ciphertext: 2EA0892E2B2F29A63526B37DECD18E31DC970A60E60A4D8414A5BD0D2D5491EF +Test: Encrypt +Comment: Set 3, vector 208 +Key: D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0 +Plaintext: D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0 +Ciphertext: 900F155E80A716199EB062827CDDDC4DA857550BA1C265A46D47BE4024706F40 +Test: Encrypt +Comment: Set 3, vector 209 +Key: D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1 +Plaintext: D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1 +Ciphertext: 5B495546838A97D8DF4B9CA95EF8350210A3ECAB81469678EBDE1E5846C1F42D +Test: Encrypt +Comment: Set 3, vector 210 +Key: D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2 +Plaintext: D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2 +Ciphertext: 60E7E367347BC3F4091CE34CCA288C8AFC6375ED8F4394D904FD8489280D50F1 +Test: Encrypt +Comment: Set 3, vector 211 +Key: D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3 +Plaintext: D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3 +Ciphertext: F215EED91D35B7BA649F05C3D1E2B254CB1215588AB78DF54F3CA221AB4A3F1B +Test: Encrypt +Comment: Set 3, vector 212 +Key: D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4 +Plaintext: D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4 +Ciphertext: 6441A445D808842C6185B81ACBC5AF86386C54C79026BFC21C1DB5111362AA15 +Test: Encrypt +Comment: Set 3, vector 213 +Key: D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5 +Plaintext: D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5 +Ciphertext: 4EE459EDAC1FE0CB08E80C8C13FCE8C44CBFECF7A7F9F14C15B5A92BB7F34E71 +Test: Encrypt +Comment: Set 3, vector 214 +Key: D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6 +Plaintext: D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6 +Ciphertext: 78826499B0F2F402E6DA3CACA36EA35492B7BD2A4D84575D0432E16368E78808 +Test: Encrypt +Comment: Set 3, vector 215 +Key: D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7 +Plaintext: D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7 +Ciphertext: BDFBCAE2761BEF6A411156AE01A63F9321EE969C56043F2A44C5D3D4BB017BC0 +Test: Encrypt +Comment: Set 3, vector 216 +Key: D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8 +Plaintext: D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8 +Ciphertext: 926F2CD84035F9070C3506E6D7245FEA9A845F2D355785BB17E1D3C34FA81228 +Test: Encrypt +Comment: Set 3, vector 217 +Key: D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9 +Plaintext: D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9 +Ciphertext: 6C5F6B1C746967142D55FA3769A9417D5A44875D364DB4412B4F9EB254D9BB89 +Test: Encrypt +Comment: Set 3, vector 218 +Key: DADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADA +Plaintext: DADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADA +Ciphertext: 8329A1E54D9F45DB4E8CE6F1B481C3EE00D5511B52B3CDADCBD562A9F1B35770 +Test: Encrypt +Comment: Set 3, vector 219 +Key: DBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDB +Plaintext: DBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDB +Ciphertext: 7A7FEEDEF1950F1A60529743163406CAF167097358377E0650CF0BB35CD783F6 +Test: Encrypt +Comment: Set 3, vector 220 +Key: DCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDC +Plaintext: DCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDC +Ciphertext: C52CFB15D2F53156701AE4951AA46BCFC872252447BB14E1CE19CAC074926984 +Test: Encrypt +Comment: Set 3, vector 221 +Key: DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD +Plaintext: DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD +Ciphertext: 79DFF8DC12ABCEC71E7FAE55ABC8C374135ECE2D52834BC77B860252B756D54A +Test: Encrypt +Comment: Set 3, vector 222 +Key: DEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDE +Plaintext: DEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDE +Ciphertext: 62963B66E680BD5602EC86DB7267E15CB1FF6EA698B54EBA661D125400C7F2DD +Test: Encrypt +Comment: Set 3, vector 223 +Key: DFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDF +Plaintext: DFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDF +Ciphertext: 0C2E76743ACC9CC0525D6E2C519D12C369CFA9E27F13068F98D2F32FAD7220CB +Test: Encrypt +Comment: Set 3, vector 224 +Key: E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0 +Plaintext: E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0 +Ciphertext: B464640E72C30DF092A5BB00F34568A7C04B8620265EDA53F19F3A06164AF980 +Test: Encrypt +Comment: Set 3, vector 225 +Key: E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1 +Plaintext: E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1 +Ciphertext: 3725215E79F1FE3DC64B4316449FF98EB52D03330BFC848CD83A407475AADA3A +Test: Encrypt +Comment: Set 3, vector 226 +Key: E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2 +Plaintext: E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2 +Ciphertext: BA273F544C5076D523CC75F90E315A39E465D2B25434E6577FE629F27061BBA4 +Test: Encrypt +Comment: Set 3, vector 227 +Key: E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3 +Plaintext: E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3 +Ciphertext: 472161A0F42E64BD0FE6D448996C370E2C3A56BDE16B378EAA31740551121B4E +Test: Encrypt +Comment: Set 3, vector 228 +Key: E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4 +Plaintext: E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4 +Ciphertext: EA089A10A597504D057E1F03064C9465C1A707C9472A7C0DBAD6978F5BB83A46 +Test: Encrypt +Comment: Set 3, vector 229 +Key: E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 +Plaintext: E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5 +Ciphertext: E91B3433426F88FA31A05E17906E55EA1D803ADFE080C51FBD98290CBF427BEF +Test: Encrypt +Comment: Set 3, vector 230 +Key: E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6 +Plaintext: E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6 +Ciphertext: 747C4999D0256384349A5FB132DE1AAD4D7FC48507FEC206B80ED429AF7FDBDB +Test: Encrypt +Comment: Set 3, vector 231 +Key: E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7 +Plaintext: E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7 +Ciphertext: 3F8058A1A9B7B0A9C31B4670EEAA6988BF2D41E9B3417EF899EF12CBBC9C77DE +Test: Encrypt +Comment: Set 3, vector 232 +Key: E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8 +Plaintext: E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8 +Ciphertext: 9DA431EC0DADDEC4A76B3830B20AA03D346AD09691FB98FC0E9A8987F7B70EDF +Test: Encrypt +Comment: Set 3, vector 233 +Key: E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9 +Plaintext: E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9 +Ciphertext: 63BF528E184A43EF807DC9169BDB9CD7B63EE144478A4735EC2EE3A5A7EE460A +Test: Encrypt +Comment: Set 3, vector 234 +Key: EAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEA +Plaintext: EAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEA +Ciphertext: 73DC5F8AFA9493AD7767D15A36E7741044EFC225136B4972DC5294E80071A64D +Test: Encrypt +Comment: Set 3, vector 235 +Key: EBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEB +Plaintext: EBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEB +Ciphertext: 7EEE75D690458A604D20CD21ED64B228F0C3563DB8FB925341FC02845B6E06BA +Test: Encrypt +Comment: Set 3, vector 236 +Key: ECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECEC +Plaintext: ECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECEC +Ciphertext: AA4D9E1A0157AC347DC7A1997718944427BD579DC18B94F181390E8C36A1305C +Test: Encrypt +Comment: Set 3, vector 237 +Key: EDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDED +Plaintext: EDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDED +Ciphertext: 1695BC5C3D63F4B0E0BC3225F00BB0B8E8D29F3DC09584353E11510002E2BE53 +Test: Encrypt +Comment: Set 3, vector 238 +Key: EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE +Plaintext: EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE +Ciphertext: C68C7A2FBDA419A515AE816480490BFB2A72A4B6534A19A8D8C6C85FAA949567 +Test: Encrypt +Comment: Set 3, vector 239 +Key: EFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEF +Plaintext: EFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEF +Ciphertext: 5F45E7F72A64C66269F83714A88A0701561C3E7AF33BB48887D4439F5DE4A82D +Test: Encrypt +Comment: Set 3, vector 240 +Key: F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0 +Plaintext: F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0 +Ciphertext: AD49A5C8EB06256147F02301FB47710E915B5A8FC3219C0D56A19382977119FC +Test: Encrypt +Comment: Set 3, vector 241 +Key: F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1 +Plaintext: F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1 +Ciphertext: 2387AF70EE04E7F25277E81081B044EA24090D503CE8F64997BB610C762D8F6F +Test: Encrypt +Comment: Set 3, vector 242 +Key: F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2 +Plaintext: F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2 +Ciphertext: B5D496DD36BA0B47832C170A53760CE5E47B1FF5C28848F5F7A1827E94BC73CB +Test: Encrypt +Comment: Set 3, vector 243 +Key: F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3 +Plaintext: F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3 +Ciphertext: 77978F2EAB7E8B6B32C9293B83F51419785A0CD276276CB417ACA806A456A6AE +Test: Encrypt +Comment: Set 3, vector 244 +Key: F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4 +Plaintext: F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4 +Ciphertext: E3CBD41F80B27C9A684D7C7C27BBCA9FD59E5E81E93B7BC5BFDF66722EF68EEE +Test: Encrypt +Comment: Set 3, vector 245 +Key: F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5 +Plaintext: F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5 +Ciphertext: 4482F0C362CB423104CAA26E1415B0B7519E1189624D313E65D324C6DC95F516 +Test: Encrypt +Comment: Set 3, vector 246 +Key: F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6 +Plaintext: F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6 +Ciphertext: CD72EE9A6919348595286348C7E488DB3648458688F72BAD994B26FE6999E676 +Test: Encrypt +Comment: Set 3, vector 247 +Key: F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7 +Plaintext: F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7 +Ciphertext: 03EF38F91710AE8BCC8B9193F6A55A7C90C66300D20EDCF5B4946F3B38BEF6C5 +Test: Encrypt +Comment: Set 3, vector 248 +Key: F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8 +Plaintext: F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8 +Ciphertext: B67638D30578AB2319FE275D0B833B50D7ABF01E8760F566D0D441D8EAFDF8AA +Test: Encrypt +Comment: Set 3, vector 249 +Key: F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9 +Plaintext: F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9 +Ciphertext: 98B05FF6042436505C7163415E187E09F10C3B1A86FA4B458CE1EF31022F5D16 +Test: Encrypt +Comment: Set 3, vector 250 +Key: FAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFA +Plaintext: FAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFA +Ciphertext: B670A350A2CF0478412307EF00F97F8B30175CDB7593FF4686BD614B41444342 +Test: Encrypt +Comment: Set 3, vector 251 +Key: FBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFB +Plaintext: FBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFB +Ciphertext: D7FD492E6302265C24FAB910AA1335C29D53406147E853F7604F4AF1A9407E83 +Test: Encrypt +Comment: Set 3, vector 252 +Key: FCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFC +Plaintext: FCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFC +Ciphertext: 28926789363A4306E2C75FD1D8FDF0FE6B62FDB2AFAEDDA6F47A565C2781968B +Test: Encrypt +Comment: Set 3, vector 253 +Key: FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD +Plaintext: FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD +Ciphertext: 813C816CD4B18F20BD06E2E93CFAA717EBB6554B556CC33D67530608A9BF100F +Test: Encrypt +Comment: Set 3, vector 254 +Key: FEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFE +Plaintext: FEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFE +Ciphertext: 5DC15C83E7C4F5AAF8D8482ED1E443271B28B59288783DBCDDEC3544E3368A6E +Test: Encrypt +Comment: Set 3, vector 255 +Key: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +Plaintext: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +Ciphertext: 0598127BAF11706F77402000D730C54A0B84C868A98C6CA4D7F3C0FA06A78B7A +Test: Encrypt diff --git a/TestVectors/sosemanuk.txt b/TestVectors/sosemanuk.txt old mode 100755 new mode 100644 index 435d89be..9b8313e7 --- a/TestVectors/sosemanuk.txt +++ b/TestVectors/sosemanuk.txt @@ -1,25 +1,25 @@ -AlgorithmType: SymmetricCipher -Source: Sosemanuk reference implementation, compiled with -DSOSEMANUK_VECTOR -Key: A7C083FEB7 -IV: 00112233445566778899AABBCCDDEEFF -Name: Sosemanuk -Plaintext: r160 00 -Ciphertext: \ - FE 81 D2 16 2C 9A 10 0D 04 89 5C 45 4A 77 51 5B\ - BE 6A 43 1A 93 5C B9 0E 22 21 EB B7 EF 50 23 28\ - 94 35 39 49 2E FF 63 10 C8 71 05 4C 28 89 CC 72\ - 8F 82 E8 6B 1A FF F4 33 4B 61 27 A1 3A 15 5C 75\ - 15 16 30 BD 48 2E B6 73 FF 5D B4 77 FA 6C 53 EB\ - E1 A4 EC 38 C2 3C 54 00 C3 15 45 5D 93 A2 AC ED\ - 95 98 60 47 27 FA 34 0D 5F 2A 8B D7 57 B7 78 33\ - F7 4B D2 BC 04 93 13 C8 06 16 B4 A0 62 68 AE 35\ - 0D B9 2E EC 4F A5 6C 17 13 74 A6 7A 80 C0 06 D0\ - EA D0 48 CE 7B 64 0F 17 D3 D5 A6 2D 1F 25 1C 21 -Test: Encrypt -Source: http://www.ecrypt.eu.org/stream/svn/viewcvs.cgi/ecrypt/trunk/submissions/sosemanuk/unverified.test-vectors?rev=189&view=auto -Comment: Set 6, vector# 3 -Key: 0F62B5085BAE0154A7FA4DA0F34699EC3F92E5388BDE3184D72A7DD02376C91C -IV: 288FF65DC42B92F960C72E95FC63CA31 -Plaintext: r131072 00 -CiphertextXorDigest: CC09FB7405DD54BBF09407B1D2033FBBAC53F388DD387A46F2B8FCFF692A7838353523A621A55D08DA0CA5348AE96D8B0D6A028F309982EF6628054D01B9A368 -Test: EncryptXorDigest +AlgorithmType: SymmetricCipher +Source: Sosemanuk reference implementation, compiled with -DSOSEMANUK_VECTOR +Key: A7C083FEB7 +IV: 00112233445566778899AABBCCDDEEFF +Name: Sosemanuk +Plaintext: r160 00 +Ciphertext: \ + FE 81 D2 16 2C 9A 10 0D 04 89 5C 45 4A 77 51 5B\ + BE 6A 43 1A 93 5C B9 0E 22 21 EB B7 EF 50 23 28\ + 94 35 39 49 2E FF 63 10 C8 71 05 4C 28 89 CC 72\ + 8F 82 E8 6B 1A FF F4 33 4B 61 27 A1 3A 15 5C 75\ + 15 16 30 BD 48 2E B6 73 FF 5D B4 77 FA 6C 53 EB\ + E1 A4 EC 38 C2 3C 54 00 C3 15 45 5D 93 A2 AC ED\ + 95 98 60 47 27 FA 34 0D 5F 2A 8B D7 57 B7 78 33\ + F7 4B D2 BC 04 93 13 C8 06 16 B4 A0 62 68 AE 35\ + 0D B9 2E EC 4F A5 6C 17 13 74 A6 7A 80 C0 06 D0\ + EA D0 48 CE 7B 64 0F 17 D3 D5 A6 2D 1F 25 1C 21 +Test: Encrypt +Source: http://www.ecrypt.eu.org/stream/svn/viewcvs.cgi/ecrypt/trunk/submissions/sosemanuk/unverified.test-vectors?rev=189&view=auto +Comment: Set 6, vector# 3 +Key: 0F62B5085BAE0154A7FA4DA0F34699EC3F92E5388BDE3184D72A7DD02376C91C +IV: 288FF65DC42B92F960C72E95FC63CA31 +Plaintext: r131072 00 +CiphertextXorDigest: CC09FB7405DD54BBF09407B1D2033FBBAC53F388DD387A46F2B8FCFF692A7838353523A621A55D08DA0CA5348AE96D8B0D6A028F309982EF6628054D01B9A368 +Test: EncryptXorDigest diff --git a/TestVectors/tea.txt b/TestVectors/tea.txt index dc46d3fc..dfa6b028 100644 --- a/TestVectors/tea.txt +++ b/TestVectors/tea.txt @@ -1,711 +1,711 @@ -AlgorithmType: SymmetricCipher -Name: TEA/ECB -Source: http://www.cix.co.uk/~klockstone/teavect.htm -Comment: test 1 -Plaintext: 00000000 00000000 -Key: 00000000 00000000 00000000 00000000 -Ciphertext: 41ea3a0a 94baa940 -Test: Encrypt -Comment: test 2 -Plaintext: 94baa940 00000000 -Key: 00000000 00000000 00000000 41ea3a0a -Ciphertext: 4e8e7829 7d8236d8 -Test: Encrypt -Comment: test 3 -Plaintext: 7d8236d8 00000000 -Key: 00000000 00000000 41ea3a0a 4e8e7829 -Ciphertext: c88ba95e e7edac02 -Test: Encrypt -Comment: test 4 -Plaintext: e7edac02 00000000 -Key: 00000000 41ea3a0a 4e8e7829 c88ba95e -Ciphertext: b84e28af b6b62088 -Test: Encrypt -Comment: test 5 -Plaintext: b6b62088 00000000 -Key: 41ea3a0a 4e8e7829 c88ba95e b84e28af -Ciphertext: a0a47295 8fadf3b3 -Test: Encrypt -Comment: test 6 -Plaintext: 8fadf3b3 41ea3a0a -Key: 4e8e7829 c88ba95e b84e28af a0a47295 -Ciphertext: ed650698 cf9f2b79 -Test: Encrypt -Comment: test 7 -Plaintext: cf9f2b79 4e8e7829 -Key: c88ba95e b84e28af a0a47295 ed650698 -Ciphertext: 1024eea0 6220ae1c -Test: Encrypt -Comment: test 8 -Plaintext: 6220ae1c c88ba95e -Key: b84e28af a0a47295 ed650698 1024eea0 -Ciphertext: 5ddf75d9 7a4ce68f -Test: Encrypt -Comment: test 9 -Plaintext: 7a4ce68f b84e28af -Key: a0a47295 ed650698 1024eea0 5ddf75d9 -Ciphertext: f1be9d1e 8dd4a984 -Test: Encrypt -Comment: test 10 -Plaintext: 8dd4a984 a0a47295 -Key: ed650698 1024eea0 5ddf75d9 f1be9d1e -Ciphertext: d32c758c 092dabad -Test: Encrypt -Comment: test 11 -Plaintext: 092dabad ed650698 -Key: 1024eea0 5ddf75d9 f1be9d1e d32c758c -Ciphertext: bdb43728 f7183fc0 -Test: Encrypt -Comment: test 12 -Plaintext: f7183fc0 1024eea0 -Key: 5ddf75d9 f1be9d1e d32c758c bdb43728 -Ciphertext: a9c3801a d9dcfb4e -Test: Encrypt -Comment: test 13 -Plaintext: d9dcfb4e 5ddf75d9 -Key: f1be9d1e d32c758c bdb43728 a9c3801a -Ciphertext: 32a1e654 a9df917c -Test: Encrypt -Comment: test 14 -Plaintext: a9df917c f1be9d1e -Key: d32c758c bdb43728 a9c3801a 32a1e654 -Ciphertext: 08b63bb9 b20bd3e8 -Test: Encrypt -Comment: test 15 -Plaintext: b20bd3e8 d32c758c -Key: bdb43728 a9c3801a 32a1e654 08b63bb9 -Ciphertext: 21410574 cc4264c6 -Test: Encrypt -Comment: test 16 -Plaintext: cc4264c6 bdb43728 -Key: a9c3801a 32a1e654 08b63bb9 21410574 -Ciphertext: 4ec5d2e2 5ada1d89 -Test: Encrypt -Comment: test 17 -Plaintext: 5ada1d89 a9c3801a -Key: 32a1e654 08b63bb9 21410574 4ec5d2e2 -Ciphertext: dd46249e 28aa0b4b -Test: Encrypt -Comment: test 18 -Plaintext: 28aa0b4b 32a1e654 -Key: 08b63bb9 21410574 4ec5d2e2 dd46249e -Ciphertext: 2486dcba a713df03 -Test: Encrypt -Comment: test 19 -Plaintext: a713df03 08b63bb9 -Key: 21410574 4ec5d2e2 dd46249e 2486dcba -Ciphertext: b7c7af9d 1acb6cab -Test: Encrypt -Comment: test 20 -Plaintext: 1acb6cab 21410574 -Key: 4ec5d2e2 dd46249e 2486dcba b7c7af9d -Ciphertext: 8cc0400a 9aa49fbb -Test: Encrypt -Comment: test 21 -Plaintext: 9aa49fbb 4ec5d2e2 -Key: dd46249e 2486dcba b7c7af9d 8cc0400a -Ciphertext: 9c241876 6cbc8c66 -Test: Encrypt -Comment: test 22 -Plaintext: 6cbc8c66 dd46249e -Key: 2486dcba b7c7af9d 8cc0400a 9c241876 -Ciphertext: b59c5d45 a90066f9 -Test: Encrypt -Comment: test 23 -Plaintext: a90066f9 2486dcba -Key: b7c7af9d 8cc0400a 9c241876 b59c5d45 -Ciphertext: b765a1b3 64b37eb0 -Test: Encrypt -Comment: test 24 -Plaintext: 64b37eb0 b7c7af9d -Key: 8cc0400a 9c241876 b59c5d45 b765a1b3 -Ciphertext: 7b172fac f5ab4933 -Test: Encrypt -Comment: test 25 -Plaintext: f5ab4933 8cc0400a -Key: 9c241876 b59c5d45 b765a1b3 7b172fac -Ciphertext: fe48f4fb ada404b1 -Test: Encrypt -Comment: test 26 -Plaintext: ada404b1 9c241876 -Key: b59c5d45 b765a1b3 7b172fac fe48f4fb -Ciphertext: c5294093 c1d53e3d -Test: Encrypt -Comment: test 27 -Plaintext: c1d53e3d b59c5d45 -Key: b765a1b3 7b172fac fe48f4fb c5294093 -Ciphertext: 759ca8e2 77a96649 -Test: Encrypt -Comment: test 28 -Plaintext: 77a96649 b765a1b3 -Key: 7b172fac fe48f4fb c5294093 759ca8e2 -Ciphertext: 69c53e0f 3e979807 -Test: Encrypt -Comment: test 29 -Plaintext: 3e979807 7b172fac -Key: fe48f4fb c5294093 759ca8e2 69c53e0f -Ciphertext: 60388ada a21fa8e8 -Test: Encrypt -Comment: test 30 -Plaintext: a21fa8e8 fe48f4fb -Key: c5294093 759ca8e2 69c53e0f 60388ada -Ciphertext: df70a1f5 ac4aa407 -Test: Encrypt -Comment: test 31 -Plaintext: ac4aa407 c5294093 -Key: 759ca8e2 69c53e0f 60388ada df70a1f5 -Ciphertext: d9cb4e09 92636233 -Test: Encrypt -Comment: test 32 -Plaintext: 92636233 759ca8e2 -Key: 69c53e0f 60388ada df70a1f5 d9cb4e09 -Ciphertext: 7d2c6c57 7a6adb4d -Test: Encrypt -Comment: test 33 -Plaintext: 7a6adb4d 69c53e0f -Key: 60388ada df70a1f5 d9cb4e09 7d2c6c57 -Ciphertext: 44b71215 cf25368a -Test: Encrypt -Comment: test 34 -Plaintext: cf25368a 60388ada -Key: df70a1f5 d9cb4e09 7d2c6c57 44b71215 -Ciphertext: c10105a1 ef781a18 -Test: Encrypt -Comment: test 35 -Plaintext: ef781a18 df70a1f5 -Key: d9cb4e09 7d2c6c57 44b71215 c10105a1 -Ciphertext: bfdb29fa 9ece39b6 -Test: Encrypt -Comment: test 36 -Plaintext: 9ece39b6 d9cb4e09 -Key: 7d2c6c57 44b71215 c10105a1 bfdb29fa -Ciphertext: 9b0b256d dc04574c -Test: Encrypt -Comment: test 37 -Plaintext: dc04574c 7d2c6c57 -Key: 44b71215 c10105a1 bfdb29fa 9b0b256d -Ciphertext: f8295142 8c022711 -Test: Encrypt -Comment: test 38 -Plaintext: 8c022711 44b71215 -Key: c10105a1 bfdb29fa 9b0b256d f8295142 -Ciphertext: 61341d1c 3a85f2f0 -Test: Encrypt -Comment: test 39 -Plaintext: 3a85f2f0 c10105a1 -Key: bfdb29fa 9b0b256d f8295142 61341d1c -Ciphertext: f6a0d30c ad230209 -Test: Encrypt -Comment: test 40 -Plaintext: ad230209 bfdb29fa -Key: 9b0b256d f8295142 61341d1c f6a0d30c -Ciphertext: 3de21a3f aa0cf5c9 -Test: Encrypt -Comment: test 41 -Plaintext: aa0cf5c9 9b0b256d -Key: f8295142 61341d1c f6a0d30c 3de21a3f -Ciphertext: a7e307c6 bd52d939 -Test: Encrypt -Comment: test 42 -Plaintext: bd52d939 f8295142 -Key: 61341d1c f6a0d30c 3de21a3f a7e307c6 -Ciphertext: 017bc3a7 66fd8c77 -Test: Encrypt -Comment: test 43 -Plaintext: 66fd8c77 61341d1c -Key: f6a0d30c 3de21a3f a7e307c6 017bc3a7 -Ciphertext: d8f8fc86 d01b5761 -Test: Encrypt -Comment: test 44 -Plaintext: d01b5761 f6a0d30c -Key: 3de21a3f a7e307c6 017bc3a7 d8f8fc86 -Ciphertext: e186c41a 5e6e5a4d -Test: Encrypt -Comment: test 45 -Plaintext: 5e6e5a4d 3de21a3f -Key: a7e307c6 017bc3a7 d8f8fc86 e186c41a -Ciphertext: 4368d224 dbb4e677 -Test: Encrypt -Comment: test 46 -Plaintext: dbb4e677 a7e307c6 -Key: 017bc3a7 d8f8fc86 e186c41a 4368d224 -Ciphertext: 9bd0321e 84096523 -Test: Encrypt -Comment: test 47 -Plaintext: 84096523 017bc3a7 -Key: d8f8fc86 e186c41a 4368d224 9bd0321e -Ciphertext: b7c56d5b 97c65866 -Test: Encrypt -Comment: test 48 -Plaintext: 97c65866 d8f8fc86 -Key: e186c41a 4368d224 9bd0321e b7c56d5b -Ciphertext: 63a1bfac 5a5d7ca2 -Test: Encrypt -Comment: test 49 -Plaintext: 5a5d7ca2 e186c41a -Key: 4368d224 9bd0321e b7c56d5b 63a1bfac -Ciphertext: 91f56dff 7281794f -Test: Encrypt -Comment: test 50 -Plaintext: 7281794f 4368d224 -Key: 9bd0321e b7c56d5b 63a1bfac 91f56dff -Ciphertext: e4c63780 019aedf7 -Test: Encrypt -Comment: test 51 -Plaintext: 019aedf7 9bd0321e -Key: b7c56d5b 63a1bfac 91f56dff e4c63780 -Ciphertext: a9fb56e7 35f4aeca -Test: Encrypt -Comment: test 52 -Plaintext: 35f4aeca b7c56d5b -Key: 63a1bfac 91f56dff e4c63780 a9fb56e7 -Ciphertext: a6537187 f0f1ba93 -Test: Encrypt -Comment: test 53 -Plaintext: f0f1ba93 63a1bfac -Key: 91f56dff e4c63780 a9fb56e7 a6537187 -Ciphertext: cc960eda e44c6b8f -Test: Encrypt -Comment: test 54 -Plaintext: e44c6b8f 91f56dff -Key: e4c63780 a9fb56e7 a6537187 cc960eda -Ciphertext: e12f106d 4f1152d0 -Test: Encrypt -Comment: test 55 -Plaintext: 4f1152d0 e4c63780 -Key: a9fb56e7 a6537187 cc960eda e12f106d -Ciphertext: 556ad853 f79992fd -Test: Encrypt -Comment: test 56 -Plaintext: f79992fd a9fb56e7 -Key: a6537187 cc960eda e12f106d 556ad853 -Ciphertext: 78e8e265 128df6ad -Test: Encrypt -Comment: test 57 -Plaintext: 128df6ad a6537187 -Key: cc960eda e12f106d 556ad853 78e8e265 -Ciphertext: f23892aa 288cb926 -Test: Encrypt -Comment: test 58 -Plaintext: 288cb926 cc960eda -Key: e12f106d 556ad853 78e8e265 f23892aa -Ciphertext: 1d115839 6a117fca -Test: Encrypt -Comment: test 59 -Plaintext: 6a117fca e12f106d -Key: 556ad853 78e8e265 f23892aa 1d115839 -Ciphertext: cf899635 5b087e34 -Test: Encrypt -Comment: test 60 -Plaintext: 5b087e34 556ad853 -Key: 78e8e265 f23892aa 1d115839 cf899635 -Ciphertext: 5c60bff2 e68d88c2 -Test: Encrypt -Comment: test 61 -Plaintext: e68d88c2 78e8e265 -Key: f23892aa 1d115839 cf899635 5c60bff2 -Ciphertext: 7072d01c bffeb50a -Test: Encrypt -Comment: test 62 -Plaintext: bffeb50a f23892aa -Key: 1d115839 cf899635 5c60bff2 7072d01c -Ciphertext: 4513c5eb 9c99ae9e -Test: Encrypt -Comment: test 63 -Plaintext: 9c99ae9e 1d115839 -Key: cf899635 5c60bff2 7072d01c 4513c5eb -Ciphertext: 8f3a38ab 80d9c4ad -Test: Encrypt -Comment: test 64 -Plaintext: 80d9c4ad cf899635 -Key: 5c60bff2 7072d01c 4513c5eb 8f3a38ab -Ciphertext: 2bb0f1b3 c023ed11 -Test: Encrypt - -AlgorithmType: SymmetricCipher -Name: XTEA/ECB -Source: http://www.cix.co.uk/~klockstone/teavect.htm -Comment: test 1 -Plaintext: 00000000 00000000 -Key: 00000000 00000000 00000000 00000000 -Rounds: 1 -Ciphertext: 00000000 9e3779b9 -Test: Encrypt -Comment: test 2 -Plaintext: 9e3779b9 00000000 -Key: 00000000 00000000 00000000 00000000 -Rounds: 2 -Ciphertext: ec01a1de aaa0256d -Test: Encrypt -Comment: test 3 -Plaintext: aaa0256d 00000000 -Key: 00000000 00000000 00000000 ec01a1de -Rounds: 3 -Ciphertext: 114f6d74 a39e590c -Test: Encrypt -Comment: test 4 -Plaintext: a39e590c 00000000 -Key: 00000000 00000000 ec01a1de 114f6d74 -Rounds: 4 -Ciphertext: bc3a7de2 4e238eb9 -Test: Encrypt -Comment: test 5 -Plaintext: 4e238eb9 00000000 -Key: 00000000 ec01a1de 114f6d74 bc3a7de2 -Rounds: 5 -Ciphertext: 845846cf 2f36d07f -Test: Encrypt -Comment: test 6 -Plaintext: 2f36d07f 00000000 -Key: ec01a1de 114f6d74 bc3a7de2 845846cf -Rounds: 6 -Ciphertext: 2794a127 4f3e4b6a -Test: Encrypt -Comment: test 7 -Plaintext: 4f3e4b6a ec01a1de -Key: 114f6d74 bc3a7de2 845846cf 2794a127 -Rounds: 7 -Ciphertext: 6b8ea8b8 d99e66c3 -Test: Encrypt -Comment: test 8 -Plaintext: d99e66c3 114f6d74 -Key: bc3a7de2 845846cf 2794a127 6b8ea8b8 -Rounds: 8 -Ciphertext: 31c5fa6c 241756d6 -Test: Encrypt -Comment: test 9 -Plaintext: 241756d6 bc3a7de2 -Key: 845846cf 2794a127 6b8ea8b8 31c5fa6c -Rounds: 9 -Ciphertext: 4a581696 1fd58a6b -Test: Encrypt -Comment: test 10 -Plaintext: 1fd58a6b 845846cf -Key: 2794a127 6b8ea8b8 31c5fa6c 4a581696 -Rounds: 10 -Ciphertext: dfcd0451 df8822cd -Test: Encrypt -Comment: test 11 -Plaintext: df8822cd 2794a127 -Key: 6b8ea8b8 31c5fa6c 4a581696 dfcd0451 -Rounds: 11 -Ciphertext: 3ad1ff17 f465776c -Test: Encrypt -Comment: test 12 -Plaintext: f465776c 6b8ea8b8 -Key: 31c5fa6c 4a581696 dfcd0451 3ad1ff17 -Rounds: 12 -Ciphertext: 6a1d78c8 4d30bdb9 -Test: Encrypt -Comment: test 13 -Plaintext: 4d30bdb9 31c5fa6c -Key: 4a581696 dfcd0451 3ad1ff17 6a1d78c8 -Rounds: 13 -Ciphertext: 08c86d67 f6ef939b -Test: Encrypt -Comment: test 14 -Plaintext: f6ef939b 4a581696 -Key: dfcd0451 3ad1ff17 6a1d78c8 08c86d67 -Rounds: 14 -Ciphertext: 2a65bfbe f733428c -Test: Encrypt -Comment: test 15 -Plaintext: f733428c dfcd0451 -Key: 3ad1ff17 6a1d78c8 08c86d67 2a65bfbe -Rounds: 15 -Ciphertext: b4bd6e46 40672bcc -Test: Encrypt -Comment: test 16 -Plaintext: 40672bcc 3ad1ff17 -Key: 6a1d78c8 08c86d67 2a65bfbe b4bd6e46 -Rounds: 16 -Ciphertext: 1d8e6992 9a478905 -Test: Encrypt -Comment: test 17 -Plaintext: 9a478905 6a1d78c8 -Key: 08c86d67 2a65bfbe b4bd6e46 1d8e6992 -Rounds: 17 -Ciphertext: f8994ada 80dee76a -Test: Encrypt -Comment: test 18 -Plaintext: 80dee76a 08c86d67 -Key: 2a65bfbe b4bd6e46 1d8e6992 f8994ada -Rounds: 18 -Ciphertext: 0997e6ed cdfef370 -Test: Encrypt -Comment: test 19 -Plaintext: cdfef370 2a65bfbe -Key: b4bd6e46 1d8e6992 f8994ada 0997e6ed -Rounds: 19 -Ciphertext: ece50553 10b76c66 -Test: Encrypt -Comment: test 20 -Plaintext: 10b76c66 b4bd6e46 -Key: 1d8e6992 f8994ada 0997e6ed ece50553 -Rounds: 20 -Ciphertext: a6d39c7b dce1a473 -Test: Encrypt -Comment: test 21 -Plaintext: dce1a473 1d8e6992 -Key: f8994ada 0997e6ed ece50553 a6d39c7b -Rounds: 21 -Ciphertext: 21d06fb7 fbb98544 -Test: Encrypt -Comment: test 22 -Plaintext: fbb98544 f8994ada -Key: 0997e6ed ece50553 a6d39c7b 21d06fb7 -Rounds: 22 -Ciphertext: 72cdd36c e1115fb6 -Test: Encrypt -Comment: test 23 -Plaintext: e1115fb6 0997e6ed -Key: ece50553 a6d39c7b 21d06fb7 72cdd36c -Rounds: 23 -Ciphertext: 25bc6eb3 e4c28ab7 -Test: Encrypt -Comment: test 24 -Plaintext: e4c28ab7 ece50553 -Key: a6d39c7b 21d06fb7 72cdd36c 25bc6eb3 -Rounds: 24 -Ciphertext: 4932a288 78020b9e -Test: Encrypt -Comment: test 25 -Plaintext: 78020b9e a6d39c7b -Key: 21d06fb7 72cdd36c 25bc6eb3 4932a288 -Rounds: 25 -Ciphertext: 25285da1 b66c4459 -Test: Encrypt -Comment: test 26 -Plaintext: b66c4459 21d06fb7 -Key: 72cdd36c 25bc6eb3 4932a288 25285da1 -Rounds: 26 -Ciphertext: 39b0155c f227ab20 -Test: Encrypt -Comment: test 27 -Plaintext: f227ab20 72cdd36c -Key: 25bc6eb3 4932a288 25285da1 39b0155c -Rounds: 27 -Ciphertext: 547571aa f38f1e39 -Test: Encrypt -Comment: test 28 -Plaintext: f38f1e39 25bc6eb3 -Key: 4932a288 25285da1 39b0155c 547571aa -Rounds: 28 -Ciphertext: 27f917b1 e5796aee -Test: Encrypt -Comment: test 29 -Plaintext: e5796aee 4932a288 -Key: 25285da1 39b0155c 547571aa 27f917b1 -Rounds: 29 -Ciphertext: c1da8993 670f9fd2 -Test: Encrypt -Comment: test 30 -Plaintext: 670f9fd2 25285da1 -Key: 39b0155c 547571aa 27f917b1 c1da8993 -Rounds: 30 -Ciphertext: 60e2acaa d0a60db4 -Test: Encrypt -Comment: test 31 -Plaintext: d0a60db4 39b0155c -Key: 547571aa 27f917b1 c1da8993 60e2acaa -Rounds: 31 -Ciphertext: a6eb923d af20a390 -Test: Encrypt -Comment: test 32 -Plaintext: af20a390 547571aa -Key: 27f917b1 c1da8993 60e2acaa a6eb923d -Rounds: 32 -Ciphertext: d26428af 0a202283 -Test: Encrypt -Comment: test 33 -Plaintext: 0a202283 27f917b1 -Key: c1da8993 60e2acaa a6eb923d d26428af -Rounds: 33 -Ciphertext: 1c03ceb9 96e9f2d3 -Test: Encrypt -Comment: test 34 -Plaintext: 96e9f2d3 c1da8993 -Key: 60e2acaa a6eb923d d26428af 1c03ceb9 -Rounds: 34 -Ciphertext: e260b3c1 bbd7dff0 -Test: Encrypt -Comment: test 35 -Plaintext: bbd7dff0 60e2acaa -Key: a6eb923d d26428af 1c03ceb9 e260b3c1 -Rounds: 35 -Ciphertext: d33073f9 12841b97 -Test: Encrypt -Comment: test 36 -Plaintext: 12841b97 a6eb923d -Key: d26428af 1c03ceb9 e260b3c1 d33073f9 -Rounds: 36 -Ciphertext: 17b7ea05 1d723f18 -Test: Encrypt -Comment: test 37 -Plaintext: 1d723f18 d26428af -Key: 1c03ceb9 e260b3c1 d33073f9 17b7ea05 -Rounds: 37 -Ciphertext: 9f571045 31e849b9 -Test: Encrypt -Comment: test 38 -Plaintext: 31e849b9 1c03ceb9 -Key: e260b3c1 d33073f9 17b7ea05 9f571045 -Rounds: 38 -Ciphertext: 288351d2 bd0a0054 -Test: Encrypt -Comment: test 39 -Plaintext: bd0a0054 e260b3c1 -Key: d33073f9 17b7ea05 9f571045 288351d2 -Rounds: 39 -Ciphertext: 9236883a 2bd13143 -Test: Encrypt -Comment: test 40 -Plaintext: 2bd13143 d33073f9 -Key: 17b7ea05 9f571045 288351d2 9236883a -Rounds: 40 -Ciphertext: e91dcf23 7c3fd716 -Test: Encrypt -Comment: test 41 -Plaintext: 7c3fd716 17b7ea05 -Key: 9f571045 288351d2 9236883a e91dcf23 -Rounds: 41 -Ciphertext: 5c8ff51e c3abe43d -Test: Encrypt -Comment: test 42 -Plaintext: c3abe43d 9f571045 -Key: 288351d2 9236883a e91dcf23 5c8ff51e -Rounds: 42 -Ciphertext: 446e9f7c ecb0eb4d -Test: Encrypt -Comment: test 43 -Plaintext: ecb0eb4d 288351d2 -Key: 9236883a e91dcf23 5c8ff51e 446e9f7c -Rounds: 43 -Ciphertext: 86455f77 ffc74050 -Test: Encrypt -Comment: test 44 -Plaintext: ffc74050 9236883a -Key: e91dcf23 5c8ff51e 446e9f7c 86455f77 -Rounds: 44 -Ciphertext: ae85d873 e21ef8d3 -Test: Encrypt -Comment: test 45 -Plaintext: e21ef8d3 e91dcf23 -Key: 5c8ff51e 446e9f7c 86455f77 ae85d873 -Rounds: 45 -Ciphertext: cf411a68 18dce768 -Test: Encrypt -Comment: test 46 -Plaintext: 18dce768 5c8ff51e -Key: 446e9f7c 86455f77 ae85d873 cf411a68 -Rounds: 46 -Ciphertext: 4ef68794 07d2b1b3 -Test: Encrypt -Comment: test 47 -Plaintext: 07d2b1b3 446e9f7c -Key: 86455f77 ae85d873 cf411a68 4ef68794 -Rounds: 47 -Ciphertext: d75a1925 07476976 -Test: Encrypt -Comment: test 48 -Plaintext: 07476976 86455f77 -Key: ae85d873 cf411a68 4ef68794 d75a1925 -Rounds: 48 -Ciphertext: 909d29cb 16b37e1b -Test: Encrypt -Comment: test 49 -Plaintext: 16b37e1b ae85d873 -Key: cf411a68 4ef68794 d75a1925 909d29cb -Rounds: 49 -Ciphertext: e05578cd bd40cd0c -Test: Encrypt -Comment: test 50 -Plaintext: bd40cd0c cf411a68 -Key: 4ef68794 d75a1925 909d29cb e05578cd -Rounds: 50 -Ciphertext: 988b50e5 adf1b74c -Test: Encrypt -Comment: test 51 -Plaintext: adf1b74c 4ef68794 -Key: d75a1925 909d29cb e05578cd 988b50e5 -Rounds: 51 -Ciphertext: 90699d3d d2333c19 -Test: Encrypt -Comment: test 52 -Plaintext: d2333c19 d75a1925 -Key: 909d29cb e05578cd 988b50e5 90699d3d -Rounds: 52 -Ciphertext: a119eb2e 3488c65b -Test: Encrypt -Comment: test 53 -Plaintext: 3488c65b 909d29cb -Key: e05578cd 988b50e5 90699d3d a119eb2e -Rounds: 53 -Ciphertext: e4c43e62 e9c4894b -Test: Encrypt -Comment: test 54 -Plaintext: e9c4894b e05578cd -Key: 988b50e5 90699d3d a119eb2e e4c43e62 -Rounds: 54 -Ciphertext: e1aec3f2 1976c384 -Test: Encrypt -Comment: test 55 -Plaintext: 1976c384 988b50e5 -Key: 90699d3d a119eb2e e4c43e62 e1aec3f2 -Rounds: 55 -Ciphertext: 1b7b0e2b 0b392b46 -Test: Encrypt -Comment: test 56 -Plaintext: 0b392b46 90699d3d -Key: a119eb2e e4c43e62 e1aec3f2 1b7b0e2b -Rounds: 56 -Ciphertext: 1a6ffc0c 600f2ee0 -Test: Encrypt -Comment: test 57 -Plaintext: 600f2ee0 a119eb2e -Key: e4c43e62 e1aec3f2 1b7b0e2b 1a6ffc0c -Rounds: 57 -Ciphertext: 82ccc9d3 94ba3d77 -Test: Encrypt -Comment: test 58 -Plaintext: 94ba3d77 e4c43e62 -Key: e1aec3f2 1b7b0e2b 1a6ffc0c 82ccc9d3 -Rounds: 58 -Ciphertext: 38b5ebd1 c56af77e -Test: Encrypt -Comment: test 59 -Plaintext: c56af77e e1aec3f2 -Key: 1b7b0e2b 1a6ffc0c 82ccc9d3 38b5ebd1 -Rounds: 59 -Ciphertext: f5571f9d fe136a04 -Test: Encrypt -Comment: test 60 -Plaintext: fe136a04 1b7b0e2b -Key: 1a6ffc0c 82ccc9d3 38b5ebd1 f5571f9d -Rounds: 60 -Ciphertext: 62ee209f 08550367 -Test: Encrypt -Comment: test 61 -Plaintext: 08550367 1a6ffc0c -Key: 82ccc9d3 38b5ebd1 f5571f9d 62ee209f -Rounds: 61 -Ciphertext: 069b7afc b0fcde91 -Test: Encrypt -Comment: test 62 -Plaintext: b0fcde91 82ccc9d3 -Key: 38b5ebd1 f5571f9d 62ee209f 069b7afc -Rounds: 62 -Ciphertext: 376a8936 11b9c087 -Test: Encrypt -Comment: test 63 -Plaintext: 11b9c087 38b5ebd1 -Key: f5571f9d 62ee209f 069b7afc 376a8936 -Rounds: 63 -Ciphertext: cdc9e923 2e6c1fe7 -Test: Encrypt -Comment: test 64 -Plaintext: 2e6c1fe7 f5571f9d -Key: 62ee209f 069b7afc 376a8936 cdc9e923 -Rounds: 64 -Ciphertext: 7a01cbc9 b03d6068 -Test: Encrypt +AlgorithmType: SymmetricCipher +Name: TEA/ECB +Source: http://www.cix.co.uk/~klockstone/teavect.htm +Comment: test 1 +Plaintext: 00000000 00000000 +Key: 00000000 00000000 00000000 00000000 +Ciphertext: 41ea3a0a 94baa940 +Test: Encrypt +Comment: test 2 +Plaintext: 94baa940 00000000 +Key: 00000000 00000000 00000000 41ea3a0a +Ciphertext: 4e8e7829 7d8236d8 +Test: Encrypt +Comment: test 3 +Plaintext: 7d8236d8 00000000 +Key: 00000000 00000000 41ea3a0a 4e8e7829 +Ciphertext: c88ba95e e7edac02 +Test: Encrypt +Comment: test 4 +Plaintext: e7edac02 00000000 +Key: 00000000 41ea3a0a 4e8e7829 c88ba95e +Ciphertext: b84e28af b6b62088 +Test: Encrypt +Comment: test 5 +Plaintext: b6b62088 00000000 +Key: 41ea3a0a 4e8e7829 c88ba95e b84e28af +Ciphertext: a0a47295 8fadf3b3 +Test: Encrypt +Comment: test 6 +Plaintext: 8fadf3b3 41ea3a0a +Key: 4e8e7829 c88ba95e b84e28af a0a47295 +Ciphertext: ed650698 cf9f2b79 +Test: Encrypt +Comment: test 7 +Plaintext: cf9f2b79 4e8e7829 +Key: c88ba95e b84e28af a0a47295 ed650698 +Ciphertext: 1024eea0 6220ae1c +Test: Encrypt +Comment: test 8 +Plaintext: 6220ae1c c88ba95e +Key: b84e28af a0a47295 ed650698 1024eea0 +Ciphertext: 5ddf75d9 7a4ce68f +Test: Encrypt +Comment: test 9 +Plaintext: 7a4ce68f b84e28af +Key: a0a47295 ed650698 1024eea0 5ddf75d9 +Ciphertext: f1be9d1e 8dd4a984 +Test: Encrypt +Comment: test 10 +Plaintext: 8dd4a984 a0a47295 +Key: ed650698 1024eea0 5ddf75d9 f1be9d1e +Ciphertext: d32c758c 092dabad +Test: Encrypt +Comment: test 11 +Plaintext: 092dabad ed650698 +Key: 1024eea0 5ddf75d9 f1be9d1e d32c758c +Ciphertext: bdb43728 f7183fc0 +Test: Encrypt +Comment: test 12 +Plaintext: f7183fc0 1024eea0 +Key: 5ddf75d9 f1be9d1e d32c758c bdb43728 +Ciphertext: a9c3801a d9dcfb4e +Test: Encrypt +Comment: test 13 +Plaintext: d9dcfb4e 5ddf75d9 +Key: f1be9d1e d32c758c bdb43728 a9c3801a +Ciphertext: 32a1e654 a9df917c +Test: Encrypt +Comment: test 14 +Plaintext: a9df917c f1be9d1e +Key: d32c758c bdb43728 a9c3801a 32a1e654 +Ciphertext: 08b63bb9 b20bd3e8 +Test: Encrypt +Comment: test 15 +Plaintext: b20bd3e8 d32c758c +Key: bdb43728 a9c3801a 32a1e654 08b63bb9 +Ciphertext: 21410574 cc4264c6 +Test: Encrypt +Comment: test 16 +Plaintext: cc4264c6 bdb43728 +Key: a9c3801a 32a1e654 08b63bb9 21410574 +Ciphertext: 4ec5d2e2 5ada1d89 +Test: Encrypt +Comment: test 17 +Plaintext: 5ada1d89 a9c3801a +Key: 32a1e654 08b63bb9 21410574 4ec5d2e2 +Ciphertext: dd46249e 28aa0b4b +Test: Encrypt +Comment: test 18 +Plaintext: 28aa0b4b 32a1e654 +Key: 08b63bb9 21410574 4ec5d2e2 dd46249e +Ciphertext: 2486dcba a713df03 +Test: Encrypt +Comment: test 19 +Plaintext: a713df03 08b63bb9 +Key: 21410574 4ec5d2e2 dd46249e 2486dcba +Ciphertext: b7c7af9d 1acb6cab +Test: Encrypt +Comment: test 20 +Plaintext: 1acb6cab 21410574 +Key: 4ec5d2e2 dd46249e 2486dcba b7c7af9d +Ciphertext: 8cc0400a 9aa49fbb +Test: Encrypt +Comment: test 21 +Plaintext: 9aa49fbb 4ec5d2e2 +Key: dd46249e 2486dcba b7c7af9d 8cc0400a +Ciphertext: 9c241876 6cbc8c66 +Test: Encrypt +Comment: test 22 +Plaintext: 6cbc8c66 dd46249e +Key: 2486dcba b7c7af9d 8cc0400a 9c241876 +Ciphertext: b59c5d45 a90066f9 +Test: Encrypt +Comment: test 23 +Plaintext: a90066f9 2486dcba +Key: b7c7af9d 8cc0400a 9c241876 b59c5d45 +Ciphertext: b765a1b3 64b37eb0 +Test: Encrypt +Comment: test 24 +Plaintext: 64b37eb0 b7c7af9d +Key: 8cc0400a 9c241876 b59c5d45 b765a1b3 +Ciphertext: 7b172fac f5ab4933 +Test: Encrypt +Comment: test 25 +Plaintext: f5ab4933 8cc0400a +Key: 9c241876 b59c5d45 b765a1b3 7b172fac +Ciphertext: fe48f4fb ada404b1 +Test: Encrypt +Comment: test 26 +Plaintext: ada404b1 9c241876 +Key: b59c5d45 b765a1b3 7b172fac fe48f4fb +Ciphertext: c5294093 c1d53e3d +Test: Encrypt +Comment: test 27 +Plaintext: c1d53e3d b59c5d45 +Key: b765a1b3 7b172fac fe48f4fb c5294093 +Ciphertext: 759ca8e2 77a96649 +Test: Encrypt +Comment: test 28 +Plaintext: 77a96649 b765a1b3 +Key: 7b172fac fe48f4fb c5294093 759ca8e2 +Ciphertext: 69c53e0f 3e979807 +Test: Encrypt +Comment: test 29 +Plaintext: 3e979807 7b172fac +Key: fe48f4fb c5294093 759ca8e2 69c53e0f +Ciphertext: 60388ada a21fa8e8 +Test: Encrypt +Comment: test 30 +Plaintext: a21fa8e8 fe48f4fb +Key: c5294093 759ca8e2 69c53e0f 60388ada +Ciphertext: df70a1f5 ac4aa407 +Test: Encrypt +Comment: test 31 +Plaintext: ac4aa407 c5294093 +Key: 759ca8e2 69c53e0f 60388ada df70a1f5 +Ciphertext: d9cb4e09 92636233 +Test: Encrypt +Comment: test 32 +Plaintext: 92636233 759ca8e2 +Key: 69c53e0f 60388ada df70a1f5 d9cb4e09 +Ciphertext: 7d2c6c57 7a6adb4d +Test: Encrypt +Comment: test 33 +Plaintext: 7a6adb4d 69c53e0f +Key: 60388ada df70a1f5 d9cb4e09 7d2c6c57 +Ciphertext: 44b71215 cf25368a +Test: Encrypt +Comment: test 34 +Plaintext: cf25368a 60388ada +Key: df70a1f5 d9cb4e09 7d2c6c57 44b71215 +Ciphertext: c10105a1 ef781a18 +Test: Encrypt +Comment: test 35 +Plaintext: ef781a18 df70a1f5 +Key: d9cb4e09 7d2c6c57 44b71215 c10105a1 +Ciphertext: bfdb29fa 9ece39b6 +Test: Encrypt +Comment: test 36 +Plaintext: 9ece39b6 d9cb4e09 +Key: 7d2c6c57 44b71215 c10105a1 bfdb29fa +Ciphertext: 9b0b256d dc04574c +Test: Encrypt +Comment: test 37 +Plaintext: dc04574c 7d2c6c57 +Key: 44b71215 c10105a1 bfdb29fa 9b0b256d +Ciphertext: f8295142 8c022711 +Test: Encrypt +Comment: test 38 +Plaintext: 8c022711 44b71215 +Key: c10105a1 bfdb29fa 9b0b256d f8295142 +Ciphertext: 61341d1c 3a85f2f0 +Test: Encrypt +Comment: test 39 +Plaintext: 3a85f2f0 c10105a1 +Key: bfdb29fa 9b0b256d f8295142 61341d1c +Ciphertext: f6a0d30c ad230209 +Test: Encrypt +Comment: test 40 +Plaintext: ad230209 bfdb29fa +Key: 9b0b256d f8295142 61341d1c f6a0d30c +Ciphertext: 3de21a3f aa0cf5c9 +Test: Encrypt +Comment: test 41 +Plaintext: aa0cf5c9 9b0b256d +Key: f8295142 61341d1c f6a0d30c 3de21a3f +Ciphertext: a7e307c6 bd52d939 +Test: Encrypt +Comment: test 42 +Plaintext: bd52d939 f8295142 +Key: 61341d1c f6a0d30c 3de21a3f a7e307c6 +Ciphertext: 017bc3a7 66fd8c77 +Test: Encrypt +Comment: test 43 +Plaintext: 66fd8c77 61341d1c +Key: f6a0d30c 3de21a3f a7e307c6 017bc3a7 +Ciphertext: d8f8fc86 d01b5761 +Test: Encrypt +Comment: test 44 +Plaintext: d01b5761 f6a0d30c +Key: 3de21a3f a7e307c6 017bc3a7 d8f8fc86 +Ciphertext: e186c41a 5e6e5a4d +Test: Encrypt +Comment: test 45 +Plaintext: 5e6e5a4d 3de21a3f +Key: a7e307c6 017bc3a7 d8f8fc86 e186c41a +Ciphertext: 4368d224 dbb4e677 +Test: Encrypt +Comment: test 46 +Plaintext: dbb4e677 a7e307c6 +Key: 017bc3a7 d8f8fc86 e186c41a 4368d224 +Ciphertext: 9bd0321e 84096523 +Test: Encrypt +Comment: test 47 +Plaintext: 84096523 017bc3a7 +Key: d8f8fc86 e186c41a 4368d224 9bd0321e +Ciphertext: b7c56d5b 97c65866 +Test: Encrypt +Comment: test 48 +Plaintext: 97c65866 d8f8fc86 +Key: e186c41a 4368d224 9bd0321e b7c56d5b +Ciphertext: 63a1bfac 5a5d7ca2 +Test: Encrypt +Comment: test 49 +Plaintext: 5a5d7ca2 e186c41a +Key: 4368d224 9bd0321e b7c56d5b 63a1bfac +Ciphertext: 91f56dff 7281794f +Test: Encrypt +Comment: test 50 +Plaintext: 7281794f 4368d224 +Key: 9bd0321e b7c56d5b 63a1bfac 91f56dff +Ciphertext: e4c63780 019aedf7 +Test: Encrypt +Comment: test 51 +Plaintext: 019aedf7 9bd0321e +Key: b7c56d5b 63a1bfac 91f56dff e4c63780 +Ciphertext: a9fb56e7 35f4aeca +Test: Encrypt +Comment: test 52 +Plaintext: 35f4aeca b7c56d5b +Key: 63a1bfac 91f56dff e4c63780 a9fb56e7 +Ciphertext: a6537187 f0f1ba93 +Test: Encrypt +Comment: test 53 +Plaintext: f0f1ba93 63a1bfac +Key: 91f56dff e4c63780 a9fb56e7 a6537187 +Ciphertext: cc960eda e44c6b8f +Test: Encrypt +Comment: test 54 +Plaintext: e44c6b8f 91f56dff +Key: e4c63780 a9fb56e7 a6537187 cc960eda +Ciphertext: e12f106d 4f1152d0 +Test: Encrypt +Comment: test 55 +Plaintext: 4f1152d0 e4c63780 +Key: a9fb56e7 a6537187 cc960eda e12f106d +Ciphertext: 556ad853 f79992fd +Test: Encrypt +Comment: test 56 +Plaintext: f79992fd a9fb56e7 +Key: a6537187 cc960eda e12f106d 556ad853 +Ciphertext: 78e8e265 128df6ad +Test: Encrypt +Comment: test 57 +Plaintext: 128df6ad a6537187 +Key: cc960eda e12f106d 556ad853 78e8e265 +Ciphertext: f23892aa 288cb926 +Test: Encrypt +Comment: test 58 +Plaintext: 288cb926 cc960eda +Key: e12f106d 556ad853 78e8e265 f23892aa +Ciphertext: 1d115839 6a117fca +Test: Encrypt +Comment: test 59 +Plaintext: 6a117fca e12f106d +Key: 556ad853 78e8e265 f23892aa 1d115839 +Ciphertext: cf899635 5b087e34 +Test: Encrypt +Comment: test 60 +Plaintext: 5b087e34 556ad853 +Key: 78e8e265 f23892aa 1d115839 cf899635 +Ciphertext: 5c60bff2 e68d88c2 +Test: Encrypt +Comment: test 61 +Plaintext: e68d88c2 78e8e265 +Key: f23892aa 1d115839 cf899635 5c60bff2 +Ciphertext: 7072d01c bffeb50a +Test: Encrypt +Comment: test 62 +Plaintext: bffeb50a f23892aa +Key: 1d115839 cf899635 5c60bff2 7072d01c +Ciphertext: 4513c5eb 9c99ae9e +Test: Encrypt +Comment: test 63 +Plaintext: 9c99ae9e 1d115839 +Key: cf899635 5c60bff2 7072d01c 4513c5eb +Ciphertext: 8f3a38ab 80d9c4ad +Test: Encrypt +Comment: test 64 +Plaintext: 80d9c4ad cf899635 +Key: 5c60bff2 7072d01c 4513c5eb 8f3a38ab +Ciphertext: 2bb0f1b3 c023ed11 +Test: Encrypt + +AlgorithmType: SymmetricCipher +Name: XTEA/ECB +Source: http://www.cix.co.uk/~klockstone/teavect.htm +Comment: test 1 +Plaintext: 00000000 00000000 +Key: 00000000 00000000 00000000 00000000 +Rounds: 1 +Ciphertext: 00000000 9e3779b9 +Test: Encrypt +Comment: test 2 +Plaintext: 9e3779b9 00000000 +Key: 00000000 00000000 00000000 00000000 +Rounds: 2 +Ciphertext: ec01a1de aaa0256d +Test: Encrypt +Comment: test 3 +Plaintext: aaa0256d 00000000 +Key: 00000000 00000000 00000000 ec01a1de +Rounds: 3 +Ciphertext: 114f6d74 a39e590c +Test: Encrypt +Comment: test 4 +Plaintext: a39e590c 00000000 +Key: 00000000 00000000 ec01a1de 114f6d74 +Rounds: 4 +Ciphertext: bc3a7de2 4e238eb9 +Test: Encrypt +Comment: test 5 +Plaintext: 4e238eb9 00000000 +Key: 00000000 ec01a1de 114f6d74 bc3a7de2 +Rounds: 5 +Ciphertext: 845846cf 2f36d07f +Test: Encrypt +Comment: test 6 +Plaintext: 2f36d07f 00000000 +Key: ec01a1de 114f6d74 bc3a7de2 845846cf +Rounds: 6 +Ciphertext: 2794a127 4f3e4b6a +Test: Encrypt +Comment: test 7 +Plaintext: 4f3e4b6a ec01a1de +Key: 114f6d74 bc3a7de2 845846cf 2794a127 +Rounds: 7 +Ciphertext: 6b8ea8b8 d99e66c3 +Test: Encrypt +Comment: test 8 +Plaintext: d99e66c3 114f6d74 +Key: bc3a7de2 845846cf 2794a127 6b8ea8b8 +Rounds: 8 +Ciphertext: 31c5fa6c 241756d6 +Test: Encrypt +Comment: test 9 +Plaintext: 241756d6 bc3a7de2 +Key: 845846cf 2794a127 6b8ea8b8 31c5fa6c +Rounds: 9 +Ciphertext: 4a581696 1fd58a6b +Test: Encrypt +Comment: test 10 +Plaintext: 1fd58a6b 845846cf +Key: 2794a127 6b8ea8b8 31c5fa6c 4a581696 +Rounds: 10 +Ciphertext: dfcd0451 df8822cd +Test: Encrypt +Comment: test 11 +Plaintext: df8822cd 2794a127 +Key: 6b8ea8b8 31c5fa6c 4a581696 dfcd0451 +Rounds: 11 +Ciphertext: 3ad1ff17 f465776c +Test: Encrypt +Comment: test 12 +Plaintext: f465776c 6b8ea8b8 +Key: 31c5fa6c 4a581696 dfcd0451 3ad1ff17 +Rounds: 12 +Ciphertext: 6a1d78c8 4d30bdb9 +Test: Encrypt +Comment: test 13 +Plaintext: 4d30bdb9 31c5fa6c +Key: 4a581696 dfcd0451 3ad1ff17 6a1d78c8 +Rounds: 13 +Ciphertext: 08c86d67 f6ef939b +Test: Encrypt +Comment: test 14 +Plaintext: f6ef939b 4a581696 +Key: dfcd0451 3ad1ff17 6a1d78c8 08c86d67 +Rounds: 14 +Ciphertext: 2a65bfbe f733428c +Test: Encrypt +Comment: test 15 +Plaintext: f733428c dfcd0451 +Key: 3ad1ff17 6a1d78c8 08c86d67 2a65bfbe +Rounds: 15 +Ciphertext: b4bd6e46 40672bcc +Test: Encrypt +Comment: test 16 +Plaintext: 40672bcc 3ad1ff17 +Key: 6a1d78c8 08c86d67 2a65bfbe b4bd6e46 +Rounds: 16 +Ciphertext: 1d8e6992 9a478905 +Test: Encrypt +Comment: test 17 +Plaintext: 9a478905 6a1d78c8 +Key: 08c86d67 2a65bfbe b4bd6e46 1d8e6992 +Rounds: 17 +Ciphertext: f8994ada 80dee76a +Test: Encrypt +Comment: test 18 +Plaintext: 80dee76a 08c86d67 +Key: 2a65bfbe b4bd6e46 1d8e6992 f8994ada +Rounds: 18 +Ciphertext: 0997e6ed cdfef370 +Test: Encrypt +Comment: test 19 +Plaintext: cdfef370 2a65bfbe +Key: b4bd6e46 1d8e6992 f8994ada 0997e6ed +Rounds: 19 +Ciphertext: ece50553 10b76c66 +Test: Encrypt +Comment: test 20 +Plaintext: 10b76c66 b4bd6e46 +Key: 1d8e6992 f8994ada 0997e6ed ece50553 +Rounds: 20 +Ciphertext: a6d39c7b dce1a473 +Test: Encrypt +Comment: test 21 +Plaintext: dce1a473 1d8e6992 +Key: f8994ada 0997e6ed ece50553 a6d39c7b +Rounds: 21 +Ciphertext: 21d06fb7 fbb98544 +Test: Encrypt +Comment: test 22 +Plaintext: fbb98544 f8994ada +Key: 0997e6ed ece50553 a6d39c7b 21d06fb7 +Rounds: 22 +Ciphertext: 72cdd36c e1115fb6 +Test: Encrypt +Comment: test 23 +Plaintext: e1115fb6 0997e6ed +Key: ece50553 a6d39c7b 21d06fb7 72cdd36c +Rounds: 23 +Ciphertext: 25bc6eb3 e4c28ab7 +Test: Encrypt +Comment: test 24 +Plaintext: e4c28ab7 ece50553 +Key: a6d39c7b 21d06fb7 72cdd36c 25bc6eb3 +Rounds: 24 +Ciphertext: 4932a288 78020b9e +Test: Encrypt +Comment: test 25 +Plaintext: 78020b9e a6d39c7b +Key: 21d06fb7 72cdd36c 25bc6eb3 4932a288 +Rounds: 25 +Ciphertext: 25285da1 b66c4459 +Test: Encrypt +Comment: test 26 +Plaintext: b66c4459 21d06fb7 +Key: 72cdd36c 25bc6eb3 4932a288 25285da1 +Rounds: 26 +Ciphertext: 39b0155c f227ab20 +Test: Encrypt +Comment: test 27 +Plaintext: f227ab20 72cdd36c +Key: 25bc6eb3 4932a288 25285da1 39b0155c +Rounds: 27 +Ciphertext: 547571aa f38f1e39 +Test: Encrypt +Comment: test 28 +Plaintext: f38f1e39 25bc6eb3 +Key: 4932a288 25285da1 39b0155c 547571aa +Rounds: 28 +Ciphertext: 27f917b1 e5796aee +Test: Encrypt +Comment: test 29 +Plaintext: e5796aee 4932a288 +Key: 25285da1 39b0155c 547571aa 27f917b1 +Rounds: 29 +Ciphertext: c1da8993 670f9fd2 +Test: Encrypt +Comment: test 30 +Plaintext: 670f9fd2 25285da1 +Key: 39b0155c 547571aa 27f917b1 c1da8993 +Rounds: 30 +Ciphertext: 60e2acaa d0a60db4 +Test: Encrypt +Comment: test 31 +Plaintext: d0a60db4 39b0155c +Key: 547571aa 27f917b1 c1da8993 60e2acaa +Rounds: 31 +Ciphertext: a6eb923d af20a390 +Test: Encrypt +Comment: test 32 +Plaintext: af20a390 547571aa +Key: 27f917b1 c1da8993 60e2acaa a6eb923d +Rounds: 32 +Ciphertext: d26428af 0a202283 +Test: Encrypt +Comment: test 33 +Plaintext: 0a202283 27f917b1 +Key: c1da8993 60e2acaa a6eb923d d26428af +Rounds: 33 +Ciphertext: 1c03ceb9 96e9f2d3 +Test: Encrypt +Comment: test 34 +Plaintext: 96e9f2d3 c1da8993 +Key: 60e2acaa a6eb923d d26428af 1c03ceb9 +Rounds: 34 +Ciphertext: e260b3c1 bbd7dff0 +Test: Encrypt +Comment: test 35 +Plaintext: bbd7dff0 60e2acaa +Key: a6eb923d d26428af 1c03ceb9 e260b3c1 +Rounds: 35 +Ciphertext: d33073f9 12841b97 +Test: Encrypt +Comment: test 36 +Plaintext: 12841b97 a6eb923d +Key: d26428af 1c03ceb9 e260b3c1 d33073f9 +Rounds: 36 +Ciphertext: 17b7ea05 1d723f18 +Test: Encrypt +Comment: test 37 +Plaintext: 1d723f18 d26428af +Key: 1c03ceb9 e260b3c1 d33073f9 17b7ea05 +Rounds: 37 +Ciphertext: 9f571045 31e849b9 +Test: Encrypt +Comment: test 38 +Plaintext: 31e849b9 1c03ceb9 +Key: e260b3c1 d33073f9 17b7ea05 9f571045 +Rounds: 38 +Ciphertext: 288351d2 bd0a0054 +Test: Encrypt +Comment: test 39 +Plaintext: bd0a0054 e260b3c1 +Key: d33073f9 17b7ea05 9f571045 288351d2 +Rounds: 39 +Ciphertext: 9236883a 2bd13143 +Test: Encrypt +Comment: test 40 +Plaintext: 2bd13143 d33073f9 +Key: 17b7ea05 9f571045 288351d2 9236883a +Rounds: 40 +Ciphertext: e91dcf23 7c3fd716 +Test: Encrypt +Comment: test 41 +Plaintext: 7c3fd716 17b7ea05 +Key: 9f571045 288351d2 9236883a e91dcf23 +Rounds: 41 +Ciphertext: 5c8ff51e c3abe43d +Test: Encrypt +Comment: test 42 +Plaintext: c3abe43d 9f571045 +Key: 288351d2 9236883a e91dcf23 5c8ff51e +Rounds: 42 +Ciphertext: 446e9f7c ecb0eb4d +Test: Encrypt +Comment: test 43 +Plaintext: ecb0eb4d 288351d2 +Key: 9236883a e91dcf23 5c8ff51e 446e9f7c +Rounds: 43 +Ciphertext: 86455f77 ffc74050 +Test: Encrypt +Comment: test 44 +Plaintext: ffc74050 9236883a +Key: e91dcf23 5c8ff51e 446e9f7c 86455f77 +Rounds: 44 +Ciphertext: ae85d873 e21ef8d3 +Test: Encrypt +Comment: test 45 +Plaintext: e21ef8d3 e91dcf23 +Key: 5c8ff51e 446e9f7c 86455f77 ae85d873 +Rounds: 45 +Ciphertext: cf411a68 18dce768 +Test: Encrypt +Comment: test 46 +Plaintext: 18dce768 5c8ff51e +Key: 446e9f7c 86455f77 ae85d873 cf411a68 +Rounds: 46 +Ciphertext: 4ef68794 07d2b1b3 +Test: Encrypt +Comment: test 47 +Plaintext: 07d2b1b3 446e9f7c +Key: 86455f77 ae85d873 cf411a68 4ef68794 +Rounds: 47 +Ciphertext: d75a1925 07476976 +Test: Encrypt +Comment: test 48 +Plaintext: 07476976 86455f77 +Key: ae85d873 cf411a68 4ef68794 d75a1925 +Rounds: 48 +Ciphertext: 909d29cb 16b37e1b +Test: Encrypt +Comment: test 49 +Plaintext: 16b37e1b ae85d873 +Key: cf411a68 4ef68794 d75a1925 909d29cb +Rounds: 49 +Ciphertext: e05578cd bd40cd0c +Test: Encrypt +Comment: test 50 +Plaintext: bd40cd0c cf411a68 +Key: 4ef68794 d75a1925 909d29cb e05578cd +Rounds: 50 +Ciphertext: 988b50e5 adf1b74c +Test: Encrypt +Comment: test 51 +Plaintext: adf1b74c 4ef68794 +Key: d75a1925 909d29cb e05578cd 988b50e5 +Rounds: 51 +Ciphertext: 90699d3d d2333c19 +Test: Encrypt +Comment: test 52 +Plaintext: d2333c19 d75a1925 +Key: 909d29cb e05578cd 988b50e5 90699d3d +Rounds: 52 +Ciphertext: a119eb2e 3488c65b +Test: Encrypt +Comment: test 53 +Plaintext: 3488c65b 909d29cb +Key: e05578cd 988b50e5 90699d3d a119eb2e +Rounds: 53 +Ciphertext: e4c43e62 e9c4894b +Test: Encrypt +Comment: test 54 +Plaintext: e9c4894b e05578cd +Key: 988b50e5 90699d3d a119eb2e e4c43e62 +Rounds: 54 +Ciphertext: e1aec3f2 1976c384 +Test: Encrypt +Comment: test 55 +Plaintext: 1976c384 988b50e5 +Key: 90699d3d a119eb2e e4c43e62 e1aec3f2 +Rounds: 55 +Ciphertext: 1b7b0e2b 0b392b46 +Test: Encrypt +Comment: test 56 +Plaintext: 0b392b46 90699d3d +Key: a119eb2e e4c43e62 e1aec3f2 1b7b0e2b +Rounds: 56 +Ciphertext: 1a6ffc0c 600f2ee0 +Test: Encrypt +Comment: test 57 +Plaintext: 600f2ee0 a119eb2e +Key: e4c43e62 e1aec3f2 1b7b0e2b 1a6ffc0c +Rounds: 57 +Ciphertext: 82ccc9d3 94ba3d77 +Test: Encrypt +Comment: test 58 +Plaintext: 94ba3d77 e4c43e62 +Key: e1aec3f2 1b7b0e2b 1a6ffc0c 82ccc9d3 +Rounds: 58 +Ciphertext: 38b5ebd1 c56af77e +Test: Encrypt +Comment: test 59 +Plaintext: c56af77e e1aec3f2 +Key: 1b7b0e2b 1a6ffc0c 82ccc9d3 38b5ebd1 +Rounds: 59 +Ciphertext: f5571f9d fe136a04 +Test: Encrypt +Comment: test 60 +Plaintext: fe136a04 1b7b0e2b +Key: 1a6ffc0c 82ccc9d3 38b5ebd1 f5571f9d +Rounds: 60 +Ciphertext: 62ee209f 08550367 +Test: Encrypt +Comment: test 61 +Plaintext: 08550367 1a6ffc0c +Key: 82ccc9d3 38b5ebd1 f5571f9d 62ee209f +Rounds: 61 +Ciphertext: 069b7afc b0fcde91 +Test: Encrypt +Comment: test 62 +Plaintext: b0fcde91 82ccc9d3 +Key: 38b5ebd1 f5571f9d 62ee209f 069b7afc +Rounds: 62 +Ciphertext: 376a8936 11b9c087 +Test: Encrypt +Comment: test 63 +Plaintext: 11b9c087 38b5ebd1 +Key: f5571f9d 62ee209f 069b7afc 376a8936 +Rounds: 63 +Ciphertext: cdc9e923 2e6c1fe7 +Test: Encrypt +Comment: test 64 +Plaintext: 2e6c1fe7 f5571f9d +Key: 62ee209f 069b7afc 376a8936 cdc9e923 +Rounds: 64 +Ciphertext: 7a01cbc9 b03d6068 +Test: Encrypt diff --git a/TestVectors/ttmac.txt b/TestVectors/ttmac.txt index ec2e683f..0bf33911 100644 --- a/TestVectors/ttmac.txt +++ b/TestVectors/ttmac.txt @@ -1,40 +1,40 @@ -AlgorithmType: MAC -Name: Two-Track-MAC -Source: NESSIE submission -Comment: Key for all test cases -Key: 00112233445566778899aabbccddeeff01234567 -Comment: Test Case 1 -Message: "" -MAC: 2dec8ed4a0fd712ed9fbf2ab466ec2df21215e4a -Test: Verify -Comment: Test Case 2 -Message: "a" -MAC: 5893e3e6e306704dd77ad6e6ed432cde321a7756 -Test: Verify -Comment: Test Case 3 -Message: "abc" -MAC: 70bfd1029797a5c16da5b557a1f0b2779b78497e -Test: Verify -Comment: Test Case 4 -Message: "message digest" -MAC: 8289f4f19ffe4f2af737de4bd71c829d93a972fa -Test: Verify -Comment: Test Case 5 -Message: "abcdefghijklmnopqrstuvwxyz" -MAC: 2186ca09c5533198b7371f245273504ca92bae60 -Test: Verify -Comment: Test Case 6 -Message: "abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq" -MAC: 8a7bf77aef62a2578497a27c0d6518a429e7c14d -Test: Verify -Comment: Test Case 7 -Message: "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789" -MAC: 54bac392a886806d169556fcbb6789b54fb364fb -Test: Verify -Comment: Test Case 8 -Message: r8 "1234567890" -MAC: 0ced2c9f8f0d9d03981ab5c8184bac43dd54c484 -Test: Verify -Comment: Test Case 9 -Message: r15625 "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" -MAC: 27b3aedb5df8b629f0142194daa3846e1895f3d2 +AlgorithmType: MAC +Name: Two-Track-MAC +Source: NESSIE submission +Comment: Key for all test cases +Key: 00112233445566778899aabbccddeeff01234567 +Comment: Test Case 1 +Message: "" +MAC: 2dec8ed4a0fd712ed9fbf2ab466ec2df21215e4a +Test: Verify +Comment: Test Case 2 +Message: "a" +MAC: 5893e3e6e306704dd77ad6e6ed432cde321a7756 +Test: Verify +Comment: Test Case 3 +Message: "abc" +MAC: 70bfd1029797a5c16da5b557a1f0b2779b78497e +Test: Verify +Comment: Test Case 4 +Message: "message digest" +MAC: 8289f4f19ffe4f2af737de4bd71c829d93a972fa +Test: Verify +Comment: Test Case 5 +Message: "abcdefghijklmnopqrstuvwxyz" +MAC: 2186ca09c5533198b7371f245273504ca92bae60 +Test: Verify +Comment: Test Case 6 +Message: "abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq" +MAC: 8a7bf77aef62a2578497a27c0d6518a429e7c14d +Test: Verify +Comment: Test Case 7 +Message: "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789" +MAC: 54bac392a886806d169556fcbb6789b54fb364fb +Test: Verify +Comment: Test Case 8 +Message: r8 "1234567890" +MAC: 0ced2c9f8f0d9d03981ab5c8184bac43dd54c484 +Test: Verify +Comment: Test Case 9 +Message: r15625 "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" +MAC: 27b3aedb5df8b629f0142194daa3846e1895f3d2 diff --git a/TestVectors/vmac.txt b/TestVectors/vmac.txt old mode 100755 new mode 100644 index 1d983cd9..ae450c0b --- a/TestVectors/vmac.txt +++ b/TestVectors/vmac.txt @@ -1,77 +1,77 @@ -AlgorithmType: MAC -Name: VMAC(AES)-64 -Source: http://www.fastcrypto.org/vmac/draft-krovetz-vmac-01.txt -Key: "abcdefghijklmnop" -IV: "bcdefghi" -Message: "" -MAC: 2576BE1C56D8B81B -Test: Verify -Message: "abc" -MAC: 2D376CF5B1813CE5 -Test: Verify -Message: r16 "abc" -MAC: E8421F61D573D298 -Test: Verify -Message: r100 "abc" -MAC: 4492DF6C5CAC1BBE -Test: Verify -Message: r1000000 "abc" -MAC: 09BA597DD7601113 -Test: Verify -Message: r42 "abc" "ab" -MAC: D638B73921F184DE -Test: Verify -Message: r170 "abc" "ab" -MAC: 9DA310281E6FD0A0 -Test: Verify -Message: r65 "a" -MAC: 90 ea 57 cb 51 bc 92 a3 -Test: Verify -Message: r129 "a" -MAC: 86 34 83 87 d1 3d 82 33 -Test: Verify -Message: r65 "abc" -MAC: E86A86EC77A8BF61 -Test: Verify -Message: "abc" -MAC: 2D376CF5B1813CE0 -Test: NotVerify - -AlgorithmType: MAC -Name: VMAC(AES)-128 -Source: http://www.fastcrypto.org/vmac/draft-krovetz-vmac-01.txt -Key: "abcdefghijklmnop" -IV: "bcdefghi" -Message: "" -MAC: 472766C70F74ED23481D6D7DE4E80DAC -Test: Verify -Message: "abc" -MAC: 4EE815A06A1D71EDD36FC75D51188A42 -Test: Verify -Message: r16 "abc" -MAC: 09F2C80C8E1007A0C12FAE19FE4504AE -Test: Verify -Message: r100 "abc" -MAC: 66438817154850C61D8A412164803BCB -Test: Verify -Message: r1000000 "abc" -MAC: 2B6B02288FFC461B75485DE893C629DC -Test: Verify -Message: r42 "abc" "ab" -MAC: F7E95FE3DA8DB9E6BB973E65D0B4CEA5 -Test: Verify -Message: r170 "abc" "ab" -MAC: BF53B8D2D70C05A85880C2E21CAF1299 -Test: Verify -Message: r65 "a" -MAC: b2 9b 00 76 0a 58 c7 ab 92 d6 60 24 d6 9c 1b 92 -Test: Verify -Message: r129 "a" -MAC: a7 e5 2c 32 89 d9 b7 3b 53 57 6f 05 95 85 ee 79 -Test: Verify -Message: r65 "abc" -MAC: 0A1B2F973044F469F405917E45010334 -Test: Verify -Message: "abc" -MAC: 4EE815A06A1D71EDD36FC75D51188A40 -Test: NotVerify +AlgorithmType: MAC +Name: VMAC(AES)-64 +Source: http://www.fastcrypto.org/vmac/draft-krovetz-vmac-01.txt +Key: "abcdefghijklmnop" +IV: "bcdefghi" +Message: "" +MAC: 2576BE1C56D8B81B +Test: Verify +Message: "abc" +MAC: 2D376CF5B1813CE5 +Test: Verify +Message: r16 "abc" +MAC: E8421F61D573D298 +Test: Verify +Message: r100 "abc" +MAC: 4492DF6C5CAC1BBE +Test: Verify +Message: r1000000 "abc" +MAC: 09BA597DD7601113 +Test: Verify +Message: r42 "abc" "ab" +MAC: D638B73921F184DE +Test: Verify +Message: r170 "abc" "ab" +MAC: 9DA310281E6FD0A0 +Test: Verify +Message: r65 "a" +MAC: 90 ea 57 cb 51 bc 92 a3 +Test: Verify +Message: r129 "a" +MAC: 86 34 83 87 d1 3d 82 33 +Test: Verify +Message: r65 "abc" +MAC: E86A86EC77A8BF61 +Test: Verify +Message: "abc" +MAC: 2D376CF5B1813CE0 +Test: NotVerify + +AlgorithmType: MAC +Name: VMAC(AES)-128 +Source: http://www.fastcrypto.org/vmac/draft-krovetz-vmac-01.txt +Key: "abcdefghijklmnop" +IV: "bcdefghi" +Message: "" +MAC: 472766C70F74ED23481D6D7DE4E80DAC +Test: Verify +Message: "abc" +MAC: 4EE815A06A1D71EDD36FC75D51188A42 +Test: Verify +Message: r16 "abc" +MAC: 09F2C80C8E1007A0C12FAE19FE4504AE +Test: Verify +Message: r100 "abc" +MAC: 66438817154850C61D8A412164803BCB +Test: Verify +Message: r1000000 "abc" +MAC: 2B6B02288FFC461B75485DE893C629DC +Test: Verify +Message: r42 "abc" "ab" +MAC: F7E95FE3DA8DB9E6BB973E65D0B4CEA5 +Test: Verify +Message: r170 "abc" "ab" +MAC: BF53B8D2D70C05A85880C2E21CAF1299 +Test: Verify +Message: r65 "a" +MAC: b2 9b 00 76 0a 58 c7 ab 92 d6 60 24 d6 9c 1b 92 +Test: Verify +Message: r129 "a" +MAC: a7 e5 2c 32 89 d9 b7 3b 53 57 6f 05 95 85 ee 79 +Test: Verify +Message: r65 "abc" +MAC: 0A1B2F973044F469F405917E45010334 +Test: Verify +Message: "abc" +MAC: 4EE815A06A1D71EDD36FC75D51188A40 +Test: NotVerify diff --git a/TestVectors/wake.txt b/TestVectors/wake.txt index 2dd80a2a..c3c33998 100644 --- a/TestVectors/wake.txt +++ b/TestVectors/wake.txt @@ -1,10 +1,10 @@ -AlgorithmType: SymmetricCipher -Source: Generated by Crypto++ 5.6.1 -Key: r2 00112233445566778899AABBCCDDEEFF -Plaintext: r80 00 r80 01 -Name: WAKE-OFB-LE -Ciphertext: FFEEDDCCDF42B9D4939C351568AB4888BD9264CA66CF7F7885141F6934F3F390F1987B8609B733919DC5F73F7BED93ECDCD4F35FF32828553B8AFAD113DDA6565932553D9143AA886AE859167327F3C260434E6C90A0895FD33E6B6412526521FA0B12F4ECEE3E8F4F96DCF70907AAFB5E29C40FC10EB70A4970736E98DF98C615AC844A46FB8E4AEBBBF599DF7B73930B94776C6C8757BE51B34E71E9B514AE -Test: Encrypt -Name: WAKE-OFB-BE -Ciphertext: CCDDEEFFD4B942DF15359C938848AB68CA6492BD787FCF66691F148590F3F334867B98F19133B7093FF7C59DEC93ED7B5FF3D4DC552828F3D1FA8A3B56A6DD133D55325988AA43911659E86AC2F327736C4E43605F89A090646B3ED321655212F4120BFA8F3EEEECF7DC964FFBAA07090FC4295E0AB70EC16E737049C698DF984A84AC154A8EFB4699F5BBEB93737BDF6C77940BBE57876C714EB351AE14B5E9 -Test: Encrypt +AlgorithmType: SymmetricCipher +Source: Generated by Crypto++ 5.6.1 +Key: r2 00112233445566778899AABBCCDDEEFF +Plaintext: r80 00 r80 01 +Name: WAKE-OFB-LE +Ciphertext: FFEEDDCCDF42B9D4939C351568AB4888BD9264CA66CF7F7885141F6934F3F390F1987B8609B733919DC5F73F7BED93ECDCD4F35FF32828553B8AFAD113DDA6565932553D9143AA886AE859167327F3C260434E6C90A0895FD33E6B6412526521FA0B12F4ECEE3E8F4F96DCF70907AAFB5E29C40FC10EB70A4970736E98DF98C615AC844A46FB8E4AEBBBF599DF7B73930B94776C6C8757BE51B34E71E9B514AE +Test: Encrypt +Name: WAKE-OFB-BE +Ciphertext: CCDDEEFFD4B942DF15359C938848AB68CA6492BD787FCF66691F148590F3F334867B98F19133B7093FF7C59DEC93ED7B5FF3D4DC552828F3D1FA8A3B56A6DD133D55325988AA43911659E86AC2F327736C4E43605F89A090646B3ED321655212F4120BFA8F3EEEECF7DC964FFBAA07090FC4295E0AB70EC16E737049C698DF984A84AC154A8EFB4699F5BBEB93737BDF6C77940BBE57876C714EB351AE14B5E9 +Test: Encrypt diff --git a/TestVectors/whrlpool.txt b/TestVectors/whrlpool.txt index 9a4df8bb..e2f16f12 100644 --- a/TestVectors/whrlpool.txt +++ b/TestVectors/whrlpool.txt @@ -1,39 +1,39 @@ -AlgorithmType: MessageDigest -Name: Whirlpool -Source: ISO test vectors in http://planeta.terra.com.br/informatica/paulobarreto/whirlpool.zip -Message: "" -Digest: 19FA61D75522A466 9B44E39C1D2E1726 C530232130D407F8 9AFEE0964997F7A7\ - 3E83BE698B288FEB CF88E3E03C4F0757 EA8964E59B63D937 08B138CC42A66EB3 -Test: Verify -Message: "a" -Digest: 8ACA2602792AEC6F 11A67206531FB7D7 F0DFF59413145E69 73C45001D0087B42\ - D11BC645413AEFF6 3A42391A39145A59 1A92200D560195E5 3B478584FDAE231A -Test: Verify -Message: "abc" -Digest: 4E2448A4C6F486BB 16B6562C73B4020B F3043E3A731BCE72 1AE1B303D97E6D4C\ - 7181EEBDB6C57E27 7D0E34957114CBD6 C797FC9D95D8B582 D225292076D4EEF5 -Test: Verify -Message: "message digest" -Digest: 378C84A4126E2DC6 E56DCC7458377AAC 838D00032230F53C E1F5700C0FFB4D3B\ - 8421557659EF55C1 06B4B52AC5A4AAA6 92ED920052838F33 62E86DBD37A8903E -Test: Verify -Message: "abcdefghijklmnopqrstuvwxyz" -Digest: F1D754662636FFE9 2C82EBB9212A484A 8D38631EAD4238F5 442EE13B8054E41B\ - 08BF2A9251C30B6A 0B8AAE86177AB4A6 F68F673E7207865D 5D9819A3DBA4EB3B -Test: Verify -Message: "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789" -Digest: DC37E008CF9EE69B F11F00ED9ABA2690 1DD7C28CDEC066CC 6AF42E40F82F3A1E\ - 08EBA26629129D8F B7CB57211B9281A6 5517CC879D7B9621 42C65F5A7AF01467 -Test: Verify -Message: r8 "1234567890" -Digest: 466EF18BABB0154D 25B9D38A6414F5C0 8784372BCCB204D6 549C4AFADB601429\ - 4D5BD8DF2A6C44E5 38CD047B2681A51A 2C60481E88C5A20B 2C2A80CF3A9A083B -Test: Verify -Message: "abcdbcdecdefdefgefghfghighijhijk" -Digest: 2A987EA40F917061 F5D6F0A0E4644F48 8A7A5A52DEEE6562 07C562F988E95C69\ - 16BDC8031BC5BE1B 7B947639FE050B56 939BAAA0ADFF9AE6 745B7B181C3BE3FD -Test: Verify -Message: r1000000 "a" -Digest: 0C99005BEB57EFF5 0A7CF005560DDF5D 29057FD86B20BFD6 2DECA0F1CCEA4AF5\ - 1FC15490EDDC47AF 32BB2B66C34FF9AD 8C6008AD677F7712 6953B226E4ED8B01 -Test: Verify +AlgorithmType: MessageDigest +Name: Whirlpool +Source: ISO test vectors in http://planeta.terra.com.br/informatica/paulobarreto/whirlpool.zip +Message: "" +Digest: 19FA61D75522A466 9B44E39C1D2E1726 C530232130D407F8 9AFEE0964997F7A7\ + 3E83BE698B288FEB CF88E3E03C4F0757 EA8964E59B63D937 08B138CC42A66EB3 +Test: Verify +Message: "a" +Digest: 8ACA2602792AEC6F 11A67206531FB7D7 F0DFF59413145E69 73C45001D0087B42\ + D11BC645413AEFF6 3A42391A39145A59 1A92200D560195E5 3B478584FDAE231A +Test: Verify +Message: "abc" +Digest: 4E2448A4C6F486BB 16B6562C73B4020B F3043E3A731BCE72 1AE1B303D97E6D4C\ + 7181EEBDB6C57E27 7D0E34957114CBD6 C797FC9D95D8B582 D225292076D4EEF5 +Test: Verify +Message: "message digest" +Digest: 378C84A4126E2DC6 E56DCC7458377AAC 838D00032230F53C E1F5700C0FFB4D3B\ + 8421557659EF55C1 06B4B52AC5A4AAA6 92ED920052838F33 62E86DBD37A8903E +Test: Verify +Message: "abcdefghijklmnopqrstuvwxyz" +Digest: F1D754662636FFE9 2C82EBB9212A484A 8D38631EAD4238F5 442EE13B8054E41B\ + 08BF2A9251C30B6A 0B8AAE86177AB4A6 F68F673E7207865D 5D9819A3DBA4EB3B +Test: Verify +Message: "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789" +Digest: DC37E008CF9EE69B F11F00ED9ABA2690 1DD7C28CDEC066CC 6AF42E40F82F3A1E\ + 08EBA26629129D8F B7CB57211B9281A6 5517CC879D7B9621 42C65F5A7AF01467 +Test: Verify +Message: r8 "1234567890" +Digest: 466EF18BABB0154D 25B9D38A6414F5C0 8784372BCCB204D6 549C4AFADB601429\ + 4D5BD8DF2A6C44E5 38CD047B2681A51A 2C60481E88C5A20B 2C2A80CF3A9A083B +Test: Verify +Message: "abcdbcdecdefdefgefghfghighijhijk" +Digest: 2A987EA40F917061 F5D6F0A0E4644F48 8A7A5A52DEEE6562 07C562F988E95C69\ + 16BDC8031BC5BE1B 7B947639FE050B56 939BAAA0ADFF9AE6 745B7B181C3BE3FD +Test: Verify +Message: r1000000 "a" +Digest: 0C99005BEB57EFF5 0A7CF005560DDF5D 29057FD86B20BFD6 2DECA0F1CCEA4AF5\ + 1FC15490EDDC47AF 32BB2B66C34FF9AD 8C6008AD677F7712 6953B226E4ED8B01 +Test: Verify diff --git a/adler32.cpp b/adler32.cpp index 22702027..54cf892b 100644 --- a/adler32.cpp +++ b/adler32.cpp @@ -61,14 +61,19 @@ void Adler32::TruncatedFinal(byte *hash, size_t size) { default: hash[3] = byte(m_s1); + // fall through case 3: hash[2] = byte(m_s1 >> 8); + // fall through case 2: hash[1] = byte(m_s2); + // fall through case 1: hash[0] = byte(m_s2 >> 8); + // fall through case 0: - ; + ;; + // fall through } Reset(); diff --git a/adler32.h b/adler32.h index a6da34a4..e8caa897 100644 --- a/adler32.h +++ b/adler32.h @@ -1,7 +1,8 @@ // adler32.h - written and placed in the public domain by Wei Dai //! \file -//! \brief Class files for ADLER-32 checksum calculations +//! \headerfile adler32.h +//! \brief Class file for ADLER-32 checksum calculations #ifndef CRYPTOPP_ADLER32_H #define CRYPTOPP_ADLER32_H diff --git a/algebra.cpp b/algebra.cpp index 686002d4..5a106c4a 100644 --- a/algebra.cpp +++ b/algebra.cpp @@ -206,7 +206,8 @@ template Element GeneralCascadeMultiplication(co struct WindowSlider { WindowSlider(const Integer &expIn, bool fastNegate, unsigned int windowSizeIn=0) - : exp(expIn), windowModulus(Integer::One()), windowSize(windowSizeIn), windowBegin(0), fastNegate(fastNegate), negateNext(false), firstTime(true), finished(false) + : exp(expIn), windowModulus(Integer::One()), windowSize(windowSizeIn), windowBegin(0), expWindow(0) + , fastNegate(fastNegate), negateNext(false), firstTime(true), finished(false) { if (windowSize == 0) { diff --git a/algebra.h b/algebra.h index c14ed545..647a4d61 100644 --- a/algebra.h +++ b/algebra.h @@ -1,14 +1,15 @@ // algebra.h - written and placed in the public domain by Wei Dai //! \file -//! \brief Classes and functions for performing mathematics over different fields +//! \headerfile algebra.h +//! \brief Classes for performing mathematics over different fields #ifndef CRYPTOPP_ALGEBRA_H #define CRYPTOPP_ALGEBRA_H #include "config.h" -#include "integer.h" #include "misc.h" +#include "integer.h" NAMESPACE_BEGIN(CryptoPP) diff --git a/algparam.h b/algparam.h index 987652d1..3f5b25c5 100644 --- a/algparam.h +++ b/algparam.h @@ -1,7 +1,8 @@ // algparam.h - written and placed in the public domain by Wei Dai //! \file -//! \brief Classes and functions for working with NameValuePairs +//! \headerfile algparam.h +//! \brief Classes for working with NameValuePairs #ifndef CRYPTOPP_ALGPARAM_H @@ -11,7 +12,7 @@ #include "config.h" // TODO: fix 6011 when the API/ABI can change -#if CRYPTOPP_MSC_VERSION +#if (CRYPTOPP_MSC_VERSION >= 1400) # pragma warning(push) # pragma warning(disable: 6011 28193) #endif @@ -30,21 +31,26 @@ class ConstByteArrayParameter { public: ConstByteArrayParameter(const char *data = NULL, bool deepCopy = false) + : m_deepCopy(false), m_data(NULL), m_size(0) { Assign((const byte *)data, data ? strlen(data) : 0, deepCopy); } ConstByteArrayParameter(const byte *data, size_t size, bool deepCopy = false) + : m_deepCopy(false), m_data(NULL), m_size(0) { Assign(data, size, deepCopy); } template ConstByteArrayParameter(const T &string, bool deepCopy = false) + : m_deepCopy(false), m_data(NULL), m_size(0) { - CRYPTOPP_COMPILE_ASSERT(sizeof(CPP_TYPENAME T::value_type) == 1); + CRYPTOPP_COMPILE_ASSERT(sizeof(CPP_TYPENAME T::value_type) == 1); Assign((const byte *)string.data(), string.size(), deepCopy); } void Assign(const byte *data, size_t size, bool deepCopy) { + // This fires, which means: no data with a size, or data with no size. + // assert((data && size) || !(data || size)); if (deepCopy) m_block.Assign(data, size); else @@ -400,6 +406,19 @@ CRYPTOPP_DLL_TEMPLATE_CLASS AlgorithmParametersTemplate; CRYPTOPP_DLL_TEMPLATE_CLASS AlgorithmParametersTemplate; CRYPTOPP_DLL_TEMPLATE_CLASS AlgorithmParametersTemplate; +//! \class AlgorithmParameters +//! \brief An object that implements NameValuePairs +//! \tparam T the class or type +//! \param name the name of the object or value to retrieve +//! \param value reference to a variable that receives the value +//! \param throwIfNotUsed if true, the object will throw an exception if the value is not accessed +//! \note throwIfNotUsed is ignored if using a compiler that does not support std::uncaught_exception(), +//! such as MSVC 7.0 and earlier. +//! \note A NameValuePairs object containing an arbitrary number of name value pairs may be constructed by +//! repeatedly using operator() on the object returned by MakeParameters, for example: +//!
+//!     AlgorithmParameters parameters = MakeParameters(name1, value1)(name2, value2)(name3, value3);
+//!   
class CRYPTOPP_DLL AlgorithmParameters : public NameValuePairs { public: @@ -418,6 +437,10 @@ public: AlgorithmParameters & operator=(const AlgorithmParameters &x); + //! \tparam T the class or type + //! \param name the name of the object or value to retrieve + //! \param value reference to a variable that receives the value + //! \param throwIfNotUsed if true, the object will throw an exception if the value is not accessed template AlgorithmParameters & operator()(const char *name, const T &value, bool throwIfNotUsed) { @@ -428,6 +451,10 @@ public: return *this; } + //! \brief Appends a NameValuePair to a collection of NameValuePairs + //! \tparam T the class or type + //! \param name the name of the object or value to retrieve + //! \param value reference to a variable that receives the value template AlgorithmParameters & operator()(const char *name, const T &value) { @@ -441,23 +468,23 @@ protected: bool m_defaultThrowIfNotUsed; }; -//! Create an object that implements NameValuePairs for passing parameters -/*! \param throwIfNotUsed if true, the object will throw an exception if the value is not accessed - \note throwIfNotUsed is ignored if using a compiler that does not support std::uncaught_exception(), - such as MSVC 7.0 and earlier. - \note A NameValuePairs object containing an arbitrary number of name value pairs may be constructed by - repeatedly using operator() on the object returned by MakeParameters, for example: - AlgorithmParameters parameters = MakeParameters(name1, value1)(name2, value2)(name3, value3); -*/ +//! \brief Create an object that implements NameValuePairs +//! \tparam T the class or type +//! \param name the name of the object or value to retrieve +//! \param value reference to a variable that receives the value +//! \param throwIfNotUsed if true, the object will throw an exception if the value is not accessed +//! \note throwIfNotUsed is ignored if using a compiler that does not support std::uncaught_exception(), +//! such as MSVC 7.0 and earlier. +//! \note A NameValuePairs object containing an arbitrary number of name value pairs may be constructed by +//! repeatedly using \p operator() on the object returned by \p MakeParameters, for example: +//!
+//!     AlgorithmParameters parameters = MakeParameters(name1, value1)(name2, value2)(name3, value3);
+//!   
#ifdef __BORLANDC__ typedef AlgorithmParameters MakeParameters; #else template -#if __APPLE__ -AlgorithmParameters MakeParameters(const char *name, const T &value, bool throwIfNotUsed = false) -#else AlgorithmParameters MakeParameters(const char *name, const T &value, bool throwIfNotUsed = true) -#endif { return AlgorithmParameters()(name, value, throwIfNotUsed); } @@ -467,6 +494,11 @@ AlgorithmParameters MakeParameters(const char *name, const T &value, bool throwI #define CRYPTOPP_SET_FUNCTION_ENTRY(name) (Name::name(), &ThisClass::Set##name) #define CRYPTOPP_SET_FUNCTION_ENTRY2(name1, name2) (Name::name1(), Name::name2(), &ThisClass::Set##name1##And##name2) +// TODO: fix 6011 when the API/ABI can change +#if (CRYPTOPP_MSC_VERSION >= 1400) +# pragma warning(pop) +#endif + NAMESPACE_END #endif diff --git a/arc4.cpp b/arc4.cpp index f9b918c4..f2faec96 100644 --- a/arc4.cpp +++ b/arc4.cpp @@ -13,10 +13,12 @@ NAMESPACE_BEGIN(CryptoPP) namespace Weak1 { +#if !defined(NDEBUG) && !defined(CRYPTOPP_DOXYGEN_PROCESSING) void ARC4_TestInstantiations() { ARC4 x; } +#endif ARC4_Base::~ARC4_Base() { diff --git a/arc4.h b/arc4.h index 24e99118..2b46af02 100644 --- a/arc4.h +++ b/arc4.h @@ -1,7 +1,7 @@ // arc4.h - written and placed in the public domain by Wei Dai -//! \file -//! \brief Implementation of ARC4 +//! \file arc4.h +//! \brief Classes for ARC4 cipher #ifndef CRYPTOPP_ARC4_H #define CRYPTOPP_ARC4_H @@ -16,7 +16,8 @@ NAMESPACE_BEGIN(CryptoPP) namespace Weak1 { //! \class ARC4_Base -//! \brief Allegedly RC4 +//! \brief Class specific methods used to operate the cipher. +//! \details Implementations and overrides in \p Base apply to both \p ENCRYPTION and \p DECRYPTION directions class CRYPTOPP_NO_VTABLE ARC4_Base : public VariableKeyLength<16, 1, 256>, public RandomNumberGenerator, public SymmetricCipher, public SymmetricCipherDocumentation { public: @@ -47,7 +48,10 @@ protected: //! Alleged RC4 DOCUMENTED_TYPEDEF(SymmetricCipherFinal, ARC4) -//! _ +//! \class MARC4_Base +//! \brief Class specific methods used to operate the cipher. +//! \details Implementations and overrides in \p Base apply to both \p ENCRYPTION and \p DECRYPTION directions +//! \details MARC4 discards the first 256 bytes of keystream, which may be weaker than the rest class CRYPTOPP_NO_VTABLE MARC4_Base : public ARC4_Base { public: @@ -60,7 +64,6 @@ protected: unsigned int GetDefaultDiscardBytes() const {return 256;} }; -//! Modified ARC4: it discards the first 256 bytes of keystream which may be weaker than the rest DOCUMENTED_TYPEDEF(SymmetricCipherFinal, MARC4) } diff --git a/argnames.h b/argnames.h index 83a47b6f..b46d3924 100644 --- a/argnames.h +++ b/argnames.h @@ -1,7 +1,7 @@ // argnames.h - written and placed in the public domain by Wei Dai -//! \file -//! \brief Standard names for retrieving values when working with \p NameValuePairs +//! \file argnames.h +//! \brief Standard names for retrieving values by name when working with \p NameValuePairs #ifndef CRYPTOPP_ARGNAMES_H #define CRYPTOPP_ARGNAMES_H @@ -78,9 +78,9 @@ CRYPTOPP_DEFINE_NAME_STRING(MaxLineLength) //< int CRYPTOPP_DEFINE_NAME_STRING(DigestSize) //!< int, in bytes CRYPTOPP_DEFINE_NAME_STRING(L1KeyLength) //!< int, in bytes CRYPTOPP_DEFINE_NAME_STRING(TableSize) //!< int, in bytes -CRYPTOPP_DEFINE_NAME_STRING(DerivedKey) //< ByteArrayParameter, key derivation, derived key -CRYPTOPP_DEFINE_NAME_STRING(DerivedLength) //< int, key derivation, derived key length in bytes - +CRYPTOPP_DEFINE_NAME_STRING(Blinding) //!< bool, timing attack mitigations, ON by default +CRYPTOPP_DEFINE_NAME_STRING(DerivedKey) //!< ByteArrayParameter, key derivation, derived key +CRYPTOPP_DEFINE_NAME_STRING(DerivedKeyLength) //!< int, key derivation, derived key length in bytes DOCUMENTED_NAMESPACE_END NAMESPACE_END diff --git a/asn.h b/asn.h index 89448b19..ba4a3191 100644 --- a/asn.h +++ b/asn.h @@ -1,6 +1,7 @@ // asn.h - written and placed in the public domain by Wei Dai //! \file +//! \headerfile asn.h //! \brief Classes and functions for working with ANS.1 objects #ifndef CRYPTOPP_ASN_H @@ -348,7 +349,9 @@ void BERDecodeUnsigned(BufferedTransformation &in, T &w, byte asnTag = INTEGER, BERDecodeError(); size_t bc; - BERLengthDecode(in, bc); + bool definite = BERLengthDecode(in, bc); + if (!definite) + BERDecodeError(); SecByteBlock buf(bc); diff --git a/authenc.h b/authenc.h index 36d5e6c3..a41dcd21 100644 --- a/authenc.h +++ b/authenc.h @@ -1,6 +1,7 @@ // authenc.h - written and placed in the public domain by Wei Dai //! \file +//! \headerfile authenc.h //! \brief Base classes for working with authenticated encryption modes of encryption #ifndef CRYPTOPP_AUTHENC_H @@ -16,7 +17,8 @@ NAMESPACE_BEGIN(CryptoPP) class CRYPTOPP_DLL CRYPTOPP_NO_VTABLE AuthenticatedSymmetricCipherBase : public AuthenticatedSymmetricCipher { public: - AuthenticatedSymmetricCipherBase() : m_state(State_Start) {} + AuthenticatedSymmetricCipherBase() : m_state(State_Start), m_bufferedDataLength(0), + m_totalHeaderLength(0), m_totalMessageLength(0), m_totalFooterLength(0) {} bool IsRandomAccess() const {return false;} bool IsSelfInverting() const {return true;} diff --git a/base32.h b/base32.h index ab5ab575..6790e59d 100644 --- a/base32.h +++ b/base32.h @@ -1,7 +1,7 @@ // base32.h - written and placed in the public domain by Wei Dai //! \file -//! \brief Class files for the Base32 encoder and decoder +//! \brief Classes for Base32Encoder and Base32Decoder #ifndef CRYPTOPP_BASE32_H #define CRYPTOPP_BASE32_H @@ -18,12 +18,32 @@ NAMESPACE_BEGIN(CryptoPP) class Base32Encoder : public SimpleProxyFilter { public: - Base32Encoder(BufferedTransformation *attachment = NULL, bool uppercase = true, int outputGroupSize = 0, const std::string &separator = ":", const std::string &terminator = "") + //! \brief Construct a Base32Encoder + //! \param attachment a BufferedTrasformation to attach to this object + //! \param uppercase a flag indicating uppercase output + //! \param groupSize the size of the grouping + //! \param separator the separator to use between groups + //! \param terminator the terminator appeand after processing + //! \details Base32Encoder() constructs a default encoder. The constructor lacks fields for padding and + //! line breaks. You must use IsolatedInitialize() to change the default padding character or suppress it. + //! \sa IsolatedInitialize() for an example of modifying a Base32Encoder after construction. + Base32Encoder(BufferedTransformation *attachment = NULL, bool uppercase = true, int groupSize = 0, const std::string &separator = ":", const std::string &terminator = "") : SimpleProxyFilter(new BaseN_Encoder(new Grouper), attachment) { - IsolatedInitialize(MakeParameters(Name::Uppercase(), uppercase)(Name::GroupSize(), outputGroupSize)(Name::Separator(), ConstByteArrayParameter(separator))(Name::Terminator(), ConstByteArrayParameter(terminator))); + IsolatedInitialize(MakeParameters(Name::Uppercase(), uppercase)(Name::GroupSize(), groupSize)(Name::Separator(), ConstByteArrayParameter(separator))(Name::Terminator(), ConstByteArrayParameter(terminator))); } + //! \brief Initialize or reinitialize this object, without signal propagation + //! \param parameters a set of NameValuePairs used to initialize this object + //! \details IsolatedInitialize() is used to initialize or reinitialize an object using a variable + //! number of arbitrarily typed arguments. IsolatedInitialize() does not call Initialize() on attached + //! transformations. If initialization should be propagated, then use the Initialize() function. + //! \details The following code modifies the padding and line break parameters for an encoder: + //!
+	//!     Base32Encoder encoder;
+	//!     AlgorithmParameters params = MakeParameters(Pad(), false)(InsertLineBreaks(), false);
+	//!     encoder.IsolatedInitialize(params);
+	//!   
void IsolatedInitialize(const NameValuePairs ¶meters); }; @@ -34,6 +54,8 @@ public: class Base32Decoder : public BaseN_Decoder { public: + //! \brief Construct a Base32Decoder + //! \param attachment a BufferedTrasformation to attach to this object Base32Decoder(BufferedTransformation *attachment = NULL) : BaseN_Decoder(GetDefaultDecodingLookupArray(), 5, attachment) {} diff --git a/base64.cpp b/base64.cpp index 72b76bee..68c48e8e 100644 --- a/base64.cpp +++ b/base64.cpp @@ -5,7 +5,6 @@ NAMESPACE_BEGIN(CryptoPP) - // Base64 static const byte s_stdVec[] = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"; diff --git a/base64.h b/base64.h index 5b3f02db..0a6d7768 100644 --- a/base64.h +++ b/base64.h @@ -1,7 +1,7 @@ -// .h - written and placed in the public domain by Wei Dai +// base64.h - written and placed in the public domain by Wei Dai -//! \file -//! \brief Class files for the Base64Encoder, Base64Decoder, Base64URLEncoder and Base64URLDecoder +//! \file base64.h +//! \brief Classes for the Base64Encoder, Base64Decoder, Base64URLEncoder and Base64URLDecoder #ifndef CRYPTOPP_BASE64_H #define CRYPTOPP_BASE64_H @@ -18,12 +18,30 @@ NAMESPACE_BEGIN(CryptoPP) class Base64Encoder : public SimpleProxyFilter { public: + //! \brief Construct a Base64Encoder + //! \param attachment a BufferedTrasformation to attach to this object + //! \param insertLineBreaks a BufferedTrasformation to attach to this object + //! \param maxLineLength the lenght of a line if line breaks are used + //! \details Base64Encoder() constructs a default encoder. The constructor lacks parameters for padding. + //! You must use IsolatedInitialize() to modify the Base64Encoder after construction. + //! \sa IsolatedInitialize() for an example of modifying a Base64Encoder after construction. Base64Encoder(BufferedTransformation *attachment = NULL, bool insertLineBreaks = true, int maxLineLength = 72) : SimpleProxyFilter(new BaseN_Encoder(new Grouper), attachment) { IsolatedInitialize(MakeParameters(Name::InsertLineBreaks(), insertLineBreaks)(Name::MaxLineLength(), maxLineLength)); } - + + //! \brief Initialize or reinitialize this object, without signal propagation + //! \param parameters a set of NameValuePairs used to initialize this object + //! \details IsolatedInitialize() is used to initialize or reinitialize an object using a variable + //! number of arbitrarily typed arguments. IsolatedInitialize() does not call Initialize() on attached + //! transformations. If initialization should be propagated, then use the Initialize() function. + //! \details The following code modifies the padding and line break parameters for an encoder: + //!
+	//!     Base64Encoder encoder;
+	//!     AlgorithmParameters params = MakeParameters(Pad(), false)(InsertLineBreaks(), false);
+	//!     encoder.IsolatedInitialize(params);
+	//!   
void IsolatedInitialize(const NameValuePairs ¶meters); }; @@ -34,9 +52,16 @@ public: class Base64Decoder : public BaseN_Decoder { public: + //! \brief Construct a Base64Decoder + //! \param attachment a BufferedTrasformation to attach to this object Base64Decoder(BufferedTransformation *attachment = NULL) : BaseN_Decoder(GetDecodingLookupArray(), 6, attachment) {} + //! \brief Initialize or reinitialize this object, without signal propagation + //! \param parameters a set of NameValuePairs used to initialize this object + //! \details IsolatedInitialize() is used to initialize or reinitialize an object using a variable + //! number of arbitrarily typed arguments. IsolatedInitialize() does not call Initialize() on + //! attached transformations. If initialization should be propagated, then use the Initialize() function. void IsolatedInitialize(const NameValuePairs ¶meters) {CRYPTOPP_UNUSED(parameters);} @@ -51,12 +76,33 @@ private: class Base64URLEncoder : public SimpleProxyFilter { public: + //! \brief Construct a Base64URLEncoder + //! \param attachment a BufferedTrasformation to attach to this object + //! \param insertLineBreaks a BufferedTrasformation to attach to this object + //! \param maxLineLength the lenght of a line if line breaks are used + //! \details Base64URLEncoder() constructs a default encoder. The constructor ignores insertLineBreaks + //! and maxLineLength because the web and URL safe specifications don't use them. They are present + //! in the constructor for API compatibility with Base64Encoder (drop-in replacement). The + //! constructor also disables padding on the encoder for the same reason. + //! \details If you need line breaks or padding, then you must use IsolatedInitialize() to set them + //! after constructing a Base64URLEncoder. + //! \sa IsolatedInitialize() for an example of modifying a Base64URLEncoder after construction. Base64URLEncoder(BufferedTransformation *attachment = NULL, bool insertLineBreaks = false, int maxLineLength = -1) : SimpleProxyFilter(new BaseN_Encoder(new Grouper), attachment) { - IsolatedInitialize(MakeParameters(Name::InsertLineBreaks(), insertLineBreaks)(Name::MaxLineLength(), maxLineLength)); + CRYPTOPP_UNUSED(insertLineBreaks), CRYPTOPP_UNUSED(maxLineLength); + IsolatedInitialize(MakeParameters(Name::InsertLineBreaks(), false)(Name::MaxLineLength(), -1)(Name::Pad(),false)); } + //! \details IsolatedInitialize() is used to initialize or reinitialize an object using a variable + //! number of arbitrarily typed arguments. IsolatedInitialize() does not call Initialize() on attached + //! transformations. If initialization should be propagated, then use the Initialize() function. + //! \details The following code modifies the padding and line break parameters for an encoder: + //!
+	//!     Base64URLEncoder encoder;
+	//!     AlgorithmParameters params = MakeParameters(Name::Pad(), true)(Name::InsertLineBreaks(), true);
+	//!     encoder.IsolatedInitialize(params);
+	//!   
void IsolatedInitialize(const NameValuePairs ¶meters); }; @@ -67,9 +113,16 @@ public: class Base64URLDecoder : public BaseN_Decoder { public: + //! \brief Construct a Base64URLDecoder + //! \param attachment a BufferedTrasformation to attach to this object Base64URLDecoder(BufferedTransformation *attachment = NULL) : BaseN_Decoder(GetDecodingLookupArray(), 6, attachment) {} + //! \brief Initialize or reinitialize this object, without signal propagation + //! \param parameters a set of NameValuePairs used to initialize this object + //! \details IsolatedInitialize() is used to initialize or reinitialize an object using a variable + //! number of arbitrarily typed arguments. IsolatedInitialize() does not call Initialize() on + //! attached transformations. If initialization should be propagated, then use the Initialize() function. void IsolatedInitialize(const NameValuePairs ¶meters) {CRYPTOPP_UNUSED(parameters);} diff --git a/basecode.h b/basecode.h index ca2323d1..75c6659f 100644 --- a/basecode.h +++ b/basecode.h @@ -1,7 +1,7 @@ // basecode.h - written and placed in the public domain by Wei Dai //! \file -//! \brief Base class files for working with encoders and decoders. +//! \brief Base classes for working with encoders and decoders. #ifndef CRYPTOPP_BASECODE_H #define CRYPTOPP_BASECODE_H @@ -14,14 +14,27 @@ NAMESPACE_BEGIN(CryptoPP) //! \class BaseN_Encoder -//! \details base n encoder, where n is a power of 2 +//! \brief Encoder for bases that are a power of 2 class CRYPTOPP_DLL BaseN_Encoder : public Unflushable { public: + //! \brief Construct a BaseN_Encoder + //! \param attachment a BufferedTransformation to attach to this object BaseN_Encoder(BufferedTransformation *attachment=NULL) - {Detach(attachment);} + : m_alphabet(NULL), m_padding(0), m_bitsPerChar(0) + , m_outputBlockSize(0), m_bytePos(0), m_bitPos(0) + {Detach(attachment);} + //! \brief Construct a BaseN_Encoder + //! \param alphabet table of ASCII characters to use as the alphabet + //! \param log2base the log2base + //! \param attachment a BufferedTransformation to attach to this object + //! \param padding the character to use as padding + //! \pre log2base must be between 1 and 7 inclusive + //! \throws InvalidArgument if log2base is not between 1 and 7 BaseN_Encoder(const byte *alphabet, int log2base, BufferedTransformation *attachment=NULL, int padding=-1) + : m_alphabet(NULL), m_padding(0), m_bitsPerChar(0) + , m_outputBlockSize(0), m_bytePos(0), m_bitPos(0) { Detach(attachment); IsolatedInitialize(MakeParameters(Name::EncodingLookupArray(), alphabet) @@ -41,14 +54,30 @@ private: }; //! \class BaseN_Decoder -//! \details base n encoder, where n is a power of 2 +//! \brief Decoder for bases that are a power of 2 class CRYPTOPP_DLL BaseN_Decoder : public Unflushable { public: + //! \brief Construct a BaseN_Decoder + //! \param attachment a BufferedTransformation to attach to this object + //! \details padding is set to -1, which means use default padding. If not + //! required, then the value must be set via IsolatedInitialize(). BaseN_Decoder(BufferedTransformation *attachment=NULL) - {Detach(attachment);} + : m_lookup(0), m_padding(0), m_bitsPerChar(0) + , m_outputBlockSize(0), m_bytePos(0), m_bitPos(0) + {Detach(attachment);} + //! \brief Construct a BaseN_Decoder + //! \param lookup table of values + //! \param log2base the log2base + //! \param attachment a BufferedTransformation to attach to this object + //! \details log2base is the exponent (like 5 in 25), and not + //! the number of elements (like 32). + //! \details padding is set to -1, which means use default padding. If not + //! required, then the value must be set via IsolatedInitialize(). BaseN_Decoder(const int *lookup, int log2base, BufferedTransformation *attachment=NULL) + : m_lookup(0), m_padding(0), m_bitsPerChar(0) + , m_outputBlockSize(0), m_bytePos(0), m_bitPos(0) { Detach(attachment); IsolatedInitialize(MakeParameters(Name::DecodingLookupArray(), lookup)(Name::Log2Base(), log2base)); @@ -57,6 +86,16 @@ public: void IsolatedInitialize(const NameValuePairs ¶meters); size_t Put2(const byte *begin, size_t length, int messageEnd, bool blocking); + //! \brief Intializes BaseN lookup array + //! \param lookup table of values + //! \param alphabet table of ASCII characters + //! \param base the base for the encoder + //! \param caseInsensitive flag indicating whether the alpabet is case sensitivie + //! \pre COUNTOF(lookup) == 256 + //! \pre COUNTOF(alphabet) == base + //! \details Internally, the function sets the first 256 elements in the lookup table to + // their value from the alphabet array or -1. base is the number of element (like 32), + //! and not an exponent (like 5 in 25) static void CRYPTOPP_API InitializeDecodingLookupArray(int *lookup, const byte *alphabet, unsigned int base, bool caseInsensitive); private: @@ -66,14 +105,23 @@ private: SecByteBlock m_outBuf; }; -//! filter that breaks input stream into groups of fixed size +//! \class Grouper +//! \brief Filter that breaks input stream into groups of fixed size class CRYPTOPP_DLL Grouper : public Bufferless { public: + //! \brief Construct a Grouper + //! \param attachment a BufferedTransformation to attach to this object Grouper(BufferedTransformation *attachment=NULL) - {Detach(attachment);} + : m_groupSize(0), m_counter(0) {Detach(attachment);} + //! \brief Construct a Grouper + //! \param groupSize the size of the grouping + //! \param separator the separator to use between groups + //! \param terminator the terminator appeand after processing + //! \param attachment a BufferedTransformation to attach to this object Grouper(int groupSize, const std::string &separator, const std::string &terminator, BufferedTransformation *attachment=NULL) + : m_groupSize(0), m_counter(0) { Detach(attachment); IsolatedInitialize(MakeParameters(Name::GroupSize(), groupSize) diff --git a/bench.cpp b/bench.cpp index bf50b612..b0534879 100644 --- a/bench.cpp +++ b/bench.cpp @@ -17,6 +17,7 @@ #include #include #include +#include #include // These are noisy enoguh due to test.cpp. Turn them off here. @@ -35,46 +36,72 @@ const double CLOCK_TICKS_PER_SECOND = (double)CLK_TCK; const double CLOCK_TICKS_PER_SECOND = 1000000.0; #endif -double logtotal = 0, g_allocatedTime, g_hertz; +double logtotal = 0.0, g_allocatedTime = 0, g_hertz = 0; unsigned int logcount = 0; -static const byte defaultKey[] = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"; +static const byte defaultKey[] = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" + "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"; void OutputResultBytes(const char *name, double length, double timeTaken) { + // Coverity finding (http://stackoverflow.com/a/30968371 does not squash the finding) + std::ostringstream out; + out.copyfmt(cout); + + // Coverity finding + if (length < 0.0000000001f) length = 0.000001f; + if (timeTaken < 0.0000000001f) timeTaken = 0.000001f; + double mbs = length / timeTaken / (1024*1024); - cout << "\n" << name; -// cout << "" << setprecision(3) << length / (1024*1024); - cout << setiosflags(ios::fixed); -// cout << "" << setprecision(3) << timeTaken; - cout << "" << setprecision(0) << setiosflags(ios::fixed) << mbs; + out << "\n" << name; +// out << "" << setprecision(3) << length / (1024*1024); + out << setiosflags(ios::fixed); +// out << "" << setprecision(3) << timeTaken; + out << "" << setprecision(0) << setiosflags(ios::fixed) << mbs; if (g_hertz) - cout << "" << setprecision(1) << setiosflags(ios::fixed) << timeTaken * g_hertz / length; - cout << resetiosflags(ios::fixed); + out << "" << setprecision(1) << setiosflags(ios::fixed) << timeTaken * g_hertz / length; logtotal += log(mbs); logcount++; + + cout << out.str(); } void OutputResultKeying(double iterations, double timeTaken) { - cout << "" << setprecision(3) << setiosflags(ios::fixed) << (1000*1000*timeTaken/iterations); + // Coverity finding (http://stackoverflow.com/a/30968371 does not squash the finding) + std::ostringstream out; + out.copyfmt(cout); + + // Coverity finding + if (iterations < 0.0000000001f) iterations = 0.000001f; + if (timeTaken < 0.0000000001f) timeTaken = 0.000001f; + + out << "" << setprecision(3) << setiosflags(ios::fixed) << (1000*1000*timeTaken/iterations); if (g_hertz) - cout << "" << setprecision(0) << setiosflags(ios::fixed) << timeTaken * g_hertz / iterations; + out << "" << setprecision(0) << setiosflags(ios::fixed) << timeTaken * g_hertz / iterations; + + cout << out.str(); } void OutputResultOperations(const char *name, const char *operation, bool pc, unsigned long iterations, double timeTaken) { - cout << "\n" << name << " " << operation << (pc ? " with precomputation" : ""); -// cout << "" << iterations; -// cout << setiosflags(ios::fixed); -// cout << "" << setprecision(3) << timeTaken; - cout << "" << setprecision(2) << setiosflags(ios::fixed) << (1000*timeTaken/iterations); + // Coverity finding (http://stackoverflow.com/a/30968371 does not squash the finding) + std::ostringstream out; + out.copyfmt(cout); + + // Coverity finding + if (!iterations) iterations++; + if (timeTaken < 0.0000000001f) timeTaken = 0.000001f; + + out << "\n" << name << " " << operation << (pc ? " with precomputation" : ""); + out << "" << setprecision(2) << setiosflags(ios::fixed) << (1000*timeTaken/iterations); if (g_hertz) - cout << "" << setprecision(2) << setiosflags(ios::fixed) << timeTaken * g_hertz / iterations / 1000000; - cout << resetiosflags(ios::fixed); + out << "" << setprecision(2) << setiosflags(ios::fixed) << timeTaken * g_hertz / iterations / 1000000; logtotal += log(iterations/timeTaken); logcount++; + + cout << out.str(); } /* @@ -196,14 +223,16 @@ void BenchMarkByName2(const char *factoryName, size_t keyLength = 0, const char CRYPTOPP_UNUSED(x), CRYPTOPP_UNUSED(y), CRYPTOPP_UNUSED(params); std::string name(factoryName ? factoryName : ""); + member_ptr obj(ObjectFactoryRegistry::Registry().CreateObject(name.c_str())); + + if (!keyLength) + keyLength = obj->DefaultKeyLength(); + if (displayName) name = displayName; else if (keyLength) name += " (" + IntToString(keyLength * 8) + "-bit key)"; - member_ptr obj(ObjectFactoryRegistry::Registry().CreateObject(factoryName)); - if (!keyLength) - keyLength = obj->DefaultKeyLength(); obj->SetKey(defaultKey, keyLength, CombinedNameValuePairs(params, MakeParameters(Name::IV(), ConstByteArrayParameter(defaultKey, obj->IVSize()), false))); BenchMark(name.c_str(), *static_cast(obj.get()), g_allocatedTime); BenchMarkKeying(*obj, keyLength, CombinedNameValuePairs(params, MakeParameters(Name::IV(), ConstByteArrayParameter(defaultKey, obj->IVSize()), false))); @@ -347,11 +376,10 @@ void BenchmarkAll(double t, double hertz) cout << "" << endl; BenchmarkAll2(t, hertz); - - cout << "Throughput Geometric Average: " << setiosflags(ios::fixed) << exp(logtotal/logcount) << endl; + cout << "Throughput Geometric Average: " << setiosflags(ios::fixed) << exp(logtotal/(logcount ? logcount : 1)) << endl; // Safer functions on Windows for C&A, https://github.com/weidai11/cryptopp/issues/55 -#if defined(CRYPTOPP_MSC_VERSION) +#if (CRYPTOPP_MSC_VERSION >= 1400) tm localTime = {}; char timeBuf[64]; errno_t err; diff --git a/bench.h b/bench.h index c5da2cf6..bf966ffc 100644 --- a/bench.h +++ b/bench.h @@ -1,3 +1,5 @@ +// bench.h - written and placed in the public domain by Wei Dai + #ifndef CRYPTOPP_BENCH_H #define CRYPTOPP_BENCH_H diff --git a/bench2.cpp b/bench2.cpp index afe4b77b..308136ca 100644 --- a/bench2.cpp +++ b/bench2.cpp @@ -48,7 +48,7 @@ void BenchMarkEncryption(const char *name, PK_Encryptor &key, double timeTotal, SecByteBlock plaintext(len), ciphertext(key.CiphertextLength(len)); GlobalRNG().GenerateBlock(plaintext, len); - clock_t start = clock(); + const clock_t start = clock(); unsigned int i; double timeTaken; for (timeTaken=(double)0, i=0; timeTaken < timeTotal; timeTaken = double(clock() - start) / CLOCK_TICKS_PER_SECOND, i++) @@ -71,7 +71,7 @@ void BenchMarkDecryption(const char *name, PK_Decryptor &priv, PK_Encryptor &pub GlobalRNG().GenerateBlock(plaintext, len); pub.Encrypt(GlobalRNG(), plaintext, len, ciphertext); - clock_t start = clock(); + const clock_t start = clock(); unsigned int i; double timeTaken; for (timeTaken=(double)0, i=0; timeTaken < timeTotal; timeTaken = double(clock() - start) / CLOCK_TICKS_PER_SECOND, i++) @@ -86,7 +86,7 @@ void BenchMarkSigning(const char *name, PK_Signer &key, double timeTotal, bool p AlignedSecByteBlock message(len), signature(key.SignatureLength()); GlobalRNG().GenerateBlock(message, len); - clock_t start = clock(); + const clock_t start = clock(); unsigned int i; double timeTaken; for (timeTaken=(double)0, i=0; timeTaken < timeTotal; timeTaken = double(clock() - start) / CLOCK_TICKS_PER_SECOND, i++) @@ -108,11 +108,15 @@ void BenchMarkVerification(const char *name, const PK_Signer &priv, PK_Verifier GlobalRNG().GenerateBlock(message, len); priv.SignMessage(GlobalRNG(), message, len, signature); - clock_t start = clock(); + const clock_t start = clock(); unsigned int i; double timeTaken; for (timeTaken=(double)0, i=0; timeTaken < timeTotal; timeTaken = double(clock() - start) / CLOCK_TICKS_PER_SECOND, i++) - pub.VerifyMessage(message, len, signature, signature.size()); + { + // The return value is ignored because we are interested in throughput + bool unused = pub.VerifyMessage(message, len, signature, signature.size()); + CRYPTOPP_UNUSED(unused); + } OutputResultOperations(name, "Verification", pc, i, timeTaken); @@ -127,7 +131,7 @@ void BenchMarkKeyGen(const char *name, SimpleKeyAgreementDomain &d, double timeT { SecByteBlock priv(d.PrivateKeyLength()), pub(d.PublicKeyLength()); - clock_t start = clock(); + const clock_t start = clock(); unsigned int i; double timeTaken; for (timeTaken=(double)0, i=0; timeTaken < timeTotal; timeTaken = double(clock() - start) / CLOCK_TICKS_PER_SECOND, i++) @@ -146,7 +150,7 @@ void BenchMarkKeyGen(const char *name, AuthenticatedKeyAgreementDomain &d, doubl { SecByteBlock priv(d.EphemeralPrivateKeyLength()), pub(d.EphemeralPublicKeyLength()); - clock_t start = clock(); + const clock_t start = clock(); unsigned int i; double timeTaken; for (timeTaken=(double)0, i=0; timeTaken < timeTotal; timeTaken = double(clock() - start) / CLOCK_TICKS_PER_SECOND, i++) @@ -169,7 +173,7 @@ void BenchMarkAgreement(const char *name, SimpleKeyAgreementDomain &d, double ti d.GenerateKeyPair(GlobalRNG(), priv2, pub2); SecByteBlock val(d.AgreedValueLength()); - clock_t start = clock(); + const clock_t start = clock(); unsigned int i; double timeTaken; for (timeTaken=(double)0, i=0; timeTaken < timeTotal; timeTaken = double(clock() - start) / CLOCK_TICKS_PER_SECOND, i+=2) @@ -193,7 +197,7 @@ void BenchMarkAgreement(const char *name, AuthenticatedKeyAgreementDomain &d, do d.GenerateEphemeralKeyPair(GlobalRNG(), epriv2, epub2); SecByteBlock val(d.AgreedValueLength()); - clock_t start = clock(); + const clock_t start = clock(); unsigned int i; double timeTaken; for (timeTaken=(double)0, i=0; timeTaken < timeTotal; timeTaken = double(clock() - start) / CLOCK_TICKS_PER_SECOND, i+=2) diff --git a/blowfish.h b/blowfish.h index d440977e..98336b45 100644 --- a/blowfish.h +++ b/blowfish.h @@ -1,7 +1,7 @@ // blowfish.h - written and placed in the public domain by Wei Dai -//! \file -//! \brief Class files for the Blowfish algorithm +//! \file blowfish.h +//! \brief Classes for the Blowfish block cipher #ifndef CRYPTOPP_BLOWFISH_H #define CRYPTOPP_BLOWFISH_H diff --git a/blumshub.cpp b/blumshub.cpp index d180c203..3e7345cd 100644 --- a/blumshub.cpp +++ b/blumshub.cpp @@ -8,10 +8,10 @@ NAMESPACE_BEGIN(CryptoPP) PublicBlumBlumShub::PublicBlumBlumShub(const Integer &n, const Integer &seed) : modn(n), - maxBits(BitPrecision(n.BitCount())-1) + current(modn.Square(modn.Square(seed))), + maxBits(BitPrecision(n.BitCount())-1), + bitsLeft(maxBits) { - current = modn.Square(modn.Square(seed)); - bitsLeft = maxBits; } unsigned int PublicBlumBlumShub::GenerateBit() diff --git a/blumshub.h b/blumshub.h index cd194965..3ceef899 100644 --- a/blumshub.h +++ b/blumshub.h @@ -1,3 +1,9 @@ +// blumshub.h - written and placed in the public domain by Wei Dai + +//! \file +//! \headerfile blumshub.h +//! \brief Classes for Blum Blum Shub generator + #ifndef CRYPTOPP_BLUMSHUB_H #define CRYPTOPP_BLUMSHUB_H @@ -21,14 +27,15 @@ public: bool IsSelfInverting() const {return true;} bool IsForwardTransformation() const {return true;} + +#ifndef CRYPTOPP_MAINTAIN_BACKWARDS_COMPATIBILITY_562 + virtual ~PublicBlumBlumShub() {} +#endif protected: ModularArithmetic modn; - word maxBits, bitsLeft; Integer current; - - friend class BlumGoldwasserPublicKey; - friend class BlumGoldwasserPrivateKey; + word maxBits, bitsLeft; }; //! BlumBlumShub with factorization of the modulus @@ -42,6 +49,10 @@ public: bool IsRandomAccess() const {return true;} void Seek(lword index); +#ifndef CRYPTOPP_MAINTAIN_BACKWARDS_COMPATIBILITY_562 + virtual ~BlumBlumShub() {} +#endif + protected: const Integer p, q; const Integer x0; diff --git a/camellia.cpp b/camellia.cpp index 0323bdbe..1c37d4e8 100644 --- a/camellia.cpp +++ b/camellia.cpp @@ -13,7 +13,10 @@ See comments at top of rijndael.cpp for more details. #include "config.h" #if CRYPTOPP_MSC_VERSION -# pragma warning(disable: 4456 6246) +# pragma warning(disable: 4456) +# if (CRYPTOPP_MSC_VERSION >= 1400) +# pragma warning(disable: 6246) +# endif #endif #include "camellia.h" diff --git a/camellia.h b/camellia.h index d0893e23..91e765e5 100644 --- a/camellia.h +++ b/camellia.h @@ -1,9 +1,11 @@ +// camellia.h - written and placed in the public domain by Wei Dai + +//! \file camellia.h +//! \brief Classes for the Cameliia block cipher + #ifndef CRYPTOPP_CAMELLIA_H #define CRYPTOPP_CAMELLIA_H -/** \file -*/ - #include "config.h" #include "seckey.h" #include "secblock.h" diff --git a/cast.h b/cast.h index f527be8a..d464bbf7 100644 --- a/cast.h +++ b/cast.h @@ -1,9 +1,11 @@ +// cast.h - written and placed in the public domain by Wei Dai + +//! \file cast.h +//! \brief Classes for the CAST-128 and CAST-256 block ciphers + #ifndef CRYPTOPP_CAST_H #define CRYPTOPP_CAST_H -/** \file -*/ - #include "seckey.h" #include "secblock.h" diff --git a/cbcmac.h b/cbcmac.h index 2fc13e54..d4745b6b 100644 --- a/cbcmac.h +++ b/cbcmac.h @@ -1,3 +1,9 @@ +// cbcmac.h - written and placed in the public domain by Wei Dai + +//! \file +//! \headerfile cbcmac.h +//! \brief Classes for CBC MAC + #ifndef CRYPTOPP_CBCMAC_H #define CRYPTOPP_CBCMAC_H @@ -10,7 +16,7 @@ NAMESPACE_BEGIN(CryptoPP) class CRYPTOPP_DLL CRYPTOPP_NO_VTABLE CBC_MAC_Base : public MessageAuthenticationCode { public: - CBC_MAC_Base() {} + CBC_MAC_Base() : m_counter(0) {} void UncheckedSetKey(const byte *key, unsigned int length, const NameValuePairs ¶ms); void Update(const byte *input, size_t length); diff --git a/ccm.h b/ccm.h index 6f6e4e41..65d5287f 100644 --- a/ccm.h +++ b/ccm.h @@ -1,3 +1,9 @@ +// ccm.h - written and placed in the public domain by Wei Dai + +//! \file +//! \headerfile ccm.h +//! \brief CCM block cipher mode of operation + #ifndef CRYPTOPP_CCM_H #define CRYPTOPP_CCM_H @@ -10,7 +16,7 @@ class CRYPTOPP_DLL CRYPTOPP_NO_VTABLE CCM_Base : public AuthenticatedSymmetricCi { public: CCM_Base() - : m_digestSize(0), m_L(0) {} + : m_digestSize(0), m_L(0), m_messageLength(0), m_aadLength(0) {} // AuthenticatedSymmetricCipher std::string AlgorithmName() const diff --git a/channels.h b/channels.h index 3a9bf81e..1a140775 100644 --- a/channels.h +++ b/channels.h @@ -1,11 +1,16 @@ +// channels.h - written and placed in the public domain by Wei Dai + +//! \file +//! \headerfile channels.h +//! \brief Classes for multiple named channels + #ifndef CRYPTOPP_CHANNELS_H #define CRYPTOPP_CHANNELS_H #include "cryptlib.h" #include "simple.h" #include "smartptr.h" -#include -#include +#include "stdcpp.h" NAMESPACE_BEGIN(CryptoPP) @@ -64,18 +69,23 @@ class ChannelSwitch; class ChannelRouteIterator : public ChannelSwitchTypedefs { public: - ChannelSwitch& m_cs; - std::string m_channel; - bool m_useDefault; - MapIterator m_itMapCurrent, m_itMapEnd; - ListIterator m_itListCurrent, m_itListEnd; + ChannelRouteIterator(ChannelSwitch &cs) : m_cs(cs), m_useDefault(false) {} - ChannelRouteIterator(ChannelSwitch &cs) : m_cs(cs) {} void Reset(const std::string &channel); bool End() const; void Next(); BufferedTransformation & Destination(); const std::string & Channel(); + + ChannelSwitch& m_cs; + std::string m_channel; + bool m_useDefault; + MapIterator m_itMapCurrent, m_itMapEnd; + ListIterator m_itListCurrent, m_itListEnd; + +protected: + // Hide this to see if we break something... + ChannelRouteIterator(); }; //! Route input to different and/or multiple channels based on channel ID diff --git a/cmac.cpp b/cmac.cpp index e8fa6fea..150abd47 100644 --- a/cmac.cpp +++ b/cmac.cpp @@ -57,6 +57,7 @@ void CMAC_Base::UncheckedSetKey(const byte *key, unsigned int length, const Name void CMAC_Base::Update(const byte *input, size_t length) { + assert((input && length) || !(input || length)); if (!length) return; @@ -65,11 +66,14 @@ void CMAC_Base::Update(const byte *input, size_t length) if (m_counter > 0) { - unsigned int len = UnsignedMin(blockSize - m_counter, length); - xorbuf(m_reg+m_counter, input, len); - length -= len; - input += len; - m_counter += len; + const unsigned int len = UnsignedMin(blockSize - m_counter, length); + if (len) + { + xorbuf(m_reg+m_counter, input, len); + length -= len; + input += len; + m_counter += len; + } if (m_counter == blockSize && length > 0) { diff --git a/cmac.h b/cmac.h index ab3ecf8c..dfbdbffe 100644 --- a/cmac.h +++ b/cmac.h @@ -1,3 +1,9 @@ +// cmac.h - written and placed in the public domain by Wei Dai + +//! \file +//! \headerfile cmac.h +//! \brief Classes for CMAC message authentication code + #ifndef CRYPTOPP_CMAC_H #define CRYPTOPP_CMAC_H @@ -10,7 +16,7 @@ NAMESPACE_BEGIN(CryptoPP) class CRYPTOPP_DLL CRYPTOPP_NO_VTABLE CMAC_Base : public MessageAuthenticationCode { public: - CMAC_Base() {} + CMAC_Base() : m_counter(0) {} void UncheckedSetKey(const byte *key, unsigned int length, const NameValuePairs ¶ms); void Update(const byte *input, size_t length); diff --git a/config.h b/config.h index 9728ee22..638bc3ce 100644 --- a/config.h +++ b/config.h @@ -1,3 +1,8 @@ +// config.h - written and placed in the public domain by Wei Dai + +//! \file config.h +//! \brief Library configuration file + #ifndef CRYPTOPP_CONFIG_H #define CRYPTOPP_CONFIG_H @@ -54,8 +59,16 @@ # endif #endif +// Define this if you want or need the library's memcpy_s and memmove_s. +// See http://github.com/weidai11/cryptopp/issues/28. +// #if !defined(CRYPTOPP_WANT_SECURE_LIB) +// # define CRYPTOPP_WANT_SECURE_LIB +// #endif + // File system code to write to GZIP archive. -#define GZIP_OS_CODE 0 +#if !defined(GZIP_OS_CODE) +# define GZIP_OS_CODE 0 +#endif // Try this if your CPU has 256K internal cache or a slow multiply instruction // and you want a (possibly) faster IDEA implementation using log tables @@ -90,7 +103,7 @@ #if defined(CRYPTOPP_INIT_PRIORITY) && (CRYPTOPP_INIT_PRIORITY > 0) # define CRYPTOPP_USER_PRIORITY (CRYPTOPP_INIT_PRIORITY + 101) #else -# define CRYPTOPP_USER_PRIORITY 500 +# define CRYPTOPP_USER_PRIORITY 250 #endif // ***************** Important Settings Again ******************** @@ -113,8 +126,8 @@ //! \details Nearly all classes are located in the CryptoPP namespace. Within //! the namespace, there are two additional namespaces. //!
    -//!
  • Name - the namespace for names used with \p NameValuePairs and documented in argnames.h -//!
  • Weak - the namespace for weak and wounded algorithms, like ARC4, MD5 and Pananma +//!
  • Name - namespace for names used with \p NameValuePairs and documented in argnames.h +//!
  • Weak - namespace for weak and wounded algorithms, like ARC4, MD5 and Pananma //!
namespace CryptoPP { } // Bring in the symbols fund in the weak namespace; and fold Weak1 into Weak @@ -126,12 +139,15 @@ namespace CryptoPP { } # define NAMESPACE_END // Get Doxygen to generate better documentation for these typedefs # define DOCUMENTED_TYPEDEF(x, y) class y : public x {}; +// Make "protected" "private" so the functions and members are not documented +# define protected private #else # define NAMESPACE_BEGIN(x) namespace x { # define NAMESPACE_END } # define DOCUMENTED_TYPEDEF(x, y) typedef x y; #endif #define ANONYMOUS_NAMESPACE_BEGIN namespace { +#define ANONYMOUS_NAMESPACE_END } #define USING_NAMESPACE(x) using namespace x; #define DOCUMENTED_NAMESPACE_BEGIN(x) namespace x { #define DOCUMENTED_NAMESPACE_END } @@ -175,32 +191,31 @@ const lword LWORD_MAX = W64LIT(0xffffffffffffffff); #define CRYPTOPP_GCC_VERSION (__GNUC__ * 10000 + __GNUC_MINOR__ * 100 + __GNUC_PATCHLEVEL__) #endif -#ifdef __clang__ +// Apple and LLVM's Clang. Apple Clang version 7.0 roughly equals LLVM Clang version 3.7 +#if defined(__clang__ ) && !defined(__apple_build_version__) #define CRYPTOPP_CLANG_VERSION (__clang_major__ * 10000 + __clang_minor__ * 100 + __clang_patchlevel__) +#elif defined(__clang__ ) && defined(__apple_build_version__) + #define CRYPTOPP_APPLE_CLANG_VERSION (__clang_major__ * 10000 + __clang_minor__ * 100 + __clang_patchlevel__) #endif #ifdef _MSC_VER #define CRYPTOPP_MSC_VERSION (_MSC_VER) #endif -// Need GCC 4.6/Clang 1.7 or above due to "GCC diagnostic {push|pop}" -#if (CRYPTOPP_GCC_VERSION >= 40600) || (CRYPTOPP_CLANG_VERSION >= 10700) +// Need GCC 4.6/Clang 1.7/Apple Clang 2.0 or above due to "GCC diagnostic {push|pop}" +#if (CRYPTOPP_GCC_VERSION >= 40600) || (CRYPTOPP_CLANG_VERSION >= 10700) || (CRYPTOPP_APPLE_CLANG_VERSION >= 20000) #define CRYPTOPP_GCC_DIAGNOSTIC_AVAILABLE 1 #endif -// Detect availabliltiy of int128_t and uint128_t in preprocessor, http://gcc.gnu.org/ml/gcc-help/2015-08/msg00185.html. -// Both GCC and Clang respond to it. -#if ((defined(__GNUC__) || defined(__clang__) || defined(_INTEL_COMPILER)) && (__SIZEOF_INT128__ >= 16)) - #define CRYPTOPP_NATIVE_DWORD_AVAILABLE - #define CRYPTOPP_WORD128_AVAILABLE - typedef word32 hword; - typedef word64 word; - typedef __uint128_t dword; - typedef __uint128_t word128; +// Clang due to "Inline assembly operands don't work with .intel_syntax", http://llvm.org/bugs/show_bug.cgi?id=24232 +// TODO: supply the upper version when LLVM fixes it. We set it to 20.0 for compilation purposes. +#if (defined(CRYPTOPP_CLANG_VERSION) && CRYPTOPP_CLANG_VERSION <= 200000) || (defined(CRYPTOPP_APPLE_CLANG_VERSION) && CRYPTOPP_APPLE_CLANG_VERSION <= 200000) + #define CRYPTOPP_DISABLE_INTEL_ASM 1 +#endif // define hword, word, and dword. these are used for multiprecision integer arithmetic // Intel compiler won't have _umul128 until version 10.0. See http://softwarecommunity.intel.com/isn/Community/en-US/forums/thread/30231625.aspx -#elif (defined(_MSC_VER) && (!defined(__INTEL_COMPILER) || __INTEL_COMPILER >= 1000) && (defined(_M_X64) || defined(_M_IA64))) || (defined(__DECCXX) && defined(__alpha__)) || (defined(__INTEL_COMPILER) && defined(__x86_64__)) || (defined(__SUNPRO_CC) && defined(__x86_64__)) +#if (defined(_MSC_VER) && (!defined(__INTEL_COMPILER) || __INTEL_COMPILER >= 1000) && (defined(_M_X64) || defined(_M_IA64))) || (defined(__DECCXX) && defined(__alpha__)) || (defined(__INTEL_COMPILER) && (__INTEL_COMPILER < 1000) && defined(__x86_64__)) || (defined(__SUNPRO_CC) && defined(__x86_64__)) typedef word32 hword; typedef word64 word; #else @@ -214,12 +229,26 @@ const lword LWORD_MAX = W64LIT(0xffffffffffffffff); typedef word64 word; typedef __uint128_t dword; typedef __uint128_t word128; + #elif defined(__GNUC__) && (__SIZEOF_INT128__ >= 16) + // Detect availabliltiy of int128_t and uint128_t in preprocessor, http://gcc.gnu.org/ml/gcc-help/2015-08/msg00185.html. + #define CRYPTOPP_WORD128_AVAILABLE + typedef word32 hword; + typedef word64 word; + typedef __uint128_t dword; + typedef __uint128_t word128; #else // if we're here, it means we're on a 64-bit CPU but we don't have a way to obtain 128-bit multiplication results typedef word16 hword; typedef word32 word; typedef word64 dword; #endif + #elif defined(__GNUC__) && (__SIZEOF_INT128__ >= 16) + // Detect availabliltiy of int128_t and uint128_t in preprocessor, http://gcc.gnu.org/ml/gcc-help/2015-08/msg00185.html. + #define CRYPTOPP_WORD128_AVAILABLE + typedef word32 hword; + typedef word64 word; + typedef __uint128_t dword; + typedef __uint128_t word128; #else // being here means the native register size is probably 32 bits or less #define CRYPTOPP_BOOL_SLOW_WORD64 1 @@ -233,7 +262,7 @@ const lword LWORD_MAX = W64LIT(0xffffffffffffffff); #endif // Produce a compiler error. It can be commented out, but you may not get the benefit of the fastest integers. -#if (__SIZEOF_INT128__ >= 16) && !defined(CRYPTOPP_WORD128_AVAILABLE) +#if (__SIZEOF_INT128__ >= 16) && !defined(CRYPTOPP_WORD128_AVAILABLE) && !defined(__aarch64__) # error "An int128_t and uint128_t are available, but CRYPTOPP_WORD128_AVAILABLE is not defined" #endif @@ -351,6 +380,11 @@ NAMESPACE_END #define CRYPTOPP_DISABLE_ASM #define CRYPTOPP_DISABLE_SSE2 #endif + +// Apple's Clang prior to 5.0 cannot handle SSE2 (and Apple does not use LLVM Clang numbering...) +#if defined(CRYPTOPP_APPLE_CLANG_VERSION) && (CRYPTOPP_APPLE_CLANG_VERSION < 50000) +# define CRYPTOPP_DISABLE_ASM +#endif #if !defined(CRYPTOPP_DISABLE_ASM) && ((defined(_MSC_VER) && defined(_M_IX86)) || (defined(__GNUC__) && (defined(__i386__) || defined(__x86_64__)))) // C++Builder 2010 does not allow "call label" where label is defined within inline assembly @@ -380,7 +414,7 @@ NAMESPACE_END #define CRYPTOPP_X64_ASM_AVAILABLE #endif -#if !defined(CRYPTOPP_DISABLE_SSE2) && (defined(CRYPTOPP_MSVC6PP_OR_LATER) || defined(__SSE2__) || defined(__AES__)) +#if !defined(CRYPTOPP_DISABLE_SSE2) && (defined(CRYPTOPP_MSVC6PP_OR_LATER) || defined(__SSE2__)) #define CRYPTOPP_BOOL_SSE2_INTRINSICS_AVAILABLE 1 #else #define CRYPTOPP_BOOL_SSE2_INTRINSICS_AVAILABLE 0 @@ -401,6 +435,8 @@ NAMESPACE_END // how to allocate 16-byte aligned memory (for SSE2) #if defined(CRYPTOPP_MSVC6PP_OR_LATER) #define CRYPTOPP_MM_MALLOC_AVAILABLE +#elif defined(__APPLE__) + #define CRYPTOPP_APPLE_MALLOC_AVAILABLE #elif defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__) #define CRYPTOPP_MALLOC_ALIGNMENT_IS_16 #elif defined(__linux__) || defined(__sun__) || defined(__CYGWIN__) @@ -408,6 +444,9 @@ NAMESPACE_END #else #define CRYPTOPP_NO_ALIGNED_ALLOC #endif + +// Apple always provides 16-byte aligned, and tells us to use calloc +// http://developer.apple.com/library/mac/documentation/Performance/Conceptual/ManagingMemory/Articles/MemoryAlloc.html // how to disable inlining #if defined(_MSC_VER) && _MSC_VER >= 1300 @@ -462,13 +501,6 @@ NAMESPACE_END #endif #endif -// For use in template parameters; also see CRYPTOPP_BOOL_ALIGN16 for MMX and above. -#if defined(CRYPTOPP_ALLOW_UNALIGNED_DATA_ACCESS) - #define CRYPTOPP_BOOL_ALIGN 0 -#else - #define CRYPTOPP_BOOL_ALIGN 1 -#endif - // ***************** determine availability of OS features ******************** #ifndef NO_OS_DEPENDENCE @@ -547,7 +579,7 @@ NAMESPACE_END #define CRYPTOPP_API __cdecl -#else // CRYPTOPP_WIN32_AVAILABLE +#else // not CRYPTOPP_WIN32_AVAILABLE #define CRYPTOPP_DLL #define CRYPTOPP_API @@ -583,12 +615,14 @@ NAMESPACE_END #endif // ************** Unused variable *************** -// Portable way to suppress warning + +// Portable way to suppress warnings. +// Moved from misc.h due to circular depenedencies. #define CRYPTOPP_UNUSED(x) ((void)x) // ***************** C++11 related ******************** -// Visual Studio and C++11 language features began at Visual Studio 2010, http://msdn.microsoft.com/en-us/library/hh567368%28v=vs.110%29.aspx. +// Visual Studio began at VS2010, http://msdn.microsoft.com/en-us/library/hh567368%28v=vs.110%29.aspx. // Intel and C++11 language features, http://software.intel.com/en-us/articles/c0x-features-supported-by-intel-c-compiler // GCC and C++11 language features, http://gcc.gnu.org/projects/cxx0x.html // Clang and C++11 language features, http://clang.llvm.org/cxx_status.html @@ -601,8 +635,8 @@ NAMESPACE_END // way. However, modern standard libraries have , so we test for it instead. // Thanks to Jonathan Wakely for devising the clever test for modern/ancient versions. // TODO: test under Xcode 3, where g++ is really g++. -#if defined(__clang__) -# if !(__has_include()) +#if defined(__APPLE__) && defined(__clang__) +# if !(defined(__has_include) && __has_include()) # undef CRYPTOPP_CXX11 # endif #endif @@ -610,18 +644,22 @@ NAMESPACE_END // C++11 or C++14 is available #if defined(CRYPTOPP_CXX11) -// alignof/alignas: MS at VS2013 (18.00); GCC at 4.8; Clang at 3.3; and Intel 15.0. -#if (CRYPTOPP_MSC_VERSION >= 1800) +// alignof/alignas: MS at VS2013 (19.00); GCC at 4.8; Clang at 3.3; and Intel 15.0. +#if (CRYPTOPP_MSC_VERSION >= 1900) +# define CRYPTOPP_CXX11_ALIGNAS 1 # define CRYPTOPP_CXX11_ALIGNOF 1 #elif defined(__INTEL_COMPILER) && (__INTEL_COMPILER >= 1500) +# define CRYPTOPP_CXX11_ALIGNAS 1 # define CRYPTOPP_CXX11_ALIGNOF 1 #elif defined(__clang__) # if __has_feature(cxx_alignof) -# define CRYPTOPP_CXX11_ALIGNOF 1 +# define CRYPTOPP_CXX11_ALIGNAS 1 +# define CRYPTOPP_CXX11_ALIGNOF 1 # endif #elif (CRYPTOPP_GCC_VERSION >= 40800) +# define CRYPTOPP_CXX11_ALIGNAS 1 # define CRYPTOPP_CXX11_ALIGNOF 1 -#endif +#endif // alignof/alignas // noexcept: MS at VS2015 (19.00); GCC at 4.6; Clang at 3.0; and Intel 14.0. #if (CRYPTOPP_MSC_VERSION >= 1900) @@ -647,7 +685,7 @@ NAMESPACE_END # endif #elif (CRYPTOPP_GCC_VERSION >= 40300) # define CRYPTOPP_CXX11_VARIADIC_TEMPLATES 1 -#endif // noexcept compilers +#endif // variadic templates // TODO: Emplacement, R-values and Move semantics // Needed because we are catching warnings with GCC and MSC diff --git a/config.recommend b/config.recommend index 969e804c..eb7dbb58 100644 --- a/config.recommend +++ b/config.recommend @@ -1,622 +1,708 @@ -#ifndef CRYPTOPP_CONFIG_H -#define CRYPTOPP_CONFIG_H - -// ***************** Important Settings ******************** - -// define this if running on a big-endian CPU -#if !defined(IS_LITTLE_ENDIAN) && (defined(__BIG_ENDIAN__) || (defined(__s390__) || defined(__s390x__) || defined(__zarch__)) || defined(__sparc) || defined(__sparc__) || defined(__hppa__) || defined(__MIPSEB__) || defined(__ARMEB__) || (defined(__MWERKS__) && !defined(__INTEL__))) -# define IS_BIG_ENDIAN -#endif - -// define this if running on a little-endian CPU -// big endian will be assumed if IS_LITTLE_ENDIAN is not defined -#ifndef IS_BIG_ENDIAN -# define IS_LITTLE_ENDIAN -#endif - -// Sanity checks. Some processors have more than big-, little- and bi-endian modes. PDP mode, where order results in "4312", should -// raise red flags immediately. Additionally, mis-classified machines, like (previosuly) S/390, should raise red flags immediately. -#if defined(IS_BIG_ENDIAN) && defined(__GNUC__) && defined(__BYTE_ORDER__) && (__BYTE_ORDER__ != __ORDER_BIG_ENDIAN__) -# error "IS_BIG_ENDIAN is set, but __BYTE_ORDER__ does not equal __ORDER_BIG_ENDIAN__" -#endif -#if defined(IS_LITTLE_ENDIAN) && defined(__GNUC__) && defined(__BYTE_ORDER__) && (__BYTE_ORDER__ != __ORDER_LITTLE_ENDIAN__) -# error "IS_LITTLE_ENDIAN is set, but __BYTE_ORDER__ does not equal __ORDER_LITTLE_ENDIAN__" -#endif - -// define this if you want to disable all OS-dependent features, -// such as sockets and OS-provided random number generators -// #define NO_OS_DEPENDENCE - -// Define this to use features provided by Microsoft's CryptoAPI. -// Currently the only feature used is random number generation. -// This macro will be ignored if NO_OS_DEPENDENCE is defined. -#define USE_MS_CRYPTOAPI - -// Define this to ensure C/C++ standard compliance and respect for GCC aliasing rules and other alignment fodder. If you -// experience a break with GCC at -O3, you should try this first. Guard it in case its set on the command line (and it differs). -#ifndef CRYPTOPP_NO_UNALIGNED_DATA_ACCESS -# define CRYPTOPP_NO_UNALIGNED_DATA_ACCESS -#endif - -// ***************** Less Important Settings *************** - -// Library version -#define CRYPTOPP_VERSION 563 - -// define this to retain (as much as possible) old deprecated function and class names -// #define CRYPTOPP_MAINTAIN_BACKWARDS_COMPATIBILITY - -// define this to retain (as much as possible) ABI and binary compatibility with Crypto++ 5.6.2. -// Also see https://cryptopp.com/wiki/Config.h#Avoid_MAINTAIN_BACKWARDS_COMPATIBILITY -#if (CRYPTOPP_VERSION <= 600) -# if !defined(CRYPTOPP_NO_BACKWARDS_COMPATIBILITY_562) && !defined(CRYPTOPP_MAINTAIN_BACKWARDS_COMPATIBILITY_562) -// # define CRYPTOPP_MAINTAIN_BACKWARDS_COMPATIBILITY_562 -# endif -#endif - -// File system code to write to GZIP archive. -#define GZIP_OS_CODE 0 - -// Try this if your CPU has 256K internal cache or a slow multiply instruction -// and you want a (possibly) faster IDEA implementation using log tables -// #define IDEA_LARGECACHE - -// Define this if, for the linear congruential RNG, you want to use -// the original constants as specified in S.K. Park and K.W. Miller's -// CACM paper. -// #define LCRNG_ORIGINAL_NUMBERS - -// choose which style of sockets to wrap (mostly useful for cygwin which has both) -#define PREFER_BERKELEY_STYLE_SOCKETS -// #define PREFER_WINDOWS_STYLE_SOCKETS - -// set the name of Rijndael cipher, was "Rijndael" before version 5.3 -#define CRYPTOPP_RIJNDAEL_NAME "AES" - -// CRYPTOPP_INIT_PRIORITY attempts to manage initialization of C++ static objects. -// Under GCC, the library uses init_priority attribute in the range -// [CRYPTOPP_INIT_PRIORITY, CRYPTOPP_INIT_PRIORITY+100]. Under Windows, -// CRYPTOPP_INIT_PRIORITY enlists "#pragma init_seg(lib)". -#define CRYPTOPP_INIT_PRIORITY 250 - -// CRYPTOPP_USER_PRIORITY is for other libraries and user code that is using Crypto++ -// and managing C++ static object creation. It is guaranteed not to conflict with -// values used by (or would be used by) the Crypto++ library. -#if defined(CRYPTOPP_INIT_PRIORITY) && (CRYPTOPP_INIT_PRIORITY > 0) -# define CRYPTOPP_USER_PRIORITY (CRYPTOPP_INIT_PRIORITY + 101) -#else -# define CRYPTOPP_USER_PRIORITY 500 -#endif - -// ***************** Important Settings Again ******************** -// But the defaults should be ok. - -// namespace support is now required -#ifdef NO_NAMESPACE -# error namespace support is now required -#endif - -// Define this to workaround a Microsoft CryptoAPI bug where -// each call to CryptAcquireContext causes a 100 KB memory leak. -// Defining this will cause Crypto++ to make only one call to CryptAcquireContext. -#define WORKAROUND_MS_BUG_Q258000 - -#ifdef CRYPTOPP_DOXYGEN_PROCESSING -// Avoid putting "CryptoPP::" in front of everything in Doxygen output -# define CryptoPP -# define NAMESPACE_BEGIN(x) -# define NAMESPACE_END -// Get Doxygen to generate better documentation for these typedefs -# define DOCUMENTED_TYPEDEF(x, y) class y : public x {}; -#else -# define NAMESPACE_BEGIN(x) namespace x { -# define NAMESPACE_END } -# define DOCUMENTED_TYPEDEF(x, y) typedef x y; -#endif -#define ANONYMOUS_NAMESPACE_BEGIN namespace { -#define USING_NAMESPACE(x) using namespace x; -#define DOCUMENTED_NAMESPACE_BEGIN(x) namespace x { -#define DOCUMENTED_NAMESPACE_END } - -// What is the type of the third parameter to bind? -// For Unix, the new standard is ::socklen_t (typically unsigned int), and the old standard is int. -// Unfortunately there is no way to tell whether or not socklen_t is defined. -// To work around this, TYPE_OF_SOCKLEN_T is a macro so that you can change it from the makefile. -#ifndef TYPE_OF_SOCKLEN_T -# if defined(_WIN32) || defined(__CYGWIN__) -# define TYPE_OF_SOCKLEN_T int -# else -# define TYPE_OF_SOCKLEN_T ::socklen_t -# endif -#endif - -#if defined(__CYGWIN__) && defined(PREFER_WINDOWS_STYLE_SOCKETS) -# define __USE_W32_SOCKETS -#endif - -typedef unsigned char byte; // put in global namespace to avoid ambiguity with other byte typedefs - -NAMESPACE_BEGIN(CryptoPP) - -typedef unsigned short word16; -typedef unsigned int word32; - -#if defined(_MSC_VER) || defined(__BORLANDC__) - typedef unsigned __int64 word64; - #define W64LIT(x) x##ui64 -#else - typedef unsigned long long word64; - #define W64LIT(x) x##ULL -#endif - -// define large word type, used for file offsets and such -typedef word64 lword; -const lword LWORD_MAX = W64LIT(0xffffffffffffffff); - -#ifdef __GNUC__ - #define CRYPTOPP_GCC_VERSION (__GNUC__ * 10000 + __GNUC_MINOR__ * 100 + __GNUC_PATCHLEVEL__) -#endif - -#ifdef __clang__ - #define CRYPTOPP_CLANG_VERSION (__clang_major__ * 10000 + __clang_minor__ * 100 + __clang_patchlevel__) -#endif - -#ifdef _MSC_VER - #define CRYPTOPP_MSC_VERSION (_MSC_VER) -#endif - -// Need GCC 4.6/Clang 1.7 or above due to "GCC diagnostic {push|pop}" -#if (CRYPTOPP_GCC_VERSION >= 40600) || (CRYPTOPP_CLANG_VERSION >= 10700) - #define CRYPTOPP_GCC_DIAGNOSTIC_AVAILABLE 1 -#endif - -// Detect availabliltiy of int128_t and uint128_t in preprocessor, http://gcc.gnu.org/ml/gcc-help/2015-08/msg00185.html. -// Both GCC and Clang respond to it. -#if ((defined(__GNUC__) || defined(__clang__) || defined(_INTEL_COMPILER)) && (__SIZEOF_INT128__ >= 16)) - #define CRYPTOPP_NATIVE_DWORD_AVAILABLE - #define CRYPTOPP_WORD128_AVAILABLE - typedef word32 hword; - typedef word64 word; - typedef __uint128_t dword; - typedef __uint128_t word128; - -// define hword, word, and dword. these are used for multiprecision integer arithmetic -// Intel compiler won't have _umul128 until version 10.0. See http://softwarecommunity.intel.com/isn/Community/en-US/forums/thread/30231625.aspx -#elif (defined(_MSC_VER) && (!defined(__INTEL_COMPILER) || __INTEL_COMPILER >= 1000) && (defined(_M_X64) || defined(_M_IA64))) || (defined(__DECCXX) && defined(__alpha__)) || (defined(__INTEL_COMPILER) && defined(__x86_64__)) || (defined(__SUNPRO_CC) && defined(__x86_64__)) - typedef word32 hword; - typedef word64 word; -#else - #define CRYPTOPP_NATIVE_DWORD_AVAILABLE - #if defined(__alpha__) || defined(__ia64__) || defined(_ARCH_PPC64) || defined(__x86_64__) || defined(__mips64) || defined(__sparc64__) - #if defined(__GNUC__) && !defined(__INTEL_COMPILER) && !(CRYPTOPP_GCC_VERSION == 40001 && defined(__APPLE__)) && (CRYPTOPP_GCC_VERSION >= 30400) - // GCC 4.0.1 on MacOS X is missing __umodti3 and __udivti3 - // mode(TI) division broken on amd64 with GCC earlier than GCC 3.4 - #define CRYPTOPP_WORD128_AVAILABLE - typedef word32 hword; - typedef word64 word; - typedef __uint128_t dword; - typedef __uint128_t word128; - #else - // if we're here, it means we're on a 64-bit CPU but we don't have a way to obtain 128-bit multiplication results - typedef word16 hword; - typedef word32 word; - typedef word64 dword; - #endif - #else - // being here means the native register size is probably 32 bits or less - #define CRYPTOPP_BOOL_SLOW_WORD64 1 - typedef word16 hword; - typedef word32 word; - typedef word64 dword; - #endif -#endif -#ifndef CRYPTOPP_BOOL_SLOW_WORD64 - #define CRYPTOPP_BOOL_SLOW_WORD64 0 -#endif - -// Produce a compiler error. It can be commented out, but you may not get the benefit of the fastest integers. -#if (__SIZEOF_INT128__ >= 16) && !defined(CRYPTOPP_WORD128_AVAILABLE) -# error "An int128_t and uint128_t are available, but CRYPTOPP_WORD128_AVAILABLE is not defined" -#endif - -const unsigned int WORD_SIZE = sizeof(word); -const unsigned int WORD_BITS = WORD_SIZE * 8; - -NAMESPACE_END - -#ifndef CRYPTOPP_L1_CACHE_LINE_SIZE - // This should be a lower bound on the L1 cache line size. It's used for defense against timing attacks. - // Also see http://stackoverflow.com/questions/794632/programmatically-get-the-cache-line-size. - #if defined(_M_X64) || defined(__x86_64__) || (__ILP32__ >= 1) - #define CRYPTOPP_L1_CACHE_LINE_SIZE 64 - #else - // L1 cache line size is 32 on Pentium III and earlier - #define CRYPTOPP_L1_CACHE_LINE_SIZE 32 - #endif -#endif - -#if defined(_MSC_VER) - #if _MSC_VER == 1200 - #include - #endif - #if _MSC_VER > 1200 || defined(_mm_free) - #define CRYPTOPP_MSVC6PP_OR_LATER // VC 6 processor pack or later - #else - #define CRYPTOPP_MSVC6_NO_PP // VC 6 without processor pack - #endif -#endif - -#ifndef CRYPTOPP_ALIGN_DATA - #if defined(CRYPTOPP_MSVC6PP_OR_LATER) - #define CRYPTOPP_ALIGN_DATA(x) __declspec(align(x)) - #elif defined(__GNUC__) - #define CRYPTOPP_ALIGN_DATA(x) __attribute__((aligned(x))) - #else - #define CRYPTOPP_ALIGN_DATA(x) - #endif -#endif - -#ifndef CRYPTOPP_SECTION_ALIGN16 -#if defined(__GNUC__) && !defined(__APPLE__) - // the alignment attribute doesn't seem to work without this section attribute when -fdata-sections is turned on - #define CRYPTOPP_SECTION_ALIGN16 __attribute__((section ("CryptoPP_Align16"))) - #else - #define CRYPTOPP_SECTION_ALIGN16 - #endif -#endif - -#if defined(_MSC_VER) || defined(__fastcall) - #define CRYPTOPP_FASTCALL __fastcall -#else - #define CRYPTOPP_FASTCALL -#endif - -// VC60 workaround: it doesn't allow typename in some places -#if defined(_MSC_VER) && (_MSC_VER < 1300) -#define CPP_TYPENAME -#else -#define CPP_TYPENAME typename -#endif - -// VC60 workaround: can't cast unsigned __int64 to float or double -#if defined(_MSC_VER) && !defined(CRYPTOPP_MSVC6PP_OR_LATER) -#define CRYPTOPP_VC6_INT64 (__int64) -#else -#define CRYPTOPP_VC6_INT64 -#endif - -#ifdef _MSC_VER -#define CRYPTOPP_NO_VTABLE __declspec(novtable) -#else -#define CRYPTOPP_NO_VTABLE -#endif - -#ifdef _MSC_VER - // 4127: conditional expression is constant - // 4231: nonstandard extension used : 'extern' before template explicit instantiation - // 4250: dominance - // 4251: member needs to have dll-interface - // 4275: base needs to have dll-interface - // 4505: unreferenced local function - // 4512: assignment operator not generated - // 4660: explicitly instantiating a class that's already implicitly instantiated - // 4661: no suitable definition provided for explicit template instantiation request - // 4786: identifer was truncated in debug information - // 4355: 'this' : used in base member initializer list - // 4910: '__declspec(dllexport)' and 'extern' are incompatible on an explicit instantiation -# pragma warning(disable: 4127 4231 4250 4251 4275 4505 4512 4660 4661 4786 4355 4910) - // Security related, possible defects - // http://blogs.msdn.com/b/vcblog/archive/2010/12/14/off-by-default-compiler-warnings-in-visual-c.aspx -# pragma warning(once: 4191 4242 4263 4264 4266 4302 4826 4905 4906 4928) -#endif - -#ifdef __BORLANDC__ -// 8037: non-const function called for const object. needed to work around BCB2006 bug -# pragma warn -8037 -#endif - -// [GCC Bug 53431] "C++ preprocessor ignores #pragma GCC diagnostic". Clang honors it. -#if CRYPTOPP_GCC_DIAGNOSTIC_AVAILABLE -# pragma GCC diagnostic ignored "-Wunknown-pragmas" -# pragma GCC diagnostic ignored "-Wunused-function" -#endif - -#if (defined(_MSC_VER) && _MSC_VER <= 1300) || defined(__MWERKS__) || defined(_STLPORT_VERSION) -#define CRYPTOPP_DISABLE_UNCAUGHT_EXCEPTION -#endif - -#ifndef CRYPTOPP_DISABLE_UNCAUGHT_EXCEPTION -#define CRYPTOPP_UNCAUGHT_EXCEPTION_AVAILABLE -#endif - -#ifdef CRYPTOPP_DISABLE_X86ASM // for backwards compatibility: this macro had both meanings -#define CRYPTOPP_DISABLE_ASM -#define CRYPTOPP_DISABLE_SSE2 -#endif - -#if !defined(CRYPTOPP_DISABLE_ASM) && ((defined(_MSC_VER) && defined(_M_IX86)) || (defined(__GNUC__) && (defined(__i386__) || defined(__x86_64__)))) - // C++Builder 2010 does not allow "call label" where label is defined within inline assembly - #define CRYPTOPP_X86_ASM_AVAILABLE - - #if !defined(CRYPTOPP_DISABLE_SSE2) && (defined(CRYPTOPP_MSVC6PP_OR_LATER) || CRYPTOPP_GCC_VERSION >= 30300 || defined(__SSE2__)) - #define CRYPTOPP_BOOL_SSE2_ASM_AVAILABLE 1 - #else - #define CRYPTOPP_BOOL_SSE2_ASM_AVAILABLE 0 - #endif - - // SSE3 was actually introduced in GNU as 2.17, which was released 6/23/2006, but we can't tell what version of binutils is installed. - // GCC 4.1.2 was released on 2/13/2007, so we'll use that as a proxy for the binutils version. Also see the output of - // `gcc -dM -E -march=native - < /dev/null | grep -i SSE` for preprocessor defines available. - #if !defined(CRYPTOPP_DISABLE_SSSE3) && (_MSC_VER >= 1400 || CRYPTOPP_GCC_VERSION >= 40102 || defined(__SSSE3__) || defined(__SSE3__)) - #define CRYPTOPP_BOOL_SSSE3_ASM_AVAILABLE 1 - #else - #define CRYPTOPP_BOOL_SSSE3_ASM_AVAILABLE 0 - #endif -#endif - -#if !defined(CRYPTOPP_DISABLE_ASM) && defined(_MSC_VER) && defined(_M_X64) - #define CRYPTOPP_X64_MASM_AVAILABLE -#endif - -#if !defined(CRYPTOPP_DISABLE_ASM) && defined(__GNUC__) && defined(__x86_64__) - #define CRYPTOPP_X64_ASM_AVAILABLE -#endif - -#if !defined(CRYPTOPP_DISABLE_SSE2) && (defined(CRYPTOPP_MSVC6PP_OR_LATER) || defined(__SSE2__) || defined(__AES__)) - #define CRYPTOPP_BOOL_SSE2_INTRINSICS_AVAILABLE 1 -#else - #define CRYPTOPP_BOOL_SSE2_INTRINSICS_AVAILABLE 0 -#endif - -#if !defined(CRYPTOPP_DISABLE_SSSE3) && !defined(CRYPTOPP_DISABLE_AESNI) && CRYPTOPP_BOOL_SSE2_INTRINSICS_AVAILABLE && (CRYPTOPP_GCC_VERSION >= 40400 || _MSC_FULL_VER >= 150030729 || __INTEL_COMPILER >= 1110 || defined(__AES__)) - #define CRYPTOPP_BOOL_AESNI_INTRINSICS_AVAILABLE 1 -#else - #define CRYPTOPP_BOOL_AESNI_INTRINSICS_AVAILABLE 0 -#endif - -#if CRYPTOPP_BOOL_SSE2_INTRINSICS_AVAILABLE || CRYPTOPP_BOOL_SSE2_ASM_AVAILABLE || defined(CRYPTOPP_X64_MASM_AVAILABLE) - #define CRYPTOPP_BOOL_ALIGN16 1 -#else - #define CRYPTOPP_BOOL_ALIGN16 0 -#endif - -// how to allocate 16-byte aligned memory (for SSE2) -#if defined(CRYPTOPP_MSVC6PP_OR_LATER) - #define CRYPTOPP_MM_MALLOC_AVAILABLE -#elif defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__) - #define CRYPTOPP_MALLOC_ALIGNMENT_IS_16 -#elif defined(__linux__) || defined(__sun__) || defined(__CYGWIN__) - #define CRYPTOPP_MEMALIGN_AVAILABLE -#else - #define CRYPTOPP_NO_ALIGNED_ALLOC -#endif - -// how to disable inlining -#if defined(_MSC_VER) && _MSC_VER >= 1300 -# define CRYPTOPP_NOINLINE_DOTDOTDOT -# define CRYPTOPP_NOINLINE __declspec(noinline) -#elif defined(__GNUC__) -# define CRYPTOPP_NOINLINE_DOTDOTDOT -# define CRYPTOPP_NOINLINE __attribute__((noinline)) -#else -# define CRYPTOPP_NOINLINE_DOTDOTDOT ... -# define CRYPTOPP_NOINLINE -#endif - -// how to declare class constants -#if (defined(_MSC_VER) && _MSC_VER <= 1300) || defined(__INTEL_COMPILER) -# define CRYPTOPP_CONSTANT(x) enum {x}; -#else -# define CRYPTOPP_CONSTANT(x) static const int x; -#endif - -// Linux provides X32, which is 32-bit integers, longs and pointers on x86_64 using the full x86_64 register set. -// Detect via __ILP32__ (http://wiki.debian.org/X32Port). Both GCC and Clang provide the preprocessor macro. -#if ((__ILP32__ >= 1) || (_ILP32 >= 1)) - #define CRYPTOPP_BOOL_X32 1 -#else - #define CRYPTOPP_BOOL_X32 0 -#endif - -// see http://predef.sourceforge.net/prearch.html -#if (defined(_M_IX86) || defined(__i386__) || defined(__i386) || defined(_X86_) || defined(__I86__) || defined(__INTEL__)) && !CRYPTOPP_BOOL_X32 - #define CRYPTOPP_BOOL_X86 1 -#else - #define CRYPTOPP_BOOL_X86 0 -#endif - -#if (defined(_M_X64) || defined(__x86_64__)) && !CRYPTOPP_BOOL_X32 - #define CRYPTOPP_BOOL_X64 1 -#else - #define CRYPTOPP_BOOL_X64 0 -#endif - -// Undo the ASM and Intrinsic related defines due to X32. -#if CRYPTOPP_BOOL_X32 -# undef CRYPTOPP_BOOL_X64 -# undef CRYPTOPP_X64_ASM_AVAILABLE -# undef CRYPTOPP_X64_MASM_AVAILABLE -#endif - -#if !defined(CRYPTOPP_NO_UNALIGNED_DATA_ACCESS) && !defined(CRYPTOPP_ALLOW_UNALIGNED_DATA_ACCESS) -#if (CRYPTOPP_BOOL_X64 || CRYPTOPP_BOOL_X86 || CRYPTOPP_BOOL_X32 || defined(__powerpc__) || (__ARM_FEATURE_UNALIGNED >= 1)) - #define CRYPTOPP_ALLOW_UNALIGNED_DATA_ACCESS -#endif -#endif - -// For use in template parameters; also see CRYPTOPP_BOOL_ALIGN16_ENABLED. -#if defined(CRYPTOPP_ALLOW_UNALIGNED_DATA_ACCESS) - #define CRYPTOPP_BOOL_ALIGN 0 -#else - #define CRYPTOPP_BOOL_ALIGN 1 -#endif - -// ***************** determine availability of OS features ******************** - -#ifndef NO_OS_DEPENDENCE - -#if defined(_WIN32) || defined(__CYGWIN__) -#define CRYPTOPP_WIN32_AVAILABLE -#endif - -#if defined(__unix__) || defined(__MACH__) || defined(__NetBSD__) || defined(__sun) -#define CRYPTOPP_UNIX_AVAILABLE -#endif - -#if defined(CRYPTOPP_WIN32_AVAILABLE) || defined(CRYPTOPP_UNIX_AVAILABLE) -# define HIGHRES_TIMER_AVAILABLE -#endif - -#ifdef CRYPTOPP_UNIX_AVAILABLE -# define HAS_BERKELEY_STYLE_SOCKETS -#endif - -#ifdef CRYPTOPP_WIN32_AVAILABLE -# define HAS_WINDOWS_STYLE_SOCKETS -#endif - -#if defined(HIGHRES_TIMER_AVAILABLE) && (defined(HAS_BERKELEY_STYLE_SOCKETS) || defined(HAS_WINDOWS_STYLE_SOCKETS)) -# define SOCKETS_AVAILABLE -#endif - -#if defined(HAS_WINDOWS_STYLE_SOCKETS) && (!defined(HAS_BERKELEY_STYLE_SOCKETS) || defined(PREFER_WINDOWS_STYLE_SOCKETS)) -# define USE_WINDOWS_STYLE_SOCKETS -#else -# define USE_BERKELEY_STYLE_SOCKETS -#endif - -#if defined(HIGHRES_TIMER_AVAILABLE) && defined(CRYPTOPP_WIN32_AVAILABLE) && !defined(USE_BERKELEY_STYLE_SOCKETS) -# define WINDOWS_PIPES_AVAILABLE -#endif - -#if defined(CRYPTOPP_WIN32_AVAILABLE) && defined(USE_MS_CRYPTOAPI) -# define NONBLOCKING_RNG_AVAILABLE -# define OS_RNG_AVAILABLE -#endif - -#if defined(CRYPTOPP_UNIX_AVAILABLE) || defined(CRYPTOPP_DOXYGEN_PROCESSING) -# define NONBLOCKING_RNG_AVAILABLE -# define BLOCKING_RNG_AVAILABLE -# define OS_RNG_AVAILABLE -# define HAS_PTHREADS -# define THREADS_AVAILABLE -#endif - -#ifdef CRYPTOPP_WIN32_AVAILABLE -# define HAS_WINTHREADS -# define THREADS_AVAILABLE -#endif - -#endif // NO_OS_DEPENDENCE - -// ***************** DLL related ******************** - -#if defined(CRYPTOPP_WIN32_AVAILABLE) && !defined(CRYPTOPP_DOXYGEN_PROCESSING) - -#ifdef CRYPTOPP_EXPORTS -#define CRYPTOPP_IS_DLL -#define CRYPTOPP_DLL __declspec(dllexport) -#elif defined(CRYPTOPP_IMPORTS) -#define CRYPTOPP_IS_DLL -#define CRYPTOPP_DLL __declspec(dllimport) -#else -#define CRYPTOPP_DLL -#endif - -#define CRYPTOPP_API __cdecl - -#else // CRYPTOPP_WIN32_AVAILABLE - -#define CRYPTOPP_DLL -#define CRYPTOPP_API - -#endif // CRYPTOPP_WIN32_AVAILABLE - -#if defined(__MWERKS__) -#define CRYPTOPP_EXTERN_DLL_TEMPLATE_CLASS extern class CRYPTOPP_DLL -#elif defined(__BORLANDC__) || defined(__SUNPRO_CC) -#define CRYPTOPP_EXTERN_DLL_TEMPLATE_CLASS template class CRYPTOPP_DLL -#else -#define CRYPTOPP_EXTERN_DLL_TEMPLATE_CLASS extern template class CRYPTOPP_DLL -#endif - -#if defined(CRYPTOPP_MANUALLY_INSTANTIATE_TEMPLATES) && !defined(CRYPTOPP_IMPORTS) -#define CRYPTOPP_DLL_TEMPLATE_CLASS template class CRYPTOPP_DLL -#else -#define CRYPTOPP_DLL_TEMPLATE_CLASS CRYPTOPP_EXTERN_DLL_TEMPLATE_CLASS -#endif - -#if defined(__MWERKS__) -#define CRYPTOPP_EXTERN_STATIC_TEMPLATE_CLASS extern class -#elif defined(__BORLANDC__) || defined(__SUNPRO_CC) -#define CRYPTOPP_EXTERN_STATIC_TEMPLATE_CLASS template class -#else -#define CRYPTOPP_EXTERN_STATIC_TEMPLATE_CLASS extern template class -#endif - -#if defined(CRYPTOPP_MANUALLY_INSTANTIATE_TEMPLATES) && !defined(CRYPTOPP_EXPORTS) -#define CRYPTOPP_STATIC_TEMPLATE_CLASS template class -#else -#define CRYPTOPP_STATIC_TEMPLATE_CLASS CRYPTOPP_EXTERN_STATIC_TEMPLATE_CLASS -#endif - -// ************** Unused variable *************** -// Portable way to suppress warning -#define CRYPTOPP_UNUSED(x) ((void)x) - -// ***************** C++11 related ******************** - -// Visual Studio and C++11 language features began at Visual Studio 2010, https://msdn.microsoft.com/en-us/library/hh567368%28v=vs.110%29.aspx. -// Intel and C++11 language features, https://software.intel.com/en-us/articles/c0x-features-supported-by-intel-c-compiler -// GCC and C++11 language features, https://gcc.gnu.org/projects/cxx0x.html -// Clang and C++11 language features, http://clang.llvm.org/cxx_status.html -#if (_MSC_VER >= 1600) || (__cplusplus >= 201103L) -# define CRYPTOPP_CXX11 1 -#endif - -// Hack ahead. Apple's standard library does not have C++'s unique_ptr in C++11. We can't -// test for unique_ptr directly because some of the non-Apple Clangs on OS X fail the same -// way. However, modern standard libraries have , so we test for it instead. -// Thanks to Jonathan Wakely for devising the clever test for modern/ancient versions. -// TODO: test under Xcode 3, where g++ is really g++. -#if defined(__clang__) -# if !(__has_include()) -# undef CRYPTOPP_CXX11 -# endif -#endif - -// C++11 or C++14 is available -#if defined(CRYPTOPP_CXX11) - -// noexcept: MS at VS2015 (19.00); GCC at 4.6; Clang at 3.0; and Intel 14.0. -#if (_MSC_VER >= 1900) || (__INTEL_COMPILER >= 1400) -# define CRYPTOPP_CXX11_NOEXCEPT 1 -#elif defined(__clang__) -# if __has_feature(cxx_noexcept) -# define CRYPTOPP_CXX11_NOEXCEPT 1 -# endif -#elif (__GNUC__ >= 5 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 6)) -# define CRYPTOPP_CXX11_NOEXCEPT 1 -#endif // noexcept compilers - -#if defined(CRYPTOPP_CXX11_NOEXCEPT) -# define CRYPTOPP_THROW noexcept(false) -# define CRYPTOPP_NO_THROW noexcept(true) -#else -# define CRYPTOPP_THROW -# define CRYPTOPP_NO_THROW -#endif // CRYPTOPP_CXX11_NOEXCEPT - -#endif // CRYPTOPP_CXX11 - -#if !defined(CRYPTOPP_CXX11_NOEXCEPT) -# define CRYPTOPP_THROW -# define CRYPTOPP_NO_THROW -#endif - -// OK to comment the following out, but please report it so we can fix it. -#if (defined(__cplusplus) && (__cplusplus >= 199711L)) && !defined(CRYPTOPP_UNCAUGHT_EXCEPTION_AVAILABLE) -# error "std::uncaught_exception is not available. This is likely a configuration error." -#endif - -#endif +// config.h - written and placed in the public domain by Wei Dai + +//! \file config.h +//! \brief Library configuration file + +#ifndef CRYPTOPP_CONFIG_H +#define CRYPTOPP_CONFIG_H + +// ***************** Important Settings ******************** + +// define this if running on a big-endian CPU +#if !defined(IS_LITTLE_ENDIAN) && (defined(__BIG_ENDIAN__) || (defined(__s390__) || defined(__s390x__) || defined(__zarch__)) || defined(__sparc) || defined(__sparc__) || defined(__hppa__) || defined(__MIPSEB__) || defined(__ARMEB__) || (defined(__MWERKS__) && !defined(__INTEL__))) +# define IS_BIG_ENDIAN +#endif + +// define this if running on a little-endian CPU +// big endian will be assumed if IS_LITTLE_ENDIAN is not defined +#ifndef IS_BIG_ENDIAN +# define IS_LITTLE_ENDIAN +#endif + +// Sanity checks. Some processors have more than big-, little- and bi-endian modes. PDP mode, where order results in "4312", should +// raise red flags immediately. Additionally, mis-classified machines, like (previosuly) S/390, should raise red flags immediately. +#if defined(IS_BIG_ENDIAN) && defined(__GNUC__) && defined(__BYTE_ORDER__) && (__BYTE_ORDER__ != __ORDER_BIG_ENDIAN__) +# error "IS_BIG_ENDIAN is set, but __BYTE_ORDER__ does not equal __ORDER_BIG_ENDIAN__" +#endif +#if defined(IS_LITTLE_ENDIAN) && defined(__GNUC__) && defined(__BYTE_ORDER__) && (__BYTE_ORDER__ != __ORDER_LITTLE_ENDIAN__) +# error "IS_LITTLE_ENDIAN is set, but __BYTE_ORDER__ does not equal __ORDER_LITTLE_ENDIAN__" +#endif + +// define this if you want to disable all OS-dependent features, +// such as sockets and OS-provided random number generators +// #define NO_OS_DEPENDENCE + +// Define this to use features provided by Microsoft's CryptoAPI. +// Currently the only feature used is random number generation. +// This macro will be ignored if NO_OS_DEPENDENCE is defined. +#define USE_MS_CRYPTOAPI + +// Define this to ensure C/C++ standard compliance and respect for GCC aliasing rules and other alignment fodder. If you +// experience a break with GCC at -O3, you should try this first. Guard it in case its set on the command line (and it differs). +#ifndef CRYPTOPP_NO_UNALIGNED_DATA_ACCESS +# define CRYPTOPP_NO_UNALIGNED_DATA_ACCESS +#endif + +// ***************** Less Important Settings *************** + +// Library version +#define CRYPTOPP_VERSION 563 + +// define this to retain (as much as possible) old deprecated function and class names +// #define CRYPTOPP_MAINTAIN_BACKWARDS_COMPATIBILITY + +// define this to retain (as much as possible) ABI and binary compatibility with Crypto++ 5.6.2. +// Also see https://cryptopp.com/wiki/Config.h#Avoid_MAINTAIN_BACKWARDS_COMPATIBILITY +#if (CRYPTOPP_VERSION <= 600) +# if !defined(CRYPTOPP_NO_BACKWARDS_COMPATIBILITY_562) && !defined(CRYPTOPP_MAINTAIN_BACKWARDS_COMPATIBILITY_562) +// # define CRYPTOPP_MAINTAIN_BACKWARDS_COMPATIBILITY_562 +# endif +#endif + +// Define this if you want or need the library's memcpy_s and memmove_s. +// See http://github.com/weidai11/cryptopp/issues/28. +// #if !defined(CRYPTOPP_WANT_SECURE_LIB) +// # define CRYPTOPP_WANT_SECURE_LIB +// #endif + +// File system code to write to GZIP archive. +#if !defined(GZIP_OS_CODE) +# define GZIP_OS_CODE 0 +#endif + +// Try this if your CPU has 256K internal cache or a slow multiply instruction +// and you want a (possibly) faster IDEA implementation using log tables +// #define IDEA_LARGECACHE + +// Define this if, for the linear congruential RNG, you want to use +// the original constants as specified in S.K. Park and K.W. Miller's +// CACM paper. +// #define LCRNG_ORIGINAL_NUMBERS + +// choose which style of sockets to wrap (mostly useful for MinGW which has both) +#if !defined(NO_BERKELEY_STYLE_SOCKETS) && !defined(PREFER_BERKELEY_STYLE_SOCKETS) +# define PREFER_BERKELEY_STYLE_SOCKETS +#endif + +// #if !defined(NO_WINDOWS_STYLE_SOCKETS) && !defined(PREFER_WINDOWS_STYLE_SOCKETS) +// # define PREFER_WINDOWS_STYLE_SOCKETS +// #endif + +// set the name of Rijndael cipher, was "Rijndael" before version 5.3 +#define CRYPTOPP_RIJNDAEL_NAME "AES" + +// CRYPTOPP_INIT_PRIORITY attempts to manage initialization of C++ static objects. +// Under GCC, the library uses init_priority attribute in the range +// [CRYPTOPP_INIT_PRIORITY, CRYPTOPP_INIT_PRIORITY+100]. Under Windows, +// CRYPTOPP_INIT_PRIORITY enlists "#pragma init_seg(lib)". +#define CRYPTOPP_INIT_PRIORITY 250 + +// CRYPTOPP_USER_PRIORITY is for other libraries and user code that is using Crypto++ +// and managing C++ static object creation. It is guaranteed not to conflict with +// values used by (or would be used by) the Crypto++ library. +#if defined(CRYPTOPP_INIT_PRIORITY) && (CRYPTOPP_INIT_PRIORITY > 0) +# define CRYPTOPP_USER_PRIORITY (CRYPTOPP_INIT_PRIORITY + 101) +#else +# define CRYPTOPP_USER_PRIORITY 250 +#endif + +// ***************** Important Settings Again ******************** +// But the defaults should be ok. + +// namespace support is now required +#ifdef NO_NAMESPACE +# error namespace support is now required +#endif + +// Define this to workaround a Microsoft CryptoAPI bug where +// each call to CryptAcquireContext causes a 100 KB memory leak. +// Defining this will cause Crypto++ to make only one call to CryptAcquireContext. +#define WORKAROUND_MS_BUG_Q258000 + +#ifdef CRYPTOPP_DOXYGEN_PROCESSING +// Document the namespce exists. Put it here before CryptoPP is undefined below. +//! \namespace CryptoPP +//! \brief Crypto++ library namespace +//! \details Nearly all classes are located in the CryptoPP namespace. Within +//! the namespace, there are two additional namespaces. +//!
    +//!
  • Name - namespace for names used with \p NameValuePairs and documented in argnames.h +//!
  • Weak - namespace for weak and wounded algorithms, like ARC4, MD5 and Pananma +//!
+namespace CryptoPP { } +// Bring in the symbols fund in the weak namespace; and fold Weak1 into Weak +# define CRYPTOPP_ENABLE_NAMESPACE_WEAK 1 +# define Weak1 Weak +// Avoid putting "CryptoPP::" in front of everything in Doxygen output +# define CryptoPP +# define NAMESPACE_BEGIN(x) +# define NAMESPACE_END +// Get Doxygen to generate better documentation for these typedefs +# define DOCUMENTED_TYPEDEF(x, y) class y : public x {}; +// Make "protected" "private" so the functions and members are not documented +# define protected private +#else +# define NAMESPACE_BEGIN(x) namespace x { +# define NAMESPACE_END } +# define DOCUMENTED_TYPEDEF(x, y) typedef x y; +#endif +#define ANONYMOUS_NAMESPACE_BEGIN namespace { +#define ANONYMOUS_NAMESPACE_END } +#define USING_NAMESPACE(x) using namespace x; +#define DOCUMENTED_NAMESPACE_BEGIN(x) namespace x { +#define DOCUMENTED_NAMESPACE_END } + +// What is the type of the third parameter to bind? +// For Unix, the new standard is ::socklen_t (typically unsigned int), and the old standard is int. +// Unfortunately there is no way to tell whether or not socklen_t is defined. +// To work around this, TYPE_OF_SOCKLEN_T is a macro so that you can change it from the makefile. +#ifndef TYPE_OF_SOCKLEN_T +# if defined(_WIN32) || defined(__CYGWIN__) +# define TYPE_OF_SOCKLEN_T int +# else +# define TYPE_OF_SOCKLEN_T ::socklen_t +# endif +#endif + +#if defined(__CYGWIN__) && defined(PREFER_WINDOWS_STYLE_SOCKETS) +# define __USE_W32_SOCKETS +#endif + +typedef unsigned char byte; // put in global namespace to avoid ambiguity with other byte typedefs + +NAMESPACE_BEGIN(CryptoPP) + +typedef unsigned short word16; +typedef unsigned int word32; + +#if defined(_MSC_VER) || defined(__BORLANDC__) + typedef unsigned __int64 word64; + #define W64LIT(x) x##ui64 +#else + typedef unsigned long long word64; + #define W64LIT(x) x##ULL +#endif + +// define large word type, used for file offsets and such +typedef word64 lword; +const lword LWORD_MAX = W64LIT(0xffffffffffffffff); + +#ifdef __GNUC__ + #define CRYPTOPP_GCC_VERSION (__GNUC__ * 10000 + __GNUC_MINOR__ * 100 + __GNUC_PATCHLEVEL__) +#endif + +// Apple and LLVM's Clang. Apple Clang version 7.0 roughly equals LLVM Clang version 3.7 +#if defined(__clang__ ) && !defined(__apple_build_version__) + #define CRYPTOPP_CLANG_VERSION (__clang_major__ * 10000 + __clang_minor__ * 100 + __clang_patchlevel__) +#elif defined(__clang__ ) && defined(__apple_build_version__) + #define CRYPTOPP_APPLE_CLANG_VERSION (__clang_major__ * 10000 + __clang_minor__ * 100 + __clang_patchlevel__) +#endif + +#ifdef _MSC_VER + #define CRYPTOPP_MSC_VERSION (_MSC_VER) +#endif + +// Need GCC 4.6/Clang 1.7/Apple Clang 2.0 or above due to "GCC diagnostic {push|pop}" +#if (CRYPTOPP_GCC_VERSION >= 40600) || (CRYPTOPP_CLANG_VERSION >= 10700) || (CRYPTOPP_APPLE_CLANG_VERSION >= 20000) + #define CRYPTOPP_GCC_DIAGNOSTIC_AVAILABLE 1 +#endif + +// Clang due to "Inline assembly operands don't work with .intel_syntax", http://llvm.org/bugs/show_bug.cgi?id=24232 +// TODO: supply the upper version when LLVM fixes it. We set it to 20.0 for compilation purposes. +#if (defined(CRYPTOPP_CLANG_VERSION) && CRYPTOPP_CLANG_VERSION <= 200000) || (defined(CRYPTOPP_APPLE_CLANG_VERSION) && CRYPTOPP_APPLE_CLANG_VERSION <= 200000) + #define CRYPTOPP_DISABLE_INTEL_ASM 1 +#endif + +// define hword, word, and dword. these are used for multiprecision integer arithmetic +// Intel compiler won't have _umul128 until version 10.0. See http://softwarecommunity.intel.com/isn/Community/en-US/forums/thread/30231625.aspx +#if (defined(_MSC_VER) && (!defined(__INTEL_COMPILER) || __INTEL_COMPILER >= 1000) && (defined(_M_X64) || defined(_M_IA64))) || (defined(__DECCXX) && defined(__alpha__)) || (defined(__INTEL_COMPILER) && (__INTEL_COMPILER < 1000) && defined(__x86_64__)) || (defined(__SUNPRO_CC) && defined(__x86_64__)) + typedef word32 hword; + typedef word64 word; +#else + #define CRYPTOPP_NATIVE_DWORD_AVAILABLE + #if defined(__alpha__) || defined(__ia64__) || defined(_ARCH_PPC64) || defined(__x86_64__) || defined(__mips64) || defined(__sparc64__) + #if defined(__GNUC__) && !defined(__INTEL_COMPILER) && !(CRYPTOPP_GCC_VERSION == 40001 && defined(__APPLE__)) && (CRYPTOPP_GCC_VERSION >= 30400) + // GCC 4.0.1 on MacOS X is missing __umodti3 and __udivti3 + // mode(TI) division broken on amd64 with GCC earlier than GCC 3.4 + #define CRYPTOPP_WORD128_AVAILABLE + typedef word32 hword; + typedef word64 word; + typedef __uint128_t dword; + typedef __uint128_t word128; + #elif defined(__GNUC__) && (__SIZEOF_INT128__ >= 16) + // Detect availabliltiy of int128_t and uint128_t in preprocessor, http://gcc.gnu.org/ml/gcc-help/2015-08/msg00185.html. + #define CRYPTOPP_WORD128_AVAILABLE + typedef word32 hword; + typedef word64 word; + typedef __uint128_t dword; + typedef __uint128_t word128; + #else + // if we're here, it means we're on a 64-bit CPU but we don't have a way to obtain 128-bit multiplication results + typedef word16 hword; + typedef word32 word; + typedef word64 dword; + #endif + #elif defined(__GNUC__) && (__SIZEOF_INT128__ >= 16) + // Detect availabliltiy of int128_t and uint128_t in preprocessor, http://gcc.gnu.org/ml/gcc-help/2015-08/msg00185.html. + #define CRYPTOPP_WORD128_AVAILABLE + typedef word32 hword; + typedef word64 word; + typedef __uint128_t dword; + typedef __uint128_t word128; + #else + // being here means the native register size is probably 32 bits or less + #define CRYPTOPP_BOOL_SLOW_WORD64 1 + typedef word16 hword; + typedef word32 word; + typedef word64 dword; + #endif +#endif +#ifndef CRYPTOPP_BOOL_SLOW_WORD64 + #define CRYPTOPP_BOOL_SLOW_WORD64 0 +#endif + +// Produce a compiler error. It can be commented out, but you may not get the benefit of the fastest integers. +#if (__SIZEOF_INT128__ >= 16) && !defined(CRYPTOPP_WORD128_AVAILABLE) && !defined(__aarch64__) +# error "An int128_t and uint128_t are available, but CRYPTOPP_WORD128_AVAILABLE is not defined" +#endif + +const unsigned int WORD_SIZE = sizeof(word); +const unsigned int WORD_BITS = WORD_SIZE * 8; + +NAMESPACE_END + +#ifndef CRYPTOPP_L1_CACHE_LINE_SIZE + // This should be a lower bound on the L1 cache line size. It's used for defense against timing attacks. + // Also see http://stackoverflow.com/questions/794632/programmatically-get-the-cache-line-size. + #if defined(_M_X64) || defined(__x86_64__) || (__ILP32__ >= 1) + #define CRYPTOPP_L1_CACHE_LINE_SIZE 64 + #else + // L1 cache line size is 32 on Pentium III and earlier + #define CRYPTOPP_L1_CACHE_LINE_SIZE 32 + #endif +#endif + +#if defined(_MSC_VER) + #if _MSC_VER == 1200 + #include + #endif + #if _MSC_VER > 1200 || defined(_mm_free) + #define CRYPTOPP_MSVC6PP_OR_LATER // VC 6 processor pack or later + #else + #define CRYPTOPP_MSVC6_NO_PP // VC 6 without processor pack + #endif +#endif + +#ifndef CRYPTOPP_ALIGN_DATA + #if defined(CRYPTOPP_MSVC6PP_OR_LATER) + #define CRYPTOPP_ALIGN_DATA(x) __declspec(align(x)) + #elif defined(__GNUC__) + #define CRYPTOPP_ALIGN_DATA(x) __attribute__((aligned(x))) + #else + #define CRYPTOPP_ALIGN_DATA(x) + #endif +#endif + +#ifndef CRYPTOPP_SECTION_ALIGN16 +#if defined(__GNUC__) && !defined(__APPLE__) + // the alignment attribute doesn't seem to work without this section attribute when -fdata-sections is turned on + #define CRYPTOPP_SECTION_ALIGN16 __attribute__((section ("CryptoPP_Align16"))) + #else + #define CRYPTOPP_SECTION_ALIGN16 + #endif +#endif + +#if defined(_MSC_VER) || defined(__fastcall) + #define CRYPTOPP_FASTCALL __fastcall +#else + #define CRYPTOPP_FASTCALL +#endif + +// VC60 workaround: it doesn't allow typename in some places +#if defined(_MSC_VER) && (_MSC_VER < 1300) +#define CPP_TYPENAME +#else +#define CPP_TYPENAME typename +#endif + +// VC60 workaround: can't cast unsigned __int64 to float or double +#if defined(_MSC_VER) && !defined(CRYPTOPP_MSVC6PP_OR_LATER) +#define CRYPTOPP_VC6_INT64 (__int64) +#else +#define CRYPTOPP_VC6_INT64 +#endif + +#ifdef _MSC_VER +#define CRYPTOPP_NO_VTABLE __declspec(novtable) +#else +#define CRYPTOPP_NO_VTABLE +#endif + +#ifdef _MSC_VER + // 4127: conditional expression is constant + // 4231: nonstandard extension used : 'extern' before template explicit instantiation + // 4250: dominance + // 4251: member needs to have dll-interface + // 4275: base needs to have dll-interface + // 4505: unreferenced local function + // 4512: assignment operator not generated + // 4660: explicitly instantiating a class that's already implicitly instantiated + // 4661: no suitable definition provided for explicit template instantiation request + // 4786: identifer was truncated in debug information + // 4355: 'this' : used in base member initializer list + // 4910: '__declspec(dllexport)' and 'extern' are incompatible on an explicit instantiation +# pragma warning(disable: 4127 4231 4250 4251 4275 4505 4512 4660 4661 4786 4355 4910) + // Security related, possible defects + // http://blogs.msdn.com/b/vcblog/archive/2010/12/14/off-by-default-compiler-warnings-in-visual-c.aspx +# pragma warning(once: 4191 4242 4263 4264 4266 4302 4826 4905 4906 4928) +#endif + +#ifdef __BORLANDC__ +// 8037: non-const function called for const object. needed to work around BCB2006 bug +# pragma warn -8037 +#endif + +// [GCC Bug 53431] "C++ preprocessor ignores #pragma GCC diagnostic". Clang honors it. +#if CRYPTOPP_GCC_DIAGNOSTIC_AVAILABLE +# pragma GCC diagnostic ignored "-Wunknown-pragmas" +# pragma GCC diagnostic ignored "-Wunused-function" +#endif + +#if (defined(_MSC_VER) && _MSC_VER <= 1300) || defined(__MWERKS__) || defined(_STLPORT_VERSION) +#define CRYPTOPP_DISABLE_UNCAUGHT_EXCEPTION +#endif + +#ifndef CRYPTOPP_DISABLE_UNCAUGHT_EXCEPTION +#define CRYPTOPP_UNCAUGHT_EXCEPTION_AVAILABLE +#endif + +#ifdef CRYPTOPP_DISABLE_X86ASM // for backwards compatibility: this macro had both meanings +#define CRYPTOPP_DISABLE_ASM +#define CRYPTOPP_DISABLE_SSE2 +#endif + +// Apple's Clang prior to 5.0 cannot handle SSE2 (and Apple does not use LLVM Clang numbering...) +#if defined(CRYPTOPP_APPLE_CLANG_VERSION) && (CRYPTOPP_APPLE_CLANG_VERSION < 50000) +# define CRYPTOPP_DISABLE_ASM +#endif + +#if !defined(CRYPTOPP_DISABLE_ASM) && ((defined(_MSC_VER) && defined(_M_IX86)) || (defined(__GNUC__) && (defined(__i386__) || defined(__x86_64__)))) + // C++Builder 2010 does not allow "call label" where label is defined within inline assembly + #define CRYPTOPP_X86_ASM_AVAILABLE + + #if !defined(CRYPTOPP_DISABLE_SSE2) && (defined(CRYPTOPP_MSVC6PP_OR_LATER) || CRYPTOPP_GCC_VERSION >= 30300 || defined(__SSE2__)) + #define CRYPTOPP_BOOL_SSE2_ASM_AVAILABLE 1 + #else + #define CRYPTOPP_BOOL_SSE2_ASM_AVAILABLE 0 + #endif + + // SSE3 was actually introduced in GNU as 2.17, which was released 6/23/2006, but we can't tell what version of binutils is installed. + // GCC 4.1.2 was released on 2/13/2007, so we'll use that as a proxy for the binutils version. Also see the output of + // `gcc -dM -E -march=native - < /dev/null | grep -i SSE` for preprocessor defines available. + #if !defined(CRYPTOPP_DISABLE_SSSE3) && (_MSC_VER >= 1400 || CRYPTOPP_GCC_VERSION >= 40102 || defined(__SSSE3__) || defined(__SSE3__)) + #define CRYPTOPP_BOOL_SSSE3_ASM_AVAILABLE 1 + #else + #define CRYPTOPP_BOOL_SSSE3_ASM_AVAILABLE 0 + #endif +#endif + +#if !defined(CRYPTOPP_DISABLE_ASM) && defined(_MSC_VER) && defined(_M_X64) + #define CRYPTOPP_X64_MASM_AVAILABLE +#endif + +#if !defined(CRYPTOPP_DISABLE_ASM) && defined(__GNUC__) && defined(__x86_64__) + #define CRYPTOPP_X64_ASM_AVAILABLE +#endif + +#if !defined(CRYPTOPP_DISABLE_SSE2) && (defined(CRYPTOPP_MSVC6PP_OR_LATER) || defined(__SSE2__)) + #define CRYPTOPP_BOOL_SSE2_INTRINSICS_AVAILABLE 1 +#else + #define CRYPTOPP_BOOL_SSE2_INTRINSICS_AVAILABLE 0 +#endif + +#if !defined(CRYPTOPP_DISABLE_SSSE3) && !defined(CRYPTOPP_DISABLE_AESNI) && CRYPTOPP_BOOL_SSE2_INTRINSICS_AVAILABLE && (CRYPTOPP_GCC_VERSION >= 40400 || _MSC_FULL_VER >= 150030729 || __INTEL_COMPILER >= 1110 || defined(__AES__)) + #define CRYPTOPP_BOOL_AESNI_INTRINSICS_AVAILABLE 1 +#else + #define CRYPTOPP_BOOL_AESNI_INTRINSICS_AVAILABLE 0 +#endif + +#if CRYPTOPP_BOOL_SSE2_INTRINSICS_AVAILABLE || CRYPTOPP_BOOL_SSE2_ASM_AVAILABLE || defined(CRYPTOPP_X64_MASM_AVAILABLE) + #define CRYPTOPP_BOOL_ALIGN16 1 +#else + #define CRYPTOPP_BOOL_ALIGN16 0 +#endif + +// how to allocate 16-byte aligned memory (for SSE2) +#if defined(CRYPTOPP_MSVC6PP_OR_LATER) + #define CRYPTOPP_MM_MALLOC_AVAILABLE +#elif defined(__APPLE__) + #define CRYPTOPP_APPLE_MALLOC_AVAILABLE +#elif defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__) + #define CRYPTOPP_MALLOC_ALIGNMENT_IS_16 +#elif defined(__linux__) || defined(__sun__) || defined(__CYGWIN__) + #define CRYPTOPP_MEMALIGN_AVAILABLE +#else + #define CRYPTOPP_NO_ALIGNED_ALLOC +#endif + +// Apple always provides 16-byte aligned, and tells us to use calloc +// http://developer.apple.com/library/mac/documentation/Performance/Conceptual/ManagingMemory/Articles/MemoryAlloc.html + +// how to disable inlining +#if defined(_MSC_VER) && _MSC_VER >= 1300 +# define CRYPTOPP_NOINLINE_DOTDOTDOT +# define CRYPTOPP_NOINLINE __declspec(noinline) +#elif defined(__GNUC__) +# define CRYPTOPP_NOINLINE_DOTDOTDOT +# define CRYPTOPP_NOINLINE __attribute__((noinline)) +#else +# define CRYPTOPP_NOINLINE_DOTDOTDOT ... +# define CRYPTOPP_NOINLINE +#endif + +// how to declare class constants +#if (defined(_MSC_VER) && _MSC_VER <= 1300) || defined(__INTEL_COMPILER) +# define CRYPTOPP_CONSTANT(x) enum {x}; +#else +# define CRYPTOPP_CONSTANT(x) static const int x; +#endif + +// Linux provides X32, which is 32-bit integers, longs and pointers on x86_64 using the full x86_64 register set. +// Detect via __ILP32__ (http://wiki.debian.org/X32Port). Both GCC and Clang provide the preprocessor macro. +#if ((__ILP32__ >= 1) || (_ILP32 >= 1)) + #define CRYPTOPP_BOOL_X32 1 +#else + #define CRYPTOPP_BOOL_X32 0 +#endif + +// see http://predef.sourceforge.net/prearch.html +#if (defined(_M_IX86) || defined(__i386__) || defined(__i386) || defined(_X86_) || defined(__I86__) || defined(__INTEL__)) && !CRYPTOPP_BOOL_X32 + #define CRYPTOPP_BOOL_X86 1 +#else + #define CRYPTOPP_BOOL_X86 0 +#endif + +#if (defined(_M_X64) || defined(__x86_64__)) && !CRYPTOPP_BOOL_X32 + #define CRYPTOPP_BOOL_X64 1 +#else + #define CRYPTOPP_BOOL_X64 0 +#endif + +// Undo the ASM and Intrinsic related defines due to X32. +#if CRYPTOPP_BOOL_X32 +# undef CRYPTOPP_BOOL_X64 +# undef CRYPTOPP_X64_ASM_AVAILABLE +# undef CRYPTOPP_X64_MASM_AVAILABLE +#endif + +#if !defined(CRYPTOPP_NO_UNALIGNED_DATA_ACCESS) && !defined(CRYPTOPP_ALLOW_UNALIGNED_DATA_ACCESS) +#if (CRYPTOPP_BOOL_X64 || CRYPTOPP_BOOL_X86 || CRYPTOPP_BOOL_X32 || defined(__powerpc__) || (__ARM_FEATURE_UNALIGNED >= 1)) + #define CRYPTOPP_ALLOW_UNALIGNED_DATA_ACCESS +#endif +#endif + +// ***************** determine availability of OS features ******************** + +#ifndef NO_OS_DEPENDENCE + +#if defined(_WIN32) || defined(__CYGWIN__) +#define CRYPTOPP_WIN32_AVAILABLE +#endif + +#if defined(__unix__) || defined(__MACH__) || defined(__NetBSD__) || defined(__sun) +#define CRYPTOPP_UNIX_AVAILABLE +#endif + +#if defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__) +#define CRYPTOPP_BSD_AVAILABLE +#endif + +#if defined(CRYPTOPP_WIN32_AVAILABLE) || defined(CRYPTOPP_UNIX_AVAILABLE) +# define HIGHRES_TIMER_AVAILABLE +#endif + +#ifdef CRYPTOPP_UNIX_AVAILABLE +# define HAS_BERKELEY_STYLE_SOCKETS +#endif + +#ifdef CRYPTOPP_WIN32_AVAILABLE +# define HAS_WINDOWS_STYLE_SOCKETS +#endif + +#if defined(HIGHRES_TIMER_AVAILABLE) && (defined(HAS_BERKELEY_STYLE_SOCKETS) || defined(HAS_WINDOWS_STYLE_SOCKETS)) +# define SOCKETS_AVAILABLE +#endif + +#if defined(HAS_WINDOWS_STYLE_SOCKETS) && (!defined(HAS_BERKELEY_STYLE_SOCKETS) || defined(PREFER_WINDOWS_STYLE_SOCKETS)) +# define USE_WINDOWS_STYLE_SOCKETS +#else +# define USE_BERKELEY_STYLE_SOCKETS +#endif + +#if defined(HIGHRES_TIMER_AVAILABLE) && defined(CRYPTOPP_WIN32_AVAILABLE) && !defined(USE_BERKELEY_STYLE_SOCKETS) +# define WINDOWS_PIPES_AVAILABLE +#endif + +#if defined(CRYPTOPP_WIN32_AVAILABLE) && defined(USE_MS_CRYPTOAPI) +# define NONBLOCKING_RNG_AVAILABLE +# define OS_RNG_AVAILABLE +#endif + +#if defined(CRYPTOPP_UNIX_AVAILABLE) || defined(CRYPTOPP_DOXYGEN_PROCESSING) +# define NONBLOCKING_RNG_AVAILABLE +# define BLOCKING_RNG_AVAILABLE +# define OS_RNG_AVAILABLE +# define HAS_PTHREADS +# define THREADS_AVAILABLE +#endif + +#ifdef CRYPTOPP_WIN32_AVAILABLE +# define HAS_WINTHREADS +# define THREADS_AVAILABLE +#endif + +#endif // NO_OS_DEPENDENCE + +// ***************** DLL related ******************** + +#if defined(CRYPTOPP_WIN32_AVAILABLE) && !defined(CRYPTOPP_DOXYGEN_PROCESSING) + +#ifdef CRYPTOPP_EXPORTS +#define CRYPTOPP_IS_DLL +#define CRYPTOPP_DLL __declspec(dllexport) +#elif defined(CRYPTOPP_IMPORTS) +#define CRYPTOPP_IS_DLL +#define CRYPTOPP_DLL __declspec(dllimport) +#else +#define CRYPTOPP_DLL +#endif + +#define CRYPTOPP_API __cdecl + +#else // not CRYPTOPP_WIN32_AVAILABLE + +#define CRYPTOPP_DLL +#define CRYPTOPP_API + +#endif // CRYPTOPP_WIN32_AVAILABLE + +#if defined(__MWERKS__) +#define CRYPTOPP_EXTERN_DLL_TEMPLATE_CLASS extern class CRYPTOPP_DLL +#elif defined(__BORLANDC__) || defined(__SUNPRO_CC) +#define CRYPTOPP_EXTERN_DLL_TEMPLATE_CLASS template class CRYPTOPP_DLL +#else +#define CRYPTOPP_EXTERN_DLL_TEMPLATE_CLASS extern template class CRYPTOPP_DLL +#endif + +#if defined(CRYPTOPP_MANUALLY_INSTANTIATE_TEMPLATES) && !defined(CRYPTOPP_IMPORTS) +#define CRYPTOPP_DLL_TEMPLATE_CLASS template class CRYPTOPP_DLL +#else +#define CRYPTOPP_DLL_TEMPLATE_CLASS CRYPTOPP_EXTERN_DLL_TEMPLATE_CLASS +#endif + +#if defined(__MWERKS__) +#define CRYPTOPP_EXTERN_STATIC_TEMPLATE_CLASS extern class +#elif defined(__BORLANDC__) || defined(__SUNPRO_CC) +#define CRYPTOPP_EXTERN_STATIC_TEMPLATE_CLASS template class +#else +#define CRYPTOPP_EXTERN_STATIC_TEMPLATE_CLASS extern template class +#endif + +#if defined(CRYPTOPP_MANUALLY_INSTANTIATE_TEMPLATES) && !defined(CRYPTOPP_EXPORTS) +#define CRYPTOPP_STATIC_TEMPLATE_CLASS template class +#else +#define CRYPTOPP_STATIC_TEMPLATE_CLASS CRYPTOPP_EXTERN_STATIC_TEMPLATE_CLASS +#endif + +// ************** Unused variable *************** + +// Portable way to suppress warnings. +// Moved from misc.h due to circular depenedencies. +#define CRYPTOPP_UNUSED(x) ((void)x) + +// ***************** C++11 related ******************** + +// Visual Studio began at VS2010, http://msdn.microsoft.com/en-us/library/hh567368%28v=vs.110%29.aspx. +// Intel and C++11 language features, http://software.intel.com/en-us/articles/c0x-features-supported-by-intel-c-compiler +// GCC and C++11 language features, http://gcc.gnu.org/projects/cxx0x.html +// Clang and C++11 language features, http://clang.llvm.org/cxx_status.html +#if (_MSC_VER >= 1600) || (__cplusplus >= 201103L) +# define CRYPTOPP_CXX11 1 +#endif + +// Hack ahead. Apple's standard library does not have C++'s unique_ptr in C++11. We can't +// test for unique_ptr directly because some of the non-Apple Clangs on OS X fail the same +// way. However, modern standard libraries have , so we test for it instead. +// Thanks to Jonathan Wakely for devising the clever test for modern/ancient versions. +// TODO: test under Xcode 3, where g++ is really g++. +#if defined(__APPLE__) && defined(__clang__) +# if !(defined(__has_include) && __has_include()) +# undef CRYPTOPP_CXX11 +# endif +#endif + +// C++11 or C++14 is available +#if defined(CRYPTOPP_CXX11) + +// alignof/alignas: MS at VS2013 (19.00); GCC at 4.8; Clang at 3.3; and Intel 15.0. +#if (CRYPTOPP_MSC_VERSION >= 1900) +# define CRYPTOPP_CXX11_ALIGNAS 1 +# define CRYPTOPP_CXX11_ALIGNOF 1 +#elif defined(__INTEL_COMPILER) && (__INTEL_COMPILER >= 1500) +# define CRYPTOPP_CXX11_ALIGNAS 1 +# define CRYPTOPP_CXX11_ALIGNOF 1 +#elif defined(__clang__) +# if __has_feature(cxx_alignof) +# define CRYPTOPP_CXX11_ALIGNAS 1 +# define CRYPTOPP_CXX11_ALIGNOF 1 +# endif +#elif (CRYPTOPP_GCC_VERSION >= 40800) +# define CRYPTOPP_CXX11_ALIGNAS 1 +# define CRYPTOPP_CXX11_ALIGNOF 1 +#endif // alignof/alignas + +// noexcept: MS at VS2015 (19.00); GCC at 4.6; Clang at 3.0; and Intel 14.0. +#if (CRYPTOPP_MSC_VERSION >= 1900) +# define CRYPTOPP_CXX11_NOEXCEPT 1 +#elif defined(__INTEL_COMPILER) && (__INTEL_COMPILER >= 1400) +# define CRYPTOPP_CXX11_NOEXCEPT 1 +#elif defined(__clang__) +# if __has_feature(cxx_noexcept) +# define CRYPTOPP_CXX11_NOEXCEPT 1 +# endif +#elif (CRYPTOPP_GCC_VERSION >= 40600) +# define CRYPTOPP_CXX11_NOEXCEPT 1 +#endif // noexcept compilers + +// variadic templates: MS at VS2013 (18.00); GCC at 4.3; Clang at 2.9; and Intel 12.1. +#if (CRYPTOPP_MSC_VERSION >= 1800) +# define CRYPTOPP_CXX11_VARIADIC_TEMPLATES 1 +#elif defined(__INTEL_COMPILER) && (__INTEL_COMPILER >= 1210) +# define CRYPTOPP_CXX11_VARIADIC_TEMPLATES 1 +#elif defined(__clang__) +# if __has_feature(cxx_variadic_templates) +# define CRYPTOPP_CXX11_VARIADIC_TEMPLATES 1 +# endif +#elif (CRYPTOPP_GCC_VERSION >= 40300) +# define CRYPTOPP_CXX11_VARIADIC_TEMPLATES 1 +#endif // variadic templates + +// TODO: Emplacement, R-values and Move semantics +// Needed because we are catching warnings with GCC and MSC + +#endif // CRYPTOPP_CXX11 + +#if defined(CRYPTOPP_CXX11_NOEXCEPT) +# define CRYPTOPP_THROW noexcept(false) +# define CRYPTOPP_NO_THROW noexcept(true) +#else +# define CRYPTOPP_THROW +# define CRYPTOPP_NO_THROW +#endif // CRYPTOPP_CXX11_NOEXCEPT + +// OK to comment the following out, but please report it so we can fix it. +#if (defined(__cplusplus) && (__cplusplus >= 199711L)) && !defined(CRYPTOPP_UNCAUGHT_EXCEPTION_AVAILABLE) +# error "std::uncaught_exception is not available. This is likely a configuration error." +#endif + +#endif diff --git a/cpu.cpp b/cpu.cpp index 924df6f9..2b041321 100644 --- a/cpu.cpp +++ b/cpu.cpp @@ -83,11 +83,15 @@ bool CpuId(word32 input, word32 output[4]) return true; #else + // longjmp and clobber warnings. Volatile is required. + // http://github.com/weidai11/cryptopp/issues/24 + // http://stackoverflow.com/q/7721854 + volatile bool result = true; + SigHandler oldHandler = signal(SIGILL, SigIllHandlerCPUID); if (oldHandler == SIG_ERR) - return false; + result = false; - bool result = true; if (setjmp(s_jmpNoCPUID)) result = false; else @@ -134,13 +138,17 @@ static bool TrySSE2() } return true; #else + // longjmp and clobber warnings. Volatile is required. + // http://github.com/weidai11/cryptopp/issues/24 + // http://stackoverflow.com/q/7721854 + volatile bool result = true; + SigHandler oldHandler = signal(SIGILL, SigIllHandlerSSE2); if (oldHandler == SIG_ERR) return false; - bool result = true; if (setjmp(s_jmpNoSSE2)) - result = false; + result = true; else { #if CRYPTOPP_BOOL_SSE2_ASM_AVAILABLE @@ -156,20 +164,30 @@ static bool TrySSE2() #endif } -#if 0 -static bool g_x86DetectionDone = false; -static bool g_hasMMX = false, g_hasISSE = false, g_hasSSE2 = false, g_hasSSSE3 = false, g_hasAESNI = false, g_hasCLMUL = false, g_isP4 = false; -static word32 g_cacheLineSize = CRYPTOPP_L1_CACHE_LINE_SIZE; -#else bool g_x86DetectionDone = false; -bool g_hasMMX = false, g_hasISSE = false, g_hasSSE2 = false, g_hasSSSE3 = false, g_hasAESNI = false, g_hasCLMUL = false, g_isP4 = false; +bool g_hasMMX = false, g_hasISSE = false, g_hasSSE2 = false, g_hasSSSE3 = false, g_hasAESNI = false, g_hasCLMUL = false, g_isP4 = false, g_hasRDRAND = false, g_hasRDSEED = false; word32 g_cacheLineSize = CRYPTOPP_L1_CACHE_LINE_SIZE; -#endif // MacPorts/GCC does not provide constructor(priority). Apple/GCC and Fink/GCC do provide it. -#define HAVE_GCC_CONSTRUCTOR1 (__GNUC__ && (CRYPTOPP_INIT_PRIORITY > 0) && ((CRYPTOPP_GCC_VERSION >= 40300) || (CRYPTOPP_CLANG_VERSION >= 20900) || (_INTEL_COMPILER >= 1000)) && !(MACPORTS_GCC_COMPILER > 0)) +#define HAVE_GCC_CONSTRUCTOR1 (__GNUC__ && (CRYPTOPP_INIT_PRIORITY > 0) && ((CRYPTOPP_GCC_VERSION >= 40300) || (CRYPTOPP_CLANG_VERSION >= 20900) || (_INTEL_COMPILER >= 300)) && !(MACPORTS_GCC_COMPILER > 0)) #define HAVE_GCC_CONSTRUCTOR0 (__GNUC__ && (CRYPTOPP_INIT_PRIORITY > 0) && !(MACPORTS_GCC_COMPILER > 0)) +static inline bool IsIntel(const word32 output[4]) +{ + // This is the "GenuineIntel" string + return (output[1] /*EBX*/ == 0x756e6547) && + (output[2] /*ECX*/ == 0x6c65746e) && + (output[3] /*EDX*/ == 0x49656e69); +} + +static inline bool IsAMD(const word32 output[4]) +{ + // This is the "AuthenticAMD" string + return (output[1] /*EBX*/ == 0x68747541) && + (output[2] /*ECX*/ == 0x69746E65) && + (output[3] /*EDX*/ == 0x444D4163); +} + #if HAVE_GCC_CONSTRUCTOR1 void __attribute__ ((constructor (CRYPTOPP_INIT_PRIORITY + 50))) DetectX86Features() #elif HAVE_GCC_CONSTRUCTOR0 @@ -204,22 +222,32 @@ void DetectX86Features() } } - std::swap(cpuid[2], cpuid[3]); - if (memcmp(cpuid+1, "GenuineIntel", 12) == 0) + static const unsigned int RDRAND_FLAG = (1 << 30); + static const unsigned int RDSEED_FLAG = (1 << 18); + if (IsIntel(cpuid)) { g_isP4 = ((cpuid1[0] >> 8) & 0xf) == 0xf; g_cacheLineSize = 8 * GETBYTE(cpuid1[1], 1); + g_hasRDRAND = !!(cpuid1[2] /*ECX*/ & RDRAND_FLAG); + + if (cpuid[0] /*EAX*/ >= 7) + { + word32 cpuid3[4]; + if (CpuId(7, cpuid3)) + g_hasRDSEED = !!(cpuid3[1] /*EBX*/ & RDSEED_FLAG); + } } - else if (memcmp(cpuid+1, "AuthenticAMD", 12) == 0) + else if (IsAMD(cpuid)) { CpuId(0x80000005, cpuid); g_cacheLineSize = GETBYTE(cpuid[2], 0); + g_hasRDRAND = !!(cpuid[2] /*ECX*/ & RDRAND_FLAG); } if (!g_cacheLineSize) g_cacheLineSize = CRYPTOPP_L1_CACHE_LINE_SIZE; - g_x86DetectionDone = true; + *((volatile bool*)&g_x86DetectionDone) = true; } #endif diff --git a/cpu.h b/cpu.h index 2871ae93..c0b0122e 100644 --- a/cpu.h +++ b/cpu.h @@ -1,3 +1,9 @@ +// cpu.h - written and placed in the public domain by Wei Dai + +//! \file +//! \headerfile cpu.h +//! \brief Classes, functions, intrinsics and features for X86, X32 nd X64 assembly + #ifndef CRYPTOPP_CPU_H #define CRYPTOPP_CPU_H @@ -20,16 +26,19 @@ #if !defined(__GNUC__) || defined(__SSSE3__) || defined(__INTEL_COMPILER) #include #else +NAMESPACE_BEGIN(CryptoPP) __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_shuffle_epi8 (__m128i a, __m128i b) { asm ("pshufb %1, %0" : "+x"(a) : "xm"(b)); return a; } -#endif +NAMESPACE_END +#endif // tmmintrin.h #if !defined(__GNUC__) || defined(__SSE4_1__) || defined(__INTEL_COMPILER) #include #else +NAMESPACE_BEGIN(CryptoPP) __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_extract_epi32 (__m128i a, const int i) { @@ -43,10 +52,12 @@ _mm_insert_epi32 (__m128i a, int b, const int i) asm ("pinsrd %2, %1, %0" : "+x"(a) : "rm"(b), "i"(i)); return a; } -#endif +NAMESPACE_END +#endif // smmintrin.h #if !defined(__GNUC__) || (defined(__AES__) && defined(__PCLMUL__)) || defined(__INTEL_COMPILER) #include #else +NAMESPACE_BEGIN(CryptoPP) __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_clmulepi64_si128 (__m128i a, __m128i b, const int i) { @@ -91,8 +102,9 @@ _mm_aesdeclast_si128 (__m128i a, __m128i b) asm ("aesdeclast %1, %0" : "+x"(a) : "xm"(b)); return a; } -#endif -#endif +NAMESPACE_END +#endif // wmmintrin.h +#endif // CRYPTOPP_BOOL_AESNI_INTRINSICS_AVAILABLE NAMESPACE_BEGIN(CryptoPP) @@ -109,6 +121,8 @@ extern CRYPTOPP_DLL bool g_hasSSSE3; extern CRYPTOPP_DLL bool g_hasAESNI; extern CRYPTOPP_DLL bool g_hasCLMUL; extern CRYPTOPP_DLL bool g_isP4; +extern CRYPTOPP_DLL bool g_hasRDRAND; +extern CRYPTOPP_DLL bool g_hasRDSEED; extern CRYPTOPP_DLL word32 g_cacheLineSize; CRYPTOPP_DLL void CRYPTOPP_API DetectX86Features(); @@ -175,6 +189,20 @@ inline bool IsP4() return g_isP4; } +inline bool HasRDRAND() +{ + if (!g_x86DetectionDone) + DetectX86Features(); + return g_hasRDRAND; +} + +inline bool HasRDSEED() +{ + if (!g_x86DetectionDone) + DetectX86Features(); + return g_hasRDSEED; +} + inline int GetCacheLineSize() { if (!g_x86DetectionDone) @@ -215,12 +243,27 @@ inline int GetCacheLineSize() #define AS_HEX(y) 0x##y #else #define CRYPTOPP_GNU_STYLE_INLINE_ASSEMBLY + +#if defined(CRYPTOPP_CLANG_VERSION) || defined(CRYPTOPP_APPLE_CLANG_VERSION) + #define NEW_LINE "\n" + #define INTEL_PREFIX ".intel_syntax;" + #define INTEL_NOPREFIX ".intel_syntax;" + #define ATT_PREFIX ".att_syntax;" + #define ATT_NOPREFIX ".att_syntax;" +#else + #define NEW_LINE + #define INTEL_PREFIX ".intel_syntax prefix;" + #define INTEL_NOPREFIX ".intel_syntax noprefix;" + #define ATT_PREFIX ".att_syntax prefix;" + #define ATT_NOPREFIX ".att_syntax noprefix;" +#endif + // define these in two steps to allow arguments to be expanded - #define GNU_AS1(x) #x ";" - #define GNU_AS2(x, y) #x ", " #y ";" - #define GNU_AS3(x, y, z) #x ", " #y ", " #z ";" - #define GNU_ASL(x) "\n" #x ":" - #define GNU_ASJ(x, y, z) #x " " #y #z ";" + #define GNU_AS1(x) #x ";" NEW_LINE + #define GNU_AS2(x, y) #x ", " #y ";" NEW_LINE + #define GNU_AS3(x, y, z) #x ", " #y ", " #z ";" NEW_LINE + #define GNU_ASL(x) "\n" #x ":" NEW_LINE + #define GNU_ASJ(x, y, z) #x " " #y #z ";" NEW_LINE #define AS1(x) GNU_AS1(x) #define AS2(x, y) GNU_AS2(x, y) #define AS3(x, y, z) GNU_AS3(x, y, z) diff --git a/crc.h b/crc.h index a9a657d0..d31555dd 100644 --- a/crc.h +++ b/crc.h @@ -1,3 +1,9 @@ +// crc.h - written and placed in the public domain by Wei Dai + +//! \file +//! \headerfile crc.h +//! \brief Classes for CRC-32 checksum algorithm + #ifndef CRYPTOPP_CRC32_H #define CRYPTOPP_CRC32_H diff --git a/cryptest.sh b/cryptest.sh index 2ef4ed9a..4d61d6c9 100755 --- a/cryptest.sh +++ b/cryptest.sh @@ -7,12 +7,13 @@ # to automate building the library and running the self test with various # combinations of flags, options, and conditions. -# Everything is tee'd into cryptest-result.txt. Change it to suite your taste. -# You should be able to use `egrep "(error|FAILED)" cryptest-result.txt` to -# quickly find errors and failures. +# Everything is tee'd into cryptest-result.txt. Change it to suite your taste. You +# should be able to use `egrep -a "(Error|error|FAILED|Illegal)" cryptest-result.txt` +# to quickly find errors and failures. # Set to suite your taste TEST_RESULTS=cryptest-result.txt +BENCHMARK_RESULTS=cryptest-bench.txt WARN_TEST_RESULTS=cryptest-warn-result.txt # Respect user's preferred flags, but filter the stuff we expliclty test @@ -58,6 +59,10 @@ else MAKE=make fi +if [ -z "$TMP" ]; then + TMP=/tmp +fi + # Use the compiler driver, and not cpp, to tell us if the flag is consumed. $CXX -x c++ -dM -E -std=c++11 - < /dev/null > /dev/null 2>&1 if [ "$?" -eq "0" ]; then @@ -75,7 +80,7 @@ else fi # Set to 0 if you don't have UBsan -$CXX -x c++ -dM -E -fsanitize=undefined -std=c++11 - < /dev/null > /dev/null 2>&1 +$CXX -x c++ -fsanitize=undefined adhoc.cpp.proto -o $TMP/adhoc > /dev/null 2>&1 if [ "$?" -eq "0" ]; then HAVE_UBSAN=1 else @@ -88,7 +93,7 @@ if [ "$IS_CYGWIN" -ne "0" ] || [ "$IS_MINGW" -ne "0" ]; then fi # Set to 0 if you don't have Asan -$CXX -x c++ -dM -E -fsanitize=address -std=c++11 - < /dev/null > /dev/null 2>&1 +$CXX -x c++ -fsanitize=undefined adhoc.cpp.proto -o $TMP/adhoc > /dev/null 2>&1 if [ "$?" -eq "0" ]; then HAVE_ASAN=1 else @@ -100,6 +105,12 @@ if [ "$IS_CYGWIN" -ne "0" ] || [ "$IS_MINGW" -ne "0" ]; then HAVE_ASAN=0 fi +#Final fixups for compilers liek GCC on ARM64 +if [ "$HAVE_UBSAN" -eq "0" ] || [ "$HAVE_ASAN" -eq "0" ]; then + HAVE_UBAN=0 + HAVE_ASAN=0 +fi + # Set to 0 if you don't have Valgrind. Valgrind tests take a long time... HAVE_VALGRIND=$(which valgrind 2>&1 | grep -v "no valgrind" | grep -i -c valgrind) @@ -115,6 +126,7 @@ if [ "$HAVE_VALGRIND" -ne "0" ]; then fi if [ "$IS_DARWIN" -ne "0" ]; then echo "IS_DARWIN: $IS_DARWIN" + unset MallocScribble MallocPreScribble MallocGuardEdges fi if [ "$IS_LINUX" -ne "0" ]; then echo "IS_LINUX: $IS_LINUX" @@ -130,10 +142,6 @@ echo "User CXXFLAGS: $CXXFLAGS" echo "Retained CXXFLAGS: $ADD_CXXFLAGS" echo "Compiler:" $($CXX --version | head -1) -# Remove previous test results -rm -f "$TEST_RESULTS" > /dev/null 2>&1 -touch "$TEST_RESULTS" - TEST_BEGIN=$(date) echo echo "Start time: $TEST_BEGIN" @@ -141,6 +149,16 @@ echo "Start time: $TEST_BEGIN" ############################################ ############################################ +# Remove previous test results +rm -f "$TEST_RESULTS" > /dev/null 2>&1 +touch "$TEST_RESULTS" + +rm -f "$BENCHMARK_RESULTS" > /dev/null 2>&1 +touch "$BENCHMARK_RESULTS" + +rm -f "$WARN_RESULTS" > /dev/null 2>&1 +touch "$WARN_RESULTS" + ############################################ # Basic debug build echo @@ -593,6 +611,98 @@ if [ "$IS_DARWIN" -ne "0" ] && [ "$HAVE_CXX11" -ne "0" ]; then ./cryptest.exe tv all 2>&1 | tee -a "$TEST_RESULTS" fi +############################################ +# Darwin, c++03, Malloc Guards +if [ "$IS_DARWIN" -ne "0" ] && [ "$HAVE_CXX03" -ne "0" ]; then + echo + echo "************************************" | tee -a "$TEST_RESULTS" + echo "Testing: Darwin, c++03, Malloc Guards" | tee -a "$TEST_RESULTS" + echo + + unset CXXFLAGS + "$MAKE" clean > /dev/null 2>&1 + export CXXFLAGS="-DNDEBUG -g2 -O2 -std=c++03 $ADD_CXXFLAGS" + "$MAKE" static cryptest.exe 2>&1 | tee -a "$TEST_RESULTS" + + export MallocScribble=1 + export MallocPreScribble=1 + export MallocGuardEdges=1 + ./cryptest.exe v 2>&1 | tee -a "$TEST_RESULTS" + ./cryptest.exe tv all 2>&1 | tee -a "$TEST_RESULTS" + unset MallocScribble MallocPreScribble MallocGuardEdges +fi + +############################################ +# Darwin, c++11, Malloc Guards +if [ "$IS_DARWIN" -ne "0" ] && [ "$HAVE_CXX11" -ne "0" ]; then + echo + echo "************************************" | tee -a "$TEST_RESULTS" + echo "Testing: Darwin, c++11, Malloc Guards" | tee -a "$TEST_RESULTS" + echo + + unset CXXFLAGS + "$MAKE" clean > /dev/null 2>&1 + export CXXFLAGS="-DNDEBUG -g2 -O2 -std=c++11 $ADD_CXXFLAGS" + "$MAKE" static cryptest.exe 2>&1 | tee -a "$TEST_RESULTS" + + export MallocScribble=1 + export MallocPreScribble=1 + export MallocGuardEdges=1 + ./cryptest.exe v 2>&1 | tee -a "$TEST_RESULTS" + ./cryptest.exe tv all 2>&1 | tee -a "$TEST_RESULTS" + unset MallocScribble MallocPreScribble MallocGuardEdges +fi + +# Try to locate a Xcode compiler for testing under Darwin +XCODE_COMPILER=$(find /Applications/Xcode*.app/Contents/Developer -name clang++ | head -1) + +############################################ +# Xcode compiler +if [ "$IS_DARWIN" -ne "0" ] && [ -z "$XCODE_COMPILER" ]; then + echo + echo "************************************" | tee -a "$TEST_RESULTS" + echo "Testing: Xcode Clang compiler" | tee -a "$TEST_RESULTS" + echo + + unset CXXFLAGS + "$MAKE" clean > /dev/null 2>&1 + expot CXX="$XCODE_COMPILER" + export CXXFLAGS="-DNDEBUG -g2 -O2 -std=c++11 $ADD_CXXFLAGS" + "$MAKE" static cryptest.exe 2>&1 | tee -a "$TEST_RESULTS" + ./cryptest.exe v 2>&1 | tee -a "$TEST_RESULTS" + ./cryptest.exe tv all 2>&1 | tee -a "$TEST_RESULTS" +fi + +############################################ +# Benchmarks, c++03 +if [ "$HAVE_CXX03" -ne "0" ]; then + echo + echo "************************************" | tee -a "$TEST_RESULTS" + echo "Testing: Benchmarks, c++03" | tee -a "$TEST_RESULTS" + echo + + unset CXXFLAGS + "$MAKE" clean > /dev/null 2>&1 + export CXXFLAGS="-DNDEBUG -O3 -std=c++03 $ADD_CXXFLAGS" + "$MAKE" static cryptest.exe 2>&1 | tee -a "$TEST_RESULTS" + ./cryptest.exe b 3 2.4+1e9 2>&1 | tee -a "$BENCHMARK_RESULTS" +fi + +############################################ +# Benchmarks, c++11 +if [ "$HAVE_CXX11" -ne "0" ]; then + echo + echo "************************************" | tee -a "$TEST_RESULTS" + echo "Testing: Benchmarks, c++11" | tee -a "$TEST_RESULTS" + echo + + unset CXXFLAGS + "$MAKE" clean > /dev/null 2>&1 + export CXXFLAGS="-DNDEBUG -O3 -std=c++11 $ADD_CXXFLAGS" + "$MAKE" static cryptest.exe 2>&1 | tee -a "$TEST_RESULTS" + ./cryptest.exe b 3 2.4+1e9 2>&1 | tee -a "$BENCHMARK_RESULTS" +fi + # For Cygwin, we need to test both PREFER_BERKELEY_STYLE_SOCKETS # and PREFER_WINDOWS_STYLE_SOCKETS @@ -674,7 +784,7 @@ if [ "$CXX" == "g++" ] && [ "$HAVE_CXX11" -ne "0" ]; then unset CXXFLAGS "$MAKE" clean > /dev/null 2>&1 - export CXXFLAGS="-DDEBUG -g2 -O2 -std=c++11 -DCRYPTOPP_NO_BACKWARDS_COMPATIBILITY_562 -Wall -Wextra -Wno-unknown-pragmas" + export CXXFLAGS="-DDEBUG -g2 -O2 -std=c++11 -DCRYPTOPP_NO_BACKWARDS_COMPATIBILITY_562 -Wall -Wextra -Wno-unknown-pragmas -Wstrict-aliasing=3 -Wstrict-overflow -Waggressive-loop-optimizations" "$MAKE" static dynamic cryptest.exe 2>&1 | tee -a "$WARN_TEST_RESULTS" ############################################ @@ -686,7 +796,7 @@ if [ "$CXX" == "g++" ] && [ "$HAVE_CXX11" -ne "0" ]; then unset CXXFLAGS "$MAKE" clean > /dev/null 2>&1 - export CXXFLAGS="-DNDEBUG -g2 -O2 -std=c++11 -DCRYPTOPP_NO_BACKWARDS_COMPATIBILITY_562 -Wall -Wextra -Wno-unknown-pragmas" + export CXXFLAGS="-DNDEBUG -g2 -O2 -std=c++11 -DCRYPTOPP_NO_BACKWARDS_COMPATIBILITY_562 -Wall -Wextra -Wno-unknown-pragmas -Wstrict-aliasing=3 -Wstrict-overflow -Waggressive-loop-optimizations" "$MAKE" static dynamic cryptest.exe 2>&1 | tee -a "$WARN_TEST_RESULTS" fi @@ -712,15 +822,16 @@ fi echo | tee -a "$TEST_RESULTS" # "FAILED" is from Crypto++ +# "Error" is from the GNU assembler # "error" is from the sanitizers # "Illegal", "0 errors" and "suppressed errors" are from Valgrind. -COUNT=$(egrep -a '(error|FAILED|Illegal)' cryptest-result.txt | egrep -v "( 0 errors|suppressed errors|memory error detector)" | wc -l) +COUNT=$(egrep -a '(Error|error|FAILED|Illegal)' cryptest-result.txt | egrep -v "( 0 errors|suppressed errors|memory error detector)" | wc -l) if [ "$COUNT" -eq "0" ]; then echo "No failures detected" | tee -a "$TEST_RESULTS" else echo "$COUNT errors detected" | tee -a "$TEST_RESULTS" echo - egrep -an "(error|FAILED|Illegal)" cryptest-result.txt + egrep -an "(Error|error|FAILED|Illegal)" cryptest-result.txt fi echo | tee -a "$TEST_RESULTS" diff --git a/cryptlib.cpp b/cryptlib.cpp index 4b950257..4fa36538 100644 --- a/cryptlib.cpp +++ b/cryptlib.cpp @@ -180,6 +180,10 @@ void SimpleKeyingInterface::GetNextIV(RandomNumberGenerator &rng, byte *IV) size_t BlockTransformation::AdvancedProcessBlocks(const byte *inBlocks, const byte *xorBlocks, byte *outBlocks, size_t length, word32 flags) const { + assert(inBlocks); + assert(outBlocks); + assert(length); + size_t blockSize = BlockSize(); size_t inIncrement = (flags & (BT_InBlockIsCounter|BT_DontIncrementInOutPointers)) ? 0 : blockSize; size_t xorIncrement = xorBlocks ? blockSize : 0; @@ -200,11 +204,20 @@ size_t BlockTransformation::AdvancedProcessBlocks(const byte *inBlocks, const by { if (flags & BT_XorInput) { + // Coverity finding. However, xorBlocks is never NULL if BT_XorInput. + assert(xorBlocks); +#if defined(__COVERITY__) + if (xorBlocks) +#endif xorbuf(outBlocks, xorBlocks, inBlocks, blockSize); ProcessBlock(outBlocks); } else + { + // xorBlocks can be NULL. See, for example, ECB_OneWay::ProcessData. ProcessAndXorBlock(inBlocks, xorBlocks, outBlocks); + } + if (flags & BT_InBlockIsCounter) const_cast(inBlocks)[blockSize-1]++; inBlocks += inIncrement; @@ -344,16 +357,49 @@ void RandomNumberGenerator::GenerateIntoBufferedTransformation(BufferedTransform } } -//! see NullRNG() +//! \class ClassNullRNG +//! \brief Random Number Generator that does not produce random numbers +//! \details ClassNullRNG can be used for functions that require a RandomNumberGenerator +//! but don't actually use it. The class throws NotImplemented when a generation function is called. +//! \sa NullRNG() class ClassNullRNG : public RandomNumberGenerator { public: + //! \brief The name of the generator + //! \returns the string \a NullRNGs std::string AlgorithmName() const {return "NullRNG";} + +#if defined(CRYPTOPP_DOXYGEN_PROCESSING) + //! \brief An implementation that throws NotImplemented + byte GenerateByte () {} + //! \brief An implementation that throws NotImplemented + unsigned int GenerateBit () {} + //! \brief An implementation that throws NotImplemented + word32 GenerateWord32 (word32 min, word32 max) {} +#endif + + //! \brief An implementation that throws NotImplemented void GenerateBlock(byte *output, size_t size) { CRYPTOPP_UNUSED(output); CRYPTOPP_UNUSED(size); throw NotImplemented("NullRNG: NullRNG should only be passed to functions that don't need to generate random bytes"); } + +#if defined(CRYPTOPP_DOXYGEN_PROCESSING) + //! \brief An implementation that throws NotImplemented + void GenerateIntoBufferedTransformation (BufferedTransformation &target, const std::string &channel, lword length) {} + //! \brief An implementation that throws NotImplemented + void IncorporateEntropy (const byte *input, size_t length) {} + //! \brief An implementation that returns \p false + bool CanIncorporateEntropy () const {} + //! \brief An implementation that does nothing + void DiscardBytes (size_t n) {} + //! \brief An implementation that does nothing + void Shuffle (IT begin, IT end) {} + +private: + Clonable* Clone () const { return NULL; } +#endif }; RandomNumberGenerator & NullRNG() diff --git a/cryptlib.h b/cryptlib.h index cfac5684..555b0401 100644 --- a/cryptlib.h +++ b/cryptlib.h @@ -1,28 +1,32 @@ // cryptlib.h - written and placed in the public domain by Wei Dai -//! \file -//! Abstract base classes that provide a uniform interface to this library. +//! \file cryptlib.h +//! \brief Abstract base classes that provide a uniform interface to this library. /*! \mainpage Crypto++ Library 5.6.3 API Reference
Abstract Base Classes
cryptlib.h -
Authenticated Encryption
- AuthenticatedSymmetricCipherDocumentation -
Symmetric Ciphers
- SymmetricCipherDocumentation +
Authenticated Encryption Modes
+ CCM, EAX, \ref GCM "GCM (2K tables)", \ref GCM "GCM (64K tables)" +
Block Ciphers
+ \ref Rijndael "AES", Weak::ARC4, Blowfish, BTEA, Camellia, CAST128, CAST256, DES, \ref DES_EDE2 "2-key Triple-DES", \ref DES_EDE3 "3-key Triple-DES", + \ref DES_XEX3 "DESX", GOST, IDEA, \ref LR "Luby-Rackoff", MARS, RC2, RC5, RC6, \ref SAFER_K "SAFER-K", \ref SAFER_SK "SAFER-SK", SEED, Serpent, + \ref SHACAL2 "SHACAL-2", SHARK, SKIPJACK, +Square, TEA, \ref ThreeWay "3-Way", Twofish, XTEA +
Stream Ciphers
+ \ref Panama "Panama-LE", \ref Panama "Panama-BE", Salsa20, \ref SEAL "SEAL-LE", \ref SEAL "SEAL-BE", WAKE, XSalsa20
Hash Functions
- SHA1, SHA224, SHA256, SHA384, SHA512, Tiger, Whirlpool, RIPEMD160, RIPEMD320, RIPEMD128, RIPEMD256, Weak1::MD2, Weak1::MD4, Weak1::MD5 + SHA1, SHA224, SHA256, SHA384, SHA512, \ref SHA3 "SHA-3", Tiger, Whirlpool, RIPEMD160, RIPEMD320, RIPEMD128, RIPEMD256, Weak::MD2, Weak::MD4, Weak::MD5
Non-Cryptographic Checksums
CRC32, Adler32
Message Authentication Codes
- VMAC, HMAC, CBC_MAC, CMAC, DMAC, TTMAC, GCM (GMAC) + VMAC, HMAC, CBC_MAC, CMAC, DMAC, TTMAC, \ref GCM "GCM (GMAC)"
Random Number Generators
- NullRNG(), LC_RNG, RandomPool, BlockingRng, NonblockingRng, AutoSeededRandomPool, AutoSeededX917RNG, DefaultAutoSeededRNG -
Key Derivation
- HKDF -
Password-based Cryptography
- PasswordBasedKeyDerivationFunction + NullRNG(), LC_RNG, RandomPool, BlockingRng, NonblockingRng, AutoSeededRandomPool, AutoSeededX917RNG, + \ref MersenneTwister "MersenneTwister (MT19937 and MT19937-AR)", RDRAND, RDSEED +
Key Derivation and Password-based Cryptography
+ HKDF, \ref PKCS12_PBKDF "PBKDF (PKCS #12)", \ref PKCS5_PBKDF1 "PBKDF-1 (PKCS #5)", \ref PKCS5_PBKDF2_HMAC "PBKDF-2/HMAC (PKCS #5)"
Public Key Cryptosystems
DLIES, ECIES, LUCES, RSAES, RabinES, LUC_IES
Public Key Signature Schemes
@@ -31,8 +35,7 @@ DH, DH2, MQV, ECDH, ECMQV, XTR_DH
Algebraic Structures
Integer, PolynomialMod2, PolynomialOver, RingOfPolynomialsOver, - ModularArithmetic, MontgomeryRepresentation, GFP2_ONB, - GF2NP, GF256, GF2_32, EC2N, ECP + ModularArithmetic, MontgomeryRepresentation, GFP2_ONB, GF2NP, GF256, GF2_32, EC2N, ECP
Secret Sharing and Information Dispersal
SecretSharing, SecretRecovery, InformationDispersal, InformationRecovery
Compression
@@ -40,23 +43,23 @@
Input Source Classes
StringSource, ArraySource, FileSource, SocketSource, WindowsPipeSource, RandomNumberSource
Output Sink Classes
- StringSinkTemplate, ArraySink, FileSink, SocketSink, WindowsPipeSink, RandomNumberSink + StringSinkTemplate, StringSink, ArraySink, FileSink, SocketSink, WindowsPipeSink, RandomNumberSink
Filter Wrappers
StreamTransformationFilter, HashFilter, HashVerificationFilter, SignerFilter, SignatureVerificationFilter
Binary to Text Encoders and Decoders
- HexEncoder, HexDecoder, Base64Encoder, Base64Decoder, Base32Encoder, Base32Decoder + HexEncoder, HexDecoder, Base64Encoder, Base64Decoder, Base64URLEncoder, Base64URLDecoder, Base32Encoder, Base32Decoder
Wrappers for OS features
Timer, Socket, WindowsHandle, ThreadLocalStorage, ThreadUserTimer -
FIPS 140 related
+
FIPS 140 validated cryptography
fips140.h
In the DLL version of Crypto++, only the following implementation class are available.
Block Ciphers
- AES, DES_EDE2, DES_EDE3, SKIPJACK + AES, \ref DES_EDE2 "2-key Triple-DES", \ref DES_EDE3 "3-key Triple-DES", SKIPJACK
Cipher Modes (replace template parameter BC with one of the block ciphers above)
- ECB_Mode\, CTR_Mode\, CBC_Mode\, CFB_FIPS_Mode\, OFB_Mode\, GCM\ + \ref ECB_Mode "ECB_Mode", \ref CTR_Mode "CTR_Mode", \ref CBC_Mode "CBC_Mode", \ref CFB_FIPS_Mode "CFB_FIPS_Mode", \ref OFB_Mode "OFB_Mode", \ref GCM "GCM"
Hash Functions
SHA1, SHA224, SHA256, SHA384, SHA512
Public Key Signature Schemes (replace template parameter H with one of the hash functions above)
@@ -111,9 +114,9 @@ struct EnumToType //! \brief Provides the byte ordering enum ByteOrder {LITTLE_ENDIAN_ORDER = 0, BIG_ENDIAN_ORDER = 1}; -//! \typedef Provides a constant for \p LittleEndian +//! \typedef Provides a constant for LittleEndian typedef EnumToType LittleEndian; -//! \typedef Provides a constant for \p BigEndian +//! \typedef Provides a constant for BigEndian typedef EnumToType BigEndian; //! \class Exception @@ -127,7 +130,7 @@ public: NOT_IMPLEMENTED, //! \brief An invalid argument was detected INVALID_ARGUMENT, - //! \brief \p BufferedTransformation received a Flush(true) signal but can't flush buffers + //! \brief BufferedTransformation received a Flush(true) signal but can't flush buffers CANNOT_FLUSH, //! \brief Data integerity check, such as CRC or MAC, failed DATA_INTEGRITY_CHECK_FAILED, @@ -139,15 +142,15 @@ public: OTHER_ERROR }; - //! \brief Construct a new \p Exception + //! \brief Construct a new Exception explicit Exception(ErrorType errorType, const std::string &s) : m_errorType(errorType), m_what(s) {} virtual ~Exception() throw() {} //! \brief Retrieves a C-string describing the exception const char *what() const throw() {return (m_what.c_str());} - //! \brief Retrieves a \p string describing the exception + //! \brief Retrieves a string describing the exception const std::string &GetWhat() const {return m_what;} - //! \brief Sets the error \p string for the exception + //! \brief Sets the error string for the exception void SetWhat(const std::string &s) {m_what = s;} //! \brief Retrieves the error type for the exception ErrorType GetErrorType() const {return m_errorType;} @@ -216,15 +219,27 @@ protected: //! \brief Returns a decoding results struct CRYPTOPP_DLL DecodingResult { - //! \brief Constructs a \p DecodingResult + //! \brief Constructs a DecodingResult + //! \details isValidCoding is initialized to false and messageLength is initialized to 0. explicit DecodingResult() : isValidCoding(false), messageLength(0) {} - //! \brief Constructs a \p DecodingResult + //! \brief Constructs a DecodingResult + //! \param len the message length + //! \details isValidCoding is initialized to true. explicit DecodingResult(size_t len) : isValidCoding(true), messageLength(len) {} + //! \brief Compare two DecodingResult + //! \param rhs the other DecodingResult + //! \returns true if both isValidCoding and messageLength are equal, false otherwise bool operator==(const DecodingResult &rhs) const {return isValidCoding == rhs.isValidCoding && messageLength == rhs.messageLength;} + //! \brief Compare two DecodingResult + //! \param rhs the other DecodingResult + //! \returns true if either isValidCoding or messageLength is \a not equal, false otherwise + //! \details Returns !operator==(rhs). bool operator!=(const DecodingResult &rhs) const {return !operator==(rhs);} + //! \brief Flag to indicate the decoding is valid bool isValidCoding; + //! \brief Recovered message length if isValidCoding is true, undefined otherwise size_t messageLength; #ifdef CRYPTOPP_MAINTAIN_BACKWARDS_COMPATIBILITY @@ -239,10 +254,10 @@ struct CRYPTOPP_DLL DecodingResult //! \details To obtain an object that implements NameValuePairs for the purpose of parameter //! passing, use the MakeParameters() function. //! \details To get a value from NameValuePairs, you need to know the name and the type of the value. -//! Call \p GetValueNames on a NameValuePairs object to obtain a list of value names that it supports. +//! Call GetValueNames() on a NameValuePairs object to obtain a list of value names that it supports. //! then look at the Name namespace documentation to see what the type of each value is, or //! alternatively, call GetIntValue() with the value name, and if the type is not int, a -//! \p ValueTypeMismatch exception will be thrown and you can get the actual type from the exception object. +//! ValueTypeMismatch exception will be thrown and you can get the actual type from the exception object. class CRYPTOPP_NO_VTABLE NameValuePairs { public: @@ -293,11 +308,13 @@ public: return GetValue((std::string("ThisPointer:")+typeid(T).name()).c_str(), ptr); } - //! \brief Get a named value, returns true if the name exists + //! \brief Get a named value //! \tparam T class or type //! \param name the name of the object or value to retrieve //! \param value reference to a variable that receives the value - //! \returns \p true if the value was retrieved, \p false otherwise + //! \returns true if the value was retrieved, false otherwise + //! \sa GetValue(), GetValueWithDefault(), GetIntValue(), GetIntValueWithDefault(), + //! GetRequiredParameter() and GetRequiredIntParameter() template bool GetValue(const char *name, T &value) const { @@ -309,10 +326,15 @@ public: //! \param name the name of the object or value to retrieve //! \param defaultValue the default value of the class or type if it does not exist //! \returns the object or value + //! \sa GetValue(), GetValueWithDefault(), GetIntValue(), GetIntValueWithDefault(), + //! GetRequiredParameter() and GetRequiredIntParameter() template T GetValueWithDefault(const char *name, T defaultValue) const { - GetValue(name, defaultValue); + T value; + bool result = GetValue(name, value); + // No assert... this recovers from failure + if (result) {return value;} return defaultValue; } @@ -325,15 +347,20 @@ public: //! \brief Get a named value with type int //! \param name the name of the value to retrieve //! \param value the value retrieved upon success - //! \details Used to ensure we don't accidentally try to get an unsigned int - //! or some other type when we mean int (which is the most common case) + //! \returns true if an int value was retrieved, false otherwise + //! \details GetIntValue() is used to ensure we don't accidentally try to get an + //! unsigned int or some other type when we mean int (which is the most common case) + //! \sa GetValue(), GetValueWithDefault(), GetIntValue(), GetIntValueWithDefault(), + //! GetRequiredParameter() and GetRequiredIntParameter() CRYPTOPP_DLL bool GetIntValue(const char *name, int &value) const {return GetValue(name, value);} //! \brief Get a named value with type int, with default //! \param name the name of the value to retrieve //! \param defaultValue the default value if the name does not exist - //! \returns the value retrieved or the default value + //! \returns the value retrieved on success or the default value + //! \sa GetValue(), GetValueWithDefault(), GetIntValue(), GetIntValueWithDefault(), + //! GetRequiredParameter() and GetRequiredIntParameter() CRYPTOPP_DLL int GetIntValueWithDefault(const char *name, int defaultValue) const {return GetValueWithDefault(name, defaultValue);} @@ -342,8 +369,10 @@ public: //! \param stored the type that was stored for the name //! \param retrieving the type that is being retrieved for the name //! \throws ValueTypeMismatch - //! \details \p ThrowIfTypeMismatch() effectively performs a type safety check. - //! \p stored and \p retrieving are C++ mangled names for the type. + //! \details ThrowIfTypeMismatch() effectively performs a type safety check. + //! stored and retrieving are C++ mangled names for the type. + //! \sa GetValue(), GetValueWithDefault(), GetIntValue(), GetIntValueWithDefault(), + //! GetRequiredParameter() and GetRequiredIntParameter() CRYPTOPP_DLL static void CRYPTOPP_API ThrowIfTypeMismatch(const char *name, const std::type_info &stored, const std::type_info &retrieving) {if (stored != retrieving) throw ValueTypeMismatch(name, stored, retrieving);} @@ -353,8 +382,10 @@ public: //! \param name the name of the value //! \param value reference to a variable to receive the value //! \throws InvalidArgument - //! \details \p GetRequiredParameter() throws \p InvalidArgument if the \p name - //! is not present or not of the expected type \p T. + //! \details GetRequiredParameter() throws InvalidArgument if the name + //! is not present or not of the expected type T. + //! \sa GetValue(), GetValueWithDefault(), GetIntValue(), GetIntValueWithDefault(), + //! GetRequiredParameter() and GetRequiredIntParameter() template void GetRequiredParameter(const char *className, const char *name, T &value) const { @@ -367,32 +398,49 @@ public: //! \param name the name of the value //! \param value reference to a variable to receive the value //! \throws InvalidArgument - //! \details \p GetRequiredParameter() throws \p InvalidArgument if the \p name - //! is not present or not of the expected type \p T. + //! \details GetRequiredParameter() throws InvalidArgument if the name + //! is not present or not of the expected type T. + //! \sa GetValue(), GetValueWithDefault(), GetIntValue(), GetIntValueWithDefault(), + //! GetRequiredParameter() and GetRequiredIntParameter() CRYPTOPP_DLL void GetRequiredIntParameter(const char *className, const char *name, int &value) const { if (!GetIntValue(name, value)) throw InvalidArgument(std::string(className) + ": missing required parameter '" + name + "'"); } - - //! to be implemented by derived classes, users should use one of the above functions instead + + //! \brief Get a named value + //! \param name the name of the object or value to retrieve + //! \param valueType reference to a variable that receives the value + //! \param pValue void pointer to a variable that receives the value + //! \returns true if the value was retrieved, false otherwise + //! \details GetVoidValue() retrives the value of name if it exists. + //! \note GetVoidValue() is an internal function and should be implemented + //! by derived classes. Users should use one of the other functions instead. + //! \sa GetValue(), GetValueWithDefault(), GetIntValue(), GetIntValueWithDefault(), + //! GetRequiredParameter() and GetRequiredIntParameter() CRYPTOPP_DLL virtual bool GetVoidValue(const char *name, const std::type_info &valueType, void *pValue) const =0; }; - -//! \brief Namespace containing value name definitions -/*! \details value names, types and semantics: - ThisObject:ClassName (ClassName, copy of this object or a subobject) - ThisPointer:ClassName (const ClassName *, pointer to this object or a subobject) -*/ +#if CRYPTOPP_DOXYGEN_PROCESSING + +//! \brief Namespace containing value name definitions. +//! \details Name is part of the CryptoPP namespace. +//! \details The semantics of value names, types are: +//!
+//!     ThisObject:ClassName (ClassName, copy of this object or a subobject)
+//!     ThisPointer:ClassName (const ClassName *, pointer to this object or a subobject)
+//! 
DOCUMENTED_NAMESPACE_BEGIN(Name) // more names defined in argnames.h DOCUMENTED_NAMESPACE_END -//! \brief Namespace containing weak and wounded algorithms +//! \brief Namespace containing weak and wounded algorithms. +//! \details Weak is part of the CryptoPP namespace. Schemes and algorithms are moved into Weak +//! when their security level is reduced to an unacceptable value by contemporary standards. DOCUMENTED_NAMESPACE_BEGIN(Weak) // weak and wounded algorithms DOCUMENTED_NAMESPACE_END +#endif //! \brief An empty set of name-value pairs extern CRYPTOPP_DLL const NameValuePairs &g_nullNameValuePairs; @@ -402,15 +450,17 @@ extern CRYPTOPP_DLL const NameValuePairs &g_nullNameValuePairs; //! \class Clonable //! \brief Interface for cloning objects //! \note this is \a not implemented by most classes +//! \sa ClonableImpl, NotCopyable class CRYPTOPP_DLL CRYPTOPP_NO_VTABLE Clonable { public: virtual ~Clonable() {} - //! \brief Copies \p this object + //! \brief Copies this object //! \returns a copy of this object //! \throws NotImplemented //! \note this is \a not implemented by most classes + //! \sa NotCopyable virtual Clonable* Clone() const {throw NotImplemented("Clone() is not implemented yet.");} // TODO: make this =0 }; @@ -426,15 +476,15 @@ public: //! this constructor throws SelfTestFailure if the self test hasn't been run or fails. //! \details FIPS 140-2 compliance is disabled by default. It is only used by certain //! versions of the library when the library is built as a DLL on Windows. Also see - //! \p CRYPTOPP_ENABLE_COMPLIANCE_WITH_FIPS_140_2 in \headerfile config.h. + //! CRYPTOPP_ENABLE_COMPLIANCE_WITH_FIPS_140_2 in config.h. Algorithm(bool checkSelfTestStatus = true); //! \brief Provides the name of this algorithm //! \returns the standard algorithm name //! \details The standard algorithm name can be a name like \a AES or \a AES/GCM. Some algorithms //! do not have standard names yet. For example, there is no standard algorithm name for - //! Shoup's \p ECIES. - //! \note \p AlgorithmName is not universally implemented yet + //! Shoup's ECIES. + //! \note AlgorithmName is not universally implemented yet virtual std::string AlgorithmName() const {return "unknown";} #ifndef CRYPTOPP_MAINTAIN_BACKWARDS_COMPATIBILITY_562 @@ -460,8 +510,8 @@ public: //! \returns the smallest valid key length in bytes that is greater than or equal to min(n, GetMaxKeyLength()) virtual size_t GetValidKeyLength(size_t n) const =0; - //! \brief Returns whether \p keylength is a valid key length - //! \details Internally the function calls \p GetValidKeyLength() + //! \brief Returns whether keylength is a valid key length + //! \details Internally the function calls GetValidKeyLength() virtual bool IsValidKeyLength(size_t keylength) const {return keylength == GetValidKeyLength(keylength);} @@ -477,8 +527,8 @@ public: //! \param length the size of the key, in bytes //! \param rounds the number of rounds to apply the transformation function, //! if applicable - //! \details \p SetKeyWithRounds calls \p SetKey with an \p NameValuePairs - //! object that just specifies \p rounds. \p rounds is an integer parameter, + //! \details SetKeyWithRounds calls SetKey with an NameValuePairs + //! object that just specifies rounds. rounds is an integer parameter, //! and -1 means use the default number of rounds. void SetKeyWithRounds(const byte *key, size_t length, int rounds); @@ -487,17 +537,17 @@ public: //! \param length the size of the key, in bytes //! \param iv the intiialization vector to use when keying the object //! \param ivLength the size of the iv, in bytes - //! \details \p SetKeyWithIV calls \p SetKey with an \p NameValuePairs object - //! that just specifies \p iv. \p iv is a \p byte array with size \p ivLength. + //! \details SetKeyWithIV calls SetKey with an NameValuePairs object + //! that just specifies iv. iv is a byte buffer with size ivLength. void SetKeyWithIV(const byte *key, size_t length, const byte *iv, size_t ivLength); //! \brief Sets or reset the key of this object //! \param key the key to use when keying the object //! \param length the size of the key, in bytes //! \param iv the intiialization vector to use when keying the object - //! \details \p SetKeyWithIV calls \p SetKey with an \p NameValuePairs object - //! that just specifies \p iv. \p iv is a \p byte array, and it must have - //! a size \p IVSize. + //! \details SetKeyWithIV calls SetKey with an NameValuePairs object + //! that just specifies iv. iv is a byte buffer, and it must have + //! a size IVSize. void SetKeyWithIV(const byte *key, size_t length, const byte *iv) {SetKeyWithIV(key, length, iv, IVSize());} @@ -529,7 +579,7 @@ public: bool CanUseStructuredIVs() const {return IVRequirement() <= UNIQUE_IV;} //! \brief Returns length of the IV accepted by this object - //! \details The default implementation throws \p NotImplemented + //! \details The default implementation throws NotImplemented virtual unsigned int IVSize() const {throw NotImplemented(GetAlgorithm().AlgorithmName() + ": this object doesn't support resynchronization");} //! returns default length of IVs accepted by this object @@ -545,25 +595,25 @@ public: } //! \brief Gets a secure IV for the next message - //! \param rng a \p RandomNumberGenerator to produce keying material + //! \param rng a RandomNumberGenerator to produce keying material //! \param iv a block of bytes to receive the IV //! \details This method should be called after you finish encrypting one message and are ready - //! to start the next one. After calling it, you must call \p SetKey() or \p Resynchronize() + //! to start the next one. After calling it, you must call SetKey() or Resynchronize() //! before using this object again. - //! \details \p key must be at least \p IVSize() in length. + //! \details key must be at least IVSize() in length. //! \note This method is not implemented on decryption objects. virtual void GetNextIV(RandomNumberGenerator &rng, byte *iv); protected: - //! \brief Returns the base class \p Algorithm - //! \returns the base class \p Algorithm + //! \brief Returns the base class Algorithm + //! \returns the base class Algorithm virtual const Algorithm & GetAlgorithm() const =0; //! \brief Sets the key for this object without performing parameter validation - //! \param key a byte array used to key the cipher - //! \param length the length of the byte array - //! \param params additional parameters passed as \p NameValuePairs - //! \details \p key must be at least \p DEFAULT_KEYLENGTH in length. + //! \param key a byte buffer used to key the cipher + //! \param length the length of the byte buffer + //! \param params additional parameters passed as NameValuePairs + //! \details key must be at least DEFAULT_KEYLENGTH in length. virtual void UncheckedSetKey(const byte *key, unsigned int length, const NameValuePairs ¶ms) =0; //! \brief Validates the key length @@ -573,30 +623,30 @@ protected: //! \brief Validates the object //! \throws InvalidArgument if the IV is present - //! \details Internally, the default implementation calls \p IsResynchronizable() and throws - //! \p InvalidArgument if the function returns \p true. + //! \details Internally, the default implementation calls IsResynchronizable() and throws + //! InvalidArgument if the function returns true. //! \note called when no IV is passed void ThrowIfResynchronizable(); //! \brief Validates the IV - //! \param iv the IV with a length of \p IVSize, in bytes + //! \param iv the IV with a length of IVSize, in bytes //! \throws InvalidArgument on failure - //! \details Internally, the default implementation checks the \p iv. If \p iv is not \p NULL, - //! then the function succeeds. If \p iv is \p NULL, then \p IVRequirement is checked against - //! \p UNPREDICTABLE_RANDOM_IV. If \p IVRequirement is \p UNPREDICTABLE_RANDOM_IV, then + //! \details Internally, the default implementation checks the iv. If iv is not NULL, + //! then the function succeeds. If iv is NULL, then IVRequirement is checked against + //! UNPREDICTABLE_RANDOM_IV. If IVRequirement is UNPREDICTABLE_RANDOM_IV, then //! then the function succeeds. Otherwise, an exception is thrown. void ThrowIfInvalidIV(const byte *iv); //! \brief Validates the IV length //! \param length the size of the IV, in bytes - //! \throws InvalidArgument if the number of \p rounds are invalid + //! \throws InvalidArgument if the number of rounds are invalid size_t ThrowIfInvalidIVLength(int length); //! \brief retrieves and validates the IV - //! \param params \p NameValuePairs with the IV supplied as a \p ConstByteArrayParameter + //! \param params NameValuePairs with the IV supplied as a ConstByteArrayParameter //! \param size the length of the IV, in bytes - //! \returns a pointer to the first byte of the \p IV - //! \throws InvalidArgument if the number of \p rounds are invalid + //! \returns a pointer to the first byte of the IV + //! \throws InvalidArgument if the number of rounds are invalid const byte * GetIVAndThrowIfInvalid(const NameValuePairs ¶ms, size_t &size); //! \brief Validates the key length @@ -606,193 +656,353 @@ protected: }; //! \brief Interface for the data processing part of block ciphers - -/*! Classes derived from BlockTransformation are block ciphers - in ECB mode (for example the DES::Encryption class), which are stateless. - These classes should not be used directly, but only in combination with - a mode class (see CipherModeDocumentation in modes.h). -*/ +//! \details Classes derived from BlockTransformation are block ciphers +//! in ECB mode (for example the DES::Encryption class), which are stateless. +//! These classes should not be used directly, but only in combination with +//! a mode class (see CipherModeDocumentation in modes.h). class CRYPTOPP_DLL CRYPTOPP_NO_VTABLE BlockTransformation : public Algorithm { public: - //! encrypt or decrypt inBlock, xor with xorBlock, and write to outBlock + //! \brief Encrypt or decrypt a block + //! \param inBlock the input message before processing + //! \param outBlock the output message after processing + //! \param xorBlock an optional XOR mask + //! \details ProcessAndXorBlock encrypts or decrypts inBlock, xor with xorBlock, and write to outBlock. + //! \details The size of the block is determined by the block cipher and its documentation. Use + //! BLOCKSIZE at compile time, or BlockSize() at runtime. + //! \note The message can be transformed in-place, or the buffers must \a not overlap + //! \sa FixedBlockSize, BlockCipherFinal from seckey.h and BlockSize() virtual void ProcessAndXorBlock(const byte *inBlock, const byte *xorBlock, byte *outBlock) const =0; - //! encrypt or decrypt one block - /*! \pre size of inBlock and outBlock == BlockSize() */ + //! \brief Encrypt or decrypt a block + //! \param inBlock the input message before processing + //! \param outBlock the output message after processing + //! \details ProcessBlock encrypts or decrypts inBlock and write to outBlock. + //! \details The size of the block is determined by the block cipher and its documentation. + //! Use BLOCKSIZE at compile time, or BlockSize() at runtime. + //! \sa FixedBlockSize, BlockCipherFinal from seckey.h and BlockSize() + //! \note The message can be transformed in-place, or the buffers must \a not overlap void ProcessBlock(const byte *inBlock, byte *outBlock) const {ProcessAndXorBlock(inBlock, NULL, outBlock);} - //! encrypt or decrypt one block in place + //! \brief Encrypt or decrypt a block in place + //! \param inoutBlock the input message before processing + //! \details ProcessBlock encrypts or decrypts inoutBlock in-place. + //! \details The size of the block is determined by the block cipher and its documentation. + //! Use BLOCKSIZE at compile time, or BlockSize() at runtime. + //! \sa FixedBlockSize, BlockCipherFinal from seckey.h and BlockSize() void ProcessBlock(byte *inoutBlock) const {ProcessAndXorBlock(inoutBlock, NULL, inoutBlock);} - //! block size of the cipher in bytes + //! Provides the block size of the cipher + //! \returns the block size of the cipher, in bytes virtual unsigned int BlockSize() const =0; - //! returns how inputs and outputs should be aligned for optimal performance + //! \brief Provides input and output data alignment for optimal performance. + //! \returns the input data alignment that provides optimal performance virtual unsigned int OptimalDataAlignment() const; //! returns true if this is a permutation (i.e. there is an inverse transformation) virtual bool IsPermutation() const {return true;} - //! returns true if this is an encryption object + //! \brief Determines if the cipher is being operated in its forward direction + //! \returns true if DIR is ENCRYPTION, false otherwise + //! \sa IsForwardTransformation(), IsPermutation(), GetCipherDirection() virtual bool IsForwardTransformation() const =0; - //! return number of blocks that can be processed in parallel, for bit-slicing implementations + //! \brief Determines the number of blocks that can be processed in parallel + //! \return the number of blocks that can be processed in parallel, for bit-slicing implementations + //! \details Bit-slicing is often used to improve throughput and minimize timing attacks. virtual unsigned int OptimalNumberOfParallelBlocks() const {return 1;} - enum {BT_InBlockIsCounter=1, BT_DontIncrementInOutPointers=2, BT_XorInput=4, BT_ReverseDirection=8, BT_AllowParallel=16} FlagsForAdvancedProcessBlocks; + //! \brief Bit flags that control AdvancedProcessBlocks() behavior + enum FlagsForAdvancedProcessBlocks { + //! \brief inBlock is a counter + BT_InBlockIsCounter=1, + //! \brief should not modify block pointers + BT_DontIncrementInOutPointers=2, + //! \brief + BT_XorInput=4, + //! \brief perform the transformation in reverse + BT_ReverseDirection=8, + //! \brief + BT_AllowParallel=16}; - //! encrypt and xor blocks according to flags (see FlagsForAdvancedProcessBlocks) - /*! /note If BT_InBlockIsCounter is set, then the last byte of inBlocks may be modified. */ + //! \brief Encrypt and xor multiple blocks using additional flags + //! \param inBlocks the input message before processing + //! \param xorBlocks an optional XOR mask + //! \param outBlocks the output message after processing + //! \param length the size of the blocks, in bytes + //! \param flags additional flags to control processing + //! \details Encrypt and xor multiple blocks according to FlagsForAdvancedProcessBlocks flags. + //! \note If BT_InBlockIsCounter is set, then the last byte of inBlocks may be modified. virtual size_t AdvancedProcessBlocks(const byte *inBlocks, const byte *xorBlocks, byte *outBlocks, size_t length, word32 flags) const; + //! \sa IsForwardTransformation(), IsPermutation(), GetCipherDirection() inline CipherDir GetCipherDirection() const {return IsForwardTransformation() ? ENCRYPTION : DECRYPTION;} - + #ifndef CRYPTOPP_MAINTAIN_BACKWARDS_COMPATIBILITY_562 virtual ~BlockTransformation() {} #endif }; +//! \class StreamTransformation //! \brief Interface for the data processing portion of stream ciphers +//! \sa StreamTransformationFilter() class CRYPTOPP_DLL CRYPTOPP_NO_VTABLE StreamTransformation : public Algorithm { public: - //! \brief Return a reference to this object + //! \brief Provides a reference to this object + //! \returns A reference to this object //! \details Useful for passing a temporary object to a function that takes a non-const reference StreamTransformation& Ref() {return *this;} - //! \brief returns block size, if input must be processed in blocks, otherwise 1 + //! \brief Provides the mandatory block size of the cipher + //! \returns The block size of the cipher if input must be processed in blocks, 1 otherwise virtual unsigned int MandatoryBlockSize() const {return 1;} - //! \brief returns the input block size that is most efficient for this cipher - /*! \note optimal input length is n * OptimalBlockSize() - GetOptimalBlockSizeUsed() for any n > 0 */ + //! \brief Provides the input block size most efficient for this cipher. + //! \returns The input block size that is most efficient for the cipher + //! \details The base class implemnetation returns MandatoryBlockSize(). + //! \note Optimal input length is + //! n * OptimalBlockSize() - GetOptimalBlockSizeUsed() for any n \> 0. virtual unsigned int OptimalBlockSize() const {return MandatoryBlockSize();} - //! \brief returns how much of the current block is used up + + //! \brief Provides the number of bytes used in the current block when processing at optimal block size. + //! \returns the number of bytes used in the current block when processing at the optimal block size virtual unsigned int GetOptimalBlockSizeUsed() const {return 0;} - - //! \brief returns how input should be aligned for optimal performance + + //! \brief Provides input and output data alignment for optimal performance. + //! \returns the input data alignment that provides optimal performance virtual unsigned int OptimalDataAlignment() const; - //! \brief encrypt or decrypt an array of bytes of specified length - //! \note either inString == outString, or they don't overlap + //! \brief Encrypt or decrypt an array of bytes + //! \param outString the output byte buffer + //! \param inString the input byte buffer + //! \param length the size of the input and output byte buffers, in bytes + //! \details Either inString == outString, or they must not overlap. virtual void ProcessData(byte *outString, const byte *inString, size_t length) =0; - //! \brief Encrypt or decrypt the last block of data for ciphers where the last block of data is special - //! For now the only use of this function is for CBC-CTS mode. + //! \brief Encrypt or decrypt the last block of data + //! \param outString the output byte buffer + //! \param inString the input byte buffer + //! \param length the size of the input and output byte buffers, in bytes + //! ProcessLastBlock is used when the last block of data is special. + //! Currently the only use of this function is CBC-CTS mode. virtual void ProcessLastBlock(byte *outString, const byte *inString, size_t length); + //! returns the minimum size of the last block, 0 indicating the last block is not special virtual unsigned int MinLastBlockSize() const {return 0;} - //! same as ProcessData(inoutString, inoutString, length) + //! \brief Encrypt or decrypt a string of bytes + //! \param inoutString the string to process + //! \param length the size of the inoutString, in bytes + //! \details Internally, the base class implementation calls ProcessData(). inline void ProcessString(byte *inoutString, size_t length) {ProcessData(inoutString, inoutString, length);} - //! same as ProcessData(outString, inString, length) + + //! \brief Encrypt or decrypt a string of bytes + //! \param outString the output string to process + //! \param inString the input string to process + //! \param length the size of the input and output strings, in bytes + //! \details Internally, the base class implementation calls ProcessData(). inline void ProcessString(byte *outString, const byte *inString, size_t length) {ProcessData(outString, inString, length);} - //! implemented as {ProcessData(&input, &input, 1); return input;} + + //! \brief Encrypt or decrypt a byte + //! \param input the input byte to process + //! \details Internally, the base class implementation calls ProcessData() with a size of 1. inline byte ProcessByte(byte input) {ProcessData(&input, &input, 1); return input;} - //! returns whether this cipher supports random access + //! \brief Determines whether the cipher supports random access + //! \returns true if the cipher supports random access, false otherwise virtual bool IsRandomAccess() const =0; - //! for random access ciphers, seek to an absolute position - virtual void Seek(lword n) + + //! \brief Seek to an absolute position + //! \param pos position to seek + //! \throws NotImplemented + //! \details The base class implementation throws NotImplemented. The function + //! asserts IsRandomAccess() in debug builds. + virtual void Seek(lword pos) { - CRYPTOPP_UNUSED(n); + CRYPTOPP_UNUSED(pos); assert(!IsRandomAccess()); throw NotImplemented("StreamTransformation: this object doesn't support random access"); } - //! returns whether this transformation is self-inverting (e.g. xor with a keystream) + //! \brief Determines whether the cipher is self-inverting + //! \returns true if the cipher is self-inverting, false otherwise + //! \details IsSelfInverting determines whether this transformation is + //! self-inverting (e.g. xor with a keystream). virtual bool IsSelfInverting() const =0; - //! returns whether this is an encryption object + + //! \brief Determines if the cipher is being operated in its forward direction + //! \returns true if DIR is ENCRYPTION, false otherwise + //! \sa IsForwardTransformation(), IsPermutation(), GetCipherDirection() virtual bool IsForwardTransformation() const =0; - + #ifndef CRYPTOPP_MAINTAIN_BACKWARDS_COMPATIBILITY_562 virtual ~StreamTransformation() {} #endif }; +//! \class HashTransformation //! \brief Interface for hash functions and data processing part of MACs -/*! HashTransformation objects are stateful. They are created in an initial state, - change state as Update() is called, and return to the initial - state when Final() is called. This interface allows a large message to - be hashed in pieces by calling Update() on each piece followed by - calling Final(). -*/ +//! \details HashTransformation objects are stateful. They are created in an initial state, +//! change state as Update() is called, and return to the initial +//! state when Final() is called. This interface allows a large message to +//! be hashed in pieces by calling Update() on each piece followed by +//! calling Final(). +//! \sa HashFilter(), HashVerificationFilter() class CRYPTOPP_DLL CRYPTOPP_NO_VTABLE HashTransformation : public Algorithm { public: - //! \brief Return a reference to this object + //! \brief Provides a reference to this object + //! \returns A reference to this object //! \details Useful for passing a temporary object to a function that takes a non-const reference HashTransformation& Ref() {return *this;} - //! process more input + //! \brief Updates a hash with additional input + //! \param input the additional input as a buffer + //! \param length the size of the buffer, in bytes virtual void Update(const byte *input, size_t length) =0; - //! request space to write input into + //! \brief Request space which can be written into by the caller + //! \param size the requested size of the buffer + //! \details The purpose of this method is to help avoid extra memory allocations. + //! \details size is an \a IN and \a OUT parameter and used as a hint. When the call is made, + //! size is the requested size of the buffer. When the call returns, size is the size of + //! the array returned to the caller. + //! \details The base class implementation sets size to 0 and returns NULL. + //! \note Some objects, like ArraySink, cannot create a space because its fixed. In the case of virtual byte * CreateUpdateSpace(size_t &size) {size=0; return NULL;} - //! compute hash for current message, then restart for a new message - /*! \pre size of digest == DigestSize(). */ + //! \brief Computes the hash of the current message + //! \param digest a pointer to the buffer to receive the hash + //! \details digest must be equal to (or greater than) DigestSize(). Final() restarts the + //! hash for a new message. virtual void Final(byte *digest) {TruncatedFinal(digest, DigestSize());} - //! discard the current state, and restart with a new message + //! \brief Restart the hash + //! \details Discards the current state, and restart for a new message virtual void Restart() {TruncatedFinal(NULL, 0);} - //! size of the hash/digest/MAC returned by Final() + //! Provides the digest size of the hash + //! \returns the digest size of the hash. + //! \details Calls to Final() require a buffer that is equal to (or greater than) DigestSize(). virtual unsigned int DigestSize() const =0; - //! same as DigestSize() + //! Provides the tag size of the hash + //! \returns the tag size of the hash. + //! \details Same as DigestSize(). unsigned int TagSize() const {return DigestSize();} - - - //! block size of underlying compression function, or 0 if not block based + + //! \brief Provides the block size of the compression function + //! \returns the block size of the compression function, in bytes + //! \details BlockSize() will return 0 if the hash is not block based. For example, + //! SHA3 is a recursive hash (not an iterative hash), and it does not have a block size. virtual unsigned int BlockSize() const {return 0;} - //! input to Update() should have length a multiple of this for optimal speed + //! \brief Provides the input block size most efficient for this hash. + //! \returns The input block size that is most efficient for the cipher + //! \details The base class implemnetation returns MandatoryBlockSize(). + //! \note Optimal input length is + //! n * OptimalBlockSize() - GetOptimalBlockSizeUsed() for any n \> 0. virtual unsigned int OptimalBlockSize() const {return 1;} - //! returns how input should be aligned for optimal performance + //! \brief Provides input and output data alignment for optimal performance + //! \returns the input data alignment that provides optimal performance virtual unsigned int OptimalDataAlignment() const; - - //! use this if your input is in one piece and you don't want to call Update() and Final() separately + + //! \brief Updates the hash with additional input and computes the hash of the current message + //! \param digest a pointer to the buffer to receive the hash + //! \param input the additional input as a buffer + //! \param length the size of the buffer, in bytes + //! \details Use this if your input is in one piece and you don't want to call Update() + //! and Final() separately + //! \details CalculateDigest() restarts the hash for the next nmessage. virtual void CalculateDigest(byte *digest, const byte *input, size_t length) {Update(input, length); Final(digest);} - - //! verify that digest is a valid digest for the current message, then reinitialize the object - /*! Default implementation is to call Final() and do a bitwise comparison - between its output and digest. */ + + //! \brief Verifies the hash of the current message + //! \param digest a pointer to the buffer of an \a existing hash + //! \returns \p true if the existing hash matches the computed hash, \p false otherwise + //! \throws ThrowIfInvalidTruncatedSize() if the existing hash's size exceeds DigestSize() + //! \details Calls to Verify() require a buffer that is equal to (or greater than) DigestSize(). + //! \details Verify() performs a bitwise compare on the buffers using VerifyBufsEqual(), which is + //! a constant time comparison function. digestLength cannot exceed DigestSize(). + //! \details Verify() restarts the hash for the next nmessage. virtual bool Verify(const byte *digest) {return TruncatedVerify(digest, DigestSize());} - //! use this if your input is in one piece and you don't want to call Update() and Verify() separately + //! \brief Updates the hash with additional input and verifies the hash of the current message + //! \param digest a pointer to the buffer of an \a existing hash + //! \param input the additional input as a buffer + //! \param length the size of the buffer, in bytes + //! \returns \p true if the existing hash matches the computed hash, \p false otherwise + //! \throws ThrowIfInvalidTruncatedSize() if the existing hash's size exceeds DigestSize() + //! \details Use this if your input is in one piece and you don't want to call Update() + //! and Verify() separately + //! \details VerifyDigest() performs a bitwise compare on the buffers using VerifyBufsEqual(), + //! which is a constant time comparison function. digestLength cannot exceed DigestSize(). + //! \details VerifyDigest() restarts the hash for the next nmessage. virtual bool VerifyDigest(const byte *digest, const byte *input, size_t length) {Update(input, length); return Verify(digest);} - //! truncated version of Final() + //! \brief Computes the hash of the current message + //! \param digest a pointer to the buffer to receive the hash + //! \param digestSize the size of the truncated digest, in bytes + //! \details TruncatedFinal() call Final() and then copies digestSize bytes to digest + //! \details TruncatedFinal() restarts the hash for the next nmessage. virtual void TruncatedFinal(byte *digest, size_t digestSize) =0; - //! truncated version of CalculateDigest() + //! \brief Updates the hash with additional input and computes the hash of the current message + //! \param digest a pointer to the buffer to receive the hash + //! \param digestSize the length of the truncated hash, in bytes + //! \param input the additional input as a buffer + //! \param length the size of the buffer, in bytes + //! \details Use this if your input is in one piece and you don't want to call Update() + //! and CalculateDigest() separately. + //! \details CalculateTruncatedDigest() restarts the hash for the next nmessage. virtual void CalculateTruncatedDigest(byte *digest, size_t digestSize, const byte *input, size_t length) {Update(input, length); TruncatedFinal(digest, digestSize);} - //! truncated version of Verify() + //! \brief Verifies the hash of the current message + //! \param digest a pointer to the buffer of an \a existing hash + //! \param digestLength the size of the truncated hash, in bytes + //! \returns \p true if the existing hash matches the computed hash, \p false otherwise + //! \throws ThrowIfInvalidTruncatedSize() if digestLength exceeds DigestSize() + //! \details TruncatedVerify() is a truncated version of Verify(). It can operate on a + //! buffer smaller than DigestSize(). However, digestLength cannot exceed DigestSize(). + //! \details Verify() performs a bitwise compare on the buffers using VerifyBufsEqual(), which is + //! a constant time comparison function. digestLength cannot exceed DigestSize(). + //! \details TruncatedVerify() restarts the hash for the next nmessage. virtual bool TruncatedVerify(const byte *digest, size_t digestLength); - //! truncated version of VerifyDigest() + //! \brief Updates the hash with additional input and verifies the hash of the current message + //! \param digest a pointer to the buffer of an \a existing hash + //! \param digestLength the size of the truncated hash, in bytes + //! \param input the additional input as a buffer + //! \param length the size of the buffer, in bytes + //! \returns \p true if the existing hash matches the computed hash, \p false otherwise + //! \throws ThrowIfInvalidTruncatedSize() if digestLength exceeds DigestSize() + //! \details Use this if your input is in one piece and you don't want to call Update() + //! and TruncatedVerify() separately. + //! \details VerifyTruncatedDigest() is a truncated version of VerifyDigest(). It can operate + //! on a buffer smaller than DigestSize(). However, digestLength cannot exceed DigestSize(). + //! \details VerifyTruncatedDigest() restarts the hash for the next nmessage. virtual bool VerifyTruncatedDigest(const byte *digest, size_t digestLength, const byte *input, size_t length) {Update(input, length); return TruncatedVerify(digest, digestLength);} - + #ifndef CRYPTOPP_MAINTAIN_BACKWARDS_COMPATIBILITY_562 virtual ~HashTransformation() {} #endif protected: + //! \brief Exception thrown when the truncated digest size is greater than DigestSize() void ThrowIfInvalidTruncatedSize(size_t size) const; }; @@ -820,7 +1030,7 @@ protected: const Algorithm & GetAlgorithm() const {return *this;} }; -//! \brief Interface for for one direction (encryption or decryption) of a stream cipher or block cipher mode with authentication +//! \brief Interface for one direction (encryption or decryption) of a stream cipher or block cipher mode with authentication /*! The StreamTransformation part of this interface is used to encrypt/decrypt the data, and the MessageAuthenticationCode part of this interface is used to input additional authenticated data (AAD, which is MAC'ed but not encrypted), and to generate/verify the MAC. */ class CRYPTOPP_DLL CRYPTOPP_NO_VTABLE AuthenticatedSymmetricCipher : public MessageAuthenticationCode, public StreamTransformation @@ -852,7 +1062,7 @@ public: // redeclare this to avoid compiler ambiguity errors virtual std::string AlgorithmName() const =0; - + #ifndef CRYPTOPP_MAINTAIN_BACKWARDS_COMPATIBILITY_562 virtual ~AuthenticatedSymmetricCipher() {} #endif @@ -871,7 +1081,7 @@ typedef SymmetricCipher StreamCipher; //! \class RandomNumberGenerator //! \brief Interface for random number generators //! \details The library provides a number of random number generators, from software based to hardware based generators. -//! \details All return values are uniformly distributed over the range specified. +//! \details All generated values are uniformly distributed over the range specified. class CRYPTOPP_DLL CRYPTOPP_NO_VTABLE RandomNumberGenerator : public Algorithm { public: @@ -879,10 +1089,10 @@ public: //! \param input the entropy to add to the generator //! \param length the size of the input buffer //! \throws NotImplemented - //! \details A generator may or may not accept additional entropy. Call \p CanIncorporateEntropy to test for the + //! \details A generator may or may not accept additional entropy. Call CanIncorporateEntropy() to test for the //! ability to use additional entropy. - //! \details If a derived class does not override \p IncorporateEntropy, then the base class throws - //! \p NotImplemented. + //! \details If a derived class does not override IncorporateEntropy(), then the base class throws + //! NotImplemented. virtual void IncorporateEntropy(const byte *input, size_t length) { CRYPTOPP_UNUSED(input); CRYPTOPP_UNUSED(length); @@ -890,44 +1100,55 @@ public: } //! \brief Determines if a generator can accept additional entropy - //! \returns true if IncorporateEntropy is implemented + //! \returns true if IncorporateEntropy() is implemented virtual bool CanIncorporateEntropy() const {return false;} //! \brief Generate new random byte and return it - //! \details default implementation is to call GenerateBlock() with one byte + //! \returns a random 8-bit byte + //! \details Default implementation calls GenerateBlock() with one byte. + //! \details All generated values are uniformly distributed over the range specified within the + //! the contraints of a particular generator. virtual byte GenerateByte(); //! \brief Generate new random bit and return it //! \returns a random bit //! \details The default implementation calls GenerateByte() and return its lowest bit. + //! \details All generated values are uniformly distributed over the range specified within the + //! the contraints of a particular generator. virtual unsigned int GenerateBit(); //! \brief Generate a random 32 bit word in the range min to max, inclusive //! \param min the lower bound of the range //! \param max the upper bound of the range //! \returns a random 32-bit word - //! \details The default implementation calls \p Crop on the difference between \p max and - //! \p min, and then returns the result added to \p min. - virtual word32 GenerateWord32(word32 min=0, word32 max=0xffffffffL); + //! \details The default implementation calls Crop() on the difference between max and + //! min, and then returns the result added to min. + //! \details All generated values are uniformly distributed over the range specified within the + //! the contraints of a particular generator. + virtual word32 GenerateWord32(word32 min=0, word32 max=0xffffffffUL); //! \brief Generate random array of bytes //! \param output the byte buffer //! \param size the length of the buffer, in bytes - //! \note A derived generator \a must override either \p GenerateBlock or - //! \p GenerateIntoBufferedTransformation. They can override both, or have one call the other. + //! \details All generated values are uniformly distributed over the range specified within the + //! the contraints of a particular generator. + //! \note A derived generator \a must override either GenerateBlock() or + //! GenerateIntoBufferedTransformation(). They can override both, or have one call the other. virtual void GenerateBlock(byte *output, size_t size); //! \brief Generate random bytes into a BufferedTransformation //! \param target the BufferedTransformation object which receives the bytes //! \param channel the channel on which the bytes should be pumped //! \param length the number of bytes to generate - //! \details The default implementation calls \p GenerateBlock() and pumps the result into - //! the \p DEFAULT_CHANNEL of the target. - //! \note A derived generator \a must override either \p GenerateBlock or - //! \p GenerateIntoBufferedTransformation. They can override both, or have one call the other. + //! \details The default implementation calls GenerateBlock() and pumps the result into + //! the DEFAULT_CHANNEL of the target. + //! \details All generated values are uniformly distributed over the range specified within the + //! the contraints of a particular generator. + //! \note A derived generator \a must override either GenerateBlock() or + //! GenerateIntoBufferedTransformation(). They can override both, or have one call the other. virtual void GenerateIntoBufferedTransformation(BufferedTransformation &target, const std::string &channel, lword length); - //! \brief Generate and discard \p n bytes + //! \brief Generate and discard n bytes //! \param n the number of bytes to generate and discard virtual void DiscardBytes(size_t n); @@ -953,100 +1174,17 @@ public: word16 GetShort(word16 a=0, word16 b=0xffff) {return (word16)GenerateWord32(a, b);} void GetBlock(byte *output, size_t size) {GenerateBlock(output, size);} #endif + }; -//! returns a reference that can be passed to functions that ask for a RNG but doesn't actually use it +//! \brief Random Number Generator that does not produce random numbers +//! \returns reference that can be passed to functions that require a RandomNumberGenerator +//! \details NullRNG() returns a reference that can be passed to functions that require a +//! RandomNumberGenerator but don't actually use it. The NullRNG() throws NotImplemented +//! when a generation function is called. +//! \sa ClassNullRNG CRYPTOPP_DLL RandomNumberGenerator & CRYPTOPP_API NullRNG(); -//! \brief Interface for checking device state -//! \details Generally speaking, this class attempts to provide four states: (1) not available/not present, -//! (2) available/present, (3) offline/not ready, and (4) online/ready. -//! If a device is Available, then it generally means its present at the time of the call. For example, -//! a 2012 Ivy Bridge processor will return \a Available for RDRAND, and a Broadwell processor will return -//! \a Available for and RDSEED. -//! \details If a device is Not Available, then it could be missing. For example, RDRAND and RDSEED are not -//! present on a 2000 era X86 CPU, so it should never be Available. Or a Smartcard or YubiKey may not be -//! plugged into a computer. -//! \details If a device is Ready, then it can service requests at the time of the call. For example, a -//! 2012 Ivy Bridge processor will return \a Ready for RDRAND, and a Broadwell processor will return -//! \a Ready for and RDSEED. -//! \details If a device is Not Ready, then it could uninitialized or locked. For example, a Smartcard or YubiKey -//! may be present but unitiialized or locked. The device may be waiting on a driver to be installed, -//! may be waiting to be intialized, or may be waiting for a PIN or Passcode to unlock it, etc. -//! \details Ready should always follow Available; however, the converse is not true. That is, a device that -//! is Not Ready does not mean that its Not Available. Not Ready only indicates the device is offline -//! at the time of the call. -//! \details A not-so-apparent use case is a software implementation. For example, you can have a Crypto++ -//! wrapper around Microsoft's CryptoNG or Apple's CommonCrypto for FIPS 140-2 validated cryptography. -//! The \p DeviceState could provide the standard interface to query the relevant Crypto++ implementation -//! for the feature. -class CRYPTOPP_NO_VTABLE DeviceState -{ -public: - //! \enum State - //! \brief Enumeration of potential device states. - //! \details The library reserves the lower 8 bits. Derived classes are free to use the 24 unallocated bits. - enum State { - //! \brief the device is available or present - AVAILABLE = 1, - //! \brief the device is available or present - PRESENT = 1, - //! \brief the device is ready or online - READY = 2, - //! \brief the device is ready or online - ONLINE = 2, - //! \brief mask for Available and Ready bits - AR_MASK = 0x3, - //! \brief mask for bits reserved by the library - LIB_MASK= 0xff, - //! \brief mask for bits available for derived classes - USER_MASK = 0xffffff00 - }; - - //! \var NO_EXTENDED_INFO - //! \brief Distinguished value to indicate \p extendedInfo is not available - //! \details The value is \a not -1 to avoid conflicts with user values. - static const word64 NO_EXTENDED_INFO; - - //! \fn virtual bool Available(word64& extendedInfo) const - //! \brief Determines the availability of a device. - //! \param extendedInfo extended information for Availability status, if available. - //! \returns true if the device is present at the time of the call, false otherwise. - //! \details Derived classes can set \p extendedInfo to a meaningful code. There's no - //! guarantee a derived class will set it for either success and failure. Derived - //! classes should set \p extendedInfo to \p NO_EXTENDED_INFO if its not available. - //! \details Must be implemented by derived classes. See the class documentation for - //! \p DeviceState for semantics. - virtual bool Available(word64& extendedInfo) const = 0; - - //! \fn virtual bool Available() const - //! \brief Determines the availability of a device. - //! \returns true if the device is present at the time of the call, false otherwise. - //! \details Must be implemented by derived classes. See the class documentation for - //! \p DeviceState for semantics. - virtual bool Available() const = 0; - - //! \fn virtual bool Ready(word64& extendedInfo) const - //! \brief Determines the readiness of a device. - //! \param extendedInfo extended information for Ready status, if available. - //! \returns true if the device can service a request at the time of the call, false otherwise. - //! \details Derived classes can set \p extendedInfo to a meaningful code. There's no guarantee - //! a derived class will set it for either success and failure. Derived classes should set - //! \p extendedInfo to \p NO_EXTENDED_INFO if its not available. - //! \details Must be implemented by derived classes. See the class documentation for - //! \p DeviceState for semantics. - virtual bool Ready(word64& extendedInfo) const = 0; - - //! \fn virtual bool Ready() const - //! \brief Determines the readiness of a device. - //! \returns true if the device can service a request at the time of the call, false otherwise. - //! \details Must be implemented by derived classes. See the class documentation for - //! \p DeviceState for semantics. - virtual bool Ready() const = 0; - - virtual ~DeviceState() {} -}; - //! \class WaitObjectContainer class WaitObjectContainer; //! \class CallStack @@ -1063,10 +1201,10 @@ public: //! \brief Retrieves waitable objects //! \param container the wait container to receive the references to the objects. - //! \param callStack \p CallStack object used to select waitable objects - //! \details \p GetWaitObjects is usually called in one of two ways. First, it can + //! \param callStack CallStack object used to select waitable objects + //! \details GetWaitObjects is usually called in one of two ways. First, it can //! be called like something.GetWaitObjects(c, CallStack("my func after X", 0));. - //! Second, if in an outer \p GetWaitObjects() method that itself takes a callStack + //! Second, if in an outer GetWaitObjects() method that itself takes a callStack //! parameter, it can be called like //! innerThing.GetWaitObjects(c, CallStack("MyClass::GetWaitObjects at X", &callStack));. virtual void GetWaitObjects(WaitObjectContainer &container, CallStack const& callStack) =0; @@ -1076,22 +1214,22 @@ public: bool Wait(unsigned long milliseconds, CallStack const& callStack); }; -//! \brief Default channel for \p BufferedTransformation -//! \details \p DEFAULT_CHANNEL is equal to an empty \p string +//! \brief Default channel for BufferedTransformation +//! \details DEFAULT_CHANNEL is equal to an empty string extern CRYPTOPP_DLL const std::string DEFAULT_CHANNEL; //! \brief Channel for additional authenticated data -//! \details \p AAD_CHANNEL is equal to "AAD" +//! \details AAD_CHANNEL is equal to "AAD" extern CRYPTOPP_DLL const std::string AAD_CHANNEL; //! \brief Interface for buffered transformations -//! \details \p BufferedTransformation is a generalization of \p BlockTransformation, -//! \p StreamTransformation and \p HashTransformation. +//! \details BufferedTransformation is a generalization of BlockTransformation, +//! StreamTransformation and HashTransformation. //! \details A buffered transformation is an object that takes a stream of bytes as input (this may //! be done in stages), does some computation on them, and then places the result into an internal //! buffer for later retrieval. Any partial result already in the output buffer is not modified //! by further input. -//! \details If a method takes a "blocking" parameter, and you pass \p false for it, then the method +//! \details If a method takes a "blocking" parameter, and you pass false for it, then the method //! will return before all input has been processed if the input cannot be processed without waiting //! (for network buffers to become available, for example). In this case the method will return true //! or a non-zero integer value. When this happens you must continue to call the method with the same @@ -1099,11 +1237,11 @@ extern CRYPTOPP_DLL const std::string AAD_CHANNEL; //! /p BufferedTransformation. The integer return value in this case is approximately //! the number of bytes left to be processed, and can be used to implement a progress bar. //! \details For functions that take a "propagation" parameter, propagation != 0 means pass on -//! the signal to attached \p BufferedTransformation objects, with propagation decremented at each +//! the signal to attached BufferedTransformation objects, with propagation decremented at each //! step until it reaches 0. -1 means unlimited propagation. -//! \details \a All of the retrieval functions, like \p Get and \p GetWord32, return the actual -//! number of bytes retrieved, which is the lesser of the request number and \p MaxRetrievable(). -//! \details \a Most of the input functions, like \p Put and \p PutWord32, return the number of +//! \details \a All of the retrieval functions, like Get() and GetWord32(), return the actual +//! number of bytes retrieved, which is the lesser of the request number and MaxRetrievable(). +//! \details \a Most of the input functions, like Put() and PutWord32(), return the number of //! bytes remaining to be processed. A 0 value means all bytes were processed, and a non-0 value //! means bytes remain to be processed. //! \nosubgrouping @@ -1116,7 +1254,7 @@ public: BufferedTransformation() : Algorithm(false) {} //! \brief Provides a reference to this object - //! \returns a reference to this object + //! \returns A reference to this object //! \details Useful for passing a temporary object to a function that takes a non-const reference BufferedTransformation& Ref() {return *this;} @@ -1131,49 +1269,49 @@ public: size_t Put(byte inByte, bool blocking=true) {return Put(&inByte, 1, blocking);} - //! \brief Input a byte array for processing - //! \param inString the byte array to process + //! \brief Input a byte buffer for processing + //! \param inString the byte buffer to process //! \param length the size of the string, in bytes //! \param blocking specifies whether the object should block when processing input //! \returns the number of bytes that remain in the block (i.e., bytes not processed) - //! \details Internally, \p Put() calls \p Put2(). + //! \details Internally, Put() calls Put2(). size_t Put(const byte *inString, size_t length, bool blocking=true) {return Put2(inString, length, 0, blocking);} //! Input a 16-bit word for processing. //! \param value the 16-bit value to be processed - //! \param order the \p ByteOrder in which the word should be processed + //! \param order the ByteOrder in which the word should be processed //! \param blocking specifies whether the object should block when processing input //! \returns the number of bytes that remain in the block (i.e., bytes not processed) size_t PutWord16(word16 value, ByteOrder order=BIG_ENDIAN_ORDER, bool blocking=true); //! Input a 32-bit word for processing. //! \param value the 32-bit value to be processed. - //! \param order the \p ByteOrder in which the word should be processed. + //! \param order the ByteOrder in which the word should be processed. //! \param blocking specifies whether the object should block when processing input. //! \returns the number of bytes that remain in the block (i.e., bytes not processed) size_t PutWord32(word32 value, ByteOrder order=BIG_ENDIAN_ORDER, bool blocking=true); - //! \brief Request space which can be written into by the caller, and then used as input to \p Put + //! \brief Request space which can be written into by the caller //! \param size the requested size of the buffer //! \details The purpose of this method is to help avoid extra memory allocations. - //! \details \p size is an \a IN and \a OUT parameter and used as a hint. When the call is made, - //! \p size is the requested size of the buffer. When the call returns, \p size is the size of + //! \details size is an \a IN and \a OUT parameter and used as a hint. When the call is made, + //! size is the requested size of the buffer. When the call returns, size is the size of //! the array returned to the caller. - //! \details The base class implementation sets \p size to 0 and returns \p NULL. - //! \note Some objects, like \p ArraySink, cannot create a space because its fixed. In the case of - //! an \p ArraySink, the pointer to the array is returned and the \p size is remaining size. + //! \details The base class implementation sets size to 0 and returns NULL. + //! \note Some objects, like ArraySink, cannot create a space because its fixed. In the case of + //! an ArraySink, the pointer to the array is returned and the size is remaining size. virtual byte * CreatePutSpace(size_t &size) {size=0; return NULL;} //! \brief Determines whether input can be modifed by the callee //! \returns true if input can be modified, false otherwise - //! \details The base class implementation returns \p false. + //! \details The base class implementation returns false. virtual bool CanModifyInput() const {return false;} //! \brief Input multiple bytes that may be modified by callee. - //! \param inString the byte array to process + //! \param inString the byte buffer to process //! \param length the size of the string, in bytes //! \param blocking specifies whether the object should block when processing input //! \returns 0 indicates all bytes were processed during the call. Non-0 indicates the @@ -1182,39 +1320,39 @@ public: {return PutModifiable2(inString, length, 0, blocking);} //! \brief Signals the end of messages to the object - //! \param propagation the number of attached transformations the \p MessageEnd() signal should be passed + //! \param propagation the number of attached transformations the MessageEnd() signal should be passed //! \param blocking specifies whether the object should block when processing input - //! \details \p propagation count includes this object. Setting \p propagation to 1 means this - //! object only. Setting \p propagation to -1 means unlimited propagation. + //! \details propagation count includes this object. Setting propagation to 1 means this + //! object only. Setting propagation to -1 means unlimited propagation. bool MessageEnd(int propagation=-1, bool blocking=true) {return !!Put2(NULL, 0, propagation < 0 ? -1 : propagation+1, blocking);} //! \brief Input multiple bytes for processing and signal the end of a message - //! \param inString the byte array to process + //! \param inString the byte buffer to process //! \param length the size of the string, in bytes - //! \param propagation the number of attached transformations the \p MessageEnd() signal should be passed + //! \param propagation the number of attached transformations the MessageEnd() signal should be passed //! \param blocking specifies whether the object should block when processing input - //! \details Internally, \p PutMessageEnd() calls \p Put2() with a modified \p propagation to + //! \details Internally, PutMessageEnd() calls Put2() with a modified propagation to //! ensure all attached transformations finish processing the message. - //! \details \p propagation count includes this object. Setting \p propagation to 1 means this - //! object only. Setting \p propagation to -1 means unlimited propagation. + //! \details propagation count includes this object. Setting propagation to 1 means this + //! object only. Setting propagation to -1 means unlimited propagation. size_t PutMessageEnd(const byte *inString, size_t length, int propagation=-1, bool blocking=true) {return Put2(inString, length, propagation < 0 ? -1 : propagation+1, blocking);} - //! \brief Input multiple bytes for processing. - //! \param inString the byte array to process. - //! \param length the size of the string, in bytes. - //! \param messageEnd means how many filters to signal \p MessageEnd to, including this one. - //! \param blocking specifies whether the object should block when processing input. - //! \details Derived classes must implement \p Put2. + //! \brief Input multiple bytes for processing + //! \param inString the byte buffer to process + //! \param length the size of the string, in bytes + //! \param messageEnd means how many filters to signal MessageEnd() to, including this one + //! \param blocking specifies whether the object should block when processing input + //! \details Derived classes must implement Put2(). virtual size_t Put2(const byte *inString, size_t length, int messageEnd, bool blocking) =0; //! \brief Input multiple bytes that may be modified by callee. - //! \param inString the byte array to process. + //! \param inString the byte buffer to process. //! \param length the size of the string, in bytes. - //! \param messageEnd means how many filters to signal \p MessageEnd to, including this one. + //! \param messageEnd means how many filters to signal MessageEnd() to, including this one. //! \param blocking specifies whether the object should block when processing input. - //! \details Internally, \p PutModifiable2() calls \p Put2(). + //! \details Internally, PutModifiable2() calls Put2(). virtual size_t PutModifiable2(byte *inString, size_t length, int messageEnd, bool blocking) {return Put2(inString, length, messageEnd, blocking);} @@ -1223,18 +1361,17 @@ public: {BlockingInputOnly(const std::string &s) : NotImplemented(s + ": Nonblocking input is not implemented by this object.") {}}; //@} - //! \section //! \name WAITING //@{ //! \brief Retrieves the maximum number of waitable objects unsigned int GetMaxWaitObjectCount() const; //! \brief Retrieves waitable objects - //! \param container the wait container to receive the references to the objects. - //! \param callStack \p CallStack object used to select waitable objects - //! \details \p GetWaitObjects is usually called in one of two ways. First, it can + //! \param container the wait container to receive the references to the objects + //! \param callStack CallStack object used to select waitable objects + //! \details GetWaitObjects is usually called in one of two ways. First, it can //! be called like something.GetWaitObjects(c, CallStack("my func after X", 0));. - //! Second, if in an outer \p GetWaitObjects() method that itself takes a callStack + //! Second, if in an outer GetWaitObjects() method that itself takes a callStack //! parameter, it can be called like //! innerThing.GetWaitObjects(c, CallStack("MyClass::GetWaitObjects at X", &callStack));. void GetWaitObjects(WaitObjectContainer &container, CallStack const& callStack); @@ -1244,16 +1381,16 @@ public: //@{ //! \brief Initialize or reinitialize this object, without signal propagation - //! \param parameters a set of \p NameValuePairs used to initialize this object + //! \param parameters a set of NameValuePairs used to initialize this object //! \throws NotImplemented - //! \details \p IsolatedInitialize is used to initialize or reinitialize an object using a variable + //! \details IsolatedInitialize() is used to initialize or reinitialize an object using a variable //! number of arbitrarily typed arguments. The function avoids the need for multiple constuctors providing //! all possible combintations of configurable parameters. - //! \details \p IsolatedInitialize does not call \p Initialize on attached transformations. If initialization - //! should be propagated, then use the \p Initialize function. - //! \details Setting \p propagation to -1 means unlimited propagation. - //! \details If a derived class does not override \p IsolatedInitialize, then the base class throws - //! \p NotImplemented. + //! \details IsolatedInitialize() does not call Initialize() on attached transformations. If initialization + //! should be propagated, then use the Initialize() function. + //! \details Setting propagation to -1 means unlimited propagation. + //! \details If a derived class does not override IsolatedInitialize(), then the base class throws + //! NotImplemented. virtual void IsolatedInitialize(const NameValuePairs ¶meters) { CRYPTOPP_UNUSED(parameters); throw NotImplemented("BufferedTransformation: this object can't be reinitialized"); @@ -1262,7 +1399,7 @@ public: //! \brief Flushes data buffered by this object, without signal propagation //! \param hardFlush indicates whether all data should be flushed //! \param blocking specifies whether the object should block when processing input - //! \note \p hardFlush must be used with care + //! \note hardFlush must be used with care virtual bool IsolatedFlush(bool hardFlush, bool blocking) =0; //! \brief Marks the end of a series of messages, without signal propagation @@ -1272,26 +1409,26 @@ public: {CRYPTOPP_UNUSED(blocking); return false;} //! \brief Initialize or reinitialize this object, with signal propagation - //! \param parameters a set of \p NameValuePairs used to initialize or reinitialize this object + //! \param parameters a set of NameValuePairs used to initialize or reinitialize this object //! and attached transformations - //! \param propagation the number of attached transformations the \p Initialize() signal should be passed - //! \details \p Initialize is used to initialize or reinitialize an object using a variable number of + //! \param propagation the number of attached transformations the Initialize() signal should be passed + //! \details Initialize() is used to initialize or reinitialize an object using a variable number of //! arbitrarily typed arguments. The function avoids the need for multiple constuctors providing //! all possible combintations of configurable parameters. - //! \details \p propagation count includes this object. Setting \p propagation to 1 means this - //! object only. Setting \p propagation to -1 means unlimited propagation. + //! \details propagation count includes this object. Setting propagation to 1 means this + //! object only. Setting propagation to -1 means unlimited propagation. virtual void Initialize(const NameValuePairs ¶meters=g_nullNameValuePairs, int propagation=-1); //! \brief Flush buffered input and/or output, with signal propagation //! \param hardFlush is used to indicate whether all data should be flushed - //! \param propagation the number of attached transformations the \p Flush() signal should be passed + //! \param propagation the number of attached transformations the Flush() signal should be passed //! \param blocking specifies whether the object should block when processing input - //! \details \p propagation count includes this object. Setting \p propagation to 1 means this - //! object only. Setting \p propagation to -1 means unlimited propagation. + //! \details propagation count includes this object. Setting propagation to 1 means this + //! object only. Setting propagation to -1 means unlimited propagation. //! \note Hard flushes must be used with care. It means try to process and output everything, even if - //! there may not be enough data to complete the action. For example, hard flushing a \p HexDecoder + //! there may not be enough data to complete the action. For example, hard flushing a HexDecoder //! would cause an error if you do it after inputing an odd number of hex encoded characters. - //! \note For some types of filters, like \p ZlibDecompressor, hard flushes can only + //! \note For some types of filters, like ZlibDecompressor, hard flushes can only //! be done at "synchronization points". These synchronization points are positions in the data //! stream that are created by hard flushes on the corresponding reverse filters, in this //! example ZlibCompressor. This is useful when zlib compressed data is moved across a @@ -1299,19 +1436,19 @@ public: virtual bool Flush(bool hardFlush, int propagation=-1, bool blocking=true); //! \brief Marks the end of a series of messages, with signal propagation - //! \param propagation the number of attached transformations the \p MessageSeriesEnd() signal should be passed + //! \param propagation the number of attached transformations the MessageSeriesEnd() signal should be passed //! \param blocking specifies whether the object should block when processing input //! \details Each object that receives the signal will perform its processing, decrement - //! \p propagation, and then pass the signal on to attached transformations if the value is not 0. - //! \details \p propagation count includes this object. Setting \p propagation to 1 means this - //! object only. Setting \p propagation to -1 means unlimited propagation. - //! \note There should be a \p MessageEnd immediately before \p MessageSeriesEnd. + //! propagation, and then pass the signal on to attached transformations if the value is not 0. + //! \details propagation count includes this object. Setting propagation to 1 means this + //! object only. Setting propagation to -1 means unlimited propagation. + //! \note There should be a MessageEnd() immediately before MessageSeriesEnd(). virtual bool MessageSeriesEnd(int propagation=-1, bool blocking=true); //! \brief Set propagation of automatically generated and transferred signals //! \param propagation then new value - //! \details Setting \p propagation to 0 means do not automaticly generate signals. Setting - //! \p propagation to -1 means unlimited propagation. + //! \details Setting propagation to 0 means do not automaticly generate signals. Setting + //! propagation to -1 means unlimited propagation. virtual void SetAutoSignalPropagation(int propagation) {CRYPTOPP_UNUSED(propagation);} @@ -1330,107 +1467,107 @@ public: //! \brief Provides the number of bytes ready for retrieval //! \returns the number of bytes ready for retrieval //! \details All retrieval functions return the actual number of bytes retrieved, which is - //! the lesser of the request number and \p MaxRetrievable() + //! the lesser of the request number and MaxRetrievable() virtual lword MaxRetrievable() const; //! \brief Determines whether bytes are ready for retrieval - //! \returns \p true if bytes are available for retrieval, false otherwise + //! \returns true if bytes are available for retrieval, false otherwise virtual bool AnyRetrievable() const; //! \brief Retrieve a 8-bit byte //! \param outByte the 8-bit value to be retrieved //! \returns the number of bytes consumed during the call. - //! \details Use the return value of \p Get to detect short reads. + //! \details Use the return value of Get to detect short reads. virtual size_t Get(byte &outByte); //! \brief Retrieve a block of bytes //! \param outString a block of bytes - //! \param getMax the number of bytes to \p Get + //! \param getMax the number of bytes to Get //! \returns the number of bytes consumed during the call. - //! \details Use the return value of \p Get to detect short reads. + //! \details Use the return value of Get to detect short reads. virtual size_t Get(byte *outString, size_t getMax); //! \brief Peek a 8-bit byte //! \param outByte the 8-bit value to be retrieved //! \returns the number of bytes read during the call. - //! \details \p Peek does not remove bytes from the object. Use the return value of - //! \p Get to detect short reads. + //! \details Peek does not remove bytes from the object. Use the return value of + //! Get to detect short reads. virtual size_t Peek(byte &outByte) const; //! \brief Peek a block of bytes //! \param outString a block of bytes - //! \param peekMax the number of bytes to \p Peek + //! \param peekMax the number of bytes to Peek //! \returns the number of bytes read during the call. - //! \details \p Peek does not remove bytes from the object. Use the return value of - //! \p Get to detect short reads. + //! \details Peek does not remove bytes from the object. Use the return value of + //! Get to detect short reads. virtual size_t Peek(byte *outString, size_t peekMax) const; //! \brief Retrieve a 16-bit word //! \param value the 16-bit value to be retrieved - //! \param order the \p ByteOrder in which the word should be retrieved + //! \param order the ByteOrder in which the word should be retrieved //! \returns the number of bytes consumed during the call. - //! \details Use the return value of \p GetWord16 to detect short reads. + //! \details Use the return value of GetWord16 to detect short reads. size_t GetWord16(word16 &value, ByteOrder order=BIG_ENDIAN_ORDER); //! \brief Retrieve a 32-bit word //! \param value the 32-bit value to be retrieved - //! \param order the \p ByteOrder in which the word should be retrieved + //! \param order the ByteOrder in which the word should be retrieved //! \returns the number of bytes consumed during the call. - //! \details Use the return value of \p GetWord16 to detect short reads. + //! \details Use the return value of GetWord16 to detect short reads. size_t GetWord32(word32 &value, ByteOrder order=BIG_ENDIAN_ORDER); //! \brief Peek a 16-bit word //! \param value the 16-bit value to be retrieved - //! \param order the \p ByteOrder in which the word should be retrieved + //! \param order the ByteOrder in which the word should be retrieved //! \returns the number of bytes consumed during the call. - //! \details \p Peek does not consume bytes in the stream. Use the return value - //! of \p GetWord16 to detect short reads. + //! \details Peek does not consume bytes in the stream. Use the return value + //! of GetWord16 to detect short reads. size_t PeekWord16(word16 &value, ByteOrder order=BIG_ENDIAN_ORDER) const; //! \brief Peek a 32-bit word //! \param value the 32-bit value to be retrieved - //! \param order the \p ByteOrder in which the word should be retrieved + //! \param order the ByteOrder in which the word should be retrieved //! \returns the number of bytes consumed during the call. - //! \details \p Peek does not consume bytes in the stream. Use the return value - //! of \p GetWord16 to detect short reads. + //! \details Peek does not consume bytes in the stream. Use the return value + //! of GetWord16 to detect short reads. size_t PeekWord32(word32 &value, ByteOrder order=BIG_ENDIAN_ORDER) const; //! move transferMax bytes of the buffered output to target as input - //! \brief Transfer bytes from this object to another \p BufferedTransformation - //! \param target the destination \p BufferedTransformation + //! \brief Transfer bytes from this object to another BufferedTransformation + //! \param target the destination BufferedTransformation //! \param transferMax the number of bytes to transfer //! \param channel the channel on which the transfer should occur //! \returns the number of bytes transferred during the call. - //! \details \p TransferTo removes bytes from this object and moves them to the destination. - //! \details The function always returns \p transferMax. If an accurate count is needed, then use \p TransferTo2. + //! \details TransferTo removes bytes from this object and moves them to the destination. + //! \details The function always returns transferMax. If an accurate count is needed, then use TransferTo2. lword TransferTo(BufferedTransformation &target, lword transferMax=LWORD_MAX, const std::string &channel=DEFAULT_CHANNEL) {TransferTo2(target, transferMax, channel); return transferMax;} - //! \brief Discard \p skipMax bytes from the output buffer + //! \brief Discard skipMax bytes from the output buffer //! \param skipMax the number of bytes to discard - //! \details \p Skip always returns \p skipMax. + //! \details Skip always returns skipMax. virtual lword Skip(lword skipMax=LWORD_MAX); //! copy copyMax bytes of the buffered output to target as input - //! \brief Copy bytes from this object to another \p BufferedTransformation - //! \param target the destination \p BufferedTransformation + //! \brief Copy bytes from this object to another BufferedTransformation + //! \param target the destination BufferedTransformation //! \param copyMax the number of bytes to copy //! \param channel the channel on which the transfer should occur //! \returns the number of bytes copied during the call. - //! \details \p CopyTo copies bytes from this object to the destination. The bytes are not removed from this object. - //! \details The function always returns \p copyMax. If an accurate count is needed, then use \p CopyRangeTo2. + //! \details CopyTo copies bytes from this object to the destination. The bytes are not removed from this object. + //! \details The function always returns copyMax. If an accurate count is needed, then use CopyRangeTo2. lword CopyTo(BufferedTransformation &target, lword copyMax=LWORD_MAX, const std::string &channel=DEFAULT_CHANNEL) const {return CopyRangeTo(target, 0, copyMax, channel);} - //! \brief Copy bytes from this object using an index to another \p BufferedTransformation - //! \param target the destination \p BufferedTransformation + //! \brief Copy bytes from this object using an index to another BufferedTransformation + //! \param target the destination BufferedTransformation //! \param position the 0-based index of the byte stream to begin the copying //! \param copyMax the number of bytes to copy //! \param channel the channel on which the transfer should occur //! \returns the number of bytes copied during the call. - //! \details \p CopyTo copies bytes from this object to the destination. The bytes remain in this + //! \details CopyTo copies bytes from this object to the destination. The bytes remain in this //! object. Copying begins at the index position in the current stream, and not from an absolute //! position in the stream. //! \details The function returns the new position in the stream after transferring the bytes starting at the index. @@ -1448,30 +1585,52 @@ public: //! \brief Provides the number of bytes ready for retrieval //! \returns the number of bytes ready for retrieval virtual lword TotalBytesRetrievable() const; - + //! \brief Provides the number of meesages processed by this object //! \returns the number of meesages processed by this object - //! \details \p NumberOfMessages returns number of times \p MessageEnd() has been + //! \details NumberOfMessages returns number of times MessageEnd() has been //! received minus messages retrieved or skipped virtual unsigned int NumberOfMessages() const; //! \brief Determines if any messages are available for retrieval - //! \returns \p true if NumberOfMessages() > 0, \p false otherwise - //! \details \p AnyMessages returns true if NumberOfMessages() > 0 + //! \returns true if NumberOfMessages() > 0, false otherwise + //! \details AnyMessages returns true if NumberOfMessages() > 0 virtual bool AnyMessages() const; - //! start retrieving the next message - /*! - Returns false if no more messages exist or this message - is not completely retrieved. - */ + //! \brief Start retrieving the next message + //! \returns true if a message is ready for retrieval + //! \details GetNextMessage() returns true if a message is ready for retrieval; false + //! if no more messages exist or this message is not completely retrieved. virtual bool GetNextMessage(); - //! skip count number of messages + + //! \brief Skip a number of meessages + //! \returns 0 if the requested number of messages was skipped, non-0 otherwise + //! \details SkipMessages() skips count number of messages. If there is an AttachedTransformation() + //! then SkipMessages() is called on the attached transformation. If there is no attached + //! transformation, then count number of messages are sent to TheBitBucket() using TransferMessagesTo(). virtual unsigned int SkipMessages(unsigned int count=UINT_MAX); - //! + + //! \brief Transfer messages from this object to another BufferedTransformation + //! \param target the destination BufferedTransformation + //! \param count the number of messages to transfer + //! \param channel the channel on which the transfer should occur + //! \returns the number of bytes that remain in the current transfer block (i.e., bytes not transferred) + //! \details TransferMessagesTo2 removes messages from this object and moves them to the destination. + //! If all bytes are not transferred for a message, then processing stops and the number of remaining + //! bytes is returned. TransferMessagesTo() does not proceed to the next message. + //! \details A return value of 0 indicates all messages were successfully transferred. unsigned int TransferMessagesTo(BufferedTransformation &target, unsigned int count=UINT_MAX, const std::string &channel=DEFAULT_CHANNEL) {TransferMessagesTo2(target, count, channel); return count;} - //! + + //! \brief Copies messages from this object to another BufferedTransformation + //! \param target the destination BufferedTransformation + //! \param count the number of messages to transfer + //! \param channel the channel on which the transfer should occur + //! \returns the number of bytes that remain in the current transfer block (i.e., bytes not transferred) + //! \details CopyMessagesTo copies messages from this object and copies them to the destination. + //! If all bytes are not transferred for a message, then processing stops and the number of remaining + //! bytes is returned. CopyMessagesTo() does not proceed to the next message. + //! \details A return value of 0 indicates all messages were successfully copied. unsigned int CopyMessagesTo(BufferedTransformation &target, unsigned int count=UINT_MAX, const std::string &channel=DEFAULT_CHANNEL) const; //! @@ -1493,59 +1652,59 @@ public: // upon return, byteCount contains number of bytes that have finished being transfered, // and returns the number of bytes left in the current transfer block - //! \brief Transfer bytes from this object to another \p BufferedTransformation - //! \param target the destination \p BufferedTransformation + //! \brief Transfer bytes from this object to another BufferedTransformation + //! \param target the destination BufferedTransformation //! \param byteCount the number of bytes to transfer //! \param channel the channel on which the transfer should occur //! \param blocking specifies whether the object should block when processing input //! \returns the number of bytes that remain in the transfer block (i.e., bytes not transferred) - //! \details \p TransferTo removes bytes from this object and moves them to the destination. + //! \details TransferTo removes bytes from this object and moves them to the destination. //! Transfer begins at the index position in the current stream, and not from an absolute //! position in the stream. - //! \details \p byteCount is an \a IN and \a OUT parameter. When the call is made, - //! \p byteCount is the requested size of the transfer. When the call returns, \p byteCount is + //! \details byteCount is an \a IN and \a OUT parameter. When the call is made, + //! byteCount is the requested size of the transfer. When the call returns, byteCount is //! the number of bytes that were transferred. virtual size_t TransferTo2(BufferedTransformation &target, lword &byteCount, const std::string &channel=DEFAULT_CHANNEL, bool blocking=true) =0; // upon return, begin contains the start position of data yet to be finished copying, // and returns the number of bytes left in the current transfer block - //! \brief Copy bytes from this object to another \p BufferedTransformation - //! \param target the destination \p BufferedTransformation + //! \brief Copy bytes from this object to another BufferedTransformation + //! \param target the destination BufferedTransformation //! \param begin the 0-based index of the first byte to copy in the stream //! \param end the 0-based index of the last byte to copy in the stream //! \param channel the channel on which the transfer should occur //! \param blocking specifies whether the object should block when processing input //! \returns the number of bytes that remain in the copy block (i.e., bytes not copied) - //! \details \p CopyRangeTo2 copies bytes from this object to the destination. The bytes are not + //! \details CopyRangeTo2 copies bytes from this object to the destination. The bytes are not //! removed from this object. Copying begins at the index position in the current stream, and //! not from an absolute position in the stream. - //! \details \p begin is an \a IN and \a OUT parameter. When the call is made, \p begin is the - //! starting position of the copy. When the call returns, \p begin is the position of the first - //! byte that was \a not copied (which may be different tahn \p end). \p begin can be used for - //! subsequent calls to \p CopyRangeTo2. + //! \details begin is an \a IN and \a OUT parameter. When the call is made, begin is the + //! starting position of the copy. When the call returns, begin is the position of the first + //! byte that was \a not copied (which may be different tahn end). begin can be used for + //! subsequent calls to CopyRangeTo2. virtual size_t CopyRangeTo2(BufferedTransformation &target, lword &begin, lword end=LWORD_MAX, const std::string &channel=DEFAULT_CHANNEL, bool blocking=true) const =0; // upon return, messageCount contains number of messages that have finished being transfered, // and returns the number of bytes left in the current transfer block - //! \brief Transfer messages from this object to another \p BufferedTransformation - //! \param target the destination \p BufferedTransformation + //! \brief Transfer messages from this object to another BufferedTransformation + //! \param target the destination BufferedTransformation //! \param messageCount the number of messages to transfer //! \param channel the channel on which the transfer should occur //! \param blocking specifies whether the object should block when processing input //! \returns the number of bytes that remain in the current transfer block (i.e., bytes not transferred) - //! \details \p TransferMessagesTo2 removes messages from this object and moves them to the destination. + //! \details TransferMessagesTo2 removes messages from this object and moves them to the destination. size_t TransferMessagesTo2(BufferedTransformation &target, unsigned int &messageCount, const std::string &channel=DEFAULT_CHANNEL, bool blocking=true); // returns the number of bytes left in the current transfer block - //! \brief Transfer all bytes from this object to another \p BufferedTransformation - //! \param target the destination \p BufferedTransformation + //! \brief Transfer all bytes from this object to another BufferedTransformation + //! \param target the destination BufferedTransformation //! \param channel the channel on which the transfer should occur //! \param blocking specifies whether the object should block when processing input //! \returns the number of bytes that remain in the current transfer block (i.e., bytes not transferred) - //! \details \p TransferMessagesTo2 removes messages from this object and moves them to the destination. + //! \details TransferMessagesTo2 removes messages from this object and moves them to the destination. size_t TransferAllTo2(BufferedTransformation &target, const std::string &channel=DEFAULT_CHANNEL, bool blocking=true); //@} @@ -1567,9 +1726,9 @@ public: size_t ChannelPut(const std::string &channel, byte inByte, bool blocking=true) {return ChannelPut(channel, &inByte, 1, blocking);} - //! \brief Input a byte array for processing on a channel + //! \brief Input a byte buffer for processing on a channel //! \param channel the channel to process the data - //! \param inString the byte array to process + //! \param inString the byte buffer to process //! \param length the size of the string, in bytes //! \param blocking specifies whether the object should block when processing input //! \returns 0 indicates all bytes were processed during the call. Non-0 indicates the @@ -1579,7 +1738,7 @@ public: //! \brief Input multiple bytes that may be modified by callee on a channel //! \param channel the channel to process the data. - //! \param inString the byte array to process + //! \param inString the byte buffer to process //! \param length the size of the string, in bytes //! \param blocking specifies whether the object should block when processing input //! \returns 0 indicates all bytes were processed during the call. Non-0 indicates the @@ -1590,7 +1749,7 @@ public: //! \brief Input a 16-bit word for processing on a channel. //! \param channel the channel to process the data. //! \param value the 16-bit value to be processed. - //! \param order the \p ByteOrder in which the word should be processed. + //! \param order the ByteOrder in which the word should be processed. //! \param blocking specifies whether the object should block when processing input. //! \returns 0 indicates all bytes were processed during the call. Non-0 indicates the //! number of bytes that were \a not processed. @@ -1599,7 +1758,7 @@ public: //! \brief Input a 32-bit word for processing on a channel. //! \param channel the channel to process the data. //! \param value the 32-bit value to be processed. - //! \param order the \p ByteOrder in which the word should be processed. + //! \param order the ByteOrder in which the word should be processed. //! \param blocking specifies whether the object should block when processing input. //! \returns 0 indicates all bytes were processed during the call. Non-0 indicates the //! number of bytes that were \a not processed. @@ -1607,74 +1766,74 @@ public: //! \brief Signal the end of a message //! \param channel the channel to process the data. - //! \param propagation the number of attached transformations the \p ChannelMessageEnd() signal should be passed + //! \param propagation the number of attached transformations the ChannelMessageEnd() signal should be passed //! \param blocking specifies whether the object should block when processing input //! \returns 0 indicates all bytes were processed during the call. Non-0 indicates the //! number of bytes that were \a not processed. - //! \details \p propagation count includes this object. Setting \p propagation to 1 means this - //! object only. Setting \p propagation to -1 means unlimited propagation. + //! \details propagation count includes this object. Setting propagation to 1 means this + //! object only. Setting propagation to -1 means unlimited propagation. bool ChannelMessageEnd(const std::string &channel, int propagation=-1, bool blocking=true) {return !!ChannelPut2(channel, NULL, 0, propagation < 0 ? -1 : propagation+1, blocking);} //! \brief Input multiple bytes for processing and signal the end of a message //! \param channel the channel to process the data. - //! \param inString the byte array to process + //! \param inString the byte buffer to process //! \param length the size of the string, in bytes - //! \param propagation the number of attached transformations the \p ChannelPutMessageEnd() signal should be passed + //! \param propagation the number of attached transformations the ChannelPutMessageEnd() signal should be passed //! \param blocking specifies whether the object should block when processing input //! \returns 0 indicates all bytes were processed during the call. Non-0 indicates the //! number of bytes that were \a not processed. - //! \details \p propagation count includes this object. Setting \p propagation to 1 means this - //! object only. Setting \p propagation to -1 means unlimited propagation. + //! \details propagation count includes this object. Setting propagation to 1 means this + //! object only. Setting propagation to -1 means unlimited propagation. size_t ChannelPutMessageEnd(const std::string &channel, const byte *inString, size_t length, int propagation=-1, bool blocking=true) {return ChannelPut2(channel, inString, length, propagation < 0 ? -1 : propagation+1, blocking);} - //! \brief Request space which can be written into by the caller, and then used as input to \p Put + //! \brief Request space which can be written into by the caller //! \param channel the channel to process the data //! \param size the requested size of the buffer //! \details The purpose of this method is to help avoid extra memory allocations. - //! \details \p size is an \a IN and \a OUT parameter and used as a hint. When the call is made, - //! \p size is the requested size of the buffer. When the call returns, \p size is the size of + //! \details size is an \a IN and \a OUT parameter and used as a hint. When the call is made, + //! size is the requested size of the buffer. When the call returns, size is the size of //! the array returned to the caller. - //! \details The base class implementation sets \p size to 0 and returns \p NULL. - //! \note Some objects, like \p ArraySink, cannot create a space because its fixed. In the case of - //! an \p ArraySink, the pointer to the array is returned and the \p size is remaining size. + //! \details The base class implementation sets size to 0 and returns NULL. + //! \note Some objects, like ArraySink, cannot create a space because its fixed. In the case of + //! an ArraySink, the pointer to the array is returned and the size is remaining size. virtual byte * ChannelCreatePutSpace(const std::string &channel, size_t &size); //! \brief Input multiple bytes for processing on a channel. //! \param channel the channel to process the data. - //! \param inString the byte array to process. + //! \param inString the byte buffer to process. //! \param length the size of the string, in bytes. - //! \param messageEnd means how many filters to signal \p MessageEnd to, including this one. + //! \param messageEnd means how many filters to signal MessageEnd() to, including this one. //! \param blocking specifies whether the object should block when processing input. virtual size_t ChannelPut2(const std::string &channel, const byte *inString, size_t length, int messageEnd, bool blocking); //! \brief Input multiple bytes that may be modified by callee on a channel //! \param channel the channel to process the data - //! \param inString the byte array to process + //! \param inString the byte buffer to process //! \param length the size of the string, in bytes - //! \param messageEnd means how many filters to signal \p MessageEnd to, including this one - //! \param blocking specifies whether the object should block when processing input. + //! \param messageEnd means how many filters to signal MessageEnd() to, including this one + //! \param blocking specifies whether the object should block when processing input virtual size_t ChannelPutModifiable2(const std::string &channel, byte *inString, size_t length, int messageEnd, bool blocking); //! \brief Flush buffered input and/or output on a channel //! \param channel the channel to flush the data //! \param hardFlush is used to indicate whether all data should be flushed - //! \param propagation the number of attached transformations the \p ChannelFlush() signal should be passed + //! \param propagation the number of attached transformations the ChannelFlush() signal should be passed //! \param blocking specifies whether the object should block when processing input - //! \details \p propagation count includes this object. Setting \p propagation to 1 means this - //! object only. Setting \p propagation to -1 means unlimited propagation. + //! \details propagation count includes this object. Setting propagation to 1 means this + //! object only. Setting propagation to -1 means unlimited propagation. virtual bool ChannelFlush(const std::string &channel, bool hardFlush, int propagation=-1, bool blocking=true); //! \brief Marks the end of a series of messages on a channel //! \param channel the channel to signal the end of a series of messages - //! \param propagation the number of attached transformations the \p ChannelMessageSeriesEnd() signal should be passed + //! \param propagation the number of attached transformations the ChannelMessageSeriesEnd() signal should be passed //! \param blocking specifies whether the object should block when processing input //! \details Each object that receives the signal will perform its processing, decrement - //! \p propagation, and then pass the signal on to attached transformations if the value is not 0. - //! \details \p propagation count includes this object. Setting \p propagation to 1 means this - //! object only. Setting \p propagation to -1 means unlimited propagation. - //! \note There should be a \p MessageEnd immediately before \p MessageSeriesEnd. + //! propagation, and then pass the signal on to attached transformations if the value is not 0. + //! \details propagation count includes this object. Setting propagation to 1 means this + //! object only. Setting propagation to -1 means unlimited propagation. + //! \note There should be a MessageEnd() immediately before MessageSeriesEnd(). virtual bool ChannelMessageSeriesEnd(const std::string &channel, int propagation=-1, bool blocking=true); //! \brief Sets the default retrieval channel @@ -1684,8 +1843,8 @@ public: //@} //! \name ATTACHMENT - /*! Some \p BufferedTransformation objects (e.g. Filter objects) - allow other \p BufferedTransformation objects to be attached. When + /*! Some BufferedTransformation objects (e.g. Filter objects) + allow other BufferedTransformation objects to be attached. When this is done, the first object instead of buffering its output, sends that output to the attached object as input. The entire attachment chain is deleted when the anchor object is destructed. @@ -1693,39 +1852,42 @@ public: //@{ //! \brief Determines whether the object allows attachment //! \returns true if the object allows an attachment, false otherwise - //! \details \p Sources and \p Filters will return \p true, while \p Sinks and other objects will return \p false. + //! \details Sources and Filters will return true, while Sinks and other objects will return false. virtual bool Attachable() {return false;} //! \brief Returns the object immediately attached to this object - //! \details \p AttachedTransformation returns \p NULL if there is no attachment + //! \details AttachedTransformation returns NULL if there is no attachment virtual BufferedTransformation *AttachedTransformation() {assert(!Attachable()); return 0;} //! \brief Returns the object immediately attached to this object - //! \details \p AttachedTransformation returns \p NULL if there is no attachment + //! \details AttachedTransformation returns NULL if there is no attachment virtual const BufferedTransformation *AttachedTransformation() const {return const_cast(this)->AttachedTransformation();} //! \brief Delete the current attachment chain and attach a new one - //! \param newAttachment the new \p BufferedTransformation to attach + //! \param newAttachment the new BufferedTransformation to attach //! \throws NotImplemented - //! \details \p Detach delete the current attachment chain and replace it with an optional \p newAttachment - //! \details If a derived class does not override \p Detach, then the base class throws - //! \p NotImplemented. + //! \details Detach delete the current attachment chain and replace it with an optional newAttachment + //! \details If a derived class does not override Detach, then the base class throws + //! NotImplemented. virtual void Detach(BufferedTransformation *newAttachment = 0) { CRYPTOPP_UNUSED(newAttachment); assert(!Attachable()); throw NotImplemented("BufferedTransformation: this object is not attachable"); } - //! add newAttachment to the end of attachment chain + + //! \brief Add newAttachment to the end of attachment chain + //! \param newAttachment the attachment to add to the end of the chain + virtual void Attach(BufferedTransformation *newAttachment); //@} - + #ifndef CRYPTOPP_MAINTAIN_BACKWARDS_COMPATIBILITY_562 virtual ~BufferedTransformation() {} #endif protected: //! \brief Decrements the propagation count while clamping at 0 - //! \returns the decremented \p propagation or 0 + //! \returns the decremented propagation or 0 static int DecrementPropagation(int propagation) {return propagation != 0 ? propagation - 1 : 0;} @@ -1733,7 +1895,7 @@ private: byte m_buf[4]; // for ChannelPutWord16 and ChannelPutWord32, to ensure buffer isn't deallocated before non-blocking operation completes }; -//! \brief An input discarding \p BufferedTransformation +//! \brief An input discarding BufferedTransformation //! \returns a reference to a BufferedTransformation object that discards all input CRYPTOPP_DLL BufferedTransformation & TheBitBucket(); @@ -1754,9 +1916,9 @@ public: virtual void AssignFrom(const NameValuePairs &source) =0; //! \brief Check this object for errors - //! \param rng a \p RandomNumberGenerator for objects which use randominzed testing + //! \param rng a RandomNumberGenerator for objects which use randomized testing //! \param level the level of thoroughness - //! \returns \p true if the tests succeed, \p false otherwise + //! \returns true if the tests succeed, false otherwise //! \details There are four levels of thoroughness: //!
    //!
  • 0 - using this object won't cause a crash or exception @@ -1764,35 +1926,35 @@ public: //!
  • 2 - ensure this object will function correctly, and perform reasonable security checks //!
  • 3 - perform reasonable security checks, and do checks that may take a long time //!
- //! \details Level 0 does not require a \p RandomNumberGenerator. A \p NullRNG () can be used for level 0. + //! \details Level 0 does not require a RandomNumberGenerator. A NullRNG() can be used for level 0. //! \details Level 1 may not check for weak keys and such. //! \details Levels 2 and 3 are recommended. virtual bool Validate(RandomNumberGenerator &rng, unsigned int level) const =0; //! \brief Check this object for errors - //! \param rng a \p RandomNumberGenerator for objects which use randominzed testing + //! \param rng a RandomNumberGenerator for objects which use randomized testing //! \param level the level of thoroughness //! \throws InvalidMaterial - //! \details Internally, \p ThrowIfInvalid() calls \p Validate() and throws \p InvalidMaterial if validation fails. + //! \details Internally, ThrowIfInvalid() calls Validate() and throws InvalidMaterial if validation fails. virtual void ThrowIfInvalid(RandomNumberGenerator &rng, unsigned int level) const {if (!Validate(rng, level)) throw InvalidMaterial("CryptoMaterial: this object contains invalid values");} - //! \brief Saves a key to a \p BufferedTransformation - //! \param bt the destination \p BufferedTransformation + //! \brief Saves a key to a BufferedTransformation + //! \param bt the destination BufferedTransformation //! \throws NotImplemented - //! \details \p Save writes the material to a \p BufferedTransformation. + //! \details Save writes the material to a BufferedTransformation. //! \details If the material is a key, then the key is written with ASN.1 DER encoding. The key - //! includes an object identifier with an algorthm id, like a \p subjectPublicKeyInfo. - //! \details A "raw" key without the "key info" can be saved using a key's \p DEREncode method. - //! \details If a derived class does not override \p Save, then the base class throws - //! \p NotImplemented. + //! includes an object identifier with an algorthm id, like a subjectPublicKeyInfo. + //! \details A "raw" key without the "key info" can be saved using a key's DEREncode method. + //! \details If a derived class does not override Save, then the base class throws + //! NotImplemented. virtual void Save(BufferedTransformation &bt) const {CRYPTOPP_UNUSED(bt); throw NotImplemented("CryptoMaterial: this object does not support saving");} - //! \brief Loads a key from a \p BufferedTransformation - //! \param bt the source \p BufferedTransformation + //! \brief Loads a key from a BufferedTransformation + //! \param bt the source BufferedTransformation //! \throws KeyingErr - //! \details \p Load attempts to read material from a \p BufferedTransformation. If the + //! \details Load attempts to read material from a BufferedTransformation. If the //! material is a key that was generated outside the library, then the following //! usually applies: //!
    @@ -1800,9 +1962,9 @@ public: //!
  • the key should be a "key info" //!
//! \details "key info" means the key should have an object identifier with an algorthm id, - //! like a \p subjectPublicKeyInfo. - //! \details To read a "raw" key without the "key info", then call the key's \p BERDecode method. - //! \note \p Load generally does not check that the key is valid. Call Validate(), if needed. + //! like a subjectPublicKeyInfo. + //! \details To read a "raw" key without the "key info", then call the key's BERDecode method. + //! \note Load generally does not check that the key is valid. Call Validate(), if needed. virtual void Load(BufferedTransformation &bt) {CRYPTOPP_UNUSED(bt); throw NotImplemented("CryptoMaterial: this object does not support loading");} @@ -1813,10 +1975,10 @@ public: //! \brief Perform precomputation //! \param precomputationStorage the suggested number of objects for the precompute table //! \throws NotImplemented - //! \details The exact semantics of \p Precompute() varies, but it typically means calculate - //! a table of \p n objects that can be used later to speed up computation. - //! \details If a derived class does not override \p Precompute, then the base class throws - //! \p NotImplemented. + //! \details The exact semantics of Precompute() varies, but it typically means calculate + //! a table of n objects that can be used later to speed up computation. + //! \details If a derived class does not override Precompute, then the base class throws + //! NotImplemented. virtual void Precompute(unsigned int precomputationStorage) { CRYPTOPP_UNUSED(precomputationStorage); assert(!SupportsPrecomputation()); throw NotImplemented("CryptoMaterial: this object does not support precomputation"); @@ -1831,7 +1993,7 @@ public: // for internal library use void DoQuickSanityCheck() const {ThrowIfInvalid(NullRNG(), 0);} - + #ifndef CRYPTOPP_MAINTAIN_BACKWARDS_COMPATIBILITY_562 virtual ~CryptoMaterial() {} #endif @@ -1849,24 +2011,24 @@ class CRYPTOPP_DLL CRYPTOPP_NO_VTABLE GeneratableCryptoMaterial : virtual public public: //! \brief Generate a random key or crypto parameters - //! \param rng a \p RandomNumberGenerator to produce keying material + //! \param rng a RandomNumberGenerator to produce keying material //! \param params additional initialization parameters //! \throws KeyingErr if a key can't be generated or algorithm parameters are invalid - //! \details If a derived class does not override \p GenerateRandom, then the base class throws - //! \p NotImplemented. + //! \details If a derived class does not override GenerateRandom, then the base class throws + //! NotImplemented. virtual void GenerateRandom(RandomNumberGenerator &rng, const NameValuePairs ¶ms = g_nullNameValuePairs) { CRYPTOPP_UNUSED(rng); CRYPTOPP_UNUSED(params); throw NotImplemented("GeneratableCryptoMaterial: this object does not support key/parameter generation"); } //! \brief Generate a random key or crypto parameters - //! \param rng a \p RandomNumberGenerator to produce keying material + //! \param rng a RandomNumberGenerator to produce keying material //! \param keySize the size of the key, in bits //! \throws KeyingErr if a key can't be generated or algorithm parameters are invalid - //! \details \p GenerateRandomWithKeySize calls \p GenerateRandom with a \p NameValuePairs + //! \details GenerateRandomWithKeySize calls GenerateRandom with a NameValuePairs //! object with only "KeySize" void GenerateRandomWithKeySize(RandomNumberGenerator &rng, unsigned int keySize); - + #ifndef CRYPTOPP_MAINTAIN_BACKWARDS_COMPATIBILITY_562 virtual ~GeneratableCryptoMaterial() {} #endif @@ -1906,7 +2068,7 @@ public: //! for backwards compatibility, calls GetMaterial().Save(bt) void DEREncode(BufferedTransformation &bt) const {GetMaterial().Save(bt);} - + #ifndef CRYPTOPP_MAINTAIN_BACKWARDS_COMPATIBILITY_562 virtual ~AsymmetricAlgorithm() {} #endif @@ -1923,7 +2085,7 @@ public: virtual PublicKey & AccessPublicKey() =0; virtual const PublicKey & GetPublicKey() const {return const_cast(this)->AccessPublicKey();} - + #ifndef CRYPTOPP_MAINTAIN_BACKWARDS_COMPATIBILITY_562 virtual ~PublicKeyAlgorithm() {} #endif @@ -1939,7 +2101,7 @@ public: virtual PrivateKey & AccessPrivateKey() =0; virtual const PrivateKey & GetPrivateKey() const {return const_cast(this)->AccessPrivateKey();} - + #ifndef CRYPTOPP_MAINTAIN_BACKWARDS_COMPATIBILITY_562 virtual ~PrivateKeyAlgorithm() {} #endif @@ -1955,7 +2117,7 @@ public: virtual CryptoParameters & AccessCryptoParameters() =0; virtual const CryptoParameters & GetCryptoParameters() const {return const_cast(this)->AccessCryptoParameters();} - + #ifndef CRYPTOPP_MAINTAIN_BACKWARDS_COMPATIBILITY_562 virtual ~KeyAgreementAlgorithm() {} #endif @@ -1990,49 +2152,65 @@ public: //! return maximum plaintext length given the fixed ciphertext length, if one exists, otherwise return 0 virtual size_t FixedMaxPlaintextLength() const {return 0;} - + #ifdef CRYPTOPP_MAINTAIN_BACKWARDS_COMPATIBILITY size_t MaxPlainTextLength(size_t cipherTextLength) const {return MaxPlaintextLength(cipherTextLength);} size_t CipherTextLength(size_t plainTextLength) const {return CiphertextLength(plainTextLength);} #endif }; +//! \class PK_Encryptor //! \brief Interface for public-key encryptors class CRYPTOPP_DLL CRYPTOPP_NO_VTABLE PK_Encryptor : public PK_CryptoSystem, public PublicKeyAlgorithm { public: - //! exception thrown when trying to encrypt plaintext of invalid length + //! \brief Exception thrown when trying to encrypt plaintext of invalid length class CRYPTOPP_DLL InvalidPlaintextLength : public Exception { public: InvalidPlaintextLength() : Exception(OTHER_ERROR, "PK_Encryptor: invalid plaintext length") {} }; - //! encrypt a byte string - /*! \pre CiphertextLength(plaintextLength) != 0 (i.e., plaintext isn't too long) - \pre size of ciphertext == CiphertextLength(plaintextLength) - */ + //! \brief Encrypt a byte string + //! \param rng a RandomNumberGenerator derived class + //! \param plaintext the plaintext byte buffer + //! \param plaintextLength the size of the plaintext byte buffer + //! \param ciphertext a byte buffer to hold the encrypted string + //! \param parameters additional configuration options + //! \pre CiphertextLength(plaintextLength) != 0 ensures the plaintext isn't too large + //! \pre COUNTOF(ciphertext) == CiphertextLength(plaintextLength) ensures the output + //! byte buffer is large enough. + //! \sa PK_Decryptor virtual void Encrypt(RandomNumberGenerator &rng, const byte *plaintext, size_t plaintextLength, byte *ciphertext, const NameValuePairs ¶meters = g_nullNameValuePairs) const =0; - //! create a new encryption filter - /*! \note The caller is responsible for deleting the returned pointer. - \note Encoding parameters should be passed in the "EP" channel. - */ + //! \brief Create a new encryption filter + //! \note The caller is responsible for deleting the returned pointer. + //! \note Encoding parameters should be passed in the "EP" channel. virtual BufferedTransformation * CreateEncryptionFilter(RandomNumberGenerator &rng, BufferedTransformation *attachment=NULL, const NameValuePairs ¶meters = g_nullNameValuePairs) const; }; +//! \class PK_Decryptor //! \brief Interface for public-key decryptors - class CRYPTOPP_DLL CRYPTOPP_NO_VTABLE PK_Decryptor : public PK_CryptoSystem, public PrivateKeyAlgorithm { public: - //! decrypt a byte string, and return the length of plaintext - /*! \pre size of plaintext == MaxPlaintextLength(ciphertextLength) bytes. - \returns the actual length of the plaintext, indication that decryption failed. - */ + //! \brief Decrypt a byte string + //! \param rng a RandomNumberGenerator derived class + //! \param ciphertext the encrypted byte buffer + //! \param ciphertextLength the size of the encrypted byte buffer + //! \param plaintext a byte buffer to hold the decrypted string + //! \param parameters additional configuration options + //! \returns the result of the decryption operation + //! \pre COUNTOF(plaintext) == MaxPlaintextLength(ciphertextLength) ensures the output + //! byte buffer is large enough + //! \details If DecodingResult::isValidCoding is true, then DecodingResult::messageLength + //! is valid and holds the the actual length of the plaintext recovered. + //! on success. The result is undefined if decryption failed. If DecodingResult::isValidCoding + //! is false, then DecodingResult::messageLength is undefined. + //! \sa PK_Encryptor virtual DecodingResult Decrypt(RandomNumberGenerator &rng, const byte *ciphertext, size_t ciphertextLength, byte *plaintext, const NameValuePairs ¶meters = g_nullNameValuePairs) const =0; @@ -2162,7 +2340,7 @@ public: */ virtual size_t SignMessageWithRecovery(RandomNumberGenerator &rng, const byte *recoverableMessage, size_t recoverableMessageLength, const byte *nonrecoverableMessage, size_t nonrecoverableMessageLength, byte *signature) const; - + #ifndef CRYPTOPP_MAINTAIN_BACKWARDS_COMPATIBILITY_562 virtual ~PK_Signer() {} #endif @@ -2235,14 +2413,14 @@ public: /*! \pre size of privateKey == PrivateKeyLength() */ virtual void GeneratePrivateKey(RandomNumberGenerator &rng, byte *privateKey) const =0; //! generate public key - /*! \pre size of publicKey == PublicKeyLength() */ + /*! re size of publicKey == PublicKeyLength() */ virtual void GeneratePublicKey(RandomNumberGenerator &rng, const byte *privateKey, byte *publicKey) const =0; //! generate private/public key pair /*! \note equivalent to calling GeneratePrivateKey() and then GeneratePublicKey() */ virtual void GenerateKeyPair(RandomNumberGenerator &rng, byte *privateKey, byte *publicKey) const; //! derive agreed value from your private key and couterparty's public key, return false in case of failure /*! \note If you have previously validated the public key, use validateOtherPublicKey=false to save time. - \pre size of agreedValue == AgreedValueLength() + re size of agreedValue == AgreedValueLength() \pre length of privateKey == PrivateKeyLength() \pre length of otherPublicKey == PublicKeyLength() */ @@ -2278,7 +2456,7 @@ public: /*! \pre size of privateKey == PrivateStaticKeyLength() */ virtual void GenerateStaticPrivateKey(RandomNumberGenerator &rng, byte *privateKey) const =0; //! generate static public key - /*! \pre size of publicKey == PublicStaticKeyLength() */ + /*! re size of publicKey == PublicStaticKeyLength() */ virtual void GenerateStaticPublicKey(RandomNumberGenerator &rng, const byte *privateKey, byte *publicKey) const =0; //! generate private/public key pair /*! \note equivalent to calling GenerateStaticPrivateKey() and then GenerateStaticPublicKey() */ @@ -2288,25 +2466,26 @@ public: virtual unsigned int EphemeralPrivateKeyLength() const =0; //! return length of ephemeral public keys in this domain virtual unsigned int EphemeralPublicKeyLength() const =0; - //! generate ephemeral private key - /*! \pre size of privateKey == PrivateEphemeralKeyLength() */ + //! \brief Generate ephemeral private key + //! \pre size of privateKey == PrivateEphemeralKeyLength() virtual void GenerateEphemeralPrivateKey(RandomNumberGenerator &rng, byte *privateKey) const =0; - //! generate ephemeral public key - /*! \pre size of publicKey == PublicEphemeralKeyLength() */ + //! \brief Generate ephemeral public key + //! \pre size of publicKey == PublicEphemeralKeyLength() virtual void GenerateEphemeralPublicKey(RandomNumberGenerator &rng, const byte *privateKey, byte *publicKey) const =0; - //! generate private/public key pair + //! \brief Generate private/public key pair /*! \note equivalent to calling GenerateEphemeralPrivateKey() and then GenerateEphemeralPublicKey() */ virtual void GenerateEphemeralKeyPair(RandomNumberGenerator &rng, byte *privateKey, byte *publicKey) const; - //! derive agreed value from your private keys and couterparty's public keys, return false in case of failure - /*! \note The ephemeral public key will always be validated. - If you have previously validated the static public key, use validateStaticOtherPublicKey=false to save time. - \pre size of agreedValue == AgreedValueLength() - \pre length of staticPrivateKey == StaticPrivateKeyLength() - \pre length of ephemeralPrivateKey == EphemeralPrivateKeyLength() - \pre length of staticOtherPublicKey == StaticPublicKeyLength() - \pre length of ephemeralOtherPublicKey == EphemeralPublicKeyLength() - */ + //! \brief Derive agreed value + //! \returns true upon success, false in case of failure + //! \details Agree() derives an agreed value from your private keys and couterparty's public keys + //! \details The ephemeral public key will always be validated. If you have previously validated the + //! static public key, use validateStaticOtherPublicKey=false to save time. + //! \pre size of agreedValue == AgreedValueLength() + //! \pre length of staticPrivateKey == StaticPrivateKeyLength() + //! \pre length of ephemeralPrivateKey == EphemeralPrivateKeyLength() + //! \pre length of staticOtherPublicKey == StaticPublicKeyLength() + //! \pre length of ephemeralOtherPublicKey == EphemeralPublicKeyLength() virtual bool Agree(byte *agreedValue, const byte *staticPrivateKey, const byte *ephemeralPrivateKey, const byte *staticOtherPublicKey, const byte *ephemeralOtherPublicKey, @@ -2436,7 +2615,7 @@ public: }; #endif -//! BER Decode Exception Class, may be thrown during an ASN1 BER decode operation +//! \brief Exception thrown when an ASN1 BER decoing error is encountered class CRYPTOPP_DLL BERDecodeErr : public InvalidArgument { public: @@ -2445,16 +2624,28 @@ public: }; //! \brief Interface for encoding and decoding ASN1 objects +//! \details Each class that derives from ASN1Object should provide a serialization format +//! that controls subobject layout. Most of the time the serialization format is +//! taken from a standard, like P1363 or an RFC. class CRYPTOPP_DLL CRYPTOPP_NO_VTABLE ASN1Object { public: virtual ~ASN1Object() {} - //! decode this object from a BufferedTransformation, using BER (Basic Encoding Rules) + + //! \brief Decode this object from a BufferedTransformation + //! \param bt BufferedTransformation object + //! \details Uses Basic Encoding Rules (BER) virtual void BERDecode(BufferedTransformation &bt) =0; - //! encode this object into a BufferedTransformation, using DER (Distinguished Encoding Rules) + + //! \brief Encode this object into a BufferedTransformation + //! \param bt BufferedTransformation object + //! \details Uses Distinguished Encoding Rules (DER) virtual void DEREncode(BufferedTransformation &bt) const =0; - //! encode this object into a BufferedTransformation, using BER - /*! this may be useful if DEREncode() would be too inefficient */ + + //! \brief Encode this object into a BufferedTransformation + //! \param bt BufferedTransformation object + //! \details Uses Basic Encoding Rules (BER). + //! \details This may be useful if DEREncode() would be too inefficient. virtual void BEREncode(BufferedTransformation &bt) const {DEREncode(bt);} }; diff --git a/datatest.cpp b/datatest.cpp index 2c838cfd..98b5b642 100644 --- a/datatest.cpp +++ b/datatest.cpp @@ -23,6 +23,10 @@ # pragma strict_gs_check (on) #endif +#if defined(__COVERITY__) +extern "C" void __coverity_tainted_data_sanitize__(void *); +#endif + USING_NAMESPACE(CryptoPP) USING_NAMESPACE(std) @@ -579,7 +583,7 @@ void TestDigestOrMAC(TestData &v, bool testDigest) { int digestSize = -1; if (test == "VerifyTruncated") - pairs.GetIntValue(Name::DigestSize(), digestSize); + digestSize = pairs.GetIntValueWithDefault(Name::DigestSize(), digestSize); HashVerificationFilter verifierFilter(*pHash, NULL, HashVerificationFilter::HASH_AT_BEGIN, digestSize); PutDecodedDatumInto(v, digestName, verifierFilter); PutDecodedDatumInto(v, "Message", verifierFilter); @@ -606,10 +610,10 @@ void TestKeyDerivationFunction(TestData &v) std::string salt = GetDecodedDatum(v, "Salt"); std::string info = GetDecodedDatum(v, "Info"); std::string derived = GetDecodedDatum(v, "DerivedKey"); - std::string t = GetDecodedDatum(v, "DerivedLength"); + std::string t = GetDecodedDatum(v, "DerivedKeyLength"); TestDataNameValuePairs pairs(v); - unsigned int length = pairs.GetIntValueWithDefault(Name::DerivedLength(), (int)derived.size()); + unsigned int length = pairs.GetIntValueWithDefault(Name::DerivedKeyLength(), (int)derived.size()); member_ptr kdf; kdf.reset(ObjectFactoryRegistry::Registry().CreateObject(name.c_str())); @@ -628,6 +632,12 @@ bool GetField(std::istream &is, std::string &name, std::string &value) { name.resize(0); // GCC workaround: 2.95.3 doesn't have clear() is >> name; + +#if defined(__COVERITY__) + // The datafile being read is in /usr/share, and it protected by filesystem ACLs + // __coverity_tainted_data_sanitize__(reinterpret_cast(&name)); +#endif + if (name.empty()) return false; diff --git a/default.cpp b/default.cpp index de9fb0e8..e2ad6d65 100644 --- a/default.cpp +++ b/default.cpp @@ -20,8 +20,8 @@ NAMESPACE_BEGIN(CryptoPP) static const unsigned int MASH_ITERATIONS = 200; static const unsigned int SALTLENGTH = 8; -static const unsigned int BLOCKSIZE = Default_BlockCipher::Encryption::BLOCKSIZE; -static const unsigned int KEYLENGTH = Default_BlockCipher::Encryption::DEFAULT_KEYLENGTH; +static const unsigned int BLOCKSIZE = DefaultBlockCipher::Encryption::BLOCKSIZE; +static const unsigned int KEYLENGTH = DefaultBlockCipher::Encryption::DEFAULT_KEYLENGTH; // The purpose of this function Mash() is to take an arbitrary length input // string and *deterministicly* produce an arbitrary length output string such @@ -270,3 +270,4 @@ void DefaultDecryptorWithMAC::LastPut(const byte *inString, size_t length) } NAMESPACE_END + diff --git a/default.h b/default.h index 4224a450..3dfbe7d7 100644 --- a/default.h +++ b/default.h @@ -1,3 +1,8 @@ +// default.h - written and placed in the public domain by Wei Dai + +//! \file default.h +//! \brief Classes for DefaultEncryptor, DefaultDecryptor, DefaultEncryptorWithMAC and DefaultDecryptorWithMAC + #ifndef CRYPTOPP_DEFAULT_H #define CRYPTOPP_DEFAULT_H @@ -10,15 +15,29 @@ NAMESPACE_BEGIN(CryptoPP) -typedef DES_EDE2 Default_BlockCipher; +//! \brief Default block cipher for DefaultEncryptor, DefaultDecryptor, DefaultEncryptorWithMAC and DefaultDecryptorWithMAC +typedef DES_EDE2 DefaultBlockCipher; +//! \brief Default hash for use with DefaultEncryptorWithMAC and DefaultDecryptorWithMAC typedef SHA DefaultHashModule; +//! \brief Default HMAC for use withDefaultEncryptorWithMAC and DefaultDecryptorWithMAC typedef HMAC DefaultMAC; -//! Password-Based Encryptor using DES-EDE2 +//! \class DefaultEncryptor +//! \brief Password-Based Encryptor using TripleDES +//! \details The class uses 2-key TripleDES (DES_EDE2) for encryption, which only +//! provides about 80-bits of security. class DefaultEncryptor : public ProxyFilter { public: + //! \brief Construct a DefaultEncryptor + //! \param passphrase a C-String password + //! \param attachment a BufferedTransformation to attach to this object DefaultEncryptor(const char *passphrase, BufferedTransformation *attachment = NULL); + + //! \brief Construct a DefaultEncryptor + //! \param passphrase a byte string password + //! \param passphraseLength the length of the byte string password + //! \param attachment a BufferedTransformation to attach to this object DefaultEncryptor(const byte *passphrase, size_t passphraseLength, BufferedTransformation *attachment = NULL); protected: @@ -27,14 +46,34 @@ protected: private: SecByteBlock m_passphrase; - CBC_Mode::Encryption m_cipher; -}; + CBC_Mode::Encryption m_cipher; -//! Password-Based Decryptor using DES-EDE2 +#if (CRYPTOPP_GCC_VERSION >= 40300) || (CRYPTOPP_CLANG_VERSION >= 20800) +} __attribute__((deprecated ("DefaultEncryptor will be changing in the near future because the algorithms are no longer secure"))); +#elif (CRYPTOPP_GCC_VERSION) +} __attribute__((deprecated)); +#else +}; +#endif + +//! \class DefaultDecryptor +//! \brief Password-Based Decryptor using TripleDES +//! \details The class uses 2-key TripleDES (DES_EDE2) for encryption, which only +//! provides about 80-bits of security. class DefaultDecryptor : public ProxyFilter { public: + //! \brief Constructs a DefaultDecryptor + //! \param passphrase a C-String password + //! \param attachment a BufferedTransformation to attach to this object + //! \param throwException a flag specifiying whether an Exception should be thrown on error DefaultDecryptor(const char *passphrase, BufferedTransformation *attachment = NULL, bool throwException=true); + + //! \brief Constructs a DefaultDecryptor + //! \param passphrase a byte string password + //! \param passphraseLength the length of the byte string password + //! \param attachment a BufferedTransformation to attach to this object + //! \param throwException a flag specifiying whether an Exception should be thrown on error DefaultDecryptor(const byte *passphrase, size_t passphraseLength, BufferedTransformation *attachment = NULL, bool throwException=true); class Err : public Exception @@ -58,16 +97,39 @@ private: void CheckKey(const byte *salt, const byte *keyCheck); SecByteBlock m_passphrase; - CBC_Mode::Decryption m_cipher; + CBC_Mode::Decryption m_cipher; member_ptr m_decryptor; bool m_throwException; -}; -//! Password-Based Encryptor using DES-EDE2 and HMAC/SHA-1 +#if (CRYPTOPP_GCC_VERSION >= 40300) || (CRYPTOPP_CLANG_VERSION >= 20800) +} __attribute__((deprecated ("DefaultDecryptor will be changing in the near future because the algorithms are no longer secure"))); +#elif (CRYPTOPP_GCC_VERSION) +} __attribute__((deprecated)); +#else +}; +#endif + +//! \class DefaultEncryptorWithMAC +//! \brief Password-Based encryptor using TripleDES and HMAC/SHA-1 +//! \details DefaultEncryptorWithMAC uses a non-standard mashup function called Mash() to derive key +//! bits from the password. The class also uses 2-key TripleDES (DES_EDE2) for encryption, which only +//! provides about 80-bits of security. +//! \details The purpose of the function Mash() is to take an arbitrary length input string and +//! *deterministicly* produce an arbitrary length output string such that (1) it looks random, +//! (2) no information about the input is deducible from it, and (3) it contains as much entropy +//! as it can hold, or the amount of entropy in the input string, whichever is smaller. class DefaultEncryptorWithMAC : public ProxyFilter { public: + //! \brief Constructs a DefaultEncryptorWithMAC + //! \param passphrase a C-String password + //! \param attachment a BufferedTransformation to attach to this object DefaultEncryptorWithMAC(const char *passphrase, BufferedTransformation *attachment = NULL); + + //! \brief Constructs a DefaultEncryptorWithMAC + //! \param passphrase a byte string password + //! \param passphraseLength the length of the byte string password + //! \param attachment a BufferedTransformation to attach to this object DefaultEncryptorWithMAC(const byte *passphrase, size_t passphraseLength, BufferedTransformation *attachment = NULL); protected: @@ -76,15 +138,42 @@ protected: private: member_ptr m_mac; -}; -//! Password-Based Decryptor using DES-EDE2 and HMAC/SHA-1 +#if (CRYPTOPP_GCC_VERSION >= 40300) || (CRYPTOPP_CLANG_VERSION >= 20800) +} __attribute__((deprecated ("DefaultEncryptorWithMAC will be changing in the near future because the algorithms are no longer secure"))); +#elif (CRYPTOPP_GCC_VERSION) +} __attribute__((deprecated)); +#else +}; +#endif + +//! \class DefaultDecryptorWithMAC +//! \brief Password-Based decryptor using TripleDES and HMAC/SHA-1 +//! \details DefaultDecryptorWithMAC uses a non-standard mashup function called Mash() to derive key +//! bits from the password. The class also uses 2-key TripleDES (DES_EDE2) for encryption, which only +//! provides about 80-bits of security. +//! \details The purpose of the function Mash() is to take an arbitrary length input string and +//! *deterministicly* produce an arbitrary length output string such that (1) it looks random, +//! (2) no information about the input is deducible from it, and (3) it contains as much entropy +//! as it can hold, or the amount of entropy in the input string, whichever is smaller. class DefaultDecryptorWithMAC : public ProxyFilter { public: + //! \class MACBadErr + //! \brief Excpetion thrown when an incorrect MAC is encountered class MACBadErr : public DefaultDecryptor::Err {public: MACBadErr() : DefaultDecryptor::Err("DefaultDecryptorWithMAC: MAC check failed") {}}; + //! \brief Constructs a DefaultDecryptor + //! \param passphrase a C-String password + //! \param attachment a BufferedTransformation to attach to this object + //! \param throwException a flag specifiying whether an Exception should be thrown on error DefaultDecryptorWithMAC(const char *passphrase, BufferedTransformation *attachment = NULL, bool throwException=true); + + //! \brief Constructs a DefaultDecryptor + //! \param passphrase a byte string password + //! \param passphraseLength the length of the byte string password + //! \param attachment a BufferedTransformation to attach to this object + //! \param throwException a flag specifiying whether an Exception should be thrown on error DefaultDecryptorWithMAC(const byte *passphrase, size_t passphraseLength, BufferedTransformation *attachment = NULL, bool throwException=true); DefaultDecryptor::State CurrentState() const; @@ -98,7 +187,14 @@ private: member_ptr m_mac; HashVerifier *m_hashVerifier; bool m_throwException; + +#if (CRYPTOPP_GCC_VERSION >= 40300) || (CRYPTOPP_CLANG_VERSION >= 20800) +} __attribute__((deprecated ("DefaultDecryptorWithMAC will be changing in the near future because the algorithms are no longer secure"))); +#elif (CRYPTOPP_GCC_VERSION) +} __attribute__((deprecated)); +#else }; +#endif NAMESPACE_END diff --git a/des.h b/des.h index a6aaa79d..827b5e08 100644 --- a/des.h +++ b/des.h @@ -1,9 +1,11 @@ +// des.h - written and placed in the public domain by Wei Dai + +//! \file des.h +//! \brief Classes for DES, 2-key Triple-DES, 3-key Triple-DES and DESX + #ifndef CRYPTOPP_DES_H #define CRYPTOPP_DES_H -/** \file -*/ - #include "seckey.h" #include "secblock.h" diff --git a/dh.cpp b/dh.cpp index b0b2e7c8..1862f5df 100644 --- a/dh.cpp +++ b/dh.cpp @@ -8,11 +8,13 @@ NAMESPACE_BEGIN(CryptoPP) +#if !defined(NDEBUG) && !defined(CRYPTOPP_DOXYGEN_PROCESSING) void DH_TestInstantiations() { DH dh1; DH dh2(NullRNG(), 10); } +#endif NAMESPACE_END diff --git a/dh.h b/dh.h index 399ff040..fc23e9fb 100644 --- a/dh.h +++ b/dh.h @@ -1,9 +1,12 @@ +// dh.h - written and placed in the public domain by Wei Dai + +//! \file +//! \headerfile dh.h +//! \brief Classes for Diffie-Hellman key exchange + #ifndef CRYPTOPP_DH_H #define CRYPTOPP_DH_H -/** \file -*/ - #include "cryptlib.h" #include "gfpcrypt.h" diff --git a/dh2.cpp b/dh2.cpp index 4a292af3..faa5429c 100644 --- a/dh2.cpp +++ b/dh2.cpp @@ -5,10 +5,12 @@ NAMESPACE_BEGIN(CryptoPP) +#if !defined(NDEBUG) && !defined(CRYPTOPP_DOXYGEN_PROCESSING) void DH2_TestInstantiations() { DH2 dh(*(SimpleKeyAgreementDomain*)NULL); } +#endif bool DH2::Agree(byte *agreedValue, const byte *staticSecretKey, const byte *ephemeralSecretKey, diff --git a/dh2.h b/dh2.h index e5191156..3de79e18 100644 --- a/dh2.h +++ b/dh2.h @@ -1,9 +1,12 @@ +// dh2.h - written and placed in the public domain by Wei Dai + +//! \file +//! \headerfile dh2.h +//! \brief Classes for Diffie-Hellman authenticated key exchange + #ifndef CRYPTOPP_DH2_H #define CRYPTOPP_DH2_H -/** \file -*/ - #include "cryptlib.h" NAMESPACE_BEGIN(CryptoPP) diff --git a/dll.h b/dll.h index bd860941..3f103fda 100644 --- a/dll.h +++ b/dll.h @@ -1,3 +1,9 @@ +// dll.h - written and placed in the public domain by Wei Dai + +//! \file +//! \headerfile dll.h +//! \brief Functions and definitions required for building the FIPS-140 DLL on Windows + #ifndef CRYPTOPP_DLL_H #define CRYPTOPP_DLL_H diff --git a/dmac.h b/dmac.h index 52c36a9c..59713511 100644 --- a/dmac.h +++ b/dmac.h @@ -1,3 +1,9 @@ +// dmac.h - written and placed in the public domain by Wei Dai + +//! \file +//! \headerfile dmac.h +//! \brief Classes for DMAC message authentication code + #ifndef CRYPTOPP_DMAC_H #define CRYPTOPP_DMAC_H @@ -14,7 +20,7 @@ public: CRYPTOPP_CONSTANT(DIGESTSIZE=T::BLOCKSIZE) - DMAC_Base() {} + DMAC_Base() : m_subkeylength(0), m_counter(0) {} void UncheckedSetKey(const byte *key, unsigned int length, const NameValuePairs ¶ms); void Update(const byte *input, size_t length); diff --git a/dsa.h b/dsa.h index 9c9b50cb..5b4c895b 100644 --- a/dsa.h +++ b/dsa.h @@ -1,18 +1,38 @@ +// dsa.h - written and placed in the public domain by Wei Dai + +//! \file dsa.h +//! \brief Classes for the DSA signature algorithm + #ifndef CRYPTOPP_DSA_H #define CRYPTOPP_DSA_H -/** \file -*/ - #include "cryptlib.h" +#include "gfpcrypt.h" NAMESPACE_BEGIN(CryptoPP) -/*! The DSA signature format used by Crypto++ is as defined by IEEE P1363. - Java uses the DER format, and OpenPGP uses the OpenPGP format. */ -enum DSASignatureFormat {DSA_P1363, DSA_DER, DSA_OPENPGP}; -/** This function converts between these formats, and returns length of signature in the target format. - If toFormat == DSA_P1363, bufferSize must equal publicKey.SignatureLength() */ +//! \brief DSA Signature Format +//! \details The DSA signature format used by Crypto++ is as defined by IEEE P1363. +//! Java nad .Net use the DER format, and OpenPGP uses the OpenPGP format. +enum DSASignatureFormat { + //! \brief Crypto++ native signature encoding format + DSA_P1363, + //! \brief signature encoding format used by Java and .Net + DSA_DER, + //! \brief OpenPGP signature encoding format + DSA_OPENPGP +}; + +//! \brief Converts between signature encoding formats +//! \param buffer byte buffer for the converted signature encoding +//! \param bufferSize the length of the converted signature encoding buffer +//! \param toFormat the source signature format +//! \param signature byte buffer for the existing signature encoding +//! \param signatureLen the length of the existing signature encoding buffer +//! \param fromFormat the source signature format +//! \details This function converts between these formats, and returns length +//! of signature in the target format. If toFormat == DSA_P1363, then +//! bufferSize must equal publicKey.SignatureLength() size_t DSAConvertSignatureFormat(byte *buffer, size_t bufferSize, DSASignatureFormat toFormat, const byte *signature, size_t signatureLen, DSASignatureFormat fromFormat); diff --git a/eax.h b/eax.h index 128d0790..c9e3cf4e 100644 --- a/eax.h +++ b/eax.h @@ -1,3 +1,9 @@ +// eax.h - written and placed in the public domain by Wei Dai + +//! \file +//! \headerfile eax.h +//! \brief EAX block cipher mode of operation + #ifndef CRYPTOPP_EAX_H #define CRYPTOPP_EAX_H @@ -7,7 +13,9 @@ NAMESPACE_BEGIN(CryptoPP) -//! . +//! \class EAX_Base +//! \brief EAX block cipher mode of operation +//! \details Implementations and overrides in \p EAX_Base apply to both \p ENCRYPTION and \p DECRYPTION directions class CRYPTOPP_NO_VTABLE EAX_Base : public AuthenticatedSymmetricCipherBase { public: @@ -59,7 +67,13 @@ protected: CTR_Mode_ExternalCipher::Encryption m_ctr; }; -//! . +//! \class EAX_Final +//! \brief Class specific methods used to operate the cipher. +//! \tparam T_BlockCipher block cipher +//! \tparam T_IsEncryption direction in which to operate the cipher +//! \details Implementations and overrides in \p GCM_Final apply to either +//! \p ENCRYPTION or \p DECRYPTION, depending on the template parameter \p T_IsEncryption. +//! \details \p EAX_Final does not use inner classes \p Enc and \p Dec. template class EAX_Final : public EAX_Base { @@ -78,7 +92,14 @@ private: #undef EAX #endif -/// EAX +//! \class EAX +//! \brief The EAX block cipher mode of operation +//! \details EAX is an Authenticated Encryption with Associated Data (AEAD) block +//! cipher mode of operation designed to simultaneously provide both authentication +//! and privacy of the message. +//! \tparam T_BlockCipher block cipher +//! \details \p EAX provides the \p Encryption and \p Decryption typedef. +//! \sa EAX at the Crypto Lounge template struct EAX : public AuthenticatedSymmetricCipherDocumentation { diff --git a/ec2n.h b/ec2n.h index c9cc8c88..826b2e43 100644 --- a/ec2n.h +++ b/ec2n.h @@ -1,3 +1,10 @@ +// ec2n.h - written and placed in the public domain by Wei Dai + +//! \file +//! \headerfile ec2n.h +//! \brief Classes for Elliptic Curves over binary fields + + #ifndef CRYPTOPP_EC2N_H #define CRYPTOPP_EC2N_H diff --git a/eccrypto.cpp b/eccrypto.cpp index 039005fa..3ac4f194 100644 --- a/eccrypto.cpp +++ b/eccrypto.cpp @@ -31,6 +31,7 @@ NAMESPACE_BEGIN(CryptoPP) #if 0 +#if !defined(NDEBUG) && !defined(CRYPTOPP_DOXYGEN_PROCESSING) static void ECDSA_TestInstantiations() { ECDSA::Signer t1; @@ -43,6 +44,7 @@ static void ECDSA_TestInstantiations() ECMQV::Domain t8; } #endif +#endif // VC60 workaround: complains when these functions are put into an anonymous namespace static Integer ConvertToInteger(const PolynomialMod2 &x) diff --git a/eccrypto.h b/eccrypto.h index 3487793f..94a5d6c5 100644 --- a/eccrypto.h +++ b/eccrypto.h @@ -1,9 +1,11 @@ +// eccrypto.h - written and placed in the public domain by Wei Dai + +//! \file eccrypto.h +//! \brief Classes and functions for Elliptic Curves over prime and binary fields + #ifndef CRYPTOPP_ECCRYPTO_H #define CRYPTOPP_ECCRYPTO_H -/*! \file -*/ - #include "config.h" #include "cryptlib.h" #include "pubkey.h" @@ -139,8 +141,8 @@ protected: OID m_oid; // set if parameters loaded from a recommended curve Integer m_n; // order of base point - bool m_compress, m_encodeAsOID; mutable Integer m_k; // cofactor + mutable bool m_compress, m_encodeAsOID; // presentation details }; //! EC public key @@ -299,7 +301,7 @@ struct ECIES virtual ~ECIES() {} #endif -#if (CRYPTOPP_GCC_VERSION >= 40300) || (CRYPTOPP_CLANG_VERSION >= 20800) +#if (CRYPTOPP_GCC_VERSION >= 40500) || (CRYPTOPP_CLANG_VERSION >= 30000) } __attribute__((deprecated ("ECIES will be changing in the near future due to (1) an implementation bug and (2) an interop issue."))); #elif (CRYPTOPP_GCC_VERSION ) } __attribute__((deprecated)); @@ -473,8 +475,8 @@ protected: OID m_oid; // set if parameters loaded from a recommended curve Integer m_n; // order of base point - bool m_compress, m_encodeAsOID; mutable Integer m_k; // cofactor + mutable bool m_compress, m_encodeAsOID; // presentation details }; //! EC public key diff --git a/ecp.cpp b/ecp.cpp index fe01ba28..8c821304 100644 --- a/ecp.cpp +++ b/ecp.cpp @@ -8,6 +8,7 @@ #include "asn.h" #include "integer.h" #include "nbtheory.h" +#include "modarith.h" #include "filters.h" #include "algebra.cpp" diff --git a/ecp.h b/ecp.h index 19de0868..6c3b44dc 100644 --- a/ecp.h +++ b/ecp.h @@ -1,3 +1,8 @@ +// ecp.h - written and placed in the public domain by Wei Dai + +//! \file ecp.h +//! \brief Classes for Elliptic Curves over prime fields + #ifndef CRYPTOPP_ECP_H #define CRYPTOPP_ECP_H diff --git a/elgamal.cpp b/elgamal.cpp index ff0a1dcc..2deb6004 100644 --- a/elgamal.cpp +++ b/elgamal.cpp @@ -7,11 +7,13 @@ NAMESPACE_BEGIN(CryptoPP) +#if !defined(NDEBUG) && !defined(CRYPTOPP_DOXYGEN_PROCESSING) void ElGamal_TestInstantiations() { ElGamalEncryptor test1(1, 1, 1); ElGamalDecryptor test2(NullRNG(), 123); ElGamalEncryptor test3(test2); } +#endif NAMESPACE_END diff --git a/elgamal.h b/elgamal.h index 5138a812..4e7ef7f0 100644 --- a/elgamal.h +++ b/elgamal.h @@ -1,3 +1,8 @@ +// elgamal.h - written and placed in the public domain by Wei Dai + +//! \file elgamal.h +//! \brief Classes and functions for ElGamal key agreement and encryption schemes + #ifndef CRYPTOPP_ELGAMAL_H #define CRYPTOPP_ELGAMAL_H @@ -116,7 +121,8 @@ struct ElGamalKeys typedef DL_PublicKey_GFP_OldFormat PublicKey; }; -//! ElGamal encryption scheme with non-standard padding +//! \class ElGamal +//! \brief ElGamal encryption scheme with non-standard padding struct ElGamal { typedef DL_CryptoSchemeOptions SchemeOptions; diff --git a/emsa2.h b/emsa2.h index 7e86b227..3f3e2c17 100644 --- a/emsa2.h +++ b/emsa2.h @@ -1,10 +1,11 @@ +// emsa2.h - written and placed in the public domain by Wei Dai + +//! \file emsa2.h +//! \brief Classes and functions for various padding schemes used in public key algorithms + #ifndef CRYPTOPP_EMSA2_H #define CRYPTOPP_EMSA2_H -/** \file - This file contains various padding schemes for public key algorithms. -*/ - #include "cryptlib.h" #include "pubkey.h" #include "misc.h" diff --git a/eprecomp.h b/eprecomp.h index 5c12cf93..73faa531 100644 --- a/eprecomp.h +++ b/eprecomp.h @@ -1,10 +1,15 @@ +// eprecomp.h - written and placed in the public domain by Wei Dai + +//! \file eprecomp.h +//! \brief Classes for precomputation in a group + #ifndef CRYPTOPP_EPRECOMP_H #define CRYPTOPP_EPRECOMP_H #include "cryptlib.h" #include "integer.h" #include "algebra.h" -#include +#include "stdcpp.h" NAMESPACE_BEGIN(CryptoPP) diff --git a/esign.cpp b/esign.cpp index e9525c04..9b68d97a 100644 --- a/esign.cpp +++ b/esign.cpp @@ -18,6 +18,7 @@ NAMESPACE_BEGIN(CryptoPP) +#if !defined(NDEBUG) && !defined(CRYPTOPP_DOXYGEN_PROCESSING) void ESIGN_TestInstantiations() { ESIGN::Verifier x1(1, 1); @@ -31,6 +32,7 @@ void ESIGN_TestInstantiations() x3 = ESIGN::Verifier(x2); x4 = x2.GetKey(); } +#endif void ESIGNFunction::BERDecode(BufferedTransformation &bt) { diff --git a/esign.h b/esign.h index 1e74fce5..e9969d3e 100644 --- a/esign.h +++ b/esign.h @@ -45,7 +45,8 @@ public: void SetPublicExponent(const Integer &e) {m_e = e;} protected: - unsigned int GetK() const {return m_n.BitCount()/3-1;} + // Covertiy finding on overflow. The library allows small values for research purposes. + unsigned int GetK() const {return SaturatingSubtract(m_n.BitCount()/3, 1U);} Integer m_n, m_e; }; diff --git a/files.cpp b/files.cpp index aaffffc2..5ac45c6c 100644 --- a/files.cpp +++ b/files.cpp @@ -10,7 +10,7 @@ NAMESPACE_BEGIN(CryptoPP) -#ifndef NDEBUG +#if !defined(NDEBUG) && !defined(CRYPTOPP_DOXYGEN_PROCESSING) void Files_TestInstantiations() { FileStore f0; diff --git a/files.h b/files.h index 31742383..d17c5dd8 100644 --- a/files.h +++ b/files.h @@ -23,11 +23,11 @@ public: class OpenErr : public Err {public: OpenErr(const std::string &filename) : Err("FileStore: error opening file for reading: " + filename) {}}; class ReadErr : public Err {public: ReadErr() : Err("FileStore: error reading file") {}}; - FileStore() : m_stream(NULL) {} - FileStore(std::istream &in) + FileStore() : m_stream(NULL), m_space(NULL), m_len(0), m_waiting(0) {} + FileStore(std::istream &in) : m_stream(NULL), m_space(NULL), m_len(0), m_waiting(0) {StoreInitialize(MakeParameters(Name::InputStreamPointer(), &in));} - FileStore(const char *filename) - {StoreInitialize(MakeParameters(Name::InputFileName(), filename));} + FileStore(const char *filename) : m_stream(NULL), m_space(NULL), m_len(0), m_waiting(0) + {StoreInitialize(MakeParameters(Name::InputFileName(), filename ? filename : ""));} #if defined(CRYPTOPP_UNIX_AVAILABLE) || _MSC_VER >= 1400 //! specify file with Unicode name. On non-Windows OS, this function assumes that setlocale() has been called. FileStore(const wchar_t *filename) diff --git a/filters.cpp b/filters.cpp index 76394f9e..6b09a02a 100644 --- a/filters.cpp +++ b/filters.cpp @@ -18,10 +18,9 @@ #include "fltrimpl.h" #include "argnames.h" #include "smartptr.h" +#include "stdcpp.h" #include "misc.h" -#include - NAMESPACE_BEGIN(CryptoPP) Filter::Filter(BufferedTransformation *attachment) @@ -83,9 +82,12 @@ bool Filter::Flush(bool hardFlush, int propagation, bool blocking) case 0: if (IsolatedFlush(hardFlush, blocking)) return true; + // fall through case 1: if (OutputFlush(1, hardFlush, propagation, blocking)) return true; + // fall through + default: ;; } return false; } @@ -97,9 +99,12 @@ bool Filter::MessageSeriesEnd(int propagation, bool blocking) case 0: if (IsolatedMessageSeriesEnd(blocking)) return true; + // fall through case 1: if (ShouldPropagateMessageSeriesEnd() && OutputMessageSeriesEnd(1, propagation, blocking)) return true; + // fall through + default: ;; } return false; } @@ -434,7 +439,8 @@ size_t FilterWithBufferedInput::PutMaybeModifiable(byte *inString, size_t length m_firstInputDone = false; m_queue.ResetQueue(1, m_firstSize); - Output(1, NULL, 0, messageEnd, blocking); + // Cast to void to supress Coverity finding + (void)Output(1, NULL, 0, messageEnd, blocking); } return 0; } @@ -581,8 +587,8 @@ size_t ArrayXorSink::Put2(const byte *begin, size_t length, int messageEnd, bool // ************************************************************* StreamTransformationFilter::StreamTransformationFilter(StreamTransformation &c, BufferedTransformation *attachment, BlockPaddingScheme padding, bool allowAuthenticatedSymmetricCipher) - : FilterWithBufferedInput(attachment) - , m_cipher(c) + : FilterWithBufferedInput(attachment) + , m_cipher(c), m_padding(DEFAULT_PADDING), m_optimalBufferSize(0) { assert(c.MinLastBlockSize() == 0 || c.MinLastBlockSize() > c.MandatoryBlockSize()); @@ -755,7 +761,8 @@ void StreamTransformationFilter::LastPut(const byte *inString, size_t length) // ************************************************************* HashFilter::HashFilter(HashTransformation &hm, BufferedTransformation *attachment, bool putMessage, int truncatedDigestSize, const std::string &messagePutChannel, const std::string &hashPutChannel) - : m_hashModule(hm), m_putMessage(putMessage), m_messagePutChannel(messagePutChannel), m_hashPutChannel(hashPutChannel) + : m_hashModule(hm), m_putMessage(putMessage), m_digestSize(0), m_space(NULL) + , m_messagePutChannel(messagePutChannel), m_hashPutChannel(hashPutChannel) { m_digestSize = truncatedDigestSize < 0 ? m_hashModule.DigestSize() : truncatedDigestSize; Detach(attachment); @@ -790,7 +797,7 @@ size_t HashFilter::Put2(const byte *inString, size_t length, int messageEnd, boo HashVerificationFilter::HashVerificationFilter(HashTransformation &hm, BufferedTransformation *attachment, word32 flags, int truncatedDigestSize) : FilterWithBufferedInput(attachment) - , m_hashModule(hm) + , m_hashModule(hm), m_flags(0), m_digestSize(0), m_verified(false) { IsolatedInitialize(MakeParameters(Name::HashVerificationFilterFlags(), flags)(Name::TruncatedDigestSize(), truncatedDigestSize)); } @@ -980,7 +987,7 @@ size_t SignerFilter::Put2(const byte *inString, size_t length, int messageEnd, b SignatureVerificationFilter::SignatureVerificationFilter(const PK_Verifier &verifier, BufferedTransformation *attachment, word32 flags) : FilterWithBufferedInput(attachment) - , m_verifier(verifier) + , m_verifier(verifier), m_flags(0), m_verified(0) { IsolatedInitialize(MakeParameters(Name::SignatureVerificationFilterFlags(), flags)); } diff --git a/filters.h b/filters.h index 58027683..7e5445d9 100644 --- a/filters.h +++ b/filters.h @@ -1,3 +1,9 @@ +// filters.h - written and placed in the public domain by Wei Dai + +//! \file filters.h +//! \brief Implementation of BufferedTransformation's attachment interface in cryptlib.h. +//! \nosubgrouping + #ifndef CRYPTOPP_FILTERS_H #define CRYPTOPP_FILTERS_H @@ -21,24 +27,55 @@ NAMESPACE_BEGIN(CryptoPP) -/// provides an implementation of BufferedTransformation's attachment interface +//! \class Filter +//! \brief Implementation of BufferedTransformation's attachment interface +//! \details Filter is a cornerstone of the Pipeline trinitiy. Data flows from +//! Sources, through Filters, and then terminates in Sinks. The difference +//! between a Source and Filter is a Source \a pumps data, while a Filter does +//! not. The difference between a Filter and a Sink is a Filter allows an +//! attached transformation, while a Sink does not. +//! \details See the discussion of BufferedTransformation in cryptlib.h for +//! more details. class CRYPTOPP_DLL CRYPTOPP_NO_VTABLE Filter : public BufferedTransformation, public NotCopyable { public: + //! \brief Construct a Filter + //! \param attachment the filter's attached transformation + //! \details attachment can be \p NULL. Filter(BufferedTransformation *attachment = NULL); + //! \brief Determine if attachable + //! \returns \p true if the object allows attached transformations, \p false otherwise. + //! \note Source and Filter offer attached transformations; while Sink does not. bool Attachable() {return true;} + + //! \brief Retrieve attached transformation + //! \returns pointer to a BufferedTransformation if there is an attached transformation, \p NULL otherwise. BufferedTransformation *AttachedTransformation(); + + //! \brief Retrieve attached transformation + //! \returns pointer to a BufferedTransformation if there is an attached transformation, \p NULL otherwise. const BufferedTransformation *AttachedTransformation() const; + + //! \brief Replace an attached transformation + //! \param newAttachment pointer to a new BufferedTransformation + //! \details newAttachment cab ne a single filter, a chain of filters or \p NULL. + //! Pass \p NULL to remove an existing BufferedTransformation or chain of filters void Detach(BufferedTransformation *newAttachment = NULL); - + + // See the documentation for BufferedTransformation in cryptlib.h size_t TransferTo2(BufferedTransformation &target, lword &transferBytes, const std::string &channel=DEFAULT_CHANNEL, bool blocking=true); size_t CopyRangeTo2(BufferedTransformation &target, lword &begin, lword end=LWORD_MAX, const std::string &channel=DEFAULT_CHANNEL, bool blocking=true) const; + // See the documentation for BufferedTransformation in cryptlib.h void Initialize(const NameValuePairs ¶meters=g_nullNameValuePairs, int propagation=-1); bool Flush(bool hardFlush, int propagation=-1, bool blocking=true); bool MessageSeriesEnd(int propagation=-1, bool blocking=true); +#ifndef CRYPTOPP_MAINTAIN_BACKWARDS_COMPATIBILITY_562 + virtual ~Filter() {} +#endif + protected: virtual BufferedTransformation * NewDefaultAttachment() const; void Insert(Filter *nextFilter); // insert filter after this one @@ -48,10 +85,65 @@ protected: void PropagateInitialize(const NameValuePairs ¶meters, int propagation); + //! \brief Forward processed data on to attached transformation + //! \param outputSite unknown, system crash between keyboard and chair... + //! \param inString the byte buffer to process + //! \param length the size of the string, in bytes + //! \param messageEnd means how many filters to signal MessageEnd() to, including this one + //! \param blocking specifies whether the object should block when processing input + //! \param channel the channel to process the data + //! \returns 0 indicates all bytes were processed during the call. Non-0 indicates the + //! number of bytes that were \a not processed. size_t Output(int outputSite, const byte *inString, size_t length, int messageEnd, bool blocking, const std::string &channel=DEFAULT_CHANNEL); + + //! \brief Output multiple bytes that may be modified by callee. + //! \param outputSite unknown, system crash between keyboard and chair... + //! \param inString the byte buffer to process + //! \param length the size of the string, in bytes + //! \param messageEnd means how many filters to signal MessageEnd() to, including this one + //! \param blocking specifies whether the object should block when processing input + //! \param channel the channel to process the data + //! \returns 0 indicates all bytes were processed during the call. Non-0 indicates the + //! number of bytes that were \a not processed size_t OutputModifiable(int outputSite, byte *inString, size_t length, int messageEnd, bool blocking, const std::string &channel=DEFAULT_CHANNEL); + + //! \brief Signals the end of messages to the object + //! \param outputSite unknown, system crash between keyboard and chair... + //! \param propagation the number of attached transformations the MessageEnd() signal should be passed + //! \param blocking specifies whether the object should block when processing input + //! \param channel the channel to process the data + //! \details propagation count includes this object. Setting propagation to 1 means this + //! object only. Setting propagation to -1 means unlimited propagation. bool OutputMessageEnd(int outputSite, int propagation, bool blocking, const std::string &channel=DEFAULT_CHANNEL); + + //! \brief Flush buffered input and/or output, with signal propagation + //! \param outputSite unknown, system crash between keyboard and chair... + //! \param hardFlush is used to indicate whether all data should be flushed + //! \param propagation the number of attached transformations the Flush() signal should be passed + //! \param blocking specifies whether the object should block when processing input + //! \param channel the channel to process the data + //! \details propagation count includes this object. Setting propagation to 1 means this + //! object only. Setting propagation to -1 means unlimited propagation. + //! \note Hard flushes must be used with care. It means try to process and output everything, even if + //! there may not be enough data to complete the action. For example, hard flushing a HexDecoder + //! would cause an error if you do it after inputing an odd number of hex encoded characters. + //! \note For some types of filters, like ZlibDecompressor, hard flushes can only + //! be done at "synchronization points". These synchronization points are positions in the data + //! stream that are created by hard flushes on the corresponding reverse filters, in this + //! example ZlibCompressor. This is useful when zlib compressed data is moved across a + //! network in packets and compression state is preserved across packets, as in the SSH2 protocol. bool OutputFlush(int outputSite, bool hardFlush, int propagation, bool blocking, const std::string &channel=DEFAULT_CHANNEL); + + //! \brief Marks the end of a series of messages, with signal propagation + //! \param outputSite unknown, system crash between keyboard and chair... + //! \param propagation the number of attached transformations the MessageSeriesEnd() signal should be passed + //! \param blocking specifies whether the object should block when processing input + //! \param channel the channel to process the data + //! \details Each object that receives the signal will perform its processing, decrement + //! propagation, and then pass the signal on to attached transformations if the value is not 0. + //! \details propagation count includes this object. Setting propagation to 1 means this + //! object only. Setting propagation to -1 means unlimited propagation. + //! \note There should be a MessageEnd() immediately before MessageSeriesEnd(). bool OutputMessageSeriesEnd(int outputSite, int propagation, bool blocking, const std::string &channel=DEFAULT_CHANNEL); private: @@ -62,6 +154,8 @@ protected: int m_continueAt; }; +//! \struct FilterPutSpaceHelper + struct CRYPTOPP_DLL FilterPutSpaceHelper { // desiredSize is how much to ask target, bufferSize is how much to allocate in m_tempSpace @@ -112,7 +206,7 @@ public: byte * CreatePutSpace(size_t &size) {return AttachedTransformation()->CreatePutSpace(size);} - size_t Put2(const byte *begin, size_t length, int messageEnd, bool blocking); + size_t Put2(const byte *inString, size_t length, int messageEnd, bool blocking); size_t PutModifiable2(byte *inString, size_t length, int messageEnd, bool blocking); bool IsolatedMessageSeriesEnd(bool blocking); @@ -275,18 +369,35 @@ protected: ByteQueue m_inQueue; }; +//! \struct BlockPaddingSchemeDef +//! \details Padding schemes used for block ciphers. struct BlockPaddingSchemeDef { - enum BlockPaddingScheme {NO_PADDING, ZEROS_PADDING, PKCS_PADDING, ONE_AND_ZEROS_PADDING, DEFAULT_PADDING}; + //! \enum BlockPaddingScheme + //! \details Padding schemes used for block ciphers. + //! \details DEFAULT_PADDING means PKCS_PADDING if cipher.MandatoryBlockSize() > 1 && + //! cipher.MinLastBlockSize() == 0, which holds for ECB or CBC mode. Otherwise, + //! NO_PADDING for modes like OFB, CFB, CTR, CBC-CTS. + //! \sa Block Cipher Padding for + //! additional details. + enum BlockPaddingScheme { + //! \brief No padding added to a block + NO_PADDING, + //! \brief 0's padding added to a block + ZEROS_PADDING, + //! \brief PKCS #5 padding added to a block + PKCS_PADDING, + //! \brief 1 and 0's padding added to a block + ONE_AND_ZEROS_PADDING, + //! \brief Default padding acheme + DEFAULT_PADDING + }; }; //! Filter Wrapper for StreamTransformation, optionally handling padding/unpadding when needed class CRYPTOPP_DLL StreamTransformationFilter : public FilterWithBufferedInput, public BlockPaddingSchemeDef, private FilterPutSpaceHelper { public: - /*! DEFAULT_PADDING means PKCS_PADDING if c.MandatoryBlockSize() > 1 && c.MinLastBlockSize() == 0 (e.g. ECB or CBC mode), - otherwise NO_PADDING (OFB, CFB, CTR, CBC-CTS modes). - See http://www.weidai.com/scan-mirror/csp.html for details of the padding schemes. */ StreamTransformationFilter(StreamTransformation &c, BufferedTransformation *attachment = NULL, BlockPaddingScheme padding = DEFAULT_PADDING, bool allowAuthenticatedSymmetricCipher = false); std::string AlgorithmName() const {return m_cipher.AlgorithmName();} @@ -317,7 +428,7 @@ public: std::string AlgorithmName() const {return m_hashModule.AlgorithmName();} void IsolatedInitialize(const NameValuePairs ¶meters); - size_t Put2(const byte *begin, size_t length, int messageEnd, bool blocking); + size_t Put2(const byte *inString, size_t length, int messageEnd, bool blocking); byte * CreatePutSpace(size_t &size) {return m_hashModule.CreateUpdateSpace(size);} private: @@ -415,7 +526,7 @@ public: std::string AlgorithmName() const {return m_signer.AlgorithmName();} void IsolatedInitialize(const NameValuePairs ¶meters); - size_t Put2(const byte *begin, size_t length, int messageEnd, bool blocking); + size_t Put2(const byte *inString, size_t length, int messageEnd, bool blocking); private: RandomNumberGenerator &m_rng; @@ -463,11 +574,17 @@ typedef SignatureVerificationFilter VerifierFilter; // for backwards compatibili class CRYPTOPP_DLL Redirector : public CustomSignalPropagation { public: + //! \brief Controls signal propagation behavior enum Behavior { + //! \brief Pass data only DATA_ONLY = 0x00, + //! \brief Pass signals PASS_SIGNALS = 0x01, + //! \brief Pass wait events PASS_WAIT_OBJECTS = 0x02, + //! \brief Pass everything + //! \details PASS_EVERYTHING is default PASS_EVERYTHING = PASS_SIGNALS | PASS_WAIT_OBJECTS }; @@ -491,8 +608,8 @@ public: void Initialize(const NameValuePairs ¶meters, int propagation); byte * CreatePutSpace(size_t &size) {return m_target ? m_target->CreatePutSpace(size) : (byte *)(size=0, NULL);} - size_t Put2(const byte *begin, size_t length, int messageEnd, bool blocking) - {return m_target ? m_target->Put2(begin, length, GetPassSignals() ? messageEnd : 0, blocking) : 0;} + size_t Put2(const byte *inString, size_t length, int messageEnd, bool blocking) + {return m_target ? m_target->Put2(inString, length, GetPassSignals() ? messageEnd : 0, blocking) : 0;} bool Flush(bool hardFlush, int propagation=-1, bool blocking=true) {return m_target && GetPassSignals() ? m_target->Flush(hardFlush, propagation, blocking) : false;} bool MessageSeriesEnd(int propagation=-1, bool blocking=true) @@ -530,8 +647,8 @@ public: byte * CreatePutSpace(size_t &size) {return m_owner.AttachedTransformation()->CreatePutSpace(size);} - size_t Put2(const byte *begin, size_t length, int messageEnd, bool blocking) - {return m_owner.AttachedTransformation()->Put2(begin, length, m_passSignal ? messageEnd : 0, blocking);} + size_t Put2(const byte *inString, size_t length, int messageEnd, bool blocking) + {return m_owner.AttachedTransformation()->Put2(inString, length, m_passSignal ? messageEnd : 0, blocking);} size_t PutModifiable2(byte *begin, size_t length, int messageEnd, bool blocking) {return m_owner.AttachedTransformation()->PutModifiable2(begin, length, m_passSignal ? messageEnd : 0, blocking);} void Initialize(const NameValuePairs ¶meters=g_nullNameValuePairs, int propagation=-1) @@ -616,7 +733,7 @@ public: void IsolatedInitialize(const NameValuePairs ¶meters) {if (!parameters.GetValue("OutputStringPointer", m_output)) throw InvalidArgument("StringSink: OutputStringPointer not specified");} - size_t Put2(const byte *begin, size_t length, int messageEnd, bool blocking) + size_t Put2(const byte *inString, size_t length, int messageEnd, bool blocking) { CRYPTOPP_UNUSED(messageEnd); CRYPTOPP_UNUSED(blocking); if (length > 0) @@ -624,7 +741,7 @@ public: typename T::size_type size = m_output->size(); if (length < size && size + length > m_output->capacity()) m_output->reserve(2*size); - m_output->append((const char_type *)begin, (const char_type *)begin+length); + m_output->append((const char_type *)inString, (const char_type *)inString+length); } return 0; } @@ -648,7 +765,7 @@ public: : m_rng(&rng) {} void IsolatedInitialize(const NameValuePairs ¶meters); - size_t Put2(const byte *begin, size_t length, int messageEnd, bool blocking); + size_t Put2(const byte *inString, size_t length, int messageEnd, bool blocking); private: RandomNumberGenerator *m_rng; @@ -668,7 +785,7 @@ public: void IsolatedInitialize(const NameValuePairs ¶meters); byte * CreatePutSpace(size_t &size); - size_t Put2(const byte *begin, size_t length, int messageEnd, bool blocking); + size_t Put2(const byte *inString, size_t length, int messageEnd, bool blocking); protected: byte *m_buf; @@ -683,7 +800,7 @@ public: ArrayXorSink(byte *buf, size_t size) : ArraySink(buf, size) {} - size_t Put2(const byte *begin, size_t length, int messageEnd, bool blocking); + size_t Put2(const byte *inString, size_t length, int messageEnd, bool blocking); byte * CreatePutSpace(size_t &size) {return BufferedTransformation::CreatePutSpace(size);} }; @@ -750,13 +867,25 @@ private: lword m_size; }; -//! A Filter that pumps data into its attachment as input +//! \class Source +//! \brief Implementation of BufferedTransformation's attachment interface +//! \details Source is a cornerstone of the Pipeline trinitiy. Data flows from +//! Sources, through Filters, and then terminates in Sinks. The difference +//! between a Source and Filter is a Source \a pumps data, while a Filter does +//! not. The difference between a Filter and a Sink is a Filter allows an +//! attached transformation, while a Sink does not. +//! \details See the discussion of BufferedTransformation in cryptlib.h for +//! more details. +//! \sa Store and SourceTemplate class CRYPTOPP_DLL CRYPTOPP_NO_VTABLE Source : public InputRejecting { public: Source(BufferedTransformation *attachment = NULL) {Source::Detach(attachment);} + //! \name PIPELINE + //@{ + lword Pump(lword pumpMax=size_t(SIZE_MAX)) {Pump2(pumpMax); return pumpMax;} unsigned int PumpMessages(unsigned int count=UINT_MAX) @@ -768,6 +897,12 @@ public: virtual size_t PumpAll2(bool blocking=true); virtual bool SourceExhausted() const =0; + //@} + +#ifndef CRYPTOPP_MAINTAIN_BACKWARDS_COMPATIBILITY_562 + virtual ~Source() {} +#endif + protected: void SourceInitialize(bool pumpAll, const NameValuePairs ¶meters) { @@ -777,7 +912,9 @@ protected: } }; -//! Turn a Store into a Source +//! \class SourceTemplate +//! \brief Transform a Store into a Source +//! \tparam T the class or type template class SourceTemplate : public Source { @@ -803,7 +940,8 @@ protected: T m_store; }; -//! string-based implementation of Source interface +//! \class SourceTemplate +//! \brief String-based implementation of the Source interface class CRYPTOPP_DLL StringSource : public SourceTemplate { public: diff --git a/fips140.h b/fips140.h index b580fe46..2023165a 100644 --- a/fips140.h +++ b/fips140.h @@ -1,46 +1,94 @@ +// fips140.h - written and placed in the public domain by Wei Dai + +//! \file fips140.h +//! \brief Classes and functions for the FIPS 140-2 validated library +//! \details The FIPS validated library is only available on Windows as a DLL. Once compiled, +//! the library is always in FIPS mode contingent upon successful execution of +//! DoPowerUpSelfTest() or DoDllPowerUpSelfTest(). +//! \sa Visual Studio and +//! config.h on the Crypto++ wiki. + #ifndef CRYPTOPP_FIPS140_H #define CRYPTOPP_FIPS140_H -/*! \file - FIPS 140 related functions and classes. -*/ - #include "cryptlib.h" #include "secblock.h" NAMESPACE_BEGIN(CryptoPP) - -//! exception thrown when a crypto algorithm is used after a self test fails + +//! \class SelfTestFailure +//! Exception thrown when a crypto algorithm is used after a self test fails +//! \details The self tests for an algorithm are performed by Algortihm class +//! when CRYPTOPP_ENABLE_COMPLIANCE_WITH_FIPS_140_2 is defined. class CRYPTOPP_DLL SelfTestFailure : public Exception { public: explicit SelfTestFailure(const std::string &s) : Exception(OTHER_ERROR, s) {} }; -//! returns whether FIPS 140-2 compliance features were enabled at compile time +//! \brief Determines whether the library provides FIPS validated cryptography +//! \returns true if FIPS 140-2 validated features were enabled at compile time. +//! \details true if FIPS 140-2 validated features were enabled at compile time, +//! false otherwise. +//! \note FIPS mode is enabled at compile time. A program or other module cannot +//! arbitrarily enter or exit the mode. CRYPTOPP_DLL bool CRYPTOPP_API FIPS_140_2_ComplianceEnabled(); -//! enum values representing status of the power-up self test -enum PowerUpSelfTestStatus {POWER_UP_SELF_TEST_NOT_DONE, POWER_UP_SELF_TEST_FAILED, POWER_UP_SELF_TEST_PASSED}; +//! \brief Status of the power-up self test +enum PowerUpSelfTestStatus { + + //! \brief The self tests have not been performed. + POWER_UP_SELF_TEST_NOT_DONE, + //! \brief The self tests were executed via DoPowerUpSelfTest() or + //! DoDllPowerUpSelfTest(), but the result was failure. + POWER_UP_SELF_TEST_FAILED, + //! \brief The self tests were executed via DoPowerUpSelfTest() or + //! DoDllPowerUpSelfTest(), and the result was success. + POWER_UP_SELF_TEST_PASSED +}; -//! perform the power-up self test, and set the self test status +//! \brief Performs the power-up self test +//! \param moduleFilename the fully qualified name of the module +//! \param expectedModuleMac the expected MAC of the components protected by the integrity check +//! \details Performs the power-up self test, and sets the self test status to +//! POWER_UP_SELF_TEST_PASSED or POWER_UP_SELF_TEST_FAILED. +//! \details The self tests for an algorithm are performed by the Algortihm class +//! when CRYPTOPP_ENABLE_COMPLIANCE_WITH_FIPS_140_2 is defined. CRYPTOPP_DLL void CRYPTOPP_API DoPowerUpSelfTest(const char *moduleFilename, const byte *expectedModuleMac); -//! perform the power-up self test using the filename of this DLL and the embedded module MAC +//! \brief Performs the power-up self test on the DLL +//! \details Performs the power-up self test using the filename of this DLL and the +//! embedded module MAC, and sets the self test status to POWER_UP_SELF_TEST_PASSED or +//! POWER_UP_SELF_TEST_FAILED. +//! \details The self tests for an algorithm are performed by the Algortihm class +//! when CRYPTOPP_ENABLE_COMPLIANCE_WITH_FIPS_140_2 is defined. CRYPTOPP_DLL void CRYPTOPP_API DoDllPowerUpSelfTest(); -//! set the power-up self test status to POWER_UP_SELF_TEST_FAILED +//! \brief Sets the power-up self test status to POWER_UP_SELF_TEST_FAILED +//! \details Sets the power-up self test status to POWER_UP_SELF_TEST_FAILED to simulate failure. CRYPTOPP_DLL void CRYPTOPP_API SimulatePowerUpSelfTestFailure(); -//! return the current power-up self test status +//! \brief Provides the current power-up self test status +//! \returns the current power-up self test status CRYPTOPP_DLL PowerUpSelfTestStatus CRYPTOPP_API GetPowerUpSelfTestStatus(); +#ifndef CRYPTOPP_DOXYGEN_PROCESSING typedef PowerUpSelfTestStatus (CRYPTOPP_API * PGetPowerUpSelfTestStatus)(); +#endif +//! \brief Class object that calculates the MAC on the module +//! \returns the MAC for the module CRYPTOPP_DLL MessageAuthenticationCode * CRYPTOPP_API NewIntegrityCheckingMAC(); +//! \brief Verifies the MAC on the module +//! \param moduleFilename the fully qualified name of the module +//! \param expectedModuleMac the expected MAC of the components protected by the integrity check +//! \param pActualMac the actual MAC of the components calculated by the integrity check +//! \param pMacFileLocation the offest of the MAC in the PE/PE+ module +//! \returns true if the MAC is valid, false otherwise CRYPTOPP_DLL bool CRYPTOPP_API IntegrityCheckModule(const char *moduleFilename, const byte *expectedModuleMac, SecByteBlock *pActualMac = NULL, unsigned long *pMacFileLocation = NULL); +#ifndef CRYPTOPP_DOXYGEN_PROCESSING // this is used by Algorithm constructor to allow Algorithm objects to be constructed for the self test bool PowerUpSelfTestInProgressOnThisThread(); @@ -51,7 +99,13 @@ void EncryptionPairwiseConsistencyTest(const PK_Encryptor &encryptor, const PK_D void SignaturePairwiseConsistencyTest_FIPS_140_Only(const PK_Signer &signer, const PK_Verifier &verifier); void EncryptionPairwiseConsistencyTest_FIPS_140_Only(const PK_Encryptor &encryptor, const PK_Decryptor &decryptor); +#endif +//! \brief The placeholder used prior to embedding the actual MAC in the module. +//! \details After the DLL is built but before it is MAC'd, the string CRYPTOPP_DUMMY_DLL_MAC +//! is used as a placeholder for the actual MAC. A post-build step is performed which calculates +//! the MAC of the DLL and embeds it in the module. The actual MAC is written by the +//! cryptest.exe program using the mac_dll subcommand. #define CRYPTOPP_DUMMY_DLL_MAC "MAC_51f34b8db820ae8" NAMESPACE_END diff --git a/gcm.cpp b/gcm.cpp index 2c694733..9f401c88 100644 --- a/gcm.cpp +++ b/gcm.cpp @@ -145,7 +145,8 @@ void GCM_Base::SetKeyWithoutResync(const byte *userKey, size_t keylength, const #if CRYPTOPP_BOOL_AESNI_INTRINSICS_AVAILABLE if (HasCLMUL()) { - params.GetIntValue(Name::TableSize(), tableSize); // avoid "parameter not used" error + // Avoid "parameter not used" error and suppress Coverity finding + (void)params.GetIntValue(Name::TableSize(), tableSize); tableSize = s_clmulTableSizeInBlocks * REQUIRED_BLOCKSIZE; } else @@ -579,7 +580,7 @@ size_t GCM_Base::AuthenticateBlocks(const byte *data, size_t len) #ifdef __GNUC__ __asm__ __volatile__ ( - ".intel_syntax noprefix;" + INTEL_NOPREFIX #elif defined(CRYPTOPP_GENERATE_X64_MASM) ALIGN 8 GCM_AuthenticateBlocks_2K PROC FRAME @@ -683,7 +684,13 @@ size_t GCM_Base::AuthenticateBlocks(const byte *data, size_t len) AS2( pxor xmm5, xmm2 ) AS2( psrldq xmm0, 15 ) - AS2( movd WORD_REG(di), xmm0 ) +#if (CRYPTOPP_CLANG_VERSION >= 30600) || (CRYPTOPP_APPLE_CLANG_VERSION >= 70000) + AS2( movd edi, xmm0 ) +#elif defined(CRYPTOPP_CLANG_VERSION) || defined(CRYPTOPP_APPLE_CLANG_VERSION) + AS2( mov WORD_REG(di), xmm0 ) +#else // GNU Assembler + AS2( movd WORD_REG(di), xmm0 ) +#endif AS2( movzx eax, WORD PTR [RED_TABLE + WORD_REG(di)*2] ) AS2( shl eax, 8 ) @@ -692,21 +699,33 @@ size_t GCM_Base::AuthenticateBlocks(const byte *data, size_t len) AS2( pxor xmm4, xmm5 ) AS2( psrldq xmm1, 15 ) - AS2( movd WORD_REG(di), xmm1 ) +#if (CRYPTOPP_CLANG_VERSION >= 30600) || (CRYPTOPP_APPLE_CLANG_VERSION >= 70000) + AS2( movd edi, xmm1 ) +#elif defined(CRYPTOPP_CLANG_VERSION) || defined(CRYPTOPP_APPLE_CLANG_VERSION) + AS2( mov WORD_REG(di), xmm1 ) +#else + AS2( movd WORD_REG(di), xmm1 ) +#endif AS2( xor ax, WORD PTR [RED_TABLE + WORD_REG(di)*2] ) AS2( shl eax, 8 ) AS2( psrldq xmm0, 15 ) - AS2( movd WORD_REG(di), xmm0 ) +#if (CRYPTOPP_CLANG_VERSION >= 30600) || (CRYPTOPP_APPLE_CLANG_VERSION >= 70000) + AS2( movd edi, xmm0 ) +#elif defined(CRYPTOPP_CLANG_VERSION) || defined(CRYPTOPP_APPLE_CLANG_VERSION) + AS2( mov WORD_REG(di), xmm0 ) +#else + AS2( movd WORD_REG(di), xmm0 ) +#endif AS2( xor ax, WORD PTR [RED_TABLE + WORD_REG(di)*2] ) AS2( movd xmm0, eax ) AS2( pxor xmm0, xmm4 ) - AS2( add WORD_REG(cx), 16 ) - AS2( sub WORD_REG(dx), 1 ) + AS2( add WORD_REG(cx), 16 ) + AS2( sub WORD_REG(dx), 1 ) ASJ( jnz, 0, b ) - AS2( movdqa [WORD_REG(si)], xmm0 ) + AS2( movdqa [WORD_REG(si)], xmm0 ) #if CRYPTOPP_BOOL_X32 AS1(pop rbp) @@ -717,7 +736,7 @@ size_t GCM_Base::AuthenticateBlocks(const byte *data, size_t len) #endif #ifdef __GNUC__ - ".att_syntax prefix;" + ATT_PREFIX : : "c" (data), "d" (len/16), "S" (hashBuffer), "D" (s_reductionTable) : "memory", "cc", "%eax" @@ -740,7 +759,7 @@ size_t GCM_Base::AuthenticateBlocks(const byte *data, size_t len) #ifdef __GNUC__ __asm__ __volatile__ ( - ".intel_syntax noprefix;" + INTEL_NOPREFIX #elif defined(CRYPTOPP_GENERATE_X64_MASM) ALIGN 8 GCM_AuthenticateBlocks_64K PROC FRAME @@ -794,7 +813,7 @@ size_t GCM_Base::AuthenticateBlocks(const byte *data, size_t len) AS2( movdqa [WORD_REG(si)], xmm0 ) #ifdef __GNUC__ - ".att_syntax prefix;" + ATT_PREFIX : : "c" (data), "d" (len/16), "S" (hashBuffer) : "memory", "cc", "%edi", "%eax" diff --git a/gcm.h b/gcm.h index 0b32524f..8889d919 100644 --- a/gcm.h +++ b/gcm.h @@ -1,3 +1,9 @@ +// gcm.h - written and placed in the public domain by Wei Dai + +//! \file +//! \headerfile gcm.h +//! \brief GCM block cipher mode of operation + #ifndef CRYPTOPP_GCM_H #define CRYPTOPP_GCM_H @@ -6,10 +12,13 @@ NAMESPACE_BEGIN(CryptoPP) -//! . +//! \enum GCM_TablesOption +//! \brief Use either 2K or 64K size tables. enum GCM_TablesOption {GCM_2K_Tables, GCM_64K_Tables}; -//! . +//! \class GCM_Base +//! \brief CCM block cipher mode of operation. +//! \details Implementations and overrides in \p GCM_Base apply to both \p ENCRYPTION and \p DECRYPTION directions class CRYPTOPP_DLL CRYPTOPP_NO_VTABLE GCM_Base : public AuthenticatedSymmetricCipherBase { public: @@ -77,7 +86,14 @@ protected: enum {REQUIRED_BLOCKSIZE = 16, HASH_BLOCKSIZE = 16}; }; -//! . +//! \class GCM_Final +//! \brief Class specific methods used to operate the cipher. +//! \tparam T_BlockCipher block cipher +//! \tparam T_TablesOption table size, either \p GCM_2K_Tables or \p GCM_64K_Tables +//! \tparam T_IsEncryption direction in which to operate the cipher +//! \details Implementations and overrides in \p GCM_Final apply to either +//! \p ENCRYPTION or \p DECRYPTION, depending on the template parameter \p T_IsEncryption. +//! \details \p GCM_Final does not use inner classes \p Enc and \p Dec. template class GCM_Final : public GCM_Base { @@ -93,7 +109,12 @@ private: typename T_BlockCipher::Encryption m_cipher; }; -//! GCM +//! \class GCM +//! \brief The GCM mode of operation +//! \tparam T_BlockCipher block cipher +//! \tparam T_TablesOption table size, either \p GCM_2K_Tables or \p GCM_64K_Tables +//! \details \p GCM provides the \p Encryption and \p Decryption typedef. +//! \sa GCM at the Crypto Lounge template struct GCM : public AuthenticatedSymmetricCipherDocumentation { diff --git a/gf2n.cpp b/gf2n.cpp index a7f2fa0a..e5cf9a50 100644 --- a/gf2n.cpp +++ b/gf2n.cpp @@ -7,10 +7,11 @@ #include "cryptlib.h" #include "algebra.h" -#include "words.h" #include "randpool.h" #include "filters.h" #include "smartptr.h" +#include "words.h" +#include "misc.h" #include "gf2n.h" #include "asn.h" #include "oids.h" @@ -324,6 +325,11 @@ PolynomialMod2 PolynomialMod2::Modulo(const PolynomialMod2 &b) const PolynomialMod2& PolynomialMod2::operator<<=(unsigned int n) { +#if !defined(NDEBUG) + int x; CRYPTOPP_UNUSED(x); + assert(SafeConvert(n,x)); +#endif + if (!reg.size()) return *this; @@ -352,8 +358,8 @@ PolynomialMod2& PolynomialMod2::operator<<=(unsigned int n) return *this; } - int shiftWords = n / WORD_BITS; - int shiftBits = n % WORD_BITS; + const int shiftWords = n / WORD_BITS; + const int shiftBits = n % WORD_BITS; if (shiftBits) { @@ -369,8 +375,10 @@ PolynomialMod2& PolynomialMod2::operator<<=(unsigned int n) if (carry) { - reg.Grow(reg.size()+shiftWords+1); - reg[reg.size()-1] = carry; + // Thanks to Apatryda, http://github.com/weidai11/cryptopp/issues/64 + const size_t carryIndex = reg.size(); + reg.Grow(reg.size()+shiftWords+!!shiftBits); + reg[carryIndex] = carry; } else reg.Grow(reg.size()+shiftWords); @@ -677,6 +685,8 @@ const GF2NT::Element& GF2NT::MultiplicativeInverse(const Element &a) const b[i] = b[i+1]; b[BitsToWords(m)-1] = 0; + // TODO: the shift by "t1+j" (64-bits) is being flagged as potential UB + // temp ^= ((temp >> j) & 1) << ((t1 + j) & (sizeof(temp)*8-1)); if (t1 < WORD_BITS) for (unsigned int j=0; j> j) & 1) << (t1 + j); @@ -703,10 +713,18 @@ const GF2NT::Element& GF2NT::MultiplicativeInverse(const Element &a) const ShiftWordsRightByBits(b, BitsToWords(m), k); if (t1 < WORD_BITS) + { for (unsigned int j=0; j> j) & 1) << (t1 + j); + } + } else + { b[t1/WORD_BITS-1] ^= temp << t1%WORD_BITS; + } if (t1 % WORD_BITS) b[t1/WORD_BITS] ^= temp >> (WORD_BITS - t1%WORD_BITS); diff --git a/gf2n.h b/gf2n.h index 2dd91d7d..5418377c 100644 --- a/gf2n.h +++ b/gf2n.h @@ -112,7 +112,7 @@ public: byte GetByte(size_t n) const; //! the zero polynomial will return a degree of -1 - signed int Degree() const {return BitCount()-1;} + signed int Degree() const {return (signed int)(BitCount()-1U);} //! degree + 1 unsigned int CoefficientCount() const {return BitCount();} //! return coefficient for x^i diff --git a/gfpcrypt.cpp b/gfpcrypt.cpp index 5ef17314..84fe17b7 100644 --- a/gfpcrypt.cpp +++ b/gfpcrypt.cpp @@ -11,14 +11,16 @@ #ifndef CRYPTOPP_IMPORTS #include "gfpcrypt.h" -#include "integer.h" #include "nbtheory.h" +#include "modarith.h" +#include "integer.h" #include "asn.h" #include "oids.h" #include "misc.h" NAMESPACE_BEGIN(CryptoPP) +#if !defined(NDEBUG) && !defined(CRYPTOPP_DOXYGEN_PROCESSING) void TestInstantiations_gfpcrypt() { GDSA::Signer test; @@ -30,6 +32,7 @@ void TestInstantiations_gfpcrypt() DLIES<>::Encryptor test6; DLIES<>::Decryptor test7; } +#endif void DL_GroupParameters_DSA::GenerateRandom(RandomNumberGenerator &rng, const NameValuePairs &alg) { diff --git a/gfpcrypt.h b/gfpcrypt.h index 75d260d1..114fe8da 100644 --- a/gfpcrypt.h +++ b/gfpcrypt.h @@ -524,7 +524,9 @@ public: ConstByteArrayParameter encodingParameters; parameters.GetValue(Name::EncodingParameters(), encodingParameters); - xorbuf(ciphertext, plaintext, cipherKey, plaintextLength); + if (plaintextLength) // Coverity finding + xorbuf(ciphertext, plaintext, cipherKey, plaintextLength); + MAC mac(macKey); mac.Update(ciphertext, plaintextLength); mac.Update(encodingParameters.begin(), encodingParameters.size()); @@ -566,7 +568,9 @@ public: if (!mac.Verify(ciphertext + plaintextLength)) return DecodingResult(); - xorbuf(plaintext, ciphertext, cipherKey, plaintextLength); + if (plaintextLength) // Coverity finding + xorbuf(plaintext, ciphertext, cipherKey, plaintextLength); + return DecodingResult(plaintextLength); } diff --git a/gost.h b/gost.h index 3ef2b9c3..6ef844e4 100644 --- a/gost.h +++ b/gost.h @@ -1,9 +1,11 @@ +// gost.h - written and placed in the public domain by Wei Dai + +//! \file gost.h +//! \brief Classes for the GIST block cipher + #ifndef CRYPTOPP_GOST_H #define CRYPTOPP_GOST_H -/** \file -*/ - #include "seckey.h" #include "secblock.h" diff --git a/gzip.cpp b/gzip.cpp index c646ed53..836f63cf 100644 --- a/gzip.cpp +++ b/gzip.cpp @@ -37,7 +37,7 @@ void Gzip::WritePoststreamTail() // ************************************************************* Gunzip::Gunzip(BufferedTransformation *attachment, bool repeat, int propagation) - : Inflator(attachment, repeat, propagation) + : Inflator(attachment, repeat, propagation), m_length(0) { } diff --git a/gzip.h b/gzip.h index 01a4c960..98d6e26b 100644 --- a/gzip.h +++ b/gzip.h @@ -13,9 +13,9 @@ class Gzip : public Deflator { public: Gzip(BufferedTransformation *attachment=NULL, unsigned int deflateLevel=DEFAULT_DEFLATE_LEVEL, unsigned int log2WindowSize=DEFAULT_LOG2_WINDOW_SIZE, bool detectUncompressible=true) - : Deflator(attachment, deflateLevel, log2WindowSize, detectUncompressible) {} + : Deflator(attachment, deflateLevel, log2WindowSize, detectUncompressible), m_totalLen(0) {} Gzip(const NameValuePairs ¶meters, BufferedTransformation *attachment=NULL) - : Deflator(parameters, attachment) {} + : Deflator(parameters, attachment), m_totalLen(0) {} protected: enum {MAGIC1=0x1f, MAGIC2=0x8b, // flags for the header diff --git a/hex.h b/hex.h index 6f1d5e1f..1acc0903 100644 --- a/hex.h +++ b/hex.h @@ -1,3 +1,8 @@ +// hex.h - written and placed in the public domain by Wei Dai + +//! \file +//! \brief Classes for HexEncoder and HexDecoder + #ifndef CRYPTOPP_HEX_H #define CRYPTOPP_HEX_H diff --git a/hmac.h b/hmac.h index 8dfebe18..d46626d4 100644 --- a/hmac.h +++ b/hmac.h @@ -1,5 +1,8 @@ // hmac.h - written and placed in the public domain by Wei Dai +//! \file +//! \brief Classes for HMAC message authentication codes + #ifndef CRYPTOPP_HMAC_H #define CRYPTOPP_HMAC_H diff --git a/hrtimer.h b/hrtimer.h index 2d22ffa6..c184c01b 100644 --- a/hrtimer.h +++ b/hrtimer.h @@ -19,7 +19,9 @@ class CRYPTOPP_DLL CRYPTOPP_NO_VTABLE TimerBase { public: enum Unit {SECONDS = 0, MILLISECONDS, MICROSECONDS, NANOSECONDS}; - TimerBase(Unit unit, bool stuckAtZero) : m_timerUnit(unit), m_stuckAtZero(stuckAtZero), m_started(false) {} + TimerBase(Unit unit, bool stuckAtZero) + : m_timerUnit(unit), m_stuckAtZero(stuckAtZero), m_started(false) + , m_start(0), m_last(0) {} virtual TimerWord GetCurrentTimerValue() =0; // GetCurrentTime is a macro in MSVC 6.0 virtual TimerWord TicksPerSecond() =0; // this is not the resolution, just a conversion factor into seconds diff --git a/ida.h b/ida.h index 1e97a4b9..525a7d65 100644 --- a/ida.h +++ b/ida.h @@ -1,3 +1,8 @@ +// ida.h - written and placed in the public domain by Wei Dai + +//! \file ida.h +//! \brief Classes for Information Dispersal Algorithm (IDA) + #ifndef CRYPTOPP_IDA_H #define CRYPTOPP_IDA_H @@ -6,11 +11,9 @@ #include "filters.h" #include "channels.h" #include "secblock.h" +#include "stdcpp.h" #include "misc.h" -#include -#include - NAMESPACE_BEGIN(CryptoPP) /// base class for secret sharing and information dispersal @@ -18,7 +21,8 @@ class RawIDA : public AutoSignaling > > { public: RawIDA(BufferedTransformation *attachment=NULL) - {Detach(attachment);} + : m_threshold (0), m_channelsReady(0), m_channelsFinished(0) + {Detach(attachment);} unsigned int GetThreshold() const {return m_threshold;} void AddOutputChannel(word32 channelId); @@ -100,7 +104,7 @@ class InformationDispersal : public CustomFlushPropagation { public: InformationDispersal(int threshold, int nShares, BufferedTransformation *attachment=NULL, bool addPadding=true) - : m_ida(new OutputProxy(*this, true)) + : m_ida(new OutputProxy(*this, true)), m_pad(false), m_nextChannel(0) { Detach(attachment); IsolatedInitialize(MakeParameters("RecoveryThreshold", threshold)("NumberOfShares", nShares)("AddPadding", addPadding)); @@ -121,7 +125,7 @@ class InformationRecovery : public RawIDA { public: InformationRecovery(int threshold, BufferedTransformation *attachment=NULL, bool removePadding=true) - : RawIDA(attachment) + : RawIDA(attachment), m_pad(false) {IsolatedInitialize(MakeParameters("RecoveryThreshold", threshold)("RemovePadding", removePadding));} void IsolatedInitialize(const NameValuePairs ¶meters=g_nullNameValuePairs); @@ -138,7 +142,7 @@ class PaddingRemover : public Unflushable { public: PaddingRemover(BufferedTransformation *attachment=NULL) - : m_possiblePadding(false) {Detach(attachment);} + : m_possiblePadding(false), m_zeroCount(0) {Detach(attachment);} void IsolatedInitialize(const NameValuePairs ¶meters) {CRYPTOPP_UNUSED(parameters); m_possiblePadding = false;} diff --git a/idea.h b/idea.h index 4136ced6..897de889 100644 --- a/idea.h +++ b/idea.h @@ -1,9 +1,11 @@ +// idea.h - written and placed in the public domain by Wei Dai + +//! \file idea.h +//! \brief Classes for the IDEA block cipher + #ifndef CRYPTOPP_IDEA_H #define CRYPTOPP_IDEA_H -/** \file -*/ - #include "seckey.h" #include "secblock.h" diff --git a/integer.cpp b/integer.cpp index 6136d50e..e50f3714 100644 --- a/integer.cpp +++ b/integer.cpp @@ -19,12 +19,12 @@ #include "secblock.h" #include "modarith.h" #include "nbtheory.h" -#include "filters.h" #include "smartptr.h" +#include "algparam.h" +#include "filters.h" #include "asn.h" #include "oids.h" #include "words.h" -#include "algparam.h" #include "pubkey.h" // for P1363_KDF2 #include "sha.h" #include "cpu.h" @@ -44,23 +44,41 @@ #pragma message("You do not seem to have the Visual C++ Processor Pack installed, so use of SSE2 instructions will be disabled.") #endif -#define CRYPTOPP_INTEGER_SSE2 (CRYPTOPP_BOOL_SSE2_ASM_AVAILABLE && (CRYPTOPP_BOOL_X86 || (CRYPTOPP_BOOL_X32 && !defined(CRYPTOPP_DISABLE_INTEGER_ASM)))) +// "Inline assembly operands don't work with .intel_syntax", +// http://llvm.org/bugs/show_bug.cgi?id=24232 +#if CRYPTOPP_BOOL_X32 || defined(CRYPTOPP_DISABLE_INTEL_ASM) +# undef CRYPTOPP_X86_ASM_AVAILABLE +# undef CRYPTOPP_X32_ASM_AVAILABLE +# undef CRYPTOPP_X64_ASM_AVAILABLE +# undef CRYPTOPP_BOOL_SSE2_ASM_AVAILABLE +# undef CRYPTOPP_BOOL_SSSE3_ASM_AVAILABLE +# define CRYPTOPP_BOOL_SSE2_ASM_AVAILABLE 0 +# define CRYPTOPP_BOOL_SSSE3_ASM_AVAILABLE 0 +#else +# define CRYPTOPP_INTEGER_SSE2 (CRYPTOPP_BOOL_SSE2_ASM_AVAILABLE && CRYPTOPP_BOOL_X86) +#endif NAMESPACE_BEGIN(CryptoPP) -// Debian QEMU/ARMEL issue in MultiplyTop; see https://github.com/weidai11/cryptopp/issues/31. -// The symptoms speak to undefined behavior, but we have not been able to locate it. It could -// also be a compiler or linker issue (very possible because it only surfaces for ARMEL and -// GCC 5.2, and not other Debian cross-compilers, like ARM64 and ARMHF). -// TODO: revisit this in the future +// Debian QEMU/ARMEL issue in MultiplyTop; see http://github.com/weidai11/cryptopp/issues/31. #if __ARMEL__ && (CRYPTOPP_GCC_VERSION >= 50200) && (CRYPTOPP_GCC_VERSION < 50300) && __OPTIMIZE__ # define WORKAROUND_ARMEL_BUG 1 #endif - + +// Debian QEMU/ARM64 issue in Integer or ModularArithmetic; see http://github.com/weidai11/cryptopp/issues/61. +#if (__aarch64__ || __AARCH64EL__) && (CRYPTOPP_GCC_VERSION >= 50200) && (CRYPTOPP_GCC_VERSION < 50300) +# define WORKAROUND_ARM64_BUG 1 +#endif + #if WORKAROUND_ARMEL_BUG # pragma GCC push_options # pragma GCC optimize("O1") #endif + +#if WORKAROUND_ARM64_BUG +# pragma GCC push_options +# pragma GCC optimize("no-devirtualize") +#endif bool AssignIntToInteger(const std::type_info &valueType, void *pInteger, const void *pInt) { @@ -197,13 +215,20 @@ static word AtomicInverseModPower2(word A) class DWord { public: + // Converity finding on default ctor. We've isntrumented the code, + // and cannot uncover a case where it affects a result. +#if (defined(__COVERITY__) || !defined(NDEBUG)) && defined(CRYPTOPP_NATIVE_DWORD_AVAILABLE) + // Repeating pattern of 1010 for debug builds to break things... + DWord() : m_whole(0) {memset(&m_whole, 0xa, sizeof(m_whole));} +#elif (defined(__COVERITY__) || !defined(NDEBUG)) && !defined(CRYPTOPP_NATIVE_DWORD_AVAILABLE) + // Repeating pattern of 1010 for debug builds to break things... + DWord() : m_halfs() {memset(&m_halfs, 0xa, sizeof(m_halfs));} +#else DWord() {} +#endif #ifdef CRYPTOPP_NATIVE_DWORD_AVAILABLE - explicit DWord(word low) - { - m_whole = low; - } + explicit DWord(word low) : m_whole(low) {} #else explicit DWord(word low) { @@ -225,6 +250,8 @@ public: r.m_whole = (dword)a * b; #elif defined(MultiplyWordsLoHi) MultiplyWordsLoHi(r.m_halfs.low, r.m_halfs.high, a, b); + #else + assert(0); #endif return r; } @@ -322,17 +349,19 @@ private: class Word { public: + // Converity finding on default ctor. We've isntrumented the code, + // and cannot uncover a case where it affects a result. +#if defined(__COVERITY__) + Word() : m_whole(0) {} +#elif !defined(NDEBUG) + // Repeating pattern of 1010 for debug builds to break things... + Word() : m_whole(0) {memset(&m_whole, 0xa, sizeof(m_whole));} +#else Word() {} +#endif - Word(word value) - { - m_whole = value; - } - - Word(hword low, hword high) - { - m_whole = low | (word(high) << (WORD_BITS/2)); - } + Word(word value) : m_whole(value) {} + Word(hword low, hword high) : m_whole(low | (word(high) << (WORD_BITS/2))) {} static Word Multiply(hword a, hword b) { @@ -469,13 +498,13 @@ inline word DWord::operator%(word a) // ******************************************************** -// use some tricks to share assembly code between MSVC and GCC +// Use some tricks to share assembly code between MSVC and GCC #if defined(__GNUC__) #define AddPrologue \ int result; \ __asm__ __volatile__ \ ( \ - ".intel_syntax noprefix;" + INTEL_NOPREFIX #define AddEpilogue \ ".att_syntax prefix;" \ : "=a" (result)\ @@ -563,7 +592,7 @@ int Baseline_Add(size_t N, word *C, const word *A, const word *B) word result; __asm__ __volatile__ ( - ".intel_syntax;" + INTEL_NOPREFIX AS1( neg %1) ASJ( jz, 1, f) AS2( mov %0,[%3+8*%1]) @@ -582,7 +611,7 @@ int Baseline_Add(size_t N, word *C, const word *A, const word *B) ASL(1) AS2( mov %0, 0) AS2( adc %0, %0) - ".att_syntax;" + ATT_NOPREFIX : "=&r" (result), "+c" (N) : "r" (C+N), "r" (A+N), "r" (B+N) : "memory", "cc" @@ -595,7 +624,7 @@ int Baseline_Sub(size_t N, word *C, const word *A, const word *B) word result; __asm__ __volatile__ ( - ".intel_syntax;" + INTEL_NOPREFIX AS1( neg %1) ASJ( jz, 1, f) AS2( mov %0,[%3+8*%1]) @@ -614,7 +643,7 @@ int Baseline_Sub(size_t N, word *C, const word *A, const word *B) ASL(1) AS2( mov %0, 0) AS2( adc %0, %0) - ".att_syntax;" + ATT_NOPREFIX : "=&r" (result), "+c" (N) : "r" (C+N), "r" (A+N), "r" (B+N) : "memory", "cc" @@ -3446,8 +3475,8 @@ std::ostream& operator<<(std::ostream& out, const Integer &a) static const char lower[]="0123456789abcdef"; const char* vec = (out.flags() & std::ios::uppercase) ? upper : lower; - unsigned i=0; - SecBlock s(a.BitCount() / (BitPrecision(base)-1) + 1); + unsigned int i=0; + SecBlock s(a.BitCount() / (SaturatingSubtract1(BitPrecision(base),1U)) + 1); while (!!temp1) { @@ -3463,6 +3492,7 @@ std::ostream& operator<<(std::ostream& out, const Integer &a) // if (i && !(i%block)) // out << ","; } + return out << suffix; } @@ -4271,10 +4301,104 @@ const Integer& MontgomeryRepresentation::MultiplicativeInverse(const Integer &a) return m_result; } +// Specialization declared in misc.h to allow us to print integers +// with additional control options, like arbirary bases and uppercase. +template <> CRYPTOPP_DLL +std::string IntToString(Integer value, unsigned int base) +{ + // Hack... set the high bit for uppercase. Set the next bit fo a suffix. + static const unsigned int BIT_32 = (1U << 31); + const bool UPPER = !!(base & BIT_32); + static const unsigned int BIT_31 = (1U << 30); + const bool BASE = !!(base & BIT_31); + + const char CH = UPPER ? 'A' : 'a'; + base &= ~(BIT_32|BIT_31); + assert(base >= 2 && base <= 32); + + if (value == 0) + return "0"; + + bool negative = false, zero = false; + if (value.IsNegative()) + { + negative = true; + value.Negate(); + } + + if (!value) + zero = true; + + SecBlock s(value.BitCount() / (SaturatingSubtract1(BitPrecision(base),1U)) + 1); + Integer temp; + + unsigned int i=0; + while (!!value) + { + word digit; + Integer::Divide(digit, temp, value, word(base)); + s[i++]=char((digit < 10 ? '0' : (CH - 10)) + digit); + value.swap(temp); + } + + std::string result; + result.reserve(i+2); + + if (negative) + result += '-'; + + if (zero) + result += '0'; + + while (i--) + result += s[i]; + + if (BASE) + { + if (base == 10) + result += '.'; + else if (base == 16) + result += 'h'; + else if (base == 8) + result += 'o'; + else if (base == 2) + result += 'b'; + } + + return result; +} + +// Specialization declared in misc.h to avoid Coverity findings. +template <> CRYPTOPP_DLL +std::string IntToString(unsigned long long value, unsigned int base) +{ + // Hack... set the high bit for uppercase. + static const unsigned int HIGH_BIT = (1U << 31); + const char CH = !!(base & HIGH_BIT) ? 'A' : 'a'; + base &= ~HIGH_BIT; + + assert(base >= 2); + if (value == 0) + return "0"; + + std::string result; + while (value > 0) + { + unsigned long long digit = value % base; + result = char((digit < 10 ? '0' : (CH - 10)) + digit) + result; + value /= base; + } + return result; +} + NAMESPACE_END #if WORKAROUND_ARMEL_BUG # pragma GCC pop_options #endif + +#if WORKAROUND_ARM64_BUG +# pragma GCC pop_options +#endif #endif diff --git a/integer.h b/integer.h index 4241ec33..858b1cdb 100644 --- a/integer.h +++ b/integer.h @@ -5,174 +5,262 @@ #include "cryptlib.h" #include "secblock.h" +#include "stdcpp.h" #include -#include - -#if CRYPTOPP_BOOL_X32 -# define CRYPTOPP_DISABLE_INTEGER_ASM -#endif NAMESPACE_BEGIN(CryptoPP) -struct InitializeInteger // used to initialize static variables +//! \struct InitializeInteger +//! Performs static intialization of the Integer class +struct InitializeInteger { InitializeInteger(); }; typedef SecBlock > IntegerSecBlock; -//! multiple precision integer and basic arithmetics -/*! This class can represent positive and negative integers - with absolute value less than (256**sizeof(word)) ** (256**sizeof(int)). - \nosubgrouping -*/ +//! \brief Multiple precision integer with arithmetic operations +//! \details The Integer class can represent positive and negative integers +//! with absolute value less than (256**sizeof(word))(256**sizeof(int)). +//! \details Internally, the library uses a sign magnitude representation, and the class +//! has two data members. The first is a IntegerSecBlock (a SecBlock) and it i +//! used to hold the representation. The second is a Sign, and its is used to track +//! the sign of the Integer. +//! \nosubgrouping class CRYPTOPP_DLL Integer : private InitializeInteger, public ASN1Object { public: //! \name ENUMS, EXCEPTIONS, and TYPEDEFS //@{ - //! division by zero exception + //! \brief Exception thrown when division by 0 is encountered class DivideByZero : public Exception { public: DivideByZero() : Exception(OTHER_ERROR, "Integer: division by zero") {} }; - //! + //! \brief Exception thrown when a random number cannot be found that + //! satisfies the condition class RandomNumberNotFound : public Exception { public: RandomNumberNotFound() : Exception(OTHER_ERROR, "Integer: no integer satisfies the given parameters") {} }; - //! - enum Sign {POSITIVE=0, NEGATIVE=1}; + //! \enum Sign + //! \brief Used internally to represent the integer + //! \details Sign is used internally to represent the integer. It is also used in a few API functions. + //! \sa Signedness + enum Sign { + //! \brief the value is positive or 0 + POSITIVE=0, + //! \brief the value is negative + NEGATIVE=1}; - //! + //! \enum Signedness + //! \brief Used when importing and exporting integers + //! \details Signedness is usually used in API functions. + //! \sa Sign enum Signedness { - //! + //! \brief an unsigned value UNSIGNED, - //! + //! \brief a signed value SIGNED}; - //! + //! \enum RandomNumberType + //! \brief Properties of a random integer enum RandomNumberType { - //! + //! \brief a number with no special properties ANY, - //! + //! \brief a number which is probabilistically prime PRIME}; //@} //! \name CREATORS //@{ - //! creates the zero integer + //! \brief Creates the zero integer Integer(); //! copy constructor Integer(const Integer& t); - //! convert from signed long + //! \brief Convert from signed long Integer(signed long value); - //! convert from lword - Integer(Sign s, lword value); + //! \brief Convert from lword + //! \param sign enumeration indicating Sign + //! \param value the long word + Integer(Sign sign, lword value); - //! convert from two words - Integer(Sign s, word highWord, word lowWord); + //! \brief Convert from two words + //! \param sign enumeration indicating Sign + //! \param highWord the high word + //! \param lowWord the low word + Integer(Sign sign, word highWord, word lowWord); - //! convert from string - /*! str can be in base 2, 8, 10, or 16. Base is determined by a - case insensitive suffix of 'h', 'o', or 'b'. No suffix means base 10. - */ + //! \brief Convert from a C-string + //! \param str C-string value + //! \details \p str can be in base 2, 8, 10, or 16. Base is determined by a case + //! insensitive suffix of 'h', 'o', or 'b'. No suffix means base 10. explicit Integer(const char *str); + + //! \brief Convert from a wide C-string + //! \param str wide C-string value + //! \details \p str can be in base 2, 8, 10, or 16. Base is determined by a case + //! insensitive suffix of 'h', 'o', or 'b'. No suffix means base 10. explicit Integer(const wchar_t *str); - //! convert from big-endian byte array - Integer(const byte *encodedInteger, size_t byteCount, Signedness s=UNSIGNED); + //! \brief Convert from a big-endian byte array + //! \param encodedInteger big-endian byte array + //! \param byteCount length of the byte array + //! \param sign enumeration indicating Signedness + Integer(const byte *encodedInteger, size_t byteCount, Signedness sign=UNSIGNED); - //! convert from big-endian form stored in a BufferedTransformation - Integer(BufferedTransformation &bt, size_t byteCount, Signedness s=UNSIGNED); + //! \brief Convert from a big-endian array + //! \param bt BufferedTransformation object with big-endian byte array + //! \param byteCount length of the byte array + //! \param sign enumeration indicating Signedness + Integer(BufferedTransformation &bt, size_t byteCount, Signedness sign=UNSIGNED); - //! convert from BER encoded byte array stored in a BufferedTransformation object + //! \brief Convert from a BER encoded byte array + //! \param bt BufferedTransformation object with BER encoded byte array explicit Integer(BufferedTransformation &bt); - //! create a random integer - /*! The random integer created is uniformly distributed over [0, 2**bitcount). */ - Integer(RandomNumberGenerator &rng, size_t bitcount); + //! \brief Create a random integer + //! \param rng RandomNumberGenerator used to generate material + //! \param bitCount the number of bits in the resulting integer + //! \details The random integer created is uniformly distributed over [0, 2bitCount]. + Integer(RandomNumberGenerator &rng, size_t bitCount); - //! avoid calling constructors for these frequently used integers + //! \brief Integer representing 0 + //! \returns an Integer representing 0 + //! \details Zero() avoids calling constructors for frequently used integers static const Integer & CRYPTOPP_API Zero(); - //! avoid calling constructors for these frequently used integers + //! \brief Integer representing 1 + //! \returns an Integer representing 1 + //! \details One() avoids calling constructors for frequently used integers static const Integer & CRYPTOPP_API One(); - //! avoid calling constructors for these frequently used integers + //! \brief Integer representing 2 + //! \returns an Integer representing 2 + //! \details Two() avoids calling constructors for frequently used integers static const Integer & CRYPTOPP_API Two(); - //! create a random integer of special type - /*! Ideally, the random integer created should be uniformly distributed - over {x | min <= x <= max and x is of rnType and x % mod == equiv}. - However the actual distribution may not be uniform because sequential - search is used to find an appropriate number from a random starting - point. - May return (with very small probability) a pseudoprime when a prime - is requested and max > lastSmallPrime*lastSmallPrime (lastSmallPrime - is declared in nbtheory.h). - \throw RandomNumberNotFound if the set is empty. - */ + //! \brief Create a random integer of special form + //! \param rng RandomNumberGenerator used to generate material + //! \param min the minimum value + //! \param max the maximum value + //! \param rnType RandomNumberType to specify the type + //! \param equiv the equivalence class based on the parameter \p mod + //! \param mod the modulus used to reduce the equivalence class + //! \throw RandomNumberNotFound if the set is empty. + //! \details Ideally, the random integer created should be uniformly distributed + //! over {x | min \<= x \<= max and \p x is of rnType and x \% mod == equiv}. + //! However the actual distribution may not be uniform because sequential + //! search is used to find an appropriate number from a random starting + //! point. + //! \details May return (with very small probability) a pseudoprime when a prime + //! is requested and max \> lastSmallPrime*lastSmallPrime. \p lastSmallPrime + //! is declared in nbtheory.h. Integer(RandomNumberGenerator &rng, const Integer &min, const Integer &max, RandomNumberType rnType=ANY, const Integer &equiv=Zero(), const Integer &mod=One()); - //! return the integer 2**e + //! \brief Exponentiates to a power of 2 + //! \returns the Integer 2e + //! \sa a_times_b_mod_c() and a_exp_b_mod_c() static Integer CRYPTOPP_API Power2(size_t e); //@} //! \name ENCODE/DECODE //@{ - //! minimum number of bytes to encode this integer - /*! MinEncodedSize of 0 is 1 */ - size_t MinEncodedSize(Signedness=UNSIGNED) const; - //! encode in big-endian format - /*! unsigned means encode absolute value, signed means encode two's complement if negative. - if outputLen < MinEncodedSize, the most significant bytes will be dropped - if outputLen > MinEncodedSize, the most significant bytes will be padded - */ - void Encode(byte *output, size_t outputLen, Signedness=UNSIGNED) const; - //! - void Encode(BufferedTransformation &bt, size_t outputLen, Signedness=UNSIGNED) const; + //! \brief The minimum number of bytes to encode this integer + //! \param sign enumeration indicating Signedness + //! \note The MinEncodedSize() of 0 is 1. + size_t MinEncodedSize(Signedness sign=UNSIGNED) const; - //! encode using Distinguished Encoding Rules, put result into a BufferedTransformation object + //! \brief Encode in big-endian format + //! \param output big-endian byte array + //! \param outputLen length of the byte array + //! \param sign enumeration indicating Signedness + //! \details Unsigned means encode absolute value, signed means encode two's complement if negative. + //! \details outputLen can be used to ensure an Integer is encoded to an exact size (rather than a + //! minimum size). An exact size is useful, for example, when encoding to a field element size. + void Encode(byte *output, size_t outputLen, Signedness sign=UNSIGNED) const; + + //! \brief Encode in big-endian format + //! \param bt BufferedTransformation object + //! \param outputLen length of the encoding + //! \param sign enumeration indicating Signedness + //! \details Unsigned means encode absolute value, signed means encode two's complement if negative. + //! \details outputLen can be used to ensure an Integer is encoded to an exact size (rather than a + //! minimum size). An exact size is useful, for example, when encoding to a field element size. + void Encode(BufferedTransformation &bt, size_t outputLen, Signedness sign=UNSIGNED) const; + + //! \brief Encode in DER format + //! \param bt BufferedTransformation object + //! \details Encodes the Integer using Distinguished Encoding Rules + //! The result is placed into a BufferedTransformation object void DEREncode(BufferedTransformation &bt) const; //! encode absolute value as big-endian octet string + //! \param bt BufferedTransformation object + //! \param length the number of mytes to decode void DEREncodeAsOctetString(BufferedTransformation &bt, size_t length) const; - //! encode absolute value in OpenPGP format, return length of output + //! \brief Encode absolute value in OpenPGP format + //! \param output big-endian byte array + //! \param bufferSize length of the byte array + //! \returns length of the output + //! \details OpenPGPEncode places result into a BufferedTransformation object and returns the + //! number of bytes used for the encoding size_t OpenPGPEncode(byte *output, size_t bufferSize) const; - //! encode absolute value in OpenPGP format, put result into a BufferedTransformation object + + //! \brief Encode absolute value in OpenPGP format + //! \param bt BufferedTransformation object + //! \returns length of the output + //! \details OpenPGPEncode places result into a BufferedTransformation object and returns the + //! number of bytes used for the encoding size_t OpenPGPEncode(BufferedTransformation &bt) const; - //! - void Decode(const byte *input, size_t inputLen, Signedness=UNSIGNED); - //! - //* Precondition: bt.MaxRetrievable() >= inputLen - void Decode(BufferedTransformation &bt, size_t inputLen, Signedness=UNSIGNED); + //! \brief Decode from big-endian byte array + //! \param input big-endian byte array + //! \param inputLen length of the byte array + //! \param sign enumeration indicating Signedness + void Decode(const byte *input, size_t inputLen, Signedness sign=UNSIGNED); + + //! \brief Decode nonnegative value from big-endian byte array + //! \param bt BufferedTransformation object + //! \param inputLen length of the byte array + //! \param sign enumeration indicating Signedness + //! \note bt.MaxRetrievable() \>= inputLen. + void Decode(BufferedTransformation &bt, size_t inputLen, Signedness sign=UNSIGNED); - //! + //! \brief Decode from BER format + //! \param input big-endian byte array + //! \param inputLen length of the byte array void BERDecode(const byte *input, size_t inputLen); - //! + + //! \brief Decode from BER format + //! \param bt BufferedTransformation object void BERDecode(BufferedTransformation &bt); - //! decode nonnegative value as big-endian octet string + //! \brief Decode nonnegative value from big-endian octet string + //! \param bt BufferedTransformation object + //! \param length length of the byte array void BERDecodeAsOctetString(BufferedTransformation &bt, size_t length); + //! \brief Exception thrown when an error is encountered decoding an OpenPGP integer class OpenPGPDecodeErr : public Exception { public: OpenPGPDecodeErr() : Exception(INVALID_DATA_FORMAT, "OpenPGP decode error") {} }; - //! + //! \brief Decode from OpenPGP format + //! \param input big-endian byte array + //! \param inputLen length of the byte array void OpenPGPDecode(const byte *input, size_t inputLen); - //! + //! \brief Decode from OpenPGP format + //! \param bt BufferedTransformation object void OpenPGPDecode(BufferedTransformation &bt); //@} @@ -225,14 +313,17 @@ public: //! Integer& operator-=(const Integer& t); //! + //! \sa a_times_b_mod_c() and a_exp_b_mod_c() Integer& operator*=(const Integer& t) {return *this = Times(t);} //! Integer& operator/=(const Integer& t) {return *this = DividedBy(t);} //! + //! \sa a_times_b_mod_c() and a_exp_b_mod_c() Integer& operator%=(const Integer& t) {return *this = Modulo(t);} //! Integer& operator/=(word t) {return *this = DividedBy(t);} //! + //! \sa a_times_b_mod_c() and a_exp_b_mod_c() Integer& operator%=(word t) {return *this = Integer(POSITIVE, 0, Modulo(t));} //! @@ -240,12 +331,35 @@ public: //! Integer& operator>>=(size_t); - //! - void Randomize(RandomNumberGenerator &rng, size_t bitcount); - //! + //! \brief Set this Integer to random integer + //! \param rng RandomNumberGenerator used to generate material + //! \param bitCount the number of bits in the resulting integer + //! \details The random integer created is uniformly distributed over [0, 2bitCount]. + void Randomize(RandomNumberGenerator &rng, size_t bitCount); + + //! \brief Set this Integer to random integer + //! \param rng RandomNumberGenerator used to generate material + //! \param min the minimum value + //! \param max the maximum value + //! \details The random integer created is uniformly distributed over [min, max]. void Randomize(RandomNumberGenerator &rng, const Integer &min, const Integer &max); - //! set this Integer to a random element of {x | min <= x <= max and x is of rnType and x % mod == equiv} - /*! returns false if the set is empty */ + + //! \brief Set this Integer to random integer of special form + //! \param rng RandomNumberGenerator used to generate material + //! \param min the minimum value + //! \param max the maximum value + //! \param rnType RandomNumberType to specify the type + //! \param equiv the equivalence class based on the parameter \p mod + //! \param mod the modulus used to reduce the equivalence class + //! \throw RandomNumberNotFound if the set is empty. + //! \details Ideally, the random integer created should be uniformly distributed + //! over {x | min \<= x \<= max and \p x is of rnType and x \% mod == equiv}. + //! However the actual distribution may not be uniform because sequential + //! search is used to find an appropriate number from a random starting + //! point. + //! \details May return (with very small probability) a pseudoprime when a prime + //! is requested and max \> lastSmallPrime*lastSmallPrime. \p lastSmallPrime + //! is declared in nbtheory.h. bool Randomize(RandomNumberGenerator &rng, const Integer &min, const Integer &max, RandomNumberType rnType, const Integer &equiv=Zero(), const Integer &mod=One()); bool GenerateRandomNoThrow(RandomNumberGenerator &rng, const NameValuePairs ¶ms = g_nullNameValuePairs); @@ -255,19 +369,24 @@ public: throw RandomNumberNotFound(); } - //! set the n-th bit to value + //! \brief Set the n-th bit to value + //! \details 0-based numbering. void SetBit(size_t n, bool value=1); - //! set the n-th byte to value + + //! \brief Set the n-th byte to value + //! \details 0-based numbering. void SetByte(size_t n, byte value); - //! + //! \brief Reverse the Sign of the Integer void Negate(); - //! + + //! \brief Sets the Integer to positive void SetPositive() {sign = POSITIVE;} - //! + + //! \brief Sets the Integer to negative void SetNegative() {if (!!(*this)) sign = NEGATIVE;} - //! + //! \brief Swaps this Integer with another Integer void swap(Integer &a); //@} @@ -291,11 +410,11 @@ public: //! \name BINARY OPERATORS //@{ - //! signed comparison - /*! \retval -1 if *this < a - \retval 0 if *this = a - \retval 1 if *this > a - */ + //! \brief Perform signed comparison + //! \param a the Integer to comapre + //! \retval -1 if *this < a + //! \retval 0 if *this = a + //! \retval 1 if *this > a int Compare(const Integer& a) const; //! @@ -303,14 +422,17 @@ public: //! Integer Minus(const Integer &b) const; //! + //! \sa a_times_b_mod_c() and a_exp_b_mod_c() Integer Times(const Integer &b) const; //! Integer DividedBy(const Integer &b) const; //! + //! \sa a_times_b_mod_c() and a_exp_b_mod_c() Integer Modulo(const Integer &b) const; //! Integer DividedBy(word b) const; //! + //! \sa a_times_b_mod_c() and a_exp_b_mod_c() word Modulo(word b) const; //! @@ -326,6 +448,7 @@ public: //! Integer Doubled() const {return Plus(*this);} //! + //! \sa a_times_b_mod_c() and a_exp_b_mod_c() Integer Squared() const {return Times(*this);} //! extract square root, if negative return 0, else return floor of square root Integer SquareRoot() const; @@ -337,11 +460,6 @@ public: //! return inverse if 1 or -1, otherwise return 0 Integer MultiplicativeInverse() const; - //! modular multiplication - CRYPTOPP_DLL friend Integer CRYPTOPP_API a_times_b_mod_c(const Integer &x, const Integer& y, const Integer& m); - //! modular exponentiation - CRYPTOPP_DLL friend Integer CRYPTOPP_API a_exp_b_mod_c(const Integer &x, const Integer& e, const Integer& m); - //! calculate r and q such that (a == d*q + r) && (0 <= r < abs(d)) static void CRYPTOPP_API Divide(Integer &r, Integer &q, const Integer &a, const Integer &d); //! use a faster division algorithm when divisor is short @@ -353,34 +471,59 @@ public: //! greatest common divisor static Integer CRYPTOPP_API Gcd(const Integer &a, const Integer &n); //! calculate multiplicative inverse of *this mod n + //! \sa a_times_b_mod_c() and a_exp_b_mod_c() Integer InverseMod(const Integer &n) const; //! + //! \sa a_times_b_mod_c() and a_exp_b_mod_c() word InverseMod(word n) const; //@} //! \name INPUT/OUTPUT //@{ - //! + //! \brief Extraction operator + //! \param in a reference to a std::istream + //! \param a a reference to an Integer + //! \returns a reference to a std::istream reference friend CRYPTOPP_DLL std::istream& CRYPTOPP_API operator>>(std::istream& in, Integer &a); //! + //! \brief Insertion operator + //! \param out a reference to a std::ostream + //! \param a a constant reference to an Integer + //! \returns a reference to a std::ostream reference + //! \details The output integer responds to std::hex, std::oct, std::hex, std::upper and + //! std::lower. The output includes the suffix \a \b h (for hex), \a \b . (\a \b dot, for dec) + //! and \a \b o (for octal). There is currently no way to supress the suffix. + //! \details If you want to print an Integer without the suffix or using an arbitrary base, then + //! use IntToString(). + //! \sa IntToString friend CRYPTOPP_DLL std::ostream& CRYPTOPP_API operator<<(std::ostream& out, const Integer &a); //@} + +#ifndef CRYPTOPP_DOXYGEN_PROCESSING + //! modular multiplication + CRYPTOPP_DLL friend Integer CRYPTOPP_API a_times_b_mod_c(const Integer &x, const Integer& y, const Integer& m); + //! modular exponentiation + CRYPTOPP_DLL friend Integer CRYPTOPP_API a_exp_b_mod_c(const Integer &x, const Integer& e, const Integer& m); +#endif private: + + Integer(word value, size_t length); + int PositiveCompare(const Integer &t) const; + + IntegerSecBlock reg; + Sign sign; + +#ifndef CRYPTOPP_DOXYGEN_PROCESSING friend class ModularArithmetic; friend class MontgomeryRepresentation; friend class HalfMontgomeryRepresentation; - Integer(word value, size_t length); - - int PositiveCompare(const Integer &t) const; friend void PositiveAdd(Integer &sum, const Integer &a, const Integer &b); friend void PositiveSubtract(Integer &diff, const Integer &a, const Integer &b); friend void PositiveMultiply(Integer &product, const Integer &a, const Integer &b); friend void PositiveDivide(Integer &remainder, Integer "ient, const Integer ÷nd, const Integer &divisor); - - IntegerSecBlock reg; - Sign sign; +#endif }; //! @@ -400,14 +543,17 @@ inline CryptoPP::Integer operator+(const CryptoPP::Integer &a, const CryptoPP::I //! inline CryptoPP::Integer operator-(const CryptoPP::Integer &a, const CryptoPP::Integer &b) {return a.Minus(b);} //! +//! \sa a_times_b_mod_c() and a_exp_b_mod_c() inline CryptoPP::Integer operator*(const CryptoPP::Integer &a, const CryptoPP::Integer &b) {return a.Times(b);} //! inline CryptoPP::Integer operator/(const CryptoPP::Integer &a, const CryptoPP::Integer &b) {return a.DividedBy(b);} //! +//! \sa a_times_b_mod_c() and a_exp_b_mod_c() inline CryptoPP::Integer operator%(const CryptoPP::Integer &a, const CryptoPP::Integer &b) {return a.Modulo(b);} //! inline CryptoPP::Integer operator/(const CryptoPP::Integer &a, CryptoPP::word b) {return a.DividedBy(b);} //! +//! \sa a_times_b_mod_c() and a_exp_b_mod_c() inline CryptoPP::word operator%(const CryptoPP::Integer &a, CryptoPP::word b) {return a.Modulo(b);} NAMESPACE_END diff --git a/iterhash.cpp b/iterhash.cpp index 9c290630..f13825d2 100644 --- a/iterhash.cpp +++ b/iterhash.cpp @@ -18,7 +18,7 @@ template void IteratedHashBase::Update(const byte if (m_countHi < oldCountHi || SafeRightShift<2*8*sizeof(HashWordType)>(len) != 0) throw HashInputTooLong(this->AlgorithmName()); - unsigned int blockSize = this->BlockSize(); + const unsigned int blockSize = this->BlockSize(); unsigned int num = ModPowerOf2(oldCountLo, blockSize); T* dataBuf = this->DataBuf(); diff --git a/lubyrack.h b/lubyrack.h index e2b30eac..1c9c62da 100644 --- a/lubyrack.h +++ b/lubyrack.h @@ -1,10 +1,11 @@ // lubyrack.h - written and placed in the public domain by Wei Dai +//! \file lubyrack.h +//! \brief Classes for the Luby-Rackoff block cipher + #ifndef CRYPTOPP_LUBYRACK_H #define CRYPTOPP_LUBYRACK_H -/** \file */ - #include "simple.h" #include "secblock.h" diff --git a/luc.cpp b/luc.cpp index 5849798e..17a2e32b 100644 --- a/luc.cpp +++ b/luc.cpp @@ -10,12 +10,14 @@ NAMESPACE_BEGIN(CryptoPP) +#if !defined(NDEBUG) && !defined(CRYPTOPP_DOXYGEN_PROCESSING) void LUC_TestInstantiations() { LUC_HMP::Signer t1; LUCFunction t2; InvertibleLUCFunction t3; } +#endif void DL_Algorithm_LUC_HMP::Sign(const DL_GroupParameters ¶ms, const Integer &x, const Integer &k, const Integer &e, Integer &r, Integer &s) const { diff --git a/mars.h b/mars.h index 424554df..c4c7fd93 100644 --- a/mars.h +++ b/mars.h @@ -1,8 +1,7 @@ // mars.h - written and placed in the public domain by Wei Dai -//! \file -//! \brief Implementation of the MARS cipher (IBM AES submission) - +//! \file mars.h +//! \brief Classes for the MARS block cipher (IBM AES submission) #ifndef CRYPTOPP_MARS_H #define CRYPTOPP_MARS_H diff --git a/md5.cpp b/md5.cpp index 11035b77..c7015f14 100644 --- a/md5.cpp +++ b/md5.cpp @@ -9,10 +9,12 @@ NAMESPACE_BEGIN(CryptoPP) namespace Weak1 { +#if !defined(NDEBUG) && !defined(CRYPTOPP_DOXYGEN_PROCESSING) void MD5_TestInstantiations() { MD5 x; } +#endif void MD5::InitState(HashWordType *state) { diff --git a/mersenne.h b/mersenne.h index 217014f0..35ac2124 100644 --- a/mersenne.h +++ b/mersenne.h @@ -1,7 +1,9 @@ -// mersenne.h - written and placed in public domain by Jeffrey Walton. Copyright assigned to Crypto++ project. +// mersenne.h - written and placed in public domain by Jeffrey Walton. +// Copyright assigned to Crypto++ project. //! \file -//! \brief Implementation of the Mersenne Twister +//! \brief Class file for Mersenne Twister +//! \note Suitable for Monte Carlo simulations, and not cryptographic use #ifndef CRYPTOPP_MERSENNE_TWISTER_H #define CRYPTOPP_MERSENNE_TWISTER_H @@ -19,14 +21,16 @@ NAMESPACE_BEGIN(CryptoPP) //! \tparam N Size of the state vector //! \tparam F Multiplier constant //! \tparam S Sefault seed -//! \details Provides the \p MersenneTwister implementation. The class is a header-only implementation +//! \details Provides the MersenneTwister implementation. The class is a header-only implementation. +//! \warning MersenneTwister is suitable for simulations, where uniformaly distrubuted numbers are +//! required quickly. It should not be used for cryptographic purposes. template class MersenneTwister : public RandomNumberGenerator { public: //! \brief Construct a Mersenne Twister - //! \param seed 32 bit seed - //! \details Defaults to template parameter \p S due to changing algorithm + //! \param seed 32-bit seed + //! \details Defaults to template parameter S due to changing algorithm //! parameters over time MersenneTwister(unsigned long seed = S) : m_seed(seed), m_idx(N) { @@ -38,9 +42,9 @@ public: //! \brief Generate random array of bytes //! \param output byte buffer //! \param size length of the buffer, in bytes - //! \details Bytes are written to \p output in big endian order. If \p output length + //! \details Bytes are written to output in big endian order. If output length //! is not a multiple of word32, then unused bytes are not accumulated for subsequent - //! calls to \p GenerateBlock. Rather, the unused tail bytes are discarded, and the + //! calls to GenerateBlock. Rather, the unused tail bytes are discarded, and the //! stream is continued at the next word32 boundary from the state array. void GenerateBlock(byte *output, size_t size) { @@ -84,8 +88,9 @@ public: *((volatile word32*)&temp) = 0; } - //! \brief Generate a random 32 bit word in the range min to max, inclusive - //! \details If the 32 bit candidate is not within the range, then it is discarded + //! \brief Generate a random 32-bit word in the range min to max, inclusive + //! \returns random 32-bit word in the range min to max, inclusive + //! \details If the 32-bit candidate is not within the range, then it is discarded //! and a new candidate is used. word32 GenerateWord32(word32 min=0, word32 max=0xffffffffL) { @@ -105,8 +110,8 @@ public: //! \brief Generate and discard n bytes //! \param n the number of bytes to discard, rounded up to a word32 size - //! \details If \p n is not a multiple of word32, then unused bytes are - //! not accumulated for subsequent calls to \p GenerateBlock. Rather, the unused + //! \details If n is not a multiple of word32, then unused bytes are + //! not accumulated for subsequent calls to GenerateBlock. Rather, the unused //! tail bytes are discarded, and the stream is continued at the next //! word32 boundary from the state array. void DiscardBytes(size_t n) @@ -118,6 +123,7 @@ public: protected: //! \brief Returns the next 32-bit word from the state array + //! \returns the next 32-bit word from the state array //! \details fetches the next word frm the state array, performs bit operations on //! it, and then returns the value to the caller. word32 NextMersenneWord() @@ -164,7 +170,7 @@ protected: private: - //! \brief 32-bit word state array of size \p N + //! \brief 32-bit word state array of size N FixedSizeSecBlock m_state; //! \brief the value used to seed the generator unsigned int m_seed; @@ -178,7 +184,7 @@ typedef MersenneTwister<0x9908B0DF /*2567483615*/, 397, 624, 0x10DCD /*69069*/, //! \brief Updated MT19937 generator adapted to provide an array for initialization. //! \details Also see http://www.math.sci.hiroshima-u.ac.jp/~m-mat/MT/MT2002/emt19937ar.html; uses 5489 as default initial seed. -//! \note Use this generator when interoperating with C++11's \p mt19937 class. +//! \note Use this generator when interoperating with C++11's mt19937 class. typedef MersenneTwister<0x9908B0DF /*2567483615*/, 397, 624, 0x6C078965 /*1812433253*/, 5489> MT19937ar; NAMESPACE_END diff --git a/misc.cpp b/misc.cpp index a7f609c0..1c465f43 100644 --- a/misc.cpp +++ b/misc.cpp @@ -4,25 +4,34 @@ #include "config.h" #if CRYPTOPP_MSC_VERSION -# pragma warning(disable: 4189 6237) +# pragma warning(disable: 4189) +# if (CRYPTOPP_MSC_VERSION >= 1400) +# pragma warning(disable: 6237) +# endif #endif #ifndef CRYPTOPP_IMPORTS #include "misc.h" #include "words.h" -#include +#include "words.h" +#include "stdcpp.h" +#include "integer.h" +// for memalign #if defined(CRYPTOPP_MEMALIGN_AVAILABLE) || defined(CRYPTOPP_MM_MALLOC_AVAILABLE) || defined(QNX) -#include +# include #endif NAMESPACE_BEGIN(CryptoPP) void xorbuf(byte *buf, const byte *mask, size_t count) { - size_t i; + assert(buf != NULL); + assert(mask != NULL); + assert(count > 0); + size_t i=0; if (IsAligned(buf) && IsAligned(mask)) { if (!CRYPTOPP_BOOL_SLOW_WORD64 && IsAligned(buf) && IsAligned(mask)) @@ -51,8 +60,11 @@ void xorbuf(byte *buf, const byte *mask, size_t count) void xorbuf(byte *output, const byte *input, const byte *mask, size_t count) { - size_t i; + assert(output != NULL); + assert(input != NULL); + assert(count > 0); + size_t i=0; if (IsAligned(output) && IsAligned(input) && IsAligned(mask)) { if (!CRYPTOPP_BOOL_SLOW_WORD64 && IsAligned(output) && IsAligned(input) && IsAligned(mask)) @@ -83,7 +95,11 @@ void xorbuf(byte *output, const byte *input, const byte *mask, size_t count) bool VerifyBufsEqual(const byte *buf, const byte *mask, size_t count) { - size_t i; + assert(buf != NULL); + assert(mask != NULL); + assert(count > 0); + + size_t i=0; byte acc8 = 0; if (IsAligned(buf) && IsAligned(mask)) @@ -139,7 +155,9 @@ void CallNewHandler() void * AlignedAllocate(size_t size) { byte *p; -#ifdef CRYPTOPP_MM_MALLOC_AVAILABLE +#if defined(CRYPTOPP_APPLE_ALLOC_AVAILABLE) + while ((p = (byte *)calloc(1, size)) == NULL) +#elif defined(CRYPTOPP_MM_MALLOC_AVAILABLE) while ((p = (byte *)_mm_malloc(size, 16)) == NULL) #elif defined(CRYPTOPP_MEMALIGN_AVAILABLE) while ((p = (byte *)memalign(16, size)) == NULL) diff --git a/misc.h b/misc.h index 6525b81a..f7dc8165 100644 --- a/misc.h +++ b/misc.h @@ -1,17 +1,21 @@ // misc.h - written and placed in the public domain by Wei Dai -/*! \file - \headerfile misc.h file contains utility functions for the library. -*/ + +//! \file misc.h +//! \brief Utility functions for the Crypto++ library. #ifndef CRYPTOPP_MISC_H #define CRYPTOPP_MISC_H #include "config.h" -//! \if 0 +#if !CRYPTOPP_DOXYGEN_PROCESSING + #if CRYPTOPP_MSC_VERSION # pragma warning(push) -# pragma warning(disable: 6326) +# pragma warning(disable: 4146) +# if (CRYPTOPP_MSC_VERSION >= 1400) +# pragma warning(disable: 6326) +# endif #endif #include "cryptlib.h" @@ -54,24 +58,48 @@ #include #endif +#endif // CRYPTOPP_DOXYGEN_PROCESSING + +#if CRYPTOPP_DOXYGEN_PROCESSING +//! \brief The maximum value of a machine word +//! \details SIZE_MAX provides the maximum value of a machine word. The value is +//! \p 0xffffffff on 32-bit machines, and \p 0xffffffffffffffff on 64-bit machines. +//! Internally, SIZE_MAX is defined as __SIZE_MAX__ if __SIZE_MAX__ is defined. If not +//! defined, then SIZE_T_MAX is tried. If neither __SIZE_MAX__ nor SIZE_T_MAX is +//! is defined, the library uses std::numeric_limits::max(). The library +//! prefers __SIZE_MAX__ because its a constexpr that is optimized well +//! by all compilers. std::numeric_limits::max() is \a not a constexpr, +//! and it is \a not always optimized well. +# define SIZE_MAX ... +#else // Its amazing portability problems still plague this simple concept in 2015. // http://stackoverflow.com/questions/30472731/which-c-standard-header-defines-size-max // Avoid NOMINMAX macro on Windows. http://support.microsoft.com/en-us/kb/143208 #ifndef SIZE_MAX -# ifdef __SIZE_MAX__ +# if defined(__SIZE_MAX__) # define SIZE_MAX __SIZE_MAX__ +# elif defined(SIZE_T_MAX) +# define SIZE_MAX SIZE_T_MAX # else # define SIZE_MAX ((std::numeric_limits::max)()) # endif #endif -//! \endif +#endif // CRYPTOPP_DOXYGEN_PROCESSING NAMESPACE_BEGIN(CryptoPP) + +// Forward declaration for IntToString specialization +class Integer; // ************** compile-time assertion *************** -//! \if 0 +#if CRYPTOPP_DOXYGEN_PROCESSING +//! \brief Compile time assertion +//! \param expr the expression to evaluate +//! \details Asserts the expression expr though a dummy struct. +#define CRYPTOPP_COMPILE_ASSERT(expr) ... +#else // CRYPTOPP_DOXYGEN_PROCESSING template struct CompileAssert { @@ -95,10 +123,23 @@ struct CompileAssert #endif #define CRYPTOPP_ASSERT_JOIN(X, Y) CRYPTOPP_DO_ASSERT_JOIN(X, Y) #define CRYPTOPP_DO_ASSERT_JOIN(X, Y) X##Y - + +#endif // CRYPTOPP_DOXYGEN_PROCESSING + // ************** count elements in an array *************** -// VS2005 added _countof, fails on pointers (desired) +#if CRYPTOPP_DOXYGEN_PROCESSING +//! \brief Counts elements in an array +//! \param arr an array of elements +//! \details COUNTOF counts elements in an array. On Windows COUNTOF(x) is deinfed +//! to _countof(x) to ensure correct results for pointers. Since the library code +//! is cross-platform, Windows will ensure the safety on non-Windows platforms. +//! \note COUNTOF does not produce correct results with pointers, and an array must be used. +//! The library ensures correct application of COUNTOF by enlisting _countof on Windows +//! platforms. Microsoft's _countof fails to compile using pointers. +# define COUNTOF(arr) +#else +// VS2005 added _countof #ifndef COUNTOF # if defined(_MSC_VER) && (_MSC_VER >= 1400) # define COUNTOF(x) _countof(x) @@ -106,25 +147,30 @@ struct CompileAssert # define COUNTOF(x) (sizeof(x)/sizeof(x[0])) # endif #endif // COUNTOF +#endif // CRYPTOPP_DOXYGEN_PROCESSING // ************** misc classes *************** +#if !CRYPTOPP_DOXYGEN_PROCESSING class CRYPTOPP_DLL Empty { }; -//! _ template class CRYPTOPP_NO_VTABLE TwoBases : public BASE1, public BASE2 { }; -//! _ template class CRYPTOPP_NO_VTABLE ThreeBases : public BASE1, public BASE2, public BASE3 { }; +#endif // CRYPTOPP_DOXYGEN_PROCESSING +//! \class ObjectHolder +//! \tparam the class or type +//! \brief Uses encapsulation to hide an object in derived classes +//! \details The object T is declared as protected. template class ObjectHolder { @@ -132,6 +178,12 @@ protected: T m_object; }; +//! \class NotCopyable +//! \brief Ensures an object is not copyable +//! \details NotCopyable ensures an object is not copyable by making the +//! copy constructor and assignment operator private. Deleters are not +//! used under C++11. +//! \sa Clonable class class NotCopyable { public: @@ -141,13 +193,26 @@ private: void operator=(const NotCopyable &); }; +//! \class NewObject +//! \brief An object factory function +//! \details NewObject overloads operator()(). template struct NewObject { T* operator()() const {return new T;} }; -#if defined(_MSC_VER) +#if CRYPTOPP_DOXYGEN_PROCESSING +//! \brief A memory barrier +//! \details MEMORY_BARRIER attempts to ensure reads and writes are completed +//! in the absence of a language synchronization point. It is used by the +//! Singleton class if the compiler supports it. The use is provided at the +//! customary check points in a double-checked initialization. +//! \details Internally, MEMORY_BARRIER uses intrinsic(_ReadWriteBarrier), +//! _ReadWriteBarrier() or __asm__("" ::: "memory"). +#define MEMORY_BARRIER ... +#else +#if (_MSC_VER >= 1400) # pragma intrinsic(_ReadWriteBarrier) # define MEMORY_BARRIER() _ReadWriteBarrier() #elif defined(__INTEL_COMPILER) @@ -155,11 +220,18 @@ struct NewObject #elif defined(__GNUC__) || defined(__clang__) # define MEMORY_BARRIER() __asm__ __volatile__ ("" ::: "memory") #else -// # error "Unknown compiler" +# define MEMORY_BARRIER() #endif +#endif // CRYPTOPP_DOXYGEN_PROCESSING //! \brief Restricts the instantiation of a class to one static object without locks -//! \details This class safely initializes a static object in a multithreaded environment without using locks (for portability). Note that if two threads call Ref() at the same time, they may get back different references, and one object may end up being memory leaked. This is by design. +//! \tparam T the class or type +//! \tparam F the object factory for T +//! \tparam instance the initiali instance count +//! \details This class safely initializes a static object in a multithreaded environment +//! without using locks (for portability). Note that if two threads call Ref() at the same +//! time, they may get back different references, and one object may end up being memory +//! leaked. This is by design. template , int instance=0> class Singleton { @@ -173,6 +245,9 @@ private: F m_objectFactory; }; +//! \brief Return a reference to the inner Singleton object +//! \details Ref() is used to create the object using the object factory. The +//! object is only created once with the limitations discussed in the class documentation. template const T & Singleton::Ref(CRYPTOPP_NOINLINE_DOTDOTDOT) const { @@ -201,30 +276,43 @@ const T & Singleton::Ref(CRYPTOPP_NOINLINE_DOTDOTDOT) const // ************** misc functions *************** -#if (!__STDC_WANT_SECURE_LIB__ && !defined(_MEMORY_S_DEFINED)) && !(defined(__MINGW__) || defined(__MINGW32__)) +#if (!__STDC_WANT_SECURE_LIB__ && !defined(_MEMORY_S_DEFINED)) || defined(CRYPTOPP_WANT_SECURE_LIB) -//! \brief Bounds checking replacement for \p memcpy +//! \brief Bounds checking replacement for memcpy() //! \param dest pointer to the desination memory block //! \param sizeInBytes the size of the desination memory block, in bytes //! \param src pointer to the source memory block //! \param count the size of the source memory block, in bytes //! \throws InvalidArgument -//! \details ISO/IEC TR-24772 provides bounds checking interfaces for potentially unsafe functions like \p memcpy, \p strcpy and \p memmove. However, not all standard libraries provides them, like Glibc. The library's \p memcpy_s is a near-drop in replacement. Its only a near-replacement because the library's version throws an \p InvalidArgument on a bounds violation. -//! \note \p memcpy_s will \p assert the pointers \p src and \p dest are not \p NULL in debug builds. Passing \p NULL for either pointer is undefined behavior. +//! \details ISO/IEC TR-24772 provides bounds checking interfaces for potentially +//! unsafe functions like memcpy(), strcpy() and memmove(). However, +//! not all standard libraries provides them, like Glibc. The library's +//! memcpy_s() is a near-drop in replacement. Its only a near-replacement +//! because the library's version throws an InvalidArgument on a bounds violation. +//! \details memcpy_s() and memmove_s() are guarded by __STDC_WANT_SECURE_LIB__. +//! If __STDC_WANT_SECURE_LIB__ is \a not defined or defined to 0, then the library +//! makes memcpy_s() and memmove_s() available. The library will also optionally +//! make the symbols available if CRYPTOPP_WANT_SECURE_LIB is defined. +//! CRYPTOPP_WANT_SECURE_LIB is in config.h, but it is disabled by default. +//! \details memcpy_s() will assert the pointers src and dest are not NULL +//! in debug builds. Passing NULL for either pointer is undefined behavior. inline void memcpy_s(void *dest, size_t sizeInBytes, const void *src, size_t count) { // Safer functions on Windows for C&A, http://github.com/weidai11/cryptopp/issues/55 // Pointers must be valid; otherwise undefined behavior assert(dest != NULL); assert(src != NULL); - // Desitnation buffer must be large enough to satsify request + // Destination buffer must be large enough to satsify request assert(sizeInBytes >= count); if (count > sizeInBytes) throw InvalidArgument("memcpy_s: buffer overflow"); #if CRYPTOPP_MSC_VERSION # pragma warning(push) -# pragma warning(disable 4996 6386) +# pragma warning(disable: 4996) +# if (CRYPTOPP_MSC_VERSION >= 1400) +# pragma warning(disable: 6386) +# endif #endif memcpy(dest, src, count); #if CRYPTOPP_MSC_VERSION @@ -232,28 +320,41 @@ inline void memcpy_s(void *dest, size_t sizeInBytes, const void *src, size_t cou #endif } -//! \brief Bounds checking replacement for \p memmove +//! \brief Bounds checking replacement for memmove() //! \param dest pointer to the desination memory block //! \param sizeInBytes the size of the desination memory block, in bytes //! \param src pointer to the source memory block //! \param count the size of the source memory block, in bytes //! \throws InvalidArgument -//! \details ISO/IEC TR-24772 provides bounds checking interfaces for potentially unsafe functions like \p memcpy, \p strcpy and \p memmove. However, not all standard libraries provides them, like Glibc. The library's \p memmove_s is a near-drop in replacement. Its only a near-replacement because the library's version throws an \p InvalidArgument on a bounds violation. -//! \note \p memcmove_s will \p assert the pointers \p src and \p dest are not \p NULL in debug builds. Passing \p NULL for either pointer is undefined behavior. +//! \details ISO/IEC TR-24772 provides bounds checking interfaces for potentially +//! unsafe functions like memcpy(), strcpy() and memmove(). However, +//! not all standard libraries provides them, like Glibc. The library's +//! memmove_s() is a near-drop in replacement. Its only a near-replacement +//! because the library's version throws an InvalidArgument on a bounds violation. +//! \details memcpy_s() and memmove_s() are guarded by __STDC_WANT_SECURE_LIB__. +//! If __STDC_WANT_SECURE_LIB__ is \a not defined or defined to 0, then the library +//! makes memcpy_s() and memmove_s() available. The library will also optionally +//! make the symbols available if CRYPTOPP_WANT_SECURE_LIB is defined. +//! CRYPTOPP_WANT_SECURE_LIB is in config.h, but it is disabled by default. +//! \details memmove_s() will assert the pointers src and dest are not NULL +//! in debug builds. Passing NULL for either pointer is undefined behavior. inline void memmove_s(void *dest, size_t sizeInBytes, const void *src, size_t count) { // Safer functions on Windows for C&A, http://github.com/weidai11/cryptopp/issues/55 // Pointers must be valid; otherwise undefined behavior assert(dest != NULL); assert(src != NULL); - // Desitnation buffer must be large enough to satsify request + // Destination buffer must be large enough to satsify request assert(sizeInBytes >= count); if (count > sizeInBytes) throw InvalidArgument("memmove_s: buffer overflow"); #if CRYPTOPP_MSC_VERSION # pragma warning(push) -# pragma warning(disable 4996 6386) +# pragma warning(disable: 4996) +# if (CRYPTOPP_MSC_VERSION >= 1400) +# pragma warning(disable: 6386) +# endif #endif memmove(dest, src, count); #if CRYPTOPP_MSC_VERSION @@ -273,7 +374,8 @@ inline void memmove_s(void *dest, size_t sizeInBytes, const void *src, size_t co //! \param ptr pointer to the memory block being written //! \param value the integer value to write for each byte //! \param num the size of the source memory block, in bytes -//! \details Internally the function calls \p memset with the value \p value, and receives the return value from \p memset as a volatile pointer. +//! \details Internally the function calls memset with the value value, and receives the +//! return value from memset as a volatile pointer. inline void * memset_z(void *ptr, int value, size_t num) { // avoid extranous warning on GCC 4.3.2 Ubuntu 8.10 @@ -285,21 +387,21 @@ inline void * memset_z(void *ptr, int value, size_t num) return const_cast(x); } -//! \brief Replacement function for \p std::min +//! \brief Replacement function for std::min //! \param a the first value //! \param b the second value -//! \returns the minimum value based on a comparison of b < a using operator< -//! \details \p STDMIN was provided because the library could not use \p std::min or \p std::max in MSVC60 or Cygwin 1.1.0 +//! \returns the minimum value based on a comparison of b \< a using operator\< +//! \details STDMIN was provided because the library could not use std::min or std::max in MSVC60 or Cygwin 1.1.0 template inline const T& STDMIN(const T& a, const T& b) { return b < a ? b : a; } -//! \brief Replacement function for \p std::max +//! \brief Replacement function for std::max //! \param a the first value //! \param b the second value -//! \returns the minimum value based on a comparison of a < b using operator< -//! \details \p STDMAX was provided because the library could not use \p std::min or \p std::max in MSVC60 or Cygwin 1.1.0 +//! \returns the minimum value based on a comparison of a \< b using operator\< +//! \details STDMAX was provided because the library could not use std::min or std::max in MSVC60 or Cygwin 1.1.0 template inline const T& STDMAX(const T& a, const T& b) { // can't use std::min or std::max in MSVC60 or Cygwin 1.1.0 @@ -314,7 +416,7 @@ template inline const T& STDMAX(const T& a, const T& b) #if CRYPTOPP_GCC_DIAGNOSTIC_AVAILABLE # pragma GCC diagnostic push # pragma GCC diagnostic ignored "-Wsign-compare" -# if (CRYPTOPP_CLANG_VERSION >= 20900) +# if (CRYPTOPP_CLANG_VERSION >= 20800) || (CRYPTOPP_APPLE_CLANG_VERSION >= 30000) # pragma GCC diagnostic ignored "-Wtautological-compare" # elif (CRYPTOPP_GCC_VERSION >= 40300) # pragma GCC diagnostic ignored "-Wtype-limits" @@ -324,8 +426,8 @@ template inline const T& STDMAX(const T& a, const T& b) //! \brief Safe comparison of values that could be neagtive and incorrectly promoted //! \param a the first value //! \param b the second value -//! \returns the minimum value based on a comparison \p a and \p b using operator<. -//! \details The comparison b < a is performed and the value returned is \p a's type \p T1. +//! \returns the minimum value based on a comparison a and b using operator<. +//! \details The comparison b \< a is performed and the value returned is a's type T1. template inline const T1 UnsignedMin(const T1& a, const T2& b) { CRYPTOPP_COMPILE_ASSERT((sizeof(T1)<=sizeof(T2) && T2(-1)>0) || (sizeof(T1)>sizeof(T2) && T1(-1)>0)); @@ -335,10 +437,10 @@ template inline const T1 UnsignedMin(const T1& a, const T2& return (T1)b < a ? (T1)b : a; } -//! \brief Tests whether a conversion \p from → \p to is safe to perform +//! \brief Tests whether a conversion from → to is safe to perform //! \param from the first value //! \param to the second value -//! \returns true if its safe to convert \p from into \p to, false otherwise. +//! \returns true if its safe to convert from into to, false otherwise. template inline bool SafeConvert(T1 from, T2 &to) { @@ -351,10 +453,15 @@ inline bool SafeConvert(T1 from, T2 &to) //! \brief Converts a value to a string //! \param value the value to convert //! \param base the base to use during the conversion -//! \returns the \p string representation of \p value in \p base. +//! \returns the string representation of value in base. template std::string IntToString(T value, unsigned int base = 10) { + // Hack... set the high bit for uppercase. + static const unsigned int HIGH_BIT = (1U << 31); + const char CH = !!(base & HIGH_BIT) ? 'A' : 'a'; + base &= ~HIGH_BIT; + assert(base >= 2); if (value == 0) return "0"; @@ -369,7 +476,7 @@ std::string IntToString(T value, unsigned int base = 10) while (value > 0) { T digit = value % base; - result = char((digit < 10 ? '0' : ('a' - 10)) + digit) + result; + result = char((digit < 10 ? '0' : (CH - 10)) + digit) + result; value /= base; } if (negate) @@ -377,6 +484,38 @@ std::string IntToString(T value, unsigned int base = 10) return result; } +//! \brief Converts an unsigned value to a string +//! \param value the value to convert +//! \param base the base to use during the conversion +//! \returns the string representation of value in base. +//! \details this template function specialization was added to suppress +//! Coverity findings on IntToString() with unsigned types. +template <> CRYPTOPP_DLL +std::string IntToString(unsigned long long value, unsigned int base); + +//! \brief Converts an Integer to a string +//! \param value the Integer to convert +//! \param base the base to use during the conversion +//! \returns the string representation of value in base. +//! \details This is a template specialization of IntToString(). Use it +//! like IntToString(): +//!
+//!   // Print integer in base 10
+//!   Integer n...
+//!   std::string s = IntToString(n, 10);
+//! 
+//! \details The string is presented with lowercase letters by default. A +//! hack is available to switch to uppercase letters without modifying +//! the function signature.sha +//!
+//!   // Print integer in base 10, uppercase letters
+//!   Integer n...
+//!   const unsigned int UPPER = (1 << 31);
+//!   std::string s = IntToString(n, (UPPER | 10));
+//! 
+template <> CRYPTOPP_DLL +std::string IntToString(Integer value, unsigned int base); + #if CRYPTOPP_MSC_VERSION # pragma warning(pop) #endif @@ -416,7 +555,6 @@ unsigned int BytePrecision(const T &value) return 0; unsigned int l=0, h=8*sizeof(value); - while (h-l > 8) { unsigned int t = (l+h)/2; @@ -454,8 +592,9 @@ unsigned int BitPrecision(const T &value) //! Determines the number of trailing 0-bits in a value //! \param v the 32-bit value to test -//! \returns the number of trailing 0-bits in \p v, starting at the least significant bit position -//! \details \p TrailingZeros returns the number of trailing 0-bits in \p v, starting at the least significant bit position. The return value is undefined if there are no 1-bits set in the value \p v. +//! \returns the number of trailing 0-bits in v, starting at the least significant bit position +//! \details TrailingZeros returns the number of trailing 0-bits in v, starting at the least +//! significant bit position. The return value is undefined if there are no 1-bits set in the value v. //! \note The function does \a not return 0 if no 1-bits are set because 0 collides with a 1-bit at the 0-th position. inline unsigned int TrailingZeros(word32 v) { @@ -479,8 +618,9 @@ inline unsigned int TrailingZeros(word32 v) //! Determines the number of trailing 0-bits in a value //! \param v the 64-bit value to test -//! \returns the number of trailing 0-bits in \p v, starting at the least significant bit position -//! \details \p TrailingZeros returns the number of trailing 0-bits in \p v, starting at the least significant bit position. The return value is undefined if there are no 1-bits set in the value \p v. +//! \returns the number of trailing 0-bits in v, starting at the least significant bit position +//! \details TrailingZeros returns the number of trailing 0-bits in v, starting at the least +//! significant bit position. The return value is undefined if there are no 1-bits set in the value v. //! \note The function does \a not return 0 if no 1-bits are set because 0 collides with a 1-bit at the 0-th position. inline unsigned int TrailingZeros(word64 v) { @@ -499,8 +639,10 @@ inline unsigned int TrailingZeros(word64 v) //! \brief Truncates the value to the specified number of bits. //! \param value the value to truncate or mask //! \param bits the number of bits to truncate or mask -//! \returns the value truncated to the specified number of bits, starting at the least significant bit position -//! \details This function masks the low-order bits of value and returns the result. The mask is created with (1 << bits) - 1. +//! \returns the value truncated to the specified number of bits, starting at the least +//! significant bit position +//! \details This function masks the low-order bits of value and returns the result. The +//! mask is created with (1 << bits) - 1. template inline T Crop(T value, size_t bits) { @@ -513,7 +655,7 @@ inline T Crop(T value, size_t bits) //! \brief Returns the number of 8-bit bytes or octets required for the specified number of bits //! \param bitCount the number of bits //! \returns the minimum number of 8-bit bytes or octets required by bitCount -//! \details \p BitsToBytes is effectively a ceiling function based on 8-bit bytes. +//! \details BitsToBytes is effectively a ceiling function based on 8-bit bytes. inline size_t BitsToBytes(size_t bitCount) { return ((bitCount+7)/(8)); @@ -522,7 +664,8 @@ inline size_t BitsToBytes(size_t bitCount) //! \brief Returns the number of words required for the specified number of bytes //! \param byteCount the number of bytes //! \returns the minimum number of words required by byteCount -//! \details \p BytesToWords is effectively a ceiling function based on WORD_SIZE. WORD_SIZE is defined in config.h +//! \details BytesToWords is effectively a ceiling function based on WORD_SIZE. +//! WORD_SIZE is defined in config.h inline size_t BytesToWords(size_t byteCount) { return ((byteCount+WORD_SIZE-1)/WORD_SIZE); @@ -531,7 +674,8 @@ inline size_t BytesToWords(size_t byteCount) //! \brief Returns the number of words required for the specified number of bits //! \param bitCount the number of bits //! \returns the minimum number of words required by bitCount -//! \details \p BitsToWords is effectively a ceiling function based on WORD_BITS. WORD_BITS is defined in config.h +//! \details BitsToWords is effectively a ceiling function based on WORD_BITS. +//! WORD_BITS is defined in config.h inline size_t BitsToWords(size_t bitCount) { return ((bitCount+WORD_BITS-1)/(WORD_BITS)); @@ -540,7 +684,8 @@ inline size_t BitsToWords(size_t bitCount) //! \brief Returns the number of double words required for the specified number of bits //! \param bitCount the number of bits //! \returns the minimum number of double words required by bitCount -//! \details \p BitsToDwords is effectively a ceiling function based on 2*WORD_BITS. WORD_BITS is defined in config.h +//! \details BitsToDwords is effectively a ceiling function based on 2*WORD_BITS. +//! WORD_BITS is defined in config.h inline size_t BitsToDwords(size_t bitCount) { return ((bitCount+2*WORD_BITS-1)/(2*WORD_BITS)); @@ -550,7 +695,8 @@ inline size_t BitsToDwords(size_t bitCount) //! \param buf the buffer to XOR with the mask //! \param mask the mask to XOR with the buffer //! \param count the size of the buffers, in bytes -//! \details The function effectively visits each element in the buffers and performs buf[i] ^= mask[i]. \p buf and \p mask must be of equal size. +//! \details The function effectively visits each element in the buffers and performs +//! buf[i] ^= mask[i]. buf and mask must be of equal size. CRYPTOPP_DLL void CRYPTOPP_API xorbuf(byte *buf, const byte *mask, size_t count); //! Performs an XOR of an input buffer with a mask and stores the result in an output buffer @@ -558,20 +704,25 @@ CRYPTOPP_DLL void CRYPTOPP_API xorbuf(byte *buf, const byte *mask, size_t count) //! \param input the source buffer to XOR with the mask //! \param mask the mask buffer to XOR with the input buffer //! \param count the size of the buffers, in bytes -//! \details The function effectively visits each element in the buffers and performs output[i] = input[i] ^ mask[i]. \p output, \p input and \p mask must be of equal size. +//! \details The function effectively visits each element in the buffers and performs +//! output[i] = input[i] ^ mask[i]. output, input and mask must be of equal size. CRYPTOPP_DLL void CRYPTOPP_API xorbuf(byte *output, const byte *input, const byte *mask, size_t count); //! \brief Performs a near constant-time comparison of two equally sized buffers //! \param buf1 the first buffer //! \param buf2 the second buffer //! \param count the size of the buffers, in bytes -//! \details The function effectively Performs an XOR of the elements in two equally sized buffers and retruns a result based on the XOR operation. The function is near constant-time because CPU micro-code timings could affect the "constant-ness". Calling code is responsible for mitigating timing attacks if the buffers are \a not equally sized. +//! \details The function effectively performs an XOR of the elements in two equally sized buffers +//! and retruns a result based on the XOR operation. The function is near constant-time because +//! CPU micro-code timings could affect the "constant-ness". Calling code is responsible for +//! mitigating timing attacks if the buffers are \a not equally sized. CRYPTOPP_DLL bool CRYPTOPP_API VerifyBufsEqual(const byte *buf1, const byte *buf2, size_t count); //! \brief Tests whether a value is a power of 2 //! \param value the value to test -//! \returns true if \p value is a power of 2, false otherwise -//! \details The function effectively creates a mask of value - 1 and returns the result of an AND operation compared to 0. If \p value is 0 or less than 0, then the function freturns \p false. +//! \returns true if value is a power of 2, false otherwise +//! \details The function creates a mask of value - 1 and returns the result of +//! an AND operation compared to 0. If value is 0 or less than 0, then the function returns false. template inline bool IsPowerOf2(const T &value) { @@ -581,8 +732,9 @@ inline bool IsPowerOf2(const T &value) //! \brief Tests whether the residue of a value is a power of 2 //! \param a the value to test //! \param b the value to use to reduce \a to its residue -//! \returns true if a%b is a power of 2, false otherwise -//! \details The function effectively creates a mask of b - 1 and returns the result of an AND operation compared to 0. \b must be a power of 2 or the result is undefined. +//! \returns true if a\%b is a power of 2, false otherwise +//! \details The function effectively creates a mask of b - 1 and returns the result of an +//! AND operation compared to 0. b must be a power of 2 or the result is undefined. template inline T2 ModPowerOf2(const T1 &a, const T2 &b) { @@ -594,7 +746,8 @@ inline T2 ModPowerOf2(const T1 &a, const T2 &b) //! \param n the value to reduce //! \param m the value to reduce \n to to a multiple //! \returns the possibly unmodified value \n -//! \details \p RoundDownToMultipleOf is effectively a floor function based on \p m. The function returns the value n - n%m. If \p n is a multiple of \p m, then the original value is returned. +//! \details RoundDownToMultipleOf is effectively a floor function based on m. The function returns +//! the value n - n\%m. If n is a multiple of m, then the original value is returned. template inline T1 RoundDownToMultipleOf(const T1 &n, const T2 &m) { @@ -608,7 +761,9 @@ inline T1 RoundDownToMultipleOf(const T1 &n, const T2 &m) //! \param n the value to reduce //! \param m the value to reduce \n to to a multiple //! \returns the possibly unmodified value \n -//! \details \p RoundUpToMultipleOf is effectively a ceiling function based on \p m. The function returns the value n + n%m. If \p n is a multiple of \p m, then the original value is returned. If the value \p n would overflow, then an \p InvalidArgument exception is thrown. +//! \details RoundUpToMultipleOf is effectively a ceiling function based on m. The function +//! returns the value n + n\%m. If n is a multiple of m, then the original value is +//! returned. If the value n would overflow, then an InvalidArgument exception is thrown. template inline T1 RoundUpToMultipleOf(const T1 &n, const T2 &m) { @@ -620,7 +775,10 @@ inline T1 RoundUpToMultipleOf(const T1 &n, const T2 &m) //! \brief Returns the minimum alignment requirements of a type //! \param dummy an unused Visual C++ 6.0 workaround //! \returns the minimum alignment requirements of a type, in bytes -//! \details Internally the function calls C++11's \p alignof if available. If not available, the the function uses compiler specific extensions such as \p __alignof and \p _alignof_. \p sizeof(T) is used if the others are not available. In all cases, if \p CRYPTOPP_ALLOW_UNALIGNED_DATA_ACCESS is defined, then the function returns 1. +//! \details Internally the function calls C++11's alignof if available. If not available, the +//! function uses compiler specific extensions such as __alignof and _alignof_. sizeof(T) +//! is used if the others are not available. In all cases, if CRYPTOPP_ALLOW_UNALIGNED_DATA_ACCESS +//! is defined, then the function returns 1. template inline unsigned int GetAlignmentOf(T *dummy=NULL) // VC60 workaround { @@ -643,21 +801,22 @@ inline unsigned int GetAlignmentOf(T *dummy=NULL) // VC60 workaround #endif } -//! \brief Determines whether \p ptr is aligned to a minimum value +//! \brief Determines whether ptr is aligned to a minimum value //! \param ptr the pointer being checked for alignment //! \param alignment the alignment value to test the pointer against -//! \returns true if \p ptr is aligned on at least \p align boundary -//! \details Internally the function tests whether \p alignment is 1. If so, the function returns true. If not, then the function effectively performs a modular reduction and returns \p true if the residue is 0 +//! \returns true if ptr is aligned on at least align boundary +//! \details Internally the function tests whether alignment is 1. If so, the function returns true. +//! If not, then the function effectively performs a modular reduction and returns true if the residue is 0 inline bool IsAlignedOn(const void *ptr, unsigned int alignment) { return alignment==1 || (IsPowerOf2(alignment) ? ModPowerOf2((size_t)ptr, alignment) == 0 : (size_t)ptr % alignment == 0); } -//! \brief Determines whether \p ptr is minimally aligned +//! \brief Determines whether ptr is minimally aligned //! \param ptr the pointer to check for alignment //! \param dummy an unused Visual C++ 6.0 workaround -//! \returns true if \p ptr follows native byte ordering, false otherwise -//! \details Internally the function calls \p IsAlignedOn with a second parameter of \p GetAlignmentOf +//! \returns true if ptr follows native byte ordering, false otherwise +//! \details Internally the function calls IsAlignedOn with a second parameter of GetAlignmentOf template inline bool IsAligned(const void *ptr, T *dummy=NULL) // VC60 workaround { @@ -673,38 +832,63 @@ inline bool IsAligned(const void *ptr, T *dummy=NULL) // VC60 workaround # error "Unable to determine endian-ness" #endif -//! \brief Returns \p NativeByteOrder as an enumerated \p ByteOrder value -//! \returns \p LittleEndian if the native byte order is little-endian, and \p BigEndian if the native byte order is big-endian -//! \details \p NativeByteOrder is a typedef depending on the platform. If \p IS_LITTLE_ENDIAN is set in \headerfile config.h, then \p GetNativeByteOrder returns \p LittleEndian. If \p IS_BIG_ENDIAN is set, then \p GetNativeByteOrder returns \p BigEndian. -//! \note There are other byte orders besides little- and big-endian, and they include bi-endian and PDP-endian. If a system is neither little-endian nor big-endian, then a compile time error occurs. +//! \brief Returns NativeByteOrder as an enumerated ByteOrder value +//! \returns LittleEndian if the native byte order is little-endian, and BigEndian if the + //! native byte order is big-endian +//! \details NativeByteOrder is a typedef depending on the platform. If IS_LITTLE_ENDIAN is + //! set in \headerfile config.h, then GetNativeByteOrder returns LittleEndian. If + //! IS_BIG_ENDIAN is set, then GetNativeByteOrder returns BigEndian. +//! \note There are other byte orders besides little- and big-endian, and they include bi-endian + //! and PDP-endian. If a system is neither little-endian nor big-endian, then a compile time error occurs. inline ByteOrder GetNativeByteOrder() { return NativeByteOrder::ToEnum(); } -//! \brief Determines whether \p order follows native byte ordering +//! \brief Determines whether order follows native byte ordering //! \param order the ordering being tested against native byte ordering -//! \returns true if \p order follows native byte ordering, false otherwise +//! \returns true if order follows native byte ordering, false otherwise inline bool NativeByteOrderIs(ByteOrder order) { return order == GetNativeByteOrder(); } -//! \brief Performs a saturating subtract. +//! \brief Performs a saturating subtract clamped at 0 //! \param a the minuend //! \param b the subtrahend //! \returns the difference produced by the saturating subtract //! \details Saturating arithmetic restricts results to a fixed range. Results that are less than 0 are clamped at 0. +//! \details Use of saturating arithmetic in places can be advantageous because it can +//! avoid a branch by using an instruction like a conditional move (CMOVE). template inline T1 SaturatingSubtract(const T1 &a, const T2 &b) { + // Generated ASM of a typical clamp, http://gcc.gnu.org/ml/gcc-help/2014-10/msg00112.html return T1((a > b) ? (a - b) : 0); } +//! \brief Performs a saturating subtract clamped at 1 +//! \param a the minuend +//! \param b the subtrahend +//! \returns the difference produced by the saturating subtract +//! \details Saturating arithmetic restricts results to a fixed range. Results that are less than 1 are clamped at 1. +//! \details Use of saturating arithmetic in places can be advantageous because it can +//! avoid a branch by using an instruction like a conditional move (CMOVE). +template +inline T1 SaturatingSubtract1(const T1 &a, const T2 &b) +{ + // Generated ASM of a typical clamp, http://gcc.gnu.org/ml/gcc-help/2014-10/msg00112.html + return T1((a > b) ? (a - b) : 1); +} + //! \brief Returns the direction the cipher is being operated //! \param obj the cipher object being queried -//! \returns /p ENCRYPTION if the cipher \p obj is being operated in its forward direction, \p DECRYPTION otherwise -//! \details ciphers can be operated in a "forward" direction (encryption) and a "reverse" direction (decryption). The operations do not have to be symmetric, meaning a second application of the transformation does not necessariy return the original message. That is, E(D(m)) may not equal E(E(m)); and D(E(m)) may not equal D(D(m)). +//! \returns /p ENCRYPTION if the cipher obj is being operated in its forward direction, +//! DECRYPTION otherwise +//! \details ciphers can be operated in a "forward" direction (encryption) and a "reverse" +//! direction (decryption). The operations do not have to be symmetric, meaning a second application +//! of the transformation does not necessariy return the original message. That is, E(D(m)) +//! may not equal E(E(m)); and D(E(m)) may not equal D(D(m)). template inline CipherDir GetCipherDir(const T &obj) { @@ -713,14 +897,20 @@ inline CipherDir GetCipherDir(const T &obj) //! \brief Attempts to reclaim unused memory //! \throws bad_alloc -//! \details In the normal course of running a program, a request for memory normally succeeds. If a call to \p AlignedAllocate or \p UnalignedAllocate fails, then \p CallNewHandler is called in an effort to recover. Internally, \p CallNewHandler calls \p set_new_handler(NULL) in an effort to free memory. There is no guarantee \p CallNewHandler will be able to procure more memory so an allocation succeeds. If the call to \p set_new_handler fails, then \p CallNewHandler throws a \p bad_alloc exception. +//! \details In the normal course of running a program, a request for memory normally succeeds. If a +//! call to AlignedAllocate or UnalignedAllocate fails, then CallNewHandler is called in +//! an effort to recover. Internally, CallNewHandler calls set_new_handler(NULL) in an effort +//! to free memory. There is no guarantee CallNewHandler will be able to procure more memory so +//! an allocation succeeds. If the call to set_new_handler fails, then CallNewHandler throws +//! a bad_alloc exception. CRYPTOPP_DLL void CRYPTOPP_API CallNewHandler(); //! \brief Performs an addition with carry on a block of bytes //! \param inout the byte block //! \param size the size of the block, in bytes -//! \details Performs an addition with carry by adding 1 on a block of bytes starting at the least significant byte. Once \p carry is 0, the function terminates and returns to the caller. -//! \note The function is not constant time because it stops processing when the \p carry is 0. +//! \details Performs an addition with carry by adding 1 on a block of bytes starting at the least +//! significant byte. Once carry is 0, the function terminates and returns to the caller. +//! \note The function is not constant time because it stops processing when the carry is 0. inline void IncrementCounterByOne(byte *inout, unsigned int size) { assert(inout != NULL); assert(size < INT_MAX); @@ -732,7 +922,8 @@ inline void IncrementCounterByOne(byte *inout, unsigned int size) //! \param output the destination block of bytes //! \param input the source block of bytes //! \param size the size of the block -//! \details Performs an addition with carry on a block of bytes starting at the least significant byte. Once \p carry is 0, the remaining bytes from \p input are copied to \p output using \p memcpy. +//! \details Performs an addition with carry on a block of bytes starting at the least significant +//! byte. Once carry is 0, the remaining bytes from input are copied to output using memcpy. //! \details The function is \a close to near-constant time because it operates on all the bytes in the blocks. inline void IncrementCounterByOne(byte *output, const byte *input, unsigned int size) { @@ -744,7 +935,7 @@ inline void IncrementCounterByOne(byte *output, const byte *input, unsigned int memcpy_s(output, size, input, i+1); } -//! \brief Performs a branchless swap of values \p a and \p b if condition \p c is true +//! \brief Performs a branchless swap of values a and b if condition c is true //! \param c the condition to perform the swap //! \param a the first value //! \param b the second value @@ -756,7 +947,7 @@ inline void ConditionalSwap(bool c, T &a, T &b) b ^= t; } -//! \brief Performs a branchless swap of pointers \p a and \p b if condition \p c is true +//! \brief Performs a branchless swap of pointers a and b if condition c is true //! \param c the condition to perform the swap //! \param a the first pointer //! \param b the second pointer @@ -865,13 +1056,18 @@ inline void SecureWipeArray(T *buf, size_t n) SecureWipeBuffer((byte *)buf, n * sizeof(T)); } -//! \brief Converts a wide character C-string to a multibyte \p string +//! \brief Converts a wide character C-string to a multibyte string //! \param str a C-string consiting of wide characters -//! \param throwOnError specifies the function should throw an \p InvalidArgument exception on error -//! \returns \p str converted to a multibyte string or an empty string. -//! \details This function converts a wide string to a string using C++ \p wcstombs under the executing thread's locale. A locale must be set before using this function, and it can be set with \p setlocale. -//! Upon success, the converted string is returned. Upon failure with \p throwOnError as \p false, the function returns an empty string. Upon failure with \p throwOnError as \p true, the function throws InvalidArgument exception. -//! \note If you try to convert, say, the Chinese character for "bone" from UTF-16 (0x9AA8) to UTF-8 (0xE9 0xAA 0xA8), then you should ensure the locales are available. If the locales are not available, then a 0x21 error is returned which eventually results in an \p InvalidArgument exception +//! \param throwOnError specifies the function should throw an InvalidArgument exception on error +//! \returns str converted to a multibyte string or an empty string. +//! \details This function converts a wide string to a string using C++ wcstombs under the executing +//! thread's locale. A locale must be set before using this function, and it can be set with setlocale. +//! Upon success, the converted string is returned. Upon failure with throwOnError as false, the +//! function returns an empty string. Upon failure with throwOnError as true, the function throws +//! InvalidArgument exception. +//! \note If you try to convert, say, the Chinese character for "bone" from UTF-16 (0x9AA8) to UTF-8 +//! (0xE9 0xAA 0xA8), then you should ensure the locales are available. If the locales are not available, +//! then a 0x21 error is returned which eventually results in an InvalidArgument exception #ifndef CRYPTOPP_MAINTAIN_BACKWARDS_COMPATIBILITY_562 static inline std::string StringNarrow(const wchar_t *str, bool throwOnError = true) #else @@ -936,13 +1132,18 @@ CONVERSION_ERROR: //! \brief Allocates a buffer on 16-byte boundary //! \param size the size of the buffer -//! \details \p AlignedAllocate is primarily used when the data will be proccessed by MMX and SSE2 instructions. The assembly language routines rely on the alignment. If the alignment is not respected, then a \p SIGBUS is generated under Unix and an \p EXCEPTION_DATATYPE_MISALIGNMENT is generated under Windows. -//! \note \p AlignedAllocate and \p AlignedDeallocate are available when \p CRYPTOPP_BOOL_ALIGN16 is defined. \p CRYPTOPP_BOOL_ALIGN16 is defined in config.h +//! \details AlignedAllocate is primarily used when the data will be proccessed by MMX and SSE2 +//! instructions. The assembly language routines rely on the alignment. If the alignment is not +//! respected, then a SIGBUS is generated under Unix and an EXCEPTION_DATATYPE_MISALIGNMENT +//! is generated under Windows. +//! \note AlignedAllocate and AlignedDeallocate are available when CRYPTOPP_BOOL_ALIGN16 is +//! defined. CRYPTOPP_BOOL_ALIGN16 is defined in config.h CRYPTOPP_DLL void* CRYPTOPP_API AlignedAllocate(size_t size); -//! \brief Frees a buffer allocated with \p AlignedAllocate +//! \brief Frees a buffer allocated with AlignedAllocate //! \param ptr the buffer to free -//! \note \p AlignedAllocate and \p AlignedDeallocate are available when \p CRYPTOPP_BOOL_ALIGN16 is defined. \p CRYPTOPP_BOOL_ALIGN16 is defined in config.h +//! \note AlignedAllocate and AlignedDeallocate are available when CRYPTOPP_BOOL_ALIGN16 is +//! defined. CRYPTOPP_BOOL_ALIGN16 is defined in config.h CRYPTOPP_DLL void CRYPTOPP_API AlignedDeallocate(void *ptr); #endif // CRYPTOPP_DOXYGEN_PROCESSING @@ -956,7 +1157,7 @@ CRYPTOPP_DLL void CRYPTOPP_API AlignedDeallocate(void *ptr); //! \param size the size of the buffer CRYPTOPP_DLL void * CRYPTOPP_API UnalignedAllocate(size_t size); -//! \brief Frees a buffer allocated with \p UnalignedAllocate +//! \brief Frees a buffer allocated with UnalignedAllocate //! \param ptr the buffer to free CRYPTOPP_DLL void CRYPTOPP_API UnalignedDeallocate(void *ptr); @@ -965,9 +1166,12 @@ CRYPTOPP_DLL void CRYPTOPP_API UnalignedDeallocate(void *ptr); //! \brief Performs a left rotate //! \param x the value to rotate //! \param y the number of bit positions to rotate the value -//! \details This is a portable C/C++ implementation. The value to be rotated can be 8 to 64-bits. -//! \details \p y must be in the range [0, sizeof(T)*8 - 1] to avoid undefined behavior. Use \p rotlMod if the rotate amount \p y is outside the range. -//! \note \p rotlFixed attempts to enlist a rotate IMM instruction because its often faster than a rotate REG. Immediate rotates can be up to three times faster than their register counterparts. +//! \details This is a portable C/C++ implementation. The value x to be rotated can be 8 to 64-bits. +//! \details y must be in the range [0, sizeof(T)*8 - 1] to avoid undefined behavior. +//! Use rotlMod if the rotate amount y is outside the range. +//! \note rotlFixed attempts to enlist a rotate IMM instruction because its often faster +//! than a rotate REG. Immediate rotates can be up to three times faster than their register +//! counterparts. template inline T rotlFixed(T x, unsigned int y) { // Portable rotate that reduces to single instruction... @@ -985,9 +1189,12 @@ template inline T rotlFixed(T x, unsigned int y) //! \brief Performs a right rotate //! \param x the value to rotate //! \param y the number of bit positions to rotate the value -//! \details This is a portable C/C++ implementation. The value to be rotated can be 8 to 64-bits. -//! \details \p y must be in the range [0, sizeof(T)*8 - 1] to avoid undefined behavior. Use \p rotlMod if the rotate amount \p y is outside the range. -//! \note \p rotrFixed attempts to enlist a rotate IMM instruction because its often faster than a rotate REG. Immediate rotates can be up to three times faster than their register counterparts. +//! \details This is a portable C/C++ implementation. The value x to be rotated can be 8 to 64-bits. +//! \details y must be in the range [0, sizeof(T)*8 - 1] to avoid undefined behavior. +//! Use rotrMod if the rotate amount y is outside the range. +//! \note rotrFixed attempts to enlist a rotate IMM instruction because its often faster +//! than a rotate REG. Immediate rotates can be up to three times faster than their register +//! counterparts. template inline T rotrFixed(T x, unsigned int y) { // Portable rotate that reduces to single instruction... @@ -1003,9 +1210,12 @@ template inline T rotrFixed(T x, unsigned int y) //! \brief Performs a left rotate //! \param x the value to rotate //! \param y the number of bit positions to rotate the value -//! \details This is a portable C/C++ implementation. The value to be rotated can be 8 to 64-bits. -//! \details \p y must be in the range [0, sizeof(T)*8 - 1] to avoid undefined behavior. Use \p rotlMod if the rotate amount \p y is outside the range. -//! \note \p rotlVariable will use either rotate IMM or rotate REG. +//! \details This is a portable C/C++ implementation. The value x to be rotated can be 8 to 64-bits. +//! \details y must be in the range [0, sizeof(T)*8 - 1] to avoid undefined behavior. +//! Use rotlMod if the rotate amount y is outside the range. +//! \note rotlVariable attempts to enlist a rotate IMM instruction because its often faster +//! than a rotate REG. Immediate rotates can be up to three times faster than their register +//! counterparts. template inline T rotlVariable(T x, unsigned int y) { static const unsigned int THIS_SIZE = sizeof(T)*8; @@ -1017,9 +1227,12 @@ template inline T rotlVariable(T x, unsigned int y) //! \brief Performs a right rotate //! \param x the value to rotate //! \param y the number of bit positions to rotate the value -//! \details This is a portable C/C++ implementation. The value to be rotated can be 8 to 64-bits. -//! \details \p y must be in the range [0, sizeof(T)*8 - 1] to avoid undefined behavior. Use \p rotlMod if the rotate amount \p y is outside the range. -//! \note \p rotrVariable will use either rotate IMM or rotate REG. +//! \details This is a portable C/C++ implementation. The value x to be rotated can be 8 to 64-bits. +//! \details y must be in the range [0, sizeof(T)*8 - 1] to avoid undefined behavior. +//! Use rotrMod if the rotate amount y is outside the range. +//! \note rotrVariable attempts to enlist a rotate IMM instruction because its often faster +//! than a rotate REG. Immediate rotates can be up to three times faster than their register +//! counterparts. template inline T rotrVariable(T x, unsigned int y) { static const unsigned int THIS_SIZE = sizeof(T)*8; @@ -1031,9 +1244,9 @@ template inline T rotrVariable(T x, unsigned int y) //! \brief Performs a left rotate //! \param x the value to rotate //! \param y the number of bit positions to rotate the value -//! \details This is a portable C/C++ implementation. The value to be rotated can be 8 to 64-bits. -//! \details \p y is reduced to the range [0, sizeof(T)*8 - 1] to avoid undefined behavior. -//! \note \p rotrVariable will use either rotate IMM or rotate REG. +//! \details This is a portable C/C++ implementation. The value x to be rotated can be 8 to 64-bits. +//! \details y is reduced to the range [0, sizeof(T)*8 - 1] to avoid undefined behavior. +//! \note rotrVariable will use either rotate IMM or rotate REG. template inline T rotlMod(T x, unsigned int y) { static const unsigned int THIS_SIZE = sizeof(T)*8; @@ -1044,9 +1257,9 @@ template inline T rotlMod(T x, unsigned int y) //! \brief Performs a right rotate //! \param x the value to rotate //! \param y the number of bit positions to rotate the value -//! \details This is a portable C/C++ implementation. The value to be rotated can be 8 to 64-bits. -//! \details \p y is reduced to the range [0, sizeof(T)*8 - 1] to avoid undefined behavior. -//! \note \p rotrVariable will use either rotate IMM or rotate REG. +//! \details This is a portable C/C++ implementation. The value x to be rotated can be 8 to 64-bits. +//! \details y is reduced to the range [0, sizeof(T)*8 - 1] to avoid undefined behavior. +//! \note rotrVariable will use either rotate IMM or rotate REG. template inline T rotrMod(T x, unsigned int y) { static const unsigned int THIS_SIZE = sizeof(T)*8; @@ -1059,8 +1272,10 @@ template inline T rotrMod(T x, unsigned int y) //! \brief Performs a left rotate //! \param x the 32-bit value to rotate //! \param y the number of bit positions to rotate the value -//! \details This is a Microsoft specific implementation using _lrotl provided by \headerfile . The value to be rotated is 32-bits. \p y must be in the range [0, sizeof(T)*8 - 1] to avoid undefined behavior. -//! \note \p rotlFixed will \p assert in Debug builds if \p is outside the allowed range. +//! \details This is a Microsoft specific implementation using _lrotl provided by \headerfile +//! . The value x to be rotated is 32-bits. y must be in the range +//! [0, sizeof(T)*8 - 1] to avoid undefined behavior. +//! \note rotlFixed will assert in Debug builds if is outside the allowed range. template<> inline word32 rotlFixed(word32 x, unsigned int y) { // Uses Microsoft call, bound to C/C++ language rules. @@ -1071,8 +1286,10 @@ template<> inline word32 rotlFixed(word32 x, unsigned int y) //! \brief Performs a right rotate //! \param x the 32-bit value to rotate //! \param y the number of bit positions to rotate the value -//! \details This is a Microsoft specific implementation using _lrotr provided by \headerfile . The value to be rotated is 32-bits. \p y must be in the range [0, sizeof(T)*8 - 1] to avoid undefined behavior. -//! \note \p rotlFixed will \p assert in Debug builds if \p is outside the allowed range. +//! \details This is a Microsoft specific implementation using _lrotr provided by \headerfile +//! . The value x to be rotated is 32-bits. y must be in the range +//! [0, sizeof(T)*8 - 1] to avoid undefined behavior. +//! \note rotrFixed will assert in Debug builds if is outside the allowed range. template<> inline word32 rotrFixed(word32 x, unsigned int y) { // Uses Microsoft call, bound to C/C++ language rules. @@ -1083,8 +1300,10 @@ template<> inline word32 rotrFixed(word32 x, unsigned int y) //! \brief Performs a left rotate //! \param x the 32-bit value to rotate //! \param y the number of bit positions to rotate the value -//! \details This is a Microsoft specific implementation using _lrotl provided by \headerfile . The value to be rotated is 32-bits. \p y must be in the range [0, sizeof(T)*8 - 1] to avoid undefined behavior. -//! \note \p rotlFixed will \p assert in Debug builds if \p is outside the allowed range. +//! \details This is a Microsoft specific implementation using _lrotl provided by \headerfile +//! . The value x to be rotated is 32-bits. y must be in the range +//! [0, sizeof(T)*8 - 1] to avoid undefined behavior. +//! \note rotlVariable will assert in Debug builds if is outside the allowed range. template<> inline word32 rotlVariable(word32 x, unsigned int y) { assert(y < 8*sizeof(x)); @@ -1094,8 +1313,10 @@ template<> inline word32 rotlVariable(word32 x, unsigned int y) //! \brief Performs a right rotate //! \param x the 32-bit value to rotate //! \param y the number of bit positions to rotate the value -//! \details This is a Microsoft specific implementation using _lrotr provided by \headerfile . The value to be rotated is 32-bits. \p y must be in the range [0, sizeof(T)*8 - 1] to avoid undefined behavior. -//! \note \p rotlFixed will \p assert in Debug builds if \p is outside the allowed range. +//! \details This is a Microsoft specific implementation using _lrotr provided by \headerfile +//! . The value x to be rotated is 32-bits. y must be in the range +//! [0, sizeof(T)*8 - 1] to avoid undefined behavior. +//! \note rotrVariable will assert in Debug builds if is outside the allowed range. template<> inline word32 rotrVariable(word32 x, unsigned int y) { assert(y < 8*sizeof(x)); @@ -1105,7 +1326,9 @@ template<> inline word32 rotrVariable(word32 x, unsigned int y) //! \brief Performs a left rotate //! \param x the 32-bit value to rotate //! \param y the number of bit positions to rotate the value -//! \details This is a Microsoft specific implementation using _lrotl provided by \headerfile . The value to be rotated is 32-bits. \p y is reduced to the range [0, sizeof(T)*8 - 1] to avoid undefined behavior. +//! \details This is a Microsoft specific implementation using _lrotl provided by \headerfile +//! . The value x to be rotated is 32-bits. y must be in the range +//! [0, sizeof(T)*8 - 1] to avoid undefined behavior. template<> inline word32 rotlMod(word32 x, unsigned int y) { y %= 8*sizeof(x); @@ -1115,7 +1338,9 @@ template<> inline word32 rotlMod(word32 x, unsigned int y) //! \brief Performs a right rotate //! \param x the 32-bit value to rotate //! \param y the number of bit positions to rotate the value -//! \details This is a Microsoft specific implementation using _lrotr provided by \headerfile . The value to be rotated is 32-bits. \p y is reduced to the range [0, sizeof(T)*8 - 1] to avoid undefined behavior. +//! \details This is a Microsoft specific implementation using _lrotr provided by \headerfile +//! . The value x to be rotated is 32-bits. y must be in the range +//! [0, sizeof(T)*8 - 1] to avoid undefined behavior. template<> inline word32 rotrMod(word32 x, unsigned int y) { y %= 8*sizeof(x); @@ -1130,8 +1355,10 @@ template<> inline word32 rotrMod(word32 x, unsigned int y) //! \brief Performs a left rotate //! \param x the 64-bit value to rotate //! \param y the number of bit positions to rotate the value -//! \details This is a Microsoft specific implementation using _lrotl provided by \headerfile . The value to be rotated is 64-bits. \p y must be in the range [0, sizeof(T)*8 - 1] to avoid undefined behavior. -//! \note \p rotlFixed will \p assert in Debug builds if \p is outside the allowed range. +//! \details This is a Microsoft specific implementation using _lrotl provided by \headerfile +//! . The value x to be rotated is 64-bits. y must be in the range +//! [0, sizeof(T)*8 - 1] to avoid undefined behavior. +//! \note rotrFixed will assert in Debug builds if is outside the allowed range. template<> inline word64 rotlFixed(word64 x, unsigned int y) { // Uses Microsoft call, bound to C/C++ language rules. @@ -1142,8 +1369,10 @@ template<> inline word64 rotlFixed(word64 x, unsigned int y) //! \brief Performs a right rotate //! \param x the 64-bit value to rotate //! \param y the number of bit positions to rotate the value -//! \details This is a Microsoft specific implementation using _lrotr provided by \headerfile . The value to be rotated is 64-bits. \p y must be in the range [0, sizeof(T)*8 - 1] to avoid undefined behavior. -//! \note \p rotlFixed will \p assert in Debug builds if \p is outside the allowed range. +//! \details This is a Microsoft specific implementation using _lrotr provided by \headerfile +//! . The value x to be rotated is 64-bits. y must be in the range +//! [0, sizeof(T)*8 - 1] to avoid undefined behavior. +//! \note rotrFixed will assert in Debug builds if is outside the allowed range. template<> inline word64 rotrFixed(word64 x, unsigned int y) { // Uses Microsoft call, bound to C/C++ language rules. @@ -1154,8 +1383,10 @@ template<> inline word64 rotrFixed(word64 x, unsigned int y) //! \brief Performs a left rotate //! \param x the 64-bit value to rotate //! \param y the number of bit positions to rotate the value -//! \details This is a Microsoft specific implementation using _lrotl provided by \headerfile . The value to be rotated is 64-bits. \p y must be in the range [0, sizeof(T)*8 - 1] to avoid undefined behavior. -//! \note \p rotlFixed will \p assert in Debug builds if \p is outside the allowed range. +//! \details This is a Microsoft specific implementation using _lrotl provided by \headerfile +//! . The value x to be rotated is 64-bits. y must be in the range +//! [0, sizeof(T)*8 - 1] to avoid undefined behavior. +//! \note rotlVariable will assert in Debug builds if is outside the allowed range. template<> inline word64 rotlVariable(word64 x, unsigned int y) { assert(y < 8*sizeof(x)); @@ -1165,8 +1396,10 @@ template<> inline word64 rotlVariable(word64 x, unsigned int y) //! \brief Performs a right rotate //! \param x the 64-bit value to rotate //! \param y the number of bit positions to rotate the value -//! \details This is a Microsoft specific implementation using _lrotr provided by \headerfile . The value to be rotated is 64-bits. \p y must be in the range [0, sizeof(T)*8 - 1] to avoid undefined behavior. -//! \note \p rotlFixed will \p assert in Debug builds if \p is outside the allowed range. +//! \details This is a Microsoft specific implementation using _lrotr provided by \headerfile +//! . The value x to be rotated is 64-bits. y must be in the range +//! [0, sizeof(T)*8 - 1] to avoid undefined behavior. +//! \note rotrVariable will assert in Debug builds if is outside the allowed range. template<> inline word64 rotrVariable(word64 x, unsigned int y) { assert(y < 8*sizeof(x)); @@ -1176,7 +1409,9 @@ template<> inline word64 rotrVariable(word64 x, unsigned int y) //! \brief Performs a left rotate //! \param x the 64-bit value to rotate //! \param y the number of bit positions to rotate the value -//! \details This is a Microsoft specific implementation using _lrotr provided by \headerfile . The value to be rotated is 64-bits. \p y is reduced to the range [0, sizeof(T)*8 - 1] to avoid undefined behavior. +//! \details This is a Microsoft specific implementation using _lrotl provided by \headerfile +//! . The value x to be rotated is 64-bits. y must be in the range +//! [0, sizeof(T)*8 - 1] to avoid undefined behavior. template<> inline word64 rotlMod(word64 x, unsigned int y) { assert(y < 8*sizeof(x)); @@ -1186,7 +1421,9 @@ template<> inline word64 rotlMod(word64 x, unsigned int y) //! \brief Performs a right rotate //! \param x the 64-bit value to rotate //! \param y the number of bit positions to rotate the value -//! \details This is a Microsoft specific implementation using _lrotr provided by \headerfile . The value to be rotated is 64-bits. \p y is reduced to the range [0, sizeof(T)*8 - 1] to avoid undefined behavior. +//! \details This is a Microsoft specific implementation using _lrotr provided by \headerfile +//! . The value x to be rotated is 64-bits. y must be in the range +//! [0, sizeof(T)*8 - 1] to avoid undefined behavior. template<> inline word64 rotrMod(word64 x, unsigned int y) { assert(y < 8*sizeof(x)); @@ -1305,7 +1542,7 @@ template<> inline word32 rotrMod(word32 x, unsigned int y) // ************** endian reversal *************** //! \brief Gets a byte from a value -//! \param order the \p ByteOrder of the value +//! \param order the ByteOrder of the value //! \param value the value to retrieve the byte //! \param index the location of the byte to retrieve template @@ -1319,7 +1556,7 @@ inline unsigned int GetByte(ByteOrder order, T value, unsigned int index) //! \brief Reverses bytes in a 8-bit value //! \param value the 8-bit value to reverse -//! \note \p ByteReverse returns the value passed to it since there is nothing to reverse +//! \note ByteReverse returns the value passed to it since there is nothing to reverse inline byte ByteReverse(byte value) { return value; @@ -1328,7 +1565,7 @@ inline byte ByteReverse(byte value) //! \brief Reverses bytes in a 16-bit value //! \brief Performs an endian reversal //! \param value the 16-bit value to reverse -//! \details \p ByteReverse calls \p bswap if available. Otherwise the function performs a 8-bit rotate on the \p word16 +//! \details ByteReverse calls bswap if available. Otherwise the function performs a 8-bit rotate on the word16 inline word16 ByteReverse(word16 value) { #ifdef CRYPTOPP_BYTESWAP_AVAILABLE @@ -1343,7 +1580,7 @@ inline word16 ByteReverse(word16 value) //! \brief Reverses bytes in a 32-bit value //! \brief Performs an endian reversal //! \param value the 32-bit value to reverse -//! \details \p ByteReverse calls \p bswap if available. Otherwise the function uses a combination of rotates on the \p word32 +//! \details ByteReverse calls bswap if available. Otherwise the function uses a combination of rotates on the word32 inline word32 ByteReverse(word32 value) { #if defined(__GNUC__) && defined(CRYPTOPP_X86_ASM_AVAILABLE) @@ -1368,7 +1605,7 @@ inline word32 ByteReverse(word32 value) //! \brief Reverses bytes in a 64-bit value //! \brief Performs an endian reversal //! \param value the 64-bit value to reverse -//! \details \p ByteReverse calls \p bswap if available. Otherwise the function uses a combination of rotates on the \p word64 +//! \details ByteReverse calls bswap if available. Otherwise the function uses a combination of rotates on the word64 inline word64 ByteReverse(word64 value) { #if defined(__GNUC__) && defined(CRYPTOPP_X86_ASM_AVAILABLE) && defined(__x86_64__) @@ -1389,7 +1626,7 @@ inline word64 ByteReverse(word64 value) //! \brief Reverses bits in a 8-bit value //! \param value the 8-bit value to reverse -//! \details \p BitReverse performs a combination of shifts on the \p byte +//! \details BitReverse performs a combination of shifts on the byte inline byte BitReverse(byte value) { value = ((value & 0xAA) >> 1) | ((value & 0x55) << 1); @@ -1399,7 +1636,7 @@ inline byte BitReverse(byte value) //! \brief Reverses bits in a 16-bit value //! \param value the 16-bit value to reverse -//! \details \p BitReverse performs a combination of shifts on the \p word16 +//! \details BitReverse performs a combination of shifts on the word16 inline word16 BitReverse(word16 value) { value = ((value & 0xAAAA) >> 1) | ((value & 0x5555) << 1); @@ -1410,7 +1647,7 @@ inline word16 BitReverse(word16 value) //! \brief Reverses bits in a 32-bit value //! \param value the 32-bit value to reverse -//! \details \p BitReverse performs a combination of shifts on the \p word32 +//! \details BitReverse performs a combination of shifts on the word32 inline word32 BitReverse(word32 value) { value = ((value & 0xAAAAAAAA) >> 1) | ((value & 0x55555555) << 1); @@ -1421,7 +1658,7 @@ inline word32 BitReverse(word32 value) //! \brief Reverses bits in a 64-bit value //! \param value the 64-bit value to reverse -//! \details \p BitReverse performs a combination of shifts on the \p word64 +//! \details BitReverse performs a combination of shifts on the word64 inline word64 BitReverse(word64 value) { #if CRYPTOPP_BOOL_SLOW_WORD64 @@ -1436,7 +1673,10 @@ inline word64 BitReverse(word64 value) //! \brief Reverses bits in a value //! \param value the value to reverse -//! \details The template overload of \p BitReverse operates on signed and unsigned values. Internally the size of \p T is checked, and then \p value is cast to a \p byte, \p word16, \p word32 or \p word64. After the cast, the appropriate \p BitReverse overload is called. +//! \details The template overload of BitReverse operates on signed and unsigned values. +//! Internally the size of T is checked, and then value is cast to a byte, +//! word16, word32 or word64. After the cast, the appropriate BitReverse +//! overload is called. template inline T BitReverse(T value) { @@ -1454,15 +1694,30 @@ inline T BitReverse(T value) } //! \brief Reverses bytes in a value depending upon endianess -//! \param order the \p ByteOrder the data is represented +//! \tparam T the class or type +//! \param order the ByteOrder the data is represented //! \param value the value to conditionally reverse -//! \details Internally, the \p ConditionalByteReverse calls \p NativeByteOrderIs. If \p order matches native byte order, then the original \p value is returned. If not, then \p ByteReverse is called on the value before returning to the caller. +//! \details Internally, the ConditionalByteReverse calls NativeByteOrderIs. +//! If order matches native byte order, then the original value is returned. +//! If not, then ByteReverse is called on the value before returning to the caller. template inline T ConditionalByteReverse(ByteOrder order, T value) { return NativeByteOrderIs(order) ? value : ByteReverse(value); } +//! \brief Reverses bytes in an element among an array of elements +//! \tparam T the class or type +//! \param out the output array of elements +//! \param in the input array of elements +//! \param byteCount the byte count of the arrays +//! \details Internally, ByteReverse visits each element in the in array +//! calls ByteReverse on it, and writes the result to out. +//! \details ByteReverse does not process tail byes, or bytes that are +//! \a not part of a full element. If T is int (and int is 4 bytes), then +//! byteCount = 10 means only the first 8 bytes are reversed. +//! \note ByteReverse uses the number of bytes in the arrays, and not the count +//! of elements in the arrays. template void ByteReverse(T *out, const T *in, size_t byteCount) { @@ -1472,6 +1727,19 @@ void ByteReverse(T *out, const T *in, size_t byteCount) out[i] = ByteReverse(in[i]); } +//! \brief Reverses bytes in an element among an array of elements depending upon endianess +//! \tparam T the class or type +//! \param order the ByteOrder the data is represented +//! \param out the output array of elements +//! \param in the input array of elements +//! \param byteCount the byte count of the arrays +//! \details Internally, ByteReverse visits each element in the in array +//! calls ByteReverse on it, and writes the result to out. +//! \details ByteReverse does not process tail byes, or bytes that are +//! \a not part of a full element. If T is int (and int is 4 bytes), then +//! byteCount = 10 means only the first 8 bytes are reversed. +//! \note ByteReverse uses the number of bytes in the arrays, and not the count +//! of elements in the arrays. template inline void ConditionalByteReverse(ByteOrder order, T *out, const T *in, size_t byteCount) { diff --git a/modarith.h b/modarith.h index 7caf1b96..bde1bbe6 100644 --- a/modarith.h +++ b/modarith.h @@ -1,3 +1,8 @@ +// modarith.h - written and placed in the public domain by Wei Dai + +//! \file modarith.h +//! \brief Class file for performing modular arithmetic. + #ifndef CRYPTOPP_MODARITH_H #define CRYPTOPP_MODARITH_H @@ -15,8 +20,10 @@ CRYPTOPP_DLL_TEMPLATE_CLASS AbstractGroup; CRYPTOPP_DLL_TEMPLATE_CLASS AbstractRing; CRYPTOPP_DLL_TEMPLATE_CLASS AbstractEuclideanDomain; -//! ring of congruence classes modulo n -/*! \note this implementation represents each congruence class as the smallest non-negative integer in that class */ +//! \class ModularArithmetic +//! \brief Ring of congruence classes modulo n +//! \note this implementation represents each congruence class as the smallest +//! non-negative integer in that class class CRYPTOPP_DLL ModularArithmetic : public AbstractRing { public: @@ -25,10 +32,9 @@ public: typedef Integer Element; ModularArithmetic(const Integer &modulus = Integer::One()) - : m_modulus(modulus), m_result((word)0, modulus.reg.size()) {} - + : AbstractRing(), m_modulus(modulus), m_result((word)0, modulus.reg.size()) {} ModularArithmetic(const ModularArithmetic &ma) - : AbstractRing(ma), m_modulus(ma.m_modulus), m_result((word)0, m_modulus.reg.size()) {} + : AbstractRing(), m_modulus(ma.m_modulus), m_result((word)0, ma.m_modulus.reg.size()) {} ModularArithmetic(BufferedTransformation &bt); // construct from BER encoded parameters @@ -40,7 +46,8 @@ public: void BERDecodeElement(BufferedTransformation &in, Element &a) const; const Integer& GetModulus() const {return m_modulus;} - void SetModulus(const Integer &newModulus) {m_modulus = newModulus; m_result.reg.resize(m_modulus.reg.size());} + void SetModulus(const Integer &newModulus) + {m_modulus = newModulus; m_result.reg.resize(m_modulus.reg.size());} virtual bool IsMontgomeryRepresentation() const {return false;} @@ -110,6 +117,10 @@ public: {return m_modulus == rhs.m_modulus;} static const RandomizationParameter DefaultRandomizationParameter ; + +#ifndef CRYPTOPP_MAINTAIN_BACKWARDS_COMPATIBILITY_562 + virtual ~ModularArithmetic() {} +#endif protected: Integer m_modulus; @@ -119,8 +130,10 @@ protected: // const ModularArithmetic::RandomizationParameter ModularArithmetic::DefaultRandomizationParameter = 0 ; -//! do modular arithmetics in Montgomery representation for increased speed -/*! \note the Montgomery representation represents each congruence class [a] as a*r%n, where r is a convenient power of 2 */ +//! \class MontgomeryRepresentation +//! \brief Performs modular arithmetic in Montgomery representation for increased speed +//! \details The Montgomery representation represents each congruence class [a] as +//! a*r%n, where r is a convenient power of 2. class CRYPTOPP_DLL MontgomeryRepresentation : public ModularArithmetic { public: @@ -150,6 +163,10 @@ public: void SimultaneousExponentiate(Element *results, const Element &base, const Integer *exponents, unsigned int exponentsCount) const {AbstractRing::SimultaneousExponentiate(results, base, exponents, exponentsCount);} +#ifndef CRYPTOPP_MAINTAIN_BACKWARDS_COMPATIBILITY_562 + virtual ~MontgomeryRepresentation() {} +#endif + private: Integer m_u; mutable IntegerSecBlock m_workspace; diff --git a/modes.cpp b/modes.cpp index c81f2907..23f6afb1 100644 --- a/modes.cpp +++ b/modes.cpp @@ -13,7 +13,7 @@ NAMESPACE_BEGIN(CryptoPP) -#ifndef NDEBUG +#if !defined(NDEBUG) && !defined(CRYPTOPP_DOXYGEN_PROCESSING) void Modes_TestInstantiations() { CFB_Mode::Encryption m0; @@ -35,20 +35,24 @@ void CipherModeBase::ResizeBuffers() void CFB_ModePolicy::Iterate(byte *output, const byte *input, CipherDir dir, size_t iterationCount) { + assert(input); + assert(output); assert(m_cipher->IsForwardTransformation()); // CFB mode needs the "encrypt" direction of the underlying block cipher, even to decrypt assert(m_feedbackSize == BlockSize()); - unsigned int s = BlockSize(); + const unsigned int s = BlockSize(); if (dir == ENCRYPTION) { m_cipher->ProcessAndXorBlock(m_register, input, output); - m_cipher->AdvancedProcessBlocks(output, input+s, output+s, (iterationCount-1)*s, 0); + if (iterationCount > 1) + m_cipher->AdvancedProcessBlocks(output, input+s, output+s, (iterationCount-1)*s, 0); memcpy(m_register, output+(iterationCount-1)*s, s); } else { memcpy(m_temp, input+(iterationCount-1)*s, s); // make copy first in case of in-place decryption - m_cipher->AdvancedProcessBlocks(input, input+s, output+s, (iterationCount-1)*s, BlockTransformation::BT_ReverseDirection); + if (iterationCount > 1) + m_cipher->AdvancedProcessBlocks(input, input+s, output+s, (iterationCount-1)*s, BlockTransformation::BT_ReverseDirection); m_cipher->ProcessAndXorBlock(m_register, input, output); memcpy(m_register, m_temp, s); } diff --git a/modes.h b/modes.h index cfbbdbd7..df773116 100644 --- a/modes.h +++ b/modes.h @@ -1,9 +1,11 @@ +// modes.h - written and placed in the public domain by Wei Dai + +//! \file modes.h +//! \brief Class file for modes of operation. + #ifndef CRYPTOPP_MODES_H #define CRYPTOPP_MODES_H -/*! \file -*/ - #include "cryptlib.h" #include "secblock.h" #include "misc.h" @@ -13,17 +15,18 @@ NAMESPACE_BEGIN(CryptoPP) -//! Cipher modes documentation. See NIST SP 800-38A for definitions of these modes. See AuthenticatedSymmetricCipherDocumentation for authenticated encryption modes. - -/*! Each class derived from this one defines two types, Encryption and Decryption, - both of which implement the SymmetricCipher interface. - For each mode there are two classes, one of which is a template class, - and the other one has a name that ends in "_ExternalCipher". - The "external cipher" mode objects hold a reference to the underlying block cipher, - instead of holding an instance of it. The reference must be passed in to the constructor. - For the "cipher holder" classes, the CIPHER template parameter should be a class - derived from BlockCipherDocumentation, for example DES or AES. -*/ +//! \class CipherModeDocumentation +//! \brief Classes for operating block cipher modes of operation +//! \details Each class derived from this one defines two types, Encryption and Decryption, +//! both of which implement the SymmetricCipher interface. +//! For each mode there are two classes, one of which is a template class, +//! and the other one has a name that ends in "_ExternalCipher". +//! The "external cipher" mode objects hold a reference to the underlying block cipher, +//! instead of holding an instance of it. The reference must be passed in to the constructor. +//! For the "cipher holder" classes, the CIPHER template parameter should be a class +//! derived from BlockCipherDocumentation, for example DES or AES. +//! \details See NIST SP 800-38A for definitions of these modes. See +//! AuthenticatedSymmetricCipherDocumentation for authenticated encryption modes. struct CipherModeDocumentation : public SymmetricCipherDocumentation { }; @@ -292,7 +295,9 @@ public: {return CIPHER::StaticAlgorithmName() + "/" + BASE::StaticAlgorithmName();} }; -//! _ +//! \class CipherModeFinalTemplate_ExternalCipher +//! \tparam BASE CipherModeFinalTemplate_CipherHolder class +//! \brief OFB block cipher mode of operation. template class CipherModeFinalTemplate_ExternalCipher : public BASE { @@ -311,7 +316,8 @@ CRYPTOPP_DLL_TEMPLATE_CLASS CFB_CipherTemplate >; CRYPTOPP_DLL_TEMPLATE_CLASS CFB_DecryptionTemplate >; -//! CFB mode +//! \class CFB_Mode +//! \brief CFB block cipher mode of operation. template struct CFB_Mode : public CipherModeDocumentation { @@ -319,14 +325,17 @@ struct CFB_Mode : public CipherModeDocumentation typedef CipherModeFinalTemplate_CipherHolder > > > Decryption; }; -//! CFB mode, external cipher +//! \class CFB_Mode_ExternalCipher +//! \brief CFB mode, external cipher. struct CFB_Mode_ExternalCipher : public CipherModeDocumentation { typedef CipherModeFinalTemplate_ExternalCipher > > > Encryption; typedef CipherModeFinalTemplate_ExternalCipher > > > Decryption; }; -//! CFB mode FIPS variant, requiring full block plaintext according to FIPS 800-38A +//! \class CFB_FIPS_Mode +//! \brief CFB block cipher mode of operation providing FIPS validated cryptography. +//! \details Requires full block plaintext according to FIPS 800-38A template struct CFB_FIPS_Mode : public CipherModeDocumentation { @@ -334,7 +343,9 @@ struct CFB_FIPS_Mode : public CipherModeDocumentation typedef CipherModeFinalTemplate_CipherHolder > > > > Decryption; }; -//! CFB mode FIPS variant, requiring full block plaintext according to FIPS 800-38A, external cipher +//! \class CFB_FIPS_Mode_ExternalCipher +//! \brief CFB mode, external cipher, providing FIPS validated cryptography. +//! \details Requires full block plaintext according to FIPS 800-38A struct CFB_FIPS_Mode_ExternalCipher : public CipherModeDocumentation { typedef CipherModeFinalTemplate_ExternalCipher > > > > Encryption; @@ -343,7 +354,8 @@ struct CFB_FIPS_Mode_ExternalCipher : public CipherModeDocumentation CRYPTOPP_DLL_TEMPLATE_CLASS AdditiveCipherTemplate >; -//! OFB mode +//! \class OFB_Mode +//! \brief OFB block cipher mode of operation. template struct OFB_Mode : public CipherModeDocumentation { @@ -351,7 +363,8 @@ struct OFB_Mode : public CipherModeDocumentation typedef Encryption Decryption; }; -//! OFB mode, external cipher +//! \class OFB_Mode_ExternalCipher +//! \brief OFB mode, external cipher. struct OFB_Mode_ExternalCipher : public CipherModeDocumentation { typedef CipherModeFinalTemplate_ExternalCipher > > > Encryption; @@ -361,7 +374,8 @@ struct OFB_Mode_ExternalCipher : public CipherModeDocumentation CRYPTOPP_DLL_TEMPLATE_CLASS AdditiveCipherTemplate >; CRYPTOPP_DLL_TEMPLATE_CLASS CipherModeFinalTemplate_ExternalCipher > > >; -//! CTR mode +//! \class CTR_Mode +//! \brief CTR block cipher mode of operation. template struct CTR_Mode : public CipherModeDocumentation { @@ -369,14 +383,16 @@ struct CTR_Mode : public CipherModeDocumentation typedef Encryption Decryption; }; -//! CTR mode, external cipher +//! \class CTR_Mode_ExternalCipher +//! \brief CTR mode, external cipher. struct CTR_Mode_ExternalCipher : public CipherModeDocumentation { typedef CipherModeFinalTemplate_ExternalCipher > > > Encryption; typedef Encryption Decryption; }; -//! ECB mode +//! \class ECB_Mode +//! \brief ECB block cipher mode of operation. template struct ECB_Mode : public CipherModeDocumentation { @@ -386,7 +402,8 @@ struct ECB_Mode : public CipherModeDocumentation CRYPTOPP_DLL_TEMPLATE_CLASS CipherModeFinalTemplate_ExternalCipher; -//! ECB mode, external cipher +//! \class ECB_Mode_ExternalCipher +//! \brief ECB mode, external cipher. struct ECB_Mode_ExternalCipher : public CipherModeDocumentation { typedef CipherModeFinalTemplate_ExternalCipher Encryption; @@ -422,7 +439,8 @@ struct CBC_CTS_Mode : public CipherModeDocumentation CRYPTOPP_DLL_TEMPLATE_CLASS CipherModeFinalTemplate_ExternalCipher; CRYPTOPP_DLL_TEMPLATE_CLASS CipherModeFinalTemplate_ExternalCipher; -//! CBC mode with ciphertext stealing, external cipher +//! \class CBC_CTS_Mode_ExternalCipher +//! \brief CBC mode with ciphertext stealing, external cipher struct CBC_CTS_Mode_ExternalCipher : public CipherModeDocumentation { typedef CipherModeFinalTemplate_ExternalCipher Encryption; diff --git a/mqv.cpp b/mqv.cpp index a290945a..84a6af03 100644 --- a/mqv.cpp +++ b/mqv.cpp @@ -5,9 +5,11 @@ NAMESPACE_BEGIN(CryptoPP) +#if !defined(NDEBUG) && !defined(CRYPTOPP_DOXYGEN_PROCESSING) void TestInstantiations_MQV() { MQV mqv; } +#endif NAMESPACE_END diff --git a/mqv.h b/mqv.h index 1dd389f0..5d30de24 100644 --- a/mqv.h +++ b/mqv.h @@ -1,17 +1,26 @@ +// mqv.h - written and placed in the public domain by Wei Dai + +//! \file mqv.h +//! \brief Classes for Menezes–Qu–Vanstone (MQV) key agreement + #ifndef CRYPTOPP_MQV_H #define CRYPTOPP_MQV_H -/** \file -*/ - #include "cryptlib.h" #include "gfpcrypt.h" +#include "modarith.h" #include "integer.h" #include "misc.h" NAMESPACE_BEGIN(CryptoPP) -//! _ +//! \class MQV_Domain +//! \brief MQV domain for performing authenticated key agreement +//! \tparam GROUP_PARAMETERS doamin parameters +//! \tparam COFACTOR_OPTION cofactor option +//! \details GROUP_PARAMETERS paramters include the curve coefcients and the base point. +//! Binary curves use a polynomial to represent its characteristic, while prime curves +//! use a prime number. template class MQV_Domain : public AuthenticatedKeyAgreementDomain { diff --git a/nbtheory.h b/nbtheory.h index 779d6dea..3620d8e2 100644 --- a/nbtheory.h +++ b/nbtheory.h @@ -1,5 +1,8 @@ // nbtheory.h - written and placed in the public domain by Wei Dai +//! \file nbtheory.h +//! \brief Classes and functions for number theoretic operations + #ifndef CRYPTOPP_NBTHEORY_H #define CRYPTOPP_NBTHEORY_H @@ -14,14 +17,31 @@ CRYPTOPP_DLL const word16 * CRYPTOPP_API GetPrimeTable(unsigned int &size); // ************ primality testing **************** -// generate a provable prime +//! \brief Generates a provable prime +//! \param rng a RandomNumberGenerator to produce keying material +//! \param bits the number of bits in the prime number +//! \returns Integer() meeting Maurer's tests for primality CRYPTOPP_DLL Integer CRYPTOPP_API MaurerProvablePrime(RandomNumberGenerator &rng, unsigned int bits); + +//! \brief Generates a provable prime +//! \param rng a RandomNumberGenerator to produce keying material +//! \param bits the number of bits in the prime number +//! \returns Integer() meeting Mihailescu's tests for primality +//! \details Mihailescu's methods performs a search using algorithmic progressions. CRYPTOPP_DLL Integer CRYPTOPP_API MihailescuProvablePrime(RandomNumberGenerator &rng, unsigned int bits); +//! \brief Tests whether a number is a small prime +//! \param p a candidate prime to test +//! \returns true if p is a small prime, false otherwise +//! \details Internally, the library maintains a table fo the first 32719 prime numbers +//! in sorted order. IsSmallPrime() searches the table and returns true if p is +//! in the table. CRYPTOPP_DLL bool CRYPTOPP_API IsSmallPrime(const Integer &p); -// returns true if p is divisible by some prime less than bound -// bound not be greater than the largest entry in the prime table +//! +//! \returns true if p is divisible by some prime less than bound. +//! \details TrialDivision() true if p is divisible by some prime less than bound. bound not be +//! greater than the largest entry in the prime table, which is 32719. CRYPTOPP_DLL bool CRYPTOPP_API TrialDivision(const Integer &p, unsigned bound); // returns true if p is NOT divisible by small primes @@ -38,12 +58,25 @@ CRYPTOPP_DLL bool CRYPTOPP_API IsStrongLucasProbablePrime(const Integer &n); // for several rounds with random bases CRYPTOPP_DLL bool CRYPTOPP_API RabinMillerTest(RandomNumberGenerator &rng, const Integer &w, unsigned int rounds); -// primality test, used to generate primes +//! \brief Verifies a prime number +//! \param p a candidate prime to test +//! \returns true if p is a probable prime, false otherwise +//! \details IsPrime() is suitable for testing candidate primes when creating them. Internally, +//! IsPrime() utilizes SmallDivisorsTest(), IsStrongProbablePrime() and IsStrongLucasProbablePrime(). CRYPTOPP_DLL bool CRYPTOPP_API IsPrime(const Integer &p); -// more reliable than IsPrime(), used to verify primes generated by others +//! \brief Verifies a prime number +//! \param rng a RandomNumberGenerator for randomized testing +//! \param p a candidate prime to test +//! \param level the level of thoroughness of testing +//! \returns true if p is a strong probable prime, false otherwise +//! \details VerifyPrime() is suitable for testing candidate primes created by others. Internally, +//! VerifyPrime() utilizes IsPrime() and one-round RabinMillerTest(). If the candiate passes and +//! level is greater than 1, then 10 round RabinMillerTest() primality testing is performed. CRYPTOPP_DLL bool CRYPTOPP_API VerifyPrime(RandomNumberGenerator &rng, const Integer &p, unsigned int level = 1); +//! \class PrimeSelector +//! \brief Application callback to signal suitability of a cabdidate prime class CRYPTOPP_DLL PrimeSelector { public: @@ -51,8 +84,16 @@ public: virtual bool IsAcceptable(const Integer &candidate) const =0; }; -// use a fast sieve to find the first probable prime in {x | p<=x<=max and x%mod==equiv} -// returns true iff successful, value of p is undefined if no such prime exists +//! \brief Finds a random prime of special form +//! \param p an Integer reference to receive the prime +//! \param max the maximum value +//! \param equiv the equivalence class based on the parameter mod +//! \param mod the modulus used to reduce the equivalence class +//! \param pSelector pointer to a PrimeSelector function for the application to signal suitability +//! \returns true if and only if FirstPrime() finds a prime and returns the prime through p. If FirstPrime() +//! returns false, then no such prime exists and the value of p is undefined +//! \details FirstPrime() uses a fast sieve to find the first probable prime +//! in {x | p<=x<=max and x%mod==equiv} CRYPTOPP_DLL bool CRYPTOPP_API FirstPrime(Integer &p, const Integer &max, const Integer &equiv, const Integer &mod, const PrimeSelector *pSelector); CRYPTOPP_DLL unsigned int CRYPTOPP_API PrimeSearchInterval(const Integer &max); diff --git a/oids.h b/oids.h index d3636d1f..4ce6546d 100644 --- a/oids.h +++ b/oids.h @@ -1,3 +1,9 @@ +// oids.h - written and placed in the public domain by Wei Dai + +//! \file +//! \headerfile oids.h +//! \brief Object identifiers for algorthms and schemes + #ifndef CRYPTOPP_OIDS_H #define CRYPTOPP_OIDS_H diff --git a/osrng.h b/osrng.h index c2acae8a..dd53112e 100644 --- a/osrng.h +++ b/osrng.h @@ -1,7 +1,11 @@ -#ifndef CRYPTOPP_OSRNG_H -#define CRYPTOPP_OSRNG_H +// osrng.h - written and placed in the public domain by Wei Dai //! \file +//! \headerfile osrng.h +//! \brief Classes for access to the operating system's random number generators + +#ifndef CRYPTOPP_OSRNG_H +#define CRYPTOPP_OSRNG_H #include "config.h" @@ -17,19 +21,26 @@ NAMESPACE_BEGIN(CryptoPP) -//! Exception class for Operating-System Random Number Generator. +//! \class OS_RNG_Err +//! \brief Exception thrown when an operating system error is encountered class CRYPTOPP_DLL OS_RNG_Err : public Exception { public: + //! \brief Constructs an OS_RNG_Err + //! \param operation the operation or API call when the error occurs OS_RNG_Err(const std::string &operation); }; #ifdef NONBLOCKING_RNG_AVAILABLE #ifdef CRYPTOPP_WIN32_AVAILABLE +//! \class MicrosoftCryptoProvider +//! \brief Wrapper for Microsoft crypto service provider +//! \sa \def USE_MS_CRYPTOAPI, \def WORKAROUND_MS_BUG_Q258000 class CRYPTOPP_DLL MicrosoftCryptoProvider { public: + //! \brief Construct a MicrosoftCryptoProvider MicrosoftCryptoProvider(); ~MicrosoftCryptoProvider(); @@ -42,7 +53,12 @@ public: typedef unsigned long ProviderHandle; #endif + //! \brief Retrieves the CryptoAPI provider handle + //! \returns CryptoAPI provider handle + //! \details The handle is acquired by a call to CryptAcquireContext(). + //! CryptReleaseContext() is called upon destruction. ProviderHandle GetProviderHandle() const {return m_hProvider;} + private: ProviderHandle m_hProvider; }; @@ -53,12 +69,20 @@ private: #endif //CRYPTOPP_WIN32_AVAILABLE -//! encapsulate CryptoAPI's CryptGenRandom or /dev/urandom +//! \class NonblockingRng +//! \brief Wrapper class for /dev/random and /dev/srandom +//! \details Encapsulates CryptoAPI's CryptGenRandom() on Windows, or /dev/urandom on Unix and compatibles. class CRYPTOPP_DLL NonblockingRng : public RandomNumberGenerator { public: + //! \brief Construct a NonblockingRng NonblockingRng(); ~NonblockingRng(); + + //! \brief Generate random array of bytes + //! \param output the byte buffer + //! \param size the length of the buffer, in bytes + //! \details GenerateIntoBufferedTransformation() calls are routed to GenerateBlock(). void GenerateBlock(byte *output, size_t size); protected: @@ -73,14 +97,22 @@ protected: #endif -#ifdef BLOCKING_RNG_AVAILABLE +#if defined(BLOCKING_RNG_AVAILABLE) || defined(CRYPTOPP_DOXYGEN_PROCESSING) -//! encapsulate /dev/random, or /dev/srandom on OpenBSD +//! \class BlockingRng +//! \brief Wrapper class for /dev/random and /dev/srandom +//! \details Encapsulates /dev/random on Linux, OS X and Unix; and /dev/srandom on the BSDs. class CRYPTOPP_DLL BlockingRng : public RandomNumberGenerator { public: + //! \brief Construct a BlockingRng BlockingRng(); ~BlockingRng(); + + //! \brief Generate random array of bytes + //! \param output the byte buffer + //! \param size the length of the buffer, in bytes + //! \details GenerateIntoBufferedTransformation() calls are routed to GenerateBlock(). void GenerateBlock(byte *output, size_t size); protected: @@ -89,34 +121,83 @@ protected: #endif +//! OS_GenerateRandomBlock +//! \brief Generate random array of bytes +//! \param blocking specifies whther a bobcking or non-blocking generator should be used +//! \param output the byte buffer +//! \param size the length of the buffer, in bytes +//! \details OS_GenerateRandomBlock() uses the underlying operating system's +//! random number generator. On Windows, CryptGenRandom() is called using NonblockingRng. +//! \details On Unix and compatibles, /dev/urandom is called if blocking is false using +//! NonblockingRng. If blocking is true, then either /dev/randomd or /dev/srandom is used +//! by way of BlockingRng, if available. CRYPTOPP_DLL void CRYPTOPP_API OS_GenerateRandomBlock(bool blocking, byte *output, size_t size); -//! Automatically Seeded Randomness Pool -/*! This class seeds itself using an operating system provided RNG. */ + +//! \class AutoSeededRandomPool +//! \brief Automatically Seeded Randomness Pool +//! \details This class seeds itself using an operating system provided RNG. class CRYPTOPP_DLL AutoSeededRandomPool : public RandomPool { public: - //! use blocking to choose seeding with BlockingRng or NonblockingRng. the parameter is ignored if only one of these is available + //! \brief Construct an AutoSeededRandomPool + //! \param blocking controls seeding with BlockingRng or NonblockingRng + //! \param seedSize the size of the seed, in bytes + //! \details Use blocking to choose seeding with BlockingRng or NonblockingRng. + //! The parameter is ignored if only one of these is available. explicit AutoSeededRandomPool(bool blocking = false, unsigned int seedSize = 32) {Reseed(blocking, seedSize);} + + //! \brief Reseed an AutoSeededRandomPool + //! \param blocking controls seeding with BlockingRng or NonblockingRng + //! \param seedSize the size of the seed, in bytes void Reseed(bool blocking = false, unsigned int seedSize = 32); }; -//! RNG from ANSI X9.17 Appendix C, seeded using an OS provided RNG +//! \class AutoSeededX917RNG +//! \tparam BLOCK_CIPHER a block cipher +//! \brief Automatically Seeded X9.17 RNG +//! \details AutoSeededX917RNG is from ANSI X9.17 Appendix C, seeded using an OS provided RNG. +//! If 3-key TripleDES (DES_EDE3) is used, then its a X9.17 conforming generator. If AES is +//! used, then its a X9.31 conforming generator. +//! \details Though ANSI X9 prescribes 3-key TripleDES, the template parameter BLOCK_CIPHER can be any +//! BlockTransformation derived class. +//! \sa X917RNG, DefaultAutoSeededRNG template class AutoSeededX917RNG : public RandomNumberGenerator, public NotCopyable { public: - //! use blocking to choose seeding with BlockingRng or NonblockingRng. the parameter is ignored if only one of these is available + //! \brief Construct an AutoSeededX917RNG + //! \param blocking controls seeding with BlockingRng or NonblockingRng + //! \param autoSeed controls auto seeding of the generator + //! \details Use blocking to choose seeding with BlockingRng or NonblockingRng. + //! The parameter is ignored if only one of these is available. + //! \sa X917RNG explicit AutoSeededX917RNG(bool blocking = false, bool autoSeed = true) {if (autoSeed) Reseed(blocking);} + + //! \brief Reseed an AutoSeededX917RNG + //! \param blocking controls seeding with BlockingRng or NonblockingRng + //! \param additionalEntropy additional entropy to add to the generator + //! \param length the size of the additional entropy, in bytes + //! \details Internally, the generator uses SHA256 to extract the entropy from + //! from the seed and then stretch the material for the block cipher's key + //! and initialization vector. void Reseed(bool blocking = false, const byte *additionalEntropy = NULL, size_t length = 0); - // exposed for testing + + //! \brief Deterministically reseed an AutoSeededX917RNG for testing + //! \param key the key to use for the deterministic reseeding + //! \param keylength the size of the key, in bytes + //! \param seed the seed to use for the deterministic reseeding + //! \param timeVector a time vector to use for deterministic reseeding + //! \details This is a testing interface for testing purposes, and should \a NOT + //! be used in production. void Reseed(const byte *key, size_t keylength, const byte *seed, const byte *timeVector); bool CanIncorporateEntropy() const {return true;} void IncorporateEntropy(const byte *input, size_t length) {Reseed(false, input, length);} - void GenerateIntoBufferedTransformation(BufferedTransformation &target, const std::string &channel, lword length) {m_rng->GenerateIntoBufferedTransformation(target, channel, length);} + void GenerateIntoBufferedTransformation(BufferedTransformation &target, const std::string &channel, lword length) + {m_rng->GenerateIntoBufferedTransformation(target, channel, length);} private: member_ptr m_rng; @@ -152,12 +233,21 @@ void AutoSeededX917RNG::Reseed(bool blocking, const byte *input, s CRYPTOPP_DLL_TEMPLATE_CLASS AutoSeededX917RNG; -//! this is AutoSeededX917RNG\ in FIPS mode, otherwise it's AutoSeededRandomPool +#if defined(CRYPTOPP_DOXYGEN_PROCESSING) +//! \class DefaultAutoSeededRNG +//! \brief A typedef providing a default generator +//! \details DefaultAutoSeededRNG is a typedef of either AutoSeededX917RNG or AutoSeededRandomPool. +//! If CRYPTOPP_ENABLE_COMPLIANCE_WITH_FIPS_140_2 is defined, then DefaultAutoSeededRNG is +//! AutoSeededX917RNG. Otherwise, DefaultAutoSeededRNG is AutoSeededRandomPool. +class DefaultAutoSeededRNG {} +#else +// AutoSeededX917RNG in FIPS mode, otherwise it's AutoSeededRandomPool #if CRYPTOPP_ENABLE_COMPLIANCE_WITH_FIPS_140_2 typedef AutoSeededX917RNG DefaultAutoSeededRNG; #else typedef AutoSeededRandomPool DefaultAutoSeededRNG; #endif +#endif // CRYPTOPP_DOXYGEN_PROCESSING NAMESPACE_END diff --git a/panama.cpp b/panama.cpp index 66419e3b..12ba1c45 100644 --- a/panama.cpp +++ b/panama.cpp @@ -47,7 +47,7 @@ void CRYPTOPP_NOINLINE Panama_SSE2_Pull(size_t count, word32 *state, word32 *z, #if defined(CRYPTOPP_GNU_STYLE_INLINE_ASSEMBLY) asm __volatile__ ( - ".intel_syntax noprefix;" + INTEL_NOPREFIX AS_PUSH_IF86( bx) #else AS2( mov AS_REG_1, count) @@ -297,7 +297,7 @@ void CRYPTOPP_NOINLINE Panama_SSE2_Pull(size_t count, word32 *state, word32 *z, #if defined(CRYPTOPP_GNU_STYLE_INLINE_ASSEMBLY) AS_POP_IF86( bx) - ".att_syntax prefix;" + ATT_PREFIX : #if CRYPTOPP_BOOL_X64 : "D" (count), "S" (state), "d" (z), "c" (y) diff --git a/panama.h b/panama.h index 2a7ed725..97531928 100644 --- a/panama.h +++ b/panama.h @@ -1,3 +1,8 @@ +// panama.h - written and placed in the public domain by Wei Dai + +//! \file panama.h +//! \brief Classes for Panama stream cipher + #ifndef CRYPTOPP_PANAMA_H #define CRYPTOPP_PANAMA_H diff --git a/pch.h b/pch.h index 765ebde9..206d4c3b 100644 --- a/pch.h +++ b/pch.h @@ -1,12 +1,15 @@ +// pch.h - written and placed in the public domain by Wei Dai + +//! \headerfile pch.h +//! \brief Precompiled header file + #ifndef CRYPTOPP_PCH_H #define CRYPTOPP_PCH_H -#ifdef CRYPTOPP_GENERATE_X64_MASM - +# ifdef CRYPTOPP_GENERATE_X64_MASM #include "cpu.h" -#else - +# else #include "config.h" #ifdef USE_PRECOMPILED_HEADERS @@ -14,8 +17,8 @@ #include "secblock.h" #include "misc.h" #include "smartptr.h" + #include "stdcpp.h" #endif +# endif -#endif - -#endif +#endif // CRYPTOPP_PCH_H diff --git a/pkcspad.h b/pkcspad.h index 096a9237..6a15b496 100644 --- a/pkcspad.h +++ b/pkcspad.h @@ -1,3 +1,8 @@ +// pkcspad.h - written and placed in the public domain by Wei Dai + +//! \headerfile pkcspad.h +//! \brief Classes for PKCS padding schemes + #ifndef CRYPTOPP_PKCSPAD_H #define CRYPTOPP_PKCSPAD_H diff --git a/polynomi.h b/polynomi.h index 13e01adb..e76b9765 100644 --- a/polynomi.h +++ b/polynomi.h @@ -1,3 +1,10 @@ +// polynomi.h - written and placed in the public domain by Wei Dai + +//! \file +//! \headerfile polynomi.h +//! \brief Classes for polynomial basis and operations + + #ifndef CRYPTOPP_POLYNOMI_H #define CRYPTOPP_POLYNOMI_H diff --git a/pssr.cpp b/pssr.cpp index bbaa3fd5..f1c2fbfd 100644 --- a/pssr.cpp +++ b/pssr.cpp @@ -77,7 +77,8 @@ void PSSR_MEM_Base::ComputeMessageRepresentative(RandomNumberGenerator &rng, GetMGF().GenerateAndMask(hash, representative, representativeByteLength - u - digestSize, h, digestSize, false); byte *xorStart = representative + representativeByteLength - u - digestSize - salt.size() - recoverableMessageLength - 1; xorStart[0] ^= 1; - xorbuf(xorStart + 1, recoverableMessage, recoverableMessageLength); + if (recoverableMessage && recoverableMessageLength) + xorbuf(xorStart + 1, recoverableMessage, recoverableMessageLength); xorbuf(xorStart + 1 + recoverableMessageLength, salt, salt.size()); if (hashIdentifier.first && hashIdentifier.second) { @@ -114,7 +115,9 @@ DecodingResult PSSR_MEM_Base::RecoverMessageFromRepresentative( size_t &recoverableMessageLength = result.messageLength; valid = (representative[representativeByteLength - 1] == (hashIdentifier.second ? 0xcc : 0xbc)) && valid; - valid = VerifyBufsEqual(representative + representativeByteLength - u, hashIdentifier.first, hashIdentifier.second) && valid; + + if (hashIdentifier.first && hashIdentifier.second) + valid = VerifyBufsEqual(representative + representativeByteLength - u, hashIdentifier.first, hashIdentifier.second) && valid; GetMGF().GenerateAndMask(hash, representative, representativeByteLength - u - digestSize, h, digestSize); if (representativeBitLength % 8 != 0) diff --git a/pssr.h b/pssr.h index dd847c92..a7047d30 100644 --- a/pssr.h +++ b/pssr.h @@ -1,3 +1,9 @@ +// pssr.h - written and placed in the public domain by Wei Dai + +//! \file +//! \headerfile pssr.h +//! \brief Classes for probablistic signature schemes + #ifndef CRYPTOPP_PSSR_H #define CRYPTOPP_PSSR_H diff --git a/pubkey.h b/pubkey.h index 2a08e5d8..4b6f28a3 100644 --- a/pubkey.h +++ b/pubkey.h @@ -56,23 +56,61 @@ NAMESPACE_BEGIN(CryptoPP) -//! _ +//! \class TrapdoorFunctionBounds +//! \brief Provides range for plaintext and ciphertext lengths +//! \details A trapdoor function is a function that is easy to compute in one direction, +//! but difficult to compute in the opposite direction without special knowledge. +//! The special knowledge is usually the private key. +//! \details Trapdoor functions only handle messages of a limited length or size. +//! \p MaxPreimage is the plaintext's maximum length, and \p MaxImage is the +//! ciphertext's maximum length. +//! \sa TrapdoorFunctionBounds(), RandomizedTrapdoorFunction(), TrapdoorFunction(), +//! RandomizedTrapdoorFunctionInverse() and TrapdoorFunctionInverse() class CRYPTOPP_DLL CRYPTOPP_NO_VTABLE TrapdoorFunctionBounds { public: virtual ~TrapdoorFunctionBounds() {} + //! \brief Returns the maximum size of a message before the trapdoor function is applied + //! \returns the maximum size of a message before the trapdoor function is applied + //! \details Derived classes must implement \p PreimageBound(). virtual Integer PreimageBound() const =0; + //! \brief Returns the maximum size of a message after the trapdoor function is applied + //! \returns the maximum size of a message after the trapdoor function is applied + //! \details Derived classes must implement \p ImageBound(). virtual Integer ImageBound() const =0; + //! \brief Returns the maximum size of a message before the trapdoor function is applied bound to a public key + //! \returns the maximum size of a message before the trapdoor function is applied bound to a public key + //! \details The default implementation returns PreimageBound() - 1. virtual Integer MaxPreimage() const {return --PreimageBound();} + //! \brief Returns the maximum size of a message after the trapdoor function is applied bound to a public key + //! \returns the the maximum size of a message after the trapdoor function is applied bound to a public key + //! \details The default implementation returns ImageBound() - 1. virtual Integer MaxImage() const {return --ImageBound();} }; -//! _ +//! \class RandomizedTrapdoorFunction +//! \brief Applies the trapdoor function, using random data if required +//! \details \p ApplyFunction() is the foundation for encrypting a message under a public key. +//! Derived classes will override it at some point. +//! \sa TrapdoorFunctionBounds(), RandomizedTrapdoorFunction(), TrapdoorFunction(), +//! RandomizedTrapdoorFunctionInverse() and TrapdoorFunctionInverse() class CRYPTOPP_DLL CRYPTOPP_NO_VTABLE RandomizedTrapdoorFunction : public TrapdoorFunctionBounds { public: + + //! \brief Applies the trapdoor function, using random data if required + //! \param rng a \p RandomNumberGenerator derived class + //! \param x the message on which the encryption function is applied + //! \returns the message \p x encrypted under the public key + //! \details \p ApplyRandomizedFunction is a generalization of encryption under a public key + //! cryptosystem. The \p RandomNumberGenerator may (or may not) be required. + //! Derived classes must implement it. virtual Integer ApplyRandomizedFunction(RandomNumberGenerator &rng, const Integer &x) const =0; + + //! \brief Determines if the encryption algorithm is randomized + //! \returns \p true if the encryption algorithm is randomized, \p false otherwise + //! \details If \p IsRandomized() returns \p false, then \p NullRNG() can be used. virtual bool IsRandomized() const {return true;} #ifndef CRYPTOPP_MAINTAIN_BACKWARDS_COMPATIBILITY_562 @@ -80,40 +118,87 @@ public: #endif }; -//! _ +//! \class TrapdoorFunction +//! \brief Applies the trapdoor function +//! \details \p ApplyFunction() is the foundation for encrypting a message under a public key. +//! Derived classes will override it at some point. +//! \sa TrapdoorFunctionBounds(), RandomizedTrapdoorFunction(), TrapdoorFunction(), +//! RandomizedTrapdoorFunctionInverse() and TrapdoorFunctionInverse() class CRYPTOPP_DLL CRYPTOPP_NO_VTABLE TrapdoorFunction : public RandomizedTrapdoorFunction { public: - #ifndef CRYPTOPP_MAINTAIN_BACKWARDS_COMPATIBILITY_562 virtual ~TrapdoorFunction() { } #endif + //! \brief Applies the trapdoor function + //! \param rng a \p RandomNumberGenerator derived class + //! \param x the message on which the encryption function is applied + //! \details \p ApplyRandomizedFunction is a generalization of encryption under a public key + //! cryptosystem. The \p RandomNumberGenerator may (or may not) be required. + //! \details Internally, \p ApplyRandomizedFunction() calls \p ApplyFunction() \a + //! without the \p RandomNumberGenerator. Integer ApplyRandomizedFunction(RandomNumberGenerator &rng, const Integer &x) const {CRYPTOPP_UNUSED(rng); return ApplyFunction(x);} bool IsRandomized() const {return false;} + //! \brief Applies the trapdoor + //! \param x the message on which the encryption function is applied + //! \returns the message \p x encrypted under the public key + //! \details \p ApplyFunction is a generalization of encryption under a public key + //! cryptosystem. Derived classes must implement it. virtual Integer ApplyFunction(const Integer &x) const =0; }; -//! _ +//! \class RandomizedTrapdoorFunctionInverse +//! \brief Applies the inverse of the trapdoor function, using random data if required +//! \details \p CalculateInverse() is the foundation for decrypting a message under a private key +//! in a public key cryptosystem. Derived classes will override it at some point. +//! \sa TrapdoorFunctionBounds(), RandomizedTrapdoorFunction(), TrapdoorFunction(), +//! RandomizedTrapdoorFunctionInverse() and TrapdoorFunctionInverse() class CRYPTOPP_DLL CRYPTOPP_NO_VTABLE RandomizedTrapdoorFunctionInverse { public: virtual ~RandomizedTrapdoorFunctionInverse() {} + //! \brief Applies the inverse of the trapdoor function, using random data if required + //! \param rng a \p RandomNumberGenerator derived class + //! \param x the message on which the decryption function is applied + //! \returns the message \p x decrypted under the private key + //! \details \p CalculateRandomizedInverse is a generalization of decryption using the private key + //! The \p RandomNumberGenerator may (or may not) be required. Derived classes must implement it. virtual Integer CalculateRandomizedInverse(RandomNumberGenerator &rng, const Integer &x) const =0; + + //! \brief Determines if the decryption algorithm is randomized + //! \returns \p true if the decryption algorithm is randomized, \p false otherwise + //! \details If \p IsRandomized() returns \p false, then \p NullRNG() can be used. virtual bool IsRandomized() const {return true;} }; -//! _ +//! \class TrapdoorFunctionInverse +//! \brief Applies the inverse of the trapdoor function +//! \details \p CalculateInverse() is the foundation for decrypting a message under a private key +//! in a public key cryptosystem. Derived classes will override it at some point. +//! \sa TrapdoorFunctionBounds(), RandomizedTrapdoorFunction(), TrapdoorFunction(), +//! RandomizedTrapdoorFunctionInverse() and TrapdoorFunctionInverse() class CRYPTOPP_DLL CRYPTOPP_NO_VTABLE TrapdoorFunctionInverse : public RandomizedTrapdoorFunctionInverse { public: virtual ~TrapdoorFunctionInverse() {} + //! \brief Applies the inverse of the trapdoor function + //! \param rng a \p RandomNumberGenerator derived class + //! \param x the message on which the decryption function is applied + //! \returns the message \p x decrypted under the private key + //! \details \p CalculateRandomizedInverse is a generalization of decryption using the private key + //! \details Internally, \p CalculateRandomizedInverse() calls \p CalculateInverse() \a + //! without the \p RandomNumberGenerator. Integer CalculateRandomizedInverse(RandomNumberGenerator &rng, const Integer &x) const {return CalculateInverse(rng, x);} + + //! \brief Determines if the decryption algorithm is randomized + //! \returns \p true if the decryption algorithm is randomized, \p false otherwise + //! \details If \p IsRandomized() returns \p false, then \p NullRNG() can be used. bool IsRandomized() const {return false;} virtual Integer CalculateInverse(RandomNumberGenerator &rng, const Integer &x) const =0; @@ -121,7 +206,8 @@ public: // ******************************************************** -//! message encoding method for public key encryption +//! \class PK_EncryptionMessageEncodingMethod +//! \brief Message encoding method for public key encryption class CRYPTOPP_NO_VTABLE PK_EncryptionMessageEncodingMethod { public: @@ -140,7 +226,10 @@ public: // ******************************************************** -//! _ +//! \class TF_Base +//! \brief The base for trapdoor based cryptosystems +//! \tparam TFI trapdoor function interface derived class +//! \tparam MEI message encoding interface derived class template class CRYPTOPP_NO_VTABLE TF_Base { @@ -160,7 +249,9 @@ protected: // ******************************************************** -//! _ +//! \class PK_FixedLengthCryptoSystemImpl +//! \brief Public key trapdoor function base class +//! \tparam BASE public key cryptosystem with a fixed length template class CRYPTOPP_NO_VTABLE PK_FixedLengthCryptoSystemImpl : public BASE { @@ -178,7 +269,10 @@ public: #endif }; -//! _ +//! \class TF_CryptoSystemBase +//! \brief Trapdoor function cryptosystem base class +//! \tparam INTERFACE public key cryptosystem base interface +//! \tparam BASE public key cryptosystem implementation base template class CRYPTOPP_NO_VTABLE TF_CryptoSystemBase : public PK_FixedLengthCryptoSystemImpl, protected BASE { @@ -189,14 +283,16 @@ public: protected: size_t PaddedBlockByteLength() const {return BitsToBytes(PaddedBlockBitLength());} - size_t PaddedBlockBitLength() const {return this->GetTrapdoorFunctionBounds().PreimageBound().BitCount()-1;} + // Coverity finding on potential overflow/underflow. + size_t PaddedBlockBitLength() const {return SaturatingSubtract(this->GetTrapdoorFunctionBounds().PreimageBound().BitCount(),1U);} #ifndef CRYPTOPP_MAINTAIN_BACKWARDS_COMPATIBILITY_562 virtual ~TF_CryptoSystemBase() { } #endif }; -//! _ +//! \class TF_DecryptorBase +//! \brief Trapdoor function cryptosystems decryption base class class CRYPTOPP_DLL CRYPTOPP_NO_VTABLE TF_DecryptorBase : public TF_CryptoSystemBase > { public: @@ -207,7 +303,8 @@ public: #endif }; -//! _ +//! \class TF_DecryptorBase +//! \brief Trapdoor function cryptosystems encryption base class class CRYPTOPP_DLL CRYPTOPP_NO_VTABLE TF_EncryptorBase : public TF_CryptoSystemBase > { public: @@ -222,7 +319,12 @@ public: typedef std::pair HashIdentifier; -//! interface for message encoding method for public key signature schemes +//! \class PK_SignatureMessageEncodingMethod +//! \brief Interface for message encoding method for public key signature schemes. +//! \details \p PK_SignatureMessageEncodingMethod provides interfaces for message +//! encoding method for public key signature schemes. The methods support both +//! trapdoor functions (TF_*) and discrete logarithm (DL_*) +//! based schemes. class CRYPTOPP_NO_VTABLE PK_SignatureMessageEncodingMethod { public: @@ -295,6 +397,10 @@ public: }; }; +//! \class PK_DeterministicSignatureMessageEncodingMethod +//! \brief Interface for message encoding method for public key signature schemes. +//! \details \p PK_DeterministicSignatureMessageEncodingMethod provides interfaces +//! for message encoding method for public key signature schemes. class CRYPTOPP_DLL CRYPTOPP_NO_VTABLE PK_DeterministicSignatureMessageEncodingMethod : public PK_SignatureMessageEncodingMethod { public: @@ -303,6 +409,10 @@ public: byte *representative, size_t representativeBitLength) const; }; +//! \class PK_RecoverableSignatureMessageEncodingMethod +//! \brief Interface for message encoding method for public key signature schemes. +//! \details \p PK_RecoverableSignatureMessageEncodingMethod provides interfaces +//! for message encoding method for public key signature schemes. class CRYPTOPP_DLL CRYPTOPP_NO_VTABLE PK_RecoverableSignatureMessageEncodingMethod : public PK_SignatureMessageEncodingMethod { public: @@ -311,6 +421,10 @@ public: byte *representative, size_t representativeBitLength) const; }; +//! \class DL_SignatureMessageEncodingMethod_DSA +//! \brief Interface for message encoding method for public key signature schemes. +//! \details \p DL_SignatureMessageEncodingMethod_DSA provides interfaces +//! for message encoding method for DSA. class CRYPTOPP_DLL DL_SignatureMessageEncodingMethod_DSA : public PK_DeterministicSignatureMessageEncodingMethod { public: @@ -320,6 +434,10 @@ public: byte *representative, size_t representativeBitLength) const; }; +//! \class DL_SignatureMessageEncodingMethod_NR +//! \brief Interface for message encoding method for public key signature schemes. +//! \details \p DL_SignatureMessageEncodingMethod_NR provides interfaces +//! for message encoding method for Nyberg-Rueppel. class CRYPTOPP_DLL DL_SignatureMessageEncodingMethod_NR : public PK_DeterministicSignatureMessageEncodingMethod { public: @@ -329,6 +447,10 @@ public: byte *representative, size_t representativeBitLength) const; }; +//! \class PK_MessageAccumulatorBase +//! \brief Interface for message encoding method for public key signature schemes. +//! \details \p PK_MessageAccumulatorBase provides interfaces +//! for message encoding method. class CRYPTOPP_DLL CRYPTOPP_NO_VTABLE PK_MessageAccumulatorBase : public PK_MessageAccumulator { public: @@ -347,6 +469,10 @@ public: bool m_empty; }; +//! \class PK_MessageAccumulatorImpl +//! \brief Interface for message encoding method for public key signature schemes. +//! \details \p PK_MessageAccumulatorBase provides interfaces +//! for message encoding method. template class PK_MessageAccumulatorImpl : public PK_MessageAccumulatorBase, protected ObjectHolder { @@ -379,7 +505,8 @@ public: protected: size_t MessageRepresentativeLength() const {return BitsToBytes(MessageRepresentativeBitLength());} - size_t MessageRepresentativeBitLength() const {return this->GetTrapdoorFunctionBounds().ImageBound().BitCount()-1;} + // Coverity finding on potential overflow/underflow. + size_t MessageRepresentativeBitLength() const {return SaturatingSubtract(this->GetTrapdoorFunctionBounds().ImageBound().BitCount(),1U);} virtual HashIdentifier GetHashIdentifier() const =0; virtual size_t GetDigestSize() const =0; }; @@ -1748,10 +1875,14 @@ public: #endif }; -//! Base class for public key encryption standard classes. These classes are used to select from variants of algorithms. Note that not all standards apply to all algorithms. +//! \brief Base class for public key encryption standard classes. +//! \details These classes are used to select from variants of algorithms. +//! \note Not all standards apply to all algorithms. struct EncryptionStandard {}; -//! Base class for public key signature standard classes. These classes are used to select from variants of algorithms. Note that not all standards apply to all algorithms. +//! \brief Base class for public key signature standard classes. +//! \details These classes are used to select from variants of algorithms. +//! \note Not all standards apply to all algorithms. struct SignatureStandard {}; template diff --git a/queue.cpp b/queue.cpp index 9a0f82c3..8d9f183b 100644 --- a/queue.cpp +++ b/queue.cpp @@ -132,7 +132,7 @@ public: ByteQueue::ByteQueue(size_t nodeSize) : Bufferless(), m_autoNodeSize(!nodeSize), m_nodeSize(nodeSize) - , m_head(NULL), m_tail(NULL), m_lazyString(NULL), m_lazyLength(0) + , m_head(NULL), m_tail(NULL), m_lazyString(NULL), m_lazyLength(0), m_lazyStringModifiable(false) { SetNodeSize(nodeSize); m_head = m_tail = new ByteQueueNode(m_nodeSize); diff --git a/queue.h b/queue.h index 6364fec9..570a26d9 100644 --- a/queue.h +++ b/queue.h @@ -1,4 +1,8 @@ -// specification file for an unlimited queue for storing bytes +// queue.h - written and placed in the public domain by Wei Dai + +//! \file +//! \headerfile queue.h +//! \brief Classes for an unlimited queue to store bytes #ifndef CRYPTOPP_QUEUE_H #define CRYPTOPP_QUEUE_H @@ -66,7 +70,8 @@ public: { public: Walker(const ByteQueue &queue) - : m_queue(queue) {Initialize();} + : m_queue(queue), m_node(NULL), m_position(0), m_offset(0), m_lazyString(NULL), m_lazyLength(0) + {Initialize();} lword GetCurrentPosition() {return m_position;} diff --git a/rabin.h b/rabin.h index 8d738315..2bc5c1d4 100644 --- a/rabin.h +++ b/rabin.h @@ -1,9 +1,12 @@ +// rabin.h - written and placed in the public domain by Wei Dai + +//! \file +//! \headerfile rabin.h +//! \brief Classes for Rabin encryption and signature schemes + #ifndef CRYPTOPP_RABIN_H #define CRYPTOPP_RABIN_H -/** \file -*/ - #include "cryptlib.h" #include "oaep.h" #include "pssr.h" diff --git a/rc2.h b/rc2.h index d9dce7ab..96ed6d4d 100644 --- a/rc2.h +++ b/rc2.h @@ -1,16 +1,19 @@ +// rc2.h - written and placed in the public domain by Wei Dai + +//! \file rc2.h +//! \brief Classes for the RC2 block cipher + #ifndef CRYPTOPP_RC2_H #define CRYPTOPP_RC2_H -/** \file -*/ - #include "seckey.h" #include "secblock.h" #include "algparam.h" NAMESPACE_BEGIN(CryptoPP) -//! _ +//! \class RC2_Info +//! \brief The RC2 cipher's key, iv, block size and name information. struct RC2_Info : public FixedBlockSize<8>, public VariableKeyLength<16, 1, 128> { CRYPTOPP_CONSTANT(DEFAULT_EFFECTIVE_KEYLENGTH = 1024) @@ -18,9 +21,14 @@ struct RC2_Info : public FixedBlockSize<8>, public VariableKeyLength<16, 1, 128> static const char *StaticAlgorithmName() {return "RC2";} }; -/// RC2 +//! \class RC2 +//! \brief The RC2 stream cipher +//! \sa RC2 on the Crypto Lounge. class RC2 : public RC2_Info, public BlockCipherDocumentation { + //! \class Base + //! \brief Class specific methods used to operate the cipher. + //! \details Implementations and overrides in \p Base apply to both \p ENCRYPTION and \p DECRYPTION directions class CRYPTOPP_NO_VTABLE Base : public BlockCipherImpl { public: @@ -31,12 +39,18 @@ class RC2 : public RC2_Info, public BlockCipherDocumentation FixedSizeSecBlock K; // expanded key table }; + //! \class Enc + //! \brief Class specific methods used to operate the cipher in the forward direction. + //! \details Implementations and overrides in \p Enc apply to \p ENCRYPTION. class CRYPTOPP_NO_VTABLE Enc : public Base { public: void ProcessAndXorBlock(const byte *inBlock, const byte *xorBlock, byte *outBlock) const; }; + //! \class Dec + //! \brief Class specific methods used to operate the cipher in the reverse direction. + //! \details Implementations and overrides in \p Dec apply to \p DECRYPTION. class CRYPTOPP_NO_VTABLE Dec : public Base { public: @@ -44,6 +58,10 @@ class RC2 : public RC2_Info, public BlockCipherDocumentation }; public: + + //! \class Encryption + //! \brief Class specific methods used to operate the cipher in the forward direction. + //! \details Implementations and overrides in \p Encryption apply to \p ENCRYPTION. class Encryption : public BlockCipherFinal { public: @@ -54,6 +72,9 @@ public: {SetKey(key, keyLen, MakeParameters("EffectiveKeyLength", effectiveKeyLen));} }; + //! \class Decryption + //! \brief Class specific methods used to operate the cipher in the reverse direction. + //! \details Implementations and overrides in \p Decryption apply to \p DECRYPTION. class Decryption : public BlockCipherFinal { public: @@ -71,3 +92,4 @@ typedef RC2::Decryption RC2Decryption; NAMESPACE_END #endif + diff --git a/rc5.h b/rc5.h index 36be4b71..9f125dd0 100644 --- a/rc5.h +++ b/rc5.h @@ -1,9 +1,11 @@ +// rc5.h - written and placed in the public domain by Wei Dai + +//! \file rc5.h +//! \brief Classes for the RC5 block cipher + #ifndef CRYPTOPP_RC5_H #define CRYPTOPP_RC5_H -/** \file -*/ - #include "seckey.h" #include "secblock.h" diff --git a/rc6.h b/rc6.h index 0499d333..37eba319 100644 --- a/rc6.h +++ b/rc6.h @@ -1,9 +1,11 @@ +// rc6.h - written and placed in the public domain by Wei Dai + +//! \file rc6.h +//! \brief Classes for the RC6 block cipher + #ifndef CRYPTOPP_RC6_H #define CRYPTOPP_RC6_H -/** \file -*/ - #include "seckey.h" #include "secblock.h" diff --git a/make-rdrand.cmd b/rdrand-masm.cmd similarity index 88% rename from make-rdrand.cmd rename to rdrand-masm.cmd index 011efd0c..9c915e01 100755 --- a/make-rdrand.cmd +++ b/rdrand-masm.cmd @@ -14,8 +14,12 @@ REM @set TOOLS32=C:\Program Files (x86)\Microsoft Visual Studio 10\VC\bin REM @set TOOLS64=C:\Program Files (x86)\Microsoft Visual Studio 10\VC\bin\amd64 REM Visual Studio 2012 -@set TOOLS32=C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\bin -@set TOOLS64=C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\bin\amd64 +REM @set TOOLS32=C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\bin +REM @set TOOLS64=C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\bin\amd64 + +REM Visual Studio 2013 +@set TOOLS32=C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\bin +@set TOOLS64=C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\bin\amd64 @set MASM="%TOOLS32%\ml.exe" @set MASM64="%TOOLS64%\ml64.exe" diff --git a/rdrand-nasm.sh b/rdrand-nasm.sh new file mode 100755 index 00000000..bc135c16 --- /dev/null +++ b/rdrand-nasm.sh @@ -0,0 +1,24 @@ +#!/bin/sh + +reset + +nasm -f elf32 rdrand.S -DX86 -g -o rdrand-x86.o +nasm -f elfx32 rdrand.S -DX32 -g -o rdrand-x32.o +nasm -f elf64 rdrand.S -DX64 -g -o rdrand-x64.o + +echo "**************************************" +echo "**************************************" + +objdump --disassemble rdrand-x86.o + +echo +echo "**************************************" +echo "**************************************" + +objdump --disassemble rdrand-x32.o + +echo +echo "**************************************" +echo "**************************************" + +objdump --disassemble rdrand-x64.o diff --git a/rdrand.S b/rdrand.S new file mode 100644 index 00000000..74da74cb --- /dev/null +++ b/rdrand.S @@ -0,0 +1,596 @@ +;; rdrand.asm - written and placed in public domain by Jeffrey Walton and Uri Blumenthal. +;; Copyright assigned to the Crypto++ project. + +;; This ASM file provides RDRAND and RDSEED to downlevel Unix and Linux tool chains. +;; Additionally, the inline assembly code produced by GCC and Clang is not that +;; impressive. However, using this code requires NASM and an edit to the GNUmakefile. + +;; nasm -f elf32 rdrand.S -DX86 -g -o rdrand-x86.o +;; nasm -f elfx32 rdrand.S -DX32 -g -o rdrand-x32.o +;; nasm -f elf64 rdrand.S -DX64 -g -o rdrand-x64.o + +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; + +;; Naming convention used in rdrand.{h|cpp|asm|S} +;; MSC = Microsoft Compiler (and compatibles) +;; GCC = GNU Compiler (and compatibles) +;; ALL = MSC and GCC (and compatibles) +;; RRA = RDRAND, Assembly +;; RSA = RDSEED, Assembly +;; RRI = RDRAND, Intrinsic +;; RSA = RDSEED, Intrinsic + +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; + +;; C/C++ Function prototypes +;; X86, X32 and X64: +;; extern "C" int NASM_RRA_GenerateBlock(byte* ptr, size_t size, unsigned int safety); + +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; + +;; Return values +%define RDRAND_SUCCESS 1 +%define RDRAND_FAILURE 0 + +%define RDSEED_SUCCESS 1 +%define RDSEED_FAILURE 0 + +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; + +%ifdef X86 or X32 ;; Set via the command line + +;; Arg1, byte* buffer +;; Arg2, size_t bsize +;; Arg3, unsigned int safety +;; EAX (out): success (1), failure (0) + +global NASM_RRA_GenerateBlock +section .text + +%ifdef X86 +align 8 +cpu 486 +%else +align 16 +%endif + +NASM_RRA_GenerateBlock: + +%ifdef X86 +%define arg1 [ebp+04h] +%define arg2 [ebp+08h] +%define arg3 [ebp+0ch] +%define MWSIZE 04h ;; machine word size +%else +%define MWSIZE 08h ;; machine word size +%endif + + %define buffer edi + %define bsize esi + %define safety edx + +%ifdef X86 +.Load_Arguments: + + mov buffer, arg1 + mov bsize, arg2 + mov safety, arg3 +%endif + +.Validate_Pointer: + + cmp buffer, 0 + je .GenerateBlock_PreRet + + ;; Top of While loop +.GenerateBlock_Top: + + ;; Check remaining size + cmp bsize, 0 + je .GenerateBlock_Success + +%ifdef X86 +.Call_RDRAND_EAX: +%else +.Call_RDRAND_RAX: + DB 48h ;; X32 can use the full register, issue the REX.w prefix +%endif + ;; RDRAND is not available prior to VS2012. Just emit + ;; the byte codes using DB. This is `rdrand eax`. + DB 0Fh, 07h, 0F0h + + ;; If CF=1, the number returned by RDRAND is valid. + ;; If CF=0, a random number was not available. + jc .RDRAND_succeeded + +.RDRAND_failed: + + ;; Exit if we've reached the limit + cmp safety, 0 + je .GenerateBlock_Failure + + dec safety + jmp .GenerateBlock_Top + +.RDRAND_succeeded: + + cmp bsize, MWSIZE + jb .Partial_Machine_Word + +.Full_Machine_Word: + +%ifdef X32 + mov [buffer+4], eax ;; We can only move 4 at a time + DB 048h ;; Combined, these result in + shr eax, 32 ;; `shr rax, 32` +%endif + + mov [buffer], eax + add buffer, MWSIZE ;; No need for Intel Core 2 slow word workarounds, + sub bsize, MWSIZE ;; like `lea buffer,[buffer+MWSIZE]` for faster adds + + ;; Continue + jmp .GenerateBlock_Top + + ;; 1,2,3 bytes remain for X86 + ;; 1,2,3,4,5,6,7 remain for X32 +.Partial_Machine_Word: + +%ifdef X32 + ;; Test bit 2 to see if size is at least 4 + test bsize, 4 + jz .Bit_2_Not_Set + + mov [buffer], eax + add buffer, 4 + + DB 048h ;; Combined, these result in + shr eax, 32 ;; `shr rax, 32` + +.Bit_2_Not_Set: +%endif + + ;; Test bit 1 to see if size is at least 2 + test bsize, 2 + jz .Bit_1_Not_Set + + mov [buffer], ax + shr eax, 16 + add buffer, 2 + +.Bit_1_Not_Set: + + ;; Test bit 0 to see if size is at least 1 + test bsize, 1 + jz .GenerateBlock_Success + + mov [buffer], al + +.Bit_0_Not_Set: + + ;; We've hit all the bits + jmp .GenerateBlock_Success + +.GenerateBlock_PreRet: + + ;; Test for success (was the request completely fulfilled?) + cmp bsize, 0 + je .GenerateBlock_Success + +.GenerateBlock_Failure: + + xor eax, eax + mov al, RDRAND_FAILURE + ret + +.GenerateBlock_Success: + + xor eax, eax + mov al, RDRAND_SUCCESS + ret + +%endif ;; X86 and X32 + +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; + +%ifdef X64 ;; Set via the command line + +global NASM_RRA_GenerateBlock +section .text +align 16 + +;; Arg1, byte* buffer +;; Arg2, size_t bsize +;; Arg3, unsigned int safety +;; RAX (out): success (1), failure (0) + +NASM_RRA_GenerateBlock: + +%define MWSIZE 08h ;; machine word size +%define buffer rdi +%define bsize rsi +%define safety edx + + ;; No need for Load_Arguments due to fastcall + +.Validate_Pointer: + + ;; Validate pointer + cmp buffer, 0 + je .GenerateBlock_PreRet + + ;; Top of While loop +.GenerateBlock_Top: + + ;; Check remaining size + cmp bsize, 0 + je .GenerateBlock_Success + +.Call_RDRAND_RAX: + ;; RDRAND is not available prior to VS2012. Just emit + ;; the byte codes using DB. This is `rdrand rax`. + DB 048h, 0Fh, 0C7h, 0F0h + + ;; If CF=1, the number returned by RDRAND is valid. + ;; If CF=0, a random number was not available. + jc .RDRAND_succeeded + +.RDRAND_failed: + + ;; Exit if we've reached the limit + cmp safety, 0h + je .GenerateBlock_Failure + + dec safety + jmp .GenerateBlock_Top + +.RDRAND_succeeded: + + cmp bsize, MWSIZE + jb .Partial_Machine_Word + +.Full_Machine_Word: + + mov [buffer], rax + add buffer, MWSIZE + sub bsize, MWSIZE + + ;; Continue + jmp .GenerateBlock_Top + + ;; 1,2,3,4,5,6,7 bytes remain +.Partial_Machine_Word: + + ;; Test bit 2 to see if size is at least 4 + test bsize, 4 + jz .Bit_2_Not_Set + + mov [buffer], eax + shr rax, 32 + add buffer, 4 + +.Bit_2_Not_Set: + + ;; Test bit 1 to see if size is at least 2 + test bsize, 2 + jz .Bit_1_Not_Set + + mov [buffer], ax + shr eax, 16 + add buffer, 2 + +.Bit_1_Not_Set: + + ;; Test bit 0 to see if size is at least 1 + test bsize, 1 + jz .GenerateBlock_Success + + mov [buffer], al + +.Bit_0_Not_Set: + + ;; We've hit all the bits + jmp .GenerateBlock_Success + +.GenerateBlock_PreRet: + + ;; Test for success (was the request completely fulfilled?) + cmp bsize, 0 + je .GenerateBlock_Success + +.GenerateBlock_Failure: + + xor rax, rax + mov al, RDRAND_FAILURE + ret + +.GenerateBlock_Success: + + xor rax, rax + mov al, RDRAND_SUCCESS + ret + +%endif ;; X64 + +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; + +%ifdef X86 or X32 ;; Set via the command line + +;; Arg1, byte* buffer +;; Arg2, size_t bsize +;; Arg3, unsigned int safety +;; EAX (out): success (1), failure (0) + +global NASM_RSA_GenerateBlock +section .text +align 8 + +%ifdef X86 +align 8 +cpu 486 +%else +align 16 +%endif + +NASM_RSA_GenerateBlock: + +%ifdef X86 +%define arg1 [ebp+04h] +%define arg2 [ebp+08h] +%define arg3 [ebp+0ch] +%define MWSIZE 04h ;; machine word size +%else +%define MWSIZE 08h ;; machine word size +%endif + + %define buffer edi + %define bsize esi + %define safety edx + +%ifdef X86 +.Load_Arguments: + + mov buffer, arg1 + mov bsize, arg2 + mov safety, arg3 +%endif + +.Validate_Pointer: + + cmp buffer, 0 + je .GenerateBlock_PreRet + + ;; Top of While loop +.GenerateBlock_Top: + + ;; Check remaining size + cmp bsize, 0 + je .GenerateBlock_Success + +%ifdef X86 +.Call_RDSEED_EAX: +%else +.Call_RDSEED_RAX: + DB 48h ;; X32 can use the full register, issue the REX.w prefix +%endif + ;; RDSEED is not available prior to VS2012. Just emit + ;; the byte codes using DB. This is `rdseed eax`. + DB 0Fh, 0C7h, 0F8h + + ;; If CF=1, the number returned by RDSEED is valid. + ;; If CF=0, a random number was not available. + jc .RDSEED_succeeded + +.RDSEED_failed: + + ;; Exit if we've reached the limit + cmp safety, 0 + je .GenerateBlock_Failure + + dec safety + jmp .GenerateBlock_Top + +.RDSEED_succeeded: + + cmp bsize, MWSIZE + jb .Partial_Machine_Word + +.Full_Machine_Word: + + mov [buffer], eax + add buffer, MWSIZE ;; No need for Intel Core 2 slow word workarounds, + sub bsize, MWSIZE ;; like `lea buffer,[buffer+MWSIZE]` for faster adds + + ;; Continue + jmp .GenerateBlock_Top + + ;; 1,2,3 bytes remain for X86 + ;; 1,2,3,4,5,6,7 remain for X32 +.Partial_Machine_Word: + +%ifdef X32 + ;; Test bit 2 to see if size is at least 4 + test bsize, 4 + jz .Bit_2_Not_Set + + mov [buffer], eax + add buffer, 4 + + DB 048h ;; Combined, these result in + shr eax, 32 ;; `shr rax, 32` + +.Bit_2_Not_Set: +%endif + + ;; Test bit 1 to see if size is at least 2 + test bsize, 2 + jz .Bit_1_Not_Set + + mov [buffer], ax + shr eax, 16 + add buffer, 2 + +.Bit_1_Not_Set: + + ;; Test bit 0 to see if size is at least 1 + test bsize, 1 + jz .GenerateBlock_Success + + mov [buffer], al + +.Bit_0_Not_Set: + + ;; We've hit all the bits + jmp .GenerateBlock_Success + +.GenerateBlock_PreRet: + + ;; Test for success (was the request completely fulfilled?) + cmp bsize, 0 + je .GenerateBlock_Success + +.GenerateBlock_Failure: + + xor eax, eax + mov al, RDSEED_FAILURE + ret + +.GenerateBlock_Success: + + xor eax, eax + mov al, RDSEED_SUCCESS + ret + +%endif ;; X86 and X32 + +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; + +%ifdef X64 ;; Set via the command line + +global NASM_RSA_GenerateBlock +section .text +align 16 + +;; Arg1, byte* buffer +;; Arg2, size_t bsize +;; Arg3, unsigned int safety +;; RAX (out): success (1), failure (0) + +NASM_RSA_GenerateBlock: + +%define MWSIZE 08h ;; machine word size +%define buffer rdi +%define bsize rsi +%define safety edx + + ;; No need for Load_Arguments due to fastcall + +.Validate_Pointer: + + ;; Validate pointer + cmp buffer, 0 + je .GenerateBlock_PreRet + + ;; Top of While loop +.GenerateBlock_Top: + + ;; Check remaining size + cmp bsize, 0 + je .GenerateBlock_Success + +.Call_RDSEED_RAX: + ;; RDSEED is not available prior to VS2012. Just emit + ;; the byte codes using DB. This is `rdseed rax`. + DB 048h, 0Fh, 0C7h, 0F8h + + ;; If CF=1, the number returned by RDSEED is valid. + ;; If CF=0, a random number was not available. + jc .RDSEED_succeeded + +.RDSEED_failed: + + ;; Exit if we've reached the limit + cmp safety, 0 + je .GenerateBlock_Failure + + dec safety + jmp .GenerateBlock_Top + +.RDSEED_succeeded: + + cmp bsize, MWSIZE + jb .Partial_Machine_Word + +.Full_Machine_Word: + + mov [buffer], rax + add buffer, MWSIZE + sub bsize, MWSIZE + + ;; Continue + jmp .GenerateBlock_Top + + ;; 1,2,3,4,5,6,7 bytes remain +.Partial_Machine_Word: + + ;; Test bit 2 to see if size is at least 4 + test bsize, 4 + jz .Bit_2_Not_Set + + mov [buffer], eax + shr rax, 32 + add buffer, 4 + +.Bit_2_Not_Set: + + ;; Test bit 1 to see if size is at least 2 + test bsize, 2 + jz .Bit_1_Not_Set + + mov [buffer], ax + shr eax, 16 + add buffer, 2 + +.Bit_1_Not_Set: + + ;; Test bit 0 to see if size is at least 1 + test bsize, 1 + jz .GenerateBlock_Success + + mov [buffer], al + +.Bit_0_Not_Set: + + ;; We've hit all the bits + jmp .GenerateBlock_Success + +.GenerateBlock_PreRet: + + ;; Test for success (was the request completely fulfilled?) + cmp bsize, 0 + je .GenerateBlock_Success + +.GenerateBlock_Failure: + + xor rax, rax + mov al, RDSEED_FAILURE + ret + +.GenerateBlock_Success: + + xor rax, rax + mov al, RDSEED_SUCCESS + ret + +%endif ;; _M_X64 + +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; + diff --git a/rdrand.asm b/rdrand.asm index ecb19ae4..73f5a964 100644 --- a/rdrand.asm +++ b/rdrand.asm @@ -1,10 +1,9 @@ ;; rdrand.asm - written and placed in public domain by Jeffrey Walton and Uri Blumenthal. ;; Copyright assigned to the Crypto++ project. -;; This ASM file exists for one reason only - to emit the RDRAND instruction for Microsoft platforms. -;; We can't call RDRAND directly on some versions of the toolchain (prior to CL 17.00/VS2012). -;; Additionally, Microsoft/Intel penalizes AMD CPUs with the feature. To avoid these troubles, we -;; provide the ASM and emit the opcodes for RDRAND by hand. +;; This ASM file provides RDRAND and RDSEED to downlevel Microsoft tool chains. +;; Everything "just works" under Visual Studio. Other platforms will have to +;; run MASM/MASM-64 and then link to the object files. ;; set ASFLAGS=/nologo /D_M_X86 /W3 /Cx /Zi /safeseh ;; set ASFLAGS64=/nologo /D_M_X64 /W3 /Cx /Zi @@ -14,11 +13,11 @@ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -TITLE MSC_RRA_GenerateBlock and MSC_RSA_GenerateBlock +TITLE MASM_RRA_GenerateBlock and MASM_RSA_GenerateBlock SUBTITLE Microsoft specific ASM code to utilize RDRAND and RDSEED for down level Microsoft toolchains -PUBLIC MSC_RRA_GenerateBlock -PUBLIC MSC_RSA_GenerateBlock +PUBLIC MASM_RRA_GenerateBlock +PUBLIC MASM_RSA_GenerateBlock ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; @@ -26,6 +25,7 @@ PUBLIC MSC_RSA_GenerateBlock ;; Naming convention used in rdrand.{h|cpp|asm} ;; MSC = Microsoft Compiler (and compatibles) ;; GCC = GNU Compiler (and compatibles) +;; ALL = MSC and GCC (and compatibles) ;; RRA = RDRAND, Assembly ;; RSA = RDSEED, Assembly ;; RRI = RDRAND, Intrinsic @@ -39,9 +39,9 @@ PUBLIC MSC_RSA_GenerateBlock ;; C/C++ Function prototypes ;; X86: -;; extern "C" int MSC_RRA_GenerateBlock(byte* ptr, size_t size, unsigned int safety); +;; extern "C" int MASM_RRA_GenerateBlock(byte* ptr, size_t size, unsigned int safety); ;; X64: -;; extern "C" int __fastcall MSC_RRA_GenerateBlock(byte* ptr, size_t size, unsigned int safety); +;; extern "C" int __fastcall MASM_RRA_GenerateBlock(byte* ptr, size_t size, unsigned int safety); ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; @@ -79,8 +79,7 @@ OPTION EPILOGUE:NONE ;; Base relative (in): arg3, unsigned int safety ;; EAX (out): success (1), failure (0) -;; MSC_RRA_GenerateBlock PROC USES ecx edx edi arg1:DWORD,arg2:DWORD,arg3:DWORD -MSC_RRA_GenerateBlock PROC arg1:DWORD,arg2:DWORD,arg3:DWORD +MASM_RRA_GenerateBlock PROC arg1:DWORD,arg2:DWORD,arg3:DWORD MWSIZE EQU 04h ;; machine word size buffer EQU edi @@ -108,7 +107,7 @@ GenerateBlock_Top: Call_RDRAND_EAX: ;; RDRAND is not available prior to VS2012. Just emit ;; the byte codes using DB. This is `rdrand eax`. - DB 0Fh, 0C7h, 0F0h + DB 0Fh, 0C7h, 0F0h ;; If CF=1, the number returned by RDRAND is valid. ;; If CF=0, a random number was not available. @@ -152,15 +151,13 @@ Bit_1_Not_Set: ;; Test bit 0 to see if size is at least 1 test bsize, 1 - ;; jz Bit_0_Not_Set jz GenerateBlock_Success mov BYTE PTR [buffer], al Bit_0_Not_Set: - ;; We've hit all the bits, set size to 0 - ;; mov bsize, 0 + ;; We've hit all the bits jmp GenerateBlock_Success GenerateBlock_PreRet: @@ -171,18 +168,17 @@ GenerateBlock_PreRet: GenerateBlock_Failure: - mov eax, RDRAND_FAILURE - jmp GenerateBlock_Ret + xor eax, eax + mov al, RDRAND_FAILURE + ret GenerateBlock_Success: - mov eax, RDRAND_SUCCESS - -GenerateBlock_Ret: - + xor eax, eax + mov al, RDRAND_SUCCESS ret -MSC_RRA_GenerateBlock ENDP +MASM_RRA_GenerateBlock ENDP ENDIF ;; _M_X86 @@ -201,8 +197,7 @@ OPTION EPILOGUE:NONE ;; R8d (in): arg3, unsigned int safety ;; RAX (out): success (1), failure (0) -;; MSC_RRA_GenerateBlock PROC USES RCX ;; arg1:QWORD,arg2:QWORD,arg3:DWORD -MSC_RRA_GenerateBlock PROC ;; arg1:QWORD,arg2:QWORD,arg3:DWORD +MASM_RRA_GenerateBlock PROC MWSIZE EQU 08h ;; machine word size buffer EQU rcx @@ -227,7 +222,7 @@ GenerateBlock_Top: Call_RDRAND_RAX: ;; RDRAND is not available prior to VS2012. Just emit ;; the byte codes using DB. This is `rdrand rax`. - DB 048h, 0Fh, 0C7h, 0F0h + DB 048h, 0Fh, 0C7h, 0F0h ;; If CF=1, the number returned by RDRAND is valid. ;; If CF=0, a random number was not available. @@ -281,15 +276,13 @@ Bit_1_Not_Set: ;; Test bit 0 to see if size is at least 1 test bsize, 1 - ;; jz Bit_0_Not_Set jz GenerateBlock_Success mov BYTE PTR [buffer], al Bit_0_Not_Set: - ;; We've hit all the bits, set size to 0 - ;; mov bsize, 0 + ;; We've hit all the bits jmp GenerateBlock_Success GenerateBlock_PreRet: @@ -300,18 +293,17 @@ GenerateBlock_PreRet: GenerateBlock_Failure: - mov rax, RDRAND_FAILURE - jmp GenerateBlock_Ret + xor rax, rax + mov al, RDRAND_FAILURE + ret GenerateBlock_Success: - mov rax, RDRAND_SUCCESS - -GenerateBlock_Ret: - + xor rax, rax + mov al, RDRAND_SUCCESS ret -MSC_RRA_GenerateBlock ENDP +MASM_RRA_GenerateBlock ENDP ENDIF ;; _M_X64 @@ -331,8 +323,7 @@ OPTION EPILOGUE:NONE ;; Base relative (in): arg3, unsigned int safety ;; EAX (out): success (1), failure (0) -;; MSC_RSA_GenerateBlock PROC USES ecx edx edi arg1:DWORD,arg2:DWORD,arg3:DWORD -MSC_RSA_GenerateBlock PROC arg1:DWORD,arg2:DWORD,arg3:DWORD +MASM_RSA_GenerateBlock PROC arg1:DWORD,arg2:DWORD,arg3:DWORD MWSIZE EQU 04h ;; machine word size buffer EQU edi @@ -347,20 +338,20 @@ Load_Arguments: Validate_Pointer: - cmp buffer, 0 - je GenerateBlock_PreRet + cmp buffer, 0 + je GenerateBlock_PreRet ;; Top of While loop GenerateBlock_Top: ;; Check remaining size - cmp bsize, 0 + cmp bsize, 0 je GenerateBlock_Success Call_RDSEED_EAX: ;; RDSEED is not available prior to VS2012. Just emit ;; the byte codes using DB. This is `rdseed eax`. - DB 0Fh, 0C7h, 0F8h + DB 0Fh, 0C7h, 0F8h ;; If CF=1, the number returned by RDSEED is valid. ;; If CF=0, a random number was not available. @@ -404,15 +395,13 @@ Bit_1_Not_Set: ;; Test bit 0 to see if size is at least 1 test bsize, 1 - ;; jz Bit_0_Not_Set jz GenerateBlock_Success mov BYTE PTR [buffer], al Bit_0_Not_Set: - ;; We've hit all the bits, set size to 0 - ;; mov bsize, 0 + ;; We've hit all the bits jmp GenerateBlock_Success GenerateBlock_PreRet: @@ -423,18 +412,17 @@ GenerateBlock_PreRet: GenerateBlock_Failure: - mov eax, RDSEED_FAILURE - jmp GenerateBlock_Ret + xor eax, eax + mov al, RDSEED_FAILURE + ret GenerateBlock_Success: - mov eax, RDSEED_SUCCESS - -GenerateBlock_Ret: - + xor eax, eax + mov al, RDSEED_SUCCESS ret -MSC_RSA_GenerateBlock ENDP +MASM_RSA_GenerateBlock ENDP ENDIF ;; _M_X86 @@ -453,8 +441,7 @@ OPTION EPILOGUE:NONE ;; R8d (in): arg3, unsigned int safety ;; RAX (out): success (1), failure (0) -;; MSC_RSA_GenerateBlock PROC USES RCX ;; arg1:QWORD,arg2:QWORD,arg3:DWORD -MSC_RSA_GenerateBlock PROC ;; arg1:QWORD,arg2:QWORD,arg3:DWORD +MASM_RSA_GenerateBlock PROC ;; arg1:QWORD,arg2:QWORD,arg3:DWORD MWSIZE EQU 08h ;; machine word size buffer EQU rcx @@ -533,15 +520,13 @@ Bit_1_Not_Set: ;; Test bit 0 to see if size is at least 1 test bsize, 1 - ;; jz Bit_0_Not_Set jz GenerateBlock_Success mov BYTE PTR [buffer], al Bit_0_Not_Set: - ;; We've hit all the bits, set size to 0 - ;; mov bsize, 0 + ;; We've hit all the bits jmp GenerateBlock_Success GenerateBlock_PreRet: @@ -552,18 +537,17 @@ GenerateBlock_PreRet: GenerateBlock_Failure: - mov rax, RDSEED_FAILURE - jmp GenerateBlock_Ret + xor rax, rax + mov al, RDSEED_FAILURE + ret GenerateBlock_Success: - mov rax, RDSEED_SUCCESS - -GenerateBlock_Ret: - + xor rax, rax + mov al, RDSEED_SUCCESS ret -MSC_RSA_GenerateBlock ENDP +MASM_RSA_GenerateBlock ENDP ENDIF ;; _M_X64 diff --git a/rdrand.cpp b/rdrand.cpp index 66cb6561..b14359fa 100644 --- a/rdrand.cpp +++ b/rdrand.cpp @@ -20,225 +20,163 @@ // available. A lazy throw strategy is used in case the CPU does not support // the instruction. I.e., the throw is deferred until GenerateBlock is called. -// For GCC/ICC/Clang on Unix/Linux/Apple, you can use `-mrdrnd` to force the -// option. If you use `-mrdrnd`, then __RDRND__ is defined and intrinsics -// are used. If you omit the otion, then assembly language routines are -// used if the compiler supports RDRAND. The same applies to -mrdseed and -// __RDSEED__ (but they did not skimp on the extra vowel). Also see -// http://gcc.gnu.org/onlinedocs/gcc/x86-Built-in-Functions.html#x86-Built-in-Functions - // Here's the naming convention for the functions.... // MSC = Microsoft Compiler (and compatibles) // GCC = GNU Compiler (and compatibles) +// ALL = MSC and GCC (and compatibles) // RRA = RDRAND, Assembly // RSA = RDSEED, Assembly // RRI = RDRAND, Intrinsic // RSA = RDSEED, Intrinsic -// Helper macros. IA32_ASM captuers the architecture. MSC_RDRAND_COMPILER means -// MSC_RDSEED_COMPILER; GCC_RDRAND_COMPILER means GCC_RDSEED_COMPILER. -#define IA32_ASM (!defined(CRYPTOPP_DISABLE_ASM) && (CRYPTOPP_BOOL_X86 || CRYPTOPP_BOOL_X32 || CRYPTOPP_BOOL_X64)) -#define MSC_RDRAND_COMPILER ((CRYPTOPP_MSC_VERSION >= 1700) || (CRYPTOPP_CLANG_VERSION >= 30200) || (_INTEL_COMPILER >= 1210)) -#define GCC_RDRAND_COMPILER ((CRYPTOPP_GCC_VERSION >= 40600) || (CRYPTOPP_CLANG_VERSION >= 30200) || (_INTEL_COMPILER >= 1210)) -#define MSC_RDSEED_COMPILER MSC_RDRAND_COMPILER -#define GCC_RDSEED_COMPILER GCC_RDRAND_COMPILER +///////////////////////////////////////////////////////////////////// +///////////////////////////////////////////////////////////////////// -// GCC cannot compile programs with __builtin_ia32_rdseed{16|32|64}_step -#if __GNUC__ -# define GCC_RDSEED_INTRINSIC_AVAILABLE 0 +// For Linux, install NASM, run rdrand-nasm.asm, add the apppropriate +// object file to the Makefile's LIBOBJS (rdrand-x{86|32|64}.o). After +// that, define these. They are not enabled by default because they +// are not easy to cut-in in the Makefile. + +#if 0 +#define NASM_RDRAND_ASM_AVAILABLE 1 +#define NASM_RDSEED_ASM_AVAILABLE 1 #endif ///////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////// -// Microsoft uses Intel's intrinsics, and it excludes AMD's CPUs. You should -// "#define MSC_RDRAND_INTRINSIC_AVAILABLE 0" and -// "#define MSC_RDSEED_INTRINSIC_AVAILABLE 0", if possible. The downside is -// you must assemble the object files rdrand-x86.obj and rdrand-x86.obj and -// then build the rdrand-x86.lib and rdrand-x86.lib libraries. To build the -// libraries run "make-rdrand.cmd" from a developer prompt. - -///////////////////////////////////////////////////////////////////// -///////////////////////////////////////////////////////////////////// - -// MSC Compatible on Windows. Set MSC_RDRAND_ASM_AVAILABLE if it (and Intrinsics) -// are not set. The requirement is rdrand.asm assembled with MASM/MAS64. We use -// CRYTPOPP_MSC_VERSION as a proxy for MASM/MAS64 availability. -#if defined(CRYPTOPP_WIN32_AVAILABLE) && IA32_ASM && defined(CRYTPOPP_MSC_VERSION) -# if !defined(MSC_RDRAND_ASM_AVAILABLE) && !(MSC_RDRAND_INTRINSIC_AVAILABLE > 0) -# define MSC_RDRAND_ASM_AVAILABLE 1 -# define MSC_RDRAND_INTRINSIC_AVAILABLE 0 +// According to Wei, CRYPTOPP_DISABLE_ASM is a failsafe due to the assembler. +// We sidestep it because it does not limit us. The assembler does not limit +// us because we emit out own byte codes as needed. To diasble RDRAND or +// RDSEED, set CRYPTOPP_BOOL_RDRAND_ASM or CRYPTOPP_BOOL_RDSEED_ASM to 0. +#ifndef CRYPTOPP_CPUID_AVAILABLE +# if (CRYPTOPP_BOOL_X86 || CRYPTOPP_BOOL_X32 || CRYPTOPP_BOOL_X64) +# define CRYPTOPP_CPUID_AVAILABLE # endif #endif -// Fallback to MSC_RDRAND_INTRINSIC_AVAILABLE on Windows. The compiler must support it. -#if defined(CRYPTOPP_WIN32_AVAILABLE) && MSC_RDRAND_COMPILER -# if !defined(MSC_RDRAND_INTRINSIC_AVAILABLE) && !(MSC_RDRAND_ASM_AVAILABLE > 0) -# define MSC_RDRAND_INTRINSIC_AVAILABLE 1 -# define MSC_RDRAND_ASM_AVAILABLE 0 -# endif +#if defined(CRYPTOPP_CPUID_AVAILABLE) && !defined(CRYPTOPP_BOOL_RDRAND_ASM) +# define CRYPTOPP_BOOL_RDRAND_ASM 1 +#else +# define CRYPTOPP_BOOL_RDRAND_ASM 0 +#endif +#if defined(CRYPTOPP_CPUID_AVAILABLE) && !defined(CRYPTOPP_BOOL_RDSEED_ASM) +# define CRYPTOPP_BOOL_RDSEED_ASM 1 +#else +# define CRYPTOPP_BOOL_RDSEED_ASM 0 #endif -// GCC Compatible on Unix/Linux/Apple. Set GCC_RDRAND_INTRINSIC_AVAILABLE if -// it (and ASM) are not set. The requirements are __RDRND__ preprocessor. -#if defined(CRYPTOPP_UNIX_AVAILABLE) && GCC_RDRAND_COMPILER && (__RDRND__ >= 1) -# if !defined(GCC_RDRAND_INTRINSIC_AVAILABLE) && !(defined(GCC_RDRAND_ASM_AVAILABLE) && (GCC_RDRAND_ASM_AVAILABLE > 0)) -# define GCC_RDRAND_INTRINSIC_AVAILABLE 1 -# define GCC_RDRAND_ASM_AVAILABLE 0 -# endif +#if defined(CRYPTOPP_CPUID_AVAILABLE) +# define MSC_INTRIN_COMPILER ((CRYPTOPP_MSC_VERSION >= 1700) || (CRYPTOPP_CLANG_VERSION >= 30200) || (_INTEL_COMPILER >= 1210)) +# define GCC_INTRIN_COMPILER ((CRYPTOPP_GCC_VERSION >= 40600) || (CRYPTOPP_CLANG_VERSION >= 30200) || (_INTEL_COMPILER >= 1210)) +#else +# define MSC_INTRIN_COMPILER 0 +# define GCC_INTRIN_COMPILER 0 #endif -// Fallback to MSC_ASM_INTRINSIC_AVAILABLE on Unix/Linux/Apple -#if defined(CRYPTOPP_UNIX_AVAILABLE) && IA32_ASM && GCC_RDRAND_COMPILER -# if !defined(GCC_RDRAND_INTRINSIC_AVAILABLE) && !(defined(GCCC_RDRAND_ASM_AVAILABLE) && (GCCC_RDRAND_ASM_AVAILABLE > 0)) -# define GCC_RDRAND_ASM_AVAILABLE 1 -# define GCC_RDRAND_INTRINSIC_AVAILABLE 0 -# endif +// In general, the library's ASM code is best on Windows, and Intrinsics is +// the best code under GCC and compatibles. We favor them accordingly. +// The NASM code is optimized well on Linux, but its not easy to cut-in. +#if defined(CRYPTOPP_CPUID_AVAILABLE) && (CRYPTOPP_MSC_VERSION >= 1200) +# if CRYPTOPP_BOOL_RDRAND_ASM +# define MASM_RDRAND_ASM_AVAILABLE 1 +# elif MSC_INTRIN_COMPILER +# define ALL_RDRAND_INTRIN_AVAILABLE 1 +# endif +# if CRYPTOPP_BOOL_RDSEED_ASM +# define MASM_RDSEED_ASM_AVAILABLE 1 +# elif MSC_INTRIN_COMPILER +# define ALL_RDSEED_INTRIN_AVAILABLE 1 +# endif +#elif defined(CRYPTOPP_CPUID_AVAILABLE) && (CRYPTOPP_GCC_VERSION >= 30200) +# if GCC_INTRIN_COMPILER && defined(__RDRND__) +# define ALL_RDRAND_INTRIN_AVAILABLE 1 +# elif CRYPTOPP_BOOL_RDRAND_ASM +# define GCC_RDRAND_ASM_AVAILABLE 1 +# endif +# if GCC_INTRIN_COMPILER && defined(__RDSEED__) +# define ALL_RDSEED_INTRIN_AVAILABLE 1 +# elif CRYPTOPP_BOOL_RDSEED_ASM +# define GCC_RDSEED_ASM_AVAILABLE 1 +# endif +#endif + +// Debug diagnostics +#if 0 +# if MASM_RDRAND_ASM_AVAILABLE +# pragma message ("MASM_RDRAND_ASM_AVAILABLE is 1") +# elif NASM_RDRAND_ASM_AVAILABLE +# pragma message ("NASM_RDRAND_ASM_AVAILABLE is 1") +# elif GCC_RDRAND_ASM_AVAILABLE +# pragma message ("GCC_RDRAND_ASM_AVAILABLE is 1") +# elif ALL_RDRAND_INTRIN_AVAILABLE +# pragma message ("ALL_RDRAND_INTRIN_AVAILABLE is 1") +# else +# pragma message ("RDRAND is not available") +# endif +# if MASM_RDSEED_ASM_AVAILABLE +# pragma message ("MASM_RDSEED_ASM_AVAILABLE is 1") +# elif NASM_RDSEED_ASM_AVAILABLE +# pragma message ("NASM_RDSEED_ASM_AVAILABLE is 1") +# elif GCC_RDSEED_ASM_AVAILABLE +# pragma message ("GCC_RDSEED_ASM_AVAILABLE is 1") +# elif ALL_RDSEED_INTRIN_AVAILABLE +# pragma message ("ALL_RDSEED_INTRIN_AVAILABLE is 1") +# else +# pragma message ("RDSEED is not available") +# endif #endif ///////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////// -// MSC Compatible on Windows. Set MSC_RDRAND_ASM_AVAILABLE if it (and Intrinsics) -// are not set. The requirement is rdrand.asm assembled with MASM/MAS64. We use -// CRYTPOPP_MSC_VERSION as a proxy for MASM/MAS64 availability. -#if defined(CRYPTOPP_WIN32_AVAILABLE) && IA32_ASM && defined(CRYTPOPP_MSC_VERSION) -# if !defined(MSC_RDSEED_ASM_AVAILABLE) && !(MSC_RDSEED_INTRINSIC_AVAILABLE > 0) -# define MSC_RDSEED_ASM_AVAILABLE 1 -# define MSC_RDSEED_INTRINSIC_AVAILABLE 0 +#if (ALL_RDRAND_INTRIN_AVAILABLE || ALL_RDSEED_INTRIN_AVAILABLE) +# include // rdrand, MSC, ICC, and GCC +# if defined(__has_include) +# if __has_include() +# include // rdseed for some compilers, like GCC +# endif # endif #endif -// Fallback to MSC_RDSEED_INTRINSIC_AVAILABLE on Windows. The compiler must support it. -#if defined(CRYPTOPP_WIN32_AVAILABLE) && MSC_RDSEED_COMPILER -# if !defined(MSC_RDSEED_INTRINSIC_AVAILABLE) && !(MSC_RDSEED_ASM_AVAILABLE > 0) -# define MSC_RDSEED_INTRINSIC_AVAILABLE 1 -# define MSC_RDSEED_ASM_AVAILABLE 0 -# endif -#endif - -// GCC Compatible on Unix/Linux/Apple. Set GCC_RDSEED_INTRINSIC_AVAILABLE if -// it (and ASM) are not set. The requirements are __RDSEED__ preprocessor. -#if defined(CRYPTOPP_UNIX_AVAILABLE) && GCC_RDSEED_COMPILER && (__RDSEED__ >= 1) -# if !defined(GCC_RDSEED_INTRINSIC_AVAILABLE) && !(defined(GCC_RDSEED_ASM_AVAILABLE) && (GCC_RDSEED_ASM_AVAILABLE > 0)) -# define GCC_RDSEED_INTRINSIC_AVAILABLE 1 -# define GCC_RDSEED_ASM_AVAILABLE 0 -# endif -#endif - -// Fallback to MSC_ASM_INTRINSIC_AVAILABLE on Unix/Linux/Apple -#if defined(CRYPTOPP_UNIX_AVAILABLE) && IA32_ASM && GCC_RDSEED_COMPILER -# if !defined(GCC_RDSEED_INTRINSIC_AVAILABLE) && !(defined(GCCC_RDSEED_ASM_AVAILABLE) && (GCCC_RDSEED_ASM_AVAILABLE > 0)) -# define GCC_RDSEED_ASM_AVAILABLE 1 -# define GCC_RDSEED_INTRINSIC_AVAILABLE 0 -# endif -#endif - -///////////////////////////////////////////////////////////////////// -///////////////////////////////////////////////////////////////////// - -#if MSC_RDRAND_ASM_AVAILABLE +#if MASM_RDRAND_ASM_AVAILABLE # ifdef _M_X64 -extern "C" int CRYPTOPP_FASTCALL MSC_RRA_GenerateBlock(byte*, size_t, unsigned int); +extern "C" int CRYPTOPP_FASTCALL MASM_RRA_GenerateBlock(byte*, size_t, unsigned int); // # pragma comment(lib, "rdrand-x64.lib") # else -extern "C" int MSC_RRA_GenerateBlock(byte*, size_t, unsigned int); +extern "C" int MASM_RRA_GenerateBlock(byte*, size_t, unsigned int); // # pragma comment(lib, "rdrand-x86.lib") # endif #endif -#if MSC_RDSEED_ASM_AVAILABLE +#if MASM_RDSEED_ASM_AVAILABLE # ifdef _M_X64 -extern "C" int CRYPTOPP_FASTCALL MSC_RSA_GenerateBlock(byte*, size_t, unsigned int); +extern "C" int CRYPTOPP_FASTCALL MASM_RSA_GenerateBlock(byte*, size_t, unsigned int); // # pragma comment(lib, "rdrand-x64.lib") # else -extern "C" int MSC_RSA_GenerateBlock(byte*, size_t, unsigned int); +extern "C" int MASM_RSA_GenerateBlock(byte*, size_t, unsigned int); // # pragma comment(lib, "rdrand-x86.lib") # endif #endif +#if NASM_RDRAND_ASM_AVAILABLE +extern "C" int NASM_RRA_GenerateBlock(byte*, size_t, unsigned int); +#endif + +#if NASM_RDSEED_ASM_AVAILABLE +extern "C" int NASM_RSA_GenerateBlock(byte*, size_t, unsigned int); +#endif + ///////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////// -#if MSC_RDRAND_INTRINSIC_AVAILABLE || MSC_RDSEED_INTRINSIC_AVAILABLE -# include -#elif GCC_RDRAND_INTRINSIC_AVAILABLE || GCC_RDSEED_INTRINSIC_AVAILABLE -# include -#endif - -// Define ERROR_DEV_NOT_EXIST for this TU if not already defined -#ifndef ERROR_DEV_NOT_EXIST -# define ERROR_DEV_NOT_EXIST 0x37 -#endif - -#if defined(CRYPTOPP_UNIX_AVAILABLE) -# include -#endif - NAMESPACE_BEGIN(CryptoPP) -///////////////////////////////////////////////////////////////////// -///////////////////////////////////////////////////////////////////// - -#if defined(CRYPTOPP_CPUID_AVAILABLE) -extern CRYPTOPP_DLL bool CpuId(word32 input, word32 *output); -#endif - -///////////////////////////////////////////////////////////////////// -///////////////////////////////////////////////////////////////////// - -// Intel and AMD provide RDRAND, only Intel provides RDSEED. To call these -// functions, use the word32 array returned from CpuId(0, output[]). - -static bool IsIntel(const word32 output[4]) +#if ALL_RDRAND_INTRIN_AVAILABLE +static int ALL_RRI_GenerateBlock(byte *output, size_t size, unsigned int safety) { - // This is the "GenuineIntel" string - return (output[1] /*EBX*/ == 0x756e6547) && - (output[2] /*ECX*/ == 0x6c65746e) && - (output[3] /*EDX*/ == 0x49656e69); -} - -static bool IsAMD(const word32 output[4]) -{ - // This is the "AuthenticAMD" string - return (output[1] /*EBX*/ == 0x68747541) && - (output[2] /*ECX*/ == 0x69746E65) && - (output[3] /*EDX*/ == 0x444D4163); -} - -///////////////////////////////////////////////////////////////////// -///////////////////////////////////////////////////////////////////// - -static bool RDRAND_Runtime_Helper() -{ -#if defined(CRYPTOPP_CPUID_AVAILABLE) - bool rdrand = false; word32 output[4]; - if (CpuId(0, output)) - { - if (IsIntel(output) || IsAMD(output)) - { - if (output[0] /*EAX*/ >= 1 && CpuId(1, output)) - { - static const unsigned int RDRAND_FLAG = (1 << 30); - rdrand = !!(output[2] /*ECX*/ & RDRAND_FLAG); - } - } - } - return rdrand; -#else - return false; -#endif -} - -// This will be moved to CPU.h/CPU.cpp eventually -static bool hasRDRAND = RDRAND_Runtime_Helper(); - -#if defined(CRYPTOPP_CPUID_AVAILABLE) - -#if MSC_RDRAND_INTRINSIC_AVAILABLE -static int MSC_RRI_GenerateBlock(byte *output, size_t size, unsigned int safety) -{ -#if CRYPTOPP_BOOL_X64 + assert((output && size) || !(output || size)); +#if CRYPTOPP_BOOL_X64 || CRYTPOPP_BOOL_X32 word64 val; #else word32 val; @@ -246,7 +184,7 @@ static int MSC_RRI_GenerateBlock(byte *output, size_t size, unsigned int safety) while (size >= sizeof(val)) { -#if CRYPTOPP_BOOL_X64 +#if CRYPTOPP_BOOL_X64 || CRYTPOPP_BOOL_X32 if (_rdrand64_step((word64*)output)) #else if (_rdrand32_step((word32*)output)) @@ -264,7 +202,7 @@ static int MSC_RRI_GenerateBlock(byte *output, size_t size, unsigned int safety) if (size) { -#if CRYPTOPP_BOOL_X64 +#if CRYPTOPP_BOOL_X64 || CRYTPOPP_BOOL_X32 if (_rdrand64_step(&val)) #else if (_rdrand32_step(&val)) @@ -280,7 +218,7 @@ static int MSC_RRI_GenerateBlock(byte *output, size_t size, unsigned int safety) } } -#if CRYPTOPP_BOOL_X64 +#if CRYPTOPP_BOOL_X64 || CRYTPOPP_BOOL_X32 *((volatile word64*)&val) = 0; #else *((volatile word32*)&val) = 0; @@ -288,68 +226,12 @@ static int MSC_RRI_GenerateBlock(byte *output, size_t size, unsigned int safety) return int(size == 0); } - -#endif // MSC_RDRAND_INTRINSIC_AVAILABLE - -#if GCC_RDRAND_INTRINSIC_AVAILABLE -static int GCC_RRI_GenerateBlock(byte *output, size_t size, unsigned int safety) -{ -#if CRYPTOPP_BOOL_X64 || CRYPTOPP_BOOL_X32 - word64 val; -#else // CRYPTOPP_BOOL_X86 - word32 val; -#endif - - while (size >= sizeof(val)) - { -#if CRYPTOPP_BOOL_X64 || CRYPTOPP_BOOL_X32 - if (__builtin_ia32_rdrand64_step((word64*)output)) -#else - if (__builtin_ia32_rdrand32_step((word32*)output)) -#endif - { - output += sizeof(val); - size -= sizeof(val); - } - else - { - if (!safety--) - return 0; - } - } - - if (size) - { -#if CRYPTOPP_BOOL_X64 || CRYPTOPP_BOOL_X32 - if (__builtin_ia32_rdrand64_step(&val)) -#else - if (__builtin_ia32_rdrand32_step(&val)) -#endif - { - memcpy(output, &val, size); - size = 0; - } - else - { - if (!safety--) - return 0; - } - } - -#if CRYPTOPP_BOOL_X64 || CRYPTOPP_BOOL_X32 - *((volatile word64*)&val) = 0; -#else - *((volatile word32*)&val) = 0; -#endif - - return int(size == 0); -} - -#endif // GCC_RDRAND_INTRINSIC_AVAILABLE +#endif // ALL_RDRAND_INTRINSIC_AVAILABLE #if GCC_RDRAND_ASM_AVAILABLE static int GCC_RRA_GenerateBlock(byte *output, size_t size, unsigned int safety) { + assert((output && size) || !(output || size)); #if CRYPTOPP_BOOL_X64 || CRYPTOPP_BOOL_X32 word64 val; #else @@ -359,9 +241,13 @@ static int GCC_RRA_GenerateBlock(byte *output, size_t size, unsigned int safety) while (size) { __asm__ volatile( - "rdrand %0; " +#if CRYPTOPP_BOOL_X64 || CRYPTOPP_BOOL_X32 + ".byte 0x48, 0x0f, 0xc7, 0xf0;\n" // rdrand rax +#else + ".byte 0x0f, 0xc7, 0xf0;\n" // rdrand eax +#endif "setc %1; " - : "=r" (val), "=qm" (rc) + : "=a" (val), "=qm" (rc) : : "cc" ); @@ -404,103 +290,39 @@ static int GCC_RRA_GenerateBlock(byte *output, size_t size, unsigned int safety) #endif // GCC_RDRAND_ASM_AVAILABLE -#endif // CRYPTOPP_CPUID_AVAILABLE (CRYPTOPP_BOOL_{X86|X32|X64}) - -//! generate random array of bytes +#if (CRYPTOPP_BOOL_X86 || CRYPTOPP_BOOL_X32 || CRYPTOPP_BOOL_X64) void RDRAND::GenerateBlock(byte *output, size_t size) { - assert((output == NULL && size == 0) || (output != NULL && size != 0)); - assert(Available()); + CRYPTOPP_UNUSED(output), CRYPTOPP_UNUSED(size); + assert((output && size) || !(output || size)); - // We could (should?) test Ready, but Available conveys more useful information. - if(!Available()) + if(!HasRDRAND()) throw NotImplemented("RDRAND: rdrand is not available on this platform"); -#if defined(CRYPTOPP_CPUID_AVAILABLE) int rc; CRYPTOPP_UNUSED(rc); -#if MSC_RDRAND_ASM_AVAILABLE - rc = MSC_RRA_GenerateBlock(output, size, m_retries); - if (!rc) { throw RDRAND_Err("MSC_RRA_GenerateBlock"); } +#if MASM_RDRAND_ASM_AVAILABLE + rc = MASM_RRA_GenerateBlock(output, size, m_retries); + if (!rc) { throw RDRAND_Err("MASM_RRA_GenerateBlock"); } +#elif NASM_RDRAND_ASM_AVAILABLE + rc = NASM_RRA_GenerateBlock(output, size, m_retries); + if (!rc) { throw RDRAND_Err("NASM_RRA_GenerateBlock"); } +#elif ALL_RDRAND_INTRIN_AVAILABLE + rc = ALL_RRI_GenerateBlock(output, size, m_retries); + if (!rc) { throw RDRAND_Err("ALL_RRI_GenerateBlock"); } #elif GCC_RDRAND_ASM_AVAILABLE rc = GCC_RRA_GenerateBlock(output, size, m_retries); if (!rc) { throw RDRAND_Err("GCC_RRA_GenerateBlock"); } -#elif MSC_RDRAND_INTRINSIC_AVAILABLE - rc = MSC_RRI_GenerateBlock(output, size, m_retries); - if (!rc) { throw RDRAND_Err("MSC_RRI_GenerateBlock"); } -#elif GCC_RDRAND_INTRINSIC_AVAILABLE - rc = GCC_RRI_GenerateBlock(output, size, m_retries); - if (!rc) { throw RDRAND_Err("GCC_RRI_GenerateBlock"); } -#elif (__RDRND__ >= 1) - // RDRAND detected at compile time, GCC Compatible compiler, but no suitable implementations -# error "Please report on the Crypto++ user group" #else // RDRAND not detected at compile time, and no suitable compiler found throw NotImplemented("RDRAND: failed to find a suitable implementation???"); -#endif - -#endif // CRYPTOPP_CPUID_AVAILABLE (CRYPTOPP_BOOL_{X86|X32|X64}) +#endif // CRYPTOPP_CPUID_AVAILABLE } -//! returns true if RDRAND is present or available according to CPUID, false otherwise -bool RDRAND::Available() const -{ - word64 unused; - return Available(unused); -} - -//! returns true if RDRAND is present or available according to CPUID, false otherwise. There is no exended information available. -bool RDRAND::Available(word64& extendedInfo) const -{ - if (hasRDRAND) - { - extendedInfo = 0; - return true; - } - -#if defined(CRYPTOPP_WIN32_AVAILABLE) - extendedInfo = ERROR_DEV_NOT_EXIST; // 0x00000037 -#elif defined(CRYPTOPP_UNIX_AVAILABLE) - extendedInfo = ENODEV; // 19 -#else - extendedInfo = word64(-1); -#endif - - return false; -} - -//! returns true if RDRAND is online/ready to produce random numbers, false otherwise -bool RDRAND::Ready() const -{ - word64 unused; - return Ready(unused); -} - -//! returns true if RDRAND is online/ready to produce random numbers, false otherwise. There is no exended information available. -bool RDRAND::Ready(word64& extendedInfo) const -{ - if (hasRDRAND) - { - extendedInfo = 0; - return true; - } - -#if defined(CRYPTOPP_WIN32_AVAILABLE) - extendedInfo = ERROR_DEV_NOT_EXIST; // 0x00000037 -#elif defined(CRYPTOPP_UNIX_AVAILABLE) - extendedInfo = ENODEV; // 19 -#else - extendedInfo = word64(-1); -#endif - - return false; -} - -//! generate and discard n bytes. void RDRAND::DiscardBytes(size_t n) -{ +{ // RoundUpToMultipleOf is used because a full word is read, and its cheaper // to discard full words. There's no sense in dealing with tail bytes. - assert(Ready()); + assert(HasRDRAND()); #if CRYPTOPP_BOOL_X64 || CRYPTOPP_BOOL_X32 FixedSizeSecBlock discard; n = RoundUpToMultipleOf(n, sizeof(word64)); @@ -517,41 +339,16 @@ void RDRAND::DiscardBytes(size_t n) count = STDMIN(n, discard.SizeInBytes()); } } +#endif // CRYPTOPP_BOOL_X86 || CRYPTOPP_BOOL_X32 || CRYPTOPP_BOOL_X64 ///////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////// -static bool RDSEED_Runtime_Helper() +#if ALL_RDSEED_INTRIN_AVAILABLE +static int ALL_RSI_GenerateBlock(byte *output, size_t size, unsigned int safety) { -#if defined(CRYPTOPP_CPUID_AVAILABLE) - bool rdseed = false; word32 output[4]; - if (CpuId(0, output)) - { - // Only Intel supports RDSEED at the moment. - if (IsIntel(output)) - { - if (output[0] /*EAX*/ >= 7 && CpuId(7, output)) - { - static const unsigned int RDSEED_FLAG = (1 << 18); - rdseed = !!(output[1] /*EBX*/ & RDSEED_FLAG); - } - } - } - return rdseed; -#else - return false; -#endif -} - -// This will be moved to CPU.h/CPU.cpp eventually -static bool hasRDSEED = RDSEED_Runtime_Helper(); - -#if defined(CRYPTOPP_CPUID_AVAILABLE) - -#if MSC_RDSEED_INTRINSIC_AVAILABLE -static int MSC_RSI_GenerateBlock(byte *output, size_t size, unsigned int safety) -{ -#if CRYPTOPP_BOOL_X64 + assert((output && size) || !(output || size)); +#if CRYPTOPP_BOOL_X64 || CRYPTOPP_BOOL_X32 word64 val; #else word32 val; @@ -559,7 +356,7 @@ static int MSC_RSI_GenerateBlock(byte *output, size_t size, unsigned int safety) while (size >= sizeof(val)) { -#if CRYPTOPP_BOOL_X64 +#if CRYPTOPP_BOOL_X64 || CRYPTOPP_BOOL_X32 if (_rdseed64_step((word64*)output)) #else if (_rdseed32_step((word32*)output)) @@ -577,7 +374,7 @@ static int MSC_RSI_GenerateBlock(byte *output, size_t size, unsigned int safety) if (size) { -#if CRYPTOPP_BOOL_X64 +#if CRYPTOPP_BOOL_X64 || CRYPTOPP_BOOL_X32 if (_rdseed64_step(&val)) #else if (_rdseed32_step(&val)) @@ -593,62 +390,6 @@ static int MSC_RSI_GenerateBlock(byte *output, size_t size, unsigned int safety) } } -#if CRYPTOPP_BOOL_X64 - *((volatile word64*)&val) = 0; -#else - *((volatile word32*)&val) = 0; -#endif - - return int(size == 0); -} - -#endif // MSC_RDSEED_INTRINSIC_AVAILABLE - -#if GCC_RDSEED_INTRINSIC_AVAILABLE -static int GCC_RSI_GenerateBlock(byte *output, size_t size, unsigned int safety) -{ -#if CRYPTOPP_BOOL_X64 || CRYPTOPP_BOOL_X32 - word64 val; -#else // CRYPTOPP_BOOL_X86 - word32 val; -#endif - - while (size >= sizeof(val)) - { -#if CRYPTOPP_BOOL_X64 || CRYPTOPP_BOOL_X32 - if (__builtin_ia32_rdseed64_step((word64*)output)) -#else - if (__builtin_ia32_rdseed32_step((word32*)output)) -#endif - { - output += sizeof(val); - size -= sizeof(val); - } - else - { - if (!safety--) - return 0; - } - } - - if (size) - { -#if CRYPTOPP_BOOL_X64 || CRYPTOPP_BOOL_X32 - if (__builtin_ia32_rdseed64_step(&val)) -#else - if (__builtin_ia32_rdseed32_step(&val)) -#endif - { - memcpy(output, &val, size); - size = 0; - } - else - { - if (!safety--) - return 0; - } - } - #if CRYPTOPP_BOOL_X64 || CRYPTOPP_BOOL_X32 *((volatile word64*)&val) = 0; #else @@ -657,12 +398,12 @@ static int GCC_RSI_GenerateBlock(byte *output, size_t size, unsigned int safety) return int(size == 0); } - -#endif // GCC_RDSEED_INTRINSIC_AVAILABLE +#endif // ALL_RDSEED_INTRIN_AVAILABLE #if GCC_RDSEED_ASM_AVAILABLE static int GCC_RSA_GenerateBlock(byte *output, size_t size, unsigned int safety) { + assert((output && size) || !(output || size)); #if CRYPTOPP_BOOL_X64 || CRYPTOPP_BOOL_X32 word64 val; #else @@ -672,9 +413,13 @@ static int GCC_RSA_GenerateBlock(byte *output, size_t size, unsigned int safety) while (size) { __asm__ volatile( - "rdseed %0; " +#if CRYPTOPP_BOOL_X64 || CRYPTOPP_BOOL_X32 + ".byte 0x48, 0x0f, 0xc7, 0xf8;\n" // rdseed rax +#else + ".byte 0x0f, 0xc7, 0xf8;\n" // rdseed eax +#endif "setc %1; " - : "=r" (val), "=qm" (rc) + : "=a" (val), "=qm" (rc) : : "cc" ); @@ -714,107 +459,41 @@ static int GCC_RSA_GenerateBlock(byte *output, size_t size, unsigned int safety) return int(size == 0); } - #endif // GCC_RDSEED_ASM_AVAILABLE -#endif // CRYPTOPP_CPUID_AVAILABLE (CRYPTOPP_BOOL_{X86|X32|X64}) - -//! generate random array of bytes +#if (CRYPTOPP_BOOL_X86 || CRYPTOPP_BOOL_X32 || CRYPTOPP_BOOL_X64) void RDSEED::GenerateBlock(byte *output, size_t size) { CRYPTOPP_UNUSED(output), CRYPTOPP_UNUSED(size); - assert((output == NULL && size == 0) || (output != NULL && size != 0)); - assert(Available()); + assert((output && size) || !(output || size)); - // We could (should?) test Ready, but Available conveys more useful information. - if(!Available()) + if(!HasRDSEED()) throw NotImplemented("RDSEED: rdseed is not available on this platform"); -#if defined(CRYPTOPP_CPUID_AVAILABLE) int rc; CRYPTOPP_UNUSED(rc); -#if MSC_RDSEED_ASM_AVAILABLE - rc = MSC_RSA_GenerateBlock(output, size, m_retries); - if (!rc) { throw RDSEED_Err("MSC_RSA_GenerateBlock"); } +#if MASM_RDSEED_ASM_AVAILABLE + rc = MASM_RSA_GenerateBlock(output, size, m_retries); + if (!rc) { throw RDSEED_Err("MASM_RSA_GenerateBlock"); } +#elif NASM_RDSEED_ASM_AVAILABLE + rc = NASM_RSA_GenerateBlock(output, size, m_retries); + if (!rc) { throw RDRAND_Err("NASM_RSA_GenerateBlock"); } +#elif ALL_RDSEED_INTRIN_AVAILABLE + rc = ALL_RSI_GenerateBlock(output, size, m_retries); + if (!rc) { throw RDSEED_Err("ALL_RSI_GenerateBlock"); } #elif GCC_RDSEED_ASM_AVAILABLE rc = GCC_RSA_GenerateBlock(output, size, m_retries); if (!rc) { throw RDSEED_Err("GCC_RSA_GenerateBlock"); } -#elif MSC_RDSEED_INTRINSIC_AVAILABLE - rc = MSC_RSI_GenerateBlock(output, size, m_retries); - if (!rc) { throw RDSEED_Err("MSC_RSI_GenerateBlock"); } -#elif GCC_RDSEED_INTRINSIC_AVAILABLE - rc = GCC_RSI_GenerateBlock(output, size, m_retries); - if (!rc) { throw RDSEED_Err("GCC_RSI_GenerateBlock"); } -#elif (__RDSEED__ >= 1) - // RDSEED detected at compile time, GCC Compatible compiler, but no suitable implementations -# error "Please report on the Crypto++ user group" #else // RDSEED not detected at compile time, and no suitable compiler found throw NotImplemented("RDSEED: failed to find a suitable implementation???"); #endif - -#endif // CRYPTOPP_CPUID_AVAILABLE (CRYPTOPP_BOOL_{X86|X32|X64}) } -//! returns true if RDSEED is present or available according to CPUID, false otherwise -bool RDSEED::Available() const -{ - word64 unused; - return Available(unused); -} - -//! returns true if RDSEED is present or available according to CPUID, false otherwise. There is no exended information available. -bool RDSEED::Available(word64& extendedInfo) const -{ - if (hasRDSEED) - { - extendedInfo = 0; - return true; - } - -#if defined(CRYPTOPP_WIN32_AVAILABLE) - extendedInfo = ERROR_DEV_NOT_EXIST; // 0x00000037 -#elif defined(CRYPTOPP_UNIX_AVAILABLE) - extendedInfo = ENODEV; // 19 -#else - extendedInfo = word64(-1); -#endif - - return false; -} - -//! returns true if RDSEED is online/ready to produce random numbers, false otherwise -bool RDSEED::Ready() const -{ - word64 unused; - return Ready(unused); -} - -//! returns true if RDSEED is online/ready to produce random numbers, false otherwise. There is no exended information available. -bool RDSEED::Ready(word64& extendedInfo) const -{ - if (hasRDSEED) - { - extendedInfo = 0; - return true; - } - -#if defined(CRYPTOPP_WIN32_AVAILABLE) - extendedInfo = ERROR_DEV_NOT_EXIST; // 0x00000037 -#elif defined(CRYPTOPP_UNIX_AVAILABLE) - extendedInfo = ENODEV; // 19 -#else - extendedInfo = word64(-1); -#endif - - return false; -} - -//! generate and discard n bytes. void RDSEED::DiscardBytes(size_t n) -{ +{ // RoundUpToMultipleOf is used because a full word is read, and its cheaper // to discard full words. There's no sense in dealing with tail bytes. - assert(Ready()); + assert(HasRDSEED()); #if CRYPTOPP_BOOL_X64 || CRYPTOPP_BOOL_X32 FixedSizeSecBlock discard; n = RoundUpToMultipleOf(n, sizeof(word64)); @@ -831,5 +510,6 @@ void RDSEED::DiscardBytes(size_t n) count = STDMIN(n, discard.SizeInBytes()); } } +#endif // CRYPTOPP_BOOL_X86 || CRYPTOPP_BOOL_X32 || CRYPTOPP_BOOL_X64 NAMESPACE_END diff --git a/rdrand.h b/rdrand.h index 6f02165b..fc2b77b7 100644 --- a/rdrand.h +++ b/rdrand.h @@ -1,21 +1,30 @@ // rdrand.h - written and placed in public domain by Jeffrey Walton and Uri Blumenthal. // Copyright assigned to Crypto++ project. +//! \file +//! \headerfile rdrand.h +//! \brief Classes for RDRAND and RDSEED + #ifndef CRYPTOPP_RDRAND_H #define CRYPTOPP_RDRAND_H #include "cryptlib.h" +// This file (and friends) provides both RDRAND and RDSEED, but its somewhat +// experimental. They were added at Crypto++ 5.6.3. At compile time, it +// indirectly uses CRYPTOPP_BOOL_{X86|X32|X64} (via CRYPTOPP_CPUID_AVAILABLE) +// to select an implementation or "throw NotImplemented". At runtime, the +// class uses the result of CPUID to determine if RDRAND or RDSEED are +// available. A lazy throw strategy is used in case the CPU does not support +// the instruction. I.e., the throw is deferred until GenerateBlock() is called. + // Microsoft added RDRAND in August 2012, VS2012. GCC added RDRAND in December 2010, GCC 4.6. // Clang added RDRAND in July 2012, Clang 3.2. Intel added RDRAND in September 2011, ICC 12.1. -// Visual Studio 2015 (CL version 1900) is missing _rdseed{16|32|64}_step -#if (CRYPTOPP_MSC_VERSION <= 1900) -# define MSC_RDSEED_INTRINSIC_AVAILABLE 0 -#endif - NAMESPACE_BEGIN(CryptoPP) +//! \brief Exception thrown when a RDRAND generator encounters +//! a generator related error. class RDRAND_Err : public Exception { public: @@ -23,61 +32,65 @@ public: : Exception(OTHER_ERROR, "RDRAND: " + operation + " operation failed") {} }; -//! \brief Read hardware generated random numbers. - -//! This file (and friends) provides both RDRAND and RDSEED, but its somewhat -//! experimental. They were added at Crypto++ 5.6.3. At compile time, it -//! indirectly uses CRYPTOPP_BOOL_{X86|X32|X64} (via CRYPTOPP_CPUID_AVAILABLE) -//! to select an implementation or "throw NotImplemented". At runtime, the -//! class uses the result of CPUID to determine if RDRAND or RDSEED are -//! available. A lazy throw strategy is used in case the CPU does not support -//! the instruction. I.e., the throw is deferred until GenerateBlock is called. -class RDRAND : public RandomNumberGenerator, public DeviceState +//! \brief Hardware generated random numbers using RDRAND instruction +//! \sa MaurerRandomnessTest() for random bit generators +class RDRAND : public RandomNumberGenerator { public: std::string AlgorithmName() const {return "RDRAND";} - //! construct a RDRAND generator with a maximum number of retires for failed generation attempts + //! \brief Construct a RDRAND generator + //! \param retries the number of retries for failed calls to the hardware + //! \details RDRAND() constructs a generator with a maximum number of retires + //! for failed generation attempts. RDRAND(unsigned int retries = 8) : m_retries(retries) {} virtual ~RDRAND() {} - //! returns true if RDRAND is present or available according to CPUID, false otherwise - bool Available() const; - - //! returns true if RDRAND is present or available according to CPUID, false otherwise. There is no exended information available. - bool Available(word64& extendedInfo) const; - - //! returns true if RDRAND is online/ready to produce random numbers, false otherwise - bool Ready() const; - - //! returns true if RDRAND is online/ready to produce random numbers, false otherwise. There is no exended information available. - bool Ready(word64& extendedInfo) const; - - //! returns the number of times GenerateBlock will attempt to recover from a failed generation + //! \brief Retrieve the number of retries used by the generator + //! \returns the number of times GenerateBlock() will attempt to recover from a failed generation unsigned int GetRetries() const { return m_retries; } - //! sets the number of times GenerateBlock will attempt to recover from a failed generation + //! \brief Set the number of retries used by the generator + //! \param retries number of times GenerateBlock() will attempt to recover from a failed generation void SetRetries(unsigned int retries) { m_retries = retries; } - //! generate random array of bytes + //! \brief Generate random array of bytes //! \param output the byte buffer //! \param size the length of the buffer, in bytes +#if (CRYPTOPP_BOOL_X86 || CRYPTOPP_BOOL_X32 || CRYPTOPP_BOOL_X64) virtual void GenerateBlock(byte *output, size_t size); +#else + virtual void GenerateBlock(byte *output, size_t size) { + CRYPTOPP_UNUSED(output), CRYPTOPP_UNUSED(size); + throw NotImplemented("RDRAND: rdrand is not available on this platform"); + } +#endif - //! generate and discard n bytes. - //! \param n the number of bytes to discard + //! \brief Generate and discard n bytes + //! \param n the number of bytes to generate and discard + //! \details the RDSEED generator discards words, not bytes. If n is + //! not a multiple of a machine word, then it is rounded up to + //! that size. +#if (CRYPTOPP_BOOL_X86 || CRYPTOPP_BOOL_X32 || CRYPTOPP_BOOL_X64) virtual void DiscardBytes(size_t n); +#else + virtual void DiscardBytes(size_t n) { + CRYPTOPP_UNUSED(n); + throw NotImplemented("RDRAND: rdrand is not available on this platform"); + } +#endif - //! update RNG state with additional unpredictable values. The operation is a nop for this generator. + //! Update RNG state with additional unpredictable values //! \param input unused //! \param length unused + //! \details The operation is a nop for this generator. virtual void IncorporateEntropy(const byte *input, size_t length) { // Override to avoid the base class' throw. @@ -89,6 +102,8 @@ private: unsigned int m_retries; }; +//! \brief Exception thrown when a RDSEED generator encounters +//! a generator related error. class RDSEED_Err : public Exception { public: @@ -96,61 +111,65 @@ public: : Exception(OTHER_ERROR, "RDSEED: " + operation + " operation failed") {} }; -//! \brief Read hardware generated random numbers. - -//! This file (and friends) provides both RDRAND and RDSEED, but its somewhat -//! experimental. They were added at Crypto++ 5.6.3. At compile time, it -//! indirectly uses CRYPTOPP_BOOL_{X86|X32|X64} (via CRYPTOPP_CPUID_AVAILABLE) -//! to select an implementation or "throw NotImplemented". At runtime, the -//! class uses the result of CPUID to determine if RDRAND or RDSEED are -//! available. A lazy throw strategy is used in case the CPU does not support -//! the instruction. I.e., the throw is deferred until GenerateBlock is called. -class RDSEED : public RandomNumberGenerator, public DeviceState +//! \brief Hardware generated random numbers using RDSEED instruction +//! \sa MaurerRandomnessTest() for random bit generators +class RDSEED : public RandomNumberGenerator { public: std::string AlgorithmName() const {return "RDSEED";} - //! construct a RDSEED generator with a maximum number of retires for failed generation attempts + //! \brief Construct a RDSEED generator + //! \param retries the number of retries for failed calls to the hardware + //! \details RDSEED() constructs a generator with a maximum number of retires + //! for failed generation attempts. RDSEED(unsigned int retries = 8) : m_retries(retries) {} virtual ~RDSEED() {} - //! returns true if RDSEED is present or available according to CPUID, false otherwise - bool Available() const; - - //! returns true if RDSEED is present or available according to CPUID, false otherwise. There is no exended information available. - bool Available(word64& extendedInfo) const; - - //! returns true if RDSEED is online/ready to produce random numbers, false otherwise - bool Ready() const; - - //! returns true if RDSEED is online/ready to produce random numbers, false otherwise. There is no exended information available. - bool Ready(word64& extendedInfo) const; - - //! returns the number of times GenerateBlock will attempt to recover from a failed generation + //! \brief Retrieve the number of retries used by the generator + //! \returns the number of times GenerateBlock() will attempt to recover from a failed generation unsigned int GetRetries() const { return m_retries; } - //! sets the number of times GenerateBlock will attempt to recover from a failed generation + //! \brief Set the number of retries used by the generator + //! \param retries number of times GenerateBlock() will attempt to recover from a failed generation void SetRetries(unsigned int retries) { m_retries = retries; } - //! generate random array of bytes + //! \brief Generate random array of bytes //! \param output the byte buffer //! \param size the length of the buffer, in bytes +#if (CRYPTOPP_BOOL_X86 || CRYPTOPP_BOOL_X32 || CRYPTOPP_BOOL_X64) virtual void GenerateBlock(byte *output, size_t size); +#else + virtual void GenerateBlock(byte *output, size_t size) { + CRYPTOPP_UNUSED(output), CRYPTOPP_UNUSED(size); + throw NotImplemented("RDSEED: rdseed is not available on this platform"); + } +#endif - //! generate and discard n bytes. - //! \param n the number of bytes to discard + //! \brief Generate and discard n bytes + //! \param n the number of bytes to generate and discard + //! \details the RDSEED generator discards words, not bytes. If n is + //! not a multiple of a machine word, then it is rounded up to + //! that size. +#if (CRYPTOPP_BOOL_X86 || CRYPTOPP_BOOL_X32 || CRYPTOPP_BOOL_X64) virtual void DiscardBytes(size_t n); +#else + virtual void DiscardBytes(size_t n) { + CRYPTOPP_UNUSED(n); + throw NotImplemented("RDSEED: rdseed is not available on this platform"); + } +#endif - //! update RNG state with additional unpredictable values. The operation is a nop for this generator. + //! Update RNG state with additional unpredictable values //! \param input unused //! \param length unused + //! \details The operation is a nop for this generator. virtual void IncorporateEntropy(const byte *input, size_t length) { // Override to avoid the base class' throw. diff --git a/rijndael.cpp b/rijndael.cpp index 4a359a56..934b6884 100644 --- a/rijndael.cpp +++ b/rijndael.cpp @@ -617,7 +617,7 @@ CRYPTOPP_NAKED void CRYPTOPP_FASTCALL Rijndael_Enc_AdvancedProcessBlocks(void *l #elif defined(__GNUC__) __asm__ __volatile__ ( - ".intel_syntax noprefix;" + INTEL_NOPREFIX #if CRYPTOPP_BOOL_X64 AS2( mov L_REG, rcx) #endif @@ -972,7 +972,7 @@ CRYPTOPP_NAKED void CRYPTOPP_FASTCALL Rijndael_Enc_AdvancedProcessBlocks(void *l Rijndael_Enc_AdvancedProcessBlocks ENDP #endif #ifdef __GNUC__ - ".att_syntax prefix;" + ATT_PREFIX : : "c" (locals), "d" (k), "S" (Te), "D" (g_cacheLineSize) : "memory", "cc", "%eax" diff --git a/rijndael.h b/rijndael.h index fa64e866..417df76b 100644 --- a/rijndael.h +++ b/rijndael.h @@ -1,9 +1,13 @@ +// rijndael.h - written and placed in the public domain by Wei Dai + +//! \file rijndael.h +//! \brief Classes for Rijndael encryption algorithm +//! \details All key sizes are supported. The library only provides Rijndael with 128-bit blocks, +//! and not 192-bit or 256-bit blocks + #ifndef CRYPTOPP_RIJNDAEL_H #define CRYPTOPP_RIJNDAEL_H -/** \file -*/ - #include "seckey.h" #include "secblock.h" @@ -13,15 +17,18 @@ NAMESPACE_BEGIN(CryptoPP) -//! _ +//! \brief Rijndael block cipher information struct Rijndael_Info : public FixedBlockSize<16>, public VariableKeyLength<16, 16, 32, 8> { CRYPTOPP_DLL static const char * CRYPTOPP_API StaticAlgorithmName() {return CRYPTOPP_RIJNDAEL_NAME;} }; -/// Rijndael +//! \brief Rijndael block cipher implementation details +//! \sa Rijndael class CRYPTOPP_DLL Rijndael : public Rijndael_Info, public BlockCipherDocumentation { + //! \brief Rijndael block cipher data processing functionss + //! \details Provides implementation common to encryption and decryption class CRYPTOPP_DLL CRYPTOPP_NO_VTABLE Base : public BlockCipherImpl { public: @@ -41,6 +48,8 @@ class CRYPTOPP_DLL Rijndael : public Rijndael_Info, public BlockCipherDocumentat FixedSizeAlignedSecBlock m_key; }; + //! \brief Rijndael block cipher data processing functions + //! \details Provides implementation for encryption transformation class CRYPTOPP_DLL CRYPTOPP_NO_VTABLE Enc : public Base { public: @@ -50,6 +59,8 @@ class CRYPTOPP_DLL Rijndael : public Rijndael_Info, public BlockCipherDocumentat #endif }; + //! \brief Rijndael block cipher data processing functions + //! \details Provides implementation for decryption transformation class CRYPTOPP_DLL CRYPTOPP_NO_VTABLE Dec : public Base { public: diff --git a/ripemd.h b/ripemd.h index fc7b54d3..818c4284 100644 --- a/ripemd.h +++ b/ripemd.h @@ -1,3 +1,8 @@ +// ripemd.h - written and placed in the public domain by Wei Dai + +//! \file +//! \brief Classes for RIPEMD message digest + #ifndef CRYPTOPP_RIPEMD_H #define CRYPTOPP_RIPEMD_H diff --git a/rng.h b/rng.h index 5a5a6e56..ed1177c5 100644 --- a/rng.h +++ b/rng.h @@ -1,4 +1,10 @@ -// rng.h - misc RNG related classes, see also osrng.h, randpool.h +// rng.h - written and placed in the public domain by Wei Dai + +//! \file rng.h +//! \brief Miscellaneous classes for RNGs +//! \details This file contains miscellaneous classes for RNGs, including LC_RNG(), +//! X917RNG() and MaurerRandomnessTest() +//! \sa osrng.h, randpool.h #ifndef CRYPTOPP_RNG_H #define CRYPTOPP_RNG_H @@ -9,11 +15,15 @@ NAMESPACE_BEGIN(CryptoPP) -//! linear congruential generator -/*! originally by William S. England, do not use for cryptographic purposes */ +//! \brief Linear Congruential Generator (LCG) +//! \details Originally propsed by William S. England. +//! \warning LC_RNG is suitable for simulations, where uniformaly distrubuted numbers are +//! required quickly. It should not be used for cryptographic purposes. class LC_RNG : public RandomNumberGenerator { public: + //! \brief Construct a Linear Congruential Generator (LCG) + //! \param init_seed the initial value for the generator LC_RNG(word32 init_seed) : seed(init_seed) {} @@ -30,27 +40,47 @@ private: static const word16 r; }; -//! RNG derived from ANSI X9.17 Appendix C - +//! \class X917RNG +//! \brief ANSI X9.17 RNG +//! \details X917RNG is from ANSI X9.17 Appendix C. +//! \sa AutoSeededX917RNG, DefaultAutoSeededRNG class CRYPTOPP_DLL X917RNG : public RandomNumberGenerator, public NotCopyable { public: - // cipher will be deleted by destructor, deterministicTimeVector = 0 means obtain time vector from system + //! \brief Construct a X917RNG + //! \param cipher the block cipher to use for the generator + //! \param seed a byte buffer to use as a seed + //! \param deterministicTimeVector additional entropy + //! \details cipher will be deleted by the destructor. seed must be at least + //! BlockSize() in length. deterministicTimeVector = 0 means obtain time vector + //! from the system. + //! \details When constructing an AutoSeededX917RNG, the generator must be keyed or an + //! access violation will occur because the time vector is encrypted using the block cipher. + //! To key the generator during constructions, perform the following: + //!
+	//!   SecByteBlock key(AES::DEFAULT_KEYLENGTH), seed(AES::BLOCKSIZE);
+	//!   OS_GenerateRandomBlock(false, key, key.size());
+	//!   OS_GenerateRandomBlock(false, seed, seed.size());
+	//!   X917RNG prng(new AES::Encryption(key, AES::DEFAULT_KEYLENGTH), seed, NULL);
+	//! 
+ //! \sa AutoSeededX917RNG X917RNG(BlockTransformation *cipher, const byte *seed, const byte *deterministicTimeVector = 0); void GenerateIntoBufferedTransformation(BufferedTransformation &target, const std::string &channel, lword size); private: member_ptr cipher; - unsigned int S; // blocksize of cipher + const unsigned int S; // blocksize of cipher SecByteBlock dtbuf; // buffer for enciphered timestamp SecByteBlock randseed, m_lastBlock, m_deterministicTimeVector; }; -/** This class implements Maurer's Universal Statistical Test for Random Bit Generators - it is intended for measuring the randomness of *PHYSICAL* RNGs. - For more details see his paper in Journal of Cryptology, 1992. */ - +//! \class MaurerRandomnessTest +//! \brief Maurer's Universal Statistical Test for Random Bit Generators +//! \details This class implements Maurer's Universal Statistical Test for +//! Random Bit Generators. It is intended for measuring the randomness of +//! *PHYSICAL* RNGs. +//! \details For more details see Maurer's paper in Journal of Cryptology, 1992. class MaurerRandomnessTest : public Bufferless { public: @@ -58,6 +88,8 @@ public: size_t Put2(const byte *inString, size_t length, int messageEnd, bool blocking); + //! \brief Provides the number of bytes of input is needed by the test + //! \returns how many more bytes of input is needed by the test // BytesNeeded() returns how many more bytes of input is needed by the test // GetTestValue() should not be called before BytesNeeded()==0 unsigned int BytesNeeded() const {return n >= (Q+K) ? 0 : Q+K-n;} diff --git a/rsa.cpp b/rsa.cpp index 9ec1163d..1b71e268 100644 --- a/rsa.cpp +++ b/rsa.cpp @@ -3,14 +3,14 @@ #include "pch.h" #include "rsa.h" #include "asn.h" +#include "sha.h" #include "oids.h" #include "modarith.h" #include "nbtheory.h" -#include "sha.h" #include "algparam.h" #include "fips140.h" -#if !defined(NDEBUG) && !defined(CRYPTOPP_IS_DLL) +#if !defined(NDEBUG) && !defined(CRYPTOPP_DOXYGEN_PROCESSING) && !defined(CRYPTOPP_IS_DLL) #include "pssr.h" NAMESPACE_BEGIN(CryptoPP) void RSA_TestInstantiations() @@ -108,11 +108,13 @@ void InvertibleRSAFunction::GenerateRandom(RandomNumberGenerator &rng, const Nam int modulusSize = 2048; alg.GetIntValue(Name::ModulusSize(), modulusSize) || alg.GetIntValue(Name::KeySize(), modulusSize); + assert(modulusSize >= 16); if (modulusSize < 16) throw InvalidArgument("InvertibleRSAFunction: specified modulus size is too small"); m_e = alg.GetValueWithDefault(Name::PublicExponent(), Integer(17)); + assert(m_e >= 3); assert(!m_e.IsEven()); if (m_e < 3 || m_e.IsEven()) throw InvalidArgument("InvertibleRSAFunction: invalid public exponent"); diff --git a/rsa.h b/rsa.h index 625a257f..f89e01ab 100644 --- a/rsa.h +++ b/rsa.h @@ -1,11 +1,13 @@ +// rsa.h - written and placed in the public domain by Wei Dai + +//! \file rsa.h +//! \brief Classes for the RSA cryptosystem +//! \details This file contains classes that implement the RSA +//! ciphers and signature schemes as defined in PKCS #1 v2.0. + #ifndef CRYPTOPP_RSA_H #define CRYPTOPP_RSA_H -/** \file - This file contains classes that implement the RSA - ciphers and signature schemes as defined in PKCS #1 v2.0. -*/ - #include "cryptlib.h" #include "pubkey.h" #include "integer.h" diff --git a/rw.cpp b/rw.cpp index e9a56d63..6fb06c10 100644 --- a/rw.cpp +++ b/rw.cpp @@ -4,8 +4,9 @@ #include "rw.h" #include "asn.h" -#include "nbtheory.h" #include "integer.h" +#include "nbtheory.h" +#include "modarith.h" #ifndef CRYPTOPP_IMPORTS diff --git a/rw.h b/rw.h index 37875e31..aaaef6f9 100644 --- a/rw.h +++ b/rw.h @@ -1,10 +1,12 @@ +// rw.h - written and placed in the public domain by Wei Dai + +//! \file rw.h +//! \brief Classes for Rabin-Williams signature schemes +//! \details Rabin-Williams signature schemes as defined in IEEE P1363. + #ifndef CRYPTOPP_RW_H #define CRYPTOPP_RW_H -/** \file - This file contains classes that implement the - Rabin-Williams signature schemes as defined in IEEE P1363. -*/ #include "cryptlib.h" #include "pubkey.h" diff --git a/safer.h b/safer.h index beba9d10..a828c629 100644 --- a/safer.h +++ b/safer.h @@ -1,9 +1,11 @@ +// safer.h - written and placed in the public domain by Wei Dai + +//! \file safer.h +//! \brief Classes for the SAFER block cipher + #ifndef CRYPTOPP_SAFER_H #define CRYPTOPP_SAFER_H -/** \file -*/ - #include "seckey.h" #include "secblock.h" diff --git a/salsa.cpp b/salsa.cpp index ed9fdab5..d13e4e4d 100644 --- a/salsa.cpp +++ b/salsa.cpp @@ -16,19 +16,28 @@ # pragma warning(disable: 4702 4740) #endif -// TODO: work around GCC 4.9+ issue with SSE2 ASM until the exact details are known +// TODO: work around GCC 4.8+ issue with SSE2 ASM until the exact details are known // and fix is released. Duplicate with "valgrind ./cryptest.exe tv salsa" -#if (CRYPTOPP_GCC_VERSION >= 40900) +// Clang due to "Inline assembly operands don't work with .intel_syntax" +// https://llvm.org/bugs/show_bug.cgi?id=24232 +#if defined(CRYPTOPP_DISABLE_SALSA_ASM) +# undef CRYPTOPP_X86_ASM_AVAILABLE +# undef CRYPTOPP_X32_ASM_AVAILABLE +# undef CRYPTOPP_X64_ASM_AVAILABLE # undef CRYPTOPP_BOOL_SSE2_ASM_AVAILABLE +# undef CRYPTOPP_BOOL_SSSE3_ASM_AVAILABLE # define CRYPTOPP_BOOL_SSE2_ASM_AVAILABLE 0 +# define CRYPTOPP_BOOL_SSSE3_ASM_AVAILABLE 0 #endif NAMESPACE_BEGIN(CryptoPP) +#if !defined(NDEBUG) && !defined(CRYPTOPP_DOXYGEN_PROCESSING) void Salsa20_TestInstantiations() { Salsa20::Encryption x; } +#endif void Salsa20_Policy::CipherSetKey(const NameValuePairs ¶ms, const byte *key, size_t length) { @@ -66,7 +75,7 @@ void Salsa20_Policy::SeekToIteration(lword iterationCount) m_state[5] = (word32)SafeRightShift<32>(iterationCount); } -#if CRYPTOPP_BOOL_X86 || CRYPTOPP_BOOL_X64 +#if (CRYPTOPP_BOOL_X86 || CRYPTOPP_BOOL_X32 || CRYPTOPP_BOOL_X64) && !defined(CRYPTOPP_DISABLE_SALSA_ASM) unsigned int Salsa20_Policy::GetAlignment() const { #if CRYPTOPP_BOOL_SSE2_ASM_AVAILABLE @@ -164,7 +173,7 @@ void Salsa20_Policy::OperateKeystream(KeystreamOperation operation, byte *output #ifdef __GNUC__ __asm__ __volatile__ ( - ".intel_syntax noprefix;" + INTEL_NOPREFIX AS_PUSH_IF86( bx) #else void *s = m_state.data(); @@ -472,7 +481,7 @@ void Salsa20_Policy::OperateKeystream(KeystreamOperation operation, byte *output AS_POP_IF86( bp) #ifdef __GNUC__ AS_POP_IF86( bx) - ".att_syntax prefix;" + ATT_PREFIX #if CRYPTOPP_BOOL_X64 : "+r" (input), "+r" (output), "+r" (iterationCount) : "r" (m_rounds), "r" (m_state.m_ptr), "r" (workspace) diff --git a/salsa.h b/salsa.h index c2ab7059..5c2c91c5 100644 --- a/salsa.h +++ b/salsa.h @@ -1,14 +1,25 @@ // salsa.h - written and placed in the public domain by Wei Dai +//! \file salsa.h +//! \brief Classes for Salsa and Salsa20 stream ciphers + #ifndef CRYPTOPP_SALSA_H #define CRYPTOPP_SALSA_H #include "strciphr.h" #include "secblock.h" +// TODO: work around GCC 4.8+ issue with SSE2 ASM until the exact details are known +// and fix is released. Duplicate with "valgrind ./cryptest.exe tv salsa" +// "Inline assembly operands don't work with .intel_syntax", http://llvm.org/bugs/show_bug.cgi?id=24232 +#if CRYPTOPP_BOOL_X32 || defined(CRYPTOPP_DISABLE_INTEL_ASM) || (CRYPTOPP_GCC_VERSION >= 40800) +# define CRYPTOPP_DISABLE_SALSA_ASM +#endif + NAMESPACE_BEGIN(CryptoPP) -//! _ +//! \class Salsa20_Info +//! \brief Salsa block cipher information struct Salsa20_Info : public VariableKeyLength<32, 16, 32, 16, SimpleKeyingInterface::UNIQUE_IV, 8> { static const char *StaticAlgorithmName() {return "Salsa20";} @@ -22,7 +33,7 @@ protected: void CipherResynchronize(byte *keystreamBuffer, const byte *IV, size_t length); bool CipherIsRandomAccess() const {return true;} void SeekToIteration(lword iterationCount); -#if CRYPTOPP_BOOL_X86 || CRYPTOPP_BOOL_X64 +#if (CRYPTOPP_BOOL_X86 || CRYPTOPP_BOOL_X32 || CRYPTOPP_BOOL_X64) && !defined(CRYPTOPP_DISABLE_SALSA_ASM) unsigned int GetAlignment() const; unsigned int GetOptimalBlockSize() const; #endif @@ -31,14 +42,18 @@ protected: int m_rounds; }; -/// Salsa20, variable rounds: 8, 12 or 20 (default 20) +// Salsa20, variable rounds: 8, 12 or 20 (default 20) +//! \class Salsa20 +//! \brief Salsa20 block cipher information +//! \details Salsa20 provides a variable number of rounds: 8, 12 or 20. The default number of rounds is 20. struct Salsa20 : public Salsa20_Info, public SymmetricCipherDocumentation { typedef SymmetricCipherFinal >, Salsa20_Info> Encryption; typedef Encryption Decryption; }; -//! _ +//! \class XSalsa20_Info +//! \brief XSalsa20 block cipher information struct XSalsa20_Info : public FixedKeyLength<32, SimpleKeyingInterface::UNIQUE_IV, 24> { static const char *StaticAlgorithmName() {return "XSalsa20";} @@ -54,7 +69,10 @@ protected: FixedSizeSecBlock m_key; }; -/// XSalsa20, variable rounds: 8, 12 or 20 (default 20) +// XSalsa20, variable rounds: 8, 12 or 20 (default 20) +//! \class XSalsa20 +//! \brief XSalsa20 block cipher information +//! \details XSalsa20 provides a variable number of rounds: 8, 12 or 20. The default number of rounds is 20. struct XSalsa20 : public XSalsa20_Info, public SymmetricCipherDocumentation { typedef SymmetricCipherFinal >, XSalsa20_Info> Encryption; diff --git a/seal.cpp b/seal.cpp index b68ce629..da0d2e15 100644 --- a/seal.cpp +++ b/seal.cpp @@ -10,10 +10,12 @@ NAMESPACE_BEGIN(CryptoPP) +#if !defined(NDEBUG) && !defined(CRYPTOPP_DOXYGEN_PROCESSING) void SEAL_TestInstantiations() { SEAL<>::Encryption x; } +#endif struct SEAL_Gamma { diff --git a/seal.h b/seal.h index bcc6a8c1..cbf5edb1 100644 --- a/seal.h +++ b/seal.h @@ -1,3 +1,8 @@ +// seal.h - written and placed in the public domain by Wei Dai + +//! \file seal.h +//! \brief Classes for SEAL stream cipher + #ifndef CRYPTOPP_SEAL_H #define CRYPTOPP_SEAL_H diff --git a/secblock.h b/secblock.h index af052a5d..0e1d9a66 100644 --- a/secblock.h +++ b/secblock.h @@ -1,7 +1,7 @@ // secblock.h - written and placed in the public domain by Wei Dai //! \file secblock.h -//! \brief Helper classes and functions for secure memory allocations. +//! \brief Classes and functions for secure memory allocations. #ifndef CRYPTOPP_SECBLOCK_H #define CRYPTOPP_SECBLOCK_H @@ -12,7 +12,10 @@ #if CRYPTOPP_MSC_VERSION # pragma warning(push) -# pragma warning(disable: 4700 6386) +# pragma warning(disable: 4700) +# if (CRYPTOPP_MSC_VERSION >= 1400) +# pragma warning(disable: 6386) +# endif #endif NAMESPACE_BEGIN(CryptoPP) @@ -20,8 +23,8 @@ NAMESPACE_BEGIN(CryptoPP) // ************** secure memory allocation *************** //! \class AllocatorBase -//! \brief Base class for all secure memory allocation -//! \tparam T the allocator's class or type +//! \brief Base class for all allocators used by SecBlock +//! \tparam T the class or type template class AllocatorBase { @@ -45,7 +48,7 @@ public: //! \brief Returns the maximum number of elements the allocator can provide //! \returns the maximum number of elements the allocator can provide - //! \details Internally, preprocessor macros are used rather than \p std::numeric_limits + //! \details Internally, preprocessor macros are used rather than std::numeric_limits //! because the latter is \a not a \a constexpr. Some compilers, like Clang, do not //! optimize it well under all circumstances. Compilers like GCC, ICC and MSVC appear //! to optimize it well in either form. @@ -56,16 +59,16 @@ public: //! \brief Constructs a new U using variadic arguments //! \tparam U the type to be forwarded //! \tparam Args the arguments to be forwarded - //! \param ptr pointer to type \p U + //! \param ptr pointer to type U //! \param args variadic arguments - //! \details This is a C++11 feature. It is available when \p CRYPTOPP_CXX11_VARIADIC_TEMPLATES + //! \details This is a C++11 feature. It is available when CRYPTOPP_CXX11_VARIADIC_TEMPLATES //! is defined. The define is controlled by compiler versions detected in config.h. template void construct(U* ptr, Args&&... args) {::new ((void*)ptr) U(std::forward(args)...);} //! \brief Destroys an U constructed with variadic arguments //! \tparam U the type to be forwarded - //! \details This is a C++11 feature. It is available when \p CRYPTOPP_CXX11_VARIADIC_TEMPLATES + //! \details This is a C++11 feature. It is available when CRYPTOPP_CXX11_VARIADIC_TEMPLATES //! is defined. The define is controlled by compiler versions detected in config.h. template void destroy(U* ptr) {if(ptr) ptr->~U();} @@ -77,14 +80,14 @@ protected: //! \brief Verifies the allocator can satisfy a request based on size //! \param size the number of elements //! \throws InvalidArgument - //! \details \p CheckSize verifies the number of elements requested is valid. - //! \details If \p size is greater than \p max_size(), then \p InvalidArgument is thrown. - //! The library throws \p InvalidArgument if the size is too large to satisfy. - //! \details Internally, preprocessor macros are used rather than \p std::numeric_limits + //! \details CheckSize verifies the number of elements requested is valid. + //! \details If size is greater than max_size(), then InvalidArgument is thrown. + //! The library throws InvalidArgument if the size is too large to satisfy. + //! \details Internally, preprocessor macros are used rather than std::numeric_limits //! because the latter is \a not a \a constexpr. Some compilers, like Clang, do not //! optimize it well under all circumstances. Compilers like GCC, ICC and MSVC appear //! to optimize it well in either form. - //! \note \p size is the count of elements, and not the number of bytes + //! \note size is the count of elements, and not the number of bytes static void CheckSize(size_t size) { // C++ throws std::bad_alloc (C++03) or std::bad_array_new_length (C++11) here. @@ -110,7 +113,7 @@ typedef typename AllocatorBase::const_reference const_reference; //! \param oldSize the size of the previous allocation //! \param newSize the new, requested size //! \param preserve flag that indicates if the old allocation should be preserved -//! \note \p oldSize and \p newSize are the count of elements, and not the +//! \note oldSize and newSize are the count of elements, and not the //! number of bytes. template typename A::pointer StandardReallocate(A& alloc, T *oldPtr, typename A::size_type oldSize, typename A::size_type newSize, bool preserve) @@ -139,11 +142,11 @@ typename A::pointer StandardReallocate(A& alloc, T *oldPtr, typename A::size_typ //! \brief Allocates a block of memory with cleanup //! \tparam T class or type //! \tparam T_Align16 boolean that determines whether allocations should be aligned on 16-byte boundaries -//! \details If \p T_Align16 is \p true, then \p AllocatorWithCleanup calls \p AlignedAllocate() -//! for memory allocations. If \p T_Align16 is \p false, then \p AllocatorWithCleanup() calls -//! \p UnalignedAllocate() for memory allocations. -//! \details Template parameter \p T_Align16 is effectively controlled by cryptlib.h and mirrors -//! \p CRYPTOPP_BOOL_ALIGN16. \p CRYPTOPP_BOOL_ALIGN16 is often used as the template parameter. +//! \details If T_Align16 is true, then AllocatorWithCleanup calls AlignedAllocate() +//! for memory allocations. If T_Align16 is false, then AllocatorWithCleanup() calls +//! UnalignedAllocate() for memory allocations. +//! \details Template parameter T_Align16 is effectively controlled by cryptlib.h and mirrors +//! CRYPTOPP_BOOL_ALIGN16. CRYPTOPP_BOOL_ALIGN16 is often used as the template parameter. template class AllocatorWithCleanup : public AllocatorBase { @@ -155,16 +158,16 @@ public: //! \param size the size of the allocation //! \returns a memory block //! \throws InvalidArgument - //! \details \p allocate() first checks the size of the request. If it is non-0 + //! \details allocate() first checks the size of the request. If it is non-0 //! and less than max_size(), then an attempt is made to fulfill the request using either //! AlignedAllocate() or UnalignedAllocate(). - //! \details \p AlignedAllocate() is used if \p T_Align16 is \p true. - //! \p UnalignedAllocate() used if \p T_Align16 is \p false. - //! \details This is the C++ *Placement New* operator. \p ptr is not used, and the function - //! asserts in Debug builds if \p ptr is \p non-NULL. - //! \sa \p CallNewHandler() for the methods used to recover from a failed + //! \details AlignedAllocate() is used if T_Align16 is true. + //! UnalignedAllocate() used if T_Align16 is false. + //! \details This is the C++ *Placement New* operator. ptr is not used, and the function + //! asserts in Debug builds if ptr is non-NULL. + //! \sa CallNewHandler() for the methods used to recover from a failed //! allocation attempt. - //! \note \p size is the count of elements, and not the number of bytes + //! \note size is the count of elements, and not the number of bytes pointer allocate(size_type size, const void *ptr = NULL) { CRYPTOPP_UNUSED(ptr); assert(ptr == NULL); @@ -173,6 +176,7 @@ public: return NULL; #if CRYPTOPP_BOOL_ALIGN16 + // TODO: should this need the test 'size*sizeof(T) >= 16'? if (T_Align16 && size*sizeof(T) >= 16) return (pointer)AlignedAllocate(size*sizeof(T)); #endif @@ -183,11 +187,11 @@ public: //! \brief Deallocates a block of memory //! \param ptr the size of the allocation //! \param size the size of the allocation - //! \details Internally, \p SecureWipeArray() is called before deallocating the memory. - //! Once the memory block is wiped or zeroized, \p AlignedDeallocate() or - //! \p UnalignedDeallocate() is called. - //! \details \p AlignedDeallocate() is used if \p T_Align16 is \p true. - //! \p UnalignedDeallocate() used if \p T_Align16 is \p false. + //! \details Internally, SecureWipeArray() is called before deallocating the memory. + //! Once the memory block is wiped or zeroized, AlignedDeallocate() or + //! UnalignedDeallocate() is called. + //! \details AlignedDeallocate() is used if T_Align16 is true. + //! UnalignedDeallocate() used if T_Align16 is false. void deallocate(void *ptr, size_type size) { assert((ptr && size) || !(ptr || size)); @@ -207,12 +211,12 @@ public: //! \param newSize the new, requested size //! \param preserve flag that indicates if the old allocation should be preserved //! \returns pointer to the new memory block - //! \details Internally, \p reallocate() calls \p StandardReallocate(). - //! \details If \p preserve is \p true, then index 0 is used to begin copying the + //! \details Internally, reallocate() calls StandardReallocate(). + //! \details If preserve is true, then index 0 is used to begin copying the //! old memory block to the new one. If the block grows, then the old array - //! is copied in its entirety. If the block shrinks, then only \p newSize + //! is copied in its entirety. If the block shrinks, then only newSize //! elements are copied from the old block to the new one. - //! \note \p oldSize and \p newSize are the count of elements, and not the + //! \note oldSize and newSize are the count of elements, and not the //! number of bytes. pointer reallocate(T *oldPtr, size_type oldSize, size_type newSize, bool preserve) { @@ -240,11 +244,11 @@ CRYPTOPP_DLL_TEMPLATE_CLASS AllocatorWithCleanup; // for Integer //! \class NullAllocator //! \brief NULL allocator //! \tparam T class or type -//! \details A \p NullAllocator is useful for fixed-size, stack based allocations -//! (i.e., static arrays used by \p FixedSizeAllocatorWithCleanup). -//! \details A \p NullAllocator always returns 0 for max_size(), and always returns -//! \p NULL for allocation requests. Though the allocator does not allocate, it -//! does perform a secure wipe or zeroization during cleanup. +//! \details A NullAllocator is useful for fixed-size, stack based allocations +//! (i.e., static arrays used by FixedSizeAllocatorWithCleanup). +//! \details A NullAllocator always returns 0 for max_size(), and always returns +//! NULL for allocation requests. Though the allocator does not allocate at +//! runtime, it does perform a secure wipe or zeroization during cleanup. template class NullAllocator : public AllocatorBase { @@ -273,11 +277,11 @@ public: //! \brief Static secure memory block with cleanup //! \tparam T class or type //! \tparam S fixed-size of the stack-based memory block -//! \tparam A \p AllocatorBase derived class for allocation and cleanup -//! \details \p FixedSizeAllocatorWithCleanup provides a fixed-size, stack- +//! \tparam A AllocatorBase derived class for allocation and cleanup +//! \details FixedSizeAllocatorWithCleanup provides a fixed-size, stack- //! based allocation at compile time. The class can grow its memory -//! block at runtime if a suitable allocator is available. If \p size -//! grows beyond \p S and a suitable allocator is available, then the +//! block at runtime if a suitable allocator is available. If size +//! grows beyond S and a suitable allocator is available, then the //! statically allocated array is obsoleted. //! \note This allocator can't be used with standard collections because //! they require that all objects of the same allocator type are equivalent. @@ -287,22 +291,22 @@ class FixedSizeAllocatorWithCleanup : public AllocatorBase public: CRYPTOPP_INHERIT_ALLOCATOR_TYPES - //! \brief Constructs a \p FixedSizeAllocatorWithCleanup + //! \brief Constructs a FixedSizeAllocatorWithCleanup FixedSizeAllocatorWithCleanup() : m_allocated(false) {} //! \brief Allocates a block of memory //! \param size size of the memory block - //! \details \p FixedSizeAllocatorWithCleanup provides a fixed-size, stack- - //! based allocation at compile time. If \p size is less than or equal to - //! \p S, then a pointer to the static array is returned. + //! \details FixedSizeAllocatorWithCleanup provides a fixed-size, stack- + //! based allocation at compile time. If size is less than or equal to + //! S, then a pointer to the static array is returned. //! \details The class can grow its memory block at runtime if a suitable - //! allocator is available. If \p size grows beyond \p S and a suitable + //! allocator is available. If size grows beyond S and a suitable //! allocator is available, then the statically allocated array is //! obsoleted. If a suitable allocator is \a not available, as with a - //! \p NullAllocator, then the function returns \p NULL and a runtime error + //! NullAllocator, then the function returns NULL and a runtime error //! eventually occurs. - //! \note \p size is the count of elements, and not the number of bytes. - //! \sa \p reallocate(), \p SecBlockWithHint + //! \note size is the count of elements, and not the number of bytes. + //! \sa reallocate(), SecBlockWithHint pointer allocate(size_type size) { assert(IsAlignedOn(m_array, 8)); @@ -319,17 +323,17 @@ public: //! \brief Allocates a block of memory //! \param size size of the memory block //! \param hint an unused hint - //! \details \p FixedSizeAllocatorWithCleanup provides a fixed-size, stack- - //! based allocation at compile time. If \p size is less than or equal to - //! \p S, then a pointer to the static array is returned. + //! \details FixedSizeAllocatorWithCleanup provides a fixed-size, stack- + //! based allocation at compile time. If size is less than or equal to + //! S, then a pointer to the static array is returned. //! \details The class can grow its memory block at runtime if a suitable - //! allocator is available. If \p size grows beyond \p S and a suitable + //! allocator is available. If size grows beyond S and a suitable //! allocator is available, then the statically allocated array is //! obsoleted. If a suitable allocator is \a not available, as with a - //! \p NullAllocator, then the function returns \p NULL and a runtime error + //! NullAllocator, then the function returns NULL and a runtime error //! eventually occurs. - //! \note \p size is the count of elements, and not the number of bytes. - //! \sa \p reallocate(), \p SecBlockWithHint + //! \note size is the count of elements, and not the number of bytes. + //! \sa reallocate(), SecBlockWithHint pointer allocate(size_type size, const void *hint) { if (size <= S && !m_allocated) @@ -368,17 +372,17 @@ public: //! \param newSize the new, requested size //! \param preserve flag that indicates if the old allocation should be preserved //! \returns pointer to the new memory block - //! \details \p FixedSizeAllocatorWithCleanup provides a fixed-size, stack- - //! based allocation at compile time. If \p size is less than or equal to - //! \p S, then a pointer to the static array is returned. + //! \details FixedSizeAllocatorWithCleanup provides a fixed-size, stack- + //! based allocation at compile time. If size is less than or equal to + //! S, then a pointer to the static array is returned. //! \details The class can grow its memory block at runtime if a suitable - //! allocator is available. If \p size grows beyond \p S and a suitable + //! allocator is available. If size grows beyond S and a suitable //! allocator is available, then the statically allocated array is //! obsoleted. If a suitable allocator is \a not available, as with a - //! \p NullAllocator, then the function returns \p NULL and a runtime error + //! NullAllocator, then the function returns NULL and a runtime error //! eventually occurs. - //! \note \p size is the count of elements, and not the number of bytes. - //! \sa \p reallocate(), \p SecBlockWithHint + //! \note size is the count of elements, and not the number of bytes. + //! \sa reallocate(), SecBlockWithHint pointer reallocate(pointer oldPtr, size_type oldSize, size_type newSize, bool preserve) { if (oldPtr == GetAlignedArray() && newSize <= S) @@ -416,7 +420,7 @@ private: //! \class SecBlock //! \brief Secure memory block with allocator and cleanup //! \tparam T a class or type -//! \tparam A \p AllocatorWithCleanup derived class for allocation and cleanup +//! \tparam A AllocatorWithCleanup derived class for allocation and cleanup template > class SecBlock { @@ -426,11 +430,11 @@ public: typedef typename A::const_pointer const_iterator; typedef typename A::size_type size_type; - //! \brief Construct a SecBlock with space for \p size elements. + //! \brief Construct a SecBlock with space for size elements. //! \param size the number of elements in the allocation //! \throws std::bad_alloc //! \details The elements are not initialized. - //! \note \p size is the count of elements, and not the number of bytes + //! \note size is the count of elements, and not the number of bytes explicit SecBlock(size_type size=0) : m_size(size), m_ptr(m_alloc.allocate(size, NULL)) { } @@ -447,10 +451,10 @@ public: //! \param ptr a pointer to an array of T //! \param len the number of elements in the memory block //! \throws std::bad_alloc - //! \details If ptr!=NULL and len!=0, then the block is initialized from the pointer \p ptr. + //! \details If ptr!=NULL and len!=0, then the block is initialized from the pointer ptr. //! If ptr==NULL and len!=0, then the block is initialized to 0. //! Otherwise, the block is empty and uninitialized. - //! \note \p size is the count of elements, and not the number of bytes + //! \note size is the count of elements, and not the number of bytes SecBlock(const T *ptr, size_type len) : m_size(len), m_ptr(m_alloc.allocate(len, NULL)) { assert((!m_ptr && !m_size) || (m_ptr && m_size)); @@ -502,12 +506,12 @@ public: //! \returns constant pointer to the first element in the memory block typename A::const_pointer data() const {return m_ptr;} - //! \brief Provides the count of elements in the \p SecBlock + //! \brief Provides the count of elements in the SecBlock //! \returns number of elements in the memory block //! \note the return value is the count of elements, and not the number of bytes size_type size() const {return m_size;} - //! \brief Determines if the \p SecBlock is empty - //! \returns \p true if number of elements in the memory block is 0, \p false otherwise + //! \brief Determines if the SecBlock is empty + //! \returns true if number of elements in the memory block is 0, false otherwise bool empty() const {return m_size == 0;} //! \brief Provides a byte pointer to the first element in the memory block @@ -516,7 +520,7 @@ public: //! \brief Return a byte pointer to the first element in the memory block //! \returns constant byte pointer to the first element in the memory block const byte * BytePtr() const {return (const byte *)m_ptr;} - //! \brief Provides the number of bytes in the \p SecBlock + //! \brief Provides the number of bytes in the SecBlock //! \return the number of bytes in the memory block //! \note the return value is the number of bytes, and not count of elements. size_type SizeInBytes() const {return m_size*sizeof(T);} @@ -533,8 +537,8 @@ public: } //! \brief Copy contents from another SecBlock - //! \param t the other \p SecBlock - //! \details \p Assign checks for self assignment. + //! \param t the other SecBlock + //! \details Assign checks for self assignment. //! \details If the memory block is reduced in size, then the unused area is set to 0. void Assign(const SecBlock &t) { @@ -547,8 +551,8 @@ public: } //! \brief Assign contents from another SecBlock - //! \param t the other \p SecBlock - //! \details Internally, \p operator=() calls \p Assign(). + //! \param t the other SecBlock + //! \details Internally, operator=() calls Assign(). //! \details If the memory block is reduced in size, then the unused area is set to 0. SecBlock& operator=(const SecBlock &t) { @@ -558,8 +562,8 @@ public: } //! \brief Append contents from another SecBlock - //! \param t the other \p SecBlock - //! \details Internally, \p this \p SecBlock calls \p Grow and then copies the new content. + //! \param t the other SecBlock + //! \details Internally, this SecBlock calls Grow and then copies the new content. //! \details If the memory block is reduced in size, then the unused area is set to 0. SecBlock& operator+=(const SecBlock &t) { @@ -577,11 +581,11 @@ public: } //! \brief Concatenate contents from another SecBlock - //! \param t the other \p SecBlock - //! \returns a newly constructed \p SecBlock that is a conacentation of \p this and \p t - //! \details Internally, a temporary \p SecBlock is created and the content from \p this - //! \p SecBlock and the other \p SecBlock are concatenated. The temporary - //! \p SecBlock is returned to the caller. + //! \param t the other SecBlock + //! \returns a newly constructed SecBlock that is a conacentation of this and t + //! \details Internally, a temporary SecBlock is created and the content from this + //! SecBlock and the other SecBlock are concatenated. The temporary + //! SecBlock is returned to the caller. SecBlock operator+(const SecBlock &t) { assert((!m_ptr && !m_size) || (m_ptr && m_size)); @@ -595,10 +599,10 @@ public: } //! \brief Bitwise compare two SecBlocks - //! \param t the other \p SecBlock - //! \returns \p true if the size and bits are equal, \p false otherwise + //! \param t the other SecBlock + //! \returns true if the size and bits are equal, false otherwise //! \details Uses a constant time compare if the arrays are equal size. The constant time - //! compare is \p VerifyBufsEqual() found in misc.h. + //! compare is VerifyBufsEqual() found in misc.h. //! \sa operator!=() bool operator==(const SecBlock &t) const { @@ -606,11 +610,11 @@ public: } //! \brief Bitwise compare two SecBlocks - //! \param t the other \p SecBlock - //! \returns \p true if the size and bits are equal, \p false otherwise + //! \param t the other SecBlock + //! \returns true if the size and bits are equal, false otherwise //! \details Uses a constant time compare if the arrays are equal size. The constant time - //! compare is \p VerifyBufsEqual() found in misc.h. - //! \details Internally, \p operator!=() returns the inverse of operator==(). + //! compare is VerifyBufsEqual() found in misc.h. + //! \details Internally, operator!=() returns the inverse of operator==(). //! \sa operator==() bool operator!=(const SecBlock &t) const { @@ -622,7 +626,7 @@ public: //! \details Old content is \a not preserved. If the memory block is reduced in size, //! then the unused content is set to 0. If the memory block grows in size, then //! all content is uninitialized. - //! \details Internally, \p this \p SecBlock calls \p reallocate(). + //! \details Internally, this SecBlock calls reallocate(). //! \sa New(), CleanNew(), Grow(), CleanGrow(), resize() void New(size_type newSize) { @@ -634,7 +638,7 @@ public: //! \param newSize the new size of the memory block //! \details Old content is not preserved. If the memory block is reduced in size, //! then the unused content is set to 0. Existing and new content is set to 0. - //! \details Internally, \p this \p SecBlock calls \p reallocate(). + //! \details Internally, this SecBlock calls reallocate(). //! \sa New(), CleanNew(), Grow(), CleanGrow(), resize() void CleanNew(size_type newSize) { @@ -644,13 +648,12 @@ public: //! \brief Change size and preserve contents //! \param newSize the new size of the memory block - //! \details Internally, \p this \p SecBlock calls \p reallocate(). //! \details Old content is preserved. If the memory block grows in size, then //! all content is uninitialized. - //! \details Internally, \p this \p SecBlock calls \p reallocate(). - //! \note \p reallocate() is called if the size increases. If the size does not - //! increase, then \p Grow does not take action. If the size must change, - //! then use \p resize(). + //! \details Internally, this SecBlock calls reallocate(). + //! \note reallocate() is called if the size increases. If the size does not + //! increase, then Grow does not take action. If the size must change, + //! then use resize(). //! \sa New(), CleanNew(), Grow(), CleanGrow(), resize() void Grow(size_type newSize) { @@ -663,14 +666,13 @@ public: //! \brief Change size and preserve contents //! \param newSize the new size of the memory block - //! \details Internally, \p this \p SecBlock calls \p reallocate(). //! \details Old content is preserved. If the memory block is reduced in size, //! then the unused content is set to 0. If the memory block grows in size, //! then the new content is uninitialized. - //! \details Internally, \p this \p SecBlock calls \p reallocate(). - //! \note \p reallocate() is called if the size increases. If the size does not - //! increase, then \p Grow does not take action. If the size must change, - //! then use \p resize(). + //! \details Internally, this SecBlock calls reallocate(). + //! \note reallocate() is called if the size increases. If the size does not + //! increase, then Grow does not take action. If the size must change, + //! then use resize(). //! \sa New(), CleanNew(), Grow(), CleanGrow(), resize() void CleanGrow(size_type newSize) { @@ -684,13 +686,12 @@ public: //! \brief Change size and preserve contents //! \param newSize the new size of the memory block - //! \details Internally, \p this \p SecBlock calls \p reallocate(). //! \details Old content is preserved. If the memory block grows in size, then //! all content is uninitialized. - //! \details Internally, \p this \p SecBlock calls \p reallocate(). - //! \note \p reallocate() is called if the size increases. If the size does not - //! increase, then \p Grow does not take action. If the size must change, - //! then use \p resize(). + //! \details Internally, this SecBlock calls reallocate(). + //! \note reallocate() is called if the size increases. If the size does not + //! increase, then Grow does not take action. If the size must change, + //! then use resize(). //! \sa New(), CleanNew(), Grow(), CleanGrow(), resize() void resize(size_type newSize) { @@ -700,10 +701,10 @@ public: //! \brief Swap contents with another SecBlock //! \param b the other SecBlock - //! \details Internally, \p std::swap() is called on \p m_alloc, \p m_size and \p m_ptr. + //! \details Internally, std::swap() is called on m_alloc, m_size and m_ptr. void swap(SecBlock &b) { - // TODO: research the swap on the Allocator, and remove it if not needed. + // Swap must occur on the allocator in case its FixedSize that spilled into the heap. std::swap(m_alloc, b.m_alloc); std::swap(m_size, b.m_size); std::swap(m_ptr, b.m_ptr); @@ -738,7 +739,7 @@ typedef SecBlock > AlignedSecByteBlock; //! \brief Fixed size stack-based SecBlock //! \tparam T class or type //! \tparam S fixed-size of the stack-based memory block -//! \tparam A \p AllocatorBase derived class for allocation and cleanup +//! \tparam A AllocatorBase derived class for allocation and cleanup template > class FixedSizeSecBlock : public SecBlock { @@ -751,7 +752,7 @@ public: //! \brief Fixed size stack-based SecBlock with 16-byte alignment //! \tparam T class or type //! \tparam S fixed-size of the stack-based memory block -//! \tparam A \p AllocatorBase derived class for allocation and cleanup +//! \tparam A AllocatorBase derived class for allocation and cleanup template class FixedSizeAlignedSecBlock : public FixedSizeSecBlock, T_Align16> > { @@ -761,7 +762,7 @@ class FixedSizeAlignedSecBlock : public FixedSizeSecBlock > > class SecBlockWithHint : public SecBlock { diff --git a/seckey.h b/seckey.h index 7457bc42..90d7aa25 100644 --- a/seckey.h +++ b/seckey.h @@ -1,18 +1,19 @@ // seckey.h - written and placed in the public domain by Wei Dai //! \file -//! \brief Contains helper classes and functions for implementing secret key algorithms. +//! \brief Classes and functions for implementing secret key algorithms. #ifndef CRYPTOPP_SECKEY_H #define CRYPTOPP_SECKEY_H -#include "cryptlib.h" +#include "config.h" #if CRYPTOPP_MSC_VERSION # pragma warning(push) # pragma warning(disable: 4189) #endif +#include "cryptlib.h" #include "misc.h" #include "simple.h" @@ -20,7 +21,7 @@ NAMESPACE_BEGIN(CryptoPP) //! \brief Inverts the cipher's direction //! \param dir the cipher's direction -//! \returns \p DECRYPTION if \p dir is ENCRYPTION, \p DECRYPTION otherwise +//! \returns DECRYPTION if dir is ENCRYPTION, DECRYPTION otherwise inline CipherDir ReverseCipherDir(CipherDir dir) { return (dir == ENCRYPTION) ? DECRYPTION : ENCRYPTION; @@ -68,26 +69,31 @@ public: //! \brief The default number of rounds for the cipher based on key length //! provided by a static function. //! \param keylength the size of the key, in bytes - //! \details \p keylength is unused in the default implementation. + //! \details keylength is unused in the default implementation. static unsigned int StaticGetDefaultRounds(size_t keylength) {CRYPTOPP_UNUSED(keylength); return DEFAULT_ROUNDS;} protected: - //! \brief Validates the number of \p rounds for a cipher. - //! \param rounds the canddiate number of \p rounds - //! \param alg an \p Algorithm object used if the number of \p rounds are invalid - //! \throws InvalidRounds if the number of \p rounds are invalid + //! \brief Validates the number of rounds for a cipher. + //! \param rounds the canddiate number of rounds + //! \param alg an Algorithm object used if the number of rounds are invalid + //! \throws InvalidRounds if the number of rounds are invalid inline void ThrowIfInvalidRounds(int rounds, const Algorithm *alg) { +#if (M==INT_MAX) // Coverity and result_independent_of_operands + if (rounds < MIN_ROUNDS) + throw InvalidRounds(alg ? alg->AlgorithmName() : "VariableRounds", rounds); +#else if (rounds < MIN_ROUNDS || rounds > MAX_ROUNDS) throw InvalidRounds(alg ? alg->AlgorithmName() : "VariableRounds", rounds); +#endif } - //! \brief Validates the number of \p rounds for a cipher - //! \param param the canddiate number of \p rounds - //! \param alg an \p Algorithm object used if the number of \p rounds are invalid + //! \brief Validates the number of rounds for a cipher + //! \param param the canddiate number of rounds + //! \param alg an Algorithm object used if the number of rounds are invalid //! \returns the number of rounds for the cipher - //! \throws InvalidRounds if the number of \p rounds are invalid + //! \throws InvalidRounds if the number of rounds are invalid inline unsigned int GetRoundsAndThrowIfInvalid(const NameValuePairs ¶m, const Algorithm *alg) { int rounds = param.GetIntValueWithDefault("Rounds", DEFAULT_ROUNDS); @@ -101,34 +107,34 @@ protected: //! \class FixedKeyLength //! \brief Inherited by keyed algorithms with fixed key length //! \tparam N Default key length, in bytes -//! \tparam IV_REQ The IV requirements. See \p IV_Requirement in cryptlib.h for allowed values +//! \tparam IV_REQ The IV requirements. See IV_Requirement in cryptlib.h for allowed values //! \tparam IV_L Default IV length, in bytes template class FixedKeyLength { public: //! \brief The default key length used by the cipher provided as a constant - //! \details \p KEYLENGTH is provided in bytes, not bits + //! \details KEYLENGTH is provided in bytes, not bits CRYPTOPP_CONSTANT(KEYLENGTH=N) //! \brief The minimum key length used by the cipher provided as a constant - //! \details \p MIN_KEYLENGTH is provided in bytes, not bits + //! \details MIN_KEYLENGTH is provided in bytes, not bits CRYPTOPP_CONSTANT(MIN_KEYLENGTH=N) //! \brief The maximum key length used by the cipher provided as a constant - //! \details \p MAX_KEYLENGTH is provided in bytes, not bits + //! \details MAX_KEYLENGTH is provided in bytes, not bits CRYPTOPP_CONSTANT(MAX_KEYLENGTH=N) //! \brief The default key length used by the cipher provided as a constant - //! \details \p DEFAULT_KEYLENGTH is provided in bytes, not bits + //! \details DEFAULT_KEYLENGTH is provided in bytes, not bits CRYPTOPP_CONSTANT(DEFAULT_KEYLENGTH=N) //! \brief The default IV requirements for the cipher provided as a constant - //! \details The default value is \p NOT_RESYNCHRONIZABLE. See \p IV_Requirement + //! \details The default value is NOT_RESYNCHRONIZABLE. See IV_Requirement //! in cryptlib.h for allowed values. CRYPTOPP_CONSTANT(IV_REQUIREMENT = IV_REQ) //! \brief The default IV length used by the cipher provided as a constant - //! \details \p IV_LENGTH is provided in bytes, not bits. The default implementation uses \p 0. + //! \details IV_LENGTH is provided in bytes, not bits. The default implementation uses 0. CRYPTOPP_CONSTANT(IV_LENGTH = IV_L) //! \brief The default key length for the cipher provided by a static function. //! \param keylength the size of the key, in bytes - //! \details The default implementation returns \p KEYLENGTH. \p keylength is unused + //! \details The default implementation returns KEYLENGTH. keylength is unused //! in the default implementation. static size_t CRYPTOPP_API StaticGetValidKeyLength(size_t keylength) {CRYPTOPP_UNUSED(keylength); return KEYLENGTH;} @@ -140,7 +146,7 @@ public: //! \tparam N Minimum key length, in bytes //! \tparam M Maximum key length, in bytes //! \tparam M Default key length multiple, in bytes. The default multiple is 1. -//! \tparam IV_REQ The IV requirements. See \p IV_Requirement in cryptlib.h for allowed values +//! \tparam IV_REQ The IV requirements. See IV_Requirement in cryptlib.h for allowed values //! \tparam IV_L Default IV length, in bytes. The default length is 0. template class VariableKeyLength @@ -155,37 +161,40 @@ class VariableKeyLength public: //! \brief The minimum key length used by the cipher provided as a constant - //! \details \p MIN_KEYLENGTH is provided in bytes, not bits + //! \details MIN_KEYLENGTH is provided in bytes, not bits CRYPTOPP_CONSTANT(MIN_KEYLENGTH=N) //! \brief The maximum key length used by the cipher provided as a constant - //! \details \p MAX_KEYLENGTH is provided in bytes, not bits + //! \details MAX_KEYLENGTH is provided in bytes, not bits CRYPTOPP_CONSTANT(MAX_KEYLENGTH=M) //! \brief The default key length used by the cipher provided as a constant - //! \details \p DEFAULT_KEYLENGTH is provided in bytes, not bits + //! \details DEFAULT_KEYLENGTH is provided in bytes, not bits CRYPTOPP_CONSTANT(DEFAULT_KEYLENGTH=D) //! \brief The key length multiple used by the cipher provided as a constant - //! \details \p MAX_KEYLENGTH is provided in bytes, not bits + //! \details MAX_KEYLENGTH is provided in bytes, not bits CRYPTOPP_CONSTANT(KEYLENGTH_MULTIPLE=Q) //! \brief The default IV requirements for the cipher provided as a constant - //! \details The default value is \p NOT_RESYNCHRONIZABLE. See \p IV_Requirement + //! \details The default value is NOT_RESYNCHRONIZABLE. See IV_Requirement //! in cryptlib.h for allowed values. CRYPTOPP_CONSTANT(IV_REQUIREMENT=IV_REQ) //! \brief The default initialization vector length for the cipher provided as a constant - //! \details \p IV_LENGTH is provided in bytes, not bits. The default implementation uses \p 0. + //! \details IV_LENGTH is provided in bytes, not bits. The default implementation uses 0. CRYPTOPP_CONSTANT(IV_LENGTH=IV_L) //! \brief Provides a valid key length for the cipher provided by a static function. //! \param keylength the size of the key, in bytes - //! \details If \p keylength is less than \p MIN_KEYLENGTH, then the function returns - //! \p MIN_KEYLENGTH. If \p keylength is greater than \p MAX_KEYLENGTH, then the function - //! returns \p MAX_KEYLENGTH. If \p keylength is a multiple of \p KEYLENGTH_MULTIPLE, - //! then \p keylength is returned. Otherwise, the function returns \p keylength rounded - //! \a down to the next smaller multiple of \p KEYLENGTH_MULTIPLE. - //! \details \p keylength is provided in bytes, not bits. + //! \details If keylength is less than MIN_KEYLENGTH, then the function returns + //! MIN_KEYLENGTH. If keylength is greater than MAX_KEYLENGTH, then the function + //! returns MAX_KEYLENGTH. If keylength is a multiple of KEYLENGTH_MULTIPLE, + //! then keylength is returned. Otherwise, the function returns keylength rounded + //! \a down to the next smaller multiple of KEYLENGTH_MULTIPLE. + //! \details keylength is provided in bytes, not bits. static size_t CRYPTOPP_API StaticGetValidKeyLength(size_t keylength) { +#if MIN_KEYLENGTH > 0 if (keylength < (size_t)MIN_KEYLENGTH) return MIN_KEYLENGTH; - else if (keylength > (size_t)MAX_KEYLENGTH) + else +#endif + if (keylength > (size_t)MAX_KEYLENGTH) return (size_t)MAX_KEYLENGTH; else { @@ -197,37 +206,37 @@ public: //! \class SameKeyLengthAs //! \brief Provides key lengths based on another class's key length -//! \tparam T another \p FixedKeyLength or \p VariableKeyLength class -//! \tparam IV_REQ The IV requirements. See \p IV_Requirement in cryptlib.h for allowed values +//! \tparam T another FixedKeyLength or VariableKeyLength class +//! \tparam IV_REQ The IV requirements. See IV_Requirement in cryptlib.h for allowed values //! \tparam IV_L Default IV length, in bytes template class SameKeyLengthAs { public: //! \brief The minimum key length used by the cipher provided as a constant - //! \details \p MIN_KEYLENGTH is provided in bytes, not bits + //! \details MIN_KEYLENGTH is provided in bytes, not bits CRYPTOPP_CONSTANT(MIN_KEYLENGTH=T::MIN_KEYLENGTH) //! \brief The maximum key length used by the cipher provided as a constant - //! \details \p MIN_KEYLENGTH is provided in bytes, not bits + //! \details MIN_KEYLENGTH is provided in bytes, not bits CRYPTOPP_CONSTANT(MAX_KEYLENGTH=T::MAX_KEYLENGTH) //! \brief The default key length used by the cipher provided as a constant - //! \details \p MIN_KEYLENGTH is provided in bytes, not bits + //! \details MIN_KEYLENGTH is provided in bytes, not bits CRYPTOPP_CONSTANT(DEFAULT_KEYLENGTH=T::DEFAULT_KEYLENGTH) //! \brief The default IV requirements for the cipher provided as a constant - //! \details The default value is \p NOT_RESYNCHRONIZABLE. See \p IV_Requirement + //! \details The default value is NOT_RESYNCHRONIZABLE. See IV_Requirement //! in cryptlib.h for allowed values. CRYPTOPP_CONSTANT(IV_REQUIREMENT=IV_REQ) //! \brief The default initialization vector length for the cipher provided as a constant - //! \details \p IV_LENGTH is provided in bytes, not bits. The default implementation uses \p 0. + //! \details IV_LENGTH is provided in bytes, not bits. The default implementation uses 0. CRYPTOPP_CONSTANT(IV_LENGTH=IV_L) //! \brief Provides a valid key length for the cipher provided by a static function. //! \param keylength the size of the key, in bytes - //! \details If \p keylength is less than \p MIN_KEYLENGTH, then the function returns - //! \p MIN_KEYLENGTH. If \p keylength is greater than \p MAX_KEYLENGTH, then the function - //! returns \p MAX_KEYLENGTH. If \p keylength is a multiple of \p KEYLENGTH_MULTIPLE, - //! then \p keylength is returned. Otherwise, the function returns \p keylength rounded - //! \a down to the next smaller multiple of \p KEYLENGTH_MULTIPLE. - //! \details \p keylength is provided in bytes, not bits. + //! \details If keylength is less than MIN_KEYLENGTH, then the function returns + //! MIN_KEYLENGTH. If keylength is greater than MAX_KEYLENGTH, then the function + //! returns MAX_KEYLENGTH. If keylength is a multiple of KEYLENGTH_MULTIPLE, + //! then keylength is returned. Otherwise, the function returns keylength rounded + //! \a down to the next smaller multiple of KEYLENGTH_MULTIPLE. + //! \details keylength is provided in bytes, not bits. static size_t CRYPTOPP_API StaticGetValidKeyLength(size_t keylength) {return T::StaticGetValidKeyLength(keylength);} }; @@ -256,21 +265,21 @@ public: //! \brief Provides a valid key length for the cipher //! \param keylength the size of the key, in bytes - //! \details \p keylength is provided in bytes, not bits. If \p keylength is less than \p MIN_KEYLENGTH, - //! then the function returns \p MIN_KEYLENGTH. If \p keylength is greater than \p MAX_KEYLENGTH, - //! then the function returns \p MAX_KEYLENGTH. if If \p keylength is a multiple of \p KEYLENGTH_MULTIPLE, - //! then \p keylength is returned. Otherwise, the function returns a \a lower multiple of - //! \p KEYLENGTH_MULTIPLE. + //! \details keylength is provided in bytes, not bits. If keylength is less than MIN_KEYLENGTH, + //! then the function returns MIN_KEYLENGTH. If keylength is greater than MAX_KEYLENGTH, + //! then the function returns MAX_KEYLENGTH. if If keylength is a multiple of KEYLENGTH_MULTIPLE, + //! then keylength is returned. Otherwise, the function returns a \a lower multiple of + //! KEYLENGTH_MULTIPLE. size_t GetValidKeyLength(size_t keylength) const {return INFO::StaticGetValidKeyLength(keylength);} //! \brief The default IV requirements for the cipher - //! \details The default value is \p NOT_RESYNCHRONIZABLE. See \p IV_Requirement + //! \details The default value is NOT_RESYNCHRONIZABLE. See IV_Requirement //! in cryptlib.h for allowed values. SimpleKeyingInterface::IV_Requirement IVRequirement() const {return (SimpleKeyingInterface::IV_Requirement)INFO::IV_REQUIREMENT;} //! \brief The default initialization vector length for the cipher - //! \details \p IVSize is provided in bytes, not bits. The default implementation uses \p IV_LENGTH, which is 0. + //! \details IVSize is provided in bytes, not bits. The default implementation uses IV_LENGTH, which is 0. unsigned int IVSize() const {return INFO::IV_LENGTH;} }; @@ -283,7 +292,8 @@ template class CRYPTOPP_NO_VTABLE BlockCipherImpl : public AlgorithmImpl > > { public: - //! \brief The block size of the cipher + //! Provides the block size of the cipher + //! \returns the block size of the cipher, in bytes unsigned int BlockSize() const {return this->BLOCKSIZE;} }; @@ -298,30 +308,34 @@ public: //! \brief Construct a default BlockCipherFinal //! \details The cipher is not keyed. BlockCipherFinal() {} + //! \brief Construct a BlockCipherFinal //! \param key a byte array used to key the cipher - //! \details \p key must be at least \p DEFAULT_KEYLENGTH in length. Internally, the function calls - //! \p SimpleKeyingInterface::SetKey. + //! \details key must be at least DEFAULT_KEYLENGTH in length. Internally, the function calls + //! SimpleKeyingInterface::SetKey. BlockCipherFinal(const byte *key) {this->SetKey(key, this->DEFAULT_KEYLENGTH);} + //! \brief Construct a BlockCipherFinal //! \param key a byte array used to key the cipher //! \param length the length of the byte array - //! \details \p key must be at least \p DEFAULT_KEYLENGTH in length. Internally, the function calls - //! \p SimpleKeyingInterface::SetKey. + //! \details key must be at least DEFAULT_KEYLENGTH in length. Internally, the function calls + //! SimpleKeyingInterface::SetKey. BlockCipherFinal(const byte *key, size_t length) {this->SetKey(key, length);} + //! \brief Construct a BlockCipherFinal //! \param key a byte array used to key the cipher //! \param length the length of the byte array //! \param rounds the number of rounds - //! \details \p key must be at least \p DEFAULT_KEYLENGTH in length. Internally, the function calls - //! \p SimpleKeyingInterface::SetKeyWithRounds. + //! \details key must be at least DEFAULT_KEYLENGTH in length. Internally, the function calls + //! SimpleKeyingInterface::SetKeyWithRounds. BlockCipherFinal(const byte *key, size_t length, unsigned int rounds) {this->SetKeyWithRounds(key, length, rounds);} //! \brief Provides the direction of the cipher - //! \returns \p true if \p DIR is \p ENCRYPTION, \p false otherwise + //! \returns true if DIR is ENCRYPTION, false otherwise + //! \sa IsForwardTransformation(), IsPermutation(), GetCipherDirection() bool IsForwardTransformation() const {return DIR == ENCRYPTION;} }; @@ -347,15 +361,15 @@ public: MessageAuthenticationCodeFinal() {} //! \brief Construct a BlockCipherFinal //! \param key a byte array used to key the cipher - //! \details \p key must be at least \p DEFAULT_KEYLENGTH in length. Internally, the function calls - //! \p SimpleKeyingInterface::SetKey. + //! \details key must be at least DEFAULT_KEYLENGTH in length. Internally, the function calls + //! SimpleKeyingInterface::SetKey. MessageAuthenticationCodeFinal(const byte *key) {this->SetKey(key, this->DEFAULT_KEYLENGTH);} //! \brief Construct a BlockCipherFinal //! \param key a byte array used to key the cipher //! \param length the length of the byte array - //! \details \p key must be at least \p DEFAULT_KEYLENGTH in length. Internally, the function calls - //! \p SimpleKeyingInterface::SetKey. + //! \details key must be at least DEFAULT_KEYLENGTH in length. Internally, the function calls + //! SimpleKeyingInterface::SetKey. MessageAuthenticationCodeFinal(const byte *key, size_t length) {this->SetKey(key, length);} }; @@ -363,7 +377,7 @@ public: // ************** documentation *************** //! \class BlockCipherDocumentation -//! \brief Provides \p Encryption and \p Decryption typedefs used by derived classes to +//! \brief Provides Encryption and Decryption typedefs used by derived classes to //! implement a block cipher //! \details These objects usually should not be used directly. See CipherModeDocumentation //! instead. Each class derived from this one defines two types, Encryption and Decryption, @@ -377,7 +391,7 @@ struct BlockCipherDocumentation }; //! \class SymmetricCipherDocumentation -//! \brief Provides \p Encryption and \p Decryption typedefs used by derived classes to +//! \brief Provides Encryption and Decryption typedefs used by derived classes to //! implement a symmetric cipher //! \details Each class derived from this one defines two types, Encryption and Decryption, //! both of which implement the SymmetricCipher interface. Two types of classes derive @@ -393,7 +407,7 @@ struct SymmetricCipherDocumentation }; //! \class AuthenticatedSymmetricCipherDocumentation -//! \brief Provides \p Encryption and \p Decryption typedefs used by derived classes to +//! \brief Provides Encryption and Decryption typedefs used by derived classes to //! implement an authenticated encryption cipher //! \details Each class derived from this one defines two types, Encryption and Decryption, //! both of which implement the AuthenticatedSymmetricCipher interface. diff --git a/seed.h b/seed.h index 0267d8b3..a7fba346 100644 --- a/seed.h +++ b/seed.h @@ -1,9 +1,11 @@ +// seed.h - written and placed in the public domain by Wei Dai + +//! \file seed.h +//! \brief Classes for the SEED block cipher + #ifndef CRYPTOPP_SEED_H #define CRYPTOPP_SEED_H -/** \file -*/ - #include "seckey.h" #include "secblock.h" diff --git a/serpent.h b/serpent.h index 13a0bd0e..7c48cf76 100644 --- a/serpent.h +++ b/serpent.h @@ -1,9 +1,11 @@ +// serpent.h - written and placed in the public domain by Wei Dai + +//! \file serpent.h +//! \brief Classes for the Serpent block cipher + #ifndef CRYPTOPP_SERPENT_H #define CRYPTOPP_SERPENT_H -/** \file -*/ - #include "seckey.h" #include "secblock.h" diff --git a/sha.cpp b/sha.cpp index bbd3572c..8ac6368a 100644 --- a/sha.cpp +++ b/sha.cpp @@ -257,7 +257,7 @@ static void CRYPTOPP_FASTCALL X86_SHA256_HashBlocks(word32 *state, const word32 #if CRYPTOPP_BOOL_X64 "lea %4, %%r8;" #endif - ".intel_syntax noprefix;" + INTEL_NOPREFIX #elif defined(CRYPTOPP_GENERATE_X64_MASM) ALIGN 8 X86_SHA256_HashBlocks PROC FRAME @@ -437,7 +437,7 @@ static void CRYPTOPP_FASTCALL X86_SHA256_HashBlocks(word32 *state, const word32 #endif #ifdef __GNUC__ - ".att_syntax prefix;" + ATT_PREFIX : : "c" (state), "d" (data), "S" (SHA256_K+48), "D" (len) #if CRYPTOPP_BOOL_X64 @@ -688,7 +688,7 @@ CRYPTOPP_NAKED static void CRYPTOPP_FASTCALL SHA512_SSE2_Transform(word64 *state #ifdef __GNUC__ __asm__ __volatile__ ( - ".intel_syntax noprefix;" + INTEL_NOPREFIX AS_PUSH_IF86( bx) AS2( mov ebx, eax) #else @@ -864,7 +864,7 @@ CRYPTOPP_NAKED static void CRYPTOPP_FASTCALL SHA512_SSE2_Transform(word64 *state #if defined(__GNUC__) AS_POP_IF86( bx) - ".att_syntax prefix;" + ATT_PREFIX : : "a" (SHA512_K), "c" (state), "d" (data) : "%esi", "%edi", "memory", "cc" diff --git a/sha.h b/sha.h index 85d21c41..90ff1ab0 100644 --- a/sha.h +++ b/sha.h @@ -1,11 +1,14 @@ +// sha.h - written and placed in the public domain by Wei Dai + +//! \file +//! \headerfile sha.h +//! \brief Classes for SHA-1 and SHA-2 family of message digests + #ifndef CRYPTOPP_SHA_H #define CRYPTOPP_SHA_H #include "config.h" #include "iterhash.h" -#include "secblock.h" - -#define SHA_BOOL_ALIGN (CRYPTOPP_BOOL_ALIGN || CRYPTOPP_BOOL_ALIGN16) NAMESPACE_BEGIN(CryptoPP) @@ -21,10 +24,10 @@ public: typedef SHA1 SHA; // for backwards compatibility //! implements the SHA-256 standard -class CRYPTOPP_DLL SHA256 : public IteratedHashWithStaticTransform +class CRYPTOPP_DLL SHA256 : public IteratedHashWithStaticTransform { public: -#if (defined(CRYPTOPP_X86_ASM_AVAILABLE) || defined(CRYPTOPP_X32_ASM_AVAILABLE) || defined(CRYPTOPP_X64_MASM_AVAILABLE)) && !defined(CRYPTOPP_DISABLE_SHA_ASM) +#if defined(CRYPTOPP_X86_ASM_AVAILABLE) || defined(CRYPTOPP_X32_ASM_AVAILABLE) || defined(CRYPTOPP_X64_MASM_AVAILABLE) && !defined(CRYPTOPP_DISABLE_SHA_ASM) size_t HashMultipleBlocks(const word32 *input, size_t length); #endif static void CRYPTOPP_API InitState(HashWordType *state); @@ -33,10 +36,10 @@ public: }; //! implements the SHA-224 standard -class CRYPTOPP_DLL SHA224 : public IteratedHashWithStaticTransform +class CRYPTOPP_DLL SHA224 : public IteratedHashWithStaticTransform { public: -#if (defined(CRYPTOPP_X86_ASM_AVAILABLE) || defined(CRYPTOPP_X32_ASM_AVAILABLE) || defined(CRYPTOPP_X64_MASM_AVAILABLE)) && !defined(CRYPTOPP_DISABLE_SHA_ASM) +#if defined(CRYPTOPP_X86_ASM_AVAILABLE) || defined(CRYPTOPP_X32_ASM_AVAILABLE) || defined(CRYPTOPP_X64_MASM_AVAILABLE) && !defined(CRYPTOPP_DISABLE_SHA_ASM) size_t HashMultipleBlocks(const word32 *input, size_t length); #endif static void CRYPTOPP_API InitState(HashWordType *state); @@ -45,7 +48,7 @@ public: }; //! implements the SHA-512 standard -class CRYPTOPP_DLL SHA512 : public IteratedHashWithStaticTransform +class CRYPTOPP_DLL SHA512 : public IteratedHashWithStaticTransform { public: static void CRYPTOPP_API InitState(HashWordType *state); @@ -54,7 +57,7 @@ public: }; //! implements the SHA-384 standard -class CRYPTOPP_DLL SHA384 : public IteratedHashWithStaticTransform +class CRYPTOPP_DLL SHA384 : public IteratedHashWithStaticTransform { public: static void CRYPTOPP_API InitState(HashWordType *state); diff --git a/sha3.cpp b/sha3.cpp index 7db82c19..9ab24ec8 100644 --- a/sha3.cpp +++ b/sha3.cpp @@ -251,17 +251,23 @@ static void KeccakF1600(word64 *state) void SHA3::Update(const byte *input, size_t length) { + assert((input && length) || !(input || length)); + if (!length) + return; + size_t spaceLeft; while (length >= (spaceLeft = r() - m_counter)) { - xorbuf(m_state.BytePtr() + m_counter, input, spaceLeft); + if (spaceLeft) + xorbuf(m_state.BytePtr() + m_counter, input, spaceLeft); KeccakF1600(m_state); input += spaceLeft; length -= spaceLeft; m_counter = 0; } - xorbuf(m_state.BytePtr() + m_counter, input, length); + if (length) + xorbuf(m_state.BytePtr() + m_counter, input, length); m_counter += (unsigned int)length; } diff --git a/sha3.h b/sha3.h index 232bae56..83d8432e 100644 --- a/sha3.h +++ b/sha3.h @@ -1,5 +1,9 @@ // sha3.h - written and placed in the public domain by Wei Dai +//! \file +//! \headerfile sha3.h +//! \brief Classes for SHA-3 message digests + #ifndef CRYPTOPP_SHA3_H #define CRYPTOPP_SHA3_H diff --git a/shacal2.h b/shacal2.h index 5a95f8be..70532102 100644 --- a/shacal2.h +++ b/shacal2.h @@ -1,9 +1,11 @@ +// shacal.h - written and placed in the public domain by Wei Dai + +//! \file shacal.h +//! \brief Classes for the SHACAL-2 block cipher + #ifndef CRYPTOPP_SHACAL2_H #define CRYPTOPP_SHACAL2_H -/** \file -*/ - #include "seckey.h" #include "secblock.h" diff --git a/shark.h b/shark.h index 2caad07e..41663fa1 100644 --- a/shark.h +++ b/shark.h @@ -1,9 +1,11 @@ +// shark.h - written and placed in the public domain by Wei Dai + +//! \file shark.h +//! \brief Classes for the SHARK block cipher + #ifndef CRYPTOPP_SHARK_H #define CRYPTOPP_SHARK_H -/** \file -*/ - #include "config.h" #include "seckey.h" #include "secblock.h" diff --git a/simple.h b/simple.h index 5d4df344..347dabac 100644 --- a/simple.h +++ b/simple.h @@ -1,7 +1,7 @@ // simple.h - written and placed in the public domain by Wei Dai -/*! \file - Simple non-interface classes derived from classes in cryptlib.h. -*/ + +//! \file simple.h +//! \brief Classes providing simple keying interfaces. #ifndef CRYPTOPP_SIMPLE_H #define CRYPTOPP_SIMPLE_H @@ -18,7 +18,10 @@ NAMESPACE_BEGIN(CryptoPP) -//! _ +//! \class ClonableImpl +//! \brief Base class for identifying alogorithm +//! \tparam BASE base class from which to derive +//! \tparam DERIVED class which to clone template class CRYPTOPP_NO_VTABLE ClonableImpl : public BASE { @@ -26,7 +29,11 @@ public: Clonable * Clone() const {return new DERIVED(*static_cast(this));} }; -//! _ +//! \class AlgorithmImpl +//! \brief Base class for identifying alogorithm +//! \tparam BASE an Algorithm derived class +//! \tparam ALGORITHM_INFO an Algorithm derived class +//! \details AlgorithmImpl provides StaticAlgorithmName from the template parameter BASE template class CRYPTOPP_NO_VTABLE AlgorithmImpl : public BASE { @@ -35,14 +42,16 @@ public: std::string AlgorithmName() const {return ALGORITHM_INFO::StaticAlgorithmName();} }; -//! _ +//! \class InvalidKeyLength +//! \brief Exception thrown when an invalid key length is encountered class CRYPTOPP_DLL InvalidKeyLength : public InvalidArgument { public: explicit InvalidKeyLength(const std::string &algorithm, size_t length) : InvalidArgument(algorithm + ": " + IntToString(length) + " is not a valid key length") {} }; -//! _ +//! \class InvalidRounds +//! \brief Exception thrown when an invalid number of rounds is encountered class CRYPTOPP_DLL InvalidRounds : public InvalidArgument { public: @@ -51,7 +60,9 @@ public: // ***************************** -//! _ +//! \class Bufferless +//! \brief Base class for bufferless filters +//! \tparam T the class or type template class CRYPTOPP_NO_VTABLE Bufferless : public T { @@ -60,7 +71,9 @@ public: {CRYPTOPP_UNUSED(hardFlush); CRYPTOPP_UNUSED(blocking); return false;} }; -//! _ +//! \class Unflushable +//! \brief Base class for unflushable filters +//! \tparam T the class or type template class CRYPTOPP_NO_VTABLE Unflushable : public T { @@ -84,7 +97,10 @@ protected: virtual bool InputBufferIsEmpty() const {return false;} }; -//! _ +//! \class InputRejecting +//! \brief Base class for input rejecting filters +//! \tparam T the class or type +//! \details T should be a BufferedTransformation derived class template class CRYPTOPP_NO_VTABLE InputRejecting : public T { @@ -92,32 +108,56 @@ public: struct InputRejected : public NotImplemented {InputRejected() : NotImplemented("BufferedTransformation: this object doesn't allow input") {}}; - // shouldn't be calling these functions on this class - size_t Put2(const byte *begin, size_t length, int messageEnd, bool blocking) - {CRYPTOPP_UNUSED(begin); CRYPTOPP_UNUSED(length); CRYPTOPP_UNUSED(messageEnd); CRYPTOPP_UNUSED(blocking); throw InputRejected();} + //! \name INPUT + //@{ + + //! \brief Input a byte array for processing + //! \param inString the byte array to process + //! \param length the size of the string, in bytes + //! \param messageEnd means how many filters to signal MessageEnd() to, including this one + //! \param blocking specifies whether the object should block when processing input + //! \throws InputRejected + //! \returns the number of bytes that remain in the block (i.e., bytes not processed) + //! \details Internally, the default implmentation throws InputRejected. + size_t Put2(const byte *inString, size_t length, int messageEnd, bool blocking) + {CRYPTOPP_UNUSED(inString); CRYPTOPP_UNUSED(length); CRYPTOPP_UNUSED(messageEnd); CRYPTOPP_UNUSED(blocking); throw InputRejected();} + //@} + + //! \name SIGNALS + //@{ bool IsolatedFlush(bool hardFlush, bool blocking) {CRYPTOPP_UNUSED(hardFlush); CRYPTOPP_UNUSED(blocking); return false;} bool IsolatedMessageSeriesEnd(bool blocking) {CRYPTOPP_UNUSED(blocking); throw InputRejected();} - size_t ChannelPut2(const std::string &channel, const byte *begin, size_t length, int messageEnd, bool blocking) - {CRYPTOPP_UNUSED(channel); CRYPTOPP_UNUSED(begin); CRYPTOPP_UNUSED(length); CRYPTOPP_UNUSED(messageEnd); CRYPTOPP_UNUSED(blocking); throw InputRejected();} + size_t ChannelPut2(const std::string &channel, const byte *inString, size_t length, int messageEnd, bool blocking) + {CRYPTOPP_UNUSED(channel); CRYPTOPP_UNUSED(inString); CRYPTOPP_UNUSED(length); CRYPTOPP_UNUSED(messageEnd); CRYPTOPP_UNUSED(blocking); throw InputRejected();} bool ChannelMessageSeriesEnd(const std::string& channel, int messageEnd, bool blocking) {CRYPTOPP_UNUSED(channel); CRYPTOPP_UNUSED(messageEnd); CRYPTOPP_UNUSED(blocking); throw InputRejected();} + //@} }; -//! _ +//! \class CustomFlushPropagation +//! \brief Provides interface for custom flush signals +//! \tparam T the class or type +//! \details T should be a BufferedTransformation derived class template class CRYPTOPP_NO_VTABLE CustomFlushPropagation : public T { public: + //! \name SIGNALS + //@{ virtual bool Flush(bool hardFlush, int propagation=-1, bool blocking=true) =0; + //@} private: bool IsolatedFlush(bool hardFlush, bool blocking) {CRYPTOPP_UNUSED(hardFlush); CRYPTOPP_UNUSED(blocking); assert(false); return false;} }; -//! _ +//! \class CustomSignalPropagation +//! \brief Provides interface for initialization of derived filters +//! \tparam T the class or type +//! \details T should be a BufferedTransformation derived class template class CRYPTOPP_NO_VTABLE CustomSignalPropagation : public CustomFlushPropagation { @@ -129,7 +169,10 @@ private: {CRYPTOPP_UNUSED(parameters); assert(false);} }; -//! _ +//! \class Multichannel +//! \brief Provides multiple channels support for custom flush signal processing +//! \tparam T the class or type +//! \details T should be a BufferedTransformation derived class template class CRYPTOPP_NO_VTABLE Multichannel : public CustomFlushPropagation { @@ -140,8 +183,8 @@ public: {return this->ChannelMessageSeriesEnd(DEFAULT_CHANNEL, propagation, blocking);} byte * CreatePutSpace(size_t &size) {return this->ChannelCreatePutSpace(DEFAULT_CHANNEL, size);} - size_t Put2(const byte *begin, size_t length, int messageEnd, bool blocking) - {return this->ChannelPut2(DEFAULT_CHANNEL, begin, length, messageEnd, blocking);} + size_t Put2(const byte *inString, size_t length, int messageEnd, bool blocking) + {return this->ChannelPut2(DEFAULT_CHANNEL, inString, length, messageEnd, blocking);} size_t PutModifiable2(byte *inString, size_t length, int messageEnd, bool blocking) {return this->ChannelPutModifiable2(DEFAULT_CHANNEL, inString, length, messageEnd, blocking);} @@ -159,7 +202,10 @@ public: virtual bool ChannelFlush(const std::string &channel, bool hardFlush, int propagation=-1, bool blocking=true) =0; }; -//! _ +//! \class AutoSignaling +//! \brief Provides auto signaling support +//! \tparam T the class or type +//! \details T should be a BufferedTransformation derived class template class CRYPTOPP_NO_VTABLE AutoSignaling : public T { @@ -175,7 +221,10 @@ private: int m_autoSignalPropagation; }; -//! A BufferedTransformation that only contains pre-existing data as "output" +//! \class Store +//! \brief Acts as a Source for pre-existing, static data +//! \tparam T the class or type +//! \details A BufferedTransformation that only contains pre-existing data as "output" class CRYPTOPP_DLL CRYPTOPP_NO_VTABLE Store : public AutoSignaling > { public: @@ -197,7 +246,16 @@ protected: bool m_messageEnd; }; -//! A BufferedTransformation that doesn't produce any retrievable output +//! \class Sink +//! \brief Implementation of BufferedTransformation's attachment interface +//! \details Sink is a cornerstone of the Pipeline trinitiy. Data flows from +//! Sources, through Filters, and then terminates in Sinks. The difference +//! between a Source and Filter is a Source \a pumps data, while a Filter does +//! not. The difference between a Filter and a Sink is a Filter allows an +//! attached transformation, while a Sink does not. +//! \details A Sink doesnot produce any retrievable output. +//! \details See the discussion of BufferedTransformation in cryptlib.h for +//! more details. class CRYPTOPP_DLL CRYPTOPP_NO_VTABLE Sink : public BufferedTransformation { public: @@ -207,14 +265,19 @@ public: {CRYPTOPP_UNUSED(target); CRYPTOPP_UNUSED(begin); CRYPTOPP_UNUSED(end); CRYPTOPP_UNUSED(channel); CRYPTOPP_UNUSED(blocking); return 0;} }; +//! \class BitBucket +//! \brief Acts as an input discarding Filter or Sink +//! \tparam T the class or type +//! \details The BitBucket discards all input and returns 0 to the caller +//! to indicate all data was processed. class CRYPTOPP_DLL BitBucket : public Bufferless { public: std::string AlgorithmName() const {return "BitBucket";} void IsolatedInitialize(const NameValuePairs ¶ms) {CRYPTOPP_UNUSED(params);} - size_t Put2(const byte *begin, size_t length, int messageEnd, bool blocking) - {CRYPTOPP_UNUSED(begin); CRYPTOPP_UNUSED(length); CRYPTOPP_UNUSED(messageEnd); CRYPTOPP_UNUSED(blocking); return 0;} + size_t Put2(const byte *inString, size_t length, int messageEnd, bool blocking) + {CRYPTOPP_UNUSED(inString); CRYPTOPP_UNUSED(length); CRYPTOPP_UNUSED(messageEnd); CRYPTOPP_UNUSED(blocking); return 0;} }; NAMESPACE_END diff --git a/skipjack.h b/skipjack.h index 8f35f57c..2b2fbfe7 100644 --- a/skipjack.h +++ b/skipjack.h @@ -1,9 +1,11 @@ +// skipjack.h - written and placed in the public domain by Wei Dai + +//! \file skipjack.h +//! \brief Classes for the SKIPJACK block cipher + #ifndef CRYPTOPP_SKIPJACK_H #define CRYPTOPP_SKIPJACK_H -/** \file -*/ - #include "seckey.h" #include "secblock.h" diff --git a/smartptr.h b/smartptr.h index 068ab52c..cbacb79f 100644 --- a/smartptr.h +++ b/smartptr.h @@ -1,3 +1,9 @@ +// smartptr.h - written and placed in the public domain by Wei Dai + +//! \file +//! \headerfile smartptr.h +//! \brief Classes for automatic resource management + #ifndef CRYPTOPP_SMARTPTR_H #define CRYPTOPP_SMARTPTR_H @@ -6,6 +12,11 @@ NAMESPACE_BEGIN(CryptoPP) +//! \class simple_ptr +//! \brief Manages resources for a single object +//! \tparam T class or type +//! \details \p simple_ptr is used frequently in the library to manage resources and +//! ensure cleanup under the RAII pattern (Resource Acquisition Is Initialization). template class simple_ptr { public: @@ -19,7 +30,12 @@ public: T *m_p; }; -// Expanded use of member_ptr due to https://github.com/weidai11/cryptopp/issues/48 +//! \class member_ptr +//! \brief Pointer that overloads operator→ +//! \tparam T class or type +//! \details member_ptr is used frequently in the library to avoid the issues related to +//! std::auto_ptr in C++11 (deprecated) and std::unique_ptr in C++03 (non-existent). +//! \bug Issue 48: "Use of auto_ptr causes dirty compile under C++11" template class member_ptr { public: @@ -57,6 +73,9 @@ template void member_ptr::reset(T *p) {delete m_p; m_p = p;} // ******************************************************** +//! \class value_ptr +//! \brief Value pointer +//! \tparam T class or type template class value_ptr : public member_ptr { public: @@ -82,6 +101,10 @@ template value_ptr& value_ptr::operator=(const value_ptr& rhs // ******************************************************** +//! \class clonable_ptr +//! \brief A pointer which can be copied and cloned +//! \tparam T class or type +//! \details \p T should adhere to the \p Clonable interface template class clonable_ptr : public member_ptr { public: @@ -103,8 +126,11 @@ template clonable_ptr& clonable_ptr::operator=(const clonable_pt // ******************************************************** -//! reference counted pointer -//! /details users should declare \p m_referenceCount as `std::atomic` under C++ 11 +//! \class counted_ptr +//! \brief Reference counted pointer +//! \tparam T class or type +//! \details users should declare \p m_referenceCount as std::atomic +//! (or similar) under C++ 11 template class counted_ptr { public: @@ -194,10 +220,18 @@ template counted_ptr & counted_ptr::operator=(const counted_ptr< // ******************************************************** -//! Manages the resource of an vector of T. +//! \class vector_ptr +//! \brief Manages resources for an array of objects +//! \tparam T class or type +//! \details \p vector_ptr is used frequently in the library to avoid large stack allocations, +//! and manage resources and ensure cleanup under the RAII pattern (Resource Acquisition +//! Is Initialization). template class vector_ptr { public: + //! Construct an arry of \p T + //! \param size the size of the array, in elements + //! \details If \p T is a Plain Old Dataype (POD), then the array is uninitialized. vector_ptr(size_t size=0) : m_size(size), m_ptr(new T[m_size]) {} ~vector_ptr() @@ -244,9 +278,15 @@ private: // ******************************************************** +//! \class vector_member_ptrs +//! \brief Manages resources for an array of objects +//! \tparam T class or type template class vector_member_ptrs { public: + //! Construct an arry of \p T + //! \param size the size of the array, in elements + //! \details If \p T is a Plain Old Dataype (POD), then the array is uninitialized. vector_member_ptrs(size_t size=0) : m_size(size), m_ptr(new member_ptr[size]) {} ~vector_member_ptrs() diff --git a/sosemanuk.cpp b/sosemanuk.cpp index 6e32d767..4b3bd0fe 100644 --- a/sosemanuk.cpp +++ b/sosemanuk.cpp @@ -90,7 +90,7 @@ void SosemanukPolicy::CipherResynchronize(byte *keystreamBuffer, const byte *iv, extern "C" { word32 s_sosemanukMulTables[512] = { -#if CRYPTOPP_BOOL_X86 || (CRYPTOPP_BOOL_X32 && !defined(CRYPTOPP_DISABLE_SOSEMANUK_ASM)) || CRYPTOPP_BOOL_X64 +#if (CRYPTOPP_BOOL_X86 || CRYPTOPP_BOOL_X32 || CRYPTOPP_BOOL_X64) && !defined(CRYPTOPP_DISABLE_SOSEMANUK_ASM) 0x00000000, 0xE19FCF12, 0x6B973724, 0x8A08F836, 0xD6876E48, 0x3718A15A, 0xBD10596C, 0x5C8F967E, 0x05A7DC90, 0xE4381382, 0x6E30EBB4, 0x8FAF24A6, @@ -288,7 +288,7 @@ word32 s_sosemanukMulTables[512] = { }; } -#if CRYPTOPP_BOOL_X86 || (CRYPTOPP_BOOL_X32 && !defined(CRYPTOPP_DISABLE_SOSEMANUK_ASM)) || CRYPTOPP_BOOL_X64 +#if (CRYPTOPP_BOOL_X86 || CRYPTOPP_BOOL_X32 || CRYPTOPP_BOOL_X64) && !defined(CRYPTOPP_DISABLE_SOSEMANUK_ASM) unsigned int SosemanukPolicy::GetAlignment() const { #if CRYPTOPP_BOOL_SSE2_ASM_AVAILABLE && !defined(CRYPTOPP_DISABLE_SOSEMANUK_ASM) @@ -321,7 +321,7 @@ unsigned int SosemanukPolicy::GetOptimalBlockSize() const #ifdef CRYPTOPP_X64_MASM_AVAILABLE extern "C" { void Sosemanuk_OperateKeystream(size_t iterationCount, const byte *input, byte *output, word32 *state); -} +} #endif void SosemanukPolicy::OperateKeystream(KeystreamOperation operation, byte *output, const byte *input, size_t iterationCount) @@ -358,7 +358,7 @@ void SosemanukPolicy::OperateKeystream(KeystreamOperation operation, byte *outpu #endif __asm__ __volatile__ ( - ".intel_syntax noprefix;" + INTEL_NOPREFIX AS_PUSH_IF86( bx) #else word32 *state = m_state; @@ -385,7 +385,7 @@ void SosemanukPolicy::OperateKeystream(KeystreamOperation operation, byte *outpu #define SSE2_stateCopy SSE2_workspace + 8*WORD_SZ #define SSE2_uvStart SSE2_stateCopy + 12*4 -#if CRYPTOPP_BOOL_X86 || (CRYPTOPP_BOOL_X32 && !defined(CRYPTOPP_DISABLE_SOSEMANUK_ASM)) +#if (CRYPTOPP_BOOL_X86) && !defined(CRYPTOPP_DISABLE_SOSEMANUK_ASM) AS_PUSH_IF86( bp) AS2( mov AS_REG_6, esp) AS2( and esp, -16) @@ -599,7 +599,7 @@ void SosemanukPolicy::OperateKeystream(KeystreamOperation operation, byte *outpu #ifdef __GNUC__ AS_POP_IF86( bx) - ".att_syntax prefix;" + ATT_PREFIX : : "a" (m_state.m_ptr), "c" (iterationCount), "S" (s_sosemanukMulTables), "D" (output), "d" (input) #if CRYPTOPP_BOOL_X64 @@ -625,7 +625,7 @@ void SosemanukPolicy::OperateKeystream(KeystreamOperation operation, byte *outpu #endif #ifndef CRYPTOPP_GENERATE_X64_MASM { -#if CRYPTOPP_BOOL_X86 || (CRYPTOPP_BOOL_X32 && !defined(CRYPTOPP_DISABLE_SOSEMANUK_ASM)) || CRYPTOPP_BOOL_X64 +#if (CRYPTOPP_BOOL_X86 || CRYPTOPP_BOOL_X32 || CRYPTOPP_BOOL_X64) && !defined(CRYPTOPP_DISABLE_SOSEMANUK_ASM) #define MUL_A(x) (x = rotlFixed(x, 8), x ^ s_sosemanukMulTables[byte(x)]) #else #define MUL_A(x) (((x) << 8) ^ s_sosemanukMulTables[(x) >> 24]) diff --git a/sosemanuk.h b/sosemanuk.h index 5ea8c72c..5b32ee85 100644 --- a/sosemanuk.h +++ b/sosemanuk.h @@ -1,10 +1,17 @@ +// sosemanuk.h - written and placed in the public domain by Wei Dai + +//! \file sosemanuk.h +//! \brief Classes for Sosemanuk stream cipher + #ifndef CRYPTOPP_SOSEMANUK_H #define CRYPTOPP_SOSEMANUK_H #include "strciphr.h" #include "secblock.h" -#if CRYPTOPP_BOOL_X32 +// Clang due to "Inline assembly operands don't work with .intel_syntax" +// https://llvm.org/bugs/show_bug.cgi?id=24232 +#if CRYPTOPP_BOOL_X32 || defined(CRYPTOPP_DISABLE_INTEL_ASM) # define CRYPTOPP_DISABLE_SOSEMANUK_ASM #endif @@ -24,7 +31,7 @@ protected: void OperateKeystream(KeystreamOperation operation, byte *output, const byte *input, size_t iterationCount); void CipherResynchronize(byte *keystreamBuffer, const byte *iv, size_t length); bool CipherIsRandomAccess() const {return false;} -#if CRYPTOPP_BOOL_X86 || (CRYPTOPP_BOOL_X32 && !defined(CRYPTOPP_DISABLE_SOSEMANUK_ASM)) || CRYPTOPP_BOOL_X64 +#if (CRYPTOPP_BOOL_X86 || CRYPTOPP_BOOL_X32 || CRYPTOPP_BOOL_X64) && !defined(CRYPTOPP_DISABLE_SOSEMANUK_ASM) unsigned int GetAlignment() const; unsigned int GetOptimalBlockSize() const; #endif diff --git a/square.h b/square.h index b1340a70..2565f1cf 100644 --- a/square.h +++ b/square.h @@ -1,9 +1,11 @@ +// square.h - written and placed in the public domain by Wei Dai + +//! \file square.h +//! \brief Classes for the Square block cipher + #ifndef CRYPTOPP_SQUARE_H #define CRYPTOPP_SQUARE_H -/** \file -*/ - #include "seckey.h" #include "secblock.h" diff --git a/stdcpp.h b/stdcpp.h index 7b6b8fe4..b7384f29 100644 --- a/stdcpp.h +++ b/stdcpp.h @@ -10,29 +10,19 @@ #include #include #include +#include #include #include #include -#include #include +#include +#include #include #include -// GCC began indirectly including wmmintrin.h via . Or, maybe it was -// doing it all along, but we did not experience issues. -// The net result is a number of C++11 compile failures on the _mm_* intrinsics -// from cpu.h. The _mm_* collisions are on AES and PCLMUL intrinsics (they -// are the only intrinsics in the file). -// TODO: perhaps use a namespace to resolve the symbol collisions. That -// needs to occur when symbols can change, which is a major bump. -#if defined(__GNUC__) && defined(CRYPTOPP_CXX11) && (CRYPTOPP_GCC_VERSION >= 40300) -# pragma push_macro("_WMMINTRIN_H_INCLUDED") -# undef _WMMINTRIN_H_INCLUDED -# define _WMMINTRIN_H_INCLUDED -# include -# pragma pop_macro("_WMMINTRIN_H_INCLUDED") -#else -# include +#if _MSC_VER >= 1600 +// for make_unchecked_array_iterator +#include #endif #include @@ -49,9 +39,9 @@ // for alloca #if defined(CRYPTOPP_BSD_AVAILABLE) #include -#elif defined(CRYPTOPP_UNIX_AVAILABLE) || defined(__sun) +#elif defined(CRYPTOPP_UNIX_AVAILABLE) || defined(__sun) || defined(QNX) #include -#elif defined(CRYPTOPP_WIN32_AVAILABLE) || defined(__MINGW32__) || defined(__BORLANDC__) +#elif defined(CRYPTOPP_WIN32_AVAILABLE) || defined(__MINGW32__) || defined(__BORLANDC__) #include #endif diff --git a/tea.h b/tea.h index de511458..39923924 100644 --- a/tea.h +++ b/tea.h @@ -1,9 +1,11 @@ +// tea.h - written and placed in the public domain by Wei Dai + +//! \file tea.h +//! \brief Classes for the TEA, BTEA and XTEA block ciphers + #ifndef CRYPTOPP_TEA_H #define CRYPTOPP_TEA_H -/** \file -*/ - #include "seckey.h" #include "secblock.h" #include "misc.h" diff --git a/test.cpp b/test.cpp index 07e37bb9..646f09ea 100644 --- a/test.cpp +++ b/test.cpp @@ -25,9 +25,11 @@ #include "validate.h" #include "bench.h" -#include -#include #include +#include +#include +#include +#include #include #ifdef CRYPTOPP_WIN32_AVAILABLE @@ -106,6 +108,7 @@ void FIPS140_SampleApplication(); void FIPS140_GenerateRandomFiles(); bool Validate(int, bool, const char *); +void PrintSeedAndThreads(const std::string& seed); int (*AdhocTest)(int argc, char *argv[]) = NULL; @@ -115,21 +118,6 @@ RandomNumberGenerator & GlobalRNG() return dynamic_cast(s_globalRNG); } -void PrintSeedAndThreads(const std::string& seed) -{ - cout << "Using seed: " << seed << endl; - -#ifdef _OPENMP - int tc = 0; - #pragma omp parallel - { - tc = omp_get_num_threads(); - } - - std::cout << "Using " << tc << " OMP " << (tc == 1 ? "thread" : "threads") << std::endl; -#endif -} - int CRYPTOPP_API main(int argc, char *argv[]) { #ifdef _CRTDBG_LEAK_CHECK_DF @@ -144,14 +132,12 @@ int CRYPTOPP_API main(int argc, char *argv[]) #endif try - { + { RegisterFactories(); - std::string seed = IntToString(time(NULL)); - - // Some editors have problems with the '\0' character from redirected output. Leave the trailing '\0' for debugging. - seed.resize(16); - std::replace(seed.begin(), seed.end() -1, '\0', ' '); + // Some editors have problems with the '\0' character when redirecting output. + std::string seed = IntToString(time(NULL)); + seed.resize(16, ' '); OFB_Mode::Encryption& prng = dynamic_cast::Encryption&>(GlobalRNG()); prng.SetKeyWithIV((byte *)seed.data(), 16, (byte *)seed.data()); @@ -343,20 +329,20 @@ int CRYPTOPP_API main(int argc, char *argv[]) cout << "\nRandom Seed: "; ws(cin); cin.getline(thisSeed, 1024); - SecretShareFile(atoi(argv[2]), atoi(argv[3]), argv[4], thisSeed); + SecretShareFile(StringToValue(argv[2]), StringToValue(argv[3]), argv[4], thisSeed); } else if (command == "sr") SecretRecoverFile(argc-3, argv[2], argv+3); else if (command == "id") - InformationDisperseFile(atoi(argv[2]), atoi(argv[3]), argv[4]); + InformationDisperseFile(StringToValue(argv[2]), StringToValue(argv[3]), argv[4]); else if (command == "ir") InformationRecoverFile(argc-3, argv[2], argv+3); else if (command == "v" || command == "vv") - return !Validate(argc>2 ? atoi(argv[2]) : 0, argv[1][1] == 'v', argc>3 ? argv[3] : NULL); + return !Validate(argc>2 ? StringToValue(argv[2]) : 0, argv[1][1] == 'v', argc>3 ? argv[3] : NULL); else if (command == "b") - BenchmarkAll(argc<3 ? 1 : atof(argv[2]), argc<4 ? 0 : atof(argv[3])*1e9); + BenchmarkAll(argc<3 ? 1 : StringToValue(argv[2]), argc<4 ? 0 : StringToValue(argv[3])*1e9); else if (command == "b2") - BenchmarkAll2(argc<3 ? 1 : atof(argv[2]), argc<4 ? 0 : atof(argv[3])*1e9); + BenchmarkAll2(argc<3 ? 1 : StringToValue(argv[2]), argc<4 ? 0 : StringToValue(argv[3])*1e9); else if (command == "z") GzipFile(argv[3], argv[4], argv[2][0]-'0'); else if (command == "u") @@ -423,6 +409,52 @@ void FIPS140_GenerateRandomFiles() #endif } +template +T StringToValue(const std::string& str) { + std::istringstream iss(str); + T value; + iss >> value; + + // Use fail(), not bad() + if (iss.fail()) + throw InvalidArgument("cryptest.exe: '" + str +"' is not a value"); + +#if NON_NEGATIVE + if (value < 0) + throw InvalidArgument("cryptest.exe: '" + str +"' is negative"); +#endif + + return value; +} + +template<> +int StringToValue(const std::string& str) +{ + Integer n(str.c_str()); + long l = n.ConvertToLong(); + + int r; + if(!SafeConvert(l, r)) + throw InvalidArgument("cryptest.exe: '" + str +"' is not an integer value"); + + return r; +} + +void PrintSeedAndThreads(const std::string& seed) +{ + cout << "Using seed: " << seed << endl; + +#ifdef _OPENMP + int tc = 0; + #pragma omp parallel + { + tc = omp_get_num_threads(); + } + + std::cout << "Using " << tc << " OMP " << (tc == 1 ? "thread" : "threads") << std::endl; +#endif +} + SecByteBlock HexDecodeString(const char *hex) { StringSource ss(hex, true, new HexDecoder); @@ -585,7 +617,9 @@ void DecryptFile(const char *in, const char *out, const char *passPhrase) void SecretShareFile(int threshold, int nShares, const char *filename, const char *seed) { - assert(nShares<=1000); + assert(nShares >= 1 && nShares<=1000); + if (nShares < 1 || nShares > 1000) + throw InvalidArgument("SecretShareFile: " + IntToString(nShares) + " is not in range [1, 1000]"); RandomPool rng; rng.IncorporateEntropy((byte *)seed, strlen(seed)); @@ -604,7 +638,7 @@ void SecretShareFile(int threshold, int nShares, const char *filename, const cha fileSinks[i].reset(new FileSink((string(filename)+extension).c_str())); channel = WordToString(i); - fileSinks[i]->Put((byte *)channel.data(), 4); + fileSinks[i]->Put((const byte *)channel.data(), 4); channelSwitch->AddRoute(channel, *fileSinks[i], DEFAULT_CHANNEL); } @@ -613,7 +647,9 @@ void SecretShareFile(int threshold, int nShares, const char *filename, const cha void SecretRecoverFile(int threshold, const char *outFilename, char *const *inFilenames) { - assert(threshold<=1000); + assert(threshold >= 1 && threshold <=1000); + if (threshold < 1 || threshold > 1000) + throw InvalidArgument("SecretRecoverFile: " + IntToString(threshold) + " is not in range [1, 1000]"); SecretRecovery recovery(threshold, new FileSink(outFilename)); @@ -638,7 +674,9 @@ void SecretRecoverFile(int threshold, const char *outFilename, char *const *inFi void InformationDisperseFile(int threshold, int nShares, const char *filename) { - assert(nShares<=1000); + assert(threshold >= 1 && threshold <=1000); + if (threshold < 1 || threshold > 1000) + throw InvalidArgument("InformationDisperseFile: " + IntToString(nShares) + " is not in range [1, 1000]"); ChannelSwitch *channelSwitch; FileSource source(filename, false, new InformationDispersal(threshold, nShares, channelSwitch = new ChannelSwitch)); @@ -654,7 +692,7 @@ void InformationDisperseFile(int threshold, int nShares, const char *filename) fileSinks[i].reset(new FileSink((string(filename)+extension).c_str())); channel = WordToString(i); - fileSinks[i]->Put((byte *)channel.data(), 4); + fileSinks[i]->Put((const byte *)channel.data(), 4); channelSwitch->AddRoute(channel, *fileSinks[i], DEFAULT_CHANNEL); } @@ -664,6 +702,8 @@ void InformationDisperseFile(int threshold, int nShares, const char *filename) void InformationRecoverFile(int threshold, const char *outFilename, char *const *inFilenames) { assert(threshold<=1000); + if (threshold < 1 || threshold > 1000) + throw InvalidArgument("InformationRecoverFile: " + IntToString(threshold) + " is not in range [1, 1000]"); InformationRecovery recovery(threshold, new FileSink(outFilename)); @@ -755,8 +795,12 @@ void ForwardTcpPort(const char *sourcePortName, const char *destinationHost, con sockListen.Create(); sockListen.Bind(sourcePort); - setsockopt(sockListen, IPPROTO_TCP, TCP_NODELAY, "\x01", 1); - + + int err = setsockopt(sockListen, IPPROTO_TCP, TCP_NODELAY, "\x01", 1); + assert(err == 0); + if(err != 0) + throw Socket::Err(sockListen, "setsockopt", sockListen.GetLastError()); + cout << "Listing on port " << sourcePort << ".\n"; sockListen.Listen(); @@ -810,11 +854,10 @@ bool Validate(int alg, bool thorough, const char *seedInput) { bool result; - std::string seed = seedInput ? std::string(seedInput) : IntToString(time(NULL)); - - // Some editors have problems with the '\0' character from redirected output. Leave the trailing '\0' for debugging. - seed.resize(16); - std::replace(seed.begin(), seed.end() -1, '\0', ' '); + // Some editors have problems with the '\0' character when redirecting output. + // seedInput is argv[3] when issuing 'cryptest.exe v all ' + std::string seed = (seedInput ? seedInput : IntToString(time(NULL))); + seed.resize(16, ' '); OFB_Mode::Encryption& prng = dynamic_cast::Encryption&>(GlobalRNG()); prng.SetKeyWithIV((byte *)seed.data(), 16, (byte *)seed.data()); @@ -897,7 +940,7 @@ bool Validate(int alg, bool thorough, const char *seedInput) } // Safer functions on Windows for C&A, https://github.com/weidai11/cryptopp/issues/55 -#if defined(CRYPTOPP_MSC_VERSION) +#if (CRYPTOPP_MSC_VERSION >= 1400) tm localTime = {}; char timeBuf[64]; errno_t err; diff --git a/tiger.cpp b/tiger.cpp index bf662ce6..534337f8 100644 --- a/tiger.cpp +++ b/tiger.cpp @@ -40,7 +40,7 @@ void Tiger::Transform (word64 *digest, const word64 *X) #ifdef __GNUC__ __asm__ __volatile__ ( - ".intel_syntax noprefix;" + INTEL_NOPREFIX AS_PUSH_IF86(bx) #else #if _MSC_VER < 1300 @@ -205,7 +205,7 @@ void Tiger::Transform (word64 *digest, const word64 *X) #ifdef __GNUC__ AS_POP_IF86(bx) - ".att_syntax prefix;" + ATT_PREFIX : : "a" (digest), "S" (X), "d" (table) : "%ecx", "%edi", "memory", "cc" diff --git a/trdlocal.cpp b/trdlocal.cpp index cff44a72..3c450d6a 100644 --- a/trdlocal.cpp +++ b/trdlocal.cpp @@ -28,10 +28,13 @@ ThreadLocalStorage::ThreadLocalStorage() { #ifdef HAS_WINTHREADS m_index = TlsAlloc(); + assert(m_index != TLS_OUT_OF_INDEXES); if (m_index == TLS_OUT_OF_INDEXES) throw Err("TlsAlloc", GetLastError()); #else + m_index = 0; int error = pthread_key_create(&m_index, NULL); + assert(!error); if (error) throw Err("pthread_key_create", error); #endif @@ -82,9 +85,14 @@ void *ThreadLocalStorage::GetValue() const { #ifdef HAS_WINTHREADS void *result = TlsGetValue(m_index); - if (!result && GetLastError() != NO_ERROR) - throw Err("TlsGetValue", GetLastError()); + const DWORD dwRet = GetLastError(); + + assert(result || (!result && (dwRet == NO_ERROR))); + if (!result && dwRet != NO_ERROR) + throw Err("TlsGetValue", dwRet); #else + // Null is a valid return value. Posix does not provide a way to + // check for a "good" Null vs a "bad" Null (errno is not set). void *result = pthread_getspecific(m_index); #endif return result; diff --git a/ttmac.cpp b/ttmac.cpp index 6b4e8bfe..98954370 100644 --- a/ttmac.cpp +++ b/ttmac.cpp @@ -43,10 +43,10 @@ void TTMAC_Base::TruncatedFinal(byte *hash, size_t size) { case 16: m_digest[3] += m_digest[1] + m_digest[4]; - + // fall through case 12: m_digest[2] += m_digest[0] + t3; - + // fall through case 8: m_digest[0] += m_digest[1] + t3; m_digest[1] += m_digest[4] + t2; diff --git a/twofish.h b/twofish.h index bc35fba5..f93395d7 100644 --- a/twofish.h +++ b/twofish.h @@ -1,9 +1,11 @@ +// twofish.h - written and placed in the public domain by Wei Dai + +//! \file twofish.h +//! \brief Classes for the Twofish block cipher + #ifndef CRYPTOPP_TWOFISH_H #define CRYPTOPP_TWOFISH_H -/** \file -*/ - #include "seckey.h" #include "secblock.h" diff --git a/validat1.cpp b/validat1.cpp index 478199f5..1d614636 100644 --- a/validat1.cpp +++ b/validat1.cpp @@ -32,6 +32,8 @@ #include "rc6.h" #include "mars.h" #include "aes.h" +#include "cpu.h" +#include "rng.h" #include "rijndael.h" #include "twofish.h" #include "serpent.h" @@ -42,7 +44,7 @@ #include "rdrand.h" #include "zdeflate.h" #include "smartptr.h" -#include "cpu.h" +#include "channels.h" #include #include @@ -64,8 +66,18 @@ bool ValidateAll(bool thorough) bool pass=TestSettings(); pass=TestOS_RNG() && pass; pass=TestAutoSeeded() && pass; + +#if (CRYPTOPP_BOOL_X86 || CRYPTOPP_BOOL_X32 || CRYPTOPP_BOOL_X64) pass=TestRDRAND() && pass; pass=TestRDSEED() && pass; +#else + +#endif + +#if !defined(NDEBUG) && !defined(CRYPTOPP_IMPORTS) + // http://github.com/weidai11/cryptopp/issues/64 + pass=TestPolynomialMod2() && pass; +#endif pass=ValidateCRC32() && pass; pass=ValidateAdler32() && pass; @@ -145,6 +157,11 @@ bool ValidateAll(bool thorough) bool TestSettings() { + // Thanks to IlyaBizyaev and Zireael-N, http://github.com/weidai11/cryptopp/issues/28 +#if defined(__MINGW32__) + using CryptoPP::memcpy_s; +#endif + bool pass = true; cout << "\nTesting Settings...\n\n"; @@ -262,9 +279,6 @@ bool TestSettings() bool hasSSSE3 = HasSSSE3(); bool isP4 = IsP4(); int cacheLineSize = GetCacheLineSize(); - - // Hack to avoid changing CPU.h and CPU.cpp at the moment. Eventually, a hasRDRAND will be available. - RDRAND rdrand; RDSEED rdseed; if ((isP4 && (!hasMMX || !hasSSE2)) || (hasSSE2 && !hasMMX) || (cacheLineSize < 16 || cacheLineSize > 256 || !IsPowerOf2(cacheLineSize))) { @@ -274,7 +288,7 @@ bool TestSettings() else cout << "passed: "; - cout << "hasMMX == " << hasMMX << ", hasISSE == " << hasISSE << ", hasSSE2 == " << hasSSE2 << ", hasSSSE3 == " << hasSSSE3 << ", hasAESNI == " << HasAESNI() << ", hasRDRAND == " << rdrand.Available() << ", hasRDSEED == " << rdseed.Available() << ", hasCLMUL == " << HasCLMUL() << ", isP4 == " << isP4 << ", cacheLineSize == " << cacheLineSize; + cout << "hasMMX == " << hasMMX << ", hasISSE == " << hasISSE << ", hasSSE2 == " << hasSSE2 << ", hasSSSE3 == " << hasSSSE3 << ", hasAESNI == " << HasAESNI() << ", hasRDRAND == " << HasRDRAND() << ", hasRDSEED == " << HasRDSEED() << ", hasCLMUL == " << HasCLMUL() << ", isP4 == " << isP4 << ", cacheLineSize == " << cacheLineSize; cout << ", AESNI_INTRINSICS == " << CRYPTOPP_BOOL_AESNI_INTRINSICS_AVAILABLE << endl; #endif @@ -443,31 +457,56 @@ bool TestAutoSeeded() } #endif // NO_OS_DEPENDENCE +#if (CRYPTOPP_BOOL_X86 || CRYPTOPP_BOOL_X32 || CRYPTOPP_BOOL_X64) bool TestRDRAND() -{ +{ RDRAND rdrand; + bool entropy = true, compress = true, discard = true; + static const unsigned int SIZE = 10000; -#if defined(CRYPTOPP_BOOL_X86) || defined(CRYPTOPP_BOOL_X32) || defined(CRYPTOPP_BOOL_X64) - bool generate = true, discard = true; - if (rdrand.Available()) + if (HasRDRAND()) { cout << "\nTesting RDRAND generator...\n\n"; MeterFilter meter(new Redirector(TheBitBucket())); - RandomNumberSource test(rdrand, 100000, true, new Deflator(new Redirector(meter))); + Deflator deflator(new Redirector(meter)); + MaurerRandomnessTest maurer; - if (meter.GetTotalBytes() < 100000) + ChannelSwitch chsw; + chsw.AddDefaultRoute(deflator); + chsw.AddDefaultRoute(maurer); + + RandomNumberSource rns(rdrand, SIZE, true, new Redirector(chsw)); + deflator.Flush(true); + + assert(0 == maurer.BytesNeeded()); + const double mv = maurer.GetTestValue(); + if (mv < 0.98f) { cout << "FAILED:"; - generate = false; + entropy = false; } else cout << "passed:"; - cout << " 100000 generated bytes compressed to " << meter.GetTotalBytes() << " bytes by DEFLATE" << endl; + + const std::streamsize oldp = cout.precision(6); + const std::ios::fmtflags oldf = cout.setf(std::ios::fixed, std::ios::floatfield); + cout << " Maurer Randomness Test returned value " << mv << endl; + cout.precision(oldp); + cout.setf(oldf, std::ios::floatfield); + + if (meter.GetTotalBytes() < SIZE) + { + cout << "FAILED:"; + compress = false; + } + else + cout << "passed:"; + cout << " " << SIZE << " generated bytes compressed to " << meter.GetTotalBytes() << " bytes by DEFLATE\n"; try { - rdrand.DiscardBytes(100000); + rdrand.DiscardBytes(SIZE); } catch(const Exception&) { @@ -478,68 +517,68 @@ bool TestRDRAND() cout << "FAILED:"; else cout << "passed:"; - cout << " discarded 10000 bytes" << endl; + cout << " discarded " << SIZE << " bytes\n"; } else - cout << "\nRDRAND generator not available, skipping test." << endl; + cout << "\nRDRAND generator not available, skipping test.\n"; + + if (!(entropy && compress && discard)) + cout.flush(); - return generate && discard; -#else - bool available = true, generate = true; - if (rdrand.Available()) - { - available = false; /* failed */ - cout << "FAILED:"; - } - else - cout << "passed:"; - cout << " RDRAND generator availability." << endl; - - try - { - SecByteBlock unused(32); - rdrand.GenerateBlock(unused, unused.size()); - } - catch(const RDRAND_Err&) - { - generate = false; /* failed */ - } - - if (!pass) - cout << "FAILED:"; - else - cout << "passed:"; - cout << " GenerateBlock and exception." << endl; - - return available && generate; -#endif + return entropy && compress && discard; } +#endif +#if (CRYPTOPP_BOOL_X86 || CRYPTOPP_BOOL_X32 || CRYPTOPP_BOOL_X64) bool TestRDSEED() -{ - RDSEED rdrand; +{ + RDSEED rdseed; + bool entropy = true, compress = true, discard = true; + static const unsigned int SIZE = 10000; -#if defined(CRYPTOPP_BOOL_X86) || defined(CRYPTOPP_BOOL_X32) || defined(CRYPTOPP_BOOL_X64) - bool generate = true, discard = true; - if (rdrand.Available()) + if (HasRDSEED()) { cout << "\nTesting RDSEED generator...\n\n"; MeterFilter meter(new Redirector(TheBitBucket())); - RandomNumberSource test(rdrand, 100000, true, new Deflator(new Redirector(meter))); + Deflator deflator(new Redirector(meter)); + MaurerRandomnessTest maurer; - if (meter.GetTotalBytes() < 100000) + ChannelSwitch chsw; + chsw.AddDefaultRoute(deflator); + chsw.AddDefaultRoute(maurer); + + RandomNumberSource rns(rdseed, SIZE, true, new Redirector(chsw)); + deflator.Flush(true); + + assert(0 == maurer.BytesNeeded()); + const double mv = maurer.GetTestValue(); + if (mv < 0.98f) { cout << "FAILED:"; - generate = false; + entropy = false; } else cout << "passed:"; - cout << " 100000 generated bytes compressed to " << meter.GetTotalBytes() << " bytes by DEFLATE" << endl; + + const std::streamsize oldp = cout.precision(6); + const std::ios::fmtflags oldf = cout.setf(std::ios::fixed, std::ios::floatfield); + cout << " Maurer Randomness Test returned value " << mv << endl; + cout.precision(oldp); + cout.setf(oldf, std::ios::floatfield); + + if (meter.GetTotalBytes() < SIZE) + { + cout << "FAILED:"; + compress = false; + } + else + cout << "passed:"; + cout << " " << SIZE << " generated bytes compressed to " << meter.GetTotalBytes() << " bytes by DEFLATE\n"; try { - rdrand.DiscardBytes(100000); + rdseed.DiscardBytes(SIZE); } catch(const Exception&) { @@ -550,42 +589,17 @@ bool TestRDSEED() cout << "FAILED:"; else cout << "passed:"; - cout << " discarded 10000 bytes" << endl; + cout << " discarded " << SIZE << " bytes\n"; } else - cout << "\nRDSEED generator not available, skipping test." << endl; + cout << "\nRDSEED generator not available, skipping test.\n"; + + if (!(entropy && compress && discard)) + cout.flush(); - return generate && discard; -#else - bool available = true, generate = true; - if (rdrand.Available()) - { - available = false; /* failed */ - cout << "FAILED:"; - } - else - cout << "passed:"; - cout << " RDSEED generator availability." << endl; - - try - { - SecByteBlock unused(32); - rdrand.GenerateBlock(unused, unused.size()); - } - catch(const RDSEED_Err&) - { - generate = false; /* failed */ - } - - if (!pass) - cout << "FAILED:"; - else - cout << "passed:"; - cout << " GenerateBlock and exception." << endl; - - return available && generate; -#endif + return entropy && compress && discard; } +#endif // VC50 workaround typedef auto_ptr apbt; diff --git a/validat2.cpp b/validat2.cpp index 496eaaa7..3c6cd456 100644 --- a/validat2.cpp +++ b/validat2.cpp @@ -24,6 +24,7 @@ #include "rw.h" #include "eccrypto.h" #include "integer.h" +#include "gf2n.h" #include "ecp.h" #include "ec2n.h" #include "asn.h" @@ -35,6 +36,7 @@ #include "smartptr.h" #include +#include #include #include "validate.h" @@ -275,7 +277,7 @@ bool ValidateRSA() { const char *plain = "Everyone gets Friday off."; - byte *signature = (byte *) + static const byte signature[] = "\x05\xfa\x6a\x81\x2f\xc7\xdf\x8b\xf4\xf2\x54\x25\x09\xe0\x3e\x84" "\x6e\x11\xb9\xc6\x20\xbe\x20\x09\xef\xb4\x40\xef\xbc\xc6\x69\x21" "\x69\x94\xac\x04\xf3\x41\xb5\x7d\x05\x20\x2d\x42\x8f\xb2\xa2\x7b" @@ -321,12 +323,12 @@ bool ValidateRSA() { byte *plain = (byte *) "\x54\x85\x9b\x34\x2c\x49\xea\x2a"; - byte *encrypted = (byte *) + static const byte encrypted[] = "\x14\xbd\xdd\x28\xc9\x83\x35\x19\x23\x80\xe8\xe5\x49\xb1\x58\x2a" "\x8b\x40\xb4\x48\x6d\x03\xa6\xa5\x31\x1f\x1f\xd5\xf0\xa1\x80\xe4" "\x17\x53\x03\x29\xa9\x34\x90\x74\xb1\x52\x13\x54\x29\x08\x24\x52" "\x62\x51"; - byte *oaepSeed = (byte *) + static const byte oaepSeed[] = "\xaa\xfd\x12\xf6\x59\xca\xe6\x34\x89\xb4\x79\xe5\x07\x6d\xde\xc2" "\xf0\x6c\xb5\x8f"; ByteQueue bq; @@ -465,6 +467,7 @@ bool ValidateDSA(bool thorough) assert(pub.GetKey() == pub1.GetKey()); pass = SignatureValidate(priv, pub, thorough) && pass; pass = RunTestDataFile("TestVectors/dsa.txt", g_nullNameValuePairs, thorough) && pass; + return pass; } @@ -549,6 +552,120 @@ bool ValidateBlumGoldwasser() } */ +#if !defined(NDEBUG) && !defined(CRYPTOPP_IMPORTS) +// Issue 64: "PolynomialMod2::operator<<=", http://github.com/weidai11/cryptopp/issues/64 +bool TestPolynomialMod2() +{ + bool pass1 = true, pass2 = true, pass3 = true; + + cout << "\nTesting PolynomialMod2 bit operations...\n\n"; + + static const unsigned int start = 0; + static const unsigned int stop = 4 * WORD_BITS + 1; + + for (unsigned int i=start; i < stop; i++) + { + PolynomialMod2 p(1); + p <<= i; + + Integer n(Integer::One()); + n <<= i; + + std::ostringstream oss1; + oss1 << p; + + std::string str1, str2; + + // str1 needs the commas removed used for grouping + str1 = oss1.str(); + str1.erase(std::remove(str1.begin(), str1.end(), ','), str1.end()); + + // str1 needs the trailing 'b' removed + str1.erase(str1.end() - 1); + + // str2 is fine as-is + str2 = IntToString(n, 2); + + pass1 &= (str1 == str2); + } + + for (unsigned int i=start; i < stop; i++) + { + const word w(SIZE_MAX); + + PolynomialMod2 p(w); + p <<= i; + + Integer n(Integer::POSITIVE, static_cast(w)); + n <<= i; + + std::ostringstream oss1; + oss1 << p; + + std::string str1, str2; + + // str1 needs the commas removed used for grouping + str1 = oss1.str(); + str1.erase(std::remove(str1.begin(), str1.end(), ','), str1.end()); + + // str1 needs the trailing 'b' removed + str1.erase(str1.end() - 1); + + // str2 is fine as-is + str2 = IntToString(n, 2); + + pass2 &= (str1 == str2); + } + + RandomNumberGenerator& prng = GlobalRNG(); + for (unsigned int i=start; i < stop; i++) + { + word w; // Cast to lword due to Visual Studio + prng.GenerateBlock((byte*)&w, sizeof(w)); + + PolynomialMod2 p(w); + p <<= i; + + Integer n(Integer::POSITIVE, static_cast(w)); + n <<= i; + + std::ostringstream oss1; + oss1 << p; + + std::string str1, str2; + + // str1 needs the commas removed used for grouping + str1 = oss1.str(); + str1.erase(std::remove(str1.begin(), str1.end(), ','), str1.end()); + + // str1 needs the trailing 'b' removed + str1.erase(str1.end() - 1); + + // str2 is fine as-is + str2 = IntToString(n, 2); + + if (str1 != str2) + { + cout << " Oops..." << "\n"; + cout << " random: " << std::hex << n << std::dec << "\n"; + cout << " str1: " << str1 << "\n"; + cout << " str2: " << str2 << "\n"; + } + + pass3 &= (str1 == str2); + } + + cout << (!pass1 ? "FAILED" : "passed") << " " << "1 shifted over range [" << dec << start << "," << stop << "]" << "\n"; + cout << (!pass2 ? "FAILED" : "passed") << " " << "0x" << hex << word(SIZE_MAX) << dec << " shifted over range [" << start << "," << stop << "]" << "\n"; + cout << (!pass3 ? "FAILED" : "passed") << " " << "random values shifted over range [" << dec << start << "," << stop << "]" << "\n"; + + if (!(pass1 && pass2 && pass3)) + cout.flush(); + + return pass1 && pass2 && pass3; +} +#endif + bool ValidateECP() { cout << "\nECP validation suite running...\n\n"; @@ -668,7 +785,7 @@ bool ValidateECDSA() Integer h("A9993E364706816ABA3E25717850C26C9CD0D89DH"); Integer k("3eeace72b4919d991738d521879f787cb590aff8189d2b69H"); - byte sig[]="\x03\x8e\x5a\x11\xfb\x55\xe4\xc6\x54\x71\xdc\xd4\x99\x84\x52\xb1\xe0\x2d\x8a\xf7\x09\x9b\xb9\x30" + static const byte sig[]="\x03\x8e\x5a\x11\xfb\x55\xe4\xc6\x54\x71\xdc\xd4\x99\x84\x52\xb1\xe0\x2d\x8a\xf7\x09\x9b\xb9\x30" "\x0c\x9a\x08\xc3\x44\x68\xc2\x44\xb4\xe5\xd6\xb2\x1b\x3c\x68\x36\x28\x07\x41\x60\x20\x32\x8b\x6e"; Integer r(sig, 24); Integer s(sig+24, 24); @@ -703,8 +820,8 @@ bool ValidateESIGN() bool pass = true, fail; - const char *plain = "test"; - const byte *signature = (byte *) + static const char plain[] = "test"; + static const byte signature[] = "\xA3\xE3\x20\x65\xDE\xDA\xE7\xEC\x05\xC1\xBF\xCD\x25\x79\x7D\x99\xCD\xD5\x73\x9D\x9D\xF3\xA4\xAA\x9A\xA4\x5A\xC8\x23\x3D\x0D\x37\xFE\xBC\x76\x3F\xF1\x84\xF6\x59" "\x14\x91\x4F\x0C\x34\x1B\xAE\x9A\x5C\x2E\x2E\x38\x08\x78\x77\xCB\xDC\x3C\x7E\xA0\x34\x44\x5B\x0F\x67\xD9\x35\x2A\x79\x47\x1A\x52\x37\x71\xDB\x12\x67\xC1\xB6\xC6" "\x66\x73\xB3\x40\x2E\xD6\xF2\x1A\x84\x0A\xB6\x7B\x0F\xEB\x8B\x88\xAB\x33\xDD\xE4\x83\x21\x90\x63\x2D\x51\x2A\xB1\x6F\xAB\xA7\x5C\xFD\x77\x99\xF2\xE1\xEF\x67\x1A" diff --git a/validat3.cpp b/validat3.cpp index 137ad62f..2ab2d624 100644 --- a/validat3.cpp +++ b/validat3.cpp @@ -30,6 +30,7 @@ #include "smartptr.h" #include +#include #include #include "validate.h" @@ -60,6 +61,10 @@ bool HashModuleTest(HashTransformation &md, const HashTestTuple *testSet, unsign bool pass=true, fail; SecByteBlock digest(md.DigestSize()); + // Coverity finding (http://stackoverflow.com/a/30968371 does not squash the finding) + std::ostringstream out; + out.copyfmt(cout); + for (unsigned int i=0; i +T StringToValue(const std::string& str); +template<> +int StringToValue(const std::string& str); + +// Functions that need a RNG; uses AES inf CFB mode with Seed. CryptoPP::RandomNumberGenerator & GlobalRNG(); + bool RunTestDataFile(const char *filename, const CryptoPP::NameValuePairs &overrideParameters=CryptoPP::g_nullNameValuePairs, bool thorough=true); #endif diff --git a/vmac.cpp b/vmac.cpp index 249ea788..45c3d851 100644 --- a/vmac.cpp +++ b/vmac.cpp @@ -176,7 +176,7 @@ VMAC_Base::VHASH_Update_SSE2(const word64 *data, size_t blocksRemainingInWord64, ( AS2( mov %%ebx, %0) AS2( mov %1, %%ebx) - ".intel_syntax noprefix;" + INTEL_NOPREFIX #else #if _MSC_VER < 1300 || defined(__INTEL_COMPILER) char isFirstBlock = m_isFirstBlock; @@ -451,7 +451,7 @@ VMAC_Base::VHASH_Update_SSE2(const word64 *data, size_t blocksRemainingInWord64, AS_POP_IF86( bp) AS1( emms) #ifdef __GNUC__ - ".att_syntax prefix;" + ATT_PREFIX AS2( mov %0, %%ebx) : "=m" (temp) : "m" (L1KeyLength), "c" (blocksRemainingInWord64), "S" (data), "D" (nhK+tagPart*2), "d" (m_isFirstBlock), "a" (polyS+tagPart*4) diff --git a/vmac.h b/vmac.h index 2f9a8000..996457f8 100644 --- a/vmac.h +++ b/vmac.h @@ -11,7 +11,8 @@ NAMESPACE_BEGIN(CryptoPP) -/// . +//! \class VMAC_Base +//! \brief Class specific methods used to operate the MAC. class VMAC_Base : public IteratedHashBase { public: @@ -44,6 +45,10 @@ protected: void VHASH_Update_Template(const word64 *data, size_t blockRemainingInWord128); void VHASH_Update(const word64 *data, size_t blocksRemainingInWord128); +#if CRYPTOPP_DOXYGEN_PROCESSING + private: // hide from documentation +#endif + CRYPTOPP_BLOCK_1(polyState, word64, 4*(m_is128+1)) CRYPTOPP_BLOCK_2(nhKey, word64, m_L1KeyLength/sizeof(word64) + 2*m_is128) CRYPTOPP_BLOCK_3(data, byte, m_L1KeyLength) @@ -56,7 +61,14 @@ protected: int m_L1KeyLength; }; -/// VMAC +//! \class VMAC +//! \brief The VMAC message authentication code +//! \details VMAC is a block cipher-based message authentication code algorithm +//! using a universal hash proposed by Ted Krovetz and Wei Dai in April 2007. The +//! algorithm was designed for high performance backed by a formal analysis. +//! \tparam T_BlockCipher block cipher +//! \tparam T_DigestBitSize digest size, in bits +//! \sa VMAC at the Crypto Lounge. template class VMAC : public SimpleKeyingInterfaceImpl > { diff --git a/vs-clean.cmd b/vs-clean.cmd deleted file mode 100644 index 33cbc58c..00000000 --- a/vs-clean.cmd +++ /dev/null @@ -1,39 +0,0 @@ -@echo OFFse -REM set THIS_DIR=%~dp0 -set THIS_DIR=. - -attrib -R -A -S -H "%THIS_DIR%\*.aps" -attrib -R -A -S -H "%THIS_DIR%\*.ncb" -attrib -R -A -S -H "%THIS_DIR%\*.suo" -attrib -R -A -S -H "%THIS_DIR%\*.sdf" -attrib -R -A -S -H "%THIS_DIR%\*.user" - -del "%THIS_DIR%\*.aps" /q -del "%THIS_DIR%\*.ncb" /q -del "%THIS_DIR%\*.suo" /q -del "%THIS_DIR%\*.sdf" /q -del "%THIS_DIR%\*.user" /q -del "%THIS_DIR%\*.diff" /q -del "%THIS_DIR%\adhoc.cpp" /q -del "%THIS_DIR%\cryptopp.mac.done" /q -del "%THIS_DIR%\adhoc.cpp.copied" /q - -REM Visual Studio build artifacts -rmdir /Q /S "%THIS_DIR%\Debug\" -rmdir /Q /S "%THIS_DIR%\Release\" -rmdir /Q /S "%THIS_DIR%\Win32\" -rmdir /Q /S "%THIS_DIR%\x64\" -rmdir /Q /S "%THIS_DIR%\ipch\" -rmdir /Q /S "%THIS_DIR%\.vs\" - -REM Visual Studio VCUpgrade artifacts -del "%THIS_DIR%\*.old" /q -del "%THIS_DIR%\UpgradeLog.htm" /q -del "%THIS_DIR%\UpgradeLog.XML" /q -rmdir /Q /S "%THIS_DIR%\_UpgradeReport_Files\" -rmdir /Q /S "%THIS_DIR%\Backup\" - -REM New Visual Studio artifacts after a VCUpgrade 2010 -REM attrib -R -A -S -H "%THIS_DIR%\*.filters" -REM del "%THIS_DIR%\*.filters" /q -REM del "%THIS_DIR%\*.vcxproj" /q \ No newline at end of file diff --git a/vs2010.zip b/vs2010.zip index 85e01012..b4cc9e3d 100644 Binary files a/vs2010.zip and b/vs2010.zip differ diff --git a/wait.cpp b/wait.cpp index 6306ae40..43a6c275 100644 --- a/wait.cpp +++ b/wait.cpp @@ -32,7 +32,7 @@ unsigned int WaitObjectContainer::MaxWaitObjects() } WaitObjectContainer::WaitObjectContainer(WaitObjectsTracer* tracer) - : m_tracer(tracer), m_eventTimer(Timer::MILLISECONDS) + : m_tracer(tracer), m_eventTimer(Timer::MILLISECONDS), m_lastResult(0) , m_sameResultCount(0), m_noWaitTimer(Timer::MILLISECONDS) { Clear(); diff --git a/wake.cpp b/wake.cpp index ac270ab3..4a9bc340 100644 --- a/wake.cpp +++ b/wake.cpp @@ -7,11 +7,13 @@ NAMESPACE_BEGIN(CryptoPP) +#if !defined(NDEBUG) && !defined(CRYPTOPP_DOXYGEN_PROCESSING) void WAKE_TestInstantiations() { WAKE_OFB<>::Encryption x2; WAKE_OFB<>::Decryption x4; } +#endif inline word32 WAKE_Base::M(word32 x, word32 y) { diff --git a/wake.h b/wake.h index b7e101b3..28c00e02 100644 --- a/wake.h +++ b/wake.h @@ -1,3 +1,8 @@ +// wake.h - written and placed in the public domain by Wei Dai + +//! \file wake.h +//! \brief Classes for WAKE stream cipher + #ifndef CRYPTOPP_WAKE_H #define CRYPTOPP_WAKE_H diff --git a/whrlpool.cpp b/whrlpool.cpp index bf20aee4..087966fa 100644 --- a/whrlpool.cpp +++ b/whrlpool.cpp @@ -74,12 +74,23 @@ #include "misc.h" #include "cpu.h" +// "Inline assembly operands don't work with .intel_syntax", +// http://llvm.org/bugs/show_bug.cgi?id=24232 +#if defined(CRYPTOPP_DISABLE_INTEL_ASM) +# undef CRYPTOPP_BOOL_SSE2_ASM_AVAILABLE +# undef CRYPTOPP_BOOL_SSSE3_ASM_AVAILABLE +# define CRYPTOPP_BOOL_SSE2_ASM_AVAILABLE 0 +# define CRYPTOPP_BOOL_SSSE3_ASM_AVAILABLE 0 +#endif + NAMESPACE_BEGIN(CryptoPP) +#if !defined(NDEBUG) && !defined(CRYPTOPP_DOXYGEN_PROCESSING) void Whirlpool_TestInstantiations() { Whirlpool x; } +#endif void Whirlpool::InitState(HashWordType *state) { @@ -407,7 +418,7 @@ void Whirlpool::Transform(word64 *digest, const word64 *block) #endif __asm__ __volatile__ ( - ".intel_syntax noprefix;" + INTEL_NOPREFIX AS_PUSH_IF86( bx) AS2( mov AS_REG_6, WORD_REG(ax)) #else @@ -579,7 +590,7 @@ void Whirlpool::Transform(word64 *digest, const word64 *block) AS_POP_IF86( bx) #endif #ifdef __GNUC__ - ".att_syntax prefix;" + ATT_PREFIX : : "a" (Whirlpool_C), "c" (digest), "d" (block) #if CRYPTOPP_BOOL_X64 @@ -656,8 +667,9 @@ void Whirlpool::Transform(word64 *digest, const word64 *block) int r=0; while (true) { - word64 w0, w1, w2, w3, w4, w5, w6, w7; // temporary storage - word32 t; + // Added initialization due to Coverity findings. + word64 w0=0, w1=0, w2=0, w3=0, w4=0, w5=0, w6=0, w7=0; + word32 t=0; KSL(0, 4, 3, 2, 1, 0) KSL(0, 0, 7, 6, 5, 4) diff --git a/winpipes.cpp b/winpipes.cpp index 88cd168f..b1ec6d28 100644 --- a/winpipes.cpp +++ b/winpipes.cpp @@ -91,7 +91,7 @@ bool WindowsPipeReceiver::Receive(byte* buf, size_t bufLen) { assert(!m_resultPending && !m_eofReceived); - HANDLE h = GetHandle(); + const HANDLE h = GetHandle(); // don't queue too much at once, or we might use up non-paged memory if (ReadFile(h, buf, UnsignedMin((DWORD)128*1024, bufLen), &m_lastResult, &m_overlapped)) { @@ -128,7 +128,7 @@ unsigned int WindowsPipeReceiver::GetReceiveResult() { if (m_resultPending) { - HANDLE h = GetHandle(); + const HANDLE h = GetHandle(); if (GetOverlappedResult(h, &m_overlapped, &m_lastResult, false)) { if (m_lastResult == 0) @@ -165,7 +165,7 @@ WindowsPipeSender::WindowsPipeSender() void WindowsPipeSender::Send(const byte* buf, size_t bufLen) { DWORD written = 0; - HANDLE h = GetHandle(); + const HANDLE h = GetHandle(); // don't queue too much at once, or we might use up non-paged memory if (WriteFile(h, buf, UnsignedMin((DWORD)128*1024, bufLen), &written, &m_overlapped)) { @@ -193,7 +193,7 @@ unsigned int WindowsPipeSender::GetSendResult() { if (m_resultPending) { - HANDLE h = GetHandle(); + const HANDLE h = GetHandle(); BOOL result = GetOverlappedResult(h, &m_overlapped, &m_lastResult, false); CheckAndHandleError("GetOverlappedResult", result); m_resultPending = false; diff --git a/winpipes.h b/winpipes.h index a8483d0f..9019d2fe 100644 --- a/winpipes.h +++ b/winpipes.h @@ -21,7 +21,7 @@ public: bool GetOwnership() const {return m_own;} void SetOwnership(bool own) {m_own = own;} - operator HANDLE() {return m_h;} + operator HANDLE() const {return m_h;} HANDLE GetHandle() const {return m_h;} bool HandleValid() const; void AttachHandle(HANDLE h, bool own=false); @@ -67,6 +67,7 @@ public: unsigned int GetReceiveResult(); bool EofReceived() const {return m_eofReceived;} + HANDLE GetHandle() const {return m_event;} unsigned int GetMaxWaitObjectCount() const {return 1;} void GetWaitObjects(WaitObjectContainer &container, CallStack const& callStack); @@ -90,6 +91,7 @@ public: bool MustWaitForEof() { return false; } void SendEof() {} + HANDLE GetHandle() const {return m_event;} unsigned int GetMaxWaitObjectCount() const {return 1;} void GetWaitObjects(WaitObjectContainer &container, CallStack const& callStack); diff --git a/xtr.cpp b/xtr.cpp index 897f96e0..31d76028 100644 --- a/xtr.cpp +++ b/xtr.cpp @@ -5,6 +5,7 @@ #include "xtr.h" #include "nbtheory.h" #include "integer.h" +#include "modarith.h" #include "algebra.cpp" NAMESPACE_BEGIN(CryptoPP) diff --git a/xtrcrypt.cpp b/xtrcrypt.cpp index b06d839f..9f60a951 100644 --- a/xtrcrypt.cpp +++ b/xtrcrypt.cpp @@ -1,11 +1,13 @@ // xtrcrypt.cpp - written and placed in the public domain by Wei Dai #include "pch.h" + +#include "asn.h" +#include "integer.h" #include "xtrcrypt.h" #include "nbtheory.h" -#include "integer.h" +#include "modarith.h" #include "argnames.h" -#include "asn.h" NAMESPACE_BEGIN(CryptoPP) diff --git a/zdeflate.cpp b/zdeflate.cpp index a9e0405a..fea6025c 100644 --- a/zdeflate.cpp +++ b/zdeflate.cpp @@ -7,19 +7,14 @@ #include "pch.h" #include "zdeflate.h" +#include "stdcpp.h" #include "misc.h" -#include - -#if _MSC_VER >= 1600 -// for make_unchecked_array_iterator -#include -#endif - NAMESPACE_BEGIN(CryptoPP) LowFirstBitWriter::LowFirstBitWriter(BufferedTransformation *attachment) - : Filter(attachment), m_counting(false), m_buffer(0), m_bitsBuffered(0), m_bytesBuffered(0) + : Filter(attachment), m_counting(false), m_bitCount(0), m_buffer(0) + , m_bitsBuffered(0), m_bytesBuffered(0) { } @@ -94,6 +89,12 @@ HuffmanEncoder::HuffmanEncoder(const unsigned int *codeBits, unsigned int nCodes struct HuffmanNode { + // Coverity finding on uninitalized 'symbol' member + HuffmanNode() + : symbol(0), parent(0) {} + HuffmanNode(const HuffmanNode& rhs) + : symbol(rhs.symbol), parent(rhs.parent) {} + size_t symbol; union {size_t parent; unsigned depth, freq;}; }; @@ -148,7 +149,6 @@ void HuffmanEncoder::GenerateCodeLengths(unsigned int *codeBits, unsigned int ma std::fill(blCount.begin(), blCount.end(), 0); for (i=treeBegin; i= MIN_DEFLATE_LEVEL /*0*/ && deflateLevel <= MAX_DEFLATE_LEVEL /*9*/); + SetDeflateLevel(deflateLevel); bool detectUncompressible = parameters.GetValueWithDefault("DetectUncompressible", true); m_compressibleDeflateLevel = detectUncompressible ? m_deflateLevel : 0; } @@ -345,10 +347,13 @@ unsigned int Deflator::FillWindow(const byte *str, size_t length) assert(m_blockStart >= DSIZE); m_blockStart -= DSIZE; - unsigned int i; + // These are set to the same value in IsolatedInitialize(). If they + // are the same, then we can clear a Coverity false alarm. + assert(DSIZE == HSIZE); + unsigned int i; for (i=0; i= 3); + assert(length >= 3 && length < COUNTOF(lengthCodes)); unsigned int lengthCode = lengthCodes[length-3]; m.literalCode = lengthCode; m.literalExtra = length - lengthBases[lengthCode-257]; diff --git a/zinflate.cpp b/zinflate.cpp index 7fba7d3b..b0117ce9 100644 --- a/zinflate.cpp +++ b/zinflate.cpp @@ -113,9 +113,11 @@ void HuffmanDecoder::Initialize(const unsigned int *codeBits, unsigned int nCode nextCode[i] = code; } - if (code > (1 << m_maxCodeBits) - blCount[m_maxCodeBits]) + // MAX_CODE_BITS is 32, m_maxCodeBits may be smaller. + const unsigned long long shiftedMaxCode = (1ULL << m_maxCodeBits); + if (code > shiftedMaxCode - blCount[m_maxCodeBits]) throw Err("codes oversubscribed"); - else if (m_maxCodeBits != 1 && code < (1 << m_maxCodeBits) - blCount[m_maxCodeBits]) + else if (m_maxCodeBits != 1 && code < shiftedMaxCode - blCount[m_maxCodeBits]) throw Err("codes incomplete"); // compute a vector of triples sorted by code @@ -141,8 +143,10 @@ void HuffmanDecoder::Initialize(const unsigned int *codeBits, unsigned int nCode m_normalizedCacheMask = NormalizeCode(m_cacheMask, m_cacheBits); assert(m_normalizedCacheMask == BitReverse(m_cacheMask)); - if (m_cache.size() != size_t(1) << m_cacheBits) - m_cache.resize(1 << m_cacheBits); + const unsigned long long shiftedCache = (1ULL << m_cacheBits); + assert(shiftedCache <= SIZE_MAX); + if (m_cache.size() != shiftedCache) + m_cache.resize((size_t)shiftedCache); for (i=0; i reader.BitsBuffered()) return false; @@ -216,7 +222,9 @@ bool HuffmanDecoder::Decode(LowFirstBitReader &reader, value_t &value) const Inflator::Inflator(BufferedTransformation *attachment, bool repeat, int propagation) : AutoSignaling(propagation) - , m_state(PRE_STREAM), m_repeat(repeat), m_reader(m_inQueue) + , m_state(PRE_STREAM), m_repeat(repeat), m_eof(0), m_wrappedAround(0) + , m_blockType(0xff), m_storedLen(0xffff), m_nextDecode(), m_literal(0) + , m_distance(0), m_reader(m_inQueue), m_current(0), m_lastFlush(0) { Detach(attachment); } @@ -552,6 +560,9 @@ bool Inflator::DecodeBody() OutputPast(m_literal, m_distance); } } + break; + default: + assert(0); } } if (blockEnd) diff --git a/zinflate.h b/zinflate.h index a14f83c9..8c08ed08 100644 --- a/zinflate.h +++ b/zinflate.h @@ -2,9 +2,9 @@ #define CRYPTOPP_ZINFLATE_H #include "cryptlib.h" -#include "filters.h" #include "secblock.h" -#include +#include "filters.h" +#include "stdcpp.h" NAMESPACE_BEGIN(CryptoPP) @@ -14,7 +14,6 @@ class LowFirstBitReader public: LowFirstBitReader(BufferedTransformation &store) : m_store(store), m_buffer(0), m_bitsBuffered(0) {} -// unsigned long BitsLeft() const {return m_store.MaxRetrievable() * 8 + m_bitsBuffered;} unsigned int BitsBuffered() const {return m_bitsBuffered;} unsigned long PeekBuffer() const {return m_buffer;} bool FillBuffer(unsigned int length); @@ -40,8 +39,10 @@ public: class Err : public Exception {public: Err(const std::string &what) : Exception(INVALID_DATA_FORMAT, "HuffmanDecoder: " + what) {}}; - HuffmanDecoder() {} - HuffmanDecoder(const unsigned int *codeBitLengths, unsigned int nCodes) {Initialize(codeBitLengths, nCodes);} + HuffmanDecoder() : m_maxCodeBits(0), m_cacheBits(0), m_cacheMask(0), m_normalizedCacheMask(0) {} + HuffmanDecoder(const unsigned int *codeBitLengths, unsigned int nCodes) + : m_maxCodeBits(0), m_cacheBits(0), m_cacheMask(0), m_normalizedCacheMask(0) + {Initialize(codeBitLengths, nCodes);} void Initialize(const unsigned int *codeBitLengths, unsigned int nCodes); unsigned int Decode(code_t code, /* out */ value_t &value) const; @@ -96,9 +97,10 @@ public: class UnexpectedEndErr : public Err {public: UnexpectedEndErr() : Err(INVALID_DATA_FORMAT, "Inflator: unexpected end of compressed block") {}}; class BadBlockErr : public Err {public: BadBlockErr() : Err(INVALID_DATA_FORMAT, "Inflator: error in compressed block") {}}; - /*! \param repeat decompress multiple compressed streams in series - \param autoSignalPropagation 0 to turn off MessageEnd signal - */ + //! \brief RFC 1951 Decompressor + //! \param attachment the filter's attached transformation + //! \param repeat decompress multiple compressed streams in series + //! \param autoSignalPropagation 0 to turn off MessageEnd signal Inflator(BufferedTransformation *attachment = NULL, bool repeat = false, int autoSignalPropagation = -1); void IsolatedInitialize(const NameValuePairs ¶meters); diff --git a/zlib.cpp b/zlib.cpp index fd310858..bba4dc8e 100644 --- a/zlib.cpp +++ b/zlib.cpp @@ -49,7 +49,7 @@ unsigned int ZlibCompressor::GetCompressionLevel() const // ************************************************************* ZlibDecompressor::ZlibDecompressor(BufferedTransformation *attachment, bool repeat, int propagation) - : Inflator(attachment, repeat, propagation) + : Inflator(attachment, repeat, propagation), m_log2WindowSize(0) { }