diff options
author | Sam Roberts <vieuxtech@gmail.com> | 2018-11-20 20:33:57 +0300 |
---|---|---|
committer | Rod Vagg <rod@vagg.org> | 2018-11-25 12:49:51 +0300 |
commit | 65d03f018008d28279c85e5a78712ad35930368a (patch) | |
tree | f959cd794da43f444b78cd40f818ac51a98ca245 | |
parent | fbe63ab15b68f3ebf07891e3014f7a0138bd323e (diff) |
deps: upgrade openssl sources to 1.1.0j
This updates all sources in deps/openssl/openssl with openssl-1.1.0j.
PR-URL: https://github.com/nodejs/node/pull/24523
Reviewed-By: Shigeki Ohtsu <ohtsu@ohtsu.org>
Reviewed-By: Daniel Bevenius <daniel.bevenius@gmail.com>
Reviewed-By: Rod Vagg <rod@vagg.org>
120 files changed, 9123 insertions, 3636 deletions
diff --git a/deps/openssl/openssl/.gitignore b/deps/openssl/openssl/.gitignore new file mode 100644 index 00000000000..717aeb39c10 --- /dev/null +++ b/deps/openssl/openssl/.gitignore @@ -0,0 +1,176 @@ +# Ignore editor artefacts +/.dir-locals.el + +# Top level excludes +/Makefile.orig +/MINFO +/TABLE +/*.a +/*.pc +/rehash.time +/inc.* +/makefile.* +/out.* +/tmp.* +/configdata.pm + +# *all* Makefiles +Makefile +# ... except in demos +!/demos/*/Makefile + +# Links under apps +/apps/CA.pl +/apps/tsget +/apps/tsget.pl +/apps/md4.c + +# Auto generated headers +/crypto/buildinf.h +/apps/progs.h +/crypto/include/internal/*_conf.h +/openssl/include/opensslconf.h +/util/domd + +# Executables +/apps/openssl +/test/sha256t +/test/sha512t +/test/gost2814789t +/test/ssltest_old +/test/*test +/test/fips_aesavs +/test/fips_desmovs +/test/fips_dhvs +/test/fips_drbgvs +/test/fips_dssvs +/test/fips_ecdhvs +/test/fips_ecdsavs +/test/fips_rngvs +/test/fips_test_suite +/test/ssltest_old +/test/x509aux +/test/v3ext +/test/versions +/test/rsa_complex + +# Certain files that get created by tests on the fly +/test/test-runs +/test/buildtest_* + +# Fuzz stuff. +# Anything without an extension is an executable on Unix, so we keep files +# with extensions. And we keep the corpora subddir versioned as well. +# Anything more generic with extensions that should be ignored will be taken +# care of by general ignores for those extensions (*.o, *.obj, *.exe, ...) +/fuzz/* +!/fuzz/README* +!/fuzz/corpora +!/fuzz/*.* + +# Misc auto generated files +/include/openssl/opensslconf.h +/tools/c_rehash +/tools/c_rehash.pl +/util/shlib_wrap.sh +/tags +/TAGS +/crypto.map +/ssl.map + +# Windows (legacy) +/tmp32 +/tmp32.dbg +/tmp32dll +/tmp32dll.dbg +/out32 +/out32.dbg +/out32dll +/out32dll.dbg +/inc32 +/MINFO +/ms/.rnd +/ms/bcb.mak +/ms/libeay32.def +/ms/nt.mak +/ms/ntdll.mak +/ms/ssleay32.def +/ms/version32.rc + +# Files created on other branches that are not held in git, and are not +# needed on this branch +/include/openssl/asn1_mac.h +/include/openssl/des_old.h +/include/openssl/fips.h +/include/openssl/fips_rand.h +/include/openssl/krb5_asn.h +/include/openssl/kssl.h +/include/openssl/pq_compat.h +/include/openssl/ssl23.h +/include/openssl/tmdiff.h +/include/openssl/ui_compat.h +/test/fips_aesavs.c +/test/fips_desmovs.c +/test/fips_dsatest.c +/test/fips_dssvs.c +/test/fips_hmactest.c +/test/fips_randtest.c +/test/fips_rngvs.c +/test/fips_rsagtest.c +/test/fips_rsastest.c +/test/fips_rsavtest.c +/test/fips_shatest.c +/test/fips_test_suite.c +/test/shatest.c + +##### Generic patterns +# Auto generated assembly language source files +*.s +!/crypto/*/asm/*.s +/crypto/arm*.S +/crypto/*/*.S +*.asm +!/crypto/*/asm/*.asm + +# Object files +*.o +*.obj + +# editor artefacts +*.swp +.#* +\#*# +*~ + +# Certificate symbolic links +*.0 + +# All kinds of executables +*.so +*.so.* +*.dylib +*.dylib.* +*.dll +*.dll.* +*.exe +*.pyc +*.exp +*.lib +*.pdb +*.ilk +*.def +*.rc +*.res + +# Misc generated stuff +Makefile.save +/crypto/**/lib +/engines/**/lib +/ssl/**/lib +*.bak +cscope.* +*.d +pod2htmd.tmp + +# Windows manifest files +*.manifest diff --git a/deps/openssl/openssl/CHANGES b/deps/openssl/openssl/CHANGES index 9f0b94743bf..cf76704d15c 100644 --- a/deps/openssl/openssl/CHANGES +++ b/deps/openssl/openssl/CHANGES @@ -7,6 +7,33 @@ https://github.com/openssl/openssl/commits/ and pick the appropriate release branch. + Changes between 1.1.0i and 1.1.0j [20 Nov 2018] + + *) Timing vulnerability in DSA signature generation + + The OpenSSL DSA signature algorithm has been shown to be vulnerable to a + timing side channel attack. An attacker could use variations in the signing + algorithm to recover the private key. + + This issue was reported to OpenSSL on 16th October 2018 by Samuel Weiser. + (CVE-2018-0734) + [Paul Dale] + + *) Timing vulnerability in ECDSA signature generation + + The OpenSSL ECDSA signature algorithm has been shown to be vulnerable to a + timing side channel attack. An attacker could use variations in the signing + algorithm to recover the private key. + + This issue was reported to OpenSSL on 25th October 2018 by Samuel Weiser. + (CVE-2018-0735) + [Paul Dale] + + *) Add coordinate blinding for EC_POINT and implement projective + coordinate blinding for generic prime curves as a countermeasure to + chosen point SCA attacks. + [Sohaib ul Hassan, Nicola Tuveri, Billy Bob Brumley] + Changes between 1.1.0h and 1.1.0i [14 Aug 2018] *) Client DoS due to large DH parameter diff --git a/deps/openssl/openssl/Configurations/00-base-templates.conf b/deps/openssl/openssl/Configurations/00-base-templates.conf index 3455b3ace8f..8503c2f348c 100644 --- a/deps/openssl/openssl/Configurations/00-base-templates.conf +++ b/deps/openssl/openssl/Configurations/00-base-templates.conf @@ -68,6 +68,8 @@ } return (); }, + shared_extension => ".so", + build_scheme => [ "unified", "unix" ], build_file => "Makefile", }, @@ -99,6 +101,8 @@ mtinflag => "-manifest ", mtoutflag => "-outputresource:", + shared_extension => ".dll", + build_file => "makefile", build_scheme => [ "unified", "windows" ], }, @@ -107,6 +111,8 @@ inherit_from => [ "BASE_common" ], template => 1, + shared_extension => ".exe", + build_file => "descrip.mms", build_scheme => [ "unified", "VMS" ], }, diff --git a/deps/openssl/openssl/Configurations/descrip.mms.tmpl b/deps/openssl/openssl/Configurations/descrip.mms.tmpl index 7e3356f1f13..739928808ba 100644 --- a/deps/openssl/openssl/Configurations/descrip.mms.tmpl +++ b/deps/openssl/openssl/Configurations/descrip.mms.tmpl @@ -368,12 +368,10 @@ descrip.mms : FORCE # Install helper targets ############################################# -install_sw : all install_shared _install_dev_ns - - install_engines _install_runtime_ns - +install_sw : install_dev install_engines install_runtime - install_startup install_ivp -uninstall_sw : uninstall_shared _uninstall_dev_ns - - uninstall_engines _uninstall_runtime_ns - +uninstall_sw : uninstall_dev uninstall_engines uninstall_runtime - uninstall_startup uninstall_ivp install_docs : install_html_docs @@ -396,17 +394,7 @@ install_ssldirs : check_INSTALLTOP COPY/PROT=W:R {- sourcefile("apps", "openssl-vms.cnf") -} - ossl_dataroot:[000000]openssl.cnf -install_shared : check_INSTALLTOP - @ {- output_off() if $disabled{shared}; "" -} ! - @ WRITE SYS$OUTPUT "*** Installing shareable images" - @ ! Install shared (runtime) libraries - - CREATE/DIR ossl_installroot:[LIB.'arch'] - {- join("\n ", - map { "COPY/PROT=W:R $_.EXE ossl_installroot:[LIB.'arch']" } - @install_shlibs) -} - @ {- output_on() if $disabled{shared}; "" -} ! - -_install_dev_ns : check_INSTALLTOP +install_dev : check_INSTALLTOP install_runtime_libs @ WRITE SYS$OUTPUT "*** Installing development files" @ ! Install header files - CREATE/DIR ossl_installroot:[include.openssl] @@ -417,9 +405,29 @@ _install_dev_ns : check_INSTALLTOP map { "COPY/PROT=W:R $_.OLB ossl_installroot:[LIB.'arch']" } @{$unified_info{install}->{libraries}}) -} -install_dev : install_shared _install_dev_ns +install_engines : check_INSTALLTOP install_runtime_libs build_engines + @ {- output_off() unless scalar @{$unified_info{engines}}; "" -} ! + @ WRITE SYS$OUTPUT "*** Installing engines" + - CREATE/DIR ossl_installroot:[ENGINES{- $sover.$target{pointer_size} -}.'arch'] + {- join("\n ", + map { "COPY/PROT=W:RE $_.EXE ossl_installroot:[ENGINES$sover$target{pointer_size}.'arch']" } + @{$unified_info{install}->{engines}}) -} + @ {- output_on() unless scalar @{$unified_info{engines}}; "" -} ! -_install_runtime_ns : check_INSTALLTOP +install_runtime : install_programs + +install_runtime_libs : check_INSTALLTOP build_libs + @ {- output_off() if $disabled{shared}; "" -} ! + @ WRITE SYS$OUTPUT "*** Installing shareable images" + @ ! Install shared (runtime) libraries + - CREATE/DIR ossl_installroot:[LIB.'arch'] + {- join("\n ", + map { "COPY/PROT=W:R $_.EXE ossl_installroot:[LIB.'arch']" } + @install_shlibs) -} + @ {- output_on() if $disabled{shared}; "" -} ! + +install_programs : check_INSTALLTOP install_runtime_libs build_programs + @ {- output_off() if $disabled{apps}; "" -} ! @ ! Install the main program - CREATE/DIR ossl_installroot:[EXE.'arch'] COPY/PROT=W:RE [.APPS]openssl.EXE - @@ -428,17 +436,6 @@ _install_runtime_ns : check_INSTALLTOP COPY/PROT=W:RE $(BIN_SCRIPTS) ossl_installroot:[EXE] @ ! {- output_on() if $disabled{apps}; "" -} -install_runtime : install_shared _install_runtime_ns - -install_engines : check_INSTALLTOP - @ {- output_off() unless scalar @{$unified_info{engines}}; "" -} ! - @ WRITE SYS$OUTPUT "*** Installing engines" - - CREATE/DIR ossl_installroot:[ENGINES{- $sover.$target{pointer_size} -}.'arch'] - {- join("\n ", - map { "COPY/PROT=W:RE $_.EXE ossl_installroot:[ENGINES$sover$target{pointer_size}.'arch']" } - @{$unified_info{install}->{engines}}) -} - @ {- output_on() unless scalar @{$unified_info{engines}}; "" -} ! - install_startup : [.VMS]openssl_startup.com [.VMS]openssl_shutdown.com - [.VMS]openssl_utils.com, check_INSTALLTOP - CREATE/DIR ossl_installroot:[SYS$STARTUP] diff --git a/deps/openssl/openssl/Configurations/unix-Makefile.tmpl b/deps/openssl/openssl/Configurations/unix-Makefile.tmpl index 034d93e653d..7254478af54 100644 --- a/deps/openssl/openssl/Configurations/unix-Makefile.tmpl +++ b/deps/openssl/openssl/Configurations/unix-Makefile.tmpl @@ -323,7 +323,7 @@ depend: # Install helper targets ############################################# -install_sw: all install_dev install_engines install_runtime +install_sw: install_dev install_engines install_runtime uninstall_sw: uninstall_runtime uninstall_engines uninstall_dev @@ -355,7 +355,7 @@ install_ssldirs: chmod 644 $(DESTDIR)$(OPENSSLDIR)/openssl.cnf; \ fi -install_dev: +install_dev: install_runtime_libs @[ -n "$(INSTALLTOP)" ] || (echo INSTALLTOP should not be empty; exit 1) @echo "*** Installing development files" @$(PERL) $(SRCDIR)/util/mkdir-p.pl $(DESTDIR)$(INSTALLTOP)/include/openssl @@ -461,7 +461,7 @@ uninstall_dev: -$(RMDIR) $(DESTDIR)$(INSTALLTOP)/$(LIBDIR)/pkgconfig -$(RMDIR) $(DESTDIR)$(INSTALLTOP)/$(LIBDIR) -install_engines: +install_engines: install_runtime_libs build_engines @[ -n "$(INSTALLTOP)" ] || (echo INSTALLTOP should not be empty; exit 1) @$(PERL) $(SRCDIR)/util/mkdir-p.pl $(DESTDIR)$(ENGINESDIR)/ @echo "*** Installing engines" @@ -488,9 +488,10 @@ uninstall_engines: done -$(RMDIR) $(DESTDIR)$(ENGINESDIR) -install_runtime: +install_runtime: install_programs + +install_runtime_libs: build_libs @[ -n "$(INSTALLTOP)" ] || (echo INSTALLTOP should not be empty; exit 1) - @$(PERL) $(SRCDIR)/util/mkdir-p.pl $(DESTDIR)$(INSTALLTOP)/bin @ : {- output_off() if windowsdll(); "" -} @$(PERL) $(SRCDIR)/util/mkdir-p.pl $(DESTDIR)$(INSTALLTOP)/$(LIBDIR) @ : {- output_on() if windowsdll(); "" -} @@ -512,6 +513,11 @@ install_runtime: $(DESTDIR)$(INSTALLTOP)/$(LIBDIR)/$$fn; \ : {- output_on() if windowsdll(); "" -}; \ done + +install_programs: install_runtime_libs build_programs + @[ -n "$(INSTALLTOP)" ] || (echo INSTALLTOP should not be empty; exit 1) + @$(PERL) $(SRCDIR)/util/mkdir-p.pl $(DESTDIR)$(INSTALLTOP)/bin + @echo "*** Installing runtime programs" @set -e; for x in dummy $(INSTALL_PROGRAMS); do \ if [ "$$x" = "dummy" ]; then continue; fi; \ fn=`basename $$x`; \ @@ -531,8 +537,10 @@ install_runtime: $(DESTDIR)$(INSTALLTOP)/bin/$$fn; \ done -uninstall_runtime: - @echo "*** Uninstalling runtime files" +uninstall_runtime: uninstall_programs uninstall_runtime_libs + +uninstall_programs: + @echo "*** Uninstalling runtime programs" @set -e; for x in dummy $(INSTALL_PROGRAMS); \ do \ if [ "$$x" = "dummy" ]; then continue; fi; \ @@ -547,6 +555,10 @@ uninstall_runtime: echo "$(RM) $(DESTDIR)$(INSTALLTOP)/bin/$$fn"; \ $(RM) $(DESTDIR)$(INSTALLTOP)/bin/$$fn; \ done + -$(RMDIR) $(DESTDIR)$(INSTALLTOP)/bin + +uninstall_runtime_libs: + @echo "*** Uninstalling runtime libraries" @ : {- output_off() unless windowsdll(); "" -} @set -e; for s in dummy $(INSTALL_SHLIBS); do \ if [ "$$s" = "dummy" ]; then continue; fi; \ @@ -555,7 +567,6 @@ uninstall_runtime: $(RM) $(DESTDIR)$(INSTALLTOP)/bin/$$fn; \ done @ : {- output_on() unless windowsdll(); "" -} - -$(RMDIR) $(DESTDIR)$(INSTALLTOP)/bin install_man_docs: diff --git a/deps/openssl/openssl/Configurations/windows-makefile.tmpl b/deps/openssl/openssl/Configurations/windows-makefile.tmpl index 40dc41d0b45..5c8d3e81d3b 100644 --- a/deps/openssl/openssl/Configurations/windows-makefile.tmpl +++ b/deps/openssl/openssl/Configurations/windows-makefile.tmpl @@ -267,7 +267,7 @@ depend: # Install helper targets ############################################# -install_sw: all install_dev install_engines install_runtime +install_sw: install_dev install_engines install_runtime uninstall_sw: uninstall_runtime uninstall_engines uninstall_dev @@ -287,7 +287,7 @@ install_ssldirs: @"$(PERL)" "$(SRCDIR)\util\copy.pl" $(MISC_SCRIPTS) \ "$(OPENSSLDIR)\misc" -install_dev: +install_dev: install_runtime_libs @if "$(INSTALLTOP)"=="" ( $(ECHO) "INSTALLTOP should not be empty" & exit 1 ) @$(ECHO) "*** Installing development files" @"$(PERL)" "$(SRCDIR)\util\mkdir-p.pl" "$(INSTALLTOP)\include\openssl" @@ -309,7 +309,7 @@ install_dev: uninstall_dev: -install_engines: +install_engines: install_runtime_libs build_engines @if "$(INSTALLTOP)"=="" ( $(ECHO) "INSTALLTOP should not be empty" & exit 1 ) @$(ECHO) "*** Installing engines" @"$(PERL)" "$(SRCDIR)\util\mkdir-p.pl" "$(ENGINESDIR)" @@ -320,15 +320,22 @@ install_engines: uninstall_engines: -install_runtime: +install_runtime: install_programs + +install_runtime_libs: build_libs @if "$(INSTALLTOP)"=="" ( $(ECHO) "INSTALLTOP should not be empty" & exit 1 ) - @$(ECHO) "*** Installing runtime files" + @$(ECHO) "*** Installing runtime libraries" @"$(PERL)" "$(SRCDIR)\util\mkdir-p.pl" "$(INSTALLTOP)\bin" @if not "$(SHLIBS)"=="" \ "$(PERL)" "$(SRCDIR)\util\copy.pl" $(INSTALL_SHLIBS) "$(INSTALLTOP)\bin" @if not "$(SHLIBS)"=="" \ "$(PERL)" "$(SRCDIR)\util\copy.pl" $(INSTALL_SHLIBPDBS) \ "$(INSTALLTOP)\bin" + +install_programs: install_runtime_libs build_programs + @if "$(INSTALLTOP)"=="" ( $(ECHO) "INSTALLTOP should not be empty" & exit 1 ) + @$(ECHO) "*** Installing runtime programs" + @"$(PERL)" "$(SRCDIR)\util\mkdir-p.pl" "$(INSTALLTOP)\bin" @"$(PERL)" "$(SRCDIR)\util\copy.pl" $(INSTALL_PROGRAMS) \ "$(INSTALLTOP)\bin" @"$(PERL)" "$(SRCDIR)\util\copy.pl" $(INSTALL_PROGRAMPDBS) \ @@ -454,22 +461,20 @@ $obj$objext: $deps \$(AS) \$(ASFLAGS) \$(ASOUTFLAG)\$\@ $srcs EOF } - return <<"EOF" if (!$disabled{makedepend}); -$obj$depext: $deps - \$(CC) \$(CFLAGS) $ecflags$inc /Zs /showIncludes $srcs 2>&1 | \\ + my $recipe = <<"EOF"; +$obj$objext: $deps + \$(CC) $incs \$(CFLAGS) $ecflags -c \$(COUTFLAG)\$\@ $srcs +EOF + $recipe .= <<"EOF" unless $disabled{makedepend}; + \$(CC) $incs \$(CFLAGS) $ecflags /Zs /showIncludes $srcs 2>&1 | \\ "\$(PERL)" -n << > $obj$depext chomp; s/^Note: including file: *//; \$\$collect{\$\$_} = 1; END { print '$obj$objext: ',join(" ", sort keys \%collect),"\\n" } << -$obj$objext: $obj$depext - \$(CC) $incs \$(CFLAGS) $ecflags -c \$(COUTFLAG)\$\@ $srcs -EOF - return <<"EOF" if ($disabled{makedepend}); -$obj$objext: $deps - \$(CC) $incs \$(CFLAGS) $ecflags -c \$(COUTFLAG)\$\@ $srcs EOF + return $recipe; } # On Unix, we build shlibs from static libs, so we're ignoring the diff --git a/deps/openssl/openssl/Configure b/deps/openssl/openssl/Configure index d85ff6aa4da..a1ce65239e2 100755 --- a/deps/openssl/openssl/Configure +++ b/deps/openssl/openssl/Configure @@ -1906,8 +1906,8 @@ EOF next unless defined($unified_info{includes}->{$dest}->{$k}); my @incs = reverse @{$unified_info{includes}->{$dest}->{$k}}; foreach my $obj (grep /\.o$/, - (keys %{$unified_info{sources}->{$dest}}, - keys %{$unified_info{shared_sources}->{$dest}})) { + (keys %{$unified_info{sources}->{$dest} // {}}, + keys %{$unified_info{shared_sources}->{$dest} // {}})) { foreach my $inc (@incs) { unshift @{$unified_info{includes}->{$obj}->{$k}}, $inc unless grep { $_ eq $inc } @{$unified_info{includes}->{$obj}->{$k}}; diff --git a/deps/openssl/openssl/NEWS b/deps/openssl/openssl/NEWS index b6cf1f21ac2..983fceb2bbe 100644 --- a/deps/openssl/openssl/NEWS +++ b/deps/openssl/openssl/NEWS @@ -5,6 +5,11 @@ This file gives a brief overview of the major changes between each OpenSSL release. For more details please read the CHANGES file. + Major changes between OpenSSL 1.1.0i and OpenSSL 1.1.0j [20 Nov 2018] + + o Timing vulnerability in DSA signature generation (CVE-2018-0734) + o Timing vulnerability in ECDSA signature generation (CVE-2018-0735) + Major changes between OpenSSL 1.1.0h and OpenSSL 1.1.0i [14 Aug 2018] o Client DoS due to large DH parameter (CVE-2018-0732) diff --git a/deps/openssl/openssl/README b/deps/openssl/openssl/README index 76888cbb09e..46947019097 100644 --- a/deps/openssl/openssl/README +++ b/deps/openssl/openssl/README @@ -1,5 +1,5 @@ - OpenSSL 1.1.0i 14 Aug 2018 + OpenSSL 1.1.0j 20 Nov 2018 Copyright (c) 1998-2018 The OpenSSL Project Copyright (c) 1995-1998 Eric A. Young, Tim J. Hudson diff --git a/deps/openssl/openssl/apps/apps.c b/deps/openssl/openssl/apps/apps.c index d52201f1f38..94efa5ac05d 100644 --- a/deps/openssl/openssl/apps/apps.c +++ b/deps/openssl/openssl/apps/apps.c @@ -1707,8 +1707,14 @@ X509_NAME *parse_name(const char *cp, long chtype, int canmulti) char *work; X509_NAME *n; - if (*cp++ != '/') + if (*cp++ != '/') { + BIO_printf(bio_err, + "name is expected to be in the format " + "/type0=value0/type1=value1/type2=... where characters may " + "be escaped by \\. This name is not in that format: '%s'\n", + --cp); return NULL; + } n = X509_NAME_new(); if (n == NULL) @@ -1764,6 +1770,12 @@ X509_NAME *parse_name(const char *cp, long chtype, int canmulti) opt_getprog(), typestr); continue; } + if (*valstr == '\0') { + BIO_printf(bio_err, + "%s: No value provided for Subject Attribute %s, skipped\n", + opt_getprog(), typestr); + continue; + } if (!X509_NAME_add_entry_by_NID(n, nid, chtype, valstr, strlen((char *)valstr), -1, ismulti ? -1 : 0)) diff --git a/deps/openssl/openssl/apps/pkey.c b/deps/openssl/openssl/apps/pkey.c index ad1a3b10ebc..5c13d8b87af 100644 --- a/deps/openssl/openssl/apps/pkey.c +++ b/deps/openssl/openssl/apps/pkey.c @@ -1,5 +1,5 @@ /* - * Copyright 2006-2016 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2006-2018 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the OpenSSL license (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy @@ -141,24 +141,30 @@ int pkey_main(int argc, char **argv) if (!noout) { if (outformat == FORMAT_PEM) { - if (pubout) - PEM_write_bio_PUBKEY(out, pkey); - else { + if (pubout) { + if (!PEM_write_bio_PUBKEY(out, pkey)) + goto end; + } else { assert(private); - if (traditional) - PEM_write_bio_PrivateKey_traditional(out, pkey, cipher, - NULL, 0, NULL, - passout); - else - PEM_write_bio_PrivateKey(out, pkey, cipher, - NULL, 0, NULL, passout); + if (traditional) { + if (!PEM_write_bio_PrivateKey_traditional(out, pkey, cipher, + NULL, 0, NULL, + passout)) + goto end; + } else { + if (!PEM_write_bio_PrivateKey(out, pkey, cipher, + NULL, 0, NULL, passout)) + goto end; + } } } else if (outformat == FORMAT_ASN1) { - if (pubout) - i2d_PUBKEY_bio(out, pkey); - else { + if (pubout) { + if (!i2d_PUBKEY_bio(out, pkey)) + goto end; + } else { assert(private); - i2d_PrivateKey_bio(out, pkey); + if (!i2d_PrivateKey_bio(out, pkey)) + goto end; } } else { BIO_printf(bio_err, "Bad format specified for key\n"); @@ -168,17 +174,21 @@ int pkey_main(int argc, char **argv) } if (text) { - if (pubtext) - EVP_PKEY_print_public(out, pkey, 0, NULL); - else { + if (pubtext) { + if (EVP_PKEY_print_public(out, pkey, 0, NULL) <= 0) + goto end; + } else { assert(private); - EVP_PKEY_print_private(out, pkey, 0, NULL); + if (EVP_PKEY_print_private(out, pkey, 0, NULL) <= 0) + goto end; } } ret = 0; end: + if (ret != 0) + ERR_print_errors(bio_err); EVP_PKEY_free(pkey); release_engine(e); BIO_free_all(out); diff --git a/deps/openssl/openssl/apps/req.c b/deps/openssl/openssl/apps/req.c index 2a2156953a7..a20e7c1ef15 100644 --- a/deps/openssl/openssl/apps/req.c +++ b/deps/openssl/openssl/apps/req.c @@ -1,5 +1,5 @@ /* - * Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2018 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the OpenSSL license (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy @@ -509,8 +509,7 @@ int req_main(int argc, char **argv) if (pkey_type == EVP_PKEY_EC) { BIO_printf(bio_err, "Generating an EC private key\n"); } else { - BIO_printf(bio_err, "Generating a %ld bit %s private key\n", - newkey, keyalgstr); + BIO_printf(bio_err, "Generating a %s private key\n", keyalgstr); } EVP_PKEY_CTX_set_cb(genctx, genpkey_cb); diff --git a/deps/openssl/openssl/apps/s_server.c b/deps/openssl/openssl/apps/s_server.c index e8aa323a4f9..86298334bd6 100644 --- a/deps/openssl/openssl/apps/s_server.c +++ b/deps/openssl/openssl/apps/s_server.c @@ -2660,8 +2660,10 @@ static int www_body(int s, int stype, unsigned char *context) if (context && !SSL_set_session_id_context(con, context, - strlen((char *)context))) + strlen((char *)context))) { + SSL_free(con); goto err; + } sbio = BIO_new_socket(s, BIO_NOCLOSE); if (s_nbio_test) { @@ -2673,7 +2675,7 @@ static int www_body(int s, int stype, unsigned char *context) SSL_set_bio(con, sbio, sbio); SSL_set_accept_state(con); - /* SSL_set_fd(con,s); */ + /* No need to free |con| after this. Done by BIO_free(ssl_bio) */ BIO_set_ssl(ssl_bio, con, BIO_CLOSE); BIO_push(io, ssl_bio); #ifdef CHARSET_EBCDIC @@ -3030,6 +3032,7 @@ static int rev_body(int s, int stype, unsigned char *context) if (context && !SSL_set_session_id_context(con, context, strlen((char *)context))) { + SSL_free(con); ERR_print_errors(bio_err); goto err; } @@ -3038,6 +3041,7 @@ static int rev_body(int s, int stype, unsigned char *context) SSL_set_bio(con, sbio, sbio); SSL_set_accept_state(con); + /* No need to free |con| after this. Done by BIO_free(ssl_bio) */ BIO_set_ssl(ssl_bio, con, BIO_CLOSE); BIO_push(io, ssl_bio); #ifdef CHARSET_EBCDIC diff --git a/deps/openssl/openssl/apps/speed.c b/deps/openssl/openssl/apps/speed.c index 3ef37b78a65..6672fe606ac 100644 --- a/deps/openssl/openssl/apps/speed.c +++ b/deps/openssl/openssl/apps/speed.c @@ -2541,7 +2541,7 @@ int speed_main(int argc, char **argv) if (rsa_count <= 1) { /* if longer than 10s, don't do any more */ - for (testnum++; testnum < EC_NUM; testnum++) + for (testnum++; testnum < ECDSA_NUM; testnum++) ecdsa_doit[testnum] = 0; } } diff --git a/deps/openssl/openssl/config b/deps/openssl/openssl/config index 35e849a9585..ef0841d12d2 100755 --- a/deps/openssl/openssl/config +++ b/deps/openssl/openssl/config @@ -1,5 +1,5 @@ #!/bin/sh -# Copyright 1998-2016 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 1998-2018 The OpenSSL Project Authors. All Rights Reserved. # # Licensed under the OpenSSL license (the "License"). You may not use # this file except in compliance with the License. You can obtain a copy @@ -929,5 +929,6 @@ if [ $? = "0" ]; then fi else echo "This system ($OUT) is not supported. See file INSTALL for details." + exit 1 fi ) diff --git a/deps/openssl/openssl/crypto/aes/build.info b/deps/openssl/openssl/crypto/aes/build.info index 5240b9c87fa..cf6cb5ec25b 100644 --- a/deps/openssl/openssl/crypto/aes/build.info +++ b/deps/openssl/openssl/crypto/aes/build.info @@ -45,9 +45,6 @@ INCLUDE[aes-armv4.o]=.. GENERATE[bsaes-armv7.S]=asm/bsaes-armv7.pl $(PERLASM_SCHEME) INCLUDE[bsaes-armv7.o]=.. -GENERATE[aes-s390x.S]=asm/aes-s390x.pl $(PERLASM_SCHEME) -INCLUDE[aes-s390x.o]=.. - BEGINRAW[Makefile] ##### AES assembler implementations diff --git a/deps/openssl/openssl/crypto/async/arch/async_posix.h b/deps/openssl/openssl/crypto/async/arch/async_posix.h index 76937a9e4dc..939b4ab183c 100644 --- a/deps/openssl/openssl/crypto/async/arch/async_posix.h +++ b/deps/openssl/openssl/crypto/async/arch/async_posix.h @@ -17,7 +17,8 @@ # include <unistd.h> -# if _POSIX_VERSION >= 200112L +# if _POSIX_VERSION >= 200112L \ + && (_POSIX_VERSION < 200809L || defined(__GLIBC__)) # include <pthread.h> diff --git a/deps/openssl/openssl/crypto/bio/b_print.c b/deps/openssl/openssl/crypto/bio/b_print.c index cdfe05f93ca..8f50cb8c143 100644 --- a/deps/openssl/openssl/crypto/bio/b_print.c +++ b/deps/openssl/openssl/crypto/bio/b_print.c @@ -1,5 +1,5 @@ /* - * Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2018 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the OpenSSL license (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy @@ -10,9 +10,9 @@ #include <stdio.h> #include <string.h> #include <ctype.h> -#include "internal/numbers.h" -#include "internal/cryptlib.h" #include <openssl/bio.h> +#include "internal/cryptlib.h" +#include "internal/numbers.h" /* * Copyright Patrick Powell 1995 diff --git a/deps/openssl/openssl/crypto/bio/bss_log.c b/deps/openssl/openssl/crypto/bio/bss_log.c index 4719a5e66a6..f090e8214bb 100644 --- a/deps/openssl/openssl/crypto/bio/bss_log.c +++ b/deps/openssl/openssl/crypto/bio/bss_log.c @@ -404,4 +404,9 @@ static void xcloselog(BIO *bp) # endif /* Unix */ +#else /* NO_SYSLOG */ +const BIO_METHOD *BIO_s_log(void) +{ + return NULL; +} #endif /* NO_SYSLOG */ diff --git a/deps/openssl/openssl/crypto/bn/asm/x86_64-gcc.c b/deps/openssl/openssl/crypto/bn/asm/x86_64-gcc.c index 0ff3805a611..621be33054f 100644 --- a/deps/openssl/openssl/crypto/bn/asm/x86_64-gcc.c +++ b/deps/openssl/openssl/crypto/bn/asm/x86_64-gcc.c @@ -1,5 +1,5 @@ /* - * Copyright 2002-2016 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2002-2018 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the OpenSSL license (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy @@ -64,12 +64,6 @@ * machine. */ -# if defined(_WIN64) || !defined(__LP64__) -# define BN_ULONG unsigned long long -# else -# define BN_ULONG unsigned long -# endif - # undef mul # undef mul_add diff --git a/deps/openssl/openssl/crypto/bn/bn_blind.c b/deps/openssl/openssl/crypto/bn/bn_blind.c index 24d138309d4..9474e21e4c2 100644 --- a/deps/openssl/openssl/crypto/bn/bn_blind.c +++ b/deps/openssl/openssl/crypto/bn/bn_blind.c @@ -1,5 +1,5 @@ /* - * Copyright 1998-2016 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1998-2018 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the OpenSSL license (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy @@ -109,10 +109,15 @@ int BN_BLINDING_update(BN_BLINDING *b, BN_CTX *ctx) if (!BN_BLINDING_create_param(b, NULL, NULL, ctx, NULL, NULL)) goto err; } else if (!(b->flags & BN_BLINDING_NO_UPDATE)) { - if (!BN_mod_mul(b->A, b->A, b->A, b->mod, ctx)) - goto err; - if (!BN_mod_mul(b->Ai, b->Ai, b->Ai, b->mod, ctx)) - goto err; + if (b->m_ctx != NULL) { + if (!bn_mul_mont_fixed_top(b->Ai, b->Ai, b->Ai, b->m_ctx, ctx) + || !bn_mul_mont_fixed_top(b->A, b->A, b->A, b->m_ctx, ctx)) + goto err; + } else { + if (!BN_mod_mul(b->Ai, b->Ai, b->Ai, b->mod, ctx) + || !BN_mod_mul(b->A, b->A, b->A, b->mod, ctx)) + goto err; + } } ret = 1; @@ -144,13 +149,13 @@ int BN_BLINDING_convert_ex(BIGNUM *n, BIGNUM *r, BN_BLINDING *b, BN_CTX *ctx) else if (!BN_BLINDING_update(b, ctx)) return (0); - if (r != NULL) { - if (!BN_copy(r, b->Ai)) - ret = 0; - } + if (r != NULL && (BN_copy(r, b->Ai) == NULL)) + return 0; - if (!BN_mod_mul(n, n, b->A, b->mod, ctx)) - ret = 0; + if (b->m_ctx != NULL) + ret = BN_mod_mul_montgomery(n, n, b->A, b->m_ctx, ctx); + else + ret = BN_mod_mul(n, n, b->A, b->mod, ctx); return ret; } @@ -167,14 +172,29 @@ int BN_BLINDING_invert_ex(BIGNUM *n, const BIGNUM *r, BN_BLINDING *b, bn_check_top(n); - if (r != NULL) - ret = BN_mod_mul(n, n, r, b->mod, ctx); - else { - if (b->Ai == NULL) { - BNerr(BN_F_BN_BLINDING_INVERT_EX, BN_R_NOT_INITIALIZED); - return (0); + if (r == NULL && (r = b->Ai) == NULL) { + BNerr(BN_F_BN_BLINDING_INVERT_EX, BN_R_NOT_INITIALIZED); + return 0; + } + + if (b->m_ctx != NULL) { + /* ensure that BN_mod_mul_montgomery takes pre-defined path */ + if (n->dmax >= r->top) { + size_t i, rtop = r->top, ntop = n->top; + BN_ULONG mask; + + for (i = 0; i < rtop; i++) { + mask = (BN_ULONG)0 - ((i - ntop) >> (8 * sizeof(i) - 1)); + n->d[i] &= mask; + } + mask = (BN_ULONG)0 - ((rtop - ntop) >> (8 * sizeof(ntop) - 1)); + /* always true, if (rtop >= ntop) n->top = r->top; */ + n->top = (int)(rtop & ~mask) | (ntop & mask); + n->flags |= (BN_FLG_FIXED_TOP & ~mask); } - ret = BN_mod_mul(n, n, b->Ai, b->mod, ctx); + ret = BN_mod_mul_montgomery(n, n, r, b->m_ctx, ctx); + } else { + ret = BN_mod_mul(n, n, r, b->mod, ctx); } bn_check_top(n); @@ -253,31 +273,35 @@ BN_BLINDING *BN_BLINDING_create_param(BN_BLINDING *b, int rv; if (!BN_rand_range(ret->A, ret->mod)) goto err; - if (!int_bn_mod_inverse(ret->Ai, ret->A, ret->mod, ctx, &rv)) { - /* - * this should almost never happen for good RSA keys - */ - if (rv) { - if (retry_counter-- == 0) { - BNerr(BN_F_BN_BLINDING_CREATE_PARAM, - BN_R_TOO_MANY_ITERATIONS); - goto err; - } - } else - goto err; - } else + if (int_bn_mod_inverse(ret->Ai, ret->A, ret->mod, ctx, &rv)) break; + + /* + * this should almost never happen for good RSA keys + */ + if (!rv) + goto err; + + if (retry_counter-- == 0) { + BNerr(BN_F_BN_BLINDING_CREATE_PARAM, BN_R_TOO_MANY_ITERATIONS); + goto err; + } } while (1); if (ret->bn_mod_exp != NULL && ret->m_ctx != NULL) { - if (!ret->bn_mod_exp - (ret->A, ret->A, ret->e, ret->mod, ctx, ret->m_ctx)) + if (!ret->bn_mod_exp(ret->A, ret->A, ret->e, ret->mod, ctx, ret->m_ctx)) goto err; } else { if (!BN_mod_exp(ret->A, ret->A, ret->e, ret->mod, ctx)) goto err; } + if (ret->m_ctx != NULL) { + if (!bn_to_mont_fixed_top(ret->Ai, ret->Ai, ret->m_ctx, ctx) + || !bn_to_mont_fixed_top(ret->A, ret->A, ret->m_ctx, ctx)) + goto err; + } + return ret; err: if (b == NULL) { diff --git a/deps/openssl/openssl/crypto/bn/bn_lib.c b/deps/openssl/openssl/crypto/bn/bn_lib.c index 25eac396e09..3f3c7bbb2f7 100644 --- a/deps/openssl/openssl/crypto/bn/bn_lib.c +++ b/deps/openssl/openssl/crypto/bn/bn_lib.c @@ -503,26 +503,40 @@ BIGNUM *BN_bin2bn(const unsigned char *s, int len, BIGNUM *ret) static int bn2binpad(const BIGNUM *a, unsigned char *to, int tolen) { int n; - size_t i, inc, lasti, j; + size_t i, lasti, j, atop, mask; BN_ULONG l; + /* + * In case |a| is fixed-top, BN_num_bytes can return bogus length, + * but it's assumed that fixed-top inputs ought to be "nominated" + * even for padded output, so it works out... + */ n = BN_num_bytes(a); - if (tolen == -1) + if (tolen == -1) { tolen = n; - else if (tolen < n) - return -1; + } else if (tolen < n) { /* uncommon/unlike case */ + BIGNUM temp = *a; - if (n == 0) { + bn_correct_top(&temp); + n = BN_num_bytes(&temp); + if (tolen < n) + return -1; + } + + /* Swipe through whole available data and don't give away padded zero. */ + atop = a->dmax * BN_BYTES; + if (atop == 0) { OPENSSL_cleanse(to, tolen); return tolen; } - lasti = n - 1; - for (i = 0, inc = 1, j = tolen; j > 0;) { + lasti = atop - 1; + atop = a->top * BN_BYTES; + for (i = 0, j = 0, to += tolen; j < (size_t)tolen; j++) { l = a->d[i / BN_BYTES]; - to[--j] = (unsigned char)(l >> (8 * (i % BN_BYTES)) & (0 - inc)); - inc = (i - lasti) >> (8 * sizeof(i) - 1); - i += inc; /* stay on top limb */ + mask = 0 - ((j - atop) >> (8 * sizeof(i) - 1)); + *--to = (unsigned char)(l >> (8 * (i % BN_BYTES)) & mask); + i += (i - lasti) >> (8 * sizeof(i) - 1); /* stay on last limb */ } return tolen; @@ -838,26 +852,30 @@ void BN_consttime_swap(BN_ULONG condition, BIGNUM *a, BIGNUM *b, int nwords) b->neg ^= t; /*- - * Idea behind BN_FLG_STATIC_DATA is actually to - * indicate that data may not be written to. - * Intention is actually to treat it as it's - * read-only data, and some (if not most) of it does - * reside in read-only segment. In other words - * observation of BN_FLG_STATIC_DATA in - * BN_consttime_swap should be treated as fatal - * condition. It would either cause SEGV or - * effectively cause data corruption. - * BN_FLG_MALLOCED refers to BN structure itself, - * and hence must be preserved. Remaining flags are - * BN_FLG_CONSTIME and BN_FLG_SECURE. Latter must be - * preserved, because it determines how x->d was - * allocated and hence how to free it. This leaves - * BN_FLG_CONSTTIME that one can do something about. - * To summarize it's sufficient to mask and swap - * BN_FLG_CONSTTIME alone. BN_FLG_STATIC_DATA should - * be treated as fatal. + * BN_FLG_STATIC_DATA: indicates that data may not be written to. Intention + * is actually to treat it as it's read-only data, and some (if not most) + * of it does reside in read-only segment. In other words observation of + * BN_FLG_STATIC_DATA in BN_consttime_swap should be treated as fatal + * condition. It would either cause SEGV or effectively cause data + * corruption. + * + * BN_FLG_MALLOCED: refers to BN structure itself, and hence must be + * preserved. + * + * BN_FLG_SECURE: must be preserved, because it determines how x->d was + * allocated and hence how to free it. + * + * BN_FLG_CONSTTIME: sufficient to mask and swap + * + * BN_FLG_FIXED_TOP: indicates that we haven't called bn_correct_top() on + * the data, so the d array may be padded with additional 0 values (i.e. + * top could be greater than the minimal value that it could be). We should + * be swapping it */ - t = ((a->flags ^ b->flags) & BN_FLG_CONSTTIME) & condition; + +#define BN_CONSTTIME_SWAP_FLAGS (BN_FLG_CONSTTIME | BN_FLG_FIXED_TOP) + + t = ((a->flags ^ b->flags) & BN_CONSTTIME_SWAP_FLAGS) & condition; a->flags ^= t; b->flags ^= t; diff --git a/deps/openssl/openssl/crypto/bn/bn_mod.c b/deps/openssl/openssl/crypto/bn/bn_mod.c index 2361094ee4f..2e98035bd85 100644 --- a/deps/openssl/openssl/crypto/bn/bn_mod.c +++ b/deps/openssl/openssl/crypto/bn/bn_mod.c @@ -58,7 +58,7 @@ int bn_mod_add_fixed_top(BIGNUM *r, const BIGNUM *a, const BIGNUM *b, if (mtop > sizeof(storage) / sizeof(storage[0]) && (tp = OPENSSL_malloc(mtop * sizeof(BN_ULONG))) == NULL) - return 0; + return 0; ap = a->d != NULL ? a->d : tp; bp = b->d != NULL ? b->d : tp; @@ -83,6 +83,7 @@ int bn_mod_add_fixed_top(BIGNUM *r, const BIGNUM *a, const BIGNUM *b, ((volatile BN_ULONG *)tp)[i] = 0; } r->top = mtop; + r->flags |= BN_FLG_FIXED_TOP; r->neg = 0; if (tp != storage) @@ -111,6 +112,70 @@ int BN_mod_sub(BIGNUM *r, const BIGNUM *a, const BIGNUM *b, const BIGNUM *m, } /* + * BN_mod_sub variant that may be used if both a and b are non-negative, + * a is less than m, while b is of same bit width as m. It's implemented + * as subtraction followed by two conditional additions. + * + * 0 <= a < m + * 0 <= b < 2^w < 2*m + * + * after subtraction + * + * -2*m < r = a - b < m + * + * Thus it takes up to two conditional additions to make |r| positive. + */ +int bn_mod_sub_fixed_top(BIGNUM *r, const BIGNUM *a, const BIGNUM *b, + const BIGNUM *m) +{ + size_t i, ai, bi, mtop = m->top; + BN_ULONG borrow, carry, ta, tb, mask, *rp; + const BN_ULONG *ap, *bp; + + if (bn_wexpand(r, mtop) == NULL) + return 0; + + rp = r->d; + ap = a->d != NULL ? a->d : rp; + bp = b->d != NULL ? b->d : rp; + + for (i = 0, ai = 0, bi = 0, borrow = 0; i < mtop;) { + mask = (BN_ULONG)0 - ((i - a->top) >> (8 * sizeof(i) - 1)); + ta = ap[ai] & mask; + + mask = (BN_ULONG)0 - ((i - b->top) >> (8 * sizeof(i) - 1)); + tb = bp[bi] & mask; + rp[i] = ta - tb - borrow; + if (ta != tb) + borrow = (ta < tb); + + i++; + ai += (i - a->dmax) >> (8 * sizeof(i) - 1); + bi += (i - b->dmax) >> (8 * sizeof(i) - 1); + } + ap = m->d; + for (i = 0, mask = 0 - borrow, carry = 0; i < mtop; i++) { + ta = ((ap[i] & mask) + carry) & BN_MASK2; + carry = (ta < carry); + rp[i] = (rp[i] + ta) & BN_MASK2; + carry += (rp[i] < ta); + } + borrow -= carry; + for (i = 0, mask = 0 - borrow, carry = 0; i < mtop; i++) { + ta = ((ap[i] & mask) + carry) & BN_MASK2; + carry = (ta < carry); + rp[i] = (rp[i] + ta) & BN_MASK2; + carry += (rp[i] < ta); + } + + r->top = mtop; + r->flags |= BN_FLG_FIXED_TOP; + r->neg = 0; + + return 1; +} + +/* * BN_mod_sub variant that may be used if both a and b are non-negative and * less than m */ diff --git a/deps/openssl/openssl/crypto/bn/bn_mont.c b/deps/openssl/openssl/crypto/bn/bn_mont.c index 3ccf8eaf371..41214334b8a 100644 --- a/deps/openssl/openssl/crypto/bn/bn_mont.c +++ b/deps/openssl/openssl/crypto/bn/bn_mont.c @@ -64,10 +64,10 @@ int bn_mul_mont_fixed_top(BIGNUM *r, const BIGNUM *a, const BIGNUM *b, bn_check_top(tmp); if (a == b) { - if (!BN_sqr(tmp, a, ctx)) + if (!bn_sqr_fixed_top(tmp, a, ctx)) goto err; } else { - if (!BN_mul(tmp, a, b, ctx)) + if (!bn_mul_fixed_top(tmp, a, b, ctx)) goto err; } /* reduce from aRR to aR */ @@ -90,6 +90,7 @@ static int bn_from_montgomery_word(BIGNUM *ret, BIGNUM *r, BN_MONT_CTX *mont) BIGNUM *n; BN_ULONG *ap, *np, *rp, n0, v, carry; int nl, max, i; + unsigned int rtop; n = &(mont->N); nl = n->top; @@ -106,10 +107,10 @@ static int bn_from_montgomery_word(BIGNUM *ret, BIGNUM *r, BN_MONT_CTX *mont) np = n->d; rp = r->d; - /* clear the top words of T */ - i = max - r->top; - if (i) - memset(&rp[r->top], 0, sizeof(*rp) * i); + for (rtop = r->top, i = 0; i < max; i++) { + v = (BN_ULONG)0 - ((i - rtop) >> (8 * sizeof(rtop) - 1)); + rp[i] &= v; + } r->top = max; r->flags |= BN_FLG_FIXED_TOP; @@ -160,6 +161,18 @@ static int bn_from_montgomery_word(BIGNUM *ret, BIGNUM *r, BN_MONT_CTX *mont) int BN_from_montgomery(BIGNUM *ret, const BIGNUM *a, BN_MONT_CTX *mont, BN_CTX *ctx) { + int retn; + + retn = bn_from_mont_fixed_top(ret, a, mont, ctx); + bn_correct_top(ret); + bn_check_top(ret); + + return retn; +} + +int bn_from_mont_fixed_top(BIGNUM *ret, const BIGNUM *a, BN_MONT_CTX *mont, + BN_CTX *ctx) +{ int retn = 0; #ifdef MONT_WORD BIGNUM *t; @@ -167,8 +180,6 @@ int BN_from_montgomery(BIGNUM *ret, const BIGNUM *a, BN_MONT_CTX *mont, BN_CTX_start(ctx); if ((t = BN_CTX_get(ctx)) && BN_copy(t, a)) { retn = bn_from_montgomery_word(ret, t, mont); - bn_correct_top(ret); - bn_check_top(ret); } BN_CTX_end(ctx); #else /* !MONT_WORD */ diff --git a/deps/openssl/openssl/crypto/bn/bn_mul.c b/deps/openssl/openssl/crypto/bn/bn_mul.c index a1abc5b05aa..237d7df106c 100644 --- a/deps/openssl/openssl/crypto/bn/bn_mul.c +++ b/deps/openssl/openssl/crypto/bn/bn_mul.c @@ -1,5 +1,5 @@ /* - * Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2018 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the OpenSSL license (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy @@ -833,6 +833,16 @@ void bn_mul_high(BN_ULONG *r, BN_ULONG *a, BN_ULONG *b, BN_ULONG *l, int n2, int BN_mul(BIGNUM *r, const BIGNUM *a, const BIGNUM *b, BN_CTX *ctx) { + int ret = bn_mul_fixed_top(r, a, b, ctx); + + bn_correct_top(r); + bn_check_top(r); + + return ret; +} + +int bn_mul_fixed_top(BIGNUM *r, const BIGNUM *a, const BIGNUM *b, BN_CTX *ctx) +{ int ret = 0; int top, al, bl; BIGNUM *rr; @@ -935,7 +945,7 @@ int BN_mul(BIGNUM *r, const BIGNUM *a, const BIGNUM *b, BN_CTX *ctx) end: #endif rr->neg = a->neg ^ b->neg; - bn_correct_top(rr); + rr->flags |= BN_FLG_FIXED_TOP; if (r != rr && BN_copy(r, rr) == NULL) goto err; diff --git a/deps/openssl/openssl/crypto/bn/bn_sqr.c b/deps/openssl/openssl/crypto/bn/bn_sqr.c index 1f12a14e442..db72bf28a66 100644 --- a/deps/openssl/openssl/crypto/bn/bn_sqr.c +++ b/deps/openssl/openssl/crypto/bn/bn_sqr.c @@ -16,6 +16,16 @@ */ int BN_sqr(BIGNUM *r, const BIGNUM *a, BN_CTX *ctx) { + int ret = bn_sqr_fixed_top(r, a, ctx); + + bn_correct_top(r); + bn_check_top(r); + + return ret; +} + +int bn_sqr_fixed_top(BIGNUM *r, const BIGNUM *a, BN_CTX *ctx) +{ int max, al; int ret = 0; BIGNUM *tmp, *rr; @@ -83,7 +93,7 @@ int BN_sqr(BIGNUM *r, const BIGNUM *a, BN_CTX *ctx) rr->neg = 0; rr->top = max; - bn_correct_top(rr); + rr->flags |= BN_FLG_FIXED_TOP; if (r != rr && BN_copy(r, rr) == NULL) goto err; diff --git a/deps/openssl/openssl/crypto/bn/bn_x931p.c b/deps/openssl/openssl/crypto/bn/bn_x931p.c index 8bfbcac6a43..d01f12cadc8 100644 --- a/deps/openssl/openssl/crypto/bn/bn_x931p.c +++ b/deps/openssl/openssl/crypto/bn/bn_x931p.c @@ -1,5 +1,5 @@ /* - * Copyright 2011-2016 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2011-2018 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the OpenSSL license (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy @@ -184,8 +184,10 @@ int BN_X931_generate_Xpq(BIGNUM *Xp, BIGNUM *Xq, int nbits, BN_CTX *ctx) for (i = 0; i < 1000; i++) { if (!BN_rand(Xq, nbits, BN_RAND_TOP_TWO, BN_RAND_BOTTOM_ANY)) goto err; + /* Check that |Xp - Xq| > 2^(nbits - 100) */ - BN_sub(t, Xp, Xq); + if (!BN_sub(t, Xp, Xq)) + goto err; if (BN_num_bits(t) > (nbits - 100)) break; } diff --git a/deps/openssl/openssl/crypto/build.info b/deps/openssl/openssl/crypto/build.info index e693ebadcd3..8e153797008 100644 --- a/deps/openssl/openssl/crypto/build.info +++ b/deps/openssl/openssl/crypto/build.info @@ -2,7 +2,7 @@ LIBS=../libcrypto SOURCE[../libcrypto]=\ cryptlib.c mem.c mem_dbg.c cversion.c ex_data.c cpt_err.c \ ebcdic.c uid.c o_time.c o_str.c o_dir.c o_fopen.c \ - threads_pthread.c threads_win.c threads_none.c \ + threads_pthread.c threads_win.c threads_none.c getenv.c \ o_init.c o_fips.c mem_sec.c init.c {- $target{cpuid_asm_src} -} \ {- $target{uplink_aux_src} -} EXTRA= ../ms/uplink-x86.pl ../ms/uplink.c ../ms/applink.c \ diff --git a/deps/openssl/openssl/crypto/chacha/build.info b/deps/openssl/openssl/crypto/chacha/build.info index ed1e01ae30f..f99114c135b 100644 --- a/deps/openssl/openssl/crypto/chacha/build.info +++ b/deps/openssl/openssl/crypto/chacha/build.info @@ -8,8 +8,6 @@ GENERATE[chacha-armv4.S]=asm/chacha-armv4.pl $(PERLASM_SCHEME) INCLUDE[chacha-armv4.o]=.. GENERATE[chacha-armv8.S]=asm/chacha-armv8.pl $(PERLASM_SCHEME) INCLUDE[chacha-armv8.o]=.. -GENERATE[chacha-s390x.S]=asm/chacha-s390x.pl $(PERLASM_SCHEME) -INCLUDE[chacha-s390x.o]=.. BEGINRAW[Makefile(unix)] ##### CHACHA assembler implementations diff --git a/deps/openssl/openssl/crypto/conf/conf_api.c b/deps/openssl/openssl/crypto/conf/conf_api.c index 79e682a8474..36c91b16639 100644 --- a/deps/openssl/openssl/crypto/conf/conf_api.c +++ b/deps/openssl/openssl/crypto/conf/conf_api.c @@ -9,11 +9,12 @@ /* Part of the code in here was originally in conf.c, which is now removed */ +#include "e_os.h" +#include "internal/cryptlib.h" #include <stdlib.h> #include <string.h> #include <openssl/conf.h> #include <openssl/conf_api.h> -#include "e_os.h" static void value_free_hash(const CONF_VALUE *a, LHASH_OF(CONF_VALUE) *conf); static void value_free_stack_doall(CONF_VALUE *a); @@ -82,7 +83,7 @@ char *_CONF_get_string(const CONF *conf, const char *section, if (v != NULL) return (v->value); if (strcmp(section, "ENV") == 0) { - p = getenv(name); + p = ossl_safe_getenv(name); if (p != NULL) return (p); } @@ -95,7 +96,7 @@ char *_CONF_get_string(const CONF *conf, const char *section, else return (NULL); } else - return (getenv(name)); + return ossl_safe_getenv(name); } static unsigned long conf_value_hash(const CONF_VALUE *v) diff --git a/deps/openssl/openssl/crypto/conf/conf_mod.c b/deps/openssl/openssl/crypto/conf/conf_mod.c index 543a8ea4eda..722fe460612 100644 --- a/deps/openssl/openssl/crypto/conf/conf_mod.c +++ b/deps/openssl/openssl/crypto/conf/conf_mod.c @@ -1,5 +1,5 @@ /* - * Copyright 2002-2016 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2002-2018 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the OpenSSL license (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy @@ -478,8 +478,7 @@ char *CONF_get1_default_config_file(void) char *file; int len; - file = getenv("OPENSSL_CONF"); - if (file) + if ((file = ossl_safe_getenv("OPENSSL_CONF")) != NULL) return OPENSSL_strdup(file); len = strlen(X509_get_default_cert_area()); diff --git a/deps/openssl/openssl/crypto/cryptlib.c b/deps/openssl/openssl/crypto/cryptlib.c index 3b878cd0c20..9e59e03ef6f 100644 --- a/deps/openssl/openssl/crypto/cryptlib.c +++ b/deps/openssl/openssl/crypto/cryptlib.c @@ -198,7 +198,7 @@ int OPENSSL_isservice(void) if (_OPENSSL_isservice.p == NULL) { HANDLE mod = GetModuleHandle(NULL); - FARPROC f; + FARPROC f = NULL; if (mod != NULL) f = GetProcAddress(mod, "_OPENSSL_isservice"); diff --git a/deps/openssl/openssl/crypto/ct/ct_log.c b/deps/openssl/openssl/crypto/ct/ct_log.c index d442322e26b..973bf4ddbd8 100644 --- a/deps/openssl/openssl/crypto/ct/ct_log.c +++ b/deps/openssl/openssl/crypto/ct/ct_log.c @@ -1,5 +1,5 @@ /* - * Copyright 2016 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2016-2018 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the OpenSSL license (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy @@ -137,7 +137,7 @@ static int ctlog_new_from_conf(CTLOG **ct_log, const CONF *conf, const char *sec int CTLOG_STORE_load_default_file(CTLOG_STORE *store) { - const char *fpath = getenv(CTLOG_FILE_EVP); + const char *fpath = ossl_safe_getenv(CTLOG_FILE_EVP); if (fpath == NULL) fpath = CTLOG_FILE; diff --git a/deps/openssl/openssl/crypto/dh/dh_lib.c b/deps/openssl/openssl/crypto/dh/dh_lib.c index 716f4a4b0a5..2e727df8972 100644 --- a/deps/openssl/openssl/crypto/dh/dh_lib.c +++ b/deps/openssl/openssl/crypto/dh/dh_lib.c @@ -1,5 +1,5 @@ /* - * Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2018 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the OpenSSL license (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy @@ -82,12 +82,14 @@ DH *DH_new_method(ENGINE *engine) if ((ret->meth->init != NULL) && !ret->meth->init(ret)) { DHerr(DH_F_DH_NEW_METHOD, ERR_R_INIT_FAIL); -err: - DH_free(ret); - ret = NULL; + goto err; } return ret; + + err: + DH_free(ret); + return NULL; } void DH_free(DH *r) @@ -103,7 +105,7 @@ void DH_free(DH *r) return; REF_ASSERT_ISNT(i < 0); - if (r->meth->finish) + if (r->meth != NULL && r->meth->finish != NULL) r->meth->finish(r); #ifndef OPENSSL_NO_ENGINE ENGINE_finish(r->engine); diff --git a/deps/openssl/openssl/crypto/dsa/dsa_lib.c b/deps/openssl/openssl/crypto/dsa/dsa_lib.c index 9598846e3bc..08956b9e3dd 100644 --- a/deps/openssl/openssl/crypto/dsa/dsa_lib.c +++ b/deps/openssl/openssl/crypto/dsa/dsa_lib.c @@ -1,5 +1,5 @@ /* - * Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2018 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the OpenSSL license (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy @@ -91,12 +91,14 @@ DSA *DSA_new_method(ENGINE *engine) if ((ret->meth->init != NULL) && !ret->meth->init(ret)) { DSAerr(DSA_F_DSA_NEW_METHOD, ERR_R_INIT_FAIL); -err: - DSA_free(ret); - ret = NULL; + goto err; } return ret; + + err: + DSA_free(ret); + return NULL; } void DSA_free(DSA *r) @@ -112,7 +114,7 @@ void DSA_free(DSA *r) return; REF_ASSERT_ISNT(i < 0); - if (r->meth->finish) + if (r->meth != NULL && r->meth->finish != NULL) r->meth->finish(r); #ifndef OPENSSL_NO_ENGINE ENGINE_finish(r->engine); diff --git a/deps/openssl/openssl/crypto/ec/ec2_smpl.c b/deps/openssl/openssl/crypto/ec/ec2_smpl.c index 28b91d51023..cdacce61acf 100644 --- a/deps/openssl/openssl/crypto/ec/ec2_smpl.c +++ b/deps/openssl/openssl/crypto/ec/ec2_smpl.c @@ -83,7 +83,8 @@ const EC_METHOD *EC_GF2m_simple_method(void) ec_key_simple_generate_public_key, 0, /* keycopy */ 0, /* keyfinish */ - ecdh_simple_compute_key + ecdh_simple_compute_key, + 0 /* blind_coordinates */ }; return &ret; diff --git a/deps/openssl/openssl/crypto/ec/ec_err.c b/deps/openssl/openssl/crypto/ec/ec_err.c index e4c2c1c1a42..717c92e9845 100644 --- a/deps/openssl/openssl/crypto/ec/ec_err.c +++ b/deps/openssl/openssl/crypto/ec/ec_err.c @@ -1,6 +1,6 @@ /* * Generated by util/mkerr.pl DO NOT EDIT - * Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2018 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the OpenSSL license (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy @@ -97,6 +97,8 @@ static ERR_STRING_DATA EC_str_functs[] = { {ERR_FUNC(EC_F_EC_GFP_NIST_FIELD_SQR), "ec_GFp_nist_field_sqr"}, {ERR_FUNC(EC_F_EC_GFP_NIST_GROUP_SET_CURVE), "ec_GFp_nist_group_set_curve"}, + {ERR_FUNC(EC_F_EC_GFP_SIMPLE_BLIND_COORDINATES), + "ec_GFp_simple_blind_coordinates"}, {ERR_FUNC(EC_F_EC_GFP_SIMPLE_GROUP_CHECK_DISCRIMINANT), "ec_GFp_simple_group_check_discriminant"}, {ERR_FUNC(EC_F_EC_GFP_SIMPLE_GROUP_SET_CURVE), diff --git a/deps/openssl/openssl/crypto/ec/ec_key.c b/deps/openssl/openssl/crypto/ec/ec_key.c index f1f0afb466b..462156f204e 100644 --- a/deps/openssl/openssl/crypto/ec/ec_key.c +++ b/deps/openssl/openssl/crypto/ec/ec_key.c @@ -1,5 +1,5 @@ /* - * Copyright 2002-2016 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2002-2018 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the OpenSSL license (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy @@ -55,7 +55,7 @@ void EC_KEY_free(EC_KEY *r) return; REF_ASSERT_ISNT(i < 0); - if (r->meth->finish != NULL) + if (r->meth != NULL && r->meth->finish != NULL) r->meth->finish(r); #ifndef OPENSSL_NO_ENGINE diff --git a/deps/openssl/openssl/crypto/ec/ec_kmeth.c b/deps/openssl/openssl/crypto/ec/ec_kmeth.c index 5e5d1ae1cf4..64a5d20872e 100644 --- a/deps/openssl/openssl/crypto/ec/ec_kmeth.c +++ b/deps/openssl/openssl/crypto/ec/ec_kmeth.c @@ -1,5 +1,5 @@ /* - * Copyright 2015-2016 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2015-2018 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the OpenSSL license (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy @@ -119,7 +119,7 @@ EC_KEY *EC_KEY_new_method(ENGINE *engine) } return ret; -err: + err: EC_KEY_free(ret); return NULL; } diff --git a/deps/openssl/openssl/crypto/ec/ec_lcl.h b/deps/openssl/openssl/crypto/ec/ec_lcl.h index d8141704cfb..ca1776efdb1 100644 --- a/deps/openssl/openssl/crypto/ec/ec_lcl.h +++ b/deps/openssl/openssl/crypto/ec/ec_lcl.h @@ -169,6 +169,7 @@ struct ec_method_st { /* custom ECDH operation */ int (*ecdh_compute_key)(unsigned char **pout, size_t *poutlen, const EC_POINT *pub_key, const EC_KEY *ecdh); + int (*blind_coordinates)(const EC_GROUP *group, EC_POINT *p, BN_CTX *ctx); }; /* @@ -375,6 +376,8 @@ int ec_GFp_simple_field_mul(const EC_GROUP *, BIGNUM *r, const BIGNUM *a, const BIGNUM *b, BN_CTX *); int ec_GFp_simple_field_sqr(const EC_GROUP *, BIGNUM *r, const BIGNUM *a, BN_CTX *); +int ec_GFp_simple_blind_coordinates(const EC_GROUP *group, EC_POINT *p, + BN_CTX *ctx); /* method functions in ecp_mont.c */ int ec_GFp_mont_group_init(EC_GROUP *); @@ -627,3 +630,5 @@ int X25519(uint8_t out_shared_key[32], const uint8_t private_key[32], const uint8_t peer_public_value[32]); void X25519_public_from_private(uint8_t out_public_value[32], const uint8_t private_key[32]); + +int ec_point_blind_coordinates(const EC_GROUP *group, EC_POINT *p, BN_CTX *ctx); diff --git a/deps/openssl/openssl/crypto/ec/ec_lib.c b/deps/openssl/openssl/crypto/ec/ec_lib.c index e256e4e5118..a7be03b627e 100644 --- a/deps/openssl/openssl/crypto/ec/ec_lib.c +++ b/deps/openssl/openssl/crypto/ec/ec_lib.c @@ -756,6 +756,11 @@ int EC_POINT_get_affine_coordinates_GFp(const EC_GROUP *group, EC_R_INCOMPATIBLE_OBJECTS); return 0; } + if (EC_POINT_is_at_infinity(group, point)) { + ECerr(EC_F_EC_POINT_GET_AFFINE_COORDINATES_GFP, + EC_R_POINT_AT_INFINITY); + return 0; + } return group->meth->point_get_affine_coordinates(group, point, x, y, ctx); } @@ -774,6 +779,11 @@ int EC_POINT_get_affine_coordinates_GF2m(const EC_GROUP *group, EC_R_INCOMPATIBLE_OBJECTS); return 0; } + if (EC_POINT_is_at_infinity(group, point)) { + ECerr(EC_F_EC_POINT_GET_AFFINE_COORDINATES_GF2M, + EC_R_POINT_AT_INFINITY); + return 0; + } return group->meth->point_get_affine_coordinates(group, point, x, y, ctx); } #endif @@ -1007,3 +1017,21 @@ int ec_group_simple_order_bits(const EC_GROUP *group) return 0; return BN_num_bits(group->order); } + +/*- + * Coordinate blinding for EC_POINT. + * + * The underlying EC_METHOD can optionally implement this function: + * underlying implementations should return 0 on errors, or 1 on + * success. + * + * This wrapper returns 1 in case the underlying EC_METHOD does not + * support coordinate blinding. + */ +int ec_point_blind_coordinates(const EC_GROUP *group, EC_POINT *p, BN_CTX *ctx) +{ + if (group->meth->blind_coordinates == NULL) + return 1; /* ignore if not implemented */ + + return group->meth->blind_coordinates(group, p, ctx); +} diff --git a/deps/openssl/openssl/crypto/ec/ec_mult.c b/deps/openssl/openssl/crypto/ec/ec_mult.c index 56c7767772d..22bb30ffa1b 100644 --- a/deps/openssl/openssl/crypto/ec/ec_mult.c +++ b/deps/openssl/openssl/crypto/ec/ec_mult.c @@ -216,6 +216,17 @@ static int ec_mul_consttime(const EC_GROUP *group, EC_POINT *r, || (bn_wexpand(r->Z, group_top) == NULL)) goto err; + /*- + * Apply coordinate blinding for EC_POINT. + * + * The underlying EC_METHOD can optionally implement this function: + * ec_point_blind_coordinates() returns 0 in case of errors or 1 on + * success or if coordinate blinding is not implemented for this + * group. + */ + if (!ec_point_blind_coordinates(group, s, ctx)) + goto err; + /* top bit is a 1, in a fixed pos */ if (!EC_POINT_copy(r, s)) goto err; @@ -382,30 +393,32 @@ int ec_wNAF_mul(const EC_GROUP *group, EC_POINT *r, const BIGNUM *scalar, return EC_POINT_set_to_infinity(group, r); } - /*- - * Handle the common cases where the scalar is secret, enforcing a constant - * time scalar multiplication algorithm. - */ - if ((scalar != NULL) && (num == 0)) { + if (!BN_is_zero(group->order) && !BN_is_zero(group->cofactor)) { /*- - * In this case we want to compute scalar * GeneratorPoint: this - * codepath is reached most prominently by (ephemeral) key generation - * of EC cryptosystems (i.e. ECDSA keygen and sign setup, ECDH - * keygen/first half), where the scalar is always secret. This is why - * we ignore if BN_FLG_CONSTTIME is actually set and we always call the - * constant time version. + * Handle the common cases where the scalar is secret, enforcing a constant + * time scalar multiplication algorithm. */ - return ec_mul_consttime(group, r, scalar, NULL, ctx); - } - if ((scalar == NULL) && (num == 1)) { - /*- - * In this case we want to compute scalar * GenericPoint: this codepath - * is reached most prominently by the second half of ECDH, where the - * secret scalar is multiplied by the peer's public point. To protect - * the secret scalar, we ignore if BN_FLG_CONSTTIME is actually set and - * we always call the constant time version. - */ - return ec_mul_consttime(group, r, scalars[0], points[0], ctx); + if ((scalar != NULL) && (num == 0)) { + /*- + * In this case we want to compute scalar * GeneratorPoint: this + * codepath is reached most prominently by (ephemeral) key generation + * of EC cryptosystems (i.e. ECDSA keygen and sign setup, ECDH + * keygen/first half), where the scalar is always secret. This is why + * we ignore if BN_FLG_CONSTTIME is actually set and we always call the + * constant time version. + */ + return ec_mul_consttime(group, r, scalar, NULL, ctx); + } + if ((scalar == NULL) && (num == 1)) { + /*- + * In this case we want to compute scalar * GenericPoint: this codepath + * is reached most prominently by the second half of ECDH, where the + * secret scalar is multiplied by the peer's public point. To protect + * the secret scalar, we ignore if BN_FLG_CONSTTIME is actually set and + * we always call the constant time version. + */ + return ec_mul_consttime(group, r, scalars[0], points[0], ctx); + } } for (i = 0; i < num; i++) { diff --git a/deps/openssl/openssl/crypto/ec/ecp_mont.c b/deps/openssl/openssl/crypto/ec/ecp_mont.c index 994cc1d0fff..d837d4d465a 100644 --- a/deps/openssl/openssl/crypto/ec/ecp_mont.c +++ b/deps/openssl/openssl/crypto/ec/ecp_mont.c @@ -1,5 +1,5 @@ /* - * Copyright 2001-2016 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2001-2018 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the OpenSSL license (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy @@ -66,7 +66,8 @@ const EC_METHOD *EC_GFp_mont_method(void) ec_key_simple_generate_public_key, 0, /* keycopy */ 0, /* keyfinish */ - ecdh_simple_compute_key + ecdh_simple_compute_key, + ec_GFp_simple_blind_coordinates }; return &ret; diff --git a/deps/openssl/openssl/crypto/ec/ecp_nist.c b/deps/openssl/openssl/crypto/ec/ecp_nist.c index 615563bc38e..143f21f3f9b 100644 --- a/deps/openssl/openssl/crypto/ec/ecp_nist.c +++ b/deps/openssl/openssl/crypto/ec/ecp_nist.c @@ -1,5 +1,5 @@ /* - * Copyright 2001-2016 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2001-2018 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the OpenSSL license (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy @@ -68,7 +68,8 @@ const EC_METHOD *EC_GFp_nist_method(void) ec_key_simple_generate_public_key, 0, /* keycopy */ 0, /* keyfinish */ - ecdh_simple_compute_key + ecdh_simple_compute_key, + ec_GFp_simple_blind_coordinates }; return &ret; diff --git a/deps/openssl/openssl/crypto/ec/ecp_nistp224.c b/deps/openssl/openssl/crypto/ec/ecp_nistp224.c index 0cd994fc230..52056ff5910 100644 --- a/deps/openssl/openssl/crypto/ec/ecp_nistp224.c +++ b/deps/openssl/openssl/crypto/ec/ecp_nistp224.c @@ -1,5 +1,5 @@ /* - * Copyright 2010-2016 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2010-2018 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the OpenSSL license (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy @@ -290,7 +290,8 @@ const EC_METHOD *EC_GFp_nistp224_method(void) ec_key_simple_generate_public_key, 0, /* keycopy */ 0, /* keyfinish */ - ecdh_simple_compute_key + ecdh_simple_compute_key, + 0 /* blind_coordinates */ }; return &ret; diff --git a/deps/openssl/openssl/crypto/ec/ecp_nistp521.c b/deps/openssl/openssl/crypto/ec/ecp_nistp521.c index 133f089fd2c..0a82abca1b0 100644 --- a/deps/openssl/openssl/crypto/ec/ecp_nistp521.c +++ b/deps/openssl/openssl/crypto/ec/ecp_nistp521.c @@ -1,5 +1,5 @@ /* - * Copyright 2011-2016 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2011-2018 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the OpenSSL license (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy @@ -1642,7 +1642,8 @@ const EC_METHOD *EC_GFp_nistp521_method(void) ec_key_simple_generate_public_key, 0, /* keycopy */ 0, /* keyfinish */ - ecdh_simple_compute_key + ecdh_simple_compute_key, + 0 /* blind_coordinates */ }; return &ret; diff --git a/deps/openssl/openssl/crypto/ec/ecp_nistz256.c b/deps/openssl/openssl/crypto/ec/ecp_nistz256.c index 4dbe2169272..7eafce649b4 100644 --- a/deps/openssl/openssl/crypto/ec/ecp_nistz256.c +++ b/deps/openssl/openssl/crypto/ec/ecp_nistz256.c @@ -1536,7 +1536,8 @@ const EC_METHOD *EC_GFp_nistz256_method(void) ec_key_simple_generate_public_key, 0, /* keycopy */ 0, /* keyfinish */ - ecdh_simple_compute_key + ecdh_simple_compute_key, + 0 /* blind_coordinates */ }; return &ret; diff --git a/deps/openssl/openssl/crypto/ec/ecp_smpl.c b/deps/openssl/openssl/crypto/ec/ecp_smpl.c index e3b88315fd4..adfb1945766 100644 --- a/deps/openssl/openssl/crypto/ec/ecp_smpl.c +++ b/deps/openssl/openssl/crypto/ec/ecp_smpl.c @@ -67,7 +67,8 @@ const EC_METHOD *EC_GFp_simple_method(void) ec_key_simple_generate_public_key, 0, /* keycopy */ 0, /* keyfinish */ - ecdh_simple_compute_key + ecdh_simple_compute_key, + ec_GFp_simple_blind_coordinates }; return &ret; @@ -1368,3 +1369,56 @@ int ec_GFp_simple_field_sqr(const EC_GROUP *group, BIGNUM *r, const BIGNUM *a, { return BN_mod_sqr(r, a, group->field, ctx); } + +/*- + * Apply randomization of EC point projective coordinates: + * + * (X, Y ,Z ) = (lambda^2*X, lambda^3*Y, lambda*Z) + * lambda = [1,group->field) + * + */ +int ec_GFp_simple_blind_coordinates(const EC_GROUP *group, EC_POINT *p, + BN_CTX *ctx) +{ + int ret = 0; + BIGNUM *lambda = NULL; + BIGNUM *temp = NULL; + + BN_CTX_start(ctx); + lambda = BN_CTX_get(ctx); + temp = BN_CTX_get(ctx); + if (temp == NULL) { + ECerr(EC_F_EC_GFP_SIMPLE_BLIND_COORDINATES, ERR_R_MALLOC_FAILURE); + goto err; + } + + /* make sure lambda is not zero */ + do { + if (!BN_rand_range(lambda, group->field)) { + ECerr(EC_F_EC_GFP_SIMPLE_BLIND_COORDINATES, ERR_R_BN_LIB); + goto err; + } + } while (BN_is_zero(lambda)); + + /* if field_encode defined convert between representations */ + if (group->meth->field_encode != NULL + && !group->meth->field_encode(group, lambda, lambda, ctx)) + goto err; + if (!group->meth->field_mul(group, p->Z, p->Z, lambda, ctx)) + goto err; + if (!group->meth->field_sqr(group, temp, lambda, ctx)) + goto err; + if (!group->meth->field_mul(group, p->X, p->X, temp, ctx)) + goto err; + if (!group->meth->field_mul(group, temp, temp, lambda, ctx)) + goto err; + if (!group->meth->field_mul(group, p->Y, p->Y, temp, ctx)) + goto err; + p->Z_is_one = 0; + + ret = 1; + + err: + BN_CTX_end(ctx); + return ret; +} diff --git a/deps/openssl/openssl/crypto/engine/eng_list.c b/deps/openssl/openssl/crypto/engine/eng_list.c index 934389f74e4..f8d74c1d330 100644 --- a/deps/openssl/openssl/crypto/engine/eng_list.c +++ b/deps/openssl/openssl/crypto/engine/eng_list.c @@ -1,5 +1,5 @@ /* - * Copyright 2001-2016 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2001-2018 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the OpenSSL license (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy @@ -322,7 +322,7 @@ ENGINE *ENGINE_by_id(const char *id) * Prevent infinite recursion if we're looking for the dynamic engine. */ if (strcmp(id, "dynamic")) { - if ((load_dir = getenv("OPENSSL_ENGINES")) == 0) + if ((load_dir = ossl_safe_getenv("OPENSSL_ENGINES")) == NULL) load_dir = ENGINESDIR; iterator = ENGINE_by_id("dynamic"); if (!iterator || !ENGINE_ctrl_cmd_string(iterator, "ID", id, 0) || diff --git a/deps/openssl/openssl/crypto/evp/p_seal.c b/deps/openssl/openssl/crypto/evp/p_seal.c index faa246483ba..6f026e7c4fe 100644 --- a/deps/openssl/openssl/crypto/evp/p_seal.c +++ b/deps/openssl/openssl/crypto/evp/p_seal.c @@ -1,5 +1,5 @@ /* - * Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2018 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the OpenSSL license (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy @@ -21,6 +21,7 @@ int EVP_SealInit(EVP_CIPHER_CTX *ctx, const EVP_CIPHER *type, { unsigned char key[EVP_MAX_KEY_LENGTH]; int i; + int rv = 0; if (type) { EVP_CIPHER_CTX_reset(ctx); @@ -31,21 +32,27 @@ int EVP_SealInit(EVP_CIPHER_CTX *ctx, const EVP_CIPHER *type, return 1; if (EVP_CIPHER_CTX_rand_key(ctx, key) <= 0) return 0; + if (EVP_CIPHER_CTX_iv_length(ctx) - && RAND_bytes(iv, EVP_CIPHER_CTX_iv_length(ctx)) <= 0) - return 0; + && RAND_bytes(iv, EVP_CIPHER_CTX_iv_length(ctx)) <= 0) + goto err; if (!EVP_EncryptInit_ex(ctx, NULL, NULL, key, iv)) - return 0; + goto err; for (i = 0; i < npubk; i++) { ekl[i] = EVP_PKEY_encrypt_old(ek[i], key, EVP_CIPHER_CTX_key_length(ctx), pubk[i]); - if (ekl[i] <= 0) - return (-1); + if (ekl[i] <= 0) { + rv = -1; + goto err; + } } - return (npubk); + rv = npubk; +err: + OPENSSL_cleanse(key, sizeof(key)); + return rv; } /*- MACRO diff --git a/deps/openssl/openssl/crypto/getenv.c b/deps/openssl/openssl/crypto/getenv.c new file mode 100644 index 00000000000..7e98b645b0d --- /dev/null +++ b/deps/openssl/openssl/crypto/getenv.c @@ -0,0 +1,31 @@ +/* + * Copyright 2018 The OpenSSL Project Authors. All Rights Reserved. + * + * Licensed under the OpenSSL license (the "License"). You may not use + * this file except in compliance with the License. You can obtain a copy + * in the file LICENSE in the source distribution or at + * https://www.openssl.org/source/license.html + */ + +#ifndef _GNU_SOURCE +# define _GNU_SOURCE +#endif + +#include <stdlib.h> +#include "internal/cryptlib.h" + +char *ossl_safe_getenv(const char *name) +{ +#if defined(__GLIBC__) && defined(__GLIBC_PREREQ) +# if __GLIBC_PREREQ(2, 17) +# define SECURE_GETENV + return secure_getenv(name); +# endif +#endif + +#ifndef SECURE_GETENV + if (OPENSSL_issetugid()) + return NULL; + return getenv(name); +#endif +} diff --git a/deps/openssl/openssl/crypto/include/internal/bn_conf.h b/deps/openssl/openssl/crypto/include/internal/bn_conf.h deleted file mode 100644 index 79400c6472a..00000000000 --- a/deps/openssl/openssl/crypto/include/internal/bn_conf.h +++ /dev/null @@ -1 +0,0 @@ -#include "../../../config/bn_conf.h" diff --git a/deps/openssl/openssl/crypto/include/internal/bn_int.h b/deps/openssl/openssl/crypto/include/internal/bn_int.h index 2fcdd0d13e1..2be7fdd0d30 100644 --- a/deps/openssl/openssl/crypto/include/internal/bn_int.h +++ b/deps/openssl/openssl/crypto/include/internal/bn_int.h @@ -85,8 +85,14 @@ int bn_mul_mont_fixed_top(BIGNUM *r, const BIGNUM *a, const BIGNUM *b, BN_MONT_CTX *mont, BN_CTX *ctx); int bn_to_mont_fixed_top(BIGNUM *r, const BIGNUM *a, BN_MONT_CTX *mont, BN_CTX *ctx); +int bn_from_mont_fixed_top(BIGNUM *r, const BIGNUM *a, BN_MONT_CTX *mont, + BN_CTX *ctx); int bn_mod_add_fixed_top(BIGNUM *r, const BIGNUM *a, const BIGNUM *b, const BIGNUM *m); +int bn_mod_sub_fixed_top(BIGNUM *r, const BIGNUM *a, const BIGNUM *b, + const BIGNUM *m); +int bn_mul_fixed_top(BIGNUM *r, const BIGNUM *a, const BIGNUM *b, BN_CTX *ctx); +int bn_sqr_fixed_top(BIGNUM *r, const BIGNUM *a, BN_CTX *ctx); #ifdef __cplusplus } diff --git a/deps/openssl/openssl/crypto/include/internal/cryptlib.h b/deps/openssl/openssl/crypto/include/internal/cryptlib.h index 627fd8caf4a..d42a134bdf9 100644 --- a/deps/openssl/openssl/crypto/include/internal/cryptlib.h +++ b/deps/openssl/openssl/crypto/include/internal/cryptlib.h @@ -67,6 +67,8 @@ void OPENSSL_showfatal(const char *fmta, ...); extern int OPENSSL_NONPIC_relocated; void crypto_cleanup_all_ex_data_int(void); +char *ossl_safe_getenv(const char *name); + int openssl_strerror_r(int errnum, char *buf, size_t buflen); # if !defined(OPENSSL_NO_STDIO) FILE *openssl_fopen(const char *filename, const char *mode); diff --git a/deps/openssl/openssl/crypto/include/internal/dso_conf.h b/deps/openssl/openssl/crypto/include/internal/dso_conf.h deleted file mode 100644 index e7f2afa9872..00000000000 --- a/deps/openssl/openssl/crypto/include/internal/dso_conf.h +++ /dev/null @@ -1 +0,0 @@ -#include "../../../config/dso_conf.h" diff --git a/deps/openssl/openssl/crypto/include/internal/lhash.h b/deps/openssl/openssl/crypto/include/internal/lhash.h new file mode 100644 index 00000000000..200ba8685da --- /dev/null +++ b/deps/openssl/openssl/crypto/include/internal/lhash.h @@ -0,0 +1,15 @@ +/* + * Copyright 2018 The OpenSSL Project Authors. All Rights Reserved. + * + * Licensed under the OpenSSL license (the "License"). You may not use + * this file except in compliance with the License. You can obtain a copy + * in the file LICENSE in the source distribution or at + * https://www.openssl.org/source/license.html + */ + +#ifndef INTERNAL_LHASH_H +# define INTERNAL_LHASH_H + +unsigned long openssl_lh_strcasehash(const char *); + +#endif diff --git a/deps/openssl/openssl/crypto/init.c b/deps/openssl/openssl/crypto/init.c index 00a91792d83..2ad946c5bf7 100644 --- a/deps/openssl/openssl/crypto/init.c +++ b/deps/openssl/openssl/crypto/init.c @@ -41,7 +41,10 @@ static int stopped = 0; * key value and pull NULL past initialization in the first thread that * intends to use libcrypto. */ -static CRYPTO_THREAD_LOCAL destructor_key = (CRYPTO_THREAD_LOCAL)-1; +static union { + long sane; + CRYPTO_THREAD_LOCAL value; +} destructor_key = { -1 }; static void ossl_init_thread_stop(struct thread_local_inits_st *locals); @@ -53,17 +56,17 @@ static void ossl_init_thread_destructor(void *local) static struct thread_local_inits_st *ossl_init_get_thread_local(int alloc) { struct thread_local_inits_st *local = - CRYPTO_THREAD_get_local(&destructor_key); + CRYPTO_THREAD_get_local(&destructor_key.value); if (alloc) { if (local == NULL && (local = OPENSSL_zalloc(sizeof(*local))) != NULL - && !CRYPTO_THREAD_set_local(&destructor_key, local)) { + && !CRYPTO_THREAD_set_local(&destructor_key.value, local)) { OPENSSL_free(local); return NULL; } } else { - CRYPTO_THREAD_set_local(&destructor_key, NULL); + CRYPTO_THREAD_set_local(&destructor_key.value, NULL); } return local; @@ -97,7 +100,7 @@ DEFINE_RUN_ONCE_STATIC(ossl_init_base) #endif OPENSSL_cpuid_setup(); - destructor_key = key; + destructor_key.value = key; base_inited = 1; return 1; @@ -396,7 +399,7 @@ static void ossl_init_thread_stop(struct thread_local_inits_st *locals) void OPENSSL_thread_stop(void) { - if (destructor_key != (CRYPTO_THREAD_LOCAL)-1) + if (destructor_key.sane != -1) ossl_init_thread_stop(ossl_init_get_thread_local(0)); } @@ -493,8 +496,8 @@ void OPENSSL_cleanup(void) err_free_strings_int(); } - key = destructor_key; - destructor_key = (CRYPTO_THREAD_LOCAL)-1; + key = destructor_key.value; + destructor_key.sane = -1; CRYPTO_THREAD_cleanup_local(&key); #ifdef OPENSSL_INIT_DEBUG diff --git a/deps/openssl/openssl/crypto/kdf/hkdf.c b/deps/openssl/openssl/crypto/kdf/hkdf.c index 00b95b5a884..0fb55e9c651 100644 --- a/deps/openssl/openssl/crypto/kdf/hkdf.c +++ b/deps/openssl/openssl/crypto/kdf/hkdf.c @@ -1,5 +1,5 @@ /* - * Copyright 2016 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2016-2018 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the OpenSSL license (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy @@ -234,6 +234,7 @@ static unsigned char *HKDF_Expand(const EVP_MD *evp_md, unsigned char *okm, size_t okm_len) { HMAC_CTX *hmac; + unsigned char *ret = NULL; unsigned int i; @@ -283,11 +284,10 @@ static unsigned char *HKDF_Expand(const EVP_MD *evp_md, done_len += copy_len; } - - HMAC_CTX_free(hmac); - return okm; + ret = okm; err: + OPENSSL_cleanse(prev, sizeof(prev)); HMAC_CTX_free(hmac); - return NULL; + return ret; } diff --git a/deps/openssl/openssl/crypto/lhash/lhash.c b/deps/openssl/openssl/crypto/lhash/lhash.c index f48541171c5..ea83bf900fb 100644 --- a/deps/openssl/openssl/crypto/lhash/lhash.c +++ b/deps/openssl/openssl/crypto/lhash/lhash.c @@ -1,5 +1,5 @@ /* - * Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2018 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the OpenSSL license (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy @@ -12,6 +12,8 @@ #include <stdlib.h> #include <openssl/crypto.h> #include <openssl/lhash.h> +#include <ctype.h> +#include "internal/lhash.h" #include "lhash_lcl.h" /* @@ -351,6 +353,27 @@ unsigned long OPENSSL_LH_strhash(const char *c) return ((ret >> 16) ^ ret); } +unsigned long openssl_lh_strcasehash(const char *c) +{ + unsigned long ret = 0; + long n; + unsigned long v; + int r; + + if (c == NULL || *c == '\0') + return ret; + + for (n = 0x100; *c != '\0'; n += 0x100) { + v = n | tolower(*c); + r = (int)((v >> 2) ^ v) & 0x0f; + ret = (ret << r) | (ret >> (32 - r)); + ret &= 0xFFFFFFFFL; + ret ^= v * v; + c++; + } + return (ret >> 16) ^ ret; +} + unsigned long OPENSSL_LH_num_items(const OPENSSL_LHASH *lh) { return lh ? lh->num_items : 0; diff --git a/deps/openssl/openssl/crypto/mem_sec.c b/deps/openssl/openssl/crypto/mem_sec.c index 25cdb47d56c..1ccf68cc933 100644 --- a/deps/openssl/openssl/crypto/mem_sec.c +++ b/deps/openssl/openssl/crypto/mem_sec.c @@ -134,11 +134,12 @@ void *CRYPTO_secure_malloc(size_t num, const char *file, int line) void *CRYPTO_secure_zalloc(size_t num, const char *file, int line) { - void *ret = CRYPTO_secure_malloc(num, file, line); - - if (ret != NULL) - memset(ret, 0, num); - return ret; +#ifdef IMPLEMENTED + if (secure_mem_initialized) + /* CRYPTO_secure_malloc() zeroes allocations when it is implemented */ + return CRYPTO_secure_malloc(num, file, line); +#endif + return CRYPTO_zalloc(num, file, line); } void CRYPTO_secure_free(void *ptr, const char *file, int line) @@ -574,6 +575,9 @@ static char *sh_malloc(size_t size) OPENSSL_assert(WITHIN_ARENA(chunk)); + /* zero the free list header as a precaution against information leakage */ + memset(chunk, 0, sizeof(SH_LIST)); + return chunk; } @@ -606,6 +610,8 @@ static void sh_free(char *ptr) list--; + /* Zero the higher addressed block's free list pointers */ + memset(ptr > buddy ? ptr : buddy, 0, sizeof(SH_LIST)); if (ptr > buddy) ptr = buddy; diff --git a/deps/openssl/openssl/crypto/modes/build.info b/deps/openssl/openssl/crypto/modes/build.info index b794c5041a8..38195c44a56 100644 --- a/deps/openssl/openssl/crypto/modes/build.info +++ b/deps/openssl/openssl/crypto/modes/build.info @@ -19,8 +19,6 @@ GENERATE[ghash-armv4.S]=asm/ghash-armv4.pl $(PERLASM_SCHEME) INCLUDE[ghash-armv4.o]=.. GENERATE[ghashv8-armx.S]=asm/ghashv8-armx.pl $(PERLASM_SCHEME) INCLUDE[ghashv8-armx.o]=.. -GENERATE[ghash-s390x.S]=asm/ghash-s390x.pl $(PERLASM_SCHEME) -INCLUDE[ghash-s390x.o]=.. BEGINRAW[Makefile] # GNU make "catch all" diff --git a/deps/openssl/openssl/crypto/objects/o_names.c b/deps/openssl/openssl/crypto/objects/o_names.c index 15fe653d093..7fb0136c58f 100644 --- a/deps/openssl/openssl/crypto/objects/o_names.c +++ b/deps/openssl/openssl/crypto/objects/o_names.c @@ -1,5 +1,5 @@ /* - * Copyright 1998-2016 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1998-2018 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the OpenSSL license (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy @@ -16,27 +16,26 @@ #include <openssl/objects.h> #include <openssl/safestack.h> #include <openssl/e_os2.h> -#include <internal/thread_once.h> +#include "internal/thread_once.h" +#include "internal/lhash.h" #include "obj_lcl.h" +#include "e_os.h" /* * We define this wrapper for two reasons. Firstly, later versions of * DEC C add linkage information to certain functions, which makes it * tricky to use them as values to regular function pointers. - * Secondly, in the EDK2 build environment, the strcmp function is - * actually an external function (AsciiStrCmp) with the Microsoft ABI, - * so we can't transparently assign function pointers to it. - * Arguably the latter is a stupidity of the UEFI environment, but - * since the wrapper solves the DEC C issue too, let's just use the - * same solution. + * Secondly, in the EDK2 build environment, the strcasecmp function is + * actually an external function with the Microsoft ABI, so we can't + * transparently assign function pointers to it. */ #if defined(OPENSSL_SYS_VMS_DECC) || defined(OPENSSL_SYS_UEFI) -static int obj_strcmp(const char *a, const char *b) +static int obj_strcasecmp(const char *a, const char *b) { - return strcmp(a, b); + return strcasecmp(a, b); } #else -#define obj_strcmp strcmp +#define obj_strcasecmp strcasecmp #endif /* @@ -111,8 +110,8 @@ int OBJ_NAME_new_index(unsigned long (*hash_func) (const char *), ret = 0; goto out; } - name_funcs->hash_func = OPENSSL_LH_strhash; - name_funcs->cmp_func = obj_strcmp; + name_funcs->hash_func = openssl_lh_strcasehash; + name_funcs->cmp_func = obj_strcasecmp; CRYPTO_mem_ctrl(CRYPTO_MEM_CHECK_DISABLE); push = sk_NAME_FUNCS_push(name_funcs_stack, name_funcs); @@ -149,7 +148,7 @@ static int obj_name_cmp(const OBJ_NAME *a, const OBJ_NAME *b) ret = sk_NAME_FUNCS_value(name_funcs_stack, a->type)->cmp_func(a->name, b->name); } else - ret = strcmp(a->name, b->name); + ret = strcasecmp(a->name, b->name); } return ret; } @@ -164,7 +163,7 @@ static unsigned long obj_name_hash(const OBJ_NAME *a) sk_NAME_FUNCS_value(name_funcs_stack, a->type)->hash_func(a->name); } else { - ret = OPENSSL_LH_strhash(a->name); + ret = openssl_lh_strcasehash(a->name); } ret ^= a->type; return ret; @@ -214,8 +213,6 @@ int OBJ_NAME_add(const char *name, int type, const char *data) if (!OBJ_NAME_init()) return 0; - CRYPTO_THREAD_write_lock(lock); - alias = type & OBJ_NAME_ALIAS; type &= ~OBJ_NAME_ALIAS; @@ -230,6 +227,8 @@ int OBJ_NAME_add(const char *name, int type, const char *data) onp->type = type; onp->data = data; + CRYPTO_THREAD_write_lock(lock); + ret = lh_OBJ_NAME_insert(names_lh, onp); if (ret != NULL) { /* free things */ diff --git a/deps/openssl/openssl/crypto/ocsp/ocsp_cl.c b/deps/openssl/openssl/crypto/ocsp/ocsp_cl.c index a42b80fa5bf..b638694e2d7 100644 --- a/deps/openssl/openssl/crypto/ocsp/ocsp_cl.c +++ b/deps/openssl/openssl/crypto/ocsp/ocsp_cl.c @@ -1,5 +1,5 @@ /* - * Copyright 2001-2016 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2001-2018 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the OpenSSL license (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy @@ -166,6 +166,16 @@ const ASN1_OCTET_STRING *OCSP_resp_get0_signature(const OCSP_BASICRESP *bs) return bs->signature; } +const X509_ALGOR *OCSP_resp_get0_tbs_sigalg(const OCSP_BASICRESP *bs) +{ + return &bs->signatureAlgorithm; +} + +const OCSP_RESPDATA *OCSP_resp_get0_respdata(const OCSP_BASICRESP *bs) +{ + return &bs->tbsResponseData; +} + /* * Return number of OCSP_SINGLERESP responses present in a basic response. */ diff --git a/deps/openssl/openssl/crypto/pem/pvkfmt.c b/deps/openssl/openssl/crypto/pem/pvkfmt.c index 63ce9259638..96a82eb5203 100644 --- a/deps/openssl/openssl/crypto/pem/pvkfmt.c +++ b/deps/openssl/openssl/crypto/pem/pvkfmt.c @@ -675,11 +675,11 @@ static EVP_PKEY *do_PVK_body(const unsigned char **in, const unsigned char *p = *in; unsigned int magic; unsigned char *enctmp = NULL, *q; + unsigned char keybuf[20]; EVP_CIPHER_CTX *cctx = EVP_CIPHER_CTX_new(); if (saltlen) { char psbuf[PEM_BUFSIZE]; - unsigned char keybuf[20]; int enctmplen, inlen; if (cb) inlen = cb(psbuf, PEM_BUFSIZE, 0, u); @@ -719,7 +719,6 @@ static EVP_PKEY *do_PVK_body(const unsigned char **in, memset(keybuf + 5, 0, 11); if (!EVP_DecryptInit_ex(cctx, EVP_rc4(), NULL, keybuf, NULL)) goto err; - OPENSSL_cleanse(keybuf, 20); if (!EVP_DecryptUpdate(cctx, q, &enctmplen, p, inlen)) goto err; if (!EVP_DecryptFinal_ex(cctx, q + enctmplen, &enctmplen)) @@ -729,15 +728,17 @@ static EVP_PKEY *do_PVK_body(const unsigned char **in, PEMerr(PEM_F_DO_PVK_BODY, PEM_R_BAD_DECRYPT); goto err; } - } else - OPENSSL_cleanse(keybuf, 20); + } p = enctmp; } ret = b2i_PrivateKey(&p, keylen); err: EVP_CIPHER_CTX_free(cctx); - OPENSSL_free(enctmp); + if (enctmp != NULL) { + OPENSSL_cleanse(keybuf, sizeof(keybuf)); + OPENSSL_free(enctmp); + } return ret; } diff --git a/deps/openssl/openssl/crypto/pkcs12/p12_init.c b/deps/openssl/openssl/crypto/pkcs12/p12_init.c index a78e183c955..88db0f2dc4f 100644 --- a/deps/openssl/openssl/crypto/pkcs12/p12_init.c +++ b/deps/openssl/openssl/crypto/pkcs12/p12_init.c @@ -1,5 +1,5 @@ /* - * Copyright 1999-2016 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1999-2018 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the OpenSSL license (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy @@ -22,7 +22,8 @@ PKCS12 *PKCS12_init(int mode) PKCS12err(PKCS12_F_PKCS12_INIT, ERR_R_MALLOC_FAILURE); return NULL; } - ASN1_INTEGER_set(pkcs12->version, 3); + if (!ASN1_INTEGER_set(pkcs12->version, 3)) + goto err; pkcs12->authsafes->type = OBJ_nid2obj(mode); switch (mode) { case NID_pkcs7_data: diff --git a/deps/openssl/openssl/crypto/pkcs12/p12_mutl.c b/deps/openssl/openssl/crypto/pkcs12/p12_mutl.c index a9e22026c33..0cbbed364a2 100644 --- a/deps/openssl/openssl/crypto/pkcs12/p12_mutl.c +++ b/deps/openssl/openssl/crypto/pkcs12/p12_mutl.c @@ -1,5 +1,5 @@ /* - * Copyright 1999-2016 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1999-2018 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the OpenSSL license (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy @@ -7,13 +7,13 @@ * https://www.openssl.org/source/license.html */ -# include <stdio.h> -# include "internal/cryptlib.h" -# include <openssl/crypto.h> -# include <openssl/hmac.h> -# include <openssl/rand.h> -# include <openssl/pkcs12.h> -# include "p12_lcl.h" +#include <stdio.h> +#include "internal/cryptlib.h" +#include <openssl/crypto.h> +#include <openssl/hmac.h> +#include <openssl/rand.h> +#include <openssl/pkcs12.h> +#include "p12_lcl.h" int PKCS12_mac_present(const PKCS12 *p12) { @@ -44,7 +44,7 @@ void PKCS12_get0_mac(const ASN1_OCTET_STRING **pmac, } } -# define TK26_MAC_KEY_LEN 32 +#define TK26_MAC_KEY_LEN 32 static int pkcs12_gen_gost_mac_key(const char *pass, int passlen, const unsigned char *salt, int saltlen, @@ -75,6 +75,7 @@ static int pkcs12_gen_mac(PKCS12 *p12, const char *pass, int passlen, unsigned char *out, const EVP_MD *md_type)) { + int ret = 0; const EVP_MD *md_type; HMAC_CTX *hmac = NULL; unsigned char key[EVP_MAX_MD_SIZE], *salt; @@ -111,29 +112,32 @@ static int pkcs12_gen_mac(PKCS12 *p12, const char *pass, int passlen, if ((md_type_nid == NID_id_GostR3411_94 || md_type_nid == NID_id_GostR3411_2012_256 || md_type_nid == NID_id_GostR3411_2012_512) - && !getenv("LEGACY_GOST_PKCS12")) { + && ossl_safe_getenv("LEGACY_GOST_PKCS12") == NULL) { md_size = TK26_MAC_KEY_LEN; if (!pkcs12_gen_gost_mac_key(pass, passlen, salt, saltlen, iter, md_size, key, md_type)) { PKCS12err(PKCS12_F_PKCS12_GEN_MAC, PKCS12_R_KEY_GEN_ERROR); - return 0; + goto err; } } else if (!(*pkcs12_key_gen)(pass, passlen, salt, saltlen, PKCS12_MAC_ID, iter, md_size, key, md_type)) { PKCS12err(PKCS12_F_PKCS12_GEN_MAC, PKCS12_R_KEY_GEN_ERROR); - return 0; + goto err; } if ((hmac = HMAC_CTX_new()) == NULL || !HMAC_Init_ex(hmac, key, md_size, md_type, NULL) || !HMAC_Update(hmac, p12->authsafes->d.data->data, p12->authsafes->d.data->length) || !HMAC_Final(hmac, mac, maclen)) { - HMAC_CTX_free(hmac); - return 0; + goto err; } + ret = 1; + +err: + OPENSSL_cleanse(key, sizeof(key)); HMAC_CTX_free(hmac); - return 1; + return ret; } int PKCS12_gen_mac(PKCS12 *p12, const char *pass, int passlen, diff --git a/deps/openssl/openssl/crypto/pkcs7/pk7_lib.c b/deps/openssl/openssl/crypto/pkcs7/pk7_lib.c index 69c68cf5f3d..371b9c99fff 100644 --- a/deps/openssl/openssl/crypto/pkcs7/pk7_lib.c +++ b/deps/openssl/openssl/crypto/pkcs7/pk7_lib.c @@ -1,5 +1,5 @@ /* - * Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2018 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the OpenSSL license (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy @@ -134,7 +134,6 @@ int PKCS7_set_type(PKCS7 *p7, int type) if ((p7->d.signed_and_enveloped = PKCS7_SIGN_ENVELOPE_new()) == NULL) goto err; - ASN1_INTEGER_set(p7->d.signed_and_enveloped->version, 1); if (!ASN1_INTEGER_set(p7->d.signed_and_enveloped->version, 1)) goto err; p7->d.signed_and_enveloped->enc_data->content_type diff --git a/deps/openssl/openssl/crypto/poly1305/build.info b/deps/openssl/openssl/crypto/poly1305/build.info index f90ce2b9500..d575f5a63e1 100644 --- a/deps/openssl/openssl/crypto/poly1305/build.info +++ b/deps/openssl/openssl/crypto/poly1305/build.info @@ -13,8 +13,6 @@ INCLUDE[poly1305-armv4.o]=.. GENERATE[poly1305-armv8.S]=asm/poly1305-armv8.pl $(PERLASM_SCHEME) INCLUDE[poly1305-armv8.o]=.. GENERATE[poly1305-mips.S]=asm/poly1305-mips.pl $(PERLASM_SCHEME) -GENERATE[poly1305-s390x.S]=asm/poly1305-s390x.pl $(PERLASM_SCHEME) -INCLUDE[poly1305-s390x.o]=.. BEGINRAW[Makefile(unix)] {- $builddir -}/poly1305-%.S: {- $sourcedir -}/asm/poly1305-%.pl diff --git a/deps/openssl/openssl/crypto/rand/md_rand.c b/deps/openssl/openssl/crypto/rand/md_rand.c index 7d5fcb7f670..eb6a14b14f3 100644 --- a/deps/openssl/openssl/crypto/rand/md_rand.c +++ b/deps/openssl/openssl/crypto/rand/md_rand.c @@ -1,5 +1,5 @@ /* - * Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2018 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the OpenSSL license (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy @@ -275,7 +275,6 @@ static int rand_bytes(unsigned char *buf, int num, int pseudo) static volatile int stirred_pool = 0; int i, j, k; size_t num_ceil, st_idx, st_num; - int ok; long md_c[2]; unsigned char local_md[MD_DIGEST_LENGTH]; EVP_MD_CTX *m; @@ -362,14 +361,13 @@ static int rand_bytes(unsigned char *buf, int num, int pseudo) if (!initialized) { RAND_poll(); - initialized = 1; + initialized = (entropy >= ENTROPY_NEEDED); } if (!stirred_pool) do_stir_pool = 1; - ok = (entropy >= ENTROPY_NEEDED); - if (!ok) { + if (!initialized) { /* * If the PRNG state is not yet unpredictable, then seeing the PRNG * output may help attackers to determine the new state; thus we have @@ -408,7 +406,7 @@ static int rand_bytes(unsigned char *buf, int num, int pseudo) rand_add(DUMMY_SEED, MD_DIGEST_LENGTH, 0.0); n -= MD_DIGEST_LENGTH; } - if (ok) + if (initialized) stirred_pool = 1; } @@ -500,7 +498,7 @@ static int rand_bytes(unsigned char *buf, int num, int pseudo) CRYPTO_THREAD_unlock(rand_lock); EVP_MD_CTX_free(m); - if (ok) + if (initialized) return (1); else if (pseudo) return 0; diff --git a/deps/openssl/openssl/crypto/rand/randfile.c b/deps/openssl/openssl/crypto/rand/randfile.c index dbd03ff2bd0..c8274077050 100644 --- a/deps/openssl/openssl/crypto/rand/randfile.c +++ b/deps/openssl/openssl/crypto/rand/randfile.c @@ -1,5 +1,5 @@ /* - * Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2018 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the OpenSSL license (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy @@ -314,14 +314,9 @@ const char *RAND_file_name(char *buf, size_t size) } } #else - if (OPENSSL_issetugid() != 0) { + if ((s = ossl_safe_getenv("RANDFILE")) == NULL || *s == '\0') { use_randfile = 0; - } else { - s = getenv("RANDFILE"); - if (s == NULL || *s == '\0') { - use_randfile = 0; - s = getenv("HOME"); - } + s = ossl_safe_getenv("HOME"); } #endif #ifdef DEFAULT_HOME diff --git a/deps/openssl/openssl/crypto/rc4/build.info b/deps/openssl/openssl/crypto/rc4/build.info index 000fd6bc0d8..8659526d718 100644 --- a/deps/openssl/openssl/crypto/rc4/build.info +++ b/deps/openssl/openssl/crypto/rc4/build.info @@ -10,8 +10,6 @@ GENERATE[rc4-md5-x86_64.s]=asm/rc4-md5-x86_64.pl $(PERLASM_SCHEME) GENERATE[rc4-parisc.s]=asm/rc4-parisc.pl $(PERLASM_SCHEME) -GENERATE[rc4-s390x.s]=asm/rc4-s390x.pl $(PERLASM_SCHEME) - BEGINRAW[makefile(windows)] {- $builddir -}\rc4-ia64.asm: {- $sourcedir -}\asm\rc4-ia64.pl $(PERL) {- $sourcedir -}\asm\rc4-ia64.pl $@.S diff --git a/deps/openssl/openssl/crypto/rsa/rsa_lib.c b/deps/openssl/openssl/crypto/rsa/rsa_lib.c index e1377a06906..d99d04916d4 100644 --- a/deps/openssl/openssl/crypto/rsa/rsa_lib.c +++ b/deps/openssl/openssl/crypto/rsa/rsa_lib.c @@ -1,5 +1,5 @@ /* - * Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2018 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the OpenSSL license (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy @@ -94,7 +94,7 @@ RSA *RSA_new_method(ENGINE *engine) return ret; -err: + err: RSA_free(ret); return NULL; } @@ -112,7 +112,7 @@ void RSA_free(RSA *r) return; REF_ASSERT_ISNT(i < 0); - if (r->meth->finish) + if (r->meth != NULL && r->meth->finish != NULL) r->meth->finish(r); #ifndef OPENSSL_NO_ENGINE ENGINE_finish(r->engine); diff --git a/deps/openssl/openssl/crypto/rsa/rsa_meth.c b/deps/openssl/openssl/crypto/rsa/rsa_meth.c index 83de5540d0a..ba40cff2870 100644 --- a/deps/openssl/openssl/crypto/rsa/rsa_meth.c +++ b/deps/openssl/openssl/crypto/rsa/rsa_meth.c @@ -163,13 +163,13 @@ int RSA_meth_set_priv_dec(RSA_METHOD *meth, /* Can be null */ int (*RSA_meth_get_mod_exp(const RSA_METHOD *meth)) - (BIGNUM *r0, const BIGNUM *I, RSA *rsa, BN_CTX *ctx) + (BIGNUM *r0, const BIGNUM *i, RSA *rsa, BN_CTX *ctx) { return meth->rsa_mod_exp; } int RSA_meth_set_mod_exp(RSA_METHOD *meth, - int (*mod_exp) (BIGNUM *r0, const BIGNUM *I, RSA *rsa, + int (*mod_exp) (BIGNUM *r0, const BIGNUM *i, RSA *rsa, BN_CTX *ctx)) { meth->rsa_mod_exp = mod_exp; diff --git a/deps/openssl/openssl/crypto/rsa/rsa_oaep.c b/deps/openssl/openssl/crypto/rsa/rsa_oaep.c index f3135198a35..df08a2f53ec 100644 --- a/deps/openssl/openssl/crypto/rsa/rsa_oaep.c +++ b/deps/openssl/openssl/crypto/rsa/rsa_oaep.c @@ -43,10 +43,12 @@ int RSA_padding_add_PKCS1_OAEP_mgf1(unsigned char *to, int tlen, const unsigned char *param, int plen, const EVP_MD *md, const EVP_MD *mgf1md) { + int rv = 0; int i, emlen = tlen - 1; unsigned char *db, *seed; - unsigned char *dbmask, seedmask[EVP_MAX_MD_SIZE]; - int mdlen; + unsigned char *dbmask = NULL; + unsigned char seedmask[EVP_MAX_MD_SIZE]; + int mdlen, dbmask_len = 0; if (md == NULL) md = EVP_sha1(); @@ -72,40 +74,41 @@ int RSA_padding_add_PKCS1_OAEP_mgf1(unsigned char *to, int tlen, db = to + mdlen + 1; if (!EVP_Digest((void *)param, plen, db, NULL, md, NULL)) - return 0; + goto err; memset(db + mdlen, 0, emlen - flen - 2 * mdlen - 1); db[emlen - flen - mdlen - 1] = 0x01; memcpy(db + emlen - flen - mdlen, from, (unsigned int)flen); if (RAND_bytes(seed, mdlen) <= 0) - return 0; + goto err; + #ifdef PKCS_TESTVECT memcpy(seed, "\xaa\xfd\x12\xf6\x59\xca\xe6\x34\x89\xb4\x79\xe5\x07\x6d\xde\xc2\xf0\x6c\xb5\x8f", 20); #endif - dbmask = OPENSSL_malloc(emlen - mdlen); + dbmask_len = emlen - mdlen; + dbmask = OPENSSL_malloc(dbmask_len); if (dbmask == NULL) { RSAerr(RSA_F_RSA_PADDING_ADD_PKCS1_OAEP_MGF1, ERR_R_MALLOC_FAILURE); - return 0; + goto err; } - if (PKCS1_MGF1(dbmask, emlen - mdlen, seed, mdlen, mgf1md) < 0) + if (PKCS1_MGF1(dbmask, dbmask_len, seed, mdlen, mgf1md) < 0) goto err; - for (i = 0; i < emlen - mdlen; i++) + for (i = 0; i < dbmask_len; i++) db[i] ^= dbmask[i]; - if (PKCS1_MGF1(seedmask, mdlen, db, emlen - mdlen, mgf1md) < 0) + if (PKCS1_MGF1(seedmask, mdlen, db, dbmask_len, mgf1md) < 0) goto err; for (i = 0; i < mdlen; i++) seed[i] ^= seedmask[i]; - - OPENSSL_free(dbmask); - return 1; + rv = 1; err: - OPENSSL_free(dbmask); - return 0; + OPENSSL_cleanse(seedmask, sizeof(seedmask)); + OPENSSL_clear_free(dbmask, dbmask_len); + return rv; } int RSA_padding_check_PKCS1_OAEP(unsigned char *to, int tlen, @@ -247,6 +250,7 @@ int RSA_padding_check_PKCS1_OAEP_mgf1(unsigned char *to, int tlen, RSAerr(RSA_F_RSA_PADDING_CHECK_PKCS1_OAEP_MGF1, RSA_R_OAEP_DECODING_ERROR); cleanup: + OPENSSL_cleanse(seed, sizeof(seed)); OPENSSL_clear_free(db, dblen); OPENSSL_clear_free(em, num); return mlen; @@ -289,6 +293,7 @@ int PKCS1_MGF1(unsigned char *mask, long len, } rv = 0; err: + OPENSSL_cleanse(md, sizeof(md)); EVP_MD_CTX_free(c); return rv; } diff --git a/deps/openssl/openssl/crypto/rsa/rsa_ossl.c b/deps/openssl/openssl/crypto/rsa/rsa_ossl.c index 36c4e42a0f1..23f948fbbb9 100644 --- a/deps/openssl/openssl/crypto/rsa/rsa_ossl.c +++ b/deps/openssl/openssl/crypto/rsa/rsa_ossl.c @@ -127,8 +127,8 @@ static int rsa_ossl_public_encrypt(int flen, const unsigned char *from, } if (rsa->flags & RSA_FLAG_CACHE_PUBLIC) - if (!BN_MONT_CTX_set_locked - (&rsa->_method_mod_n, rsa->lock, rsa->n, ctx)) + if (!BN_MONT_CTX_set_locked(&rsa->_method_mod_n, rsa->lock, + rsa->n, ctx)) goto err; if (!rsa->meth->bn_mod_exp(ret, f, rsa->e, rsa->n, ctx, @@ -312,8 +312,8 @@ static int rsa_ossl_private_encrypt(int flen, const unsigned char *from, BN_with_flags(d, rsa->d, BN_FLG_CONSTTIME); if (rsa->flags & RSA_FLAG_CACHE_PUBLIC) - if (!BN_MONT_CTX_set_locked - (&rsa->_method_mod_n, rsa->lock, rsa->n, ctx)) { + if (!BN_MONT_CTX_set_locked(&rsa->_method_mod_n, rsa->lock, + rsa->n, ctx)) { BN_free(d); goto err; } @@ -435,8 +435,8 @@ static int rsa_ossl_private_decrypt(int flen, const unsigned char *from, BN_with_flags(d, rsa->d, BN_FLG_CONSTTIME); if (rsa->flags & RSA_FLAG_CACHE_PUBLIC) - if (!BN_MONT_CTX_set_locked - (&rsa->_method_mod_n, rsa->lock, rsa->n, ctx)) { + if (!BN_MONT_CTX_set_locked(&rsa->_method_mod_n, rsa->lock, + rsa->n, ctx)) { BN_free(d); goto err; } @@ -541,8 +541,8 @@ static int rsa_ossl_public_decrypt(int flen, const unsigned char *from, } if (rsa->flags & RSA_FLAG_CACHE_PUBLIC) - if (!BN_MONT_CTX_set_locked - (&rsa->_method_mod_n, rsa->lock, rsa->n, ctx)) + if (!BN_MONT_CTX_set_locked(&rsa->_method_mod_n, rsa->lock, + rsa->n, ctx)) goto err; if (!rsa->meth->bn_mod_exp(ret, f, rsa->e, rsa->n, ctx, @@ -583,7 +583,7 @@ static int rsa_ossl_public_decrypt(int flen, const unsigned char *from, static int rsa_ossl_mod_exp(BIGNUM *r0, const BIGNUM *I, RSA *rsa, BN_CTX *ctx) { BIGNUM *r1, *m1, *vrfy; - int ret = 0; + int ret = 0, smooth = 0; BN_CTX_start(ctx); @@ -593,43 +593,80 @@ static int rsa_ossl_mod_exp(BIGNUM *r0, const BIGNUM *I, RSA *rsa, BN_CTX *ctx) if (vrfy == NULL) goto err; - { - BIGNUM *p = BN_new(), *q = BN_new(); + if (rsa->flags & RSA_FLAG_CACHE_PRIVATE) { + BIGNUM *factor = BN_new(); + + if (factor == NULL) + goto err; /* * Make sure BN_mod_inverse in Montgomery initialization uses the * BN_FLG_CONSTTIME flag */ - if (p == NULL || q == NULL) { - BN_free(p); - BN_free(q); + if (!(BN_with_flags(factor, rsa->p, BN_FLG_CONSTTIME), + BN_MONT_CTX_set_locked(&rsa->_method_mod_p, rsa->lock, + factor, ctx)) + || !(BN_with_flags(factor, rsa->q, BN_FLG_CONSTTIME), + BN_MONT_CTX_set_locked(&rsa->_method_mod_q, rsa->lock, + factor, ctx))) { + BN_free(factor); goto err; } - BN_with_flags(p, rsa->p, BN_FLG_CONSTTIME); - BN_with_flags(q, rsa->q, BN_FLG_CONSTTIME); - - if (rsa->flags & RSA_FLAG_CACHE_PRIVATE) { - if (!BN_MONT_CTX_set_locked - (&rsa->_method_mod_p, rsa->lock, p, ctx) - || !BN_MONT_CTX_set_locked(&rsa->_method_mod_q, - rsa->lock, q, ctx)) { - BN_free(p); - BN_free(q); - goto err; - } - } /* - * We MUST free p and q before any further use of rsa->p and rsa->q + * We MUST free |factor| before any further use of the prime factors */ - BN_free(p); - BN_free(q); + BN_free(factor); + + smooth = (rsa->meth->bn_mod_exp == BN_mod_exp_mont) + && (BN_num_bits(rsa->q) == BN_num_bits(rsa->p)); } if (rsa->flags & RSA_FLAG_CACHE_PUBLIC) - if (!BN_MONT_CTX_set_locked - (&rsa->_method_mod_n, rsa->lock, rsa->n, ctx)) + if (!BN_MONT_CTX_set_locked(&rsa->_method_mod_n, rsa->lock, + rsa->n, ctx)) goto err; + if (smooth) { + /* + * Conversion from Montgomery domain, a.k.a. Montgomery reduction, + * accepts values in [0-m*2^w) range. w is m's bit width rounded up + * to limb width. So that at the very least if |I| is fully reduced, + * i.e. less than p*q, we can count on from-to round to perform + * below modulo operations on |I|. Unlike BN_mod it's constant time. + */ + if (/* m1 = I moq q */ + !bn_from_mont_fixed_top(m1, I, rsa->_method_mod_q, ctx) + || !bn_to_mont_fixed_top(m1, m1, rsa->_method_mod_q, ctx) + /* m1 = m1^dmq1 mod q */ + || !BN_mod_exp_mont_consttime(m1, m1, rsa->dmq1, rsa->q, ctx, + rsa->_method_mod_q) + /* r1 = I mod p */ + || !bn_from_mont_fixed_top(r1, I, rsa->_method_mod_p, ctx) + || !bn_to_mont_fixed_top(r1, r1, rsa->_method_mod_p, ctx) + /* r1 = r1^dmp1 mod p */ + || !BN_mod_exp_mont_consttime(r1, r1, rsa->dmp1, rsa->p, ctx, + rsa->_method_mod_p) + /* r1 = (r1 - m1) mod p */ + /* + * bn_mod_sub_fixed_top is not regular modular subtraction, + * it can tolerate subtrahend to be larger than modulus, but + * not bit-wise wider. This makes up for uncommon q>p case, + * when |m1| can be larger than |rsa->p|. + */ + || !bn_mod_sub_fixed_top(r1, r1, m1, rsa->p) + + /* r1 = r1 * iqmp mod p */ + || !bn_to_mont_fixed_top(r1, r1, rsa->_method_mod_p, ctx) + || !bn_mul_mont_fixed_top(r1, r1, rsa->iqmp, rsa->_method_mod_p, + ctx) + /* r0 = r1 * q + m1 */ + || !bn_mul_fixed_top(r0, r1, rsa->q, ctx) + || !bn_mod_add_fixed_top(r0, r0, m1, rsa->n)) + goto err; + + goto tail; + } + /* compute I mod q */ { BIGNUM *c = BN_new(); @@ -652,7 +689,7 @@ static int rsa_ossl_mod_exp(BIGNUM *r0, const BIGNUM *I, RSA *rsa, BN_CTX *ctx) /* compute r1^dmq1 mod q */ if (!rsa->meth->bn_mod_exp(m1, r1, dmq1, rsa->q, ctx, - rsa->_method_mod_q)) { + rsa->_method_mod_q)) { BN_free(c); BN_free(dmq1); goto err; @@ -728,10 +765,18 @@ static int rsa_ossl_mod_exp(BIGNUM *r0, const BIGNUM *I, RSA *rsa, BN_CTX *ctx) if (!BN_add(r0, r1, m1)) goto err; + tail: if (rsa->e && rsa->n) { - if (!rsa->meth->bn_mod_exp(vrfy, r0, rsa->e, rsa->n, ctx, - rsa->_method_mod_n)) - goto err; + if (rsa->meth->bn_mod_exp == BN_mod_exp_mont) { + if (!BN_mod_exp_mont(vrfy, r0, rsa->e, rsa->n, ctx, + rsa->_method_mod_n)) + goto err; + } else { + bn_correct_top(r0); + if (!rsa->meth->bn_mod_exp(vrfy, r0, rsa->e, rsa->n, ctx, + rsa->_method_mod_n)) + goto err; + } /* * If 'I' was greater than (or equal to) rsa->n, the operation will * be equivalent to using 'I mod n'. However, the result of the @@ -740,6 +785,11 @@ static int rsa_ossl_mod_exp(BIGNUM *r0, const BIGNUM *I, RSA *rsa, BN_CTX *ctx) */ if (!BN_sub(vrfy, vrfy, I)) goto err; + if (BN_is_zero(vrfy)) { + bn_correct_top(r0); + ret = 1; + goto err; /* not actually error */ + } if (!BN_mod(vrfy, vrfy, rsa->n, ctx)) goto err; if (BN_is_negative(vrfy)) @@ -766,6 +816,15 @@ static int rsa_ossl_mod_exp(BIGNUM *r0, const BIGNUM *I, RSA *rsa, BN_CTX *ctx) BN_free(d); } } + /* + * It's unfortunate that we have to bn_correct_top(r0). What hopefully + * saves the day is that correction is highly unlike, and private key + * operations are customarily performed on blinded message. Which means + * that attacker won't observe correlation with chosen plaintext. + * Secondly, remaining code would still handle it in same computational + * time and even conceal memory access pattern around corrected top. + */ + bn_correct_top(r0); ret = 1; err: BN_CTX_end(ctx); diff --git a/deps/openssl/openssl/crypto/rsa/rsa_pss.c b/deps/openssl/openssl/crypto/rsa/rsa_pss.c index f8143387c8d..4a1e599ed5d 100644 --- a/deps/openssl/openssl/crypto/rsa/rsa_pss.c +++ b/deps/openssl/openssl/crypto/rsa/rsa_pss.c @@ -1,5 +1,5 @@ /* - * Copyright 2005-2016 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2005-2018 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the OpenSSL license (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy @@ -242,7 +242,7 @@ int RSA_padding_add_PKCS1_PSS_mgf1(RSA *rsa, unsigned char *EM, err: EVP_MD_CTX_free(ctx); - OPENSSL_free(salt); + OPENSSL_clear_free(salt, sLen); return ret; diff --git a/deps/openssl/openssl/crypto/sha/build.info b/deps/openssl/openssl/crypto/sha/build.info index 2a00988786d..5843e508941 100644 --- a/deps/openssl/openssl/crypto/sha/build.info +++ b/deps/openssl/openssl/crypto/sha/build.info @@ -56,13 +56,6 @@ INCLUDE[sha256-armv8.o]=.. GENERATE[sha512-armv8.S]=asm/sha512-armv8.pl $(PERLASM_SCHEME) INCLUDE[sha512-armv8.o]=.. -GENERATE[sha1-s390x.S]=asm/sha1-s390x.pl $(PERLASM_SCHEME) -INCLUDE[sha1-s390x.o]=.. -GENERATE[sha256-s390x.S]=asm/sha512-s390x.pl $(PERLASM_SCHEME) -INCLUDE[sha256-s390x.o]=.. -GENERATE[sha512-s390x.S]=asm/sha512-s390x.pl $(PERLASM_SCHEME) -INCLUDE[sha512-s390x.o]=.. - BEGINRAW[Makefile(unix)] ##### SHA assembler implementations diff --git a/deps/openssl/openssl/crypto/ui/ui_openssl.c b/deps/openssl/openssl/crypto/ui/ui_openssl.c index bfe93a57f1c..a25934ccd1c 100644 --- a/deps/openssl/openssl/crypto/ui/ui_openssl.c +++ b/deps/openssl/openssl/crypto/ui/ui_openssl.c @@ -436,6 +436,24 @@ static int open_console(UI *ui) is_a_tty = 0; else # endif +# ifdef ENXIO + /* + * Solaris can return ENXIO. + * This should be ok + */ + if (errno == ENXIO) + is_a_tty = 0; + else +# endif +# ifdef EIO + /* + * Linux can return EIO. + * This should be ok + */ + if (errno == EIO) + is_a_tty = 0; + else +# endif # ifdef ENODEV /* * MacOS X returns ENODEV (Operation not supported by device), diff --git a/deps/openssl/openssl/crypto/x509/by_dir.c b/deps/openssl/openssl/crypto/x509/by_dir.c index a6904557292..4fa1dd37b93 100644 --- a/deps/openssl/openssl/crypto/x509/by_dir.c +++ b/deps/openssl/openssl/crypto/x509/by_dir.c @@ -78,7 +78,8 @@ static int dir_ctrl(X509_LOOKUP *ctx, int cmd, const char *argp, long argl, switch (cmd) { case X509_L_ADD_DIR: if (argl == X509_FILETYPE_DEFAULT) { - dir = (char *)getenv(X509_get_default_cert_dir_env()); + dir = (char *)ossl_safe_getenv(X509_get_default_cert_dir_env()); + if (dir) ret = add_cert_dir(ld, dir, X509_FILETYPE_PEM); else diff --git a/deps/openssl/openssl/crypto/x509/by_file.c b/deps/openssl/openssl/crypto/x509/by_file.c index 0bcc6af30e0..77a7c4a2a65 100644 --- a/deps/openssl/openssl/crypto/x509/by_file.c +++ b/deps/openssl/openssl/crypto/x509/by_file.c @@ -1,5 +1,5 @@ /* - * Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2018 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the OpenSSL license (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy @@ -47,7 +47,7 @@ static int by_file_ctrl(X509_LOOKUP *ctx, int cmd, const char *argp, switch (cmd) { case X509_L_FILE_LOAD: if (argl == X509_FILETYPE_DEFAULT) { - file = getenv(X509_get_default_cert_file_env()); + file = ossl_safe_getenv(X509_get_default_cert_file_env()); if (file) ok = (X509_load_cert_crl_file(ctx, file, X509_FILETYPE_PEM) != 0); diff --git a/deps/openssl/openssl/crypto/x509/x509_meth.c b/deps/openssl/openssl/crypto/x509/x509_meth.c index 05ed4bf8637..9dc587a0921 100644 --- a/deps/openssl/openssl/crypto/x509/x509_meth.c +++ b/deps/openssl/openssl/crypto/x509/x509_meth.c @@ -58,9 +58,9 @@ int (*X509_LOOKUP_meth_get_new_item(const X509_LOOKUP_METHOD* method)) int X509_LOOKUP_meth_set_free( X509_LOOKUP_METHOD *method, - void (*free) (X509_LOOKUP *ctx)) + void (*free_fn) (X509_LOOKUP *ctx)) { - method->free = free; + method->free = free_fn; return 1; } diff --git a/deps/openssl/openssl/crypto/x509/x509_vfy.c b/deps/openssl/openssl/crypto/x509/x509_vfy.c index f86871f6d2b..ba186d30b04 100644 --- a/deps/openssl/openssl/crypto/x509/x509_vfy.c +++ b/deps/openssl/openssl/crypto/x509/x509_vfy.c @@ -515,15 +515,14 @@ static int check_chain_extensions(X509_STORE_CTX *ctx) /* check_purpose() makes the callback as needed */ if (purpose > 0 && !check_purpose(ctx, x, purpose, i, must_be_ca)) return 0; - /* Check pathlen if not self issued */ - if ((i > 1) && !(x->ex_flags & EXFLAG_SI) - && (x->ex_pathlen != -1) - && (plen > (x->ex_pathlen + proxy_path_length + 1))) { + /* Check pathlen */ + if ((i > 1) && (x->ex_pathlen != -1) + && (plen > (x->ex_pathlen + proxy_path_length))) { if (!verify_cb_cert(ctx, x, i, X509_V_ERR_PATH_LENGTH_EXCEEDED)) return 0; } - /* Increment path length if not self issued */ - if (!(x->ex_flags & EXFLAG_SI)) + /* Increment path length if not a self issued intermediate CA */ + if (i > 0 && (x->ex_flags & EXFLAG_SI) == 0) plen++; /* * If this certificate is a proxy certificate, the next certificate diff --git a/deps/openssl/openssl/doc/apps/ca.pod b/deps/openssl/openssl/doc/apps/ca.pod index 9918a1364a5..9885bb2392a 100644 --- a/deps/openssl/openssl/doc/apps/ca.pod +++ b/deps/openssl/openssl/doc/apps/ca.pod @@ -243,8 +243,10 @@ for all available algorithms. =item B<-subj arg> supersedes subject name given in the request. -The arg must be formatted as I</type0=value0/type1=value1/type2=...>, -characters may be escaped by \ (backslash), no spaces are skipped. +The arg must be formatted as I</type0=value0/type1=value1/type2=...>. +Keyword characters may be escaped by \ (backslash), and whitespace is retained. +Empty values are permitted, but the corresponding type will not be included +in the resulting certificate. =item B<-utf8> diff --git a/deps/openssl/openssl/doc/apps/crl.pod b/deps/openssl/openssl/doc/apps/crl.pod index fded3972dd0..82c77d60d57 100644 --- a/deps/openssl/openssl/doc/apps/crl.pod +++ b/deps/openssl/openssl/doc/apps/crl.pod @@ -120,7 +120,7 @@ Convert a CRL file from PEM to DER: Output the text form of a DER encoded certificate: - openssl crl -in crl.der -text -noout + openssl crl -in crl.der -inform DER -text -noout =head1 BUGS @@ -133,7 +133,7 @@ L<crl2pkcs7(1)>, L<ca(1)>, L<x509(1)> =head1 COPYRIGHT -Copyright 2000-2016 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2000-2018 The OpenSSL Project Authors. All Rights Reserved. Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy diff --git a/deps/openssl/openssl/doc/apps/req.pod b/deps/openssl/openssl/doc/apps/req.pod index c5b5260c200..291b1dac83d 100644 --- a/deps/openssl/openssl/doc/apps/req.pod +++ b/deps/openssl/openssl/doc/apps/req.pod @@ -213,8 +213,10 @@ see L<openssl(1)/COMMAND SUMMARY>. sets subject name for new request or supersedes the subject name when processing a request. -The arg must be formatted as I</type0=value0/type1=value1/type2=...>, -characters may be escaped by \ (backslash), no spaces are skipped. +The arg must be formatted as I</type0=value0/type1=value1/type2=...>. +Keyword characters may be escaped by \ (backslash), and whitespace is retained. +Empty values are permitted, but the corresponding type will not be included +in the request. =item B<-multivalue-rdn> @@ -369,7 +371,6 @@ option. For compatibility B<encrypt_rsa_key> is an equivalent option. This option specifies the digest algorithm to use. Any digest supported by the OpenSSL B<dgst> command can be used. -If not present then MD5 is used. This option can be overridden on the command line. =item B<string_mask> @@ -652,7 +653,7 @@ L<x509v3_config(5)> =head1 COPYRIGHT -Copyright 2000-2016 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2000-2018 The OpenSSL Project Authors. All Rights Reserved. Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy diff --git a/deps/openssl/openssl/doc/crypto/EVP_DigestInit.pod b/deps/openssl/openssl/doc/crypto/EVP_DigestInit.pod index 1dc76cbdf86..9fda29ba074 100644 --- a/deps/openssl/openssl/doc/crypto/EVP_DigestInit.pod +++ b/deps/openssl/openssl/doc/crypto/EVP_DigestInit.pod @@ -223,7 +223,7 @@ EVP_MD_CTX_copy_ex() because they can efficiently reuse a digest context instead of initializing and cleaning it up on each call and allow non default implementations of digests to be specified. -If digest contexts are not cleaned up after use +If digest contexts are not cleaned up after use, memory leaks will occur. EVP_MD_CTX_size(), EVP_MD_CTX_block_size(), EVP_MD_CTX_type(), diff --git a/deps/openssl/openssl/doc/crypto/EVP_DigestSignInit.pod b/deps/openssl/openssl/doc/crypto/EVP_DigestSignInit.pod index 5fadc82e6aa..a3938d58002 100644 --- a/deps/openssl/openssl/doc/crypto/EVP_DigestSignInit.pod +++ b/deps/openssl/openssl/doc/crypto/EVP_DigestSignInit.pod @@ -19,14 +19,16 @@ The EVP signature routines are a high level interface to digital signatures. EVP_DigestSignInit() sets up signing context B<ctx> to use digest B<type> from ENGINE B<impl> and private key B<pkey>. B<ctx> must be created with -EVP_MD_CTX_new() before calling this function. If B<pctx> is not NULL the +EVP_MD_CTX_new() before calling this function. If B<pctx> is not NULL, the EVP_PKEY_CTX of the signing operation will be written to B<*pctx>: this can -be used to set alternative signing options. The digest B<type> may be NULL if -the signing algorithm supports it. +be used to set alternative signing options. Note that any existing value in +B<*pctx> is overwritten. The EVP_PKEY_CTX value returned must not be freed +directly by the application (it will be freed automatically when the EVP_MD_CTX +is freed). The digest B<type> may be NULL if the signing algorithm supports it. Only EVP_PKEY types that support signing can be used with these functions. This includes MAC algorithms where the MAC generation is considered as a form of -"signing." Built-in EVP_PKEY types supported by these functions are CMAC, DSA, +"signing". Built-in EVP_PKEY types supported by these functions are CMAC, DSA, ECDSA, HMAC and RSA. Not all digests can be used for all key types. The following combinations apply. @@ -69,17 +71,17 @@ signature context B<ctx>. This function can be called several times on the same B<ctx> to include additional data. This function is currently implemented using a macro. -EVP_DigestSignFinal() signs the data in B<ctx> places the signature in B<sig>. +EVP_DigestSignFinal() signs the data in B<ctx> and places the signature in B<sig>. If B<sig> is B<NULL> then the maximum size of the output buffer is written to the B<siglen> parameter. If B<sig> is not B<NULL> then before the call the -B<siglen> parameter should contain the length of the B<sig> buffer, if the +B<siglen> parameter should contain the length of the B<sig> buffer. If the call is successful the signature is written to B<sig> and the amount of data written to B<siglen>. =head1 RETURN VALUES EVP_DigestSignInit() EVP_DigestSignUpdate() and EVP_DigestSignaFinal() return -1 for success and 0 or a negative value for failure. In particular a return +1 for success and 0 or a negative value for failure. In particular, a return value of -2 indicates the operation is not supported by the public key algorithm. @@ -103,7 +105,7 @@ The call to EVP_DigestSignFinal() internally finalizes a copy of the digest context. This means that calls to EVP_DigestSignUpdate() and EVP_DigestSignFinal() can be called later to digest and sign additional data. -Since only a copy of the digest context is ever finalized the context must +Since only a copy of the digest context is ever finalized, the context must be cleaned up after use by calling EVP_MD_CTX_cleanup() or a memory leak will occur. diff --git a/deps/openssl/openssl/doc/crypto/EVP_DigestVerifyInit.pod b/deps/openssl/openssl/doc/crypto/EVP_DigestVerifyInit.pod index ce59422d3e4..ff1153b644b 100644 --- a/deps/openssl/openssl/doc/crypto/EVP_DigestVerifyInit.pod +++ b/deps/openssl/openssl/doc/crypto/EVP_DigestVerifyInit.pod @@ -19,9 +19,12 @@ The EVP signature routines are a high level interface to digital signatures. EVP_DigestVerifyInit() sets up verification context B<ctx> to use digest B<type> from ENGINE B<impl> and public key B<pkey>. B<ctx> must be created -with EVP_MD_CTX_new() before calling this function. If B<pctx> is not NULL the +with EVP_MD_CTX_new() before calling this function. If B<pctx> is not NULL, the EVP_PKEY_CTX of the verification operation will be written to B<*pctx>: this -can be used to set alternative verification options. +can be used to set alternative verification options. Note that any existing +value in B<*pctx> is overwritten. The EVP_PKEY_CTX value returned must not be +freed directly by the application (it will be freed automatically when the +EVP_MD_CTX is freed). EVP_DigestVerifyUpdate() hashes B<cnt> bytes of data at B<d> into the verification context B<ctx>. This function can be called several times on the @@ -62,7 +65,7 @@ The call to EVP_DigestVerifyFinal() internally finalizes a copy of the digest context. This means that EVP_VerifyUpdate() and EVP_VerifyFinal() can be called later to digest and verify additional data. -Since only a copy of the digest context is ever finalized the context must +Since only a copy of the digest context is ever finalized, the context must be cleaned up after use by calling EVP_MD_CTX_cleanup() or a memory leak will occur. @@ -81,7 +84,7 @@ were first added to OpenSSL 1.0.0. =head1 COPYRIGHT -Copyright 2006-2017 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2006-2018 The OpenSSL Project Authors. All Rights Reserved. Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy diff --git a/deps/openssl/openssl/doc/crypto/OCSP_resp_find_status.pod b/deps/openssl/openssl/doc/crypto/OCSP_resp_find_status.pod index e014df500b6..a4e3c1c2f03 100644 --- a/deps/openssl/openssl/doc/crypto/OCSP_resp_find_status.pod +++ b/deps/openssl/openssl/doc/crypto/OCSP_resp_find_status.pod @@ -6,6 +6,9 @@ OCSP_resp_get0_certs, OCSP_resp_get0_signer, OCSP_resp_get0_id, OCSP_resp_get0_produced_at, +OCSP_resp_get0_signature, +OCSP_resp_get0_tbs_sigalg, +OCSP_resp_get0_respdata, OCSP_resp_find_status, OCSP_resp_count, OCSP_resp_get0, OCSP_resp_find, OCSP_single_get0_status, OCSP_check_validity, OCSP_basic_verify @@ -32,6 +35,9 @@ OCSP_basic_verify const ASN1_GENERALIZEDTIME *OCSP_resp_get0_produced_at( const OCSP_BASICRESP* single); + const ASN1_OCTET_STRING *OCSP_resp_get0_signature(const OCSP_BASICRESP *bs); + const X509_ALGOR *OCSP_resp_get0_tbs_sigalg(const OCSP_BASICRESP *bs); + const OCSP_RESPDATA *OCSP_resp_get0_respdata(const OCSP_BASICRESP *bs); const STACK_OF(X509) *OCSP_resp_get0_certs(const OCSP_BASICRESP *bs); int OCSP_resp_get0_signer(OCSP_BASICRESP *bs, X509 **signer, @@ -78,6 +84,12 @@ B<*revtime>, B<*thisupd> and B<*nextupd>. OCSP_resp_get0_produced_at() extracts the B<producedAt> field from the single response B<bs>. +OCSP_resp_get0_signature() returns the signature from B<bs>. + +OCSP_resp_get0_tbs_sigalg() returns the B<signatureAlgorithm> from B<bs>. + +OCSP_resp_get0_respdata() returns the B<tbsResponseData> from B<bs>. + OCSP_resp_get0_certs() returns any certificates included in B<bs>. OCSP_resp_get0_signer() attempts to retrieve the certificate that directly diff --git a/deps/openssl/openssl/doc/crypto/OPENSSL_VERSION_NUMBER.pod b/deps/openssl/openssl/doc/crypto/OPENSSL_VERSION_NUMBER.pod index f5429d217e5..01623bac762 100644 --- a/deps/openssl/openssl/doc/crypto/OPENSSL_VERSION_NUMBER.pod +++ b/deps/openssl/openssl/doc/crypto/OPENSSL_VERSION_NUMBER.pod @@ -2,13 +2,14 @@ =head1 NAME -OPENSSL_VERSION_NUMBER, OpenSSL_version, +OPENSSL_VERSION_NUMBER, OPENSSL_VERSION_TEXT, OpenSSL_version, OpenSSL_version_num - get OpenSSL version number =head1 SYNOPSIS #include <openssl/opensslv.h> #define OPENSSL_VERSION_NUMBER 0xnnnnnnnnnL + #define OPENSSL_VERSION_TEXT "OpenSSL x.y.z xx XXX xxxx" #include <openssl/crypto.h> @@ -45,6 +46,10 @@ Version 0.9.5a had an interim interpretation that is like the current one, except the patch level got the highest bit set, to keep continuity. The number was therefore 0x0090581f. +OPENSSL_VERSION_TEXT is the text variant of the version number and the +release date. For example, +"OpenSSL 1.0.1a 15 Oct 2015". + OpenSSL_version_num() returns the version number. OpenSSL_version() returns different strings depending on B<t>: diff --git a/deps/openssl/openssl/doc/crypto/RSA_meth_new.pod b/deps/openssl/openssl/doc/crypto/RSA_meth_new.pod index 9c89426a9a2..8f6d428afc4 100644 --- a/deps/openssl/openssl/doc/crypto/RSA_meth_new.pod +++ b/deps/openssl/openssl/doc/crypto/RSA_meth_new.pod @@ -58,9 +58,9 @@ RSA_meth_set_verify, RSA_meth_get_keygen, RSA_meth_set_keygen int padding)); /* Can be null */ int (*RSA_meth_get_mod_exp(const RSA_METHOD *meth)) - (BIGNUM *r0, const BIGNUM *I, RSA *rsa, BN_CTX *ctx); + (BIGNUM *r0, const BIGNUM *i, RSA *rsa, BN_CTX *ctx); int RSA_meth_set_mod_exp(RSA_METHOD *rsa, - int (*mod_exp) (BIGNUM *r0, const BIGNUM *I, RSA *rsa, + int (*mod_exp) (BIGNUM *r0, const BIGNUM *i, RSA *rsa, BN_CTX *ctx)); /* Can be null */ int (*RSA_meth_get_bn_mod_exp(const RSA_METHOD *meth)) diff --git a/deps/openssl/openssl/engines/e_capi.c b/deps/openssl/openssl/engines/e_capi.c index 4660f1a3404..a1de0b4b3c0 100644 --- a/deps/openssl/openssl/engines/e_capi.c +++ b/deps/openssl/openssl/engines/e_capi.c @@ -1,5 +1,5 @@ /* - * Copyright 2008-2016 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2008-2018 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the OpenSSL license (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy @@ -917,6 +917,7 @@ int capi_rsa_priv_dec(int flen, const unsigned char *from, unsigned char *tmpbuf; CAPI_KEY *capi_key; CAPI_CTX *ctx; + DWORD flags = 0; DWORD dlen; if (flen <= 0) @@ -932,12 +933,23 @@ int capi_rsa_priv_dec(int flen, const unsigned char *from, return -1; } - if (padding != RSA_PKCS1_PADDING) { - char errstr[10]; - BIO_snprintf(errstr, 10, "%d", padding); - CAPIerr(CAPI_F_CAPI_RSA_PRIV_DEC, CAPI_R_UNSUPPORTED_PADDING); - ERR_add_error_data(2, "padding=", errstr); - return -1; + switch (padding) { + case RSA_PKCS1_PADDING: + /* Nothing to do */ + break; +#ifdef CRYPT_DECRYPT_RSA_NO_PADDING_CHECK + case RSA_NO_PADDING: + flags = CRYPT_DECRYPT_RSA_NO_PADDING_CHECK; + break; +#endif + default: + { + char errstr[10]; + BIO_snprintf(errstr, 10, "%d", padding); + CAPIerr(CAPI_F_CAPI_RSA_PRIV_DEC, CAPI_R_UNSUPPORTED_PADDING); + ERR_add_error_data(2, "padding=", errstr); + return -1; + } } /* Create temp reverse order version of input */ @@ -950,14 +962,16 @@ int capi_rsa_priv_dec(int flen, const unsigned char *from, /* Finally decrypt it */ dlen = flen; - if (!CryptDecrypt(capi_key->key, 0, TRUE, 0, tmpbuf, &dlen)) { + if (!CryptDecrypt(capi_key->key, 0, TRUE, flags, tmpbuf, &dlen)) { CAPIerr(CAPI_F_CAPI_RSA_PRIV_DEC, CAPI_R_DECRYPT_ERROR); capi_addlasterror(); + OPENSSL_cleanse(tmpbuf, dlen); OPENSSL_free(tmpbuf); return -1; } else { memcpy(to, tmpbuf, (flen = (int)dlen)); } + OPENSSL_cleanse(tmpbuf, flen); OPENSSL_free(tmpbuf); return flen; diff --git a/deps/openssl/openssl/include/openssl/ec.h b/deps/openssl/openssl/include/openssl/ec.h index f06680a7886..d6b36c77c09 100644 --- a/deps/openssl/openssl/include/openssl/ec.h +++ b/deps/openssl/openssl/include/openssl/ec.h @@ -1,5 +1,5 @@ /* - * Copyright 2002-2016 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2002-2018 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the OpenSSL license (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy @@ -1424,6 +1424,7 @@ int ERR_load_EC_strings(void); # define EC_F_EC_GFP_NIST_FIELD_MUL 200 # define EC_F_EC_GFP_NIST_FIELD_SQR 201 # define EC_F_EC_GFP_NIST_GROUP_SET_CURVE 202 +# define EC_F_EC_GFP_SIMPLE_BLIND_COORDINATES 287 # define EC_F_EC_GFP_SIMPLE_GROUP_CHECK_DISCRIMINANT 165 # define EC_F_EC_GFP_SIMPLE_GROUP_SET_CURVE 166 # define EC_F_EC_GFP_SIMPLE_MAKE_AFFINE 102 diff --git a/deps/openssl/openssl/include/openssl/ocsp.h b/deps/openssl/openssl/include/openssl/ocsp.h index 90ebe5ccd05..ba1b97315bf 100644 --- a/deps/openssl/openssl/include/openssl/ocsp.h +++ b/deps/openssl/openssl/include/openssl/ocsp.h @@ -1,5 +1,5 @@ /* - * Copyright 2000-2016 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2000-2018 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the OpenSSL license (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy @@ -92,7 +92,6 @@ typedef struct ocsp_resp_bytes_st OCSP_RESPBYTES; # define V_OCSP_RESPID_KEY 1 DEFINE_STACK_OF(OCSP_RESPID) -DECLARE_ASN1_FUNCTIONS(OCSP_RESPID) typedef struct ocsp_revoked_info_st OCSP_REVOKEDINFO; @@ -159,8 +158,6 @@ int OCSP_REQ_CTX_i2d(OCSP_REQ_CTX *rctx, const ASN1_ITEM *it, int OCSP_REQ_CTX_nbio_d2i(OCSP_REQ_CTX *rctx, ASN1_VALUE **pval, const ASN1_ITEM *it); BIO *OCSP_REQ_CTX_get0_mem_bio(OCSP_REQ_CTX *rctx); -int OCSP_REQ_CTX_i2d(OCSP_REQ_CTX *rctx, const ASN1_ITEM *it, - ASN1_VALUE *val); int OCSP_REQ_CTX_http(OCSP_REQ_CTX *rctx, const char *op, const char *path); int OCSP_REQ_CTX_set1_req(OCSP_REQ_CTX *rctx, OCSP_REQUEST *req); int OCSP_REQ_CTX_add1_header(OCSP_REQ_CTX *rctx, @@ -194,6 +191,8 @@ int OCSP_response_status(OCSP_RESPONSE *resp); OCSP_BASICRESP *OCSP_response_get1_basic(OCSP_RESPONSE *resp); const ASN1_OCTET_STRING *OCSP_resp_get0_signature(const OCSP_BASICRESP *bs); +const X509_ALGOR *OCSP_resp_get0_tbs_sigalg(const OCSP_BASICRESP *bs); +const OCSP_RESPDATA *OCSP_resp_get0_respdata(const OCSP_BASICRESP *bs); int OCSP_resp_get0_signer(OCSP_BASICRESP *bs, X509 **signer, STACK_OF(X509) *extra_certs); diff --git a/deps/openssl/openssl/include/openssl/opensslconf.h b/deps/openssl/openssl/include/openssl/opensslconf.h deleted file mode 100644 index 76c99d433ab..00000000000 --- a/deps/openssl/openssl/include/openssl/opensslconf.h +++ /dev/null @@ -1 +0,0 @@ -#include "../../config/opensslconf.h" diff --git a/deps/openssl/openssl/include/openssl/opensslv.h b/deps/openssl/openssl/include/openssl/opensslv.h index c5ef2a75356..49f3c0a780a 100644 --- a/deps/openssl/openssl/include/openssl/opensslv.h +++ b/deps/openssl/openssl/include/openssl/opensslv.h @@ -39,11 +39,11 @@ extern "C" { * (Prior to 0.9.5a beta1, a different scheme was used: MMNNFFRBB for * major minor fix final patch/beta) */ -# define OPENSSL_VERSION_NUMBER 0x1010009fL +# define OPENSSL_VERSION_NUMBER 0x101000afL # ifdef OPENSSL_FIPS -# define OPENSSL_VERSION_TEXT "OpenSSL 1.1.0i-fips 14 Aug 2018" +# define OPENSSL_VERSION_TEXT "OpenSSL 1.1.0j-fips 20 Nov 2018" # else -# define OPENSSL_VERSION_TEXT "OpenSSL 1.1.0i 14 Aug 2018" +# define OPENSSL_VERSION_TEXT "OpenSSL 1.1.0j 20 Nov 2018" # endif /*- diff --git a/deps/openssl/openssl/include/openssl/rsa.h b/deps/openssl/openssl/include/openssl/rsa.h index 790831b9454..9c28329f1d8 100644 --- a/deps/openssl/openssl/include/openssl/rsa.h +++ b/deps/openssl/openssl/include/openssl/rsa.h @@ -407,9 +407,9 @@ int RSA_meth_set_priv_dec(RSA_METHOD *rsa, unsigned char *to, RSA *rsa, int padding)); int (*RSA_meth_get_mod_exp(const RSA_METHOD *meth)) - (BIGNUM *r0, const BIGNUM *I, RSA *rsa, BN_CTX *ctx); + (BIGNUM *r0, const BIGNUM *i, RSA *rsa, BN_CTX *ctx); int RSA_meth_set_mod_exp(RSA_METHOD *rsa, - int (*mod_exp) (BIGNUM *r0, const BIGNUM *I, RSA *rsa, + int (*mod_exp) (BIGNUM *r0, const BIGNUM *i, RSA *rsa, BN_CTX *ctx)); int (*RSA_meth_get_bn_mod_exp(const RSA_METHOD *meth)) (BIGNUM *r, const BIGNUM *a, const BIGNUM *p, diff --git a/deps/openssl/openssl/include/openssl/symhacks.h b/deps/openssl/openssl/include/openssl/symhacks.h index caf1f1a75d0..156ea6e4ee9 100644 --- a/deps/openssl/openssl/include/openssl/symhacks.h +++ b/deps/openssl/openssl/include/openssl/symhacks.h @@ -1,5 +1,5 @@ /* - * Copyright 1999-2016 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1999-2018 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the OpenSSL license (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy @@ -28,21 +28,6 @@ # undef i2d_ECPKPARAMETERS # define i2d_ECPKPARAMETERS i2d_UC_ECPKPARAMETERS -/* - * These functions do not seem to exist! However, I'm paranoid... Original - * command in x509v3.h: These functions are being redefined in another - * directory, and clash when the linker is case-insensitive, so let's hide - * them a little, by giving them an extra 'o' at the beginning of the name... - */ -# undef X509v3_cleanup_extensions -# define X509v3_cleanup_extensions oX509v3_cleanup_extensions -# undef X509v3_add_extension -# define X509v3_add_extension oX509v3_add_extension -# undef X509v3_add_netscape_extensions -# define X509v3_add_netscape_extensions oX509v3_add_netscape_extensions -# undef X509v3_add_standard_extensions -# define X509v3_add_standard_extensions oX509v3_add_standard_extensions - /* This one clashes with CMS_data_create */ # undef cms_Data_create # define cms_Data_create priv_cms_Data_create diff --git a/deps/openssl/openssl/include/openssl/x509_vfy.h b/deps/openssl/openssl/include/openssl/x509_vfy.h index d91581c7735..131b6cf7918 100644 --- a/deps/openssl/openssl/include/openssl/x509_vfy.h +++ b/deps/openssl/openssl/include/openssl/x509_vfy.h @@ -397,7 +397,7 @@ int (*X509_LOOKUP_meth_get_new_item(const X509_LOOKUP_METHOD* method)) (X509_LOOKUP *ctx); int X509_LOOKUP_meth_set_free(X509_LOOKUP_METHOD *method, - void (*free) (X509_LOOKUP *ctx)); + void (*free_fn) (X509_LOOKUP *ctx)); void (*X509_LOOKUP_meth_get_free(const X509_LOOKUP_METHOD* method)) (X509_LOOKUP *ctx); diff --git a/deps/openssl/openssl/ssl/s3_enc.c b/deps/openssl/openssl/ssl/s3_enc.c index e08857df9b7..65fe913141f 100644 --- a/deps/openssl/openssl/ssl/s3_enc.c +++ b/deps/openssl/openssl/ssl/s3_enc.c @@ -1,5 +1,5 @@ /* - * Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2018 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the OpenSSL license (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy @@ -404,13 +404,14 @@ int ssl3_final_finish_mac(SSL *s, const char *sender, int len, unsigned char *p) } if (!EVP_MD_CTX_copy_ex(ctx, s->s3->handshake_dgst)) { SSLerr(SSL_F_SSL3_FINAL_FINISH_MAC, ERR_R_INTERNAL_ERROR); - return 0; + ret = 0; + goto err; } ret = EVP_MD_CTX_size(ctx); if (ret < 0) { - EVP_MD_CTX_reset(ctx); - return 0; + ret = 0; + goto err; } if ((sender != NULL && EVP_DigestUpdate(ctx, sender, len) <= 0) @@ -422,6 +423,7 @@ int ssl3_final_finish_mac(SSL *s, const char *sender, int len, unsigned char *p) ret = 0; } + err: EVP_MD_CTX_free(ctx); return ret; diff --git a/deps/openssl/openssl/test/build.info b/deps/openssl/openssl/test/build.info index d850b5229ce..2367ab841ae 100644 --- a/deps/openssl/openssl/test/build.info +++ b/deps/openssl/openssl/test/build.info @@ -2,7 +2,7 @@ IF[{- !$disabled{tests} -}] PROGRAMS_NO_INST=\ versions \ aborttest \ - sanitytest exdatatest bntest \ + sanitytest rsa_complex exdatatest bntest \ ectest ecdsatest gmdifftest pbelutest ideatest \ md2test md4test md5test \ hmactest wp_test \ @@ -32,6 +32,9 @@ IF[{- !$disabled{tests} -}] INCLUDE[sanitytest]=../include DEPEND[sanitytest]=../libcrypto + SOURCE[rsa_complex]=rsa_complex.c + INCLUDE[rsa_complex]=../include + SOURCE[exdatatest]=exdatatest.c INCLUDE[exdatatest]=../include DEPEND[exdatatest]=../libcrypto diff --git a/deps/openssl/openssl/test/ct_test.c b/deps/openssl/openssl/test/ct_test.c index ea90923d74b..49c46958ee1 100644 --- a/deps/openssl/openssl/test/ct_test.c +++ b/deps/openssl/openssl/test/ct_test.c @@ -1,5 +1,5 @@ /* - * Copyright 2016 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2016-2018 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the OpenSSL license (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy @@ -542,8 +542,8 @@ static int test_default_ct_policy_eval_ctx_time_is_now() { int success = 0; CT_POLICY_EVAL_CTX *ct_policy_ctx = CT_POLICY_EVAL_CTX_new(); - const time_t default_time = CT_POLICY_EVAL_CTX_get_time(ct_policy_ctx) / - 1000; + const time_t default_time = + (time_t)(CT_POLICY_EVAL_CTX_get_time(ct_policy_ctx) / 1000); const time_t time_tolerance = 600; /* 10 minutes */ if (fabs(difftime(time(NULL), default_time)) > time_tolerance) { diff --git a/deps/openssl/openssl/test/evp_extra_test.c b/deps/openssl/openssl/test/evp_extra_test.c index 9217f3ae516..bc02fad4f2f 100644 --- a/deps/openssl/openssl/test/evp_extra_test.c +++ b/deps/openssl/openssl/test/evp_extra_test.c @@ -1,5 +1,5 @@ /* - * Copyright 2015-2016 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2015-2018 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the OpenSSL license (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy @@ -9,6 +9,7 @@ #include <stdio.h> #include <stdlib.h> +#include <string.h> #include <openssl/bio.h> #include <openssl/crypto.h> #include <openssl/err.h> @@ -326,6 +327,46 @@ static int test_d2i_AutoPrivateKey(const unsigned char *input, return ret; } +static int test_EVP_Enveloped(void) +{ + int ret = 0; + EVP_CIPHER_CTX *ctx = NULL; + EVP_PKEY *keypair = NULL; + unsigned char *kek = NULL; + int kek_len; + unsigned char iv[EVP_MAX_IV_LENGTH]; + static const unsigned char msg[] = { 1, 2, 3, 4, 5, 6, 7, 8 }; + int len, ciphertext_len, plaintext_len; + unsigned char ciphertext[32], plaintext[16]; + const EVP_CIPHER *type = EVP_aes_256_cbc(); + + if ((keypair = load_example_rsa_key()) == NULL + || (kek = OPENSSL_zalloc(EVP_PKEY_size(keypair))) == NULL + || (ctx = EVP_CIPHER_CTX_new()) == NULL + || !EVP_SealInit(ctx, type, &kek, &kek_len, iv, &keypair, 1) + || !EVP_SealUpdate(ctx, ciphertext, &ciphertext_len, + msg, sizeof(msg)) + || !EVP_SealFinal(ctx, ciphertext + ciphertext_len, &len)) + goto err; + + ciphertext_len += len; + if (!EVP_OpenInit(ctx, type, kek, kek_len, iv, keypair) + || !EVP_OpenUpdate(ctx, plaintext, &plaintext_len, + ciphertext, ciphertext_len) + || !EVP_OpenFinal(ctx, plaintext + plaintext_len, &len) + || (plaintext_len += len) != sizeof(msg) + || memcmp(msg, plaintext, sizeof(msg)) != 0) + goto err; + + ret = 1; + +err: + OPENSSL_free(kek); + EVP_PKEY_free(keypair); + EVP_CIPHER_CTX_free(ctx); + return ret; +} + #ifndef OPENSSL_NO_EC /* Tests loading a bad key in PKCS8 format */ static int test_EVP_PKCS82PKEY(void) @@ -386,6 +427,11 @@ int main(void) return 1; } + if (!test_EVP_Enveloped()) { + fprintf(stderr, "test_EVP_Enveloped failed\n"); + return 1; + } + #ifndef OPENSSL_NO_EC if (!test_d2i_AutoPrivateKey(kExampleECKeyDER, sizeof(kExampleECKeyDER), EVP_PKEY_EC)) { diff --git a/deps/openssl/openssl/test/recipes/30-test_evp.t b/deps/openssl/openssl/test/recipes/30-test_evp.t index c277fcdfa02..da0eadad25e 100644 --- a/deps/openssl/openssl/test/recipes/30-test_evp.t +++ b/deps/openssl/openssl/test/recipes/30-test_evp.t @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2015-2016 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2015-2018 The OpenSSL Project Authors. All Rights Reserved. # # Licensed under the OpenSSL license (the "License"). You may not use # this file except in compliance with the License. You can obtain a copy @@ -10,10 +10,17 @@ use strict; use warnings; -use OpenSSL::Test qw/:DEFAULT srctop_file/; +use OpenSSL::Test qw/:DEFAULT data_file/; setup("test_evp"); -plan tests => 1; -ok(run(test(["evp_test", srctop_file("test", "evptests.txt")])), - "running evp_test evptests.txt"); +my @files = ( "evpciph.txt", "evpdigest.txt", "evpencod.txt", "evpkdf.txt", + "evpmac.txt", "evppbe.txt", "evppkey.txt", "evppkey_ecc.txt", + "evpcase.txt" ); + +plan tests => scalar(@files); + +foreach my $f ( @files ) { + ok(run(test(["evp_test", data_file("$f")])), + "running evp_test $f"); +} diff --git a/deps/openssl/openssl/test/recipes/30-test_evp_data/evpcase.txt b/deps/openssl/openssl/test/recipes/30-test_evp_data/evpcase.txt new file mode 100644 index 00000000000..9f0955b97d4 --- /dev/null +++ b/deps/openssl/openssl/test/recipes/30-test_evp_data/evpcase.txt @@ -0,0 +1,47 @@ +# +# Copyright 2018 The OpenSSL Project Authors. All Rights Reserved. +# +# Licensed under the OpenSSL license (the "License"). You may not use +# this file except in compliance with the License. You can obtain a copy +# in the file LICENSE in the source distribution or at +# https://www.openssl.org/source/license.html + +# Tests start with one of these keywords +# Cipher Decrypt Derive Digest Encoding KDF MAC PBE +# PrivPubKeyPair Sign Verify VerifyRecover +# and continue until a blank line. Lines starting with a pound sign, +# like this prolog, are ignored. + +# These tests exercise the case insensitive handling of object names. +# They are contrived + +# Some name is case insensitive tests +Cipher = Aes-128-eCb +Key = 2B7E151628AED2A6ABF7158809CF4F3C +Plaintext = 6BC1BEE22E409F96E93D7E117393172A +Ciphertext = 3AD77BB40D7A3660A89ECAF32466EF97 + +Cipher = AeS-128-cbC +Key = 2B7E151628AED2A6ABF7158809CF4F3C +IV = 73BED6B8E3C1743B7116E69E22229516 +Plaintext = F69F2445DF4F9B17AD2B417BE66C3710 +Ciphertext = 3FF1CAA1681FAC09120ECA307586E1A7 + +Cipher = aES-128-CTR +Key = AE6852F8121067CC4BF7A5765577F39E +IV = 00000030000000000000000000000001 +Operation = ENCRYPT +Plaintext = 53696E676C6520626C6F636B206D7367 +Ciphertext = E4095D4FB7A7B3792D6175A3261311B8 + +Cipher = AES-128-GcM +Key = 00000000000000000000000000000000 +IV = 000000000000000000000000 +AAD = +Tag = ab6e47d42cec13bdf53a67b21257bddf +Plaintext = 00000000000000000000000000000000 +Ciphertext = 0388dace60b6a392f328c2b971b2fe78 + +Digest = shA512 +Input = "abc" +Output = ddaf35a193617abacc417349ae20413112e6fa4e89a97ea20a9eeee64b55d39a2192992a274fc1a836ba3c23a3feebbd454d4423643ce80e2a9ac94fa54ca49f diff --git a/deps/openssl/openssl/test/recipes/30-test_evp_data/evpciph.txt b/deps/openssl/openssl/test/recipes/30-test_evp_data/evpciph.txt new file mode 100644 index 00000000000..7e78e08fc22 --- /dev/null +++ b/deps/openssl/openssl/test/recipes/30-test_evp_data/evpciph.txt @@ -0,0 +1,2270 @@ +# +# Copyright 2001-2018 The OpenSSL Project Authors. All Rights Reserved. +# +# Licensed under the OpenSSL license (the "License"). You may not use +# this file except in compliance with the License. You can obtain a copy +# in the file LICENSE in the source distribution or at +# https://www.openssl.org/source/license.html + +# Tests start with one of these keywords +# Cipher Decrypt Derive Digest Encoding KDF MAC PBE +# PrivPubKeyPair Sign Verify VerifyRecover +# and continue until a blank line. Lines starting with a pound sign, +# like this prolog, are ignored. + + +# DES EDE3 CFB1 +# echo -n "Hello World" | +# apps/openssl enc -des-ede3-cfb1 \ +# -K 000102030405060708090A0B0C0D0E0F1011121314151617 -iv 0001020304050607 | +# xxd -ps -u + +Cipher = DES-EDE3-CFB1 +Key = 000102030405060708090A0B0C0D0E0F1011121314151617 +IV = 0001020304050607 +Plaintext = "Hello World" +Ciphertext = 3CF55D656E9C0664513358 + +Cipher = DES-EDE3-CFB1 +Key = 000102030405060708090A0B0C0D0E0F1011121314151617 +IV = 0001020304050607 +Operation = DECRYPT +Plaintext = "Hello World" +Ciphertext = 3CF55D656E9C0664513358 + +# AES 128 ECB tests (from FIPS-197 test vectors, encrypt) + +Cipher = AES-128-ECB +Key = 000102030405060708090A0B0C0D0E0F +Operation = ENCRYPT +Plaintext = 00112233445566778899AABBCCDDEEFF +Ciphertext = 69C4E0D86A7B0430D8CDB78070B4C55A + +# AES 192 ECB tests (from FIPS-197 test vectors, encrypt) + +Cipher = AES-192-ECB +Key = 000102030405060708090A0B0C0D0E0F1011121314151617 +Operation = ENCRYPT +Plaintext = 00112233445566778899AABBCCDDEEFF +Ciphertext = DDA97CA4864CDFE06EAF70A0EC0D7191 + + +# AES 256 ECB tests (from FIPS-197 test vectors, encrypt) + +Cipher = AES-256-ECB +Key = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F +Operation = ENCRYPT +Plaintext = 00112233445566778899AABBCCDDEEFF +Ciphertext = 8EA2B7CA516745BFEAFC49904B496089 + + +# AES 128 ECB tests (from NIST test vectors, encrypt) + +#AES-128-ECB:00000000000000000000000000000000::00000000000000000000000000000000:C34C052CC0DA8D73451AFE5F03BE297F:1 + +# AES 128 ECB tests (from NIST test vectors, decrypt) + +#AES-128-ECB:00000000000000000000000000000000::44416AC2D1F53C583303917E6BE9EBE0:00000000000000000000000000000000:0 + +# AES 192 ECB tests (from NIST test vectors, decrypt) + +#AES-192-ECB:000000000000000000000000000000000000000000000000::48E31E9E256718F29229319C19F15BA4:00000000000000000000000000000000:0 + +# AES 256 ECB tests (from NIST test vectors, decrypt) + +#AES-256-ECB:0000000000000000000000000000000000000000000000000000000000000000::058CCFFDBBCB382D1F6F56585D8A4ADE:00000000000000000000000000000000:0 + +# AES 128 CBC tests (from NIST test vectors, encrypt) + +#AES-128-CBC:00000000000000000000000000000000:00000000000000000000000000000000:00000000000000000000000000000000:8A05FC5E095AF4848A08D328D3688E3D:1 + +# AES 192 CBC tests (from NIST test vectors, encrypt) + +#AES-192-CBC:000000000000000000000000000000000000000000000000:00000000000000000000000000000000:00000000000000000000000000000000:7BD966D53AD8C1BB85D2ADFAE87BB104:1 + +# AES 256 CBC tests (from NIST test vectors, encrypt) + +#AES-256-CBC:0000000000000000000000000000000000000000000000000000000000000000:00000000000000000000000000000000:00000000000000000000000000000000:FE3C53653E2F45B56FCD88B2CC898FF0:1 + +# AES 128 CBC tests (from NIST test vectors, decrypt) + +#AES-128-CBC:00000000000000000000000000000000:00000000000000000000000000000000:FACA37E0B0C85373DF706E73F7C9AF86:00000000000000000000000000000000:0 + +# AES tests from NIST document SP800-38A +# For all ECB encrypts and decrypts, the transformed sequence is +# AES-bits-ECB:key::plaintext:ciphertext:encdec +# ECB-AES128.Encrypt and ECB-AES128.Decrypt +Cipher = AES-128-ECB +Key = 2B7E151628AED2A6ABF7158809CF4F3C +Plaintext = 6BC1BEE22E409F96E93D7E117393172A +Ciphertext = 3AD77BB40D7A3660A89ECAF32466EF97 + +Cipher = AES-128-ECB +Key = 2B7E151628AED2A6ABF7158809CF4F3C +Plaintext = AE2D8A571E03AC9C9EB76FAC45AF8E51 +Ciphertext = F5D3D58503B9699DE785895A96FDBAAF + +Cipher = AES-128-ECB +Key = 2B7E151628AED2A6ABF7158809CF4F3C +Plaintext = 30C81C46A35CE411E5FBC1191A0A52EF +Ciphertext = 43B1CD7F598ECE23881B00E3ED030688 + +Cipher = AES-128-ECB +Key = 2B7E151628AED2A6ABF7158809CF4F3C +Plaintext = F69F2445DF4F9B17AD2B417BE66C3710 +Ciphertext = 7B0C785E27E8AD3F8223207104725DD4 + +# ECB-AES192.Encrypt and ECB-AES192.Decrypt +Cipher = AES-192-ECB +Key = 8E73B0F7DA0E6452C810F32B809079E562F8EAD2522C6B7B +Plaintext = 6BC1BEE22E409F96E93D7E117393172A +Ciphertext = BD334F1D6E45F25FF712A214571FA5CC + +Cipher = AES-192-ECB +Key = 8E73B0F7DA0E6452C810F32B809079E562F8EAD2522C6B7B +Plaintext = AE2D8A571E03AC9C9EB76FAC45AF8E51 +Ciphertext = 974104846D0AD3AD7734ECB3ECEE4EEF + +Cipher = AES-192-ECB +Key = 8E73B0F7DA0E6452C810F32B809079E562F8EAD2522C6B7B +Plaintext = 30C81C46A35CE411E5FBC1191A0A52EF +Ciphertext = EF7AFD2270E2E60ADCE0BA2FACE6444E + +Cipher = AES-192-ECB +Key = 8E73B0F7DA0E6452C810F32B809079E562F8EAD2522C6B7B +Plaintext = F69F2445DF4F9B17AD2B417BE66C3710 +Ciphertext = 9A4B41BA738D6C72FB16691603C18E0E + +# ECB-AES256.Encrypt and ECB-AES256.Decrypt +Cipher = AES-256-ECB +Key = 603DEB1015CA71BE2B73AEF0857D77811F352C073B6108D72D9810A30914DFF4 +Plaintext = 6BC1BEE22E409F96E93D7E117393172A +Ciphertext = F3EED1BDB5D2A03C064B5A7E3DB181F8 + +Cipher = AES-256-ECB +Key = 603DEB1015CA71BE2B73AEF0857D77811F352C073B6108D72D9810A30914DFF4 +Plaintext = AE2D8A571E03AC9C9EB76FAC45AF8E51 +Ciphertext = 591CCB10D410ED26DC5BA74A31362870 + +Cipher = AES-256-ECB +Key = 603DEB1015CA71BE2B73AEF0857D77811F352C073B6108D72D9810A30914DFF4 +Plaintext = 30C81C46A35CE411E5FBC1191A0A52EF +Ciphertext = B6ED21B99CA6F4F9F153E7B1BEAFED1D + +Cipher = AES-256-ECB +Key = 603DEB1015CA71BE2B73AEF0857D77811F352C073B6108D72D9810A30914DFF4 +Plaintext = F69F2445DF4F9B17AD2B417BE66C3710 +Ciphertext = 23304B7A39F9F3FF067D8D8F9E24ECC7 + +# For all CBC encrypts and decrypts, the transformed sequence is +# AES-bits-CBC:key:IV/ciphertext':plaintext:ciphertext:encdec +# CBC-AES128.Encrypt and CBC-AES128.Decrypt +Cipher = AES-128-CBC +Key = 2B7E151628AED2A6ABF7158809CF4F3C +IV = 000102030405060708090A0B0C0D0E0F +Plaintext = 6BC1BEE22E409F96E93D7E117393172A +Ciphertext = 7649ABAC8119B246CEE98E9B12E9197D + +Cipher = AES-128-CBC +Key = 2B7E151628AED2A6ABF7158809CF4F3C +IV = 7649ABAC8119B246CEE98E9B12E9197D +Plaintext = AE2D8A571E03AC9C9EB76FAC45AF8E51 +Ciphertext = 5086CB9B507219EE95DB113A917678B2 + +Cipher = AES-128-CBC +Key = 2B7E151628AED2A6ABF7158809CF4F3C +IV = 5086CB9B507219EE95DB113A917678B2 +Plaintext = 30C81C46A35CE411E5FBC1191A0A52EF +Ciphertext = 73BED6B8E3C1743B7116E69E22229516 + +Cipher = AES-128-CBC +Key = 2B7E151628AED2A6ABF7158809CF4F3C +IV = 73BED6B8E3C1743B7116E69E22229516 +Plaintext = F69F2445DF4F9B17AD2B417BE66C3710 +Ciphertext = 3FF1CAA1681FAC09120ECA307586E1A7 + +# CBC-AES192.Encrypt and CBC-AES192.Decrypt +Cipher = AES-192-CBC +Key = 8E73B0F7DA0E6452C810F32B809079E562F8EAD2522C6B7B +IV = 000102030405060708090A0B0C0D0E0F +Plaintext = 6BC1BEE22E409F96E93D7E117393172A +Ciphertext = 4F021DB243BC633D7178183A9FA071E8 + +Cipher = AES-192-CBC +Key = 8E73B0F7DA0E6452C810F32B809079E562F8EAD2522C6B7B +IV = 4F021DB243BC633D7178183A9FA071E8 +Plaintext = AE2D8A571E03AC9C9EB76FAC45AF8E51 +Ciphertext = B4D9ADA9AD7DEDF4E5E738763F69145A + +Cipher = AES-192-CBC +Key = 8E73B0F7DA0E6452C810F32B809079E562F8EAD2522C6B7B +IV = B4D9ADA9AD7DEDF4E5E738763F69145A +Plaintext = 30C81C46A35CE411E5FBC1191A0A52EF +Ciphertext = 571B242012FB7AE07FA9BAAC3DF102E0 + +Cipher = AES-192-CBC +Key = 8E73B0F7DA0E6452C810F32B809079E562F8EAD2522C6B7B +IV = 571B242012FB7AE07FA9BAAC3DF102E0 +Plaintext = F69F2445DF4F9B17AD2B417BE66C3710 +Ciphertext = 08B0E27988598881D920A9E64F5615CD + +# CBC-AES256.Encrypt and CBC-AES256.Decrypt +Cipher = AES-256-CBC +Key = 603DEB1015CA71BE2B73AEF0857D77811F352C073B6108D72D9810A30914DFF4 +IV = 000102030405060708090A0B0C0D0E0F +Plaintext = 6BC1BEE22E409F96E93D7E117393172A +Ciphertext = F58C4C04D6E5F1BA779EABFB5F7BFBD6 + +Cipher = AES-256-CBC +Key = 603DEB1015CA71BE2B73AEF0857D77811F352C073B6108D72D9810A30914DFF4 +IV = F58C4C04D6E5F1BA779EABFB5F7BFBD6 +Plaintext = AE2D8A571E03AC9C9EB76FAC45AF8E51 +Ciphertext = 9CFC4E967EDB808D679F777BC6702C7D + +Cipher = AES-256-CBC +Key = 603DEB1015CA71BE2B73AEF0857D77811F352C073B6108D72D9810A30914DFF4 +IV = 9CFC4E967EDB808D679F777BC6702C7D +Plaintext = 30C81C46A35CE411E5FBC1191A0A52EF +Ciphertext = 39F23369A9D9BACFA530E26304231461 + +Cipher = AES-256-CBC +Key = 603DEB1015CA71BE2B73AEF0857D77811F352C073B6108D72D9810A30914DFF4 +IV = 39F23369A9D9BACFA530E26304231461 +Plaintext = F69F2445DF4F9B17AD2B417BE66C3710 +Ciphertext = B2EB05E2C39BE9FCDA6C19078C6A9D1B + +# We don't support CFB{1,8}-AESxxx.{En,De}crypt +# For all CFB128 encrypts and decrypts, the transformed sequence is +# AES-bits-CFB:key:IV/ciphertext':plaintext:ciphertext:encdec +# CFB128-AES128.Encrypt +Cipher = AES-128-CFB +Key = 2B7E151628AED2A6ABF7158809CF4F3C +IV = 000102030405060708090A0B0C0D0E0F +Operation = ENCRYPT +Plaintext = 6BC1BEE22E409F96E93D7E117393172A +Ciphertext = 3B3FD92EB72DAD20333449F8E83CFB4A + +Cipher = AES-128-CFB +Key = 2B7E151628AED2A6ABF7158809CF4F3C +IV = 3B3FD92EB72DAD20333449F8E83CFB4A +Operation = ENCRYPT +Plaintext = AE2D8A571E03AC9C9EB76FAC45AF8E51 +Ciphertext = C8A64537A0B3A93FCDE3CDAD9F1CE58B + +Cipher = AES-128-CFB +Key = 2B7E151628AED2A6ABF7158809CF4F3C +IV = C8A64537A0B3A93FCDE3CDAD9F1CE58B +Operation = ENCRYPT +Plaintext = 30C81C46A35CE411E5FBC1191A0A52EF +Ciphertext = 26751F67A3CBB140B1808CF187A4F4DF + +Cipher = AES-128-CFB +Key = 2B7E151628AED2A6ABF7158809CF4F3C +IV = 26751F67A3CBB140B1808CF187A4F4DF +Operation = ENCRYPT +Plaintext = F69F2445DF4F9B17AD2B417BE66C3710 +Ciphertext = C04B05357C5D1C0EEAC4C66F9FF7F2E6 + +# CFB128-AES128.Decrypt +Cipher = AES-128-CFB +Key = 2B7E151628AED2A6ABF7158809CF4F3C +IV = 000102030405060708090A0B0C0D0E0F +Operation = DECRYPT +Plaintext = 6BC1BEE22E409F96E93D7E117393172A +Ciphertext = 3B3FD92EB72DAD20333449F8E83CFB4A + +Cipher = AES-128-CFB +Key = 2B7E151628AED2A6ABF7158809CF4F3C +IV = 3B3FD92EB72DAD20333449F8E83CFB4A +Operation = DECRYPT +Plaintext = AE2D8A571E03AC9C9EB76FAC45AF8E51 +Ciphertext = C8A64537A0B3A93FCDE3CDAD9F1CE58B + +Cipher = AES-128-CFB +Key = 2B7E151628AED2A6ABF7158809CF4F3C +IV = C8A64537A0B3A93FCDE3CDAD9F1CE58B +Operation = DECRYPT +Plaintext = 30C81C46A35CE411E5FBC1191A0A52EF +Ciphertext = 26751F67A3CBB140B1808CF187A4F4DF + +Cipher = AES-128-CFB +Key = 2B7E151628AED2A6ABF7158809CF4F3C +IV = 26751F67A3CBB140B1808CF187A4F4DF +Operation = DECRYPT +Plaintext = F69F2445DF4F9B17AD2B417BE66C3710 +Ciphertext = C04B05357C5D1C0EEAC4C66F9FF7F2E6 + +# CFB128-AES192.Encrypt +Cipher = AES-192-CFB +Key = 8E73B0F7DA0E6452C810F32B809079E562F8EAD2522C6B7B +IV = 000102030405060708090A0B0C0D0E0F +Operation = ENCRYPT +Plaintext = 6BC1BEE22E409F96E93D7E117393172A +Ciphertext = CDC80D6FDDF18CAB34C25909C99A4174 + +Cipher = AES-192-CFB +Key = 8E73B0F7DA0E6452C810F32B809079E562F8EAD2522C6B7B +IV = CDC80D6FDDF18CAB34C25909C99A4174 +Operation = ENCRYPT +Plaintext = AE2D8A571E03AC9C9EB76FAC45AF8E51 +Ciphertext = 67CE7F7F81173621961A2B70171D3D7A + +Cipher = AES-192-CFB +Key = 8E73B0F7DA0E6452C810F32B809079E562F8EAD2522C6B7B +IV = 67CE7F7F81173621961A2B70171D3D7A +Operation = ENCRYPT +Plaintext = 30C81C46A35CE411E5FBC1191A0A52EF +Ciphertext = 2E1E8A1DD59B88B1C8E60FED1EFAC4C9 + +Cipher = AES-192-CFB +Key = 8E73B0F7DA0E6452C810F32B809079E562F8EAD2522C6B7B +IV = 2E1E8A1DD59B88B1C8E60FED1EFAC4C9 +Operation = ENCRYPT +Plaintext = F69F2445DF4F9B17AD2B417BE66C3710 +Ciphertext = C05F9F9CA9834FA042AE8FBA584B09FF + +# CFB128-AES192.Decrypt +Cipher = AES-192-CFB +Key = 8E73B0F7DA0E6452C810F32B809079E562F8EAD2522C6B7B +IV = 000102030405060708090A0B0C0D0E0F +Operation = DECRYPT +Plaintext = 6BC1BEE22E409F96E93D7E117393172A +Ciphertext = CDC80D6FDDF18CAB34C25909C99A4174 + +Cipher = AES-192-CFB +Key = 8E73B0F7DA0E6452C810F32B809079E562F8EAD2522C6B7B +IV = CDC80D6FDDF18CAB34C25909C99A4174 +Operation = DECRYPT +Plaintext = AE2D8A571E03AC9C9EB76FAC45AF8E51 +Ciphertext = 67CE7F7F81173621961A2B70171D3D7A + +Cipher = AES-192-CFB +Key = 8E73B0F7DA0E6452C810F32B809079E562F8EAD2522C6B7B +IV = 67CE7F7F81173621961A2B70171D3D7A +Operation = DECRYPT +Plaintext = 30C81C46A35CE411E5FBC1191A0A52EF +Ciphertext = 2E1E8A1DD59B88B1C8E60FED1EFAC4C9 + +Cipher = AES-192-CFB +Key = 8E73B0F7DA0E6452C810F32B809079E562F8EAD2522C6B7B +IV = 2E1E8A1DD59B88B1C8E60FED1EFAC4C9 +Operation = DECRYPT +Plaintext = F69F2445DF4F9B17AD2B417BE66C3710 +Ciphertext = C05F9F9CA9834FA042AE8FBA584B09FF + +# CFB128-AES256.Encrypt +Cipher = AES-256-CFB +Key = 603DEB1015CA71BE2B73AEF0857D77811F352C073B6108D72D9810A30914DFF4 +IV = 000102030405060708090A0B0C0D0E0F +Operation = ENCRYPT +Plaintext = 6BC1BEE22E409F96E93D7E117393172A +Ciphertext = DC7E84BFDA79164B7ECD8486985D3860 + +Cipher = AES-256-CFB +Key = 603DEB1015CA71BE2B73AEF0857D77811F352C073B6108D72D9810A30914DFF4 +IV = DC7E84BFDA79164B7ECD8486985D3860 +Operation = ENCRYPT +Plaintext = AE2D8A571E03AC9C9EB76FAC45AF8E51 +Ciphertext = 39FFED143B28B1C832113C6331E5407B + +Cipher = AES-256-CFB +Key = 603DEB1015CA71BE2B73AEF0857D77811F352C073B6108D72D9810A30914DFF4 +IV = 39FFED143B28B1C832113C6331E5407B +Operation = ENCRYPT +Plaintext = 30C81C46A35CE411E5FBC1191A0A52EF +Ciphertext = DF10132415E54B92A13ED0A8267AE2F9 + +Cipher = AES-256-CFB +Key = 603DEB1015CA71BE2B73AEF0857D77811F352C073B6108D72D9810A30914DFF4 +IV = DF10132415E54B92A13ED0A8267AE2F9 +Operation = ENCRYPT +Plaintext = F69F2445DF4F9B17AD2B417BE66C3710 +Ciphertext = 75A385741AB9CEF82031623D55B1E471 + +# CFB128-AES256.Decrypt +Cipher = AES-256-CFB +Key = 603DEB1015CA71BE2B73AEF0857D77811F352C073B6108D72D9810A30914DFF4 +IV = 000102030405060708090A0B0C0D0E0F +Operation = DECRYPT +Plaintext = 6BC1BEE22E409F96E93D7E117393172A +Ciphertext = DC7E84BFDA79164B7ECD8486985D3860 + +Cipher = AES-256-CFB +Key = 603DEB1015CA71BE2B73AEF0857D77811F352C073B6108D72D9810A30914DFF4 +IV = DC7E84BFDA79164B7ECD8486985D3860 +Operation = DECRYPT +Plaintext = AE2D8A571E03AC9C9EB76FAC45AF8E51 +Ciphertext = 39FFED143B28B1C832113C6331E5407B + +Cipher = AES-256-CFB +Key = 603DEB1015CA71BE2B73AEF0857D77811F352C073B6108D72D9810A30914DFF4 +IV = 39FFED143B28B1C832113C6331E5407B +Operation = DECRYPT +Plaintext = 30C81C46A35CE411E5FBC1191A0A52EF +Ciphertext = DF10132415E54B92A13ED0A8267AE2F9 + +Cipher = AES-256-CFB +Key = 603DEB1015CA71BE2B73AEF0857D77811F352C073B6108D72D9810A30914DFF4 +IV = DF10132415E54B92A13ED0A8267AE2F9 +Operation = DECRYPT +Plaintext = F69F2445DF4F9B17AD2B417BE66C3710 +Ciphertext = 75A385741AB9CEF82031623D55B1E471 + +# For all OFB encrypts and decrypts, the transformed sequence is +# AES-bits-CFB:key:IV/output':plaintext:ciphertext:encdec +# OFB-AES128.Encrypt +Cipher = AES-128-OFB +Key = 2B7E151628AED2A6ABF7158809CF4F3C +IV = 000102030405060708090A0B0C0D0E0F +Operation = ENCRYPT +Plaintext = 6BC1BEE22E409F96E93D7E117393172A +Ciphertext = 3B3FD92EB72DAD20333449F8E83CFB4A + +Cipher = AES-128-OFB +Key = 2B7E151628AED2A6ABF7158809CF4F3C +IV = 50FE67CC996D32B6DA0937E99BAFEC60 +Operation = ENCRYPT +Plaintext = AE2D8A571E03AC9C9EB76FAC45AF8E51 +Ciphertext = 7789508D16918F03F53C52DAC54ED825 + +Cipher = AES-128-OFB +Key = 2B7E151628AED2A6ABF7158809CF4F3C +IV = D9A4DADA0892239F6B8B3D7680E15674 +Operation = ENCRYPT +Plaintext = 30C81C46A35CE411E5FBC1191A0A52EF +Ciphertext = 9740051E9C5FECF64344F7A82260EDCC + +Cipher = AES-128-OFB +Key = 2B7E151628AED2A6ABF7158809CF4F3C +IV = A78819583F0308E7A6BF36B1386ABF23 +Operation = ENCRYPT +Plaintext = F69F2445DF4F9B17AD2B417BE66C3710 +Ciphertext = 304C6528F659C77866A510D9C1D6AE5E + +# OFB-AES128.Decrypt +Cipher = AES-128-OFB +Key = 2B7E151628AED2A6ABF7158809CF4F3C +IV = 000102030405060708090A0B0C0D0E0F +Operation = DECRYPT +Plaintext = 6BC1BEE22E409F96E93D7E117393172A +Ciphertext = 3B3FD92EB72DAD20333449F8E83CFB4A + +Cipher = AES-128-OFB +Key = 2B7E151628AED2A6ABF7158809CF4F3C +IV = 50FE67CC996D32B6DA0937E99BAFEC60 +Operation = DECRYPT +Plaintext = AE2D8A571E03AC9C9EB76FAC45AF8E51 +Ciphertext = 7789508D16918F03F53C52DAC54ED825 + +Cipher = AES-128-OFB +Key = 2B7E151628AED2A6ABF7158809CF4F3C +IV = D9A4DADA0892239F6B8B3D7680E15674 +Operation = DECRYPT +Plaintext = 30C81C46A35CE411E5FBC1191A0A52EF +Ciphertext = 9740051E9C5FECF64344F7A82260EDCC + +Cipher = AES-128-OFB +Key = 2B7E151628AED2A6ABF7158809CF4F3C +IV = A78819583F0308E7A6BF36B1386ABF23 +Operation = DECRYPT +Plaintext = F69F2445DF4F9B17AD2B417BE66C3710 +Ciphertext = 304C6528F659C77866A510D9C1D6AE5E + +# OFB-AES192.Encrypt +Cipher = AES-192-OFB +Key = 8E73B0F7DA0E6452C810F32B809079E562F8EAD2522C6B7B +IV = 000102030405060708090A0B0C0D0E0F +Operation = ENCRYPT +Plaintext = 6BC1BEE22E409F96E93D7E117393172A +Ciphertext = CDC80D6FDDF18CAB34C25909C99A4174 + +Cipher = AES-192-OFB +Key = 8E73B0F7DA0E6452C810F32B809079E562F8EAD2522C6B7B +IV = A609B38DF3B1133DDDFF2718BA09565E +Operation = ENCRYPT +Plaintext = AE2D8A571E03AC9C9EB76FAC45AF8E51 +Ciphertext = FCC28B8D4C63837C09E81700C1100401 + +Cipher = AES-192-OFB +Key = 8E73B0F7DA0E6452C810F32B809079E562F8EAD2522C6B7B +IV = 52EF01DA52602FE0975F78AC84BF8A50 +Operation = ENCRYPT +Plaintext = 30C81C46A35CE411E5FBC1191A0A52EF +Ciphertext = 8D9A9AEAC0F6596F559C6D4DAF59A5F2 + +Cipher = AES-192-OFB +Key = 8E73B0F7DA0E6452C810F32B809079E562F8EAD2522C6B7B +IV = BD5286AC63AABD7EB067AC54B553F71D +Operation = ENCRYPT +Plaintext = F69F2445DF4F9B17AD2B417BE66C3710 +Ciphertext = 6D9F200857CA6C3E9CAC524BD9ACC92A + +# OFB-AES192.Decrypt +Cipher = AES-192-OFB +Key = 8E73B0F7DA0E6452C810F32B809079E562F8EAD2522C6B7B +IV = 000102030405060708090A0B0C0D0E0F +Operation = ENCRYPT +Plaintext = 6BC1BEE22E409F96E93D7E117393172A +Ciphertext = CDC80D6FDDF18CAB34C25909C99A4174 + +Cipher = AES-192-OFB +Key = 8E73B0F7DA0E6452C810F32B809079E562F8EAD2522C6B7B +IV = A609B38DF3B1133DDDFF2718BA09565E +Operation = ENCRYPT +Plaintext = AE2D8A571E03AC9C9EB76FAC45AF8E51 +Ciphertext = FCC28B8D4C63837C09E81700C1100401 + +Cipher = AES-192-OFB +Key = 8E73B0F7DA0E6452C810F32B809079E562F8EAD2522C6B7B +IV = 52EF01DA52602FE0975F78AC84BF8A50 +Operation = ENCRYPT +Plaintext = 30C81C46A35CE411E5FBC1191A0A52EF +Ciphertext = 8D9A9AEAC0F6596F559C6D4DAF59A5F2 + +Cipher = AES-192-OFB +Key = 8E73B0F7DA0E6452C810F32B809079E562F8EAD2522C6B7B +IV = BD5286AC63AABD7EB067AC54B553F71D +Operation = ENCRYPT +Plaintext = F69F2445DF4F9B17AD2B417BE66C3710 +Ciphertext = 6D9F200857CA6C3E9CAC524BD9ACC92A + +# OFB-AES256.Encrypt +Cipher = AES-256-OFB +Key = 603DEB1015CA71BE2B73AEF0857D77811F352C073B6108D72D9810A30914DFF4 +IV = 000102030405060708090A0B0C0D0E0F +Operation = ENCRYPT +Plaintext = 6BC1BEE22E409F96E93D7E117393172A +Ciphertext = DC7E84BFDA79164B7ECD8486985D3860 + +Cipher = AES-256-OFB +Key = 603DEB1015CA71BE2B73AEF0857D77811F352C073B6108D72D9810A30914DFF4 +IV = B7BF3A5DF43989DD97F0FA97EBCE2F4A +Operation = ENCRYPT +Plaintext = AE2D8A571E03AC9C9EB76FAC45AF8E51 +Ciphertext = 4FEBDC6740D20B3AC88F6AD82A4FB08D + +Cipher = AES-256-OFB +Key = 603DEB1015CA71BE2B73AEF0857D77811F352C073B6108D72D9810A30914DFF4 +IV = E1C656305ED1A7A6563805746FE03EDC +Operation = ENCRYPT +Plaintext = 30C81C46A35CE411E5FBC1191A0A52EF +Ciphertext = 71AB47A086E86EEDF39D1C5BBA97C408 + +Cipher = AES-256-OFB +Key = 603DEB1015CA71BE2B73AEF0857D77811F352C073B6108D72D9810A30914DFF4 +IV = 41635BE625B48AFC1666DD42A09D96E7 +Operation = ENCRYPT +Plaintext = F69F2445DF4F9B17AD2B417BE66C3710 +Ciphertext = 0126141D67F37BE8538F5A8BE740E484 + +# OFB-AES256.Decrypt +Cipher = AES-256-OFB +Key = 603DEB1015CA71BE2B73AEF0857D77811F352C073B6108D72D9810A30914DFF4 +IV = 000102030405060708090A0B0C0D0E0F +Operation = DECRYPT +Plaintext = 6BC1BEE22E409F96E93D7E117393172A +Ciphertext = DC7E84BFDA79164B7ECD8486985D3860 + +Cipher = AES-256-OFB +Key = 603DEB1015CA71BE2B73AEF0857D77811F352C073B6108D72D9810A30914DFF4 +IV = B7BF3A5DF43989DD97F0FA97EBCE2F4A +Operation = DECRYPT +Plaintext = AE2D8A571E03AC9C9EB76FAC45AF8E51 +Ciphertext = 4FEBDC6740D20B3AC88F6AD82A4FB08D + +Cipher = AES-256-OFB +Key = 603DEB1015CA71BE2B73AEF0857D77811F352C073B6108D72D9810A30914DFF4 +IV = E1C656305ED1A7A6563805746FE03EDC +Operation = DECRYPT +Plaintext = 30C81C46A35CE411E5FBC1191A0A52EF +Ciphertext = 71AB47A086E86EEDF39D1C5BBA97C408 + +Cipher = AES-256-OFB +Key = 603DEB1015CA71BE2B73AEF0857D77811F352C073B6108D72D9810A30914DFF4 +IV = 41635BE625B48AFC1666DD42A09D96E7 +Operation = DECRYPT +Plaintext = F69F2445DF4F9B17AD2B417BE66C3710 +Ciphertext = 0126141D67F37BE8538F5A8BE740E484 + + +# AES Counter test vectors from RFC3686 +Cipher = aes-128-ctr +Key = AE6852F8121067CC4BF7A5765577F39E +IV = 00000030000000000000000000000001 +Operation = ENCRYPT +Plaintext = 53696E676C6520626C6F636B206D7367 +Ciphertext = E4095D4FB7A7B3792D6175A3261311B8 + +Cipher = aes-128-ctr +Key = 7E24067817FAE0D743D6CE1F32539163 +IV = 006CB6DBC0543B59DA48D90B00000001 +Operation = ENCRYPT +Plaintext = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F +Ciphertext = 5104A106168A72D9790D41EE8EDAD388EB2E1EFC46DA57C8FCE630DF9141BE28 + +Cipher = aes-128-ctr +Key = 7691BE035E5020A8AC6E618529F9A0DC +IV = 00E0017B27777F3F4A1786F000000001 +Operation = ENCRYPT +Plaintext = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F20212223 +Ciphertext = C1CF48A89F2FFDD9CF4652E9EFDB72D74540A42BDE6D7836D59A5CEAAEF3105325B2072F + +Cipher = aes-192-ctr +Key = 16AF5B145FC9F579C175F93E3BFB0EED863D06CCFDB78515 +IV = 0000004836733C147D6D93CB00000001 +Operation = ENCRYPT +Plaintext = 53696E676C6520626C6F636B206D7367 +Ciphertext = 4B55384FE259C9C84E7935A003CBE928 + +Cipher = aes-192-ctr +Key = 7C5CB2401B3DC33C19E7340819E0F69C678C3DB8E6F6A91A +IV = 0096B03B020C6EADC2CB500D00000001 +Operation = ENCRYPT +Plaintext = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F +Ciphertext = 453243FC609B23327EDFAAFA7131CD9F8490701C5AD4A79CFC1FE0FF42F4FB00 + +Cipher = aes-192-ctr +Key = 02BF391EE8ECB159B959617B0965279BF59B60A786D3E0FE +IV = 0007BDFD5CBD60278DCC091200000001 +Operation = ENCRYPT +Plaintext = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F20212223 +Ciphertext = 96893FC55E5C722F540B7DD1DDF7E758D288BC95C69165884536C811662F2188ABEE0935 + +Cipher = aes-256-ctr +Key = 776BEFF2851DB06F4C8A0542C8696F6C6A81AF1EEC96B4D37FC1D689E6C1C104 +IV = 00000060DB5672C97AA8F0B200000001 +Operation = ENCRYPT +Plaintext = 53696E676C6520626C6F636B206D7367 +Ciphertext = 145AD01DBF824EC7560863DC71E3E0C0 + +Cipher = aes-256-ctr +Key = F6D66D6BD52D59BB0796365879EFF886C66DD51A5B6A99744B50590C87A23884 +IV = 00FAAC24C1585EF15A43D87500000001 +Operation = ENCRYPT +Plaintext = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F +Ciphertext = F05E231B3894612C49EE000B804EB2A9B8306B508F839D6A5530831D9344AF1C + +Cipher = aes-256-ctr +Key = FF7A617CE69148E4F1726E2F43581DE2AA62D9F805532EDFF1EED687FB54153D +IV = 001CC5B751A51D70A1C1114800000001 +Operation = ENCRYPT +Plaintext = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F20212223 +Ciphertext = EB6C52821D0BBBF7CE7594462ACA4FAAB407DF866569FD07F48CC0B583D6071F1EC0E6B8 + +# Self-generated vector to trigger false carry on big-endian platforms +Cipher = aes-128-ctr +Key = 7E24067817FAE0D743D6CE1F32539163 +IV = 00000000000000007FFFFFFFFFFFFFFF +Operation = ENCRYPT +Plaintext = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F +Ciphertext = A2D459477E6432BD74184B1B5370D2243CDC202BC43583B2A55D288CDBBD1E03 + +# DES ECB tests (from destest) + +Cipher = DES-ECB +Key = 0000000000000000 +Plaintext = 0000000000000000 +Ciphertext = 8CA64DE9C1B123A7 + +Cipher = DES-ECB +Key = FFFFFFFFFFFFFFFF +Plaintext = FFFFFFFFFFFFFFFF +Ciphertext = 7359B2163E4EDC58 + +Cipher = DES-ECB +Key = 3000000000000000 +Plaintext = 1000000000000001 +Ciphertext = 958E6E627A05557B + +Cipher = DES-ECB +Key = 1111111111111111 +Plaintext = 1111111111111111 +Ciphertext = F40379AB9E0EC533 + +Cipher = DES-ECB +Key = 0123456789ABCDEF +Plaintext = 1111111111111111 +Ciphertext = 17668DFC7292532D + +Cipher = DES-ECB +Key = 1111111111111111 +Plaintext = 0123456789ABCDEF +Ciphertext = 8A5AE1F81AB8F2DD + +Cipher = DES-ECB +Key = FEDCBA9876543210 +Plaintext = 0123456789ABCDEF +Ciphertext = ED39D950FA74BCC4 + +# DESX-CBC tests (from destest) +Cipher = DESX-CBC +Key = 0123456789abcdeff1e0d3c2b5a49786fedcba9876543210 +IV = fedcba9876543210 +Plaintext = 37363534333231204E6F77206973207468652074696D6520666F722000000000 +Ciphertext = 846B2914851E9A2954732F8AA0A611C115CDC2D7951B1053A63C5E03B21AA3C4 + +# DES EDE3 CBC tests (from destest) +Cipher = DES-EDE3-CBC +Key = 0123456789abcdeff1e0d3c2b5a49786fedcba9876543210 +IV = fedcba9876543210 +Plaintext = 37363534333231204E6F77206973207468652074696D6520666F722000000000 +Ciphertext = 3FE301C962AC01D02213763C1CBD4CDC799657C064ECF5D41C673812CFDE9675 + +# RC4 tests (from rc4test) +Cipher = RC4 +Key = 0123456789abcdef0123456789abcdef +Plaintext = 0123456789abcdef +Ciphertext = 75b7878099e0c596 + +Cipher = RC4 +Key = 0123456789abcdef0123456789abcdef +Plaintext = 0000000000000000 +Ciphertext = 7494c2e7104b0879 + +Cipher = RC4 +Key = 00000000000000000000000000000000 +Plaintext = 0000000000000000 +Ciphertext = de188941a3375d3a + +Cipher = RC4 +Key = ef012345ef012345ef012345ef012345 +Plaintext = 0000000000000000000000000000000000000000 +Ciphertext = d6a141a7ec3c38dfbd615a1162e1c7ba36b67858 + +Cipher = RC4 +Key = 0123456789abcdef0123456789abcdef +Plaintext = 123456789ABCDEF0123456789ABCDEF0123456789ABCDEF012345678 +Ciphertext = 66a0949f8af7d6891f7f832ba833c00c892ebe30143ce28740011ecf + +Cipher = RC4 +Key = ef012345ef012345ef012345ef012345 +Plaintext = 00000000000000000000 +Ciphertext = d6a141a7ec3c38dfbd61 + +# Camellia tests from RFC3713 +# For all ECB encrypts and decrypts, the transformed sequence is +# CAMELLIA-bits-ECB:key::plaintext:ciphertext:encdec +Cipher = CAMELLIA-128-ECB +Key = 0123456789abcdeffedcba9876543210 +Plaintext = 0123456789abcdeffedcba9876543210 +Ciphertext = 67673138549669730857065648eabe43 + +Cipher = CAMELLIA-192-ECB +Key = 0123456789abcdeffedcba98765432100011223344556677 +Plaintext = 0123456789abcdeffedcba9876543210 +Ciphertext = b4993401b3e996f84ee5cee7d79b09b9 + +Cipher = CAMELLIA-256-ECB +Key = 0123456789abcdeffedcba987654321000112233445566778899aabbccddeeff +Plaintext = 0123456789abcdeffedcba9876543210 +Ciphertext = 9acc237dff16d76c20ef7c919e3a7509 + +# ECB-CAMELLIA128.Encrypt +Cipher = CAMELLIA-128-ECB +Key = 000102030405060708090A0B0C0D0E0F +Operation = ENCRYPT +Plaintext = 00112233445566778899AABBCCDDEEFF +Ciphertext = 77CF412067AF8270613529149919546F + +Cipher = CAMELLIA-192-ECB +Key = 000102030405060708090A0B0C0D0E0F1011121314151617 +Operation = ENCRYPT +Plaintext = 00112233445566778899AABBCCDDEEFF +Ciphertext = B22F3C36B72D31329EEE8ADDC2906C68 + +Cipher = CAMELLIA-256-ECB +Key = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F +Operation = ENCRYPT +Plaintext = 00112233445566778899AABBCCDDEEFF +Ciphertext = 2EDF1F3418D53B88841FC8985FB1ECF2 + + +# ECB-CAMELLIA128.Encrypt and ECB-CAMELLIA128.Decrypt +Cipher = CAMELLIA-128-ECB +Key = 2B7E151628AED2A6ABF7158809CF4F3C +Plaintext = 6BC1BEE22E409F96E93D7E117393172A +Ciphertext = 432FC5DCD628115B7C388D770B270C96 + +Cipher = CAMELLIA-128-ECB +Key = 2B7E151628AED2A6ABF7158809CF4F3C +Plaintext = AE2D8A571E03AC9C9EB76FAC45AF8E51 +Ciphertext = 0BE1F14023782A22E8384C5ABB7FAB2B + +Cipher = CAMELLIA-128-ECB +Key = 2B7E151628AED2A6ABF7158809CF4F3C +Plaintext = 30C81C46A35CE411E5FBC1191A0A52EF +Ciphertext = A0A1ABCD1893AB6FE0FE5B65DF5F8636 + +Cipher = CAMELLIA-128-ECB +Key = 2B7E151628AED2A6ABF7158809CF4F3C +Plaintext = F69F2445DF4F9B17AD2B417BE66C3710 +Ciphertext = E61925E0D5DFAA9BB29F815B3076E51A + + +# ECB-CAMELLIA192.Encrypt and ECB-CAMELLIA192.Decrypt +Cipher = CAMELLIA-192-ECB +Key = 8E73B0F7DA0E6452C810F32B809079E562F8EAD2522C6B7B +Plaintext = 6BC1BEE22E409F96E93D7E117393172A +Ciphertext = CCCC6C4E138B45848514D48D0D3439D3 + +Cipher = CAMELLIA-192-ECB +Key = 8E73B0F7DA0E6452C810F32B809079E562F8EAD2522C6B7B +Plaintext = AE2D8A571E03AC9C9EB76FAC45AF8E51 +Ciphertext = 5713C62C14B2EC0F8393B6AFD6F5785A + +Cipher = CAMELLIA-192-ECB +Key = 8E73B0F7DA0E6452C810F32B809079E562F8EAD2522C6B7B +Plaintext = 30C81C46A35CE411E5FBC1191A0A52EF +Ciphertext = B40ED2B60EB54D09D030CF511FEEF366 + +Cipher = CAMELLIA-192-ECB +Key = 8E73B0F7DA0E6452C810F32B809079E562F8EAD2522C6B7B +Plaintext = F69F2445DF4F9B17AD2B417BE66C3710 +Ciphertext = 909DBD95799096748CB27357E73E1D26 + + +# ECB-CAMELLIA256.Encrypt and ECB-CAMELLIA256.Decrypt +Cipher = CAMELLIA-256-ECB +Key = 603DEB1015CA71BE2B73AEF0857D77811F352C073B6108D72D9810A30914DFF4 +Plaintext = 6BC1BEE22E409F96E93D7E117393172A +Ciphertext = BEFD219B112FA00098919CD101C9CCFA + +Cipher = CAMELLIA-256-ECB +Key = 603DEB1015CA71BE2B73AEF0857D77811F352C073B6108D72D9810A30914DFF4 +Plaintext = AE2D8A571E03AC9C9EB76FAC45AF8E51 +Ciphertext = C91D3A8F1AEA08A9386CF4B66C0169EA + +Cipher = CAMELLIA-256-ECB +Key = 603DEB1015CA71BE2B73AEF0857D77811F352C073B6108D72D9810A30914DFF4 +Plaintext = 30C81C46A35CE411E5FBC1191A0A52EF +Ciphertext = A623D711DC5F25A51BB8A80D56397D28 + +Cipher = CAMELLIA-256-ECB +Key = 603DEB1015CA71BE2B73AEF0857D77811F352C073B6108D72D9810A30914DFF4 +Plaintext = F69F2445DF4F9B17AD2B417BE66C3710 +Ciphertext = 7960109FB6DC42947FCFE59EA3C5EB6B + + +# For all CBC encrypts and decrypts, the transformed sequence is +# CAMELLIA-bits-CBC:key:IV/ciphertext':plaintext:ciphertext:encdec +# CBC-CAMELLIA128.Encrypt and CBC-CAMELLIA128.Decrypt +Cipher = CAMELLIA-128-CBC +Key = 2B7E151628AED2A6ABF7158809CF4F3C +IV = 000102030405060708090A0B0C0D0E0F +Plaintext = 6BC1BEE22E409F96E93D7E117393172A +Ciphertext = 1607CF494B36BBF00DAEB0B503C831AB + +Cipher = CAMELLIA-128-CBC +Key = 2B7E151628AED2A6ABF7158809CF4F3C +IV = 1607CF494B36BBF00DAEB0B503C831AB +Plaintext = AE2D8A571E03AC9C9EB76FAC45AF8E51 +Ciphertext = A2F2CF671629EF7840C5A5DFB5074887 + +Cipher = CAMELLIA-128-CBC +Key = 2B7E151628AED2A6ABF7158809CF4F3C +IV = A2F2CF671629EF7840C5A5DFB5074887 +Plaintext = 30C81C46A35CE411E5FBC1191A0A52EF +Ciphertext = 0F06165008CF8B8B5A63586362543E54 + +Cipher = CAMELLIA-128-CBC +Key = 2B7E151628AED2A6ABF7158809CF4F3C +IV = 36A84CDAFD5F9A85ADA0F0A993D6D577 +Plaintext = F69F2445DF4F9B17AD2B417BE66C3710 +Ciphertext = 74C64268CDB8B8FAF5B34E8AF3732980 + + +# CBC-CAMELLIA192.Encrypt and CBC-CAMELLIA192.Decrypt +Cipher = CAMELLIA-192-CBC +Key = 8E73B0F7DA0E6452C810F32B809079E562F8EAD2522C6B7B +IV = 000102030405060708090A0B0C0D0E0F +Plaintext = 6BC1BEE22E409F96E93D7E117393172A +Ciphertext = 2A4830AB5AC4A1A2405955FD2195CF93 + +Cipher = CAMELLIA-192-CBC +Key = 8E73B0F7DA0E6452C810F32B809079E562F8EAD2522C6B7B +IV = 2A4830AB5AC4A1A2405955FD2195CF93 +Plaintext = AE2D8A571E03AC9C9EB76FAC45AF8E51 +Ciphertext = 5D5A869BD14CE54264F892A6DD2EC3D5 + +Cipher = CAMELLIA-192-CBC +Key = 8E73B0F7DA0E6452C810F32B809079E562F8EAD2522C6B7B +IV = 5D5A869BD14CE54264F892A6DD2EC3D5 +Plaintext = 30C81C46A35CE411E5FBC1191A0A52EF +Ciphertext = 37D359C3349836D884E310ADDF68C449 + +Cipher = CAMELLIA-192-CBC +Key = 8E73B0F7DA0E6452C810F32B809079E562F8EAD2522C6B7B +IV = 37D359C3349836D884E310ADDF68C449 +Plaintext = F69F2445DF4F9B17AD2B417BE66C3710 +Ciphertext = 01FAAA930B4AB9916E9668E1428C6B08 + + +# CBC-CAMELLIA256.Encrypt and CBC-CAMELLIA256.Decrypt +Cipher = CAMELLIA-256-CBC +Key = 603DEB1015CA71BE2B73AEF0857D77811F352C073B6108D72D9810A30914DFF4 +IV = 000102030405060708090A0B0C0D0E0F +Plaintext = 6BC1BEE22E409F96E93D7E117393172A +Ciphertext = E6CFA35FC02B134A4D2C0B6737AC3EDA + +Cipher = CAMELLIA-256-CBC +Key = 603DEB1015CA71BE2B73AEF0857D77811F352C073B6108D72D9810A30914DFF4 +IV = E6CFA35FC02B134A4D2C0B6737AC3EDA +Plaintext = AE2D8A571E03AC9C9EB76FAC45AF8E51 +Ciphertext = 36CBEB73BD504B4070B1B7DE2B21EB50 + +Cipher = CAMELLIA-256-CBC +Key = 603DEB1015CA71BE2B73AEF0857D77811F352C073B6108D72D9810A30914DFF4 +IV = 36CBEB73BD504B4070B1B7DE2B21EB50 +Plaintext = 30C81C46A35CE411E5FBC1191A0A52EF +Ciphertext = E31A6055297D96CA3330CDF1B1860A83 + +Cipher = CAMELLIA-256-CBC +Key = 603DEB1015CA71BE2B73AEF0857D77811F352C073B6108D72D9810A30914DFF4 +IV = E31A6055297D96CA3330CDF1B1860A83 +Plaintext = F69F2445DF4F9B17AD2B417BE66C3710 +Ciphertext = 5D563F6D1CCCF236051C0C5C1C58F28F + + +# We don't support CFB{1,8}-CAMELLIAxxx.{En,De}crypt +# For all CFB128 encrypts and decrypts, the transformed sequence is +# CAMELLIA-bits-CFB:key:IV/ciphertext':plaintext:ciphertext:encdec +# CFB128-CAMELLIA128.Encrypt +Cipher = CAMELLIA-128-CFB +Key = 2B7E151628AED2A6ABF7158809CF4F3C +IV = 000102030405060708090A0B0C0D0E0F +Operation = ENCRYPT +Plaintext = 6BC1BEE22E409F96E93D7E117393172A +Ciphertext = 14F7646187817EB586599146B82BD719 + +Cipher = CAMELLIA-128-CFB +Key = 2B7E151628AED2A6ABF7158809CF4F3C +IV = 14F7646187817EB586599146B82BD719 +Operation = ENCRYPT +Plaintext = AE2D8A571E03AC9C9EB76FAC45AF8E51 +Ciphertext = A53D28BB82DF741103EA4F921A44880B + +Cipher = CAMELLIA-128-CFB +Key = 2B7E151628AED2A6ABF7158809CF4F3C +IV = A53D28BB82DF741103EA4F921A44880B +Operation = ENCRYPT +Plaintext = 30C81C46A35CE411E5FBC1191A0A52EF +Ciphertext = 9C2157A664626D1DEF9EA420FDE69B96 + +Cipher = CAMELLIA-128-CFB +Key = 2B7E151628AED2A6ABF7158809CF4F3C +IV = 9C2157A664626D1DEF9EA420FDE69B96 +Operation = ENCRYPT +Plaintext = F69F2445DF4F9B17AD2B417BE66C3710 +Ciphertext = 742A25F0542340C7BAEF24CA8482BB09 + + +# CFB128-CAMELLIA128.Decrypt +Cipher = CAMELLIA-128-CFB +Key = 2B7E151628AED2A6ABF7158809CF4F3C +IV = 000102030405060708090A0B0C0D0E0F +Operation = DECRYPT +Plaintext = 6BC1BEE22E409F96E93D7E117393172A +Ciphertext = 14F7646187817EB586599146B82BD719 + +Cipher = CAMELLIA-128-CFB +Key = 2B7E151628AED2A6ABF7158809CF4F3C +IV = 14F7646187817EB586599146B82BD719 +Operation = DECRYPT +Plaintext = AE2D8A571E03AC9C9EB76FAC45AF8E51 +Ciphertext = A53D28BB82DF741103EA4F921A44880B + +Cipher = CAMELLIA-128-CFB +Key = 2B7E151628AED2A6ABF7158809CF4F3C +IV = A53D28BB82DF741103EA4F921A44880B +Operation = DECRYPT +Plaintext = 30C81C46A35CE411E5FBC1191A0A52EF +Ciphertext = 9C2157A664626D1DEF9EA420FDE69B96 + +Cipher = CAMELLIA-128-CFB +Key = 2B7E151628AED2A6ABF7158809CF4F3C +IV = 9C2157A664626D1DEF9EA420FDE69B96 +Operation = DECRYPT +Plaintext = F69F2445DF4F9B17AD2B417BE66C3710 +Ciphertext = 742A25F0542340C7BAEF24CA8482BB09 + + +# CFB128-CAMELLIA192.Encrypt +Cipher = CAMELLIA-192-CFB +Key = 8E73B0F7DA0E6452C810F32B809079E562F8EAD2522C6B7B +IV = 000102030405060708090A0B0C0D0E0F +Operation = ENCRYPT +Plaintext = 6BC1BEE22E409F96E93D7E117393172A +Ciphertext = C832BB9780677DAA82D9B6860DCD565E + +Cipher = CAMELLIA-192-CFB +Key = 8E73B0F7DA0E6452C810F32B809079E562F8EAD2522C6B7B +IV = C832BB9780677DAA82D9B6860DCD565E +Operation = ENCRYPT +Plaintext = AE2D8A571E03AC9C9EB76FAC45AF8E51 +Ciphertext = 86F8491627906D780C7A6D46EA331F98 + +Cipher = CAMELLIA-192-CFB +Key = 8E73B0F7DA0E6452C810F32B809079E562F8EAD2522C6B7B +IV = 86F8491627906D780C7A6D46EA331F98 +Operation = ENCRYPT +Plaintext = 30C81C46A35CE411E5FBC1191A0A52EF +Ciphertext = 69511CCE594CF710CB98BB63D7221F01 + +Cipher = CAMELLIA-192-CFB +Key = 8E73B0F7DA0E6452C810F32B809079E562F8EAD2522C6B7B +IV = 69511CCE594CF710CB98BB63D7221F01 +Operation = ENCRYPT +Plaintext = F69F2445DF4F9B17AD2B417BE66C3710 +Ciphertext = D5B5378A3ABED55803F25565D8907B84 + + +# CFB128-CAMELLIA192.Decrypt +Cipher = CAMELLIA-192-CFB +Key = 8E73B0F7DA0E6452C810F32B809079E562F8EAD2522C6B7B +IV = 000102030405060708090A0B0C0D0E0F +Operation = DECRYPT +Plaintext = 6BC1BEE22E409F96E93D7E117393172A +Ciphertext = C832BB9780677DAA82D9B6860DCD565E + +Cipher = CAMELLIA-192-CFB +Key = 8E73B0F7DA0E6452C810F32B809079E562F8EAD2522C6B7B +IV = C832BB9780677DAA82D9B6860DCD565E +Operation = DECRYPT +Plaintext = AE2D8A571E03AC9C9EB76FAC45AF8E51 +Ciphertext = 86F8491627906D780C7A6D46EA331F98 + +Cipher = CAMELLIA-192-CFB +Key = 8E73B0F7DA0E6452C810F32B809079E562F8EAD2522C6B7B +IV = 86F8491627906D780C7A6D46EA331F98 +Operation = DECRYPT +Plaintext = 30C81C46A35CE411E5FBC1191A0A52EF +Ciphertext = 69511CCE594CF710CB98BB63D7221F01 + +Cipher = CAMELLIA-192-CFB +Key = 8E73B0F7DA0E6452C810F32B809079E562F8EAD2522C6B7B +IV = 69511CCE594CF710CB98BB63D7221F01 +Operation = DECRYPT +Plaintext = F69F2445DF4F9B17AD2B417BE66C3710 +Ciphertext = D5B5378A3ABED55803F25565D8907B84 + + +# CFB128-CAMELLIA256.Encrypt +Cipher = CAMELLIA-256-CFB +Key = 603DEB1015CA71BE2B73AEF0857D77811F352C073B6108D72D9810A30914DFF4 +IV = 000102030405060708090A0B0C0D0E0F +Operation = ENCRYPT +Plaintext = 6BC1BEE22E409F96E93D7E117393172A +Ciphertext = CF6107BB0CEA7D7FB1BD31F5E7B06C93 + +Cipher = CAMELLIA-256-CFB +Key = 603DEB1015CA71BE2B73AEF0857D77811F352C073B6108D72D9810A30914DFF4 +IV = CF6107BB0CEA7D7FB1BD31F5E7B06C93 +Operation = ENCRYPT +Plaintext = AE2D8A571E03AC9C9EB76FAC45AF8E51 +Ciphertext = 89BEDB4CCDD864EA11BA4CBE849B5E2B + +Cipher = CAMELLIA-256-CFB +Key = 603DEB1015CA71BE2B73AEF0857D77811F352C073B6108D72D9810A30914DFF4 +IV = 89BEDB4CCDD864EA11BA4CBE849B5E2B +Operation = ENCRYPT +Plaintext = 30C81C46A35CE411E5FBC1191A0A52EF +Ciphertext = 555FC3F34BDD2D54C62D9E3BF338C1C4 + +Cipher = CAMELLIA-256-CFB +Key = 603DEB1015CA71BE2B73AEF0857D77811F352C073B6108D72D9810A30914DFF4 +IV = 555FC3F34BDD2D54C62D9E3BF338C1C4 +Operation = ENCRYPT +Plaintext = F69F2445DF4F9B17AD2B417BE66C3710 +Ciphertext = 5953ADCE14DB8C7F39F1BD39F359BFFA + + +# CFB128-CAMELLIA256.Decrypt +Cipher = CAMELLIA-256-CFB +Key = 603DEB1015CA71BE2B73AEF0857D77811F352C073B6108D72D9810A30914DFF4 +IV = 000102030405060708090A0B0C0D0E0F +Operation = DECRYPT +Plaintext = 6BC1BEE22E409F96E93D7E117393172A +Ciphertext = CF6107BB0CEA7D7FB1BD31F5E7B06C93 + +Cipher = CAMELLIA-256-CFB +Key = 603DEB1015CA71BE2B73AEF0857D77811F352C073B6108D72D9810A30914DFF4 +IV = CF6107BB0CEA7D7FB1BD31F5E7B06C93 +Operation = DECRYPT +Plaintext = AE2D8A571E03AC9C9EB76FAC45AF8E51 +Ciphertext = 89BEDB4CCDD864EA11BA4CBE849B5E2B + +Cipher = CAMELLIA-256-CFB +Key = 603DEB1015CA71BE2B73AEF0857D77811F352C073B6108D72D9810A30914DFF4 +IV = 89BEDB4CCDD864EA11BA4CBE849B5E2B +Operation = DECRYPT +Plaintext = 30C81C46A35CE411E5FBC1191A0A52EF +Ciphertext = 555FC3F34BDD2D54C62D9E3BF338C1C4 + +Cipher = CAMELLIA-256-CFB +Key = 603DEB1015CA71BE2B73AEF0857D77811F352C073B6108D72D9810A30914DFF4 +IV = 555FC3F34BDD2D54C62D9E3BF338C1C4 +Operation = DECRYPT +Plaintext = F69F2445DF4F9B17AD2B417BE66C3710 +Ciphertext = 5953ADCE14DB8C7F39F1BD39F359BFFA + + +# For all OFB encrypts and decrypts, the transformed sequence is +# CAMELLIA-bits-OFB:key:IV/output':plaintext:ciphertext:encdec +# OFB-CAMELLIA128.Encrypt +Cipher = CAMELLIA-128-OFB +Key = 2B7E151628AED2A6ABF7158809CF4F3C +IV = 000102030405060708090A0B0C0D0E0F +Operation = ENCRYPT +Plaintext = 6BC1BEE22E409F96E93D7E117393172A +Ciphertext = 14F7646187817EB586599146B82BD719 + +Cipher = CAMELLIA-128-OFB +Key = 2B7E151628AED2A6ABF7158809CF4F3C +IV = 50FE67CC996D32B6DA0937E99BAFEC60 +Operation = ENCRYPT +Plaintext = AE2D8A571E03AC9C9EB76FAC45AF8E51 +Ciphertext = 25623DB569CA51E01482649977E28D84 + +Cipher = CAMELLIA-128-OFB +Key = 2B7E151628AED2A6ABF7158809CF4F3C +IV = D9A4DADA0892239F6B8B3D7680E15674 +Operation = ENCRYPT +Plaintext = 30C81C46A35CE411E5FBC1191A0A52EF +Ciphertext = C776634A60729DC657D12B9FCA801E98 + +Cipher = CAMELLIA-128-OFB +Key = 2B7E151628AED2A6ABF7158809CF4F3C +IV = A78819583F0308E7A6BF36B1386ABF23 +Operation = ENCRYPT +Plaintext = F69F2445DF4F9B17AD2B417BE66C3710 +Ciphertext = D776379BE0E50825E681DA1A4C980E8E + + +# OFB-CAMELLIA128.Decrypt +Cipher = CAMELLIA-128-OFB +Key = 2B7E151628AED2A6ABF7158809CF4F3C +IV = 000102030405060708090A0B0C0D0E0F +Operation = DECRYPT +Plaintext = 6BC1BEE22E409F96E93D7E117393172A +Ciphertext = 14F7646187817EB586599146B82BD719 + +Cipher = CAMELLIA-128-OFB +Key = 2B7E151628AED2A6ABF7158809CF4F3C +IV = 50FE67CC996D32B6DA0937E99BAFEC60 +Operation = DECRYPT +Plaintext = AE2D8A571E03AC9C9EB76FAC45AF8E51 +Ciphertext = 25623DB569CA51E01482649977E28D84 + +Cipher = CAMELLIA-128-OFB +Key = 2B7E151628AED2A6ABF7158809CF4F3C +IV = D9A4DADA0892239F6B8B3D7680E15674 +Operation = DECRYPT +Plaintext = 30C81C46A35CE411E5FBC1191A0A52EF +Ciphertext = C776634A60729DC657D12B9FCA801E98 + +Cipher = CAMELLIA-128-OFB +Key = 2B7E151628AED2A6ABF7158809CF4F3C +IV = A78819583F0308E7A6BF36B1386ABF23 +Operation = DECRYPT +Plaintext = F69F2445DF4F9B17AD2B417BE66C3710 +Ciphertext = D776379BE0E50825E681DA1A4C980E8E + + +# OFB-CAMELLIA192.Encrypt +Cipher = CAMELLIA-192-OFB +Key = 8E73B0F7DA0E6452C810F32B809079E562F8EAD2522C6B7B +IV = 000102030405060708090A0B0C0D0E0F +Operation = ENCRYPT +Plaintext = 6BC1BEE22E409F96E93D7E117393172A +Ciphertext = C832BB9780677DAA82D9B6860DCD565E + +Cipher = CAMELLIA-192-OFB +Key = 8E73B0F7DA0E6452C810F32B809079E562F8EAD2522C6B7B +IV = A609B38DF3B1133DDDFF2718BA09565E +Operation = ENCRYPT +Plaintext = AE2D8A571E03AC9C9EB76FAC45AF8E51 +Ciphertext = 8ECEB7D0350D72C7F78562AEBDF99339 + +Cipher = CAMELLIA-192-OFB +Key = 8E73B0F7DA0E6452C810F32B809079E562F8EAD2522C6B7B +IV = 52EF01DA52602FE0975F78AC84BF8A50 +Operation = ENCRYPT +Plaintext = 30C81C46A35CE411E5FBC1191A0A52EF +Ciphertext = BDD62DBBB9700846C53B507F544696F0 + +Cipher = CAMELLIA-192-OFB +Key = 8E73B0F7DA0E6452C810F32B809079E562F8EAD2522C6B7B +IV = BD5286AC63AABD7EB067AC54B553F71D +Operation = ENCRYPT +Plaintext = F69F2445DF4F9B17AD2B417BE66C3710 +Ciphertext = E28014E046B802F385C4C2E13EAD4A72 + + +# OFB-CAMELLIA192.Decrypt +Cipher = CAMELLIA-192-OFB +Key = 8E73B0F7DA0E6452C810F32B809079E562F8EAD2522C6B7B +IV = 000102030405060708090A0B0C0D0E0F +Operation = DECRYPT +Plaintext = 6BC1BEE22E409F96E93D7E117393172A +Ciphertext = C832BB9780677DAA82D9B6860DCD565E + +Cipher = CAMELLIA-192-OFB +Key = 8E73B0F7DA0E6452C810F32B809079E562F8EAD2522C6B7B +IV = A609B38DF3B1133DDDFF2718BA09565E +Operation = DECRYPT +Plaintext = AE2D8A571E03AC9C9EB76FAC45AF8E51 +Ciphertext = 8ECEB7D0350D72C7F78562AEBDF99339 + +Cipher = CAMELLIA-192-OFB +Key = 8E73B0F7DA0E6452C810F32B809079E562F8EAD2522C6B7B +IV = 52EF01DA52602FE0975F78AC84BF8A50 +Operation = DECRYPT +Plaintext = 30C81C46A35CE411E5FBC1191A0A52EF +Ciphertext = BDD62DBBB9700846C53B507F544696F0 + +Cipher = CAMELLIA-192-OFB +Key = 8E73B0F7DA0E6452C810F32B809079E562F8EAD2522C6B7B +IV = BD5286AC63AABD7EB067AC54B553F71D +Operation = DECRYPT +Plaintext = F69F2445DF4F9B17AD2B417BE66C3710 +Ciphertext = E28014E046B802F385C4C2E13EAD4A72 + + +# OFB-CAMELLIA256.Encrypt +Cipher = CAMELLIA-256-OFB +Key = 603DEB1015CA71BE2B73AEF0857D77811F352C073B6108D72D9810A30914DFF4 +IV = 000102030405060708090A0B0C0D0E0F +Operation = ENCRYPT +Plaintext = 6BC1BEE22E409F96E93D7E117393172A +Ciphertext = CF6107BB0CEA7D7FB1BD31F5E7B06C93 + +Cipher = CAMELLIA-256-OFB +Key = 603DEB1015CA71BE2B73AEF0857D77811F352C073B6108D72D9810A30914DFF4 +IV = B7BF3A5DF43989DD97F0FA97EBCE2F4A +Operation = ENCRYPT +Plaintext = AE2D8A571E03AC9C9EB76FAC45AF8E51 +Ciphertext = 127AD97E8E3994E4820027D7BA109368 + +Cipher = CAMELLIA-256-OFB +Key = 603DEB1015CA71BE2B73AEF0857D77811F352C073B6108D72D9810A30914DFF4 +IV = E1C656305ED1A7A6563805746FE03EDC +Operation = ENCRYPT +Plaintext = 30C81C46A35CE411E5FBC1191A0A52EF +Ciphertext = 6BFF6265A6A6B7A535BC65A80B17214E + +Cipher = CAMELLIA-256-OFB +Key = 603DEB1015CA71BE2B73AEF0857D77811F352C073B6108D72D9810A30914DFF4 +IV = 41635BE625B48AFC1666DD42A09D96E7 +Operation = ENCRYPT +Plaintext = F69F2445DF4F9B17AD2B417BE66C3710 +Ciphertext = 0A4A0404E26AA78A27CB271E8BF3CF20 + + +# OFB-CAMELLIA256.Decrypt +Cipher = CAMELLIA-256-OFB +Key = 603DEB1015CA71BE2B73AEF0857D77811F352C073B6108D72D9810A30914DFF4 +IV = 000102030405060708090A0B0C0D0E0F +Operation = DECRYPT +Plaintext = 6BC1BEE22E409F96E93D7E117393172A +Ciphertext = CF6107BB0CEA7D7FB1BD31F5E7B06C93 + +Cipher = CAMELLIA-256-OFB +Key = 603DEB1015CA71BE2B73AEF0857D77811F352C073B6108D72D9810A30914DFF4 +IV = B7BF3A5DF43989DD97F0FA97EBCE2F4A +Operation = DECRYPT +Plaintext = AE2D8A571E03AC9C9EB76FAC45AF8E51 +Ciphertext = 127AD97E8E3994E4820027D7BA109368 + +Cipher = CAMELLIA-256-OFB +Key = 603DEB1015CA71BE2B73AEF0857D77811F352C073B6108D72D9810A30914DFF4 +IV = E1C656305ED1A7A6563805746FE03EDC +Operation = DECRYPT +Plaintext = 30C81C46A35CE411E5FBC1191A0A52EF +Ciphertext = 6BFF6265A6A6B7A535BC65A80B17214E + +Cipher = CAMELLIA-256-OFB +Key = 603DEB1015CA71BE2B73AEF0857D77811F352C073B6108D72D9810A30914DFF4 +IV = 41635BE625B48AFC1666DD42A09D96E7 +Operation = DECRYPT +Plaintext = F69F2445DF4F9B17AD2B417BE66C3710 +Ciphertext = 0A4A0404E26AA78A27CB271E8BF3CF20 + + +# Camellia test vectors from RFC5528 +Cipher = CAMELLIA-128-CTR +Key = AE6852F8121067CC4BF7A5765577F39E +IV = 00000030000000000000000000000001 +Operation = ENCRYPT +Plaintext = 53696E676C6520626C6F636B206D7367 +Ciphertext = D09DC29A8214619A20877C76DB1F0B3F + +Cipher = CAMELLIA-128-CTR +Key = 7E24067817FAE0D743D6CE1F32539163 +IV = 006CB6DBC0543B59DA48D90B00000001 +Operation = ENCRYPT +Plaintext = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F +Ciphertext = DBF3C78DC08396D4DA7C907765BBCB442B8E8E0F31F0DCA72C7417E35360E048 + +Cipher = CAMELLIA-128-CTR +Key = 7691BE035E5020A8AC6E618529F9A0DC +IV = 00E0017B27777F3F4A1786F000000001 +Operation = ENCRYPT +Plaintext = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F20212223 +Ciphertext = B19D1FCDCB75EB882F849CE24D85CF739CE64B2B5C9D73F14F2D5D9DCE9889CDDF508696 + +Cipher = CAMELLIA-192-CTR +Key = 16AF5B145FC9F579C175F93E3BFB0EED863D06CCFDB78515 +IV = 0000004836733C147D6D93CB00000001 +Operation = ENCRYPT +Plaintext = 53696E676C6520626C6F636B206D7367 +Ciphertext = 2379399E8A8D2B2B16702FC78B9E9696 + +Cipher = CAMELLIA-192-CTR +Key = 7C5CB2401B3DC33C19E7340819E0F69C678C3DB8E6F6A91A +IV = 0096B03B020C6EADC2CB500D00000001 +Operation = ENCRYPT +Plaintext = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F +Ciphertext = 7DEF34F7A5D0E415674B7FFCAE67C75DD018B86FF23051E056392A99F35A4CED + +Cipher = CAMELLIA-192-CTR +Key = 02BF391EE8ECB159B959617B0965279BF59B60A786D3E0FE +IV = 0007BDFD5CBD60278DCC091200000001 +Operation = ENCRYPT +Plaintext = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F20212223 +Ciphertext = 5710E556E1487A20B5AC0E73F19E4E7876F37FDC91B1EF4D4DADE8E666A64D0ED557AB57 + +Cipher = CAMELLIA-256-CTR +Key = 776BEFF2851DB06F4C8A0542C8696F6C6A81AF1EEC96B4D37FC1D689E6C1C104 +IV = 00000060DB5672C97AA8F0B200000001 +Operation = ENCRYPT +Plaintext = 53696E676C6520626C6F636B206D7367 +Ciphertext = 3401F9C8247EFFCEBD6994714C1BBB11 + +Cipher = CAMELLIA-256-CTR +Key = F6D66D6BD52D59BB0796365879EFF886C66DD51A5B6A99744B50590C87A23884 +IV = 00FAAC24C1585EF15A43D87500000001 +Operation = ENCRYPT +Plaintext = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F +Ciphertext = D6C30392246F7808A83C2B22A8839E45E51CD48A1CDF406EBC9CC2D3AB834108 + +Cipher = CAMELLIA-256-CTR +Key = FF7A617CE69148E4F1726E2F43581DE2AA62D9F805532EDFF1EED687FB54153D +IV = 001CC5B751A51D70A1C1114800000001 +Operation = ENCRYPT +Plaintext = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F20212223 +Ciphertext = A4DA23FCE6A5FFAA6D64AE9A0652A42CD161A34B65F9679F75C01F101F71276F15EF0D8D + +# SEED test vectors from RFC4269 +Cipher = SEED-ECB +Key = 00000000000000000000000000000000 +Operation = DECRYPT +Plaintext = 000102030405060708090A0B0C0D0E0F +Ciphertext = 5EBAC6E0054E166819AFF1CC6D346CDB + +Cipher = SEED-ECB +Key = 000102030405060708090A0B0C0D0E0F +Operation = DECRYPT +Plaintext = 00000000000000000000000000000000 +Ciphertext = C11F22F20140505084483597E4370F43 + +Cipher = SEED-ECB +Key = 4706480851E61BE85D74BFB3FD956185 +Operation = DECRYPT +Plaintext = 83A2F8A288641FB9A4E9A5CC2F131C7D +Ciphertext = EE54D13EBCAE706D226BC3142CD40D4A + +Cipher = SEED-ECB +Key = 28DBC3BC49FFD87DCFA509B11D422BE7 +Operation = DECRYPT +Plaintext = B41E6BE2EBA84A148E2EED84593C5EC7 +Ciphertext = 9B9B7BFCD1813CB95D0B3618F40F5122 + +Cipher = SEED-ECB +Key = 00000000000000000000000000000000 +Operation = ENCRYPT +Plaintext = 000102030405060708090A0B0C0D0E0F +Ciphertext = 5EBAC6E0054E166819AFF1CC6D346CDB + +Cipher = SEED-ECB +Key = 000102030405060708090A0B0C0D0E0F +Operation = ENCRYPT +Plaintext = 00000000000000000000000000000000 +Ciphertext = C11F22F20140505084483597E4370F43 + +Cipher = SEED-ECB +Key = 4706480851E61BE85D74BFB3FD956185 +Operation = ENCRYPT +Plaintext = 83A2F8A288641FB9A4E9A5CC2F131C7D +Ciphertext = EE54D13EBCAE706D226BC3142CD40D4A + +Cipher = SEED-ECB +Key = 28DBC3BC49FFD87DCFA509B11D422BE7 +Operation = ENCRYPT +Plaintext = B41E6BE2EBA84A148E2EED84593C5EC7 +Ciphertext = 9B9B7BFCD1813CB95D0B3618F40F5122 + + +# AES CCM 256 bit key +Cipher = aes-256-ccm +Key = 1bde3251d41a8b5ea013c195ae128b218b3e0306376357077ef1c1c78548b92e +IV = 5b8e40746f6b98e00f1d13ff41 +AAD = c17a32514eb6103f3249e076d4c871dc97e04b286699e54491dc18f6d734d4c0 +Tag = 2024931d73bca480c24a24ece6b6c2bf +Plaintext = 53bd72a97089e312422bf72e242377b3c6ee3e2075389b999c4ef7f28bd2b80a +Ciphertext = 9a5fcccdb4cf04e7293d2775cc76a488f042382d949b43b7d6bb2b9864786726 + +Cipher = aes-256-ccm +Key = 1bde3251d41a8b5ea013c195ae128b218b3e0306376357077ef1c1c78548b92e +IV = 5b8e40746f6b98e00f1d13ff41 +AAD = c17a32514eb6103f3249e076d4c871dc97e04b286699e54491dc18f6d734d4c0 +Tag = 2024931d73bca480c24a24ece6b6c2be +Plaintext = 53bd72a97089e312422bf72e242377b3c6ee3e2075389b999c4ef7f28bd2b80a +Ciphertext = 9a5fcccdb4cf04e7293d2775cc76a488f042382d949b43b7d6bb2b9864786726 +Operation = DECRYPT +Result = CIPHERUPDATE_ERROR + +# AES GCM test vectors from http://csrc.nist.gov/groups/ST/toolkit/BCM/documents/proposedmodes/gcm/gcm-spec.pdf +Cipher = aes-128-gcm +Key = 00000000000000000000000000000000 +IV = 000000000000000000000000 +AAD = +Tag = 58e2fccefa7e3061367f1d57a4e7455a +Plaintext = +Ciphertext = + +Cipher = aes-128-gcm +Key = 00000000000000000000000000000000 +IV = 000000000000000000000000 +AAD = +Tag = ab6e47d42cec13bdf53a67b21257bddf +Plaintext = 00000000000000000000000000000000 +Ciphertext = 0388dace60b6a392f328c2b971b2fe78 + +Cipher = aes-128-gcm +Key = feffe9928665731c6d6a8f9467308308 +IV = cafebabefacedbaddecaf888 +AAD = +Tag = 4d5c2af327cd64a62cf35abd2ba6fab4 +Plaintext = d9313225f88406e5a55909c5aff5269a86a7a9531534f7da2e4c303d8a318a721c3c0c95956809532fcf0e2449a6b525b16aedf5aa0de657ba637b391aafd255 +Ciphertext = 42831ec2217774244b7221b784d0d49ce3aa212f2c02a4e035c17e2329aca12e21d514b25466931c7d8f6a5aac84aa051ba30b396a0aac973d58e091473f5985 + +Cipher = aes-128-gcm +Key = feffe9928665731c6d6a8f9467308308 +IV = cafebabefacedbaddecaf888 +AAD = feedfacedeadbeeffeedfacedeadbeefabaddad2 +Tag = 5bc94fbc3221a5db94fae95ae7121a47 +Plaintext = d9313225f88406e5a55909c5aff5269a86a7a9531534f7da2e4c303d8a318a721c3c0c95956809532fcf0e2449a6b525b16aedf5aa0de657ba637b39 +Ciphertext = 42831ec2217774244b7221b784d0d49ce3aa212f2c02a4e035c17e2329aca12e21d514b25466931c7d8f6a5aac84aa051ba30b396a0aac973d58e091 + +Cipher = aes-128-gcm +Key = feffe9928665731c6d6a8f9467308308 +IV = cafebabefacedbad +AAD = feedfacedeadbeeffeedfacedeadbeefabaddad2 +Tag = 3612d2e79e3b0785561be14aaca2fccb +Plaintext = d9313225f88406e5a55909c5aff5269a86a7a9531534f7da2e4c303d8a318a721c3c0c95956809532fcf0e2449a6b525b16aedf5aa0de657ba637b39 +Ciphertext = 61353b4c2806934a777ff51fa22a4755699b2a714fcdc6f83766e5f97b6c742373806900e49f24b22b097544d4896b424989b5e1ebac0f07c23f4598 + +Cipher = aes-128-gcm +Key = feffe9928665731c6d6a8f9467308308 +IV = 9313225df88406e555909c5aff5269aa6a7a9538534f7da1e4c303d2a318a728c3c0c95156809539fcf0e2429a6b525416aedbf5a0de6a57a637b39b +AAD = feedfacedeadbeeffeedfacedeadbeefabaddad2 +Tag = 619cc5aefffe0bfa462af43c1699d050 +Plaintext = d9313225f88406e5a55909c5aff5269a86a7a9531534f7da2e4c303d8a318a721c3c0c95956809532fcf0e2449a6b525b16aedf5aa0de657ba637b39 +Ciphertext = 8ce24998625615b603a033aca13fb894be9112a5c3a211a8ba262a3cca7e2ca701e4a9a4fba43c90ccdcb281d48c7c6fd62875d2aca417034c34aee5 + +Cipher = aes-128-gcm +Key = feffe9928665731c6d6a8f9467308308 +IV = 9313225df88406e555909c5aff5269aa6a7a9538534f7da1e4c303d2a318a728c3c0c95156809539fcf0e2429a6b525416aedbf5a0de6a57a637b39b +AAD = feedfacedeadbeeffeedfacedeadbeefabaddad2 +Tag = 619cc5aefffe0bfa462af43c1699d051 +Plaintext = d9313225f88406e5a55909c5aff5269a86a7a9531534f7da2e4c303d8a318a721c3c0c95956809532fcf0e2449a6b525b16aedf5aa0de657ba637b39 +Ciphertext = 8ce24998625615b603a033aca13fb894be9112a5c3a211a8ba262a3cca7e2ca701e4a9a4fba43c90ccdcb281d48c7c6fd62875d2aca417034c34aee5 +Operation = DECRYPT +Result = CIPHERFINAL_ERROR + +Cipher = aes-192-gcm +Key = 000000000000000000000000000000000000000000000000 +IV = 000000000000000000000000 +AAD = +Tag = cd33b28ac773f74ba00ed1f312572435 +Plaintext = +Ciphertext = + +Cipher = aes-192-gcm +Key = 000000000000000000000000000000000000000000000000 +IV = 000000000000000000000000 +AAD = +Tag = 2ff58d80033927ab8ef4d4587514f0fb +Plaintext = 00000000000000000000000000000000 +Ciphertext = 98e7247c07f0fe411c267e4384b0f600 + +Cipher = aes-192-gcm +Key = feffe9928665731c6d6a8f9467308308feffe9928665731c +IV = cafebabefacedbaddecaf888 +AAD = +Tag = 9924a7c8587336bfb118024db8674a14 +Plaintext = d9313225f88406e5a55909c5aff5269a86a7a9531534f7da2e4c303d8a318a721c3c0c95956809532fcf0e2449a6b525b16aedf5aa0de657ba637b391aafd255 +Ciphertext = 3980ca0b3c00e841eb06fac4872a2757859e1ceaa6efd984628593b40ca1e19c7d773d00c144c525ac619d18c84a3f4718e2448b2fe324d9ccda2710acade256 + +Cipher = aes-192-gcm +Key = feffe9928665731c6d6a8f9467308308feffe9928665731c +IV = cafebabefacedbaddecaf888 +AAD = feedfacedeadbeeffeedfacedeadbeefabaddad2 +Tag = 2519498e80f1478f37ba55bd6d27618c +Plaintext = d9313225f88406e5a55909c5aff5269a86a7a9531534f7da2e4c303d8a318a721c3c0c95956809532fcf0e2449a6b525b16aedf5aa0de657ba637b39 +Ciphertext = 3980ca0b3c00e841eb06fac4872a2757859e1ceaa6efd984628593b40ca1e19c7d773d00c144c525ac619d18c84a3f4718e2448b2fe324d9ccda2710 + +Cipher = aes-192-gcm +Key = feffe9928665731c6d6a8f9467308308feffe9928665731c +IV = cafebabefacedbad +AAD = feedfacedeadbeeffeedfacedeadbeefabaddad2 +Tag = 65dcc57fcf623a24094fcca40d3533f8 +Plaintext = d9313225f88406e5a55909c5aff5269a86a7a9531534f7da2e4c303d8a318a721c3c0c95956809532fcf0e2449a6b525b16aedf5aa0de657ba637b39 +Ciphertext = 0f10f599ae14a154ed24b36e25324db8c566632ef2bbb34f8347280fc4507057fddc29df9a471f75c66541d4d4dad1c9e93a19a58e8b473fa0f062f7 + +Cipher = aes-192-gcm +Key = feffe9928665731c6d6a8f9467308308feffe9928665731c +IV = 9313225df88406e555909c5aff5269aa6a7a9538534f7da1e4c303d2a318a728c3c0c95156809539fcf0e2429a6b525416aedbf5a0de6a57a637b39b +AAD = feedfacedeadbeeffeedfacedeadbeefabaddad2 +Tag = dcf566ff291c25bbb8568fc3d376a6d9 +Plaintext = d9313225f88406e5a55909c5aff5269a86a7a9531534f7da2e4c303d8a318a721c3c0c95956809532fcf0e2449a6b525b16aedf5aa0de657ba637b39 +Ciphertext = d27e88681ce3243c4830165a8fdcf9ff1de9a1d8e6b447ef6ef7b79828666e4581e79012af34ddd9e2f037589b292db3e67c036745fa22e7e9b7373b + +Cipher = aes-192-gcm +Key = feffe9928665731c6d6a8f9467308308feffe9928665731c +IV = 9313225df88406e555909c5aff5269aa6a7a9538534f7da1e4c303d2a318a728c3c0c95156809539fcf0e2429a6b525416aedbf5a0de6a57a637b39b +AAD = feedfacedeadbeeffeedfacedeadbeefabaddad2 +Tag = dcf566ff291c25bbb8568fc3d376a6d8 +Plaintext = d9313225f88406e5a55909c5aff5269a86a7a9531534f7da2e4c303d8a318a721c3c0c95956809532fcf0e2449a6b525b16aedf5aa0de657ba637b39 +Ciphertext = d27e88681ce3243c4830165a8fdcf9ff1de9a1d8e6b447ef6ef7b79828666e4581e79012af34ddd9e2f037589b292db3e67c036745fa22e7e9b7373b +Operation = DECRYPT +Result = CIPHERFINAL_ERROR + +Cipher = aes-256-gcm +Key = 0000000000000000000000000000000000000000000000000000000000000000 +IV = 000000000000000000000000 +AAD = +Tag = 530f8afbc74536b9a963b4f1c4cb738b +Plaintext = +Ciphertext = + +Cipher = aes-256-gcm +Key = 0000000000000000000000000000000000000000000000000000000000000000 +IV = 000000000000000000000000 +AAD = +Tag = d0d1c8a799996bf0265b98b5d48ab919 +Plaintext = 00000000000000000000000000000000 +Ciphertext = cea7403d4d606b6e074ec5d3baf39d18 + +Cipher = aes-256-gcm +Key = feffe9928665731c6d6a8f9467308308feffe9928665731c6d6a8f9467308308 +IV = cafebabefacedbaddecaf888 +AAD = +Tag = b094dac5d93471bdec1a502270e3cc6c +Plaintext = d9313225f88406e5a55909c5aff5269a86a7a9531534f7da2e4c303d8a318a721c3c0c95956809532fcf0e2449a6b525b16aedf5aa0de657ba637b391aafd255 +Ciphertext = 522dc1f099567d07f47f37a32a84427d643a8cdcbfe5c0c97598a2bd2555d1aa8cb08e48590dbb3da7b08b1056828838c5f61e6393ba7a0abcc9f662898015ad + +Cipher = aes-256-gcm +Key = feffe9928665731c6d6a8f9467308308feffe9928665731c6d6a8f9467308308 +IV = cafebabefacedbaddecaf888 +AAD = feedfacedeadbeeffeedfacedeadbeefabaddad2 +Tag = 76fc6ece0f4e1768cddf8853bb2d551b +Plaintext = d9313225f88406e5a55909c5aff5269a86a7a9531534f7da2e4c303d8a318a721c3c0c95956809532fcf0e2449a6b525b16aedf5aa0de657ba637b39 +Ciphertext = 522dc1f099567d07f47f37a32a84427d643a8cdcbfe5c0c97598a2bd2555d1aa8cb08e48590dbb3da7b08b1056828838c5f61e6393ba7a0abcc9f662 + +Cipher = aes-256-gcm +Key = feffe9928665731c6d6a8f9467308308feffe9928665731c6d6a8f9467308308 +IV = cafebabefacedbad +AAD = feedfacedeadbeeffeedfacedeadbeefabaddad2 +Tag = 3a337dbf46a792c45e454913fe2ea8f2 +Plaintext = d9313225f88406e5a55909c5aff5269a86a7a9531534f7da2e4c303d8a318a721c3c0c95956809532fcf0e2449a6b525b16aedf5aa0de657ba637b39 +Ciphertext = c3762df1ca787d32ae47c13bf19844cbaf1ae14d0b976afac52ff7d79bba9de0feb582d33934a4f0954cc2363bc73f7862ac430e64abe499f47c9b1f + +Cipher = aes-256-gcm +Key = feffe9928665731c6d6a8f9467308308feffe9928665731c6d6a8f9467308308 +IV = 9313225df88406e555909c5aff5269aa6a7a9538534f7da1e4c303d2a318a728c3c0c95156809539fcf0e2429a6b525416aedbf5a0de6a57a637b39b +AAD = feedfacedeadbeeffeedfacedeadbeefabaddad2 +Tag = a44a8266ee1c8eb0c8b5d4cf5ae9f19a +Plaintext = d9313225f88406e5a55909c5aff5269a86a7a9531534f7da2e4c303d8a318a721c3c0c95956809532fcf0e2449a6b525b16aedf5aa0de657ba637b39 +Ciphertext = 5a8def2f0c9e53f1f75d7853659e2a20eeb2b22aafde6419a058ab4f6f746bf40fc0c3b780f244452da3ebf1c5d82cdea2418997200ef82e44ae7e3f + +Cipher = aes-256-gcm +Key = feffe9928665731c6d6a8f9467308308feffe9928665731c6d6a8f9467308308 +IV = 9313225df88406e555909c5aff5269aa6a7a9538534f7da1e4c303d2a318a728c3c0c95156809539fcf0e2429a6b525416aedbf5a0de6a57a637b39b +AAD = feedfacedeadbeeffeedfacedeadbeefabaddad2 +Tag = a44a8266ee1c8eb0c8b5d4cf5ae9f19b +Plaintext = d9313225f88406e5a55909c5aff5269a86a7a9531534f7da2e4c303d8a318a721c3c0c95956809532fcf0e2449a6b525b16aedf5aa0de657ba637b39 +Ciphertext = 5a8def2f0c9e53f1f75d7853659e2a20eeb2b22aafde6419a058ab4f6f746bf40fc0c3b780f244452da3ebf1c5d82cdea2418997200ef82e44ae7e3f +Operation = DECRYPT +Result = CIPHERFINAL_ERROR + +# local add-ons, primarily streaming ghash tests +# 128 bytes aad +Cipher = aes-128-gcm +Key = 00000000000000000000000000000000 +IV = 000000000000000000000000 +AAD = d9313225f88406e5a55909c5aff5269a86a7a9531534f7da2e4c303d8a318a721c3c0c95956809532fcf0e2449a6b525b16aedf5aa0de657ba637b391aafd255522dc1f099567d07f47f37a32a84427d643a8cdcbfe5c0c97598a2bd2555d1aa8cb08e48590dbb3da7b08b1056828838c5f61e6393ba7a0abcc9f662898015ad +Tag = 5fea793a2d6f974d37e68e0cb8ff9492 +Plaintext = +Ciphertext = + +# 48 bytes plaintext +Cipher = aes-128-gcm +Key = 00000000000000000000000000000000 +IV = 000000000000000000000000 +AAD = +Tag = 9dd0a376b08e40eb00c35f29f9ea61a4 +Plaintext = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Ciphertext = 0388dace60b6a392f328c2b971b2fe78f795aaab494b5923f7fd89ff948bc1e0200211214e7394da2089b6acd093abe0 + +# 80 bytes plaintext +Cipher = aes-128-gcm +Key = 00000000000000000000000000000000 +IV = 000000000000000000000000 +AAD = +Tag = 98885a3a22bd4742fe7b72172193b163 +Plaintext = 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Ciphertext = 0388dace60b6a392f328c2b971b2fe78f795aaab494b5923f7fd89ff948bc1e0200211214e7394da2089b6acd093abe0c94da219118e297d7b7ebcbcc9c388f28ade7d85a8ee35616f7124a9d5270291 + +# 128 bytes plaintext +Cipher = aes-128-gcm +Key = 00000000000000000000000000000000 +IV = 000000000000000000000000 +AAD = +Tag = cac45f60e31efd3b5a43b98a22ce1aa1 +Plaintext = 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Ciphertext = 0388dace60b6a392f328c2b971b2fe78f795aaab494b5923f7fd89ff948bc1e0200211214e7394da2089b6acd093abe0c94da219118e297d7b7ebcbcc9c388f28ade7d85a8ee35616f7124a9d527029195b84d1b96c690ff2f2de30bf2ec89e00253786e126504f0dab90c48a30321de3345e6b0461e7c9e6c6b7afedde83f40 + +# 192 bytes plaintext, iv is chosen so that initial counter LSB is 0xFF +Cipher = aes-128-gcm +Key = 00000000000000000000000000000000 +IV = ffffffff000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +AAD = +Tag = 566f8ef683078bfdeeffa869d751a017 +Plaintext = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Ciphertext = 56b3373ca9ef6e4a2b64fe1e9a17b61425f10d47a75a5fce13efc6bc784af24f4141bdd48cf7c770887afd573cca5418a9aeffcd7c5ceddfc6a78397b9a85b499da558257267caab2ad0b23ca476a53cb17fb41c4b8b475cb4f3f7165094c229c9e8c4dc0a2a5ff1903e501511221376a1cdb8364c5061a20cae74bc4acd76ceb0abc9fd3217ef9f8c90be402ddf6d8697f4f880dff15bfb7a6b28241ec8fe183c2d59e3f9dfff653c7126f0acb9e64211f42bae12af462b1070bef1ab5e3606 + +# 240 bytes plaintext, iv is chosen so that initial counter LSB is 0xFF +Cipher = aes-128-gcm +Key = 00000000000000000000000000000000 +IV = ffffffff000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +AAD = +Tag = fd0c7011ff07f0071324bdfb2d0f3a29 +Plaintext = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Ciphertext = 56b3373ca9ef6e4a2b64fe1e9a17b61425f10d47a75a5fce13efc6bc784af24f4141bdd48cf7c770887afd573cca5418a9aeffcd7c5ceddfc6a78397b9a85b499da558257267caab2ad0b23ca476a53cb17fb41c4b8b475cb4f3f7165094c229c9e8c4dc0a2a5ff1903e501511221376a1cdb8364c5061a20cae74bc4acd76ceb0abc9fd3217ef9f8c90be402ddf6d8697f4f880dff15bfb7a6b28241ec8fe183c2d59e3f9dfff653c7126f0acb9e64211f42bae12af462b1070bef1ab5e3606872ca10dee15b3249b1a1b958f23134c4bccb7d03200bce420a2f8eb66dcf3644d1423c1b5699003c13ecef4bf38a3b6 + +# 288 bytes plaintext, iv is chosen so that initial counter LSB is 0xFF +Cipher = aes-128-gcm +Key = 00000000000000000000000000000000 +IV = ffffffff000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +AAD = +Tag = 8b307f6b33286d0ab026a9ed3fe1e85f +Plaintext = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Ciphertext = 56b3373ca9ef6e4a2b64fe1e9a17b61425f10d47a75a5fce13efc6bc784af24f4141bdd48cf7c770887afd573cca5418a9aeffcd7c5ceddfc6a78397b9a85b499da558257267caab2ad0b23ca476a53cb17fb41c4b8b475cb4f3f7165094c229c9e8c4dc0a2a5ff1903e501511221376a1cdb8364c5061a20cae74bc4acd76ceb0abc9fd3217ef9f8c90be402ddf6d8697f4f880dff15bfb7a6b28241ec8fe183c2d59e3f9dfff653c7126f0acb9e64211f42bae12af462b1070bef1ab5e3606872ca10dee15b3249b1a1b958f23134c4bccb7d03200bce420a2f8eb66dcf3644d1423c1b5699003c13ecef4bf38a3b60eedc34033bac1902783dc6d89e2e774188a439c7ebcc0672dbda4ddcfb2794613b0be41315ef778708a70ee7d75165c + +# 80 bytes plaintext, submitted by Intel +Cipher = aes-128-gcm +Key = 843ffcf5d2b72694d19ed01d01249412 +IV = dbcca32ebf9b804617c3aa9e +AAD = 00000000000000000000000000000000101112131415161718191a1b1c1d1e1f +Tag = 3b629ccfbc1119b7319e1dce2cd6fd6d +Plaintext = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f +Ciphertext = 6268c6fa2a80b2d137467f092f657ac04d89be2beaa623d61b5a868c8f03ff95d3dcee23ad2f1ab3a6c80eaf4b140eb05de3457f0fbc111a6b43d0763aa422a3013cf1dc37fe417d1fbfc449b75d4cc5 + +#AES OCB Test vectors +Cipher = aes-128-ocb +Key = 000102030405060708090A0B0C0D0E0F +IV = 000102030405060708090A0B +AAD = +Tag = 197B9C3C441D3C83EAFB2BEF633B9182 +Plaintext = +Ciphertext = + +Cipher = aes-128-ocb +Key = 000102030405060708090A0B0C0D0E0F +IV = 000102030405060708090A0B +AAD = 0001020304050607 +Tag = 16DC76A46D47E1EAD537209E8A96D14E +Plaintext = 0001020304050607 +Ciphertext = 92B657130A74B85A + +Cipher = aes-128-ocb +Key = 000102030405060708090A0B0C0D0E0F +IV = 000102030405060708090A0B +AAD = 0001020304050607 +Tag = 98B91552C8C009185044E30A6EB2FE21 +Plaintext = +Ciphertext = + +Cipher = aes-128-ocb +Key = 000102030405060708090A0B0C0D0E0F +IV = 000102030405060708090A0B +AAD = +Tag = 971EFFCAE19AD4716F88E87B871FBEED +Plaintext = 0001020304050607 +Ciphertext = 92B657130A74B85A + +Cipher = aes-128-ocb +Key = 000102030405060708090A0B0C0D0E0F +IV = 000102030405060708090A0B +AAD = 000102030405060708090A0B0C0D0E0F +Tag = 776C9924D6723A1FC4524532AC3E5BEB +Plaintext = 000102030405060708090A0B0C0D0E0F +Ciphertext = BEA5E8798DBE7110031C144DA0B26122 + +Cipher = aes-128-ocb +Key = 000102030405060708090A0B0C0D0E0F +IV = 000102030405060708090A0B +AAD = 000102030405060708090A0B0C0D0E0F +Tag = 7DDB8E6CEA6814866212509619B19CC6 +Plaintext = +Ciphertext = + +Cipher = aes-128-ocb +Key = 000102030405060708090A0B0C0D0E0F +IV = 000102030405060708090A0B +AAD = +Tag = 13CC8B747807121A4CBB3E4BD6B456AF +Plaintext = 000102030405060708090A0B0C0D0E0F +Ciphertext = BEA5E8798DBE7110031C144DA0B26122 + +Cipher = aes-128-ocb +Key = 000102030405060708090A0B0C0D0E0F +IV = 000102030405060708090A0B +AAD = 000102030405060708090A0B0C0D0E0F1011121314151617 +Tag = 5FA94FC3F38820F1DC3F3D1FD4E55E1C +Plaintext = 000102030405060708090A0B0C0D0E0F1011121314151617 +Ciphertext = BEA5E8798DBE7110031C144DA0B26122FCFCEE7A2A8D4D48 + +Cipher = aes-128-ocb +Key = 000102030405060708090A0B0C0D0E0F +IV = 000102030405060708090A0B +AAD = 000102030405060708090A0B0C0D0E0F1011121314151617 +Tag = 282026DA3068BC9FA118681D559F10F6 +Plaintext = +Ciphertext = + +Cipher = aes-128-ocb +Key = 000102030405060708090A0B0C0D0E0F +IV = 000102030405060708090A0B +AAD = +Tag = 6EF2F52587FDA0ED97DC7EEDE241DF68 +Plaintext = 000102030405060708090A0B0C0D0E0F1011121314151617 +Ciphertext = BEA5E8798DBE7110031C144DA0B26122FCFCEE7A2A8D4D48 + +Cipher = aes-128-ocb +Key = 000102030405060708090A0B0C0D0E0F +IV = 000102030405060708090A0B +AAD = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F +Tag = B2A040DD3BD5164372D76D7BB6824240 +Plaintext = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F +Ciphertext = BEA5E8798DBE7110031C144DA0B26122CEAAB9B05DF771A657149D53773463CB + +Cipher = aes-128-ocb +Key = 000102030405060708090A0B0C0D0E0F +IV = 000102030405060708090A0B +AAD = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F +Tag = E1E072633BADE51A60E85951D9C42A1B +Plaintext = +Ciphertext = + +Cipher = aes-128-ocb +Key = 000102030405060708090A0B0C0D0E0F +IV = 000102030405060708090A0B +AAD = +Tag = 4A3BAE824465CFDAF8C41FC50C7DF9D9 +Plaintext = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F +Ciphertext = BEA5E8798DBE7110031C144DA0B26122CEAAB9B05DF771A657149D53773463CB + +Cipher = aes-128-ocb +Key = 000102030405060708090A0B0C0D0E0F +IV = 000102030405060708090A0B +AAD = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F2021222324252627 +Tag = 659C623211DEEA0DE30D2C381879F4C8 +Plaintext = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F2021222324252627 +Ciphertext = BEA5E8798DBE7110031C144DA0B26122CEAAB9B05DF771A657149D53773463CB68C65778B058A635 + +Cipher = aes-128-ocb +Key = 000102030405060708090A0B0C0D0E0F +IV = 000102030405060708090A0B +AAD = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F2021222324252627 +Tag = 7AEB7A69A1687DD082CA27B0D9A37096 +Plaintext = +Ciphertext = + +Cipher = aes-128-ocb +Key = 000102030405060708090A0B0C0D0E0F +IV = 000102030405060708090A0B +AAD = +Tag = 060C8467F4ABAB5E8B3C2067A2E115DC +Plaintext = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F2021222324252627 +Ciphertext = BEA5E8798DBE7110031C144DA0B26122CEAAB9B05DF771A657149D53773463CB68C65778B058A635 + +#AES OCB Non standard test vectors - generated from reference implementation +Cipher = aes-128-ocb +Key = 000102030405060708090A0B0C0D0E0F +IV = 000102030405060708090A0B +AAD = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F2021222324252627 +Tag = 1b6c44f34e3abb3cbf8976e7 +Plaintext = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F2021222324252627 +Ciphertext = 09a4fd29de949d9a9aa9924248422097ad4883b4713e6c214ff6567ada08a96766fc4e2ee3e3a5a1 + +Cipher = aes-128-ocb +Key = 000102030405060708090A0B0C0D0E0F +IV = 000102030405060708090A0B0C0D0E +AAD = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F2021222324252627 +Tag = 1ad62009901f40cba7cd7156f94a7324 +Plaintext = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F2021222324252627 +Ciphertext = 5e2fa7367ffbdb3938845cfd415fcc71ec79634eb31451609d27505f5e2978f43c44213d8fa441ee + +Cipher = aes-128-ocb +Key = 000102030405060708090A0B0C0D0E0F +IV = 000102030405060708090A0B +AAD = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F2021222324252627 +Tag = C203F98CE28F7DAD3F31C021 +Plaintext = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F3031 +Ciphertext = 09A4FD29DE949D9A9AA9924248422097AD4883B4713E6C214FF6567ADA08A967B2176C12F110DD441B7CAA3A509B13C822D6 + +Cipher = aes-128-ocb +Key = 000102030405060708090A0B0C0D0E0F +IV = 000102030405060708090A0B +AAD = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F2021222324252627 +Tag = 8346D7D47C5D893ED472F5AB +Plaintext = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F4041 +Ciphertext = 09A4FD29DE949D9A9AA9924248422097AD4883B4713E6C214FF6567ADA08A967B2176C12F110DD441B7CAA3A509B13C86A023AFCEE998BEE42028D44507B15F714FF + +Cipher = aes-128-ocb +Key = 000102030405060708090A0B0C0D0E0F +IV = 000102030405060708090A0B +AAD = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F2021222324252627 +Tag = 5822A9A70FDF55D29D2984A6 +Plaintext = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F5051 +Ciphertext = 09A4FD29DE949D9A9AA9924248422097AD4883B4713E6C214FF6567ADA08A967B2176C12F110DD441B7CAA3A509B13C86A023AFCEE998BEE42028D44507B15F77C528A1DE6406B519BCEE8FCB8294170634D + +Cipher = aes-128-ocb +Key = 000102030405060708090A0B0C0D0E0F +IV = 000102030405060708090A0B +AAD = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F2021222324252627 +Tag = 81772B6741ABB4ECA9D2DEB2 +Plaintext = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F6061 +Ciphertext = 09A4FD29DE949D9A9AA9924248422097AD4883B4713E6C214FF6567ADA08A967B2176C12F110DD441B7CAA3A509B13C86A023AFCEE998BEE42028D44507B15F77C528A1DE6406B519BCEE8FCB829417001E54E15A7576C4DF32366E0F439C7050FAA + +Cipher = aes-128-ocb +Key = 000102030405060708090A0B0C0D0E0F +IV = 000102030405060708090A0B +AAD = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F2021222324252627 +Tag = 3E52A01D068DE85456DB03B7 +Plaintext = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F7071 +Ciphertext = 09A4FD29DE949D9A9AA9924248422097AD4883B4713E6C214FF6567ADA08A967B2176C12F110DD441B7CAA3A509B13C86A023AFCEE998BEE42028D44507B15F77C528A1DE6406B519BCEE8FCB829417001E54E15A7576C4DF32366E0F439C7051CB4824B8114E9A720CBC1CE0185B156B486 + +Cipher = aes-128-ocb +Key = 000102030405060708090A0B0C0D0E0F +IV = 000102030405060708090A0B +AAD = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F2021222324252627 +Tag = 3E52A01D068DE85456DB03B6 +Plaintext = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F7071 +Ciphertext = 09A4FD29DE949D9A9AA9924248422097AD4883B4713E6C214FF6567ADA08A967B2176C12F110DD441B7CAA3A509B13C86A023AFCEE998BEE42028D44507B15F77C528A1DE6406B519BCEE8FCB829417001E54E15A7576C4DF32366E0F439C7051CB4824B8114E9A720CBC1CE0185B156B486 +Operation = DECRYPT +Result = CIPHERFINAL_ERROR + +# AES XTS test vectors from IEEE Std 1619-2007 +Cipher = aes-128-xts +Key = 0000000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +Plaintext = 0000000000000000000000000000000000000000000000000000000000000000 +Ciphertext = 917cf69ebd68b2ec9b9fe9a3eadda692cd43d2f59598ed858c02c2652fbf922e + +Cipher = aes-128-xts +Key = 1111111111111111111111111111111122222222222222222222222222222222 +IV = 33333333330000000000000000000000 +Plaintext = 4444444444444444444444444444444444444444444444444444444444444444 +Ciphertext = c454185e6a16936e39334038acef838bfb186fff7480adc4289382ecd6d394f0 + +Cipher = aes-128-xts +Key = fffefdfcfbfaf9f8f7f6f5f4f3f2f1f022222222222222222222222222222222 +IV = 33333333330000000000000000000000 +Plaintext = 4444444444444444444444444444444444444444444444444444444444444444 +Ciphertext = af85336b597afc1a900b2eb21ec949d292df4c047e0b21532186a5971a227a89 + +Cipher = aes-128-xts +Key = 2718281828459045235360287471352631415926535897932384626433832795 +IV = 00000000000000000000000000000000 +Plaintext = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff +Ciphertext = 27a7479befa1d476489f308cd4cfa6e2a96e4bbe3208ff25287dd3819616e89cc78cf7f5e543445f8333d8fa7f56000005279fa5d8b5e4ad40e736ddb4d35412328063fd2aab53e5ea1e0a9f332500a5df9487d07a5c92cc512c8866c7e860ce93fdf166a24912b422976146ae20ce846bb7dc9ba94a767aaef20c0d61ad02655ea92dc4c4e41a8952c651d33174be51a10c421110e6d81588ede82103a252d8a750e8768defffed9122810aaeb99f9172af82b604dc4b8e51bcb08235a6f4341332e4ca60482a4ba1a03b3e65008fc5da76b70bf1690db4eae29c5f1badd03c5ccf2a55d705ddcd86d449511ceb7ec30bf12b1fa35b913f9f747a8afd1b130e94bff94effd01a91735ca1726acd0b197c4e5b03393697e126826fb6bbde8ecc1e08298516e2c9ed03ff3c1b7860f6de76d4cecd94c8119855ef5297ca67e9f3e7ff72b1e99785ca0a7e7720c5b36dc6d72cac9574c8cbbc2f801e23e56fd344b07f22154beba0f08ce8891e643ed995c94d9a69c9f1b5f499027a78572aeebd74d20cc39881c213ee770b1010e4bea718846977ae119f7a023ab58cca0ad752afe656bb3c17256a9f6e9bf19fdd5a38fc82bbe872c5539edb609ef4f79c203ebb140f2e583cb2ad15b4aa5b655016a8449277dbd477ef2c8d6c017db738b18deb4a427d1923ce3ff262735779a418f20a282df920147beabe421ee5319d0568 + +Cipher = aes-128-xts +Key = 2718281828459045235360287471352631415926535897932384626433832795 +IV = 01000000000000000000000000000000 +Plaintext = 27a7479befa1d476489f308cd4cfa6e2a96e4bbe3208ff25287dd3819616e89cc78cf7f5e543445f8333d8fa7f56000005279fa5d8b5e4ad40e736ddb4d35412328063fd2aab53e5ea1e0a9f332500a5df9487d07a5c92cc512c8866c7e860ce93fdf166a24912b422976146ae20ce846bb7dc9ba94a767aaef20c0d61ad02655ea92dc4c4e41a8952c651d33174be51a10c421110e6d81588ede82103a252d8a750e8768defffed9122810aaeb99f9172af82b604dc4b8e51bcb08235a6f4341332e4ca60482a4ba1a03b3e65008fc5da76b70bf1690db4eae29c5f1badd03c5ccf2a55d705ddcd86d449511ceb7ec30bf12b1fa35b913f9f747a8afd1b130e94bff94effd01a91735ca1726acd0b197c4e5b03393697e126826fb6bbde8ecc1e08298516e2c9ed03ff3c1b7860f6de76d4cecd94c8119855ef5297ca67e9f3e7ff72b1e99785ca0a7e7720c5b36dc6d72cac9574c8cbbc2f801e23e56fd344b07f22154beba0f08ce8891e643ed995c94d9a69c9f1b5f499027a78572aeebd74d20cc39881c213ee770b1010e4bea718846977ae119f7a023ab58cca0ad752afe656bb3c17256a9f6e9bf19fdd5a38fc82bbe872c5539edb609ef4f79c203ebb140f2e583cb2ad15b4aa5b655016a8449277dbd477ef2c8d6c017db738b18deb4a427d1923ce3ff262735779a418f20a282df920147beabe421ee5319d0568 +Ciphertext = 264d3ca8512194fec312c8c9891f279fefdd608d0c027b60483a3fa811d65ee59d52d9e40ec5672d81532b38b6b089ce951f0f9c35590b8b978d175213f329bb1c2fd30f2f7f30492a61a532a79f51d36f5e31a7c9a12c286082ff7d2394d18f783e1a8e72c722caaaa52d8f065657d2631fd25bfd8e5baad6e527d763517501c68c5edc3cdd55435c532d7125c8614deed9adaa3acade5888b87bef641c4c994c8091b5bcd387f3963fb5bc37aa922fbfe3df4e5b915e6eb514717bdd2a74079a5073f5c4bfd46adf7d282e7a393a52579d11a028da4d9cd9c77124f9648ee383b1ac763930e7162a8d37f350b2f74b8472cf09902063c6b32e8c2d9290cefbd7346d1c779a0df50edcde4531da07b099c638e83a755944df2aef1aa31752fd323dcb710fb4bfbb9d22b925bc3577e1b8949e729a90bbafeacf7f7879e7b1147e28ba0bae940db795a61b15ecf4df8db07b824bb062802cc98a9545bb2aaeed77cb3fc6db15dcd7d80d7d5bc406c4970a3478ada8899b329198eb61c193fb6275aa8ca340344a75a862aebe92eee1ce032fd950b47d7704a3876923b4ad62844bf4a09c4dbe8b4397184b7471360c9564880aedddb9baa4af2e75394b08cd32ff479c57a07d3eab5d54de5f9738b8d27f27a9f0ab11799d7b7ffefb2704c95c6ad12c39f1e867a4b7b1d7818a4b753dfd2a89ccb45e001a03a867b187f225dd + +Cipher = aes-128-xts +Key = 2718281828459045235360287471352631415926535897932384626433832795 +IV = 02000000000000000000000000000000 +Plaintext = 264d3ca8512194fec312c8c9891f279fefdd608d0c027b60483a3fa811d65ee59d52d9e40ec5672d81532b38b6b089ce951f0f9c35590b8b978d175213f329bb1c2fd30f2f7f30492a61a532a79f51d36f5e31a7c9a12c286082ff7d2394d18f783e1a8e72c722caaaa52d8f065657d2631fd25bfd8e5baad6e527d763517501c68c5edc3cdd55435c532d7125c8614deed9adaa3acade5888b87bef641c4c994c8091b5bcd387f3963fb5bc37aa922fbfe3df4e5b915e6eb514717bdd2a74079a5073f5c4bfd46adf7d282e7a393a52579d11a028da4d9cd9c77124f9648ee383b1ac763930e7162a8d37f350b2f74b8472cf09902063c6b32e8c2d9290cefbd7346d1c779a0df50edcde4531da07b099c638e83a755944df2aef1aa31752fd323dcb710fb4bfbb9d22b925bc3577e1b8949e729a90bbafeacf7f7879e7b1147e28ba0bae940db795a61b15ecf4df8db07b824bb062802cc98a9545bb2aaeed77cb3fc6db15dcd7d80d7d5bc406c4970a3478ada8899b329198eb61c193fb6275aa8ca340344a75a862aebe92eee1ce032fd950b47d7704a3876923b4ad62844bf4a09c4dbe8b4397184b7471360c9564880aedddb9baa4af2e75394b08cd32ff479c57a07d3eab5d54de5f9738b8d27f27a9f0ab11799d7b7ffefb2704c95c6ad12c39f1e867a4b7b1d7818a4b753dfd2a89ccb45e001a03a867b187f225dd +Ciphertext = fa762a3680b76007928ed4a4f49a9456031b704782e65e16cecb54ed7d017b5e18abd67b338e81078f21edb7868d901ebe9c731a7c18b5e6dec1d6a72e078ac9a4262f860beefa14f4e821018272e411a951502b6e79066e84252c3346f3aa62344351a291d4bedc7a07618bdea2af63145cc7a4b8d4070691ae890cd65733e7946e9021a1dffc4c59f159425ee6d50ca9b135fa6162cea18a939838dc000fb386fad086acce5ac07cb2ece7fd580b00cfa5e98589631dc25e8e2a3daf2ffdec26531659912c9d8f7a15e5865ea8fb5816d6207052bd7128cd743c12c8118791a4736811935eb982a532349e31dd401e0b660a568cb1a4711f552f55ded59f1f15bf7196b3ca12a91e488ef59d64f3a02bf45239499ac6176ae321c4a211ec545365971c5d3f4f09d4eb139bfdf2073d33180b21002b65cc9865e76cb24cd92c874c24c18350399a936ab3637079295d76c417776b94efce3a0ef7206b15110519655c956cbd8b2489405ee2b09a6b6eebe0c53790a12a8998378b33a5b71159625f4ba49d2a2fdba59fbf0897bc7aabd8d707dc140a80f0f309f835d3da54ab584e501dfa0ee977fec543f74186a802b9a37adb3e8291eca04d66520d229e60401e7282bef486ae059aa70696e0e305d777140a7a883ecdcb69b9ff938e8a4231864c69ca2c2043bed007ff3e605e014bcf518138dc3a25c5e236171a2d01d6 + +Cipher = aes-128-xts +Key = 2718281828459045235360287471352631415926535897932384626433832795 +IV = fd000000000000000000000000000000 +Plaintext = 8e41b78c390b5af9d758bb214a67e9f6bf7727b09ac6124084c37611398fa45daad94868600ed391fb1acd4857a95b466e62ef9f4b377244d1c152e7b30d731aad30c716d214b707aed99eb5b5e580b3e887cf7497465651d4b60e6042051da3693c3b78c14489543be8b6ad0ba629565bba202313ba7b0d0c94a3252b676f46cc02ce0f8a7d34c0ed229129673c1f61aed579d08a9203a25aac3a77e9db60267996db38df637356d9dcd1632e369939f2a29d89345c66e05066f1a3677aef18dea4113faeb629e46721a66d0a7e785d3e29af2594eb67dfa982affe0aac058f6e15864269b135418261fc3afb089472cf68c45dd7f231c6249ba0255e1e033833fc4d00a3fe02132d7bc3873614b8aee34273581ea0325c81f0270affa13641d052d36f0757d484014354d02d6883ca15c24d8c3956b1bd027bcf41f151fd8023c5340e5606f37e90fdb87c86fb4fa634b3718a30bace06a66eaf8f63c4aa3b637826a87fe8cfa44282e92cb1615af3a28e53bc74c7cba1a0977be9065d0c1a5dec6c54ae38d37f37aa35283e048e5530a85c4e7a29d7b92ec0c3169cdf2a805c7604bce60049b9fb7b8eaac10f51ae23794ceba68bb58112e293b9b692ca721b37c662f8574ed4dba6f88e170881c82cddc1034a0ca7e284bf0962b6b26292d836fa9f73c1ac770eef0f2d3a1eaf61d3e03555fd424eedd67e18a18094f888 +Ciphertext = d55f684f81f4426e9fde92a5ff02df2ac896af63962888a97910c1379e20b0a3b1db613fb7fe2e07004329ea5c22bfd33e3dbe4cf58cc608c2c26c19a2e2fe22f98732c2b5cb844cc6c0702d91e1d50fc4382a7eba5635cd602432a2306ac4ce82f8d70c8d9bc15f918fe71e74c622d5cf71178bf6e0b9cc9f2b41dd8dbe441c41cd0c73a6dc47a348f6702f9d0e9b1b1431e948e299b9ec2272ab2c5f0c7be86affa5dec87a0bee81d3d50007edaa2bcfccb35605155ff36ed8edd4a40dcd4b243acd11b2b987bdbfaf91a7cac27e9c5aea525ee53de7b2d3332c8644402b823e94a7db26276d2d23aa07180f76b4fd29b9c0823099c9d62c519880aee7e9697617c1497d47bf3e571950311421b6b734d38b0db91eb85331b91ea9f61530f54512a5a52a4bad589eb69781d537f23297bb459bdad2948a29e1550bf4787e0be95bb173cf5fab17dab7a13a052a63453d97ccec1a321954886b7a1299faaeecae35c6eaaca753b041b5e5f093bf83397fd21dd6b3012066fcc058cc32c3b09d7562dee29509b5839392c9ff05f51f3166aaac4ac5f238038a3045e6f72e48ef0fe8bc675e82c318a268e43970271bf119b81bf6a982746554f84e72b9f00280a320a08142923c23c883423ff949827f29bbacdc1ccdb04938ce6098c95ba6b32528f4ef78eed778b2e122ddfd1cbdd11d1c0a6783e011fc536d63d053260637 + +Cipher = aes-128-xts +Key = 2718281828459045235360287471352631415926535897932384626433832795 +IV = fe000000000000000000000000000000 +Plaintext = d55f684f81f4426e9fde92a5ff02df2ac896af63962888a97910c1379e20b0a3b1db613fb7fe2e07004329ea5c22bfd33e3dbe4cf58cc608c2c26c19a2e2fe22f98732c2b5cb844cc6c0702d91e1d50fc4382a7eba5635cd602432a2306ac4ce82f8d70c8d9bc15f918fe71e74c622d5cf71178bf6e0b9cc9f2b41dd8dbe441c41cd0c73a6dc47a348f6702f9d0e9b1b1431e948e299b9ec2272ab2c5f0c7be86affa5dec87a0bee81d3d50007edaa2bcfccb35605155ff36ed8edd4a40dcd4b243acd11b2b987bdbfaf91a7cac27e9c5aea525ee53de7b2d3332c8644402b823e94a7db26276d2d23aa07180f76b4fd29b9c0823099c9d62c519880aee7e9697617c1497d47bf3e571950311421b6b734d38b0db91eb85331b91ea9f61530f54512a5a52a4bad589eb69781d537f23297bb459bdad2948a29e1550bf4787e0be95bb173cf5fab17dab7a13a052a63453d97ccec1a321954886b7a1299faaeecae35c6eaaca753b041b5e5f093bf83397fd21dd6b3012066fcc058cc32c3b09d7562dee29509b5839392c9ff05f51f3166aaac4ac5f238038a3045e6f72e48ef0fe8bc675e82c318a268e43970271bf119b81bf6a982746554f84e72b9f00280a320a08142923c23c883423ff949827f29bbacdc1ccdb04938ce6098c95ba6b32528f4ef78eed778b2e122ddfd1cbdd11d1c0a6783e011fc536d63d053260637 +Ciphertext = 72efc1ebfe1ee25975a6eb3aa8589dda2b261f1c85bdab442a9e5b2dd1d7c3957a16fc08e526d4b1223f1b1232a11af274c3d70dac57f83e0983c498f1a6f1aecb021c3e70085a1e527f1ce41ee5911a82020161529cd82773762daf5459de94a0a82adae7e1703c808543c29ed6fb32d9e004327c1355180c995a07741493a09c21ba01a387882da4f62534b87bb15d60d197201c0fd3bf30c1500a3ecfecdd66d8721f90bcc4c17ee925c61b0a03727a9c0d5f5ca462fbfa0af1c2513a9d9d4b5345bd27a5f6e653f751693e6b6a2b8ead57d511e00e58c45b7b8d005af79288f5c7c22fd4f1bf7a898b03a5634c6a1ae3f9fae5de4f296a2896b23e7ed43ed14fa5a2803f4d28f0d3ffcf24757677aebdb47bb388378708948a8d4126ed1839e0da29a537a8c198b3c66ab00712dd261674bf45a73d67f76914f830ca014b65596f27e4cf62de66125a5566df9975155628b400fbfb3a29040ed50faffdbb18aece7c5c44693260aab386c0a37b11b114f1c415aebb653be468179428d43a4d8bc3ec38813eca30a13cf1bb18d524f1992d44d8b1a42ea30b22e6c95b199d8d182f8840b09d059585c31ad691fa0619ff038aca2c39a943421157361717c49d322028a74648113bd8c9d7ec77cf3c89c1ec8718ceff8516d96b34c3c614f10699c9abc4ed0411506223bea16af35c883accdbe1104eef0cfdb54e12fb230a + +Cipher = aes-128-xts +Key = 2718281828459045235360287471352631415926535897932384626433832795 +IV = ff000000000000000000000000000000 +Plaintext = 72efc1ebfe1ee25975a6eb3aa8589dda2b261f1c85bdab442a9e5b2dd1d7c3957a16fc08e526d4b1223f1b1232a11af274c3d70dac57f83e0983c498f1a6f1aecb021c3e70085a1e527f1ce41ee5911a82020161529cd82773762daf5459de94a0a82adae7e1703c808543c29ed6fb32d9e004327c1355180c995a07741493a09c21ba01a387882da4f62534b87bb15d60d197201c0fd3bf30c1500a3ecfecdd66d8721f90bcc4c17ee925c61b0a03727a9c0d5f5ca462fbfa0af1c2513a9d9d4b5345bd27a5f6e653f751693e6b6a2b8ead57d511e00e58c45b7b8d005af79288f5c7c22fd4f1bf7a898b03a5634c6a1ae3f9fae5de4f296a2896b23e7ed43ed14fa5a2803f4d28f0d3ffcf24757677aebdb47bb388378708948a8d4126ed1839e0da29a537a8c198b3c66ab00712dd261674bf45a73d67f76914f830ca014b65596f27e4cf62de66125a5566df9975155628b400fbfb3a29040ed50faffdbb18aece7c5c44693260aab386c0a37b11b114f1c415aebb653be468179428d43a4d8bc3ec38813eca30a13cf1bb18d524f1992d44d8b1a42ea30b22e6c95b199d8d182f8840b09d059585c31ad691fa0619ff038aca2c39a943421157361717c49d322028a74648113bd8c9d7ec77cf3c89c1ec8718ceff8516d96b34c3c614f10699c9abc4ed0411506223bea16af35c883accdbe1104eef0cfdb54e12fb230a +Ciphertext = 3260ae8dad1f4a32c5cafe3ab0eb95549d461a67ceb9e5aa2d3afb62dece0553193ba50c75be251e08d1d08f1088576c7efdfaaf3f459559571e12511753b07af073f35da06af0ce0bbf6b8f5ccc5cea500ec1b211bd51f63b606bf6528796ca12173ba39b8935ee44ccce646f90a45bf9ccc567f0ace13dc2d53ebeedc81f58b2e41179dddf0d5a5c42f5d8506c1a5d2f8f59f3ea873cbcd0eec19acbf325423bd3dcb8c2b1bf1d1eaed0eba7f0698e4314fbeb2f1566d1b9253008cbccf45a2b0d9c5c9c21474f4076e02be26050b99dee4fd68a4cf890e496e4fcae7b70f94ea5a9062da0daeba1993d2ccd1dd3c244b8428801495a58b216547e7e847c46d1d756377b6242d2e5fb83bf752b54e0df71e889f3a2bb0f4c10805bf3c590376e3c24e22ff57f7fa965577375325cea5d920db94b9c336b455f6e894c01866fe9fbb8c8d3f70a2957285f6dfb5dcd8cbf54782f8fe7766d4723819913ac773421e3a31095866bad22c86a6036b2518b2059b4229d18c8c2ccbdf906c6cc6e82464ee57bddb0bebcb1dc645325bfb3e665ef7251082c88ebb1cf203bd779fdd38675713c8daadd17e1cabee432b09787b6ddf3304e38b731b45df5df51b78fcfb3d32466028d0ba36555e7e11ab0ee0666061d1645d962444bc47a38188930a84b4d561395c73c087021927ca638b7afc8a8679ccb84c26555440ec7f10445cd + + +Cipher = aes-256-xts +Key = 27182818284590452353602874713526624977572470936999595749669676273141592653589793238462643383279502884197169399375105820974944592 +IV = ff000000000000000000000000000000 +Plaintext = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff +Ciphertext = 1c3b3a102f770386e4836c99e370cf9bea00803f5e482357a4ae12d414a3e63b5d31e276f8fe4a8d66b317f9ac683f44680a86ac35adfc3345befecb4bb188fd5776926c49a3095eb108fd1098baec70aaa66999a72a82f27d848b21d4a741b0c5cd4d5fff9dac89aeba122961d03a757123e9870f8acf1000020887891429ca2a3e7a7d7df7b10355165c8b9a6d0a7de8b062c4500dc4cd120c0f7418dae3d0b5781c34803fa75421c790dfe1de1834f280d7667b327f6c8cd7557e12ac3a0f93ec05c52e0493ef31a12d3d9260f79a289d6a379bc70c50841473d1a8cc81ec583e9645e07b8d9670655ba5bbcfecc6dc3966380ad8fecb17b6ba02469a020a84e18e8f84252070c13e9f1f289be54fbc481457778f616015e1327a02b140f1505eb309326d68378f8374595c849d84f4c333ec4423885143cb47bd71c5edae9be69a2ffeceb1bec9de244fbe15992b11b77c040f12bd8f6a975a44a0f90c29a9abc3d4d893927284c58754cce294529f8614dcd2aba991925fedc4ae74ffac6e333b93eb4aff0479da9a410e4450e0dd7ae4c6e2910900575da401fc07059f645e8b7e9bfdef33943054ff84011493c27b3429eaedb4ed5376441a77ed43851ad77f16f541dfd269d50d6a5f14fb0aab1cbb4c1550be97f7ab4066193c4caa773dad38014bd2092fa755c824bb5e54c4f36ffda9fcea70b9c6e693e148c151 + +Cipher = aes-256-xts +Key = 27182818284590452353602874713526624977572470936999595749669676273141592653589793238462643383279502884197169399375105820974944592 +IV = ffff0000000000000000000000000000 +Plaintext = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff +Ciphertext = 77a31251618a15e6b92d1d66dffe7b50b50bad552305ba0217a610688eff7e11e1d0225438e093242d6db274fde801d4cae06f2092c728b2478559df58e837c2469ee4a4fa794e4bbc7f39bc026e3cb72c33b0888f25b4acf56a2a9804f1ce6d3d6e1dc6ca181d4b546179d55544aa7760c40d06741539c7e3cd9d2f6650b2013fd0eeb8c2b8e3d8d240ccae2d4c98320a7442e1c8d75a42d6e6cfa4c2eca1798d158c7aecdf82490f24bb9b38e108bcda12c3faf9a21141c3613b58367f922aaa26cd22f23d708dae699ad7cb40a8ad0b6e2784973dcb605684c08b8d6998c69aac049921871ebb65301a4619ca80ecb485a31d744223ce8ddc2394828d6a80470c092f5ba413c3378fa6054255c6f9df4495862bbb3287681f931b687c888abf844dfc8fc28331e579928cd12bd2390ae123cf03818d14dedde5c0c24c8ab018bfca75ca096f2d531f3d1619e785f1ada437cab92e980558b3dce1474afb75bfedbf8ff54cb2618e0244c9ac0d3c66fb51598cd2db11f9be39791abe447c63094f7c453b7ff87cb5bb36b7c79efb0872d17058b83b15ab0866ad8a58656c5a7e20dbdf308b2461d97c0ec0024a2715055249cf3b478ddd4740de654f75ca686e0d7345c69ed50cdc2a8b332b1f8824108ac937eb050585608ee734097fc09054fbff89eeaeea791f4a7ab1f9868294a4f9e27b42af8100cb9d59cef9645803 + +Cipher = aes-256-xts +Key = 27182818284590452353602874713526624977572470936999595749669676273141592653589793238462643383279502884197169399375105820974944592 +IV = ffffff00000000000000000000000000 +Plaintext = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff +Ciphertext = e387aaa58ba483afa7e8eb469778317ecf4cf573aa9d4eac23f2cdf914e4e200a8b490e42ee646802dc6ee2b471b278195d60918ececb44bf79966f83faba0499298ebc699c0c8634715a320bb4f075d622e74c8c932004f25b41e361025b5a87815391f6108fc4afa6a05d9303c6ba68a128a55705d415985832fdeaae6c8e19110e84d1b1f199a2692119edc96132658f09da7c623efcec712537a3d94c0bf5d7e352ec94ae5797fdb377dc1551150721adf15bd26a8efc2fcaad56881fa9e62462c28f30ae1ceaca93c345cf243b73f542e2074a705bd2643bb9f7cc79bb6e7091ea6e232df0f9ad0d6cf502327876d82207abf2115cdacf6d5a48f6c1879a65b115f0f8b3cb3c59d15dd8c769bc014795a1837f3901b5845eb491adfefe097b1fa30a12fc1f65ba22905031539971a10f2f36c321bb51331cdefb39e3964c7ef079994f5b69b2edd83a71ef549971ee93f44eac3938fcdd61d01fa71799da3a8091c4c48aa9ed263ff0749df95d44fef6a0bb578ec69456aa5408ae32c7af08ad7ba8921287e3bbee31b767be06a0e705c864a769137df28292283ea81a2480241b44d9921cdbec1bc28dc1fda114bd8e5217ac9d8ebafa720e9da4f9ace231cc949e5b96fe76ffc21063fddc83a6b8679c00d35e09576a875305bed5f36ed242c8900dd1fa965bc950dfce09b132263a1eef52dd6888c309f5a7d712826 + +Cipher = aes-256-xts +Key = 27182818284590452353602874713526624977572470936999595749669676273141592653589793238462643383279502884197169399375105820974944592 +IV = ffffffff000000000000000000000000 +Plaintext = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff +Ciphertext = bf53d2dade78e822a4d949a9bc6766b01b06a8ef70d26748c6a7fc36d80ae4c5520f7c4ab0ac8544424fa405162fef5a6b7f229498063618d39f0003cb5fb8d1c86b643497da1ff945c8d3bedeca4f479702a7a735f043ddb1d6aaade3c4a0ac7ca7f3fa5279bef56f82cd7a2f38672e824814e10700300a055e1630b8f1cb0e919f5e942010a416e2bf48cb46993d3cb6a51c19bacf864785a00bc2ecff15d350875b246ed53e68be6f55bd7e05cfc2b2ed6432198a6444b6d8c247fab941f569768b5c429366f1d3f00f0345b96123d56204c01c63b22ce78baf116e525ed90fdea39fa469494d3866c31e05f295ff21fea8d4e6e13d67e47ce722e9698a1c1048d68ebcde76b86fcf976eab8aa9790268b7068e017a8b9b749409514f1053027fd16c3786ea1bac5f15cb79711ee2abe82f5cf8b13ae73030ef5b9e4457e75d1304f988d62dd6fc4b94ed38ba831da4b7634971b6cd8ec325d9c61c00f1df73627ed3745a5e8489f3a95c69639c32cd6e1d537a85f75cc844726e8a72fc0077ad22000f1d5078f6b866318c668f1ad03d5a5fced5219f2eabbd0aa5c0f460d183f04404a0d6f469558e81fab24a167905ab4c7878502ad3e38fdbe62a41556cec37325759533ce8f25f367c87bb5578d667ae93f9e2fd99bcbc5f2fbba88cf6516139420fcff3b7361d86322c4bd84c82f335abb152c4a93411373aaa8220 + +Cipher = aes-256-xts +Key = 27182818284590452353602874713526624977572470936999595749669676273141592653589793238462643383279502884197169399375105820974944592 +IV = ffffffffff0000000000000000000000 +Plaintext = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff +Ciphertext = 64497e5a831e4a932c09be3e5393376daa599548b816031d224bbf50a818ed2350eae7e96087c8a0db51ad290bd00c1ac1620857635bf246c176ab463be30b808da548081ac847b158e1264be25bb0910bbc92647108089415d45fab1b3d2604e8a8eff1ae4020cfa39936b66827b23f371b92200be90251e6d73c5f86de5fd4a950781933d79a28272b782a2ec313efdfcc0628f43d744c2dc2ff3dcb66999b50c7ca895b0c64791eeaa5f29499fb1c026f84ce5b5c72ba1083cddb5ce45434631665c333b60b11593fb253c5179a2c8db813782a004856a1653011e93fb6d876c18366dd8683f53412c0c180f9c848592d593f8609ca736317d356e13e2bff3a9f59cd9aeb19cd482593d8c46128bb32423b37a9adfb482b99453fbe25a41bf6feb4aa0bef5ed24bf73c762978025482c13115e4015aac992e5613a3b5c2f685b84795cb6e9b2656d8c88157e52c42f978d8634c43d06fea928f2822e465aa6576e9bf419384506cc3ce3c54ac1a6f67dc66f3b30191e698380bc999b05abce19dc0c6dcc2dd001ec535ba18deb2df1a101023108318c75dc98611a09dc48a0acdec676fabdf222f07e026f059b672b56e5cbc8e1d21bbd867dd927212054681d70ea737134cdfce93b6f82ae22423274e58a0821cc5502e2d0ab4585e94de6975be5e0b4efce51cd3e70c25a1fbbbd609d273ad5b0d59631c531f6a0a57b9 + + +Cipher = aes-128-xts +Key = fffefdfcfbfaf9f8f7f6f5f4f3f2f1f0bfbebdbcbbbab9b8b7b6b5b4b3b2b1b0 +IV = 9a785634120000000000000000000000 +Plaintext = 000102030405060708090a0b0c0d0e0f10 +Ciphertext = 6c1625db4671522d3d7599601de7ca09ed + +Cipher = aes-128-xts +Key = fffefdfcfbfaf9f8f7f6f5f4f3f2f1f0bfbebdbcbbbab9b8b7b6b5b4b3b2b1b0 +IV = 9a785634120000000000000000000000 +Plaintext = 000102030405060708090a0b0c0d0e0f1011 +Ciphertext = d069444b7a7e0cab09e24447d24deb1fedbf + +Cipher = aes-128-xts +Key = fffefdfcfbfaf9f8f7f6f5f4f3f2f1f0bfbebdbcbbbab9b8b7b6b5b4b3b2b1b0 +IV = 9a785634120000000000000000000000 +Plaintext = 000102030405060708090a0b0c0d0e0f101112 +Ciphertext = e5df1351c0544ba1350b3363cd8ef4beedbf9d + +Cipher = aes-128-xts +Key = fffefdfcfbfaf9f8f7f6f5f4f3f2f1f0bfbebdbcbbbab9b8b7b6b5b4b3b2b1b0 +IV = 9a785634120000000000000000000000 +Plaintext = 000102030405060708090a0b0c0d0e0f10111213 +Ciphertext = 9d84c813f719aa2c7be3f66171c7c5c2edbf9dac + +Cipher = aes-128-xts +Key = e0e1e2e3e4e5e6e7e8e9eaebecedeeefc0c1c2c3c4c5c6c7c8c9cacbcccdcecf +IV = 21436587a90000000000000000000000 +Plaintext = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff +Ciphertext = 38b45812ef43a05bd957e545907e223b954ab4aaf088303ad910eadf14b42be68b2461149d8c8ba85f992be970bc621f1b06573f63e867bf5875acafa04e42ccbd7bd3c2a0fb1fff791ec5ec36c66ae4ac1e806d81fbf709dbe29e471fad38549c8e66f5345d7c1eb94f405d1ec785cc6f6a68f6254dd8339f9d84057e01a17741990482999516b5611a38f41bb6478e6f173f320805dd71b1932fc333cb9ee39936beea9ad96fa10fb4112b901734ddad40bc1878995f8e11aee7d141a2f5d48b7a4e1e7f0b2c04830e69a4fd1378411c2f287edf48c6c4e5c247a19680f7fe41cefbd49b582106e3616cbbe4dfb2344b2ae9519391f3e0fb4922254b1d6d2d19c6d4d537b3a26f3bcc51588b32f3eca0829b6a5ac72578fb814fb43cf80d64a233e3f997a3f02683342f2b33d25b492536b93becb2f5e1a8b82f5b883342729e8ae09d16938841a21a97fb543eea3bbff59f13c1a18449e398701c1ad51648346cbc04c27bb2da3b93a1372ccae548fb53bee476f9e9c91773b1bb19828394d55d3e1a20ed69113a860b6829ffa847224604435070221b257e8dff783615d2cae4803a93aa4334ab482a0afac9c0aeda70b45a481df5dec5df8cc0f423c77a5fd46cd312021d4b438862419a791be03bb4d97c0e59578542531ba466a83baf92cefc151b5cc1611a167893819b63fb8a6b18e86de60290fa72b797b0ce59f3 + +# Exercise different lengths covering even ciphertext stealing cases +Cipher = aes-128-xts +Key = 2718281828459045235360287471352631415926535897932384626433832795 +IV = 00000000000000000000000000000000 +Plaintext = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f +Ciphertext = 27a7479befa1d476489f308cd4cfa6e2a96e4bbe3208ff25287dd3819616e89cc78cf7f5e543445f8333d8fa7f56000005279fa5d8b5e4ad40e736ddb4d35412328063fd2aab53e5ea1e0a9f332500a5df9487d07a5c92cc512c8866c7e860ce + +Cipher = aes-128-xts +Key = 2718281828459045235360287471352631415926535897932384626433832795 +IV = 00000000000000000000000000000000 +Plaintext = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f6061 +Ciphertext = 27A7479BEFA1D476489F308CD4CFA6E2A96E4BBE3208FF25287DD3819616E89CC78CF7F5E543445F8333D8FA7F56000005279FA5D8B5E4AD40E736DDB4D35412328063FD2AAB53E5EA1E0A9F332500A5B079C6307EA0914559C6D2FB6384F8AADF94 + +Cipher = aes-128-xts +Key = 2718281828459045235360287471352631415926535897932384626433832795 +IV = 00000000000000000000000000000000 +Plaintext = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f +Ciphertext = 27a7479befa1d476489f308cd4cfa6e2a96e4bbe3208ff25287dd3819616e89cc78cf7f5e543445f8333d8fa7f56000005279fa5d8b5e4ad40e736ddb4d35412328063fd2aab53e5ea1e0a9f332500a5df9487d07a5c92cc512c8866c7e860ce93fdf166a24912b422976146ae20ce84 + +Cipher = aes-128-xts +Key = 2718281828459045235360287471352631415926535897932384626433832795 +IV = 00000000000000000000000000000000 +Plaintext = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f7071 +Ciphertext = 27A7479BEFA1D476489F308CD4CFA6E2A96E4BBE3208FF25287DD3819616E89CC78CF7F5E543445F8333D8FA7F56000005279FA5D8B5E4AD40E736DDB4D35412328063FD2AAB53E5EA1E0A9F332500A5DF9487D07A5C92CC512C8866C7E860CEF4F253466EF4953ADC8FE2F5BC1FF57593FD + +Cipher = aes-128-xts +Key = 2718281828459045235360287471352631415926535897932384626433832795 +IV = 00000000000000000000000000000000 +Plaintext = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f +Ciphertext = 27a7479befa1d476489f308cd4cfa6e2a96e4bbe3208ff25287dd3819616e89cc78cf7f5e543445f8333d8fa7f56000005279fa5d8b5e4ad40e736ddb4d35412328063fd2aab53e5ea1e0a9f332500a5df9487d07a5c92cc512c8866c7e860ce93fdf166a24912b422976146ae20ce846bb7dc9ba94a767aaef20c0d61ad0265 + +Cipher = aes-128-xts +Key = 2718281828459045235360287471352631415926535897932384626433832795 +IV = 00000000000000000000000000000000 +Plaintext = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f8081 +Ciphertext = 27A7479BEFA1D476489F308CD4CFA6E2A96E4BBE3208FF25287DD3819616E89CC78CF7F5E543445F8333D8FA7F56000005279FA5D8B5E4AD40E736DDB4D35412328063FD2AAB53E5EA1E0A9F332500A5DF9487D07A5C92CC512C8866C7E860CE93FDF166A24912B422976146AE20CE842973C68248EDDFE26FB9B096659C8A5D6BB7 + +Cipher = aes-128-xts +Key = 2718281828459045235360287471352631415926535897932384626433832795 +IV = 00000000000000000000000000000000 +Plaintext = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f +Ciphertext = 27a7479befa1d476489f308cd4cfa6e2a96e4bbe3208ff25287dd3819616e89cc78cf7f5e543445f8333d8fa7f56000005279fa5d8b5e4ad40e736ddb4d35412328063fd2aab53e5ea1e0a9f332500a5df9487d07a5c92cc512c8866c7e860ce93fdf166a24912b422976146ae20ce846bb7dc9ba94a767aaef20c0d61ad02655ea92dc4c4e41a8952c651d33174be51 + +Cipher = aes-128-xts +Key = 2718281828459045235360287471352631415926535897932384626433832795 +IV = 00000000000000000000000000000000 +Plaintext = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f9091 +Ciphertext = 27A7479BEFA1D476489F308CD4CFA6E2A96E4BBE3208FF25287DD3819616E89CC78CF7F5E543445F8333D8FA7F56000005279FA5D8B5E4AD40E736DDB4D35412328063FD2AAB53E5EA1E0A9F332500A5DF9487D07A5C92CC512C8866C7E860CE93FDF166A24912B422976146AE20CE846BB7DC9BA94A767AAEF20C0D61AD0265C4DD16E65A24575A709F174593F19FF85EA9 + +Cipher = aes-128-xts +Key = 2718281828459045235360287471352631415926535897932384626433832795 +IV = 00000000000000000000000000000000 +Plaintext = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f +Ciphertext = 27a7479befa1d476489f308cd4cfa6e2a96e4bbe3208ff25287dd3819616e89cc78cf7f5e543445f8333d8fa7f56000005279fa5d8b5e4ad40e736ddb4d35412328063fd2aab53e5ea1e0a9f332500a5df9487d07a5c92cc512c8866c7e860ce93fdf166a24912b422976146ae20ce846bb7dc9ba94a767aaef20c0d61ad02655ea92dc4c4e41a8952c651d33174be51a10c421110e6d81588ede82103a252d8 + +Cipher = aes-128-xts +Key = 2718281828459045235360287471352631415926535897932384626433832795 +IV = 00000000000000000000000000000000 +Plaintext = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1 +Ciphertext = 27A7479BEFA1D476489F308CD4CFA6E2A96E4BBE3208FF25287DD3819616E89CC78CF7F5E543445F8333D8FA7F56000005279FA5D8B5E4AD40E736DDB4D35412328063FD2AAB53E5EA1E0A9F332500A5DF9487D07A5C92CC512C8866C7E860CE93FDF166A24912B422976146AE20CE846BB7DC9BA94A767AAEF20C0D61AD02655EA92DC4C4E41A8952C651D33174BE519215FA160C664D4B07D757A034AB3B35A10C + +Cipher = aes-128-xts +Key = 2718281828459045235360287471352631415926535897932384626433832795 +IV = 00000000000000000000000000000000 +Plaintext = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeaf +Ciphertext = 27a7479befa1d476489f308cd4cfa6e2a96e4bbe3208ff25287dd3819616e89cc78cf7f5e543445f8333d8fa7f56000005279fa5d8b5e4ad40e736ddb4d35412328063fd2aab53e5ea1e0a9f332500a5df9487d07a5c92cc512c8866c7e860ce93fdf166a24912b422976146ae20ce846bb7dc9ba94a767aaef20c0d61ad02655ea92dc4c4e41a8952c651d33174be51a10c421110e6d81588ede82103a252d8a750e8768defffed9122810aaeb99f91 + +Cipher = aes-128-xts +Key = 2718281828459045235360287471352631415926535897932384626433832795 +IV = 00000000000000000000000000000000 +Plaintext = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1 +Ciphertext = 27A7479BEFA1D476489F308CD4CFA6E2A96E4BBE3208FF25287DD3819616E89CC78CF7F5E543445F8333D8FA7F56000005279FA5D8B5E4AD40E736DDB4D35412328063FD2AAB53E5EA1E0A9F332500A5DF9487D07A5C92CC512C8866C7E860CE93FDF166A24912B422976146AE20CE846BB7DC9BA94A767AAEF20C0D61AD02655EA92DC4C4E41A8952C651D33174BE51A10C421110E6D81588EDE82103A252D82C6CBC24F9357BD1FB882AA4B2CC2E7FA750 + +Cipher = aes-128-xts +Key = 2718281828459045235360287471352631415926535897932384626433832795 +IV = 00000000000000000000000000000000 +Plaintext = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebf +Ciphertext = 27a7479befa1d476489f308cd4cfa6e2a96e4bbe3208ff25287dd3819616e89cc78cf7f5e543445f8333d8fa7f56000005279fa5d8b5e4ad40e736ddb4d35412328063fd2aab53e5ea1e0a9f332500a5df9487d07a5c92cc512c8866c7e860ce93fdf166a24912b422976146ae20ce846bb7dc9ba94a767aaef20c0d61ad02655ea92dc4c4e41a8952c651d33174be51a10c421110e6d81588ede82103a252d8a750e8768defffed9122810aaeb99f9172af82b604dc4b8e51bcb08235a6f434 + +Cipher = aes-128-xts +Key = 2718281828459045235360287471352631415926535897932384626433832795 +IV = 00000000000000000000000000000000 +Plaintext = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1 +Ciphertext = 27A7479BEFA1D476489F308CD4CFA6E2A96E4BBE3208FF25287DD3819616E89CC78CF7F5E543445F8333D8FA7F56000005279FA5D8B5E4AD40E736DDB4D35412328063FD2AAB53E5EA1E0A9F332500A5DF9487D07A5C92CC512C8866C7E860CE93FDF166A24912B422976146AE20CE846BB7DC9BA94A767AAEF20C0D61AD02655EA92DC4C4E41A8952C651D33174BE51A10C421110E6D81588EDE82103A252D8A750E8768DEFFFED9122810AAEB99F910409B03D164E727C31290FD4E039500872AF + +# AES wrap tests from RFC3394 +Cipher = id-aes128-wrap +Key = 000102030405060708090A0B0C0D0E0F +Plaintext = 00112233445566778899AABBCCDDEEFF +Ciphertext = 1FA68B0A8112B447AEF34BD8FB5A7B829D3E862371D2CFE5 + +Cipher = id-aes192-wrap +Key = 000102030405060708090A0B0C0D0E0F1011121314151617 +Plaintext = 00112233445566778899AABBCCDDEEFF +Ciphertext = 96778B25AE6CA435F92B5B97C050AED2468AB8A17AD84E5D + +Cipher = id-aes256-wrap +Key = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F +Plaintext = 00112233445566778899AABBCCDDEEFF +Ciphertext = 64E8C3F9CE0F5BA263E9777905818A2A93C8191E7D6E8AE7 + +Cipher = id-aes192-wrap +Key = 000102030405060708090A0B0C0D0E0F1011121314151617 +Plaintext = 00112233445566778899AABBCCDDEEFF0001020304050607 +Ciphertext = 031D33264E15D33268F24EC260743EDCE1C6C7DDEE725A936BA814915C6762D2 + +Cipher = id-aes256-wrap +Key = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F +Plaintext = 00112233445566778899AABBCCDDEEFF0001020304050607 +Ciphertext = A8F9BC1612C68B3FF6E6F4FBE30E71E4769C8B80A32CB8958CD5D17D6B254DA1 + +Cipher = id-aes256-wrap +Key = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F +Plaintext = 00112233445566778899AABBCCDDEEFF000102030405060708090A0B0C0D0E0F +Ciphertext = 28C9F404C4B810F4CBCCB35CFB87F8263F5786E2D80ED326CBC7F0E71A99F43BFB988B9B7A02DD21 + +# Same as previous example but with invalid unwrap key: should be rejected +# without returning any plaintext +Cipher = id-aes256-wrap +Operation = DECRYPT +Key = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E00 +Plaintext = 00112233445566778899AABBCCDDEEFF000102030405060708090A0B0C0D0E0F +Ciphertext = 28C9F404C4B810F4CBCCB35CFB87F8263F5786E2D80ED326CBC7F0E71A99F43BFB988B9B7A02DD21 +Result = CIPHERUPDATE_ERROR + +# AES wrap tests from RFC5649 +Cipher = id-aes192-wrap-pad +Key = 5840df6e29b02af1ab493b705bf16ea1ae8338f4dcc176a8 +Plaintext = c37b7e6492584340bed12207808941155068f738 +Ciphertext = 138bdeaa9b8fa7fc61f97742e72248ee5ae6ae5360d1ae6a5f54f373fa543b6a + +Cipher = id-aes192-wrap-pad +Key = 5840df6e29b02af1ab493b705bf16ea1ae8338f4dcc176a8 +Plaintext = 466f7250617369 +Ciphertext = afbeb0f07dfbf5419200f2ccb50bb24f + +Cipher = chacha20 +Key = 0000000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000000 +Plaintext = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Ciphertext = 76b8e0ada0f13d90405d6ae55386bd28bdd219b8a08ded1aa836efcc8b770dc7da41597c5157488d7724e03fb8d84a376a43b8f41518a11cc387b669b2ee6586 + +Cipher = chacha20 +Key = 0000000000000000000000000000000000000000000000000000000000000001 +IV = 00000000000000000000000000000000 +Plaintext = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Ciphertext = 4540f05a9f1fb296d7736e7b208e3c96eb4fe1834688d2604f450952ed432d41bbe2a0b6ea7566d2a5d1e7e20d42af2c53d792b1c43fea817e9ad275ae546963 + +Cipher = chacha20 +Key = 0000000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000000000000000001 +Plaintext = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Ciphertext = de9cba7bf3d69ef5e786dc63973f653a0b49e015adbff7134fcb7df137821031e85a050278a7084527214f73efc7fa5b5277062eb7a0433e445f41e31afab757 + +Cipher = chacha20 +Key = 0000000000000000000000000000000000000000000000000000000000000000 +IV = 00000000000000000100000000000000 +Plaintext = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Ciphertext = ef3fdfd6c61578fbf5cf35bd3dd33b8009631634d21e42ac33960bd138e50d32111e4caf237ee53ca8ad6426194a88545ddc497a0b466e7d6bbdb0041b2f586b + +Cipher = chacha20 +Key = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +IV = 00000000000000000001020304050607 +Plaintext = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Ciphertext = f798a189f195e66982105ffb640bb7757f579da31602fc93ec01ac56f85ac3c134a4547b733b46413042c9440049176905d3be59ea1c53f15916155c2be8241a38008b9a26bc35941e2444177c8ade6689de95264986d95889fb60e84629c9bd9a5acb1cc118be563eb9b3a4a472f82e09a7e778492b562ef7130e88dfe031c79db9d4f7c7a899151b9a475032b63fc385245fe054e3dd5a97a5f576fe064025d3ce042c566ab2c507b138db853e3d6959660996546cc9c4a6eafdc777c040d70eaf46f76dad3979e5c5360c3317166a1c894c94a371876a94df7628fe4eaaf2ccb27d5aaae0ad7ad0f9d4b6ad3b54098746d4524d38407a6deb + +Cipher = chacha20 +Key = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +IV = 00000000000000000001020304050607 +Plaintext = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Ciphertext = f798a189f195e66982105ffb640bb7757f579da31602fc93ec01ac56f85ac3c134a4547b733b46413042c9440049176905d3be59ea1c53f15916155c2be8241a38008b9a26bc35941e2444177c8ade6689de95264986d95889fb60e84629c9bd9a5acb1cc118be563eb9b3a4a472f82e09a7e778492b562ef7130e88dfe031c79db9d4f7c7a899151b9a475032b63fc385245fe054e3dd5a97a5f576fe064025d3ce042c566ab2c507b138db853e3d6959660996546cc9c4a6eafdc777c040d70eaf46f76dad3979e5c5360c3317166a1c894c94a371876a94df7628fe4eaaf2ccb27d5aaae0ad7ad0f9d4b6ad3b54098746d4524d38407a6deb3ab78fab78c9 + +Cipher = chacha20 +Key = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +IV = 00000000000000000001020304050607 +Plaintext = 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Ciphertext = f798a189f195e66982105ffb640bb7757f579da31602fc93ec01ac56f85ac3c134a4547b733b46413042c9440049176905d3be59ea1c53f15916155c2be8241a38008b9a26bc35941e2444177c8ade6689de95264986d95889fb60e84629c9bd9a5acb1cc118be563eb9b3a4a472f82e09a7e778492b562ef7130e88dfe031c79db9d4f7c7a899151b9a475032b63fc385245fe054e3dd5a97a5f576fe064025d3ce042c566ab2c507b138db853e3d6959660996546cc9c4a6eafdc777c040d70eaf46f76dad3979e5c5360c3317166a1c894c94a371876a94df7628fe4eaaf2ccb27d5aaae0ad7ad0f9d4b6ad3b54098746d4524d38407a6deb3ab78fab78c94213668bbbd394c5de93b853178addd6b97f9fa1ec3e56c00c9ddff0a44a204241175a4cab0f961ba53ede9bdf960b94f9829b1f3414726429b362c5b538e391520f489b7ed8d20ae3fd49e9e259e44397514d618c96c4846be3c680bdc11c71dcbbe29ccf80d62a0938fa549391e6ea57ecbe2606790ec15d2224ae307c144226b7c4e8c2f97d2a1d67852d29beba110edd445197012062a393a9c92803ad3b4f31d7bc6033ccf7932cfed3f019044d25905916777286f82f9a4cc1ffe430ffd1dcfc27deed327b9f9630d2fa969fb6f0603cd19dd9a9519e673bcfcd9014125291a44669ef7285e74ed3729b677f801c3cdf058c50963168b496043716c730 + +Cipher = chacha20 +Key = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +IV = 00000000000000000001020304050607 +Plaintext = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Ciphertext = f798a189f195e66982105ffb640bb7757f579da31602fc93ec01ac56f85ac3c134a4547b733b46413042c9440049176905d3be59ea1c53f15916155c2be8241a38008b9a26bc35941e2444177c8ade6689de95264986d95889fb60e84629c9bd9a5acb1cc118be563eb9b3a4a472f82e09a7e778492b562ef7130e88dfe031c79db9d4f7c7a899151b9a475032b63fc385245fe054e3dd5a97a5f576fe064025d3ce042c566ab2c507b138db853e3d6959660996546cc9c4a6eafdc777c040d70eaf46f76dad3979e5c5360c3317166a1c894c94a371876a94df7628fe4eaaf2ccb27d5aaae0ad7ad0f9d4b6ad3b54098746d4524d38407a6deb3ab78fab78c94213668bbbd394c5de93b853178addd6b97f9fa1ec3e56c00c9ddff0a44a204241175a4cab0f961ba53ede9bdf960b94f9829b1f3414726429b362c5b538e391520f489b7ed8d20ae3fd49e9e259e44397514d618c96c4846be3c680bdc11c71dcbbe29ccf80d62a0938fa549391e6ea57ecbe2606790ec15d2224ae307c144226b7c4e8c2f97d2a1d67852d29beba110edd445197012062a393a9c92803ad3b4f31d7bc6033ccf7932cfed3f019044d25905916777286f82f9a4cc1ffe430ffd1dcfc27deed327b9f9630d2fa969fb6f0603cd19dd9a9519e673bcfcd9014125291a44669ef7285e74ed3729b677f801c3cdf058c50963168b496043716c7307cd9e0cdd137fccb0f05b47cdbb95c5f54831622c3652a32b2531fe326bcd6e2bbf56a194fa196fbd1a54952110f51c73433865f7664b836685e3664b3d8444aF89A242805E18C975F1146324996FDE17007CF3E6E8F4E764022533EDBFE07D4733E48BB372D75B0EF48EC983EB78532161CC529E5ABB89837DFCCA6261DBB37 + +Cipher = chacha20 +Key = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +IV = 00000000000000000001020304050607 +Plaintext = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Ciphertext = f798a189f195e66982105ffb640bb7757f579da31602fc93ec01ac56f85ac3c134a4547b733b46413042c9440049176905d3be59ea1c53f15916155c2be8241a38008b9a26bc35941e2444177c8ade6689de95264986d95889fb60e84629c9bd9a5acb1cc118be563eb9b3a4a472f82e09a7e778492b562ef7130e88dfe031c79db9d4f7c7a899151b9a475032b63fc385245fe054e3dd5a97a5f576fe064025d3ce042c566ab2c507b138db853e3d6959660996546cc9c4a6eafdc777c040d70eaf46f76dad3979e5c5360c3317166a1c894c94a371876a94df7628fe4eaaf2ccb27d5aaae0ad7ad0f9d4b6ad3b54098746d4524d38407a6deb3ab78fab78c94213668bbbd394c5de93b853178addd6b97f9fa1ec3e56c00c9ddff0a44a204241175a4cab0f961ba53ede9bdf960b94f9829b1f3414726429b362c5b538e391520f489b7ed8d20ae3fd49e9e259e44397514d618c96c4846be3c680bdc11c71dcbbe29ccf80d62a0938fa549391e6ea57ecbe2606790ec15d2224ae307c144226b7c4e8c2f97d2a1d67852d29beba110edd445197012062a393a9c92803ad3b4f31d7bc6033ccf7932cfed3f019044d25905916777286f82f9a4cc1ffe430ffd1dcfc27deed327b9f9630d2fa969fb6f0603cd19dd9a9519e673bcfcd9014125291a44669ef7285e74ed3729b677f801c3cdf058c50963168b496043716c7307cd9e0cdd137fccb0f05b47cdbb95c5f54831622c3652a32b2531fe326bcd6e2bbf56a194fa196fbd1a54952110f51c73433865f7664b836685e3664b3d8444a + +Cipher = chacha20 +Key = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +IV = 00000000000000000001020304050607 +Plaintext = 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Ciphertext = f798a189f195e66982105ffb640bb7757f579da31602fc93ec01ac56f85ac3c134a4547b733b46413042c9440049176905d3be59ea1c53f15916155c2be8241a38008b9a26bc35941e2444177c8ade6689de95264986d95889fb60e84629c9bd9a5acb1cc118be563eb9b3a4a472f82e09a7e778492b562ef7130e88dfe031c79db9d4f7c7a899151b9a475032b63fc385245fe054e3dd5a97a5f576fe064025d3ce042c566ab2c507b138db853e3d6959660996546cc9c4a6eafdc777c040d70eaf46f76dad3979e5c5360c3317166a1c894c94a371876a94df7628fe4eaaf2ccb27d5aaae0ad7ad0f9d4b6ad3b54098746d4524d38407a6deb3ab78fab78c94213668bbbd394c5de93b853178addd6b97f9fa1ec3e56c00c9ddff0a44a204241175a4cab0f961ba53ede9bdf960b94f9829b1f3414726429b362c5b538e391520f489b7ed8d20ae3fd49e9e259e44397514d618c96c4846be3c680bdc11c71dcbbe29ccf80d62a0938fa549391e6ea57ecbe2606790ec15d2224ae307c144226b7c4e8c2f97d2a1d67852d29beba110edd445197012062a393a9c92803ad3b4f31d7bc6033ccf7932cfed3f019044d25905916777286f82f9a4cc1ffe430ffd1dcfc27deed327b9f9630d2fa969fb6f0603cd19dd9a9519e673bcfcd9014125291a44669ef7285e74ed3729b677f801c3cdf058c50963168b496043716c7307cd9e0cdd137fccb0f05b47cdbb95c5f54831622c3652a32b2531fe326bcd6e2bbf56a194fa196fbd1a54952110f51c73433865f7664b836685e3664b3d8444aF89A242805E18C975F1146324996FDE17007CF3E6E8F4E764022533EDBFE07D4733E48BB372D75B0EF48EC983EB78532161CC529E5ABB89837DFCCA6261DBB37C7C5E6A87478BF41EE85A518C0F4EFA9BDE828C5A71B8E46597B634AFD204D3C501334239C3414285ED72D3A9169EABBD4DC25D52BB7516D3BA712D75AD8C0AE + +Cipher = chacha20 +Key = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +IV = 00000000000000000001020304050607 +Plaintext = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Ciphertext = f798a189f195e66982105ffb640bb7757f579da31602fc93ec01ac56f85ac3c134a4547b733b46413042c9440049176905d3be59ea1c53f15916155c2be8241a38008b9a26bc35941e2444177c8ade6689de95264986d95889fb60e84629c9bd9a5acb1cc118be563eb9b3a4a472f82e09a7e778492b562ef7130e88dfe031c79db9d4f7c7a899151b9a475032b63fc385245fe054e3dd5a97a5f576fe064025d3ce042c566ab2c507b138db853e3d6959660996546cc9c4a6eafdc777c040d70eaf46f76dad3979e5c5360c3317166a1c894c94a371876a94df7628fe4eaaf2ccb27d5aaae0ad7ad0f9d4b6ad3b54098746d4524d38407a6deb3ab78fab78c94213668bbbd394c5de93b853178addd6b97f9fa1ec3e56c00c9ddff0a44a204241175a4cab0f961ba53ede9bdf960b94f9829b1f3414726429b362c5b538e391520f489b7ed8d20ae3fd49e9e259e44397514d618c96c4846be3c680bdc11c71dcbbe29ccf80d62a0938fa549391e6ea57ecbe2606790ec15d2224ae307c144226b7c4e8c2f97d2a1d67852d29beba110edd445197012062a393a9c92803ad3b4f31d7bc6033ccf7932cfed3f019044d25905916777286f82f9a4cc1ffe430ffd1dcfc27deed327b9f9630d2fa969fb6f0603cd19dd9a9519e673bcfcd9014125291a44669ef7285e74ed3729b677f801c3cdf058c50963168b496043716c7307cd9e0cdd137fccb0f05b47cdbb95c5f54831622c3652a32b2531fe326bcd6e2bbf56a194fa196fbd1a54952110f51c73433865f7664b836685e3664b3d8444aF89A242805E18C975F1146324996FDE17007CF3E6E8F4E764022533EDBFE07D4733E48BB372D75B0EF48EC983EB78532161CC529E5ABB89837DFCCA6261DBB37C7C5E6A87478BF41EE85A518C0F4EFA9BDE828C5A71B8E46597B634AFD204D3C501334239C3414285ED72D3A9169EABBD4DC25D52BB7516D3BA712D75AD8C0AE5D493C19E38A77939E7A058D713E9CCCCA58045F436B434B1C80D365472406E392951987DB6905C80D431DA18451135BE7E82BCAB358CB3971E61405B2FF1798 + +Cipher = chacha20 +Key = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +IV = 00000000000000000001020304050607 +Plaintext = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Ciphertext = f798a189f195e66982105ffb640bb7757f579da31602fc93ec01ac56f85ac3c134a4547b733b46413042c9440049176905d3be59ea1c53f15916155c2be8241a38008b9a26bc35941e2444177c8ade6689de95264986d95889fb60e84629c9bd9a5acb1cc118be563eb9b3a4a472f82e09a7e778492b562ef7130e88dfe031c79db9d4f7c7a899151b9a475032b63fc385245fe054e3dd5a97a5f576fe064025d3ce042c566ab2c507b138db853e3d6959660996546cc9c4a6eafdc777c040d70eaf46f76dad3979e5c5360c3317166a1c894c94a371876a94df7628fe4eaaf2ccb27d5aaae0ad7ad0f9d4b6ad3b54098746d4524d38407a6deb3ab78fab78c94213668bbbd394c5de93b853178addd6b97f9fa1ec3e56c00c9ddff0a44a204241175a4cab0f961ba53ede9bdf960b94f9829b1f3414726429b362c5b538e391520f489b7ed8d20ae3fd49e9e259e44397514d618c96c4846be3c680bdc11c71dcbbe29ccf80d62a0938fa549391e6ea57ecbe2606790ec15d2224ae307c144226b7c4e8c2f97d2a1d67852d29beba110edd445197012062a393a9c92803ad3b4f31d7bc6033ccf7932cfed3f019044d25905916777286f82f9a4cc1ffe430ffd1dcfc27deed327b9f9630d2fa969fb6f0603cd19dd9a9519e673bcfcd9014125291a44669ef7285e74ed3729b677f801c3cdf058c50963168b496043716c7307cd9e0cdd137fccb0f05b47cdbb95c5f54831622c3652a32b2531fe326bcd6e2bbf56a194fa196fbd1a54952110f51c73433865f7664b836685e3664b3d8444aF89A242805E18C975F1146324996FDE17007CF3E6E8F4E764022533EDBFE07D4733E48BB372D75B0EF48EC983EB78532161CC529E5ABB89837DFCCA6261DBB37C7C5E6A87478BF41EE85A518C0F4EFA9BDE828C5A71B8E46597B634AFD204D3C501334239C3414285ED72D3A9169EABBD4DC25D52BB7516D3BA712D75AD8C0AE5D493C19E38A77939E7A058D713E9CCCCA58045F436B434B1C80D365472406E392951987DB6905C80D431DA18451135BE7E82BCAB358CB3971E61405B2FF17980D6E7E67E861E28201C1EE30B441040FD06878D65042C95582A4318207BFC700BE0CE32889AEC2FFE5085E8967910D879FA0E8C0FF85FDC510B9FF2FBF87CFCB + +Cipher = chacha20 +Key = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +IV = 00000000000000000001020304050607 +Plaintext = 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Ciphertext = f798a189f195e66982105ffb640bb7757f579da31602fc93ec01ac56f85ac3c134a4547b733b46413042c9440049176905d3be59ea1c53f15916155c2be8241a38008b9a26bc35941e2444177c8ade6689de95264986d95889fb60e84629c9bd9a5acb1cc118be563eb9b3a4a472f82e09a7e778492b562ef7130e88dfe031c79db9d4f7c7a899151b9a475032b63fc385245fe054e3dd5a97a5f576fe064025d3ce042c566ab2c507b138db853e3d6959660996546cc9c4a6eafdc777c040d70eaf46f76dad3979e5c5360c3317166a1c894c94a371876a94df7628fe4eaaf2ccb27d5aaae0ad7ad0f9d4b6ad3b54098746d4524d38407a6deb3ab78fab78c94213668bbbd394c5de93b853178addd6b97f9fa1ec3e56c00c9ddff0a44a204241175a4cab0f961ba53ede9bdf960b94f9829b1f3414726429b362c5b538e391520f489b7ed8d20ae3fd49e9e259e44397514d618c96c4846be3c680bdc11c71dcbbe29ccf80d62a0938fa549391e6ea57ecbe2606790ec15d2224ae307c144226b7c4e8c2f97d2a1d67852d29beba110edd445197012062a393a9c92803ad3b4f31d7bc6033ccf7932cfed3f019044d25905916777286f82f9a4cc1ffe430ffd1dcfc27deed327b9f9630d2fa969fb6f0603cd19dd9a9519e673bcfcd9014125291a44669ef7285e74ed3729b677f801c3cdf058c50963168b496043716c7307cd9e0cdd137fccb0f05b47cdbb95c5f54831622c3652a32b2531fe326bcd6e2bbf56a194fa196fbd1a54952110f51c73433865f7664b836685e3664b3d8444aF89A242805E18C975F1146324996FDE17007CF3E6E8F4E764022533EDBFE07D4733E48BB372D75B0EF48EC983EB78532161CC529E5ABB89837DFCCA6261DBB37C7C5E6A87478BF41EE85A518C0F4EFA9BDE828C5A71B8E46597B634AFD204D3C501334239C3414285ED72D3A9169EABBD4DC25D52BB7516D3BA712D75AD8C0AE5D493C19E38A77939E7A058D713E9CCCCA58045F436B434B1C80D365472406E392951987DB6905C80D431DA18451135BE7E82BCAB358CB3971E61405B2FF17980D6E7E67E861E28201C1EE30B441040FD06878D65042C95582A4318207BFC700BE0CE32889AEC2FFE5085E8967910D879FA0E8C0FF85FDC510B9FF2FBF87CFCB29577D68099E04FFA05F752A73D377C70D3A8BC2DA80E6E780EC057182C33AD1DE387252258A1E18E6FAD910327CE7F42FD1E1E0515F9586E2F2EFCB9F472B1D + +Cipher = chacha20 +Key = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +IV = 00000000000000000001020304050607 +Plaintext = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Ciphertext = f798a189f195e66982105ffb640bb7757f579da31602fc93ec01ac56f85ac3c134a4547b733b46413042c9440049176905d3be59ea1c53f15916155c2be8241a38008b9a26bc35941e2444177c8ade6689de95264986d95889fb60e84629c9bd9a5acb1cc118be563eb9b3a4a472f82e09a7e778492b562ef7130e88dfe031c79db9d4f7c7a899151b9a475032b63fc385245fe054e3dd5a97a5f576fe064025d3ce042c566ab2c507b138db853e3d6959660996546cc9c4a6eafdc777c040d70eaf46f76dad3979e5c5360c3317166a1c894c94a371876a94df7628fe4eaaf2ccb27d5aaae0ad7ad0f9d4b6ad3b54098746d4524d38407a6deb3ab78fab78c94213668bbbd394c5de93b853178addd6b97f9fa1ec3e56c00c9ddff0a44a204241175a4cab0f961ba53ede9bdf960b94f9829b1f3414726429b362c5b538e391520f489b7ed8d20ae3fd49e9e259e44397514d618c96c4846be3c680bdc11c71dcbbe29ccf80d62a0938fa549391e6ea57ecbe2606790ec15d2224ae307c144226b7c4e8c2f97d2a1d67852d29beba110edd445197012062a393a9c92803ad3b4f31d7bc6033ccf7932cfed3f019044d25905916777286f82f9a4cc1ffe430ffd1dcfc27deed327b9f9630d2fa969fb6f0603cd19dd9a9519e673bcfcd9014125291a44669ef7285e74ed3729b677f801c3cdf058c50963168b496043716c7307cd9e0cdd137fccb0f05b47cdbb95c5f54831622c3652a32b2531fe326bcd6e2bbf56a194fa196fbd1a54952110f51c73433865f7664b836685e3664b3d8444aF89A242805E18C975F1146324996FDE17007CF3E6E8F4E764022533EDBFE07D4733E48BB372D75B0EF48EC983EB78532161CC529E5ABB89837DFCCA6261DBB37C7C5E6A87478BF41EE85A518C0F4EFA9BDE828C5A71B8E46597B634AFD204D3C501334239C3414285ED72D3A9169EABBD4DC25D52BB7516D3BA712D75AD8C0AE5D493C19E38A77939E7A058D713E9CCCCA58045F436B434B1C80D365472406E392951987DB6905C80D431DA18451135BE7E82BCAB358CB3971E61405B2FF17980D6E7E67E861E28201C1EE30B441040FD06878D65042C95582A4318207BFC700BE0CE32889AEC2FFE5085E8967910D879FA0E8C0FF85FDC510B9FF2FBF87CFCB29577D68099E04FFA05F752A73D377C70D3A8BC2DA80E6E780EC057182C33AD1DE387252258A1E18E6FAD910327CE7F42FD1E1E0515F9586E2F2EFCB9F472B1DBDBAC354A4162151E9D92C79FB08BB4DDC56F19448C0175A46E2E6C491FEC71419AA43A349BEA768A92C75DE68FD9591E68067F3197094D3FB87ED81785EA075 + +Cipher = chacha20 +Key = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +IV = 00000000000000000001020304050607 +Plaintext = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Ciphertext = f798a189f195e66982105ffb640bb7757f579da31602fc93ec01ac56f85ac3c134a4547b733b46413042c9440049176905d3be59ea1c53f15916155c2be8241a38008b9a26bc35941e2444177c8ade6689de95264986d95889fb60e84629c9bd9a5acb1cc118be563eb9b3a4a472f82e09a7e778492b562ef7130e88dfe031c79db9d4f7c7a899151b9a475032b63fc385245fe054e3dd5a97a5f576fe064025d3ce042c566ab2c507b138db853e3d6959660996546cc9c4a6eafdc777c040d70eaf46f76dad3979e5c5360c3317166a1c894c94a371876a94df7628fe4eaaf2ccb27d5aaae0ad7ad0f9d4b6ad3b54098746d4524d38407a6deb3ab78fab78c94213668bbbd394c5de93b853178addd6b97f9fa1ec3e56c00c9ddff0a44a204241175a4cab0f961ba53ede9bdf960b94f9829b1f3414726429b362c5b538e391520f489b7ed8d20ae3fd49e9e259e44397514d618c96c4846be3c680bdc11c71dcbbe29ccf80d62a0938fa549391e6ea57ecbe2606790ec15d2224ae307c144226b7c4e8c2f97d2a1d67852d29beba110edd445197012062a393a9c92803ad3b4f31d7bc6033ccf7932cfed3f019044d25905916777286f82f9a4cc1ffe430ffd1dcfc27deed327b9f9630d2fa969fb6f0603cd19dd9a9519e673bcfcd9014125291a44669ef7285e74ed3729b677f801c3cdf058c50963168b496043716c7307cd9e0cdd137fccb0f05b47cdbb95c5f54831622c3652a32b2531fe326bcd6e2bbf56a194fa196fbd1a54952110f51c73433865f7664b836685e3664b3d8444aF89A242805E18C975F1146324996FDE17007CF3E6E8F4E764022533EDBFE07D4733E48BB372D75B0EF48EC983EB78532161CC529E5ABB89837DFCCA6261DBB37C7C5E6A87478BF41EE85A518C0F4EFA9BDE828C5A71B8E46597B634AFD204D3C501334239C3414285ED72D3A9169EABBD4DC25D52BB7516D3BA712D75AD8C0AE5D493C19E38A77939E7A058D713E9CCCCA58045F436B434B1C80D365472406E392951987DB6905C80D431DA18451135BE7E82BCAB358CB3971E61405B2FF17980D6E7E67E861E28201C1EE30B441040FD06878D65042C95582A4318207BFC700BE0CE32889AEC2FFE5085E8967910D879FA0E8C0FF85FDC510B9FF2FBF87CFCB29577D68099E04FFA05F752A73D377C70D3A8BC2DA80E6E780EC057182C33AD1DE387252258A1E18E6FAD910327CE7F42FD1E1E0515F9586E2F2EFCB9F472B1DBDBAC354A4162151E9D92C79FB08BB4DDC56F19448C0175A46E2E6C491FEC71419AA43A349BEA768A92C75DE68FD9591E68067F3197094D3FB87ED81785EA075E4B65E3E4C78F81DA9B751C5EFE024152301C48E63245B556C4C67AFF857E5EA15A908D83A1D9704F8E55E7352B20B694BF9970298E6B5AAD33EA2155D105D4E + +Cipher = chacha20 +Key = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +IV = 00000000000000000001020304050607 +Plaintext = 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Ciphertext = f798a189f195e66982105ffb640bb7757f579da31602fc93ec01ac56f85ac3c134a4547b733b46413042c9440049176905d3be59ea1c53f15916155c2be8241a38008b9a26bc35941e2444177c8ade6689de95264986d95889fb60e84629c9bd9a5acb1cc118be563eb9b3a4a472f82e09a7e778492b562ef7130e88dfe031c79db9d4f7c7a899151b9a475032b63fc385245fe054e3dd5a97a5f576fe064025d3ce042c566ab2c507b138db853e3d6959660996546cc9c4a6eafdc777c040d70eaf46f76dad3979e5c5360c3317166a1c894c94a371876a94df7628fe4eaaf2ccb27d5aaae0ad7ad0f9d4b6ad3b54098746d4524d38407a6deb3ab78fab78c94213668bbbd394c5de93b853178addd6b97f9fa1ec3e56c00c9ddff0a44a204241175a4cab0f961ba53ede9bdf960b94f9829b1f3414726429b362c5b538e391520f489b7ed8d20ae3fd49e9e259e44397514d618c96c4846be3c680bdc11c71dcbbe29ccf80d62a0938fa549391e6ea57ecbe2606790ec15d2224ae307c144226b7c4e8c2f97d2a1d67852d29beba110edd445197012062a393a9c92803ad3b4f31d7bc6033ccf7932cfed3f019044d25905916777286f82f9a4cc1ffe430ffd1dcfc27deed327b9f9630d2fa969fb6f0603cd19dd9a9519e673bcfcd9014125291a44669ef7285e74ed3729b677f801c3cdf058c50963168b496043716c7307cd9e0cdd137fccb0f05b47cdbb95c5f54831622c3652a32b2531fe326bcd6e2bbf56a194fa196fbd1a54952110f51c73433865f7664b836685e3664b3d8444aF89A242805E18C975F1146324996FDE17007CF3E6E8F4E764022533EDBFE07D4733E48BB372D75B0EF48EC983EB78532161CC529E5ABB89837DFCCA6261DBB37C7C5E6A87478BF41EE85A518C0F4EFA9BDE828C5A71B8E46597B634AFD204D3C501334239C3414285ED72D3A9169EABBD4DC25D52BB7516D3BA712D75AD8C0AE5D493C19E38A77939E7A058D713E9CCCCA58045F436B434B1C80D365472406E392951987DB6905C80D431DA18451135BE7E82BCAB358CB3971E61405B2FF17980D6E7E67E861E28201C1EE30B441040FD06878D65042C95582A4318207BFC700BE0CE32889AEC2FFE5085E8967910D879FA0E8C0FF85FDC510B9FF2FBF87CFCB29577D68099E04FFA05F752A73D377C70D3A8BC2DA80E6E780EC057182C33AD1DE387252258A1E18E6FAD910327CE7F42FD1E1E0515F9586E2F2EFCB9F472B1DBDBAC354A4162151E9D92C79FB08BB4DDC56F19448C0175A46E2E6C491FEC71419AA43A349BEA768A92C75DE68FD9591E68067F3197094D3FB87ED81785EA075E4B65E3E4C78F81DA9B751C5EFE024152301C48E63245B556C4C67AFF857E5EA15A908D83A1D9704F8E55E7352B20B694BF9970298E6B5AAD33EA2155D105D4E637D1E87C40A8E5F4E8C5A16A4B8F3DC27B31721D77A65FD1ED6F86BE25FB95DB29B1988493770A7C60E451FF97DD241A236851FC425691979FE30226559AD95 + +# RFC7539 +Cipher = chacha20-poly1305 +Key = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f +IV = 070000004041424344454647 +AAD = 50515253c0c1c2c3c4c5c6c7 +Tag = 1ae10b594f09e26a7e902ecbd0600691 +Plaintext = 4c616469657320616e642047656e746c656d656e206f662074686520636c617373206f66202739393a204966204920636f756c64206f6666657220796f75206f6e6c79206f6e652074697020666f7220746865206675747572652c2073756e73637265656e20776f756c642062652069742e +Ciphertext = d31a8d34648e60db7b86afbc53ef7ec2a4aded51296e08fea9e2b5a736ee62d63dbea45e8ca9671282fafb69da92728b1a71de0a9e060b2905d6a5b67ecd3b3692ddbd7f2d778b8c9803aee328091b58fab324e4fad675945585808b4831d7bc3ff4def08e4b7a9de576d26586cec64b6116 + +Cipher = chacha20-poly1305 +Key = 1c9240a5eb55d38af333888604f6b5f0473917c1402b80099dca5cbc207075c0 +IV = 000000000102030405060708 +AAD = f33388860000000000004e91 +Tag = eead9d67890cbb22392336fea1851f38 +Plaintext = 496e7465726e65742d4472616674732061726520647261667420646f63756d656e74732076616c696420666f722061206d6178696d756d206f6620736978206d6f6e74687320616e64206d617920626520757064617465642c207265706c616365642c206f72206f62736f6c65746564206279206f7468657220646f63756d656e747320617420616e792074696d652e20497420697320696e617070726f70726961746520746f2075736520496e7465726e65742d447261667473206173207265666572656e6365206d6174657269616c206f7220746f2063697465207468656d206f74686572207468616e206173202fe2809c776f726b20696e2070726f67726573732e2fe2809d +Ciphertext = 64a0861575861af460f062c79be643bd5e805cfd345cf389f108670ac76c8cb24c6cfc18755d43eea09ee94e382d26b0bdb7b73c321b0100d4f03b7f355894cf332f830e710b97ce98c8a84abd0b948114ad176e008d33bd60f982b1ff37c8559797a06ef4f0ef61c186324e2b3506383606907b6a7c02b0f9f6157b53c867e4b9166c767b804d46a59b5216cde7a4e99040c5a40433225ee282a1b0a06c523eaf4534d7f83fa1155b0047718cbc546a0d072b04b3564eea1b422273f548271a0bb2316053fa76991955ebd63159434ecebb4e466dae5a1073a6727627097a1049e617d91d361094fa68f0ff77987130305beaba2eda04df997b714d6c6f2c29a6ad5cb4022b02709b + +Cipher = chacha20-poly1305 +Key = 1c9240a5eb55d38af333888604f6b5f0473917c1402b80099dca5cbc207075c0 +IV = 000000000102030405060708 +AAD = f33388860000000000004e91 +Tag = eead9d67890cbb22392336fea1851f39 +Plaintext = 496e7465726e65742d4472616674732061726520647261667420646f63756d656e74732076616c696420666f722061206d6178696d756d206f6620736978206d6f6e74687320616e64206d617920626520757064617465642c207265706c616365642c206f72206f62736f6c65746564206279206f7468657220646f63756d656e747320617420616e792074696d652e20497420697320696e617070726f70726961746520746f2075736520496e7465726e65742d447261667473206173207265666572656e6365206d6174657269616c206f7220746f2063697465207468656d206f74686572207468616e206173202fe2809c776f726b20696e2070726f67726573732e2fe2809d +Ciphertext = 64a0861575861af460f062c79be643bd5e805cfd345cf389f108670ac76c8cb24c6cfc18755d43eea09ee94e382d26b0bdb7b73c321b0100d4f03b7f355894cf332f830e710b97ce98c8a84abd0b948114ad176e008d33bd60f982b1ff37c8559797a06ef4f0ef61c186324e2b3506383606907b6a7c02b0f9f6157b53c867e4b9166c767b804d46a59b5216cde7a4e99040c5a40433225ee282a1b0a06c523eaf4534d7f83fa1155b0047718cbc546a0d072b04b3564eea1b422273f548271a0bb2316053fa76991955ebd63159434ecebb4e466dae5a1073a6727627097a1049e617d91d361094fa68f0ff77987130305beaba2eda04df997b714d6c6f2c29a6ad5cb4022b02709b +Operation = DECRYPT +Result = CIPHERFINAL_ERROR + + +# self-generated vectors +Cipher = chacha20-poly1305 +Key = 1c9240a5eb55d38af333888604f6b5f0473917c1402b80099dca5cbc207075c0 +IV = 000000000102030405060708 +AAD = f33388860000000000004e91 +Tag = d96119a40cd17f2527306866a3ef0413 +Plaintext = 496e7465726e65742d4472616674732061726520647261667420646f63756d656e74732076616c696420666f722061206d6178696d756d206f6620736978206d6f6e74687320616e64206d617920626520757064617465642c207265706c616365642c206f72206f62736f6c65746564206279206f7468657220646f63756d656e747320617420616e792074696d652e20497420697320696e617070726f70726961746520746f2075736520496e7465726e65742d4472616674732061732072 +Ciphertext = 64a0861575861af460f062c79be643bd5e805cfd345cf389f108670ac76c8cb24c6cfc18755d43eea09ee94e382d26b0bdb7b73c321b0100d4f03b7f355894cf332f830e710b97ce98c8a84abd0b948114ad176e008d33bd60f982b1ff37c8559797a06ef4f0ef61c186324e2b3506383606907b6a7c02b0f9f6157b53c867e4b9166c767b804d46a59b5216cde7a4e99040c5a40433225ee282a1b0a06c523eaf4534d7f83fa1155b0047718cbc546a0d072b04b3564eea1b422273f548271a + +Cipher = chacha20-poly1305 +Key = 1c9240a5eb55d38af333888604f6b5f0473917c1402b80099dca5cbc207075c0 +IV = 000000000102030405060708 +AAD = f33388860000000000004e91 +Tag = 53aee3189d2b747032378a6186feb43f +Plaintext = 496e7465726e65742d4472616674732061726520647261667420646f63756d656e74732076616c696420666f722061206d6178696d756d206f6620736978206d6f6e74687320616e64206d617920626520757064617465642c207265706c616365642c206f72206f62736f6c65746564206279206f7468657220646f63756d656e747320617420616e792074696d652e20497420697320696e617070726f70726961746520746f2075736520496e7465726e65742d447261667473206173207265666572656e6365206d6174657269616c206f7220746f2063697465207468656d206f74686572207468616e206173202fe2809c776f726b20696e2070726f67496e7465726e65742d4472616674732061726520647261667420646f63756d656e74732076616c696420666f722061206d6178696d756d206f6620736978206d6f6e74687320616e64206d617920626520757064617465642c207265706c616365642c206f72206f62736f6c65746564206279206f7468657220646f63756d656e747320617420616e792074696d652e20497420697320696e617070726f70726961746520746f2075736520496e7465726e65742d447261667473206173207265666572656e6365206d6174657269616c206f7220746f2063697465207468656d206f74686572207468616e206173202fe2809c776f726b20696e2070726f67 +Ciphertext = 64a0861575861af460f062c79be643bd5e805cfd345cf389f108670ac76c8cb24c6cfc18755d43eea09ee94e382d26b0bdb7b73c321b0100d4f03b7f355894cf332f830e710b97ce98c8a84abd0b948114ad176e008d33bd60f982b1ff37c8559797a06ef4f0ef61c186324e2b3506383606907b6a7c02b0f9f6157b53c867e4b9166c767b804d46a59b5216cde7a4e99040c5a40433225ee282a1b0a06c523eaf4534d7f83fa1155b0047718cbc546a0d072b04b3564eea1b422273f548271a0bb2316053fa76991955ebd63159434ecebb4e466dae5a1073a6727627097a1049e617d91d361094fa68f0ff77987130305beaba2eda04df997b714d6c6f2c299da65ba25e6a85842bf0440fd98a9a2266b061c4b3a13327c090f9a0789f58aad805275e4378a525f19232bfbfb749ede38480f405cf43ec2f1f8619ebcbc80a89e92a859c7911e674977ab17d4a7126a6b8a477358ff14a344d276ef6e504e10268ac3619fcf90c2d6c03fc2e3d1f290d9bf26c1fa1495dd8f97eec6229a55c2354e4524143551a5cc370a1c622c9390530cff21c3e1ed50c5e3daf97518ccce34156bdbd7eafab8bd417aef25c6c927301731bd319d247a1d5c3186ed10bfd9a7a24bac30e3e4503ed9204154d338b79ea276e7058e7f20f4d4fd1ac93d63f611af7b6d006c2a72add0eedc497b19cb30a198816664f0da00155f2e2d6ac61 + +Cipher = chacha20-poly1305 +Key = 1c9240a5eb55d38af333888604f6b5f0473917c1402b80099dca5cbc207075c0 +IV = 000000000102030405060708 +AAD = f33388860000000000004e91 +Tag = e0723bce23528ce6ccb10ff9627038bf +Plaintext = 496e7465726e65742d4472616674732061726520647261667420646f63756d656e74732076616c696420666f722061206d6178696d756d206f6620736978206d6f6e74687320616e64206d617920626520757064617465642c207265706c616365642c206f72206f62736f6c65746564206279206f7468657220646f63756d656e747320617420616e792074696d652e20497420697320696e617070726f70726961746520746f2075736520496e7465726e65742d447261667473206173207265666572656e6365206d6174657269616c206f7220746f2063697465207468656d206f74686572207468616e206173202fe2809c776f726b20696e2070726f67496e7465726e65742d4472616674732061726520647261667420646f63756d656e74732076616c696420666f722061206d6178696d756d206f6620736978206d6f6e74687320616e64206d617920626520757064617465642c207265706c616365642c206f72206f62736f6c65746564206279206f7468657220646f63756d656e747320617420616e792074696d652e20497420697320696e617070726f70726961746520746f2075736520496e7465726e65742d447261667473206173207265666572656e6365206d6174657269616c206f7220746f2063697465207468656d206f74686572207468616e206173202fe2809c776f726b20696e2070726f67496e7465726e65742d4472616674732061726520647261667420646f63756d656e74732076616c696420666f722061206d6178696d756d206f6620736978206d +Ciphertext = 64a0861575861af460f062c79be643bd5e805cfd345cf389f108670ac76c8cb24c6cfc18755d43eea09ee94e382d26b0bdb7b73c321b0100d4f03b7f355894cf332f830e710b97ce98c8a84abd0b948114ad176e008d33bd60f982b1ff37c8559797a06ef4f0ef61c186324e2b3506383606907b6a7c02b0f9f6157b53c867e4b9166c767b804d46a59b5216cde7a4e99040c5a40433225ee282a1b0a06c523eaf4534d7f83fa1155b0047718cbc546a0d072b04b3564eea1b422273f548271a0bb2316053fa76991955ebd63159434ecebb4e466dae5a1073a6727627097a1049e617d91d361094fa68f0ff77987130305beaba2eda04df997b714d6c6f2c299da65ba25e6a85842bf0440fd98a9a2266b061c4b3a13327c090f9a0789f58aad805275e4378a525f19232bfbfb749ede38480f405cf43ec2f1f8619ebcbc80a89e92a859c7911e674977ab17d4a7126a6b8a477358ff14a344d276ef6e504e10268ac3619fcf90c2d6c03fc2e3d1f290d9bf26c1fa1495dd8f97eec6229a55c2354e4524143551a5cc370a1c622c9390530cff21c3e1ed50c5e3daf97518ccce34156bdbd7eafab8bd417aef25c6c927301731bd319d247a1d5c3186ed10bfd9a7a24bac30e3e4503ed9204154d338b79ea276e7058e7f20f4d4fd1ac93d63f611af7b6d006c2a72add0eedc497b19cb30a198816664f0da00155f2e2d6ac61045b296d614301e0ad4983308028850dd4feffe3a8163970306e4047f5a165cb4befbc129729cd2e286e837e9b606486d402acc3dec5bf8b92387f6e486f2140 diff --git a/deps/openssl/openssl/test/recipes/30-test_evp_data/evpdigest.txt b/deps/openssl/openssl/test/recipes/30-test_evp_data/evpdigest.txt new file mode 100644 index 00000000000..6579e698838 --- /dev/null +++ b/deps/openssl/openssl/test/recipes/30-test_evp_data/evpdigest.txt @@ -0,0 +1,224 @@ +# +# Copyright 2001-2018 The OpenSSL Project Authors. All Rights Reserved. +# +# Licensed under the OpenSSL license (the "License"). You may not use +# this file except in compliance with the License. You can obtain a copy +# in the file LICENSE in the source distribution or at +# https://www.openssl.org/source/license.html + +# Tests start with one of these keywords +# Cipher Decrypt Derive Digest Encoding KDF MAC PBE +# PrivPubKeyPair Sign Verify VerifyRecover +# and continue until a blank line. Lines starting with a pound sign, +# like this prolog, are ignored. + +# BLAKE2 tests, using same inputs as MD5 +# There are no official BLAKE2 test vectors we can use since they all use a key +# Which is currently unsupported by OpenSSL. They were generated using the +# reference implementation. RFC7693 also mentions the 616263 / "abc" values. + +Digest = BLAKE2s256 +Input = +Output = 69217a3079908094e11121d042354a7c1f55b6482ca1a51e1b250dfd1ed0eef9 + +Digest = BLAKE2s256 +Input = 61 +Output = 4a0d129873403037c2cd9b9048203687f6233fb6738956e0349bd4320fec3e90 + +Digest = BLAKE2s256 +Input = 616263 +Output = 508c5e8c327c14e2e1a72ba34eeb452f37458b209ed63a294d999b4c86675982 + +Digest = BLAKE2s256 +Input = 6d65737361676520646967657374 +Output = fa10ab775acf89b7d3c8a6e823d586f6b67bdbac4ce207fe145b7d3ac25cd28c + +Digest = BLAKE2s256 +Input = 6162636465666768696a6b6c6d6e6f707172737475767778797a +Output = bdf88eb1f86a0cdf0e840ba88fa118508369df186c7355b4b16cf79fa2710a12 + +Digest = BLAKE2s256 +Input = 4142434445464748494a4b4c4d4e4f505152535455565758595a6162636465666768696a6b6c6d6e6f707172737475767778797a30313233343536373839 +Output = c75439ea17e1de6fa4510c335dc3d3f343e6f9e1ce2773e25b4174f1df8b119b + +Digest = BLAKE2s256 +Input = 3132333435363738393031323334353637383930313233343536373839303132333435363738393031323334353637383930313233343536373839303132333435363738393031323334353637383930 +Output = fdaedb290a0d5af9870864fec2e090200989dc9cd53a3c092129e8535e8b4f66 + +Digest = BLAKE2s256 +Input = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F +Output = 1FA877DE67259D19863A2A34BCC6962A2B25FCBF5CBECD7EDE8F1FA36688A796 + +Digest = BLAKE2s256 +Input = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F8081 +Output = C80ABEEBB669AD5DEEB5F5EC8EA6B7A05DDF7D31EC4C0A2EE20B0B98CAEC6746 + +Digest = BLAKE2b512 +Input = +Output = 786a02f742015903c6c6fd852552d272912f4740e15847618a86e217f71f5419d25e1031afee585313896444934eb04b903a685b1448b755d56f701afe9be2ce + +Digest = BLAKE2b512 +Input = 61 +Output = 333fcb4ee1aa7c115355ec66ceac917c8bfd815bf7587d325aec1864edd24e34d5abe2c6b1b5ee3face62fed78dbef802f2a85cb91d455a8f5249d330853cb3c + +Digest = BLAKE2b512 +Input = 616263 +Output = ba80a53f981c4d0d6a2797b69f12f6e94c212f14685ac4b74b12bb6fdbffa2d17d87c5392aab792dc252d5de4533cc9518d38aa8dbf1925ab92386edd4009923 + +Digest = BLAKE2b512 +Input = 6d65737361676520646967657374 +Output = 3c26ce487b1c0f062363afa3c675ebdbf5f4ef9bdc022cfbef91e3111cdc283840d8331fc30a8a0906cff4bcdbcd230c61aaec60fdfad457ed96b709a382359a + +Digest = BLAKE2b512 +Input = 6162636465666768696a6b6c6d6e6f707172737475767778797a +Output = c68ede143e416eb7b4aaae0d8e48e55dd529eafed10b1df1a61416953a2b0a5666c761e7d412e6709e31ffe221b7a7a73908cb95a4d120b8b090a87d1fbedb4c + +Digest = BLAKE2b512 +Input = 4142434445464748494a4b4c4d4e4f505152535455565758595a6162636465666768696a6b6c6d6e6f707172737475767778797a30313233343536373839 +Output = 99964802e5c25e703722905d3fb80046b6bca698ca9e2cc7e49b4fe1fa087c2edf0312dfbb275cf250a1e542fd5dc2edd313f9c491127c2e8c0c9b24168e2d50 + +Digest = BLAKE2b512 +Input = 3132333435363738393031323334353637383930313233343536373839303132333435363738393031323334353637383930313233343536373839303132333435363738393031323334353637383930 +Output = 686f41ec5afff6e87e1f076f542aa466466ff5fbde162c48481ba48a748d842799f5b30f5b67fc684771b33b994206d05cc310f31914edd7b97e41860d77d282 + +Digest = BLAKE2b512 +Input = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F +Output = 2319E3789C47E2DAA5FE807F61BEC2A1A6537FA03F19FF32E87EECBFD64B7E0E8CCFF439AC333B040F19B0C4DDD11A61E24AC1FE0F10A039806C5DCC0DA3D115 + +Digest = BLAKE2b512 +Input = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F8081 +Output = DF0A9D0C212843A6A934E3902B2DD30D17FBA5F969D2030B12A546D8A6A45E80CF5635F071F0452E9C919275DA99BED51EB1173C1AF0518726B75B0EC3BAE2B5 + +# SHA(1) tests (from shatest.c) +Digest = SHA1 +Input = 616263 +Output = a9993e364706816aba3e25717850c26c9cd0d89d + +# MD5 tests +Digest = MD5 +Input = +Output = d41d8cd98f00b204e9800998ecf8427e + +Digest = MD5 +Input = 61 +Output = 0cc175b9c0f1b6a831c399e269772661 + +Digest = MD5 +Input = 616263 +Output = 900150983cd24fb0d6963f7d28e17f72 + +Digest = MD5 +Input = 6d65737361676520646967657374 +Output = f96b697d7cb7938d525a2f31aaf161d0 + +Digest = MD5 +Input = 6162636465666768696a6b6c6d6e6f707172737475767778797a +Output = c3fcd3d76192e4007dfb496cca67e13b + +Digest = MD5 +Input = 4142434445464748494a4b4c4d4e4f505152535455565758595a6162636465666768696a6b6c6d6e6f707172737475767778797a30313233343536373839 +Output = d174ab98d277d9f5a5611c2c9f419d9f + +Digest = MD5 +Input = 3132333435363738393031323334353637383930313233343536373839303132333435363738393031323334353637383930313233343536373839303132333435363738393031323334353637383930 +Output = 57edf4a22be3c955ac49da2e2107b67a + +# MD4 tests +Digest = MD4 +Input = "" +Output = 31d6cfe0d16ae931b73c59d7e0c089c0 + +Digest = MD4 +Input = "a" +Output = bde52cb31de33e46245e05fbdbd6fb24 + +Digest = MD4 +Input = "abc" +Output = a448017aaf21d8525fc10ae87aa6729d + +Digest = MD4 +Input = "message digest" +Output = d9130a8164549fe818874806e1c7014b + +Digest = MD4 +Input = "abcdefghijklmnopqrstuvwxyz" +Output = d79e1c308aa5bbcdeea8ed63df412da9 + +Digest = MD4 +Input = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789" +Output = 043f8582f241db351ce627e153e7f0e4 + +Digest = MD4 +Input = "12345678901234567890123456789012345678901234567890123456789012345678901234567890" +Output = e33b4ddc9c38f2199c3e7b164fcc0536 + +# RIPEMD160 tests +Digest = RIPEMD160 +Input = "" +Output = 9c1185a5c5e9fc54612808977ee8f548b2258d31 + +Digest = RIPEMD160 +Input = "a" +Output = 0bdc9d2d256b3ee9daae347be6f4dc835a467ffe + +Digest = RIPEMD160 +Input = "abc" +Output = 8eb208f7e05d987a9b044a8e98c6b087f15a0bfc + +Digest = RIPEMD160 +Input = "message digest" +Output = 5d0689ef49d2fae572b881b123a85ffa21595f36 + +Digest = RIPEMD160 +Input = "abcdefghijklmnopqrstuvwxyz" +Output = f71c27109c692c1b56bbdceb5b9d2865b3708dbc + +Digest = RIPEMD160 +Input = "abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq" +Output = 12a053384a9c0c88e405a06c27dcf49ada62eb2b + +Digest = RIPEMD160 +Input = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789" +Output = b0e20b6e3116640286ed3a87a5713079b21f5189 + +Digest = RIPEMD160 +Input = "12345678901234567890123456789012345678901234567890123456789012345678901234567890" +Output = 9b752e45573d4b39f4dbd3323cab82bf63326bfb + +# ISO/IEC 10118-3 test vector set +Digest = whirlpool +Input = "" +Output = 19FA61D75522A4669B44E39C1D2E1726C530232130D407F89AFEE0964997F7A73E83BE698B288FEBCF88E3E03C4F0757EA8964E59B63D93708B138CC42A66EB3 + +Digest = whirlpool +Input = "a" +Output = 8ACA2602792AEC6F11A67206531FB7D7F0DFF59413145E6973C45001D0087B42D11BC645413AEFF63A42391A39145A591A92200D560195E53B478584FDAE231A + +Digest = whirlpool +Input = "abc" +Output = 4E2448A4C6F486BB16B6562C73B4020BF3043E3A731BCE721AE1B303D97E6D4C7181EEBDB6C57E277D0E34957114CBD6C797FC9D95D8B582D225292076D4EEF5 + +Digest = whirlpool +Input = "message digest" +Output = 378C84A4126E2DC6E56DCC7458377AAC838D00032230F53CE1F5700C0FFB4D3B8421557659EF55C106B4B52AC5A4AAA692ED920052838F3362E86DBD37A8903E + +Digest = whirlpool +Input = "abcdefghijklmnopqrstuvwxyz" +Output = F1D754662636FFE92C82EBB9212A484A8D38631EAD4238F5442EE13B8054E41B08BF2A9251C30B6A0B8AAE86177AB4A6F68F673E7207865D5D9819A3DBA4EB3B + +Digest = whirlpool +Input = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789" +Output = DC37E008CF9EE69BF11F00ED9ABA26901DD7C28CDEC066CC6AF42E40F82F3A1E08EBA26629129D8FB7CB57211B9281A65517CC879D7B962142C65F5A7AF01467 + +Digest = whirlpool +Input = "12345678901234567890123456789012345678901234567890123456789012345678901234567890" +Output = 466EF18BABB0154D25B9D38A6414F5C08784372BCCB204D6549C4AFADB6014294D5BD8DF2A6C44E538CD047B2681A51A2C60481E88C5A20B2C2A80CF3A9A083B + +Digest = whirlpool +Input = "abcdbcdecdefdefgefghfghighijhijk" +Output = 2A987EA40F917061F5D6F0A0E4644F488A7A5A52DEEE656207C562F988E95C6916BDC8031BC5BE1B7B947639FE050B56939BAAA0ADFF9AE6745B7B181C3BE3FD + +Digest = whirlpool +Input = "aaaaaaaaaa" +Count = 100000 +Output = 0C99005BEB57EFF50A7CF005560DDF5D29057FD86B20BFD62DECA0F1CCEA4AF51FC15490EDDC47AF32BB2B66C34FF9AD8C6008AD677F77126953B226E4ED8B01 diff --git a/deps/openssl/openssl/test/recipes/30-test_evp_data/evpencod.txt b/deps/openssl/openssl/test/recipes/30-test_evp_data/evpencod.txt new file mode 100644 index 00000000000..010a88f9353 --- /dev/null +++ b/deps/openssl/openssl/test/recipes/30-test_evp_data/evpencod.txt @@ -0,0 +1,192 @@ +# +# Copyright 2001-2018 The OpenSSL Project Authors. All Rights Reserved. +# +# Licensed under the OpenSSL license (the "License"). You may not use +# this file except in compliance with the License. You can obtain a copy +# in the file LICENSE in the source distribution or at +# https://www.openssl.org/source/license.html + +# Tests start with one of these keywords +# Cipher Decrypt Derive Digest Encoding KDF MAC PBE +# PrivPubKeyPair Sign Verify VerifyRecover +# and continue until a blank line. Lines starting with a pound sign, +# like this prolog, are ignored. + +# Base64 tests + +Encoding = canonical +Input = "" +Output = "" + +Encoding = canonical +Input = "h" +Output = "aA==\n" + +Encoding = canonical +Input = "hello" +Output = "aGVsbG8=\n" + +Encoding = canonical +Input = "hello world!" +Output = "aGVsbG8gd29ybGQh\n" + +Encoding = canonical +Input = 00010203040506070809a0b0c0d0e0f000 +Output = "AAECAwQFBgcICaCwwNDg8AA=\n" + +# Missing padding +Encoding = invalid +Output = "aGVsbG8" + +Encoding = invalid +Output = "aGVsbG8\n" + +# Tolerate missing newline +Encoding = valid +Input = "hello" +Output = "aGVsbG8=" + +# Don't tolerate extra trailing '=' +Encoding = invalid +Input = "hello" +Output = "aGVsbG8==\n" + +Encoding = invalid +Output = "aGVsbG8===\n" + +# Don't tolerate data after '=' +Encoding = invalid +Output = "aGV=sbG8=\n" + +# Newlines are ignored +Encoding = valid +Input = "hello" +Output = "aGV\nsbG8=\n" + +Encoding = canonical +Input = "hello" +Output = 614756736247383d0a + +# Invalid characters +Encoding = invalid +Output = 614756736247383d0a00 + +Encoding = invalid +Output = 61475600736247383d0a + +Encoding = invalid +Output = 61475601736247383d0a + +Encoding = invalid +Output = 61475680736247383d0a + +Encoding = invalid +Output = e14756736247383d0a + +Encoding = canonical +Input = "OpenSSLOpenSSL\n" +Output = "T3BlblNTTE9wZW5TU0wK\n" + +Encoding = valid +Input = "OpenSSLOpenSSL\n" +Output = "T3BlblNTTE9wZW5TU0wK" + +# Truncate 1-3 chars +Encoding = invalid +Output = "T3BlblNTTE9wZW5TU0w" + +Encoding = invalid +Output = "T3BlblNTTE9wZW5TU0" + +Encoding = invalid +Output = "T3BlblNTTE9wZW5TU" + +Encoding = invalid +Output = "T3BlblNTTE9wZW5TU0wK====" + +Encoding = invalid +Output = "T3BlblNTTE9wZW5TU0wK============================================\n" + +Encoding = invalid +Output = "YQ==YQ==YQ==\n" + +Encoding = invalid +Output = "A" + +Encoding = invalid +Output = "A\n" + +Encoding = invalid +Output = "A=" + +Encoding = invalid +Output = "A==\n" + +Encoding = invalid +Output = "A===\n" + +Encoding = invalid +Output = "A====\n" + +Encoding = valid +Input = "OpenSSLOpenSSL\n" +Output = "T3BlblNTTE9wZW5TU0wK\n\n" + +Encoding = valid +Input = "OpenSSLOpenSSL\n" +Output = "T3BlblNTTE\n9wZW5TU0wK" + +# CVE 2015-0292 +Encoding = invalid +Output = "ZW5jb2RlIG1lCg==================================================================\n" + +Encoding = canonical +Input = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" +Output = "eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eA==\n" + +Encoding = valid +Input = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" +Output = "eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eA\n==\n" + +Encoding = valid +Input = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" +Output = "eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eA=\n=\n" + +Encoding = invalid +Output = "eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eA====\n" + +# Multiline output without padding +Encoding = canonical +Input = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" +Output = "eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4\neHh4eHh4eHh4eHh4\n" + +# Multiline output with padding +Encoding = canonical +Input = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" +Output = "eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4\neHh4eHh4eHh4eHh4eHh4eA==\n" + +# Multiline output with line break in the middle of a b64 block is accepted +Encoding = valid +Input = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" +Output = "eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh\n4eHh4eHh4eHh4eHh4eHh4eA==\n" + +# Long lines are accepted +Encoding = valid +Input = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" +Output = "eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eA==\n" + +# Multiline input with data after '='. +Encoding = invalid +Output = "eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eA==\neHh4eHh4eHh4eHh4eHh4eHh4\n" + +Encoding = invalid +Output = "eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4\neA==eHh4eHh4eHh4eHh4eHh4\n" + +# B64_EOF ('-') terminates input and trailing bytes are ignored +Encoding = valid +Input = "OpenSSLOpenSSL\n" +Output = "T3BlblNTTE9wZW5TU0wK\n-abcd" + +Encoding = valid +Input = "OpenSSLOpenSSL\n" +Output = "T3BlblNTTE9wZW5TU0wK-abcd" diff --git a/deps/openssl/openssl/test/recipes/30-test_evp_data/evpkdf.txt b/deps/openssl/openssl/test/recipes/30-test_evp_data/evpkdf.txt new file mode 100644 index 00000000000..da4a824bc62 --- /dev/null +++ b/deps/openssl/openssl/test/recipes/30-test_evp_data/evpkdf.txt @@ -0,0 +1,138 @@ +# +# Copyright 2001-2018 The OpenSSL Project Authors. All Rights Reserved. +# +# Licensed under the OpenSSL license (the "License"). You may not use +# this file except in compliance with the License. You can obtain a copy +# in the file LICENSE in the source distribution or at +# https://www.openssl.org/source/license.html + +# Tests start with one of these keywords +# Cipher Decrypt Derive Digest Encoding KDF MAC PBE +# PrivPubKeyPair Sign Verify VerifyRecover +# and continue until a blank line. Lines starting with a pound sign, +# like this prolog, are ignored. + +# TLS1 PRF tests, from NIST test vectors + +KDF=TLS1-PRF +Ctrl.md = md:MD5-SHA1 +Ctrl.Secret = hexsecret:bded7fa5c1699c010be23dd06ada3a48349f21e5f86263d512c0c5cc379f0e780ec55d9844b2f1db02a96453513568d0 +Ctrl.label = seed:master secret +Ctrl.client_random = hexseed:e5acaf549cd25c22d964c0d930fa4b5261d2507fad84c33715b7b9a864020693 +Ctrl.server_random = hexseed:135e4d557fdf3aa6406d82975d5c606a9734c9334b42136e96990fbd5358cdb2 +Output = 2f6962dfbc744c4b2138bb6b3d33054c5ecc14f24851d9896395a44ab3964efc2090c5bf51a0891209f46c1e1e998f62 + +KDF=TLS1-PRF +Ctrl.md = md:MD5-SHA1 +Ctrl.Secret = hexsecret:2f6962dfbc744c4b2138bb6b3d33054c5ecc14f24851d9896395a44ab3964efc2090c5bf51a0891209f46c1e1e998f62 +Ctrl.label = seed:key expansion +Ctrl.server_random = hexseed:67267e650eb32444119d222a368c191af3082888dc35afe8368e638c828874be +Ctrl.client_random = hexseed:d58a7b1cd4fedaa232159df652ce188f9d997e061b9bf48e83b62990440931f6 +Output = 3088825988e77fce68d19f756e18e43eb7fe672433504feaf99b3c503d9091b164f166db301d70c9fc0870b4a94563907bee1a61fb786cb717576890bcc51cb9ead97e01d0a2fea99c953377b195205ff07b369589178796edc963fd80fdbe518a2fc1c35c18ae8d + +KDF=TLS1-PRF +Ctrl.md = md:SHA256 +Ctrl.Secret = hexsecret:f8938ecc9edebc5030c0c6a441e213cd24e6f770a50dda07876f8d55da062bcadb386b411fd4fe4313a604fce6c17fbc +Ctrl.label = seed:master secret +Ctrl.client_random = hexseed:36c129d01a3200894b9179faac589d9835d58775f9b5ea3587cb8fd0364cae8c +Ctrl.server_random = hexseed:f6c9575ed7ddd73e1f7d16eca115415812a43c2b747daaaae043abfb50053fce +Output = 202c88c00f84a17a20027079604787461176455539e705be730890602c289a5001e34eeb3a043e5d52a65e66125188bf + +KDF=TLS1-PRF +Ctrl.md = md:SHA256 +Ctrl.Secret = hexsecret:202c88c00f84a17a20027079604787461176455539e705be730890602c289a5001e34eeb3a043e5d52a65e66125188bf +Ctrl.label = seed:key expansion +Ctrl.server_random = hexseed:ae6c806f8ad4d80784549dff28a4b58fd837681a51d928c3e30ee5ff14f39868 +Ctrl.client_random = hexseed:62e1fd91f23f558a605f28478c58cf72637b89784d959df7e946d3f07bd1b616 +Output = d06139889fffac1e3a71865f504aa5d0d2a2e89506c6f2279b670c3e1b74f531016a2530c51a3a0f7e1d6590d0f0566b2f387f8d11fd4f731cdd572d2eae927f6f2f81410b25e6960be68985add6c38445ad9f8c64bf8068bf9a6679485d966f1ad6f68b43495b10a683755ea2b858d70ccac7ec8b053c6bd41ca299d4e51928 + +# Missing digest. +KDF=TLS1-PRF +Ctrl.Secret = hexsecret:01 +Ctrl.Seed = hexseed:02 +Output = 03 +Result = KDF_DERIVE_ERROR + +# Missing secret. +KDF=TLS1-PRF +Ctrl.md = md:MD5-SHA1 +Ctrl.Seed = hexseed:02 +Output = 03 +Result = KDF_DERIVE_ERROR + +# HKDF tests, from RFC5869 test vectors + +KDF = HKDF +Ctrl.md = md:SHA256 +Ctrl.IKM = hexkey:0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b +Ctrl.salt = hexsalt:000102030405060708090a0b0c +Ctrl.info = hexinfo:f0f1f2f3f4f5f6f7f8f9 +Output = 3cb25f25faacd57a90434f64d0362f2a2d2d0a90cf1a5a4c5db02d56ecc4c5bf34007208d5b887185865 + +KDF = HKDF +Ctrl.md = md:SHA256 +Ctrl.IKM = hexkey:000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f +Ctrl.salt = hexsalt:606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeaf +Ctrl.info = hexinfo:b0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff +Output = b11e398dc80327a1c8e7f78c596a49344f012eda2d4efad8a050cc4c19afa97c59045a99cac7827271cb41c65e590e09da3275600c2f09b8367793a9aca3db71cc30c58179ec3e87c14c01d5c1f3434f1d87 + +KDF = HKDF +Ctrl.md = md:SHA256 +Ctrl.IKM = hexkey:0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b +Ctrl.salt = salt: +Ctrl.info = info: +Output = 8da4e775a563c18f715f802a063c5a31b8a11f5c5ee1879ec3454e5f3c738d2d9d201395faa4b61a96c8 + +KDF = HKDF +Ctrl.md = md:SHA1 +Ctrl.IKM = hexkey:0b0b0b0b0b0b0b0b0b0b0b +Ctrl.salt = hexsalt:000102030405060708090a0b0c +Ctrl.info = hexinfo:f0f1f2f3f4f5f6f7f8f9 +Output = 085a01ea1b10f36933068b56efa5ad81a4f14b822f5b091568a9cdd4f155fda2c22e422478d305f3f896 + +KDF = HKDF +Ctrl.md = md:SHA1 +Ctrl.IKM = hexkey:000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f +Ctrl.salt = hexsalt:606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeaf +Ctrl.info = hexinfo:b0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff +Output = 0bd770a74d1160f7c9f12cd5912a06ebff6adcae899d92191fe4305673ba2ffe8fa3f1a4e5ad79f3f334b3b202b2173c486ea37ce3d397ed034c7f9dfeb15c5e927336d0441f4c4300e2cff0d0900b52d3b4 + +KDF = HKDF +Ctrl.md = md:SHA1 +Ctrl.IKM = hexkey:0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b +Ctrl.salt = salt: +Ctrl.info = info: +Output = 0ac1af7002b3d761d1e55298da9d0506b9ae52057220a306e07b6b87e8df21d0ea00033de03984d34918 + +KDF = HKDF +Ctrl.md = md:SHA1 +Ctrl.IKM = hexkey:0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c +Ctrl.salt = salt: +Ctrl.info = info: +Output = 2c91117204d745f3500d636a62f64f0ab3bae548aa53d423b0d1f27ebba6f5e5673a081d70cce7acfc48 + +KDF = HKDF +Ctrl.IKM = hexkey:0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c +Ctrl.salt = salt: +Ctrl.info = info: +Output = 00 +Result = KDF_DERIVE_ERROR + +KDF = HKDF +Ctrl.md = md:SHA1 +Ctrl.salt = salt: +Ctrl.info = info: +Output = 00 +Result = KDF_DERIVE_ERROR + +KDF = HKDF +Ctrl.md = md:SHA1 +Ctrl.IKM = hexkey:0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c +Ctrl.info = info: +Output = 2c91117204d745f3500d636a62f64f0ab3bae548aa53d423b0d1f27ebba6f5e5673a081d70cce7acfc48 + +KDF = HKDF +Ctrl.md = md:SHA1 +Ctrl.IKM = hexkey:0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c +Ctrl.salt = salt: +Output = 2c91117204d745f3500d636a62f64f0ab3bae548aa53d423b0d1f27ebba6f5e5673a081d70cce7acfc48 diff --git a/deps/openssl/openssl/test/recipes/30-test_evp_data/evpmac.txt b/deps/openssl/openssl/test/recipes/30-test_evp_data/evpmac.txt new file mode 100644 index 00000000000..dff9a1ffa8d --- /dev/null +++ b/deps/openssl/openssl/test/recipes/30-test_evp_data/evpmac.txt @@ -0,0 +1,150 @@ +# +# Copyright 2001-2018 The OpenSSL Project Authors. All Rights Reserved. +# +# Licensed under the OpenSSL license (the "License"). You may not use +# this file except in compliance with the License. You can obtain a copy +# in the file LICENSE in the source distribution or at +# https://www.openssl.org/source/license.html + +# Tests start with one of these keywords +# Cipher Decrypt Derive Digest Encoding KDF MAC PBE +# PrivPubKeyPair Sign Verify VerifyRecover +# and continue until a blank line. Lines starting with a pound sign, +# like this prolog, are ignored. + +# HMAC tests from RFC2104 +MAC = HMAC +Algorithm = MD5 +Key = 0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b +Input = "Hi There" +Output = 9294727a3638bb1c13f48ef8158bfc9d + +MAC = HMAC +Algorithm = MD5 +Key = "Jefe" +Input = "what do ya want for nothing?" +Output = 750c783e6ab0b503eaa86e310a5db738 + +MAC = HMAC +Algorithm = MD5 +Key = AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +Input = DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD +Output = 56be34521d144c88dbb8c733f0e8b3f6 + +# HMAC tests from NIST test data + +MAC = HMAC +Algorithm = SHA1 +Input = "Sample message for keylen=blocklen" +Key = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F +Output = 5FD596EE78D5553C8FF4E72D266DFD192366DA29 + +MAC = HMAC +Algorithm = SHA1 +Input = "Sample message for keylen<blocklen" +Key = 000102030405060708090A0B0C0D0E0F10111213 +Output = 4C99FF0CB1B31BD33F8431DBAF4D17FCD356A807 + +MAC = HMAC +Algorithm = SHA1 +Input = "Sample message for keylen=blocklen" +Key = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F60616263 +Output = 2D51B2F7750E410584662E38F133435F4C4FD42A + +MAC = HMAC +Algorithm = SHA224 +Input = "Sample message for keylen=blocklen" +Key = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F +Output = C7405E3AE058E8CD30B08B4140248581ED174CB34E1224BCC1EFC81B + +MAC = HMAC +Algorithm = SHA224 +Input = "Sample message for keylen<blocklen" +Key = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B +Output = E3D249A8CFB67EF8B7A169E9A0A599714A2CECBA65999A51BEB8FBBE + +MAC = HMAC +Algorithm = SHA224 +Input = "Sample message for keylen=blocklen" +Key = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F60616263 +Output = 91C52509E5AF8531601AE6230099D90BEF88AAEFB961F4080ABC014D + +MAC = HMAC +Algorithm = SHA256 +Input = "Sample message for keylen=blocklen" +Key = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F +Output = 8BB9A1DB9806F20DF7F77B82138C7914D174D59E13DC4D0169C9057B133E1D62 + +MAC = HMAC +Algorithm = SHA256 +Input = "Sample message for keylen<blocklen" +Key = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F +Output = A28CF43130EE696A98F14A37678B56BCFCBDD9E5CF69717FECF5480F0EBDF790 + +MAC = HMAC +Algorithm = SHA256 +Input = "Sample message for keylen=blocklen" +Key = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F60616263 +Output = BDCCB6C72DDEADB500AE768386CB38CC41C63DBB0878DDB9C7A38A431B78378D + +MAC = HMAC +Algorithm = SHA384 +Input = "Sample message for keylen=blocklen" +Key = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F +Output = 63C5DAA5E651847CA897C95814AB830BEDEDC7D25E83EEF9195CD45857A37F448947858F5AF50CC2B1B730DDF29671A9 + +MAC = HMAC +Algorithm = SHA384 +Input = "Sample message for keylen<blocklen" +Key = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F +Output = 6EB242BDBB582CA17BEBFA481B1E23211464D2B7F8C20B9FF2201637B93646AF5AE9AC316E98DB45D9CAE773675EEED0 + +MAC = HMAC +Algorithm = SHA384 +Input = "Sample message for keylen=blocklen" +Key = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7 +Output = 5B664436DF69B0CA22551231A3F0A3D5B4F97991713CFA84BFF4D0792EFF96C27DCCBBB6F79B65D548B40E8564CEF594 + +MAC = HMAC +Algorithm = SHA512 +Input = "Sample message for keylen=blocklen" +Key = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F +Output = FC25E240658CA785B7A811A8D3F7B4CA48CFA26A8A366BF2CD1F836B05FCB024BD36853081811D6CEA4216EBAD79DA1CFCB95EA4586B8A0CE356596A55FB1347 + +MAC = HMAC +Algorithm = SHA512 +Input = "Sample message for keylen<blocklen" +Key = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F +Output = FD44C18BDA0BB0A6CE0E82B031BF2818F6539BD56EC00BDC10A8A2D730B3634DE2545D639B0F2CF710D0692C72A1896F1F211C2B922D1A96C392E07E7EA9FEDC + +MAC = HMAC +Algorithm = SHA512 +Input = "Sample message for keylen=blocklen" +Key = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7 +Output = D93EC8D2DE1AD2A9957CB9B83F14E76AD6B5E0CCE285079A127D3B14BCCB7AA7286D4AC0D4CE64215F2BC9E6870B33D97438BE4AAA20CDA5C5A912B48B8E27F3 + +# CMAC tests from FIPS module + +MAC = CMAC +Algorithm = AES-128-CBC +Key = 77A77FAF290C1FA30C683DF16BA7A77B +Input = 020683E1F0392F4CAC54318B6029259E9C553DBC4B6AD998E64D58E4E7DC2E13 +Output = FBFEA41BF9740CB501F1292C21CEBB40 + +MAC = CMAC +Algorithm = AES-192-CBC +Key = 7B32391369AA4CA97558095BE3C3EC862BD057CEF1E32D62 +Input = +Output = E4D9340B03E67DEFD4969CC1ED3735E6 + +MAC = CMAC +Algorithm = AES-256-CBC +Key = 0B122AC8F34ED1FE082A3625D157561454167AC145A10BBF77C6A70596D574F1 +Input = 498B53FDEC87EDCBF07097DCCDE93A084BAD7501A224E388DF349CE18959FE8485F8AD1537F0D896EA73BEDC7214713F +Output = F62C46329B41085625669BAF51DEA66A + +MAC = CMAC +Algorithm = DES-EDE3-CBC +Key = 89BCD952A8C8AB371AF48AC7D07085D5EFF702E6D62CDC23 +Input = FA620C1BBE97319E9A0CF0492121F7A20EB08A6A709DCBD00AAF38E4F99E754E +Output = 8F49A1B7D6AA2258 diff --git a/deps/openssl/openssl/test/recipes/30-test_evp_data/evppbe.txt b/deps/openssl/openssl/test/recipes/30-test_evp_data/evppbe.txt new file mode 100644 index 00000000000..aabc727f3c4 --- /dev/null +++ b/deps/openssl/openssl/test/recipes/30-test_evp_data/evppbe.txt @@ -0,0 +1,251 @@ +# +# Copyright 2001-2018 The OpenSSL Project Authors. All Rights Reserved. +# +# Licensed under the OpenSSL license (the "License"). You may not use +# this file except in compliance with the License. You can obtain a copy +# in the file LICENSE in the source distribution or at +# https://www.openssl.org/source/license.html + +# Tests start with one of these keywords +# Cipher Decrypt Derive Digest Encoding KDF MAC PBE +# PrivPubKeyPair Sign Verify VerifyRecover +# and continue until a blank line. Lines starting with a pound sign, +# like this prolog, are ignored. + +# scrypt tests from draft-josefsson-scrypt-kdf-03 +PBE = scrypt +Password = "" +Salt = "" +N = 16 +r = 1 +p = 1 +Key = 77d6576238657b203b19ca42c18a0497f16b4844e3074ae8dfdffa3fede21442fcd0069ded0948f8326a753a0fc81f17e8d3e0fb2e0d3628cf35e20c38d18906 + +PBE = scrypt +Password = "password" +Salt = "NaCl" +N = 1024 +r = 8 +p = 16 +Key = fdbabe1c9d3472007856e7190d01e9fe7c6ad7cbc8237830e77376634b3731622eaf30d92e22a3886ff109279d9830dac727afb94a83ee6d8360cbdfa2cc0640 + +PBE = scrypt +Password = "pleaseletmein" +Salt = "SodiumChloride" +N = 16384 +r = 8 +p = 1 +Key = 7023bdcb3afd7348461c06cd81fd38ebfda8fbba904f8e3ea9b543f6545da1f2d5432955613f0fcf62d49705242a9af9e61e85dc0d651e40dfcf017b45575887 + +# NB: this test requires more than 1GB of memory to run so it will hit the +# scrypt memory limit and return an error. To run this test without error +# uncomment out the "maxmem" line and comment out the "Result" +# line +PBE = scrypt +Password = "pleaseletmein" +Salt = "SodiumChloride" +N = 1048576 +r = 8 +p = 1 +Key = 2101cb9b6a511aaeaddbbe09cf70f881ec568d574a2ffd4dabe5ee9820adaa478e56fd8f4ba5d09ffa1c6d927c40f4c337304049e8a952fbcbf45c6fa77a41a4 +#maxmem = 10000000000 +Result = SCRYPT_ERROR + +# PKCS#12 tests + +PBE = pkcs12 +id = 1 +iter = 1 +MD = SHA1 +Password = 0073006D006500670000 +Salt = 0A58CF64530D823F +Key = 8AAAE6297B6CB04642AB5B077851284EB7128F1A2A7FBCA3 + +PBE = pkcs12 +id = 2 +iter = 1 +MD = SHA1 +Password = 0073006D006500670000 +Salt = 0A58CF64530D823F +Key = 79993DFE048D3B76 + +PBE = pkcs12 +id = 3 +iter 1 +MD = SHA1 +Password = 0073006D006500670000 +Salt = 3D83C0E4546AC140 +Key = 8D967D88F6CAA9D714800AB3D48051D63F73A312 + +PBE = pkcs12 +id = 1 +iter = 1000 +MD = SHA1 +Password = 007100750065006500670000 +Salt = 1682C0FC5B3F7EC5 +Key = 483DD6E919D7DE2E8E648BA8F862F3FBFBDC2BCB2C02957F + +PBE = pkcs12 +id = 2 +iter = 1000 +MD = SHA1 +Password = 007100750065006500670000 +Salt = 1682C0FC5B3F7EC5 +Key = 9D461D1B00355C50 + +PBE = pkcs12 +id = 3 +iter = 1000 +MD = SHA1 +Password = 007100750065006500670000 +Salt = 263216FCC2FAB31C +Key = 5EC4C7A80DF652294C3925B6489A7AB857C83476 + +# PBKDF2 tests +PBE = pbkdf2 +Password = "password" +Salt = "salt" +iter = 1 +MD = sha1 +Key = 0c60c80f961f0e71f3a9b524af6012062fe037a6 + +PBE = pbkdf2 +Password = "password" +Salt = "salt" +iter = 1 +MD = sha256 +Key = 120fb6cffcf8b32c43e7225256c4f837a86548c92ccc35480805987cb70be17b + +PBE = pbkdf2 +Password = "password" +Salt = "salt" +iter = 1 +MD = sha512 +Key = 867f70cf1ade02cff3752599a3a53dc4af34c7a669815ae5d513554e1c8cf252c02d470a285a0501bad999bfe943c08f050235d7d68b1da55e63f73b60a57fce + +PBE = pbkdf2 +Password = "password" +Salt = "salt" +iter = 2 +MD = sha1 +Key = ea6c014dc72d6f8ccd1ed92ace1d41f0d8de8957 + +PBE = pbkdf2 +Password = "password" +Salt = "salt" +iter = 2 +MD = sha256 +Key = ae4d0c95af6b46d32d0adff928f06dd02a303f8ef3c251dfd6e2d85a95474c43 + +PBE = pbkdf2 +Password = "password" +Salt = "salt" +iter = 2 +MD = sha512 +Key = e1d9c16aa681708a45f5c7c4e215ceb66e011a2e9f0040713f18aefdb866d53cf76cab2868a39b9f7840edce4fef5a82be67335c77a6068e04112754f27ccf4e + +PBE = pbkdf2 +Password = "password" +Salt = "salt" +iter = 4096 +MD = sha1 +Key = 4b007901b765489abead49d926f721d065a429c1 + +PBE = pbkdf2 +Password = "password" +Salt = "salt" +iter = 4096 +MD = sha256 +Key = c5e478d59288c841aa530db6845c4c8d962893a001ce4e11a4963873aa98134a + +PBE = pbkdf2 +Password = "password" +Salt = "salt" +iter = 4096 +MD = sha512 +Key = d197b1b33db0143e018b12f3d1d1479e6cdebdcc97c5c0f87f6902e072f457b5143f30602641b3d55cd335988cb36b84376060ecd532e039b742a239434af2d5 + +PBE = pbkdf2 +Password = "passwordPASSWORDpassword" +Salt = "saltSALTsaltSALTsaltSALTsaltSALTsalt" +iter = 4096 +MD = sha1 +Key = 3d2eec4fe41c849b80c8d83662c0e44a8b291a964cf2f07038 + +PBE = pbkdf2 +Password = "passwordPASSWORDpassword" +Salt = "saltSALTsaltSALTsaltSALTsaltSALTsalt" +iter = 4096 +MD = sha256 +Key = 348c89dbcbd32b2f32d814b8116e84cf2b17347ebc1800181c4e2a1fb8dd53e1c635518c7dac47e9 + +PBE = pbkdf2 +Password = "passwordPASSWORDpassword" +Salt = "saltSALTsaltSALTsaltSALTsaltSALTsalt" +iter = 4096 +MD = sha512 +Key = 8c0511f4c6e597c6ac6315d8f0362e225f3c501495ba23b868c005174dc4ee71115b59f9e60cd9532fa33e0f75aefe30225c583a186cd82bd4daea9724a3d3b8 + +PBE = pbkdf2 +Password = 7061737300776f7264 +Salt = 7361006c74 +iter = 4096 +MD = sha1 +Key = 56fa6aa75548099dcc37d7f03425e0c3 + +PBE = pbkdf2 +Password = 7061737300776f7264 +Salt = 7361006c74 +iter = 4096 +MD = sha256 +Key = 89b69d0516f829893c696226650a8687 + +PBE = pbkdf2 +Password = 7061737300776f7264 +Salt = 7361006c74 +iter = 4096 +MD = sha512 +Key = 9d9e9c4cd21fe4be24d5b8244c759665 + +# PBKDF2 tests for empty and NULL inputs +PBE = pbkdf2 +Password = "" +Salt = "salt" +iter = 1 +MD = sha1 +Key = a33dddc30478185515311f8752895d36ea4363a2 + +PBE = pbkdf2 +Password = "" +Salt = "salt" +iter = 1 +MD = sha256 +Key = f135c27993baf98773c5cdb40a5706ce6a345cde + +PBE = pbkdf2 +Password = "" +Salt = "salt" +iter = 1 +MD = sha512 +Key = 00ef42cdbfc98d29db20976608e455567fdddf14 + +PBE = pbkdf2 +Password = NULL +Salt = "salt" +iter = 1 +MD = sha1 +Key = a33dddc30478185515311f8752895d36ea4363a2 + +PBE = pbkdf2 +Password = NULL +Salt = "salt" +iter = 1 +MD = sha256 +Key = f135c27993baf98773c5cdb40a5706ce6a345cde + +PBE = pbkdf2 +Password = NULL +Salt = "salt" +iter = 1 +MD = sha512 +Key = 00ef42cdbfc98d29db20976608e455567fdddf14 diff --git a/deps/openssl/openssl/test/evptests.txt b/deps/openssl/openssl/test/recipes/30-test_evp_data/evppkey.txt index 269684e11b3..e0d8b4ff106 100644 --- a/deps/openssl/openssl/test/evptests.txt +++ b/deps/openssl/openssl/test/recipes/30-test_evp_data/evppkey.txt @@ -6,2473 +6,11 @@ # in the file LICENSE in the source distribution or at # https://www.openssl.org/source/license.html -#cipher:key:iv:plaintext:ciphertext:0/1(decrypt/encrypt) -#aadcipher:key:iv:plaintext:ciphertext:aad:tag:0/1(decrypt/encrypt) -#digest:::input:output - -# BLAKE2 tests, using same inputs as MD5 -# There are no official BLAKE2 test vectors we can use since they all use a key -# Which is currently unsupported by OpenSSL. They were generated using the -# reference implementation. RFC7693 also mentions the 616263 / "abc" values. -Digest = BLAKE2s256 -Input = -Output = 69217a3079908094e11121d042354a7c1f55b6482ca1a51e1b250dfd1ed0eef9 - -Digest = BLAKE2s256 -Input = 61 -Output = 4a0d129873403037c2cd9b9048203687f6233fb6738956e0349bd4320fec3e90 - -Digest = BLAKE2s256 -Input = 616263 -Output = 508c5e8c327c14e2e1a72ba34eeb452f37458b209ed63a294d999b4c86675982 - -Digest = BLAKE2s256 -Input = 6d65737361676520646967657374 -Output = fa10ab775acf89b7d3c8a6e823d586f6b67bdbac4ce207fe145b7d3ac25cd28c - -Digest = BLAKE2s256 -Input = 6162636465666768696a6b6c6d6e6f707172737475767778797a -Output = bdf88eb1f86a0cdf0e840ba88fa118508369df186c7355b4b16cf79fa2710a12 - -Digest = BLAKE2s256 -Input = 4142434445464748494a4b4c4d4e4f505152535455565758595a6162636465666768696a6b6c6d6e6f707172737475767778797a30313233343536373839 -Output = c75439ea17e1de6fa4510c335dc3d3f343e6f9e1ce2773e25b4174f1df8b119b - -Digest = BLAKE2s256 -Input = 3132333435363738393031323334353637383930313233343536373839303132333435363738393031323334353637383930313233343536373839303132333435363738393031323334353637383930 -Output = fdaedb290a0d5af9870864fec2e090200989dc9cd53a3c092129e8535e8b4f66 - -Digest = BLAKE2s256 -Input = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F -Output = 1FA877DE67259D19863A2A34BCC6962A2B25FCBF5CBECD7EDE8F1FA36688A796 - -Digest = BLAKE2s256 -Input = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F8081 -Output = C80ABEEBB669AD5DEEB5F5EC8EA6B7A05DDF7D31EC4C0A2EE20B0B98CAEC6746 - -Digest = BLAKE2b512 -Input = -Output = 786a02f742015903c6c6fd852552d272912f4740e15847618a86e217f71f5419d25e1031afee585313896444934eb04b903a685b1448b755d56f701afe9be2ce - -Digest = BLAKE2b512 -Input = 61 -Output = 333fcb4ee1aa7c115355ec66ceac917c8bfd815bf7587d325aec1864edd24e34d5abe2c6b1b5ee3face62fed78dbef802f2a85cb91d455a8f5249d330853cb3c - -Digest = BLAKE2b512 -Input = 616263 -Output = ba80a53f981c4d0d6a2797b69f12f6e94c212f14685ac4b74b12bb6fdbffa2d17d87c5392aab792dc252d5de4533cc9518d38aa8dbf1925ab92386edd4009923 - -Digest = BLAKE2b512 -Input = 6d65737361676520646967657374 -Output = 3c26ce487b1c0f062363afa3c675ebdbf5f4ef9bdc022cfbef91e3111cdc283840d8331fc30a8a0906cff4bcdbcd230c61aaec60fdfad457ed96b709a382359a - -Digest = BLAKE2b512 -Input = 6162636465666768696a6b6c6d6e6f707172737475767778797a -Output = c68ede143e416eb7b4aaae0d8e48e55dd529eafed10b1df1a61416953a2b0a5666c761e7d412e6709e31ffe221b7a7a73908cb95a4d120b8b090a87d1fbedb4c - -Digest = BLAKE2b512 -Input = 4142434445464748494a4b4c4d4e4f505152535455565758595a6162636465666768696a6b6c6d6e6f707172737475767778797a30313233343536373839 -Output = 99964802e5c25e703722905d3fb80046b6bca698ca9e2cc7e49b4fe1fa087c2edf0312dfbb275cf250a1e542fd5dc2edd313f9c491127c2e8c0c9b24168e2d50 - -Digest = BLAKE2b512 -Input = 3132333435363738393031323334353637383930313233343536373839303132333435363738393031323334353637383930313233343536373839303132333435363738393031323334353637383930 -Output = 686f41ec5afff6e87e1f076f542aa466466ff5fbde162c48481ba48a748d842799f5b30f5b67fc684771b33b994206d05cc310f31914edd7b97e41860d77d282 - -Digest = BLAKE2b512 -Input = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F -Output = 2319E3789C47E2DAA5FE807F61BEC2A1A6537FA03F19FF32E87EECBFD64B7E0E8CCFF439AC333B040F19B0C4DDD11A61E24AC1FE0F10A039806C5DCC0DA3D115 - -Digest = BLAKE2b512 -Input = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F8081 -Output = DF0A9D0C212843A6A934E3902B2DD30D17FBA5F969D2030B12A546D8A6A45E80CF5635F071F0452E9C919275DA99BED51EB1173C1AF0518726B75B0EC3BAE2B5 - -# SHA(1) tests (from shatest.c) -Digest = SHA1 -Input = 616263 -Output = a9993e364706816aba3e25717850c26c9cd0d89d - - -# MD5 tests (from md5test.c) -Digest = MD5 -Input = -Output = d41d8cd98f00b204e9800998ecf8427e - -Digest = MD5 -Input = 61 -Output = 0cc175b9c0f1b6a831c399e269772661 - -Digest = MD5 -Input = 616263 -Output = 900150983cd24fb0d6963f7d28e17f72 - -Digest = MD5 -Input = 6d65737361676520646967657374 -Output = f96b697d7cb7938d525a2f31aaf161d0 - -Digest = MD5 -Input = 6162636465666768696a6b6c6d6e6f707172737475767778797a -Output = c3fcd3d76192e4007dfb496cca67e13b - -Digest = MD5 -Input = 4142434445464748494a4b4c4d4e4f505152535455565758595a6162636465666768696a6b6c6d6e6f707172737475767778797a30313233343536373839 -Output = d174ab98d277d9f5a5611c2c9f419d9f - -Digest = MD5 -Input = 3132333435363738393031323334353637383930313233343536373839303132333435363738393031323334353637383930313233343536373839303132333435363738393031323334353637383930 -Output = 57edf4a22be3c955ac49da2e2107b67a - -# MD4 tests from md4test.c -Digest = MD4 -Input = "" -Output = 31d6cfe0d16ae931b73c59d7e0c089c0 - -Digest = MD4 -Input = "a" -Output = bde52cb31de33e46245e05fbdbd6fb24 - -Digest = MD4 -Input = "abc" -Output = a448017aaf21d8525fc10ae87aa6729d - -Digest = MD4 -Input = "message digest" -Output = d9130a8164549fe818874806e1c7014b - -Digest = MD4 -Input = "abcdefghijklmnopqrstuvwxyz" -Output = d79e1c308aa5bbcdeea8ed63df412da9 - -Digest = MD4 -Input = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789" -Output = 043f8582f241db351ce627e153e7f0e4 - -Digest = MD4 -Input = "12345678901234567890123456789012345678901234567890123456789012345678901234567890" -Output = e33b4ddc9c38f2199c3e7b164fcc0536 - -# RIPEMD160 tests from rmdtest.c -Digest = RIPEMD160 -Input = "" -Output = 9c1185a5c5e9fc54612808977ee8f548b2258d31 - -Digest = RIPEMD160 -Input = "a" -Output = 0bdc9d2d256b3ee9daae347be6f4dc835a467ffe - -Digest = RIPEMD160 -Input = "abc" -Output = 8eb208f7e05d987a9b044a8e98c6b087f15a0bfc - -Digest = RIPEMD160 -Input = "message digest" -Output = 5d0689ef49d2fae572b881b123a85ffa21595f36 - -Digest = RIPEMD160 -Input = "abcdefghijklmnopqrstuvwxyz" -Output = f71c27109c692c1b56bbdceb5b9d2865b3708dbc - -Digest = RIPEMD160 -Input = "abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq" -Output = 12a053384a9c0c88e405a06c27dcf49ada62eb2b - -Digest = RIPEMD160 -Input = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789" -Output = b0e20b6e3116640286ed3a87a5713079b21f5189 - -Digest = RIPEMD160 -Input = "12345678901234567890123456789012345678901234567890123456789012345678901234567890" -Output = 9b752e45573d4b39f4dbd3323cab82bf63326bfb - -# whirlpool tests from wp_test.c -Digest = whirlpool -Input = "" -Output = 19FA61D75522A4669B44E39C1D2E1726C530232130D407F89AFEE0964997F7A73E83BE698B288FEBCF88E3E03C4F0757EA8964E59B63D93708B138CC42A66EB3 - -Digest = whirlpool -Input = "a" -Output = 8ACA2602792AEC6F11A67206531FB7D7F0DFF59413145E6973C45001D0087B42D11BC645413AEFF63A42391A39145A591A92200D560195E53B478584FDAE231A - -Digest = whirlpool -Input = "abc" -Output = 4E2448A4C6F486BB16B6562C73B4020BF3043E3A731BCE721AE1B303D97E6D4C7181EEBDB6C57E277D0E34957114CBD6C797FC9D95D8B582D225292076D4EEF5 - -Digest = whirlpool -Input = "message digest" -Output = 378C84A4126E2DC6E56DCC7458377AAC838D00032230F53CE1F5700C0FFB4D3B8421557659EF55C106B4B52AC5A4AAA692ED920052838F3362E86DBD37A8903E - -Digest = whirlpool -Input = "abcdefghijklmnopqrstuvwxyz" -Output = F1D754662636FFE92C82EBB9212A484A8D38631EAD4238F5442EE13B8054E41B08BF2A9251C30B6A0B8AAE86177AB4A6F68F673E7207865D5D9819A3DBA4EB3B - -Digest = whirlpool -Input = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789" -Output = DC37E008CF9EE69BF11F00ED9ABA26901DD7C28CDEC066CC6AF42E40F82F3A1E08EBA26629129D8FB7CB57211B9281A65517CC879D7B962142C65F5A7AF01467 - -Digest = whirlpool -Input = "12345678901234567890123456789012345678901234567890123456789012345678901234567890" -Output = 466EF18BABB0154D25B9D38A6414F5C08784372BCCB204D6549C4AFADB6014294D5BD8DF2A6C44E538CD047B2681A51A2C60481E88C5A20B2C2A80CF3A9A083B - -Digest = whirlpool -Input = "abcdbcdecdefdefgefghfghighijhijk" -Output = 2A987EA40F917061F5D6F0A0E4644F488A7A5A52DEEE656207C562F988E95C6916BDC8031BC5BE1B7B947639FE050B56939BAAA0ADFF9AE6745B7B181C3BE3FD - -Digest = whirlpool -Input = "aaaaaaaaaa" -Count = 100000 -Output = 0C99005BEB57EFF50A7CF005560DDF5D29057FD86B20BFD62DECA0F1CCEA4AF51FC15490EDDC47AF32BB2B66C34FF9AD8C6008AD677F77126953B226E4ED8B01 - -# DES EDE3 CFB1 -# echo -n "Hello World" | -# apps/openssl enc -des-ede3-cfb1 \ -# -K 000102030405060708090A0B0C0D0E0F1011121314151617 -iv 0001020304050607 | -# xxd -ps -u - -Cipher = DES-EDE3-CFB1 -Key = 000102030405060708090A0B0C0D0E0F1011121314151617 -IV = 0001020304050607 -Plaintext = "Hello World" -Ciphertext = 3CF55D656E9C0664513358 - -Cipher = DES-EDE3-CFB1 -Key = 000102030405060708090A0B0C0D0E0F1011121314151617 -IV = 0001020304050607 -Operation = DECRYPT -Plaintext = "Hello World" -Ciphertext = 3CF55D656E9C0664513358 - -# AES 128 ECB tests (from FIPS-197 test vectors, encrypt) - -Cipher = AES-128-ECB -Key = 000102030405060708090A0B0C0D0E0F -Operation = ENCRYPT -Plaintext = 00112233445566778899AABBCCDDEEFF -Ciphertext = 69C4E0D86A7B0430D8CDB78070B4C55A - -# AES 192 ECB tests (from FIPS-197 test vectors, encrypt) - -Cipher = AES-192-ECB -Key = 000102030405060708090A0B0C0D0E0F1011121314151617 -Operation = ENCRYPT -Plaintext = 00112233445566778899AABBCCDDEEFF -Ciphertext = DDA97CA4864CDFE06EAF70A0EC0D7191 - - -# AES 256 ECB tests (from FIPS-197 test vectors, encrypt) - -Cipher = AES-256-ECB -Key = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F -Operation = ENCRYPT -Plaintext = 00112233445566778899AABBCCDDEEFF -Ciphertext = 8EA2B7CA516745BFEAFC49904B496089 - - -# AES 128 ECB tests (from NIST test vectors, encrypt) - -#AES-128-ECB:00000000000000000000000000000000::00000000000000000000000000000000:C34C052CC0DA8D73451AFE5F03BE297F:1 - -# AES 128 ECB tests (from NIST test vectors, decrypt) - -#AES-128-ECB:00000000000000000000000000000000::44416AC2D1F53C583303917E6BE9EBE0:00000000000000000000000000000000:0 - -# AES 192 ECB tests (from NIST test vectors, decrypt) - -#AES-192-ECB:000000000000000000000000000000000000000000000000::48E31E9E256718F29229319C19F15BA4:00000000000000000000000000000000:0 - -# AES 256 ECB tests (from NIST test vectors, decrypt) - -#AES-256-ECB:0000000000000000000000000000000000000000000000000000000000000000::058CCFFDBBCB382D1F6F56585D8A4ADE:00000000000000000000000000000000:0 - -# AES 128 CBC tests (from NIST test vectors, encrypt) - -#AES-128-CBC:00000000000000000000000000000000:00000000000000000000000000000000:00000000000000000000000000000000:8A05FC5E095AF4848A08D328D3688E3D:1 - -# AES 192 CBC tests (from NIST test vectors, encrypt) - -#AES-192-CBC:000000000000000000000000000000000000000000000000:00000000000000000000000000000000:00000000000000000000000000000000:7BD966D53AD8C1BB85D2ADFAE87BB104:1 - -# AES 256 CBC tests (from NIST test vectors, encrypt) - -#AES-256-CBC:0000000000000000000000000000000000000000000000000000000000000000:00000000000000000000000000000000:00000000000000000000000000000000:FE3C53653E2F45B56FCD88B2CC898FF0:1 - -# AES 128 CBC tests (from NIST test vectors, decrypt) - -#AES-128-CBC:00000000000000000000000000000000:00000000000000000000000000000000:FACA37E0B0C85373DF706E73F7C9AF86:00000000000000000000000000000000:0 - -# AES tests from NIST document SP800-38A -# For all ECB encrypts and decrypts, the transformed sequence is -# AES-bits-ECB:key::plaintext:ciphertext:encdec -# ECB-AES128.Encrypt and ECB-AES128.Decrypt -Cipher = AES-128-ECB -Key = 2B7E151628AED2A6ABF7158809CF4F3C -Plaintext = 6BC1BEE22E409F96E93D7E117393172A -Ciphertext = 3AD77BB40D7A3660A89ECAF32466EF97 - -Cipher = AES-128-ECB -Key = 2B7E151628AED2A6ABF7158809CF4F3C -Plaintext = AE2D8A571E03AC9C9EB76FAC45AF8E51 -Ciphertext = F5D3D58503B9699DE785895A96FDBAAF - -Cipher = AES-128-ECB -Key = 2B7E151628AED2A6ABF7158809CF4F3C -Plaintext = 30C81C46A35CE411E5FBC1191A0A52EF -Ciphertext = 43B1CD7F598ECE23881B00E3ED030688 - -Cipher = AES-128-ECB -Key = 2B7E151628AED2A6ABF7158809CF4F3C -Plaintext = F69F2445DF4F9B17AD2B417BE66C3710 -Ciphertext = 7B0C785E27E8AD3F8223207104725DD4 - -# ECB-AES192.Encrypt and ECB-AES192.Decrypt -Cipher = AES-192-ECB -Key = 8E73B0F7DA0E6452C810F32B809079E562F8EAD2522C6B7B -Plaintext = 6BC1BEE22E409F96E93D7E117393172A -Ciphertext = BD334F1D6E45F25FF712A214571FA5CC - -Cipher = AES-192-ECB -Key = 8E73B0F7DA0E6452C810F32B809079E562F8EAD2522C6B7B -Plaintext = AE2D8A571E03AC9C9EB76FAC45AF8E51 -Ciphertext = 974104846D0AD3AD7734ECB3ECEE4EEF - -Cipher = AES-192-ECB -Key = 8E73B0F7DA0E6452C810F32B809079E562F8EAD2522C6B7B -Plaintext = 30C81C46A35CE411E5FBC1191A0A52EF -Ciphertext = EF7AFD2270E2E60ADCE0BA2FACE6444E - -Cipher = AES-192-ECB -Key = 8E73B0F7DA0E6452C810F32B809079E562F8EAD2522C6B7B -Plaintext = F69F2445DF4F9B17AD2B417BE66C3710 -Ciphertext = 9A4B41BA738D6C72FB16691603C18E0E - -# ECB-AES256.Encrypt and ECB-AES256.Decrypt -Cipher = AES-256-ECB -Key = 603DEB1015CA71BE2B73AEF0857D77811F352C073B6108D72D9810A30914DFF4 -Plaintext = 6BC1BEE22E409F96E93D7E117393172A -Ciphertext = F3EED1BDB5D2A03C064B5A7E3DB181F8 - -Cipher = AES-256-ECB -Key = 603DEB1015CA71BE2B73AEF0857D77811F352C073B6108D72D9810A30914DFF4 -Plaintext = AE2D8A571E03AC9C9EB76FAC45AF8E51 -Ciphertext = 591CCB10D410ED26DC5BA74A31362870 - -Cipher = AES-256-ECB -Key = 603DEB1015CA71BE2B73AEF0857D77811F352C073B6108D72D9810A30914DFF4 -Plaintext = 30C81C46A35CE411E5FBC1191A0A52EF -Ciphertext = B6ED21B99CA6F4F9F153E7B1BEAFED1D - -Cipher = AES-256-ECB -Key = 603DEB1015CA71BE2B73AEF0857D77811F352C073B6108D72D9810A30914DFF4 -Plaintext = F69F2445DF4F9B17AD2B417BE66C3710 -Ciphertext = 23304B7A39F9F3FF067D8D8F9E24ECC7 - -# For all CBC encrypts and decrypts, the transformed sequence is -# AES-bits-CBC:key:IV/ciphertext':plaintext:ciphertext:encdec -# CBC-AES128.Encrypt and CBC-AES128.Decrypt -Cipher = AES-128-CBC -Key = 2B7E151628AED2A6ABF7158809CF4F3C -IV = 000102030405060708090A0B0C0D0E0F -Plaintext = 6BC1BEE22E409F96E93D7E117393172A -Ciphertext = 7649ABAC8119B246CEE98E9B12E9197D - -Cipher = AES-128-CBC -Key = 2B7E151628AED2A6ABF7158809CF4F3C -IV = 7649ABAC8119B246CEE98E9B12E9197D -Plaintext = AE2D8A571E03AC9C9EB76FAC45AF8E51 -Ciphertext = 5086CB9B507219EE95DB113A917678B2 - -Cipher = AES-128-CBC -Key = 2B7E151628AED2A6ABF7158809CF4F3C -IV = 5086CB9B507219EE95DB113A917678B2 -Plaintext = 30C81C46A35CE411E5FBC1191A0A52EF -Ciphertext = 73BED6B8E3C1743B7116E69E22229516 - -Cipher = AES-128-CBC -Key = 2B7E151628AED2A6ABF7158809CF4F3C -IV = 73BED6B8E3C1743B7116E69E22229516 -Plaintext = F69F2445DF4F9B17AD2B417BE66C3710 -Ciphertext = 3FF1CAA1681FAC09120ECA307586E1A7 - -# CBC-AES192.Encrypt and CBC-AES192.Decrypt -Cipher = AES-192-CBC -Key = 8E73B0F7DA0E6452C810F32B809079E562F8EAD2522C6B7B -IV = 000102030405060708090A0B0C0D0E0F -Plaintext = 6BC1BEE22E409F96E93D7E117393172A -Ciphertext = 4F021DB243BC633D7178183A9FA071E8 - -Cipher = AES-192-CBC -Key = 8E73B0F7DA0E6452C810F32B809079E562F8EAD2522C6B7B -IV = 4F021DB243BC633D7178183A9FA071E8 -Plaintext = AE2D8A571E03AC9C9EB76FAC45AF8E51 -Ciphertext = B4D9ADA9AD7DEDF4E5E738763F69145A - -Cipher = AES-192-CBC -Key = 8E73B0F7DA0E6452C810F32B809079E562F8EAD2522C6B7B -IV = B4D9ADA9AD7DEDF4E5E738763F69145A -Plaintext = 30C81C46A35CE411E5FBC1191A0A52EF -Ciphertext = 571B242012FB7AE07FA9BAAC3DF102E0 - -Cipher = AES-192-CBC -Key = 8E73B0F7DA0E6452C810F32B809079E562F8EAD2522C6B7B -IV = 571B242012FB7AE07FA9BAAC3DF102E0 -Plaintext = F69F2445DF4F9B17AD2B417BE66C3710 -Ciphertext = 08B0E27988598881D920A9E64F5615CD - -# CBC-AES256.Encrypt and CBC-AES256.Decrypt -Cipher = AES-256-CBC -Key = 603DEB1015CA71BE2B73AEF0857D77811F352C073B6108D72D9810A30914DFF4 -IV = 000102030405060708090A0B0C0D0E0F -Plaintext = 6BC1BEE22E409F96E93D7E117393172A -Ciphertext = F58C4C04D6E5F1BA779EABFB5F7BFBD6 - -Cipher = AES-256-CBC -Key = 603DEB1015CA71BE2B73AEF0857D77811F352C073B6108D72D9810A30914DFF4 -IV = F58C4C04D6E5F1BA779EABFB5F7BFBD6 -Plaintext = AE2D8A571E03AC9C9EB76FAC45AF8E51 -Ciphertext = 9CFC4E967EDB808D679F777BC6702C7D - -Cipher = AES-256-CBC -Key = 603DEB1015CA71BE2B73AEF0857D77811F352C073B6108D72D9810A30914DFF4 -IV = 9CFC4E967EDB808D679F777BC6702C7D -Plaintext = 30C81C46A35CE411E5FBC1191A0A52EF -Ciphertext = 39F23369A9D9BACFA530E26304231461 - -Cipher = AES-256-CBC -Key = 603DEB1015CA71BE2B73AEF0857D77811F352C073B6108D72D9810A30914DFF4 -IV = 39F23369A9D9BACFA530E26304231461 -Plaintext = F69F2445DF4F9B17AD2B417BE66C3710 -Ciphertext = B2EB05E2C39BE9FCDA6C19078C6A9D1B - -# We don't support CFB{1,8}-AESxxx.{En,De}crypt -# For all CFB128 encrypts and decrypts, the transformed sequence is -# AES-bits-CFB:key:IV/ciphertext':plaintext:ciphertext:encdec -# CFB128-AES128.Encrypt -Cipher = AES-128-CFB -Key = 2B7E151628AED2A6ABF7158809CF4F3C -IV = 000102030405060708090A0B0C0D0E0F -Operation = ENCRYPT -Plaintext = 6BC1BEE22E409F96E93D7E117393172A -Ciphertext = 3B3FD92EB72DAD20333449F8E83CFB4A - -Cipher = AES-128-CFB -Key = 2B7E151628AED2A6ABF7158809CF4F3C -IV = 3B3FD92EB72DAD20333449F8E83CFB4A -Operation = ENCRYPT -Plaintext = AE2D8A571E03AC9C9EB76FAC45AF8E51 -Ciphertext = C8A64537A0B3A93FCDE3CDAD9F1CE58B - -Cipher = AES-128-CFB -Key = 2B7E151628AED2A6ABF7158809CF4F3C -IV = C8A64537A0B3A93FCDE3CDAD9F1CE58B -Operation = ENCRYPT -Plaintext = 30C81C46A35CE411E5FBC1191A0A52EF -Ciphertext = 26751F67A3CBB140B1808CF187A4F4DF - -Cipher = AES-128-CFB -Key = 2B7E151628AED2A6ABF7158809CF4F3C -IV = 26751F67A3CBB140B1808CF187A4F4DF -Operation = ENCRYPT -Plaintext = F69F2445DF4F9B17AD2B417BE66C3710 -Ciphertext = C04B05357C5D1C0EEAC4C66F9FF7F2E6 - -# CFB128-AES128.Decrypt -Cipher = AES-128-CFB -Key = 2B7E151628AED2A6ABF7158809CF4F3C -IV = 000102030405060708090A0B0C0D0E0F -Operation = DECRYPT -Plaintext = 6BC1BEE22E409F96E93D7E117393172A -Ciphertext = 3B3FD92EB72DAD20333449F8E83CFB4A - -Cipher = AES-128-CFB -Key = 2B7E151628AED2A6ABF7158809CF4F3C -IV = 3B3FD92EB72DAD20333449F8E83CFB4A -Operation = DECRYPT -Plaintext = AE2D8A571E03AC9C9EB76FAC45AF8E51 -Ciphertext = C8A64537A0B3A93FCDE3CDAD9F1CE58B - -Cipher = AES-128-CFB -Key = 2B7E151628AED2A6ABF7158809CF4F3C -IV = C8A64537A0B3A93FCDE3CDAD9F1CE58B -Operation = DECRYPT -Plaintext = 30C81C46A35CE411E5FBC1191A0A52EF -Ciphertext = 26751F67A3CBB140B1808CF187A4F4DF - -Cipher = AES-128-CFB -Key = 2B7E151628AED2A6ABF7158809CF4F3C -IV = 26751F67A3CBB140B1808CF187A4F4DF -Operation = DECRYPT -Plaintext = F69F2445DF4F9B17AD2B417BE66C3710 -Ciphertext = C04B05357C5D1C0EEAC4C66F9FF7F2E6 - -# CFB128-AES192.Encrypt -Cipher = AES-192-CFB -Key = 8E73B0F7DA0E6452C810F32B809079E562F8EAD2522C6B7B -IV = 000102030405060708090A0B0C0D0E0F -Operation = ENCRYPT -Plaintext = 6BC1BEE22E409F96E93D7E117393172A -Ciphertext = CDC80D6FDDF18CAB34C25909C99A4174 - -Cipher = AES-192-CFB -Key = 8E73B0F7DA0E6452C810F32B809079E562F8EAD2522C6B7B -IV = CDC80D6FDDF18CAB34C25909C99A4174 -Operation = ENCRYPT -Plaintext = AE2D8A571E03AC9C9EB76FAC45AF8E51 -Ciphertext = 67CE7F7F81173621961A2B70171D3D7A - -Cipher = AES-192-CFB -Key = 8E73B0F7DA0E6452C810F32B809079E562F8EAD2522C6B7B -IV = 67CE7F7F81173621961A2B70171D3D7A -Operation = ENCRYPT -Plaintext = 30C81C46A35CE411E5FBC1191A0A52EF -Ciphertext = 2E1E8A1DD59B88B1C8E60FED1EFAC4C9 - -Cipher = AES-192-CFB -Key = 8E73B0F7DA0E6452C810F32B809079E562F8EAD2522C6B7B -IV = 2E1E8A1DD59B88B1C8E60FED1EFAC4C9 -Operation = ENCRYPT -Plaintext = F69F2445DF4F9B17AD2B417BE66C3710 -Ciphertext = C05F9F9CA9834FA042AE8FBA584B09FF - -# CFB128-AES192.Decrypt -Cipher = AES-192-CFB -Key = 8E73B0F7DA0E6452C810F32B809079E562F8EAD2522C6B7B -IV = 000102030405060708090A0B0C0D0E0F -Operation = DECRYPT -Plaintext = 6BC1BEE22E409F96E93D7E117393172A -Ciphertext = CDC80D6FDDF18CAB34C25909C99A4174 - -Cipher = AES-192-CFB -Key = 8E73B0F7DA0E6452C810F32B809079E562F8EAD2522C6B7B -IV = CDC80D6FDDF18CAB34C25909C99A4174 -Operation = DECRYPT -Plaintext = AE2D8A571E03AC9C9EB76FAC45AF8E51 -Ciphertext = 67CE7F7F81173621961A2B70171D3D7A - -Cipher = AES-192-CFB -Key = 8E73B0F7DA0E6452C810F32B809079E562F8EAD2522C6B7B -IV = 67CE7F7F81173621961A2B70171D3D7A -Operation = DECRYPT -Plaintext = 30C81C46A35CE411E5FBC1191A0A52EF -Ciphertext = 2E1E8A1DD59B88B1C8E60FED1EFAC4C9 - -Cipher = AES-192-CFB -Key = 8E73B0F7DA0E6452C810F32B809079E562F8EAD2522C6B7B -IV = 2E1E8A1DD59B88B1C8E60FED1EFAC4C9 -Operation = DECRYPT -Plaintext = F69F2445DF4F9B17AD2B417BE66C3710 -Ciphertext = C05F9F9CA9834FA042AE8FBA584B09FF - -# CFB128-AES256.Encrypt -Cipher = AES-256-CFB -Key = 603DEB1015CA71BE2B73AEF0857D77811F352C073B6108D72D9810A30914DFF4 -IV = 000102030405060708090A0B0C0D0E0F -Operation = ENCRYPT -Plaintext = 6BC1BEE22E409F96E93D7E117393172A -Ciphertext = DC7E84BFDA79164B7ECD8486985D3860 - -Cipher = AES-256-CFB -Key = 603DEB1015CA71BE2B73AEF0857D77811F352C073B6108D72D9810A30914DFF4 -IV = DC7E84BFDA79164B7ECD8486985D3860 -Operation = ENCRYPT -Plaintext = AE2D8A571E03AC9C9EB76FAC45AF8E51 -Ciphertext = 39FFED143B28B1C832113C6331E5407B - -Cipher = AES-256-CFB -Key = 603DEB1015CA71BE2B73AEF0857D77811F352C073B6108D72D9810A30914DFF4 -IV = 39FFED143B28B1C832113C6331E5407B -Operation = ENCRYPT -Plaintext = 30C81C46A35CE411E5FBC1191A0A52EF -Ciphertext = DF10132415E54B92A13ED0A8267AE2F9 - -Cipher = AES-256-CFB -Key = 603DEB1015CA71BE2B73AEF0857D77811F352C073B6108D72D9810A30914DFF4 -IV = DF10132415E54B92A13ED0A8267AE2F9 -Operation = ENCRYPT -Plaintext = F69F2445DF4F9B17AD2B417BE66C3710 -Ciphertext = 75A385741AB9CEF82031623D55B1E471 - -# CFB128-AES256.Decrypt -Cipher = AES-256-CFB -Key = 603DEB1015CA71BE2B73AEF0857D77811F352C073B6108D72D9810A30914DFF4 -IV = 000102030405060708090A0B0C0D0E0F -Operation = DECRYPT -Plaintext = 6BC1BEE22E409F96E93D7E117393172A -Ciphertext = DC7E84BFDA79164B7ECD8486985D3860 - -Cipher = AES-256-CFB -Key = 603DEB1015CA71BE2B73AEF0857D77811F352C073B6108D72D9810A30914DFF4 -IV = DC7E84BFDA79164B7ECD8486985D3860 -Operation = DECRYPT -Plaintext = AE2D8A571E03AC9C9EB76FAC45AF8E51 -Ciphertext = 39FFED143B28B1C832113C6331E5407B - -Cipher = AES-256-CFB -Key = 603DEB1015CA71BE2B73AEF0857D77811F352C073B6108D72D9810A30914DFF4 -IV = 39FFED143B28B1C832113C6331E5407B -Operation = DECRYPT -Plaintext = 30C81C46A35CE411E5FBC1191A0A52EF -Ciphertext = DF10132415E54B92A13ED0A8267AE2F9 - -Cipher = AES-256-CFB -Key = 603DEB1015CA71BE2B73AEF0857D77811F352C073B6108D72D9810A30914DFF4 -IV = DF10132415E54B92A13ED0A8267AE2F9 -Operation = DECRYPT -Plaintext = F69F2445DF4F9B17AD2B417BE66C3710 -Ciphertext = 75A385741AB9CEF82031623D55B1E471 - -# For all OFB encrypts and decrypts, the transformed sequence is -# AES-bits-CFB:key:IV/output':plaintext:ciphertext:encdec -# OFB-AES128.Encrypt -Cipher = AES-128-OFB -Key = 2B7E151628AED2A6ABF7158809CF4F3C -IV = 000102030405060708090A0B0C0D0E0F -Operation = ENCRYPT -Plaintext = 6BC1BEE22E409F96E93D7E117393172A -Ciphertext = 3B3FD92EB72DAD20333449F8E83CFB4A - -Cipher = AES-128-OFB -Key = 2B7E151628AED2A6ABF7158809CF4F3C -IV = 50FE67CC996D32B6DA0937E99BAFEC60 -Operation = ENCRYPT -Plaintext = AE2D8A571E03AC9C9EB76FAC45AF8E51 -Ciphertext = 7789508D16918F03F53C52DAC54ED825 - -Cipher = AES-128-OFB -Key = 2B7E151628AED2A6ABF7158809CF4F3C -IV = D9A4DADA0892239F6B8B3D7680E15674 -Operation = ENCRYPT -Plaintext = 30C81C46A35CE411E5FBC1191A0A52EF -Ciphertext = 9740051E9C5FECF64344F7A82260EDCC - -Cipher = AES-128-OFB -Key = 2B7E151628AED2A6ABF7158809CF4F3C -IV = A78819583F0308E7A6BF36B1386ABF23 -Operation = ENCRYPT -Plaintext = F69F2445DF4F9B17AD2B417BE66C3710 -Ciphertext = 304C6528F659C77866A510D9C1D6AE5E - -# OFB-AES128.Decrypt -Cipher = AES-128-OFB -Key = 2B7E151628AED2A6ABF7158809CF4F3C -IV = 000102030405060708090A0B0C0D0E0F -Operation = DECRYPT -Plaintext = 6BC1BEE22E409F96E93D7E117393172A -Ciphertext = 3B3FD92EB72DAD20333449F8E83CFB4A - -Cipher = AES-128-OFB -Key = 2B7E151628AED2A6ABF7158809CF4F3C -IV = 50FE67CC996D32B6DA0937E99BAFEC60 -Operation = DECRYPT -Plaintext = AE2D8A571E03AC9C9EB76FAC45AF8E51 -Ciphertext = 7789508D16918F03F53C52DAC54ED825 - -Cipher = AES-128-OFB -Key = 2B7E151628AED2A6ABF7158809CF4F3C -IV = D9A4DADA0892239F6B8B3D7680E15674 -Operation = DECRYPT -Plaintext = 30C81C46A35CE411E5FBC1191A0A52EF -Ciphertext = 9740051E9C5FECF64344F7A82260EDCC - -Cipher = AES-128-OFB -Key = 2B7E151628AED2A6ABF7158809CF4F3C -IV = A78819583F0308E7A6BF36B1386ABF23 -Operation = DECRYPT -Plaintext = F69F2445DF4F9B17AD2B417BE66C3710 -Ciphertext = 304C6528F659C77866A510D9C1D6AE5E - -# OFB-AES192.Encrypt -Cipher = AES-192-OFB -Key = 8E73B0F7DA0E6452C810F32B809079E562F8EAD2522C6B7B -IV = 000102030405060708090A0B0C0D0E0F -Operation = ENCRYPT -Plaintext = 6BC1BEE22E409F96E93D7E117393172A -Ciphertext = CDC80D6FDDF18CAB34C25909C99A4174 - -Cipher = AES-192-OFB -Key = 8E73B0F7DA0E6452C810F32B809079E562F8EAD2522C6B7B -IV = A609B38DF3B1133DDDFF2718BA09565E -Operation = ENCRYPT -Plaintext = AE2D8A571E03AC9C9EB76FAC45AF8E51 -Ciphertext = FCC28B8D4C63837C09E81700C1100401 - -Cipher = AES-192-OFB -Key = 8E73B0F7DA0E6452C810F32B809079E562F8EAD2522C6B7B -IV = 52EF01DA52602FE0975F78AC84BF8A50 -Operation = ENCRYPT -Plaintext = 30C81C46A35CE411E5FBC1191A0A52EF -Ciphertext = 8D9A9AEAC0F6596F559C6D4DAF59A5F2 - -Cipher = AES-192-OFB -Key = 8E73B0F7DA0E6452C810F32B809079E562F8EAD2522C6B7B -IV = BD5286AC63AABD7EB067AC54B553F71D -Operation = ENCRYPT -Plaintext = F69F2445DF4F9B17AD2B417BE66C3710 -Ciphertext = 6D9F200857CA6C3E9CAC524BD9ACC92A - -# OFB-AES192.Decrypt -Cipher = AES-192-OFB -Key = 8E73B0F7DA0E6452C810F32B809079E562F8EAD2522C6B7B -IV = 000102030405060708090A0B0C0D0E0F -Operation = ENCRYPT -Plaintext = 6BC1BEE22E409F96E93D7E117393172A -Ciphertext = CDC80D6FDDF18CAB34C25909C99A4174 - -Cipher = AES-192-OFB -Key = 8E73B0F7DA0E6452C810F32B809079E562F8EAD2522C6B7B -IV = A609B38DF3B1133DDDFF2718BA09565E -Operation = ENCRYPT -Plaintext = AE2D8A571E03AC9C9EB76FAC45AF8E51 -Ciphertext = FCC28B8D4C63837C09E81700C1100401 - -Cipher = AES-192-OFB -Key = 8E73B0F7DA0E6452C810F32B809079E562F8EAD2522C6B7B -IV = 52EF01DA52602FE0975F78AC84BF8A50 -Operation = ENCRYPT -Plaintext = 30C81C46A35CE411E5FBC1191A0A52EF -Ciphertext = 8D9A9AEAC0F6596F559C6D4DAF59A5F2 - -Cipher = AES-192-OFB -Key = 8E73B0F7DA0E6452C810F32B809079E562F8EAD2522C6B7B -IV = BD5286AC63AABD7EB067AC54B553F71D -Operation = ENCRYPT -Plaintext = F69F2445DF4F9B17AD2B417BE66C3710 -Ciphertext = 6D9F200857CA6C3E9CAC524BD9ACC92A - -# OFB-AES256.Encrypt -Cipher = AES-256-OFB -Key = 603DEB1015CA71BE2B73AEF0857D77811F352C073B6108D72D9810A30914DFF4 -IV = 000102030405060708090A0B0C0D0E0F -Operation = ENCRYPT -Plaintext = 6BC1BEE22E409F96E93D7E117393172A -Ciphertext = DC7E84BFDA79164B7ECD8486985D3860 - -Cipher = AES-256-OFB -Key = 603DEB1015CA71BE2B73AEF0857D77811F352C073B6108D72D9810A30914DFF4 -IV = B7BF3A5DF43989DD97F0FA97EBCE2F4A -Operation = ENCRYPT -Plaintext = AE2D8A571E03AC9C9EB76FAC45AF8E51 -Ciphertext = 4FEBDC6740D20B3AC88F6AD82A4FB08D - -Cipher = AES-256-OFB -Key = 603DEB1015CA71BE2B73AEF0857D77811F352C073B6108D72D9810A30914DFF4 -IV = E1C656305ED1A7A6563805746FE03EDC -Operation = ENCRYPT -Plaintext = 30C81C46A35CE411E5FBC1191A0A52EF -Ciphertext = 71AB47A086E86EEDF39D1C5BBA97C408 - -Cipher = AES-256-OFB -Key = 603DEB1015CA71BE2B73AEF0857D77811F352C073B6108D72D9810A30914DFF4 -IV = 41635BE625B48AFC1666DD42A09D96E7 -Operation = ENCRYPT -Plaintext = F69F2445DF4F9B17AD2B417BE66C3710 -Ciphertext = 0126141D67F37BE8538F5A8BE740E484 - -# OFB-AES256.Decrypt -Cipher = AES-256-OFB -Key = 603DEB1015CA71BE2B73AEF0857D77811F352C073B6108D72D9810A30914DFF4 -IV = 000102030405060708090A0B0C0D0E0F -Operation = DECRYPT -Plaintext = 6BC1BEE22E409F96E93D7E117393172A -Ciphertext = DC7E84BFDA79164B7ECD8486985D3860 - -Cipher = AES-256-OFB -Key = 603DEB1015CA71BE2B73AEF0857D77811F352C073B6108D72D9810A30914DFF4 -IV = B7BF3A5DF43989DD97F0FA97EBCE2F4A -Operation = DECRYPT -Plaintext = AE2D8A571E03AC9C9EB76FAC45AF8E51 -Ciphertext = 4FEBDC6740D20B3AC88F6AD82A4FB08D - -Cipher = AES-256-OFB -Key = 603DEB1015CA71BE2B73AEF0857D77811F352C073B6108D72D9810A30914DFF4 -IV = E1C656305ED1A7A6563805746FE03EDC -Operation = DECRYPT -Plaintext = 30C81C46A35CE411E5FBC1191A0A52EF -Ciphertext = 71AB47A086E86EEDF39D1C5BBA97C408 - -Cipher = AES-256-OFB -Key = 603DEB1015CA71BE2B73AEF0857D77811F352C073B6108D72D9810A30914DFF4 -IV = 41635BE625B48AFC1666DD42A09D96E7 -Operation = DECRYPT -Plaintext = F69F2445DF4F9B17AD2B417BE66C3710 -Ciphertext = 0126141D67F37BE8538F5A8BE740E484 - - -# AES Counter test vectors from RFC3686 -Cipher = aes-128-ctr -Key = AE6852F8121067CC4BF7A5765577F39E -IV = 00000030000000000000000000000001 -Operation = ENCRYPT -Plaintext = 53696E676C6520626C6F636B206D7367 -Ciphertext = E4095D4FB7A7B3792D6175A3261311B8 - -Cipher = aes-128-ctr -Key = 7E24067817FAE0D743D6CE1F32539163 -IV = 006CB6DBC0543B59DA48D90B00000001 -Operation = ENCRYPT -Plaintext = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F -Ciphertext = 5104A106168A72D9790D41EE8EDAD388EB2E1EFC46DA57C8FCE630DF9141BE28 - -Cipher = aes-128-ctr -Key = 7691BE035E5020A8AC6E618529F9A0DC -IV = 00E0017B27777F3F4A1786F000000001 -Operation = ENCRYPT -Plaintext = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F20212223 -Ciphertext = C1CF48A89F2FFDD9CF4652E9EFDB72D74540A42BDE6D7836D59A5CEAAEF3105325B2072F - - -Cipher = aes-192-ctr -Key = 16AF5B145FC9F579C175F93E3BFB0EED863D06CCFDB78515 -IV = 0000004836733C147D6D93CB00000001 -Operation = ENCRYPT -Plaintext = 53696E676C6520626C6F636B206D7367 -Ciphertext = 4B55384FE259C9C84E7935A003CBE928 - -Cipher = aes-192-ctr -Key = 7C5CB2401B3DC33C19E7340819E0F69C678C3DB8E6F6A91A -IV = 0096B03B020C6EADC2CB500D00000001 -Operation = ENCRYPT -Plaintext = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F -Ciphertext = 453243FC609B23327EDFAAFA7131CD9F8490701C5AD4A79CFC1FE0FF42F4FB00 - -Cipher = aes-192-ctr -Key = 02BF391EE8ECB159B959617B0965279BF59B60A786D3E0FE -IV = 0007BDFD5CBD60278DCC091200000001 -Operation = ENCRYPT -Plaintext = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F20212223 -Ciphertext = 96893FC55E5C722F540B7DD1DDF7E758D288BC95C69165884536C811662F2188ABEE0935 - - -Cipher = aes-256-ctr -Key = 776BEFF2851DB06F4C8A0542C8696F6C6A81AF1EEC96B4D37FC1D689E6C1C104 -IV = 00000060DB5672C97AA8F0B200000001 -Operation = ENCRYPT -Plaintext = 53696E676C6520626C6F636B206D7367 -Ciphertext = 145AD01DBF824EC7560863DC71E3E0C0 - -Cipher = aes-256-ctr -Key = F6D66D6BD52D59BB0796365879EFF886C66DD51A5B6A99744B50590C87A23884 -IV = 00FAAC24C1585EF15A43D87500000001 -Operation = ENCRYPT -Plaintext = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F -Ciphertext = F05E231B3894612C49EE000B804EB2A9B8306B508F839D6A5530831D9344AF1C - -Cipher = aes-256-ctr -Key = FF7A617CE69148E4F1726E2F43581DE2AA62D9F805532EDFF1EED687FB54153D -IV = 001CC5B751A51D70A1C1114800000001 -Operation = ENCRYPT -Plaintext = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F20212223 -Ciphertext = EB6C52821D0BBBF7CE7594462ACA4FAAB407DF866569FD07F48CC0B583D6071F1EC0E6B8 - - -# Self-generated vector to trigger false carry on big-endian platforms -Cipher = aes-128-ctr -Key = 7E24067817FAE0D743D6CE1F32539163 -IV = 00000000000000007FFFFFFFFFFFFFFF -Operation = ENCRYPT -Plaintext = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F -Ciphertext = A2D459477E6432BD74184B1B5370D2243CDC202BC43583B2A55D288CDBBD1E03 - -# DES ECB tests (from destest) - -Cipher = DES-ECB -Key = 0000000000000000 -Plaintext = 0000000000000000 -Ciphertext = 8CA64DE9C1B123A7 - -Cipher = DES-ECB -Key = FFFFFFFFFFFFFFFF -Plaintext = FFFFFFFFFFFFFFFF -Ciphertext = 7359B2163E4EDC58 - -Cipher = DES-ECB -Key = 3000000000000000 -Plaintext = 1000000000000001 -Ciphertext = 958E6E627A05557B - -Cipher = DES-ECB -Key = 1111111111111111 -Plaintext = 1111111111111111 -Ciphertext = F40379AB9E0EC533 - -Cipher = DES-ECB -Key = 0123456789ABCDEF -Plaintext = 1111111111111111 -Ciphertext = 17668DFC7292532D - -Cipher = DES-ECB -Key = 1111111111111111 -Plaintext = 0123456789ABCDEF -Ciphertext = 8A5AE1F81AB8F2DD - -Cipher = DES-ECB -Key = FEDCBA9876543210 -Plaintext = 0123456789ABCDEF -Ciphertext = ED39D950FA74BCC4 - - -# DESX-CBC tests (from destest) -Cipher = DESX-CBC -Key = 0123456789abcdeff1e0d3c2b5a49786fedcba9876543210 -IV = fedcba9876543210 -Plaintext = 37363534333231204E6F77206973207468652074696D6520666F722000000000 -Ciphertext = 846B2914851E9A2954732F8AA0A611C115CDC2D7951B1053A63C5E03B21AA3C4 - - -# DES EDE3 CBC tests (from destest) -Cipher = DES-EDE3-CBC -Key = 0123456789abcdeff1e0d3c2b5a49786fedcba9876543210 -IV = fedcba9876543210 -Plaintext = 37363534333231204E6F77206973207468652074696D6520666F722000000000 -Ciphertext = 3FE301C962AC01D02213763C1CBD4CDC799657C064ECF5D41C673812CFDE9675 - - -# RC4 tests (from rc4test) -Cipher = RC4 -Key = 0123456789abcdef0123456789abcdef -Plaintext = 0123456789abcdef -Ciphertext = 75b7878099e0c596 - -Cipher = RC4 -Key = 0123456789abcdef0123456789abcdef -Plaintext = 0000000000000000 -Ciphertext = 7494c2e7104b0879 - -Cipher = RC4 -Key = 00000000000000000000000000000000 -Plaintext = 0000000000000000 -Ciphertext = de188941a3375d3a - -Cipher = RC4 -Key = ef012345ef012345ef012345ef012345 -Plaintext = 0000000000000000000000000000000000000000 -Ciphertext = d6a141a7ec3c38dfbd615a1162e1c7ba36b67858 - -Cipher = RC4 -Key = 0123456789abcdef0123456789abcdef -Plaintext = 123456789ABCDEF0123456789ABCDEF0123456789ABCDEF012345678 -Ciphertext = 66a0949f8af7d6891f7f832ba833c00c892ebe30143ce28740011ecf - -Cipher = RC4 -Key = ef012345ef012345ef012345ef012345 -Plaintext = 00000000000000000000 -Ciphertext = d6a141a7ec3c38dfbd61 - - - -# Camellia tests from RFC3713 -# For all ECB encrypts and decrypts, the transformed sequence is -# CAMELLIA-bits-ECB:key::plaintext:ciphertext:encdec -Cipher = CAMELLIA-128-ECB -Key = 0123456789abcdeffedcba9876543210 -Plaintext = 0123456789abcdeffedcba9876543210 -Ciphertext = 67673138549669730857065648eabe43 - -Cipher = CAMELLIA-192-ECB -Key = 0123456789abcdeffedcba98765432100011223344556677 -Plaintext = 0123456789abcdeffedcba9876543210 -Ciphertext = b4993401b3e996f84ee5cee7d79b09b9 - -Cipher = CAMELLIA-256-ECB -Key = 0123456789abcdeffedcba987654321000112233445566778899aabbccddeeff -Plaintext = 0123456789abcdeffedcba9876543210 -Ciphertext = 9acc237dff16d76c20ef7c919e3a7509 - - -# ECB-CAMELLIA128.Encrypt -Cipher = CAMELLIA-128-ECB -Key = 000102030405060708090A0B0C0D0E0F -Operation = ENCRYPT -Plaintext = 00112233445566778899AABBCCDDEEFF -Ciphertext = 77CF412067AF8270613529149919546F - -Cipher = CAMELLIA-192-ECB -Key = 000102030405060708090A0B0C0D0E0F1011121314151617 -Operation = ENCRYPT -Plaintext = 00112233445566778899AABBCCDDEEFF -Ciphertext = B22F3C36B72D31329EEE8ADDC2906C68 - -Cipher = CAMELLIA-256-ECB -Key = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F -Operation = ENCRYPT -Plaintext = 00112233445566778899AABBCCDDEEFF -Ciphertext = 2EDF1F3418D53B88841FC8985FB1ECF2 - - -# ECB-CAMELLIA128.Encrypt and ECB-CAMELLIA128.Decrypt -Cipher = CAMELLIA-128-ECB -Key = 2B7E151628AED2A6ABF7158809CF4F3C -Plaintext = 6BC1BEE22E409F96E93D7E117393172A -Ciphertext = 432FC5DCD628115B7C388D770B270C96 - -Cipher = CAMELLIA-128-ECB -Key = 2B7E151628AED2A6ABF7158809CF4F3C -Plaintext = AE2D8A571E03AC9C9EB76FAC45AF8E51 -Ciphertext = 0BE1F14023782A22E8384C5ABB7FAB2B - -Cipher = CAMELLIA-128-ECB -Key = 2B7E151628AED2A6ABF7158809CF4F3C -Plaintext = 30C81C46A35CE411E5FBC1191A0A52EF -Ciphertext = A0A1ABCD1893AB6FE0FE5B65DF5F8636 - -Cipher = CAMELLIA-128-ECB -Key = 2B7E151628AED2A6ABF7158809CF4F3C -Plaintext = F69F2445DF4F9B17AD2B417BE66C3710 -Ciphertext = E61925E0D5DFAA9BB29F815B3076E51A - - -# ECB-CAMELLIA192.Encrypt and ECB-CAMELLIA192.Decrypt -Cipher = CAMELLIA-192-ECB -Key = 8E73B0F7DA0E6452C810F32B809079E562F8EAD2522C6B7B -Plaintext = 6BC1BEE22E409F96E93D7E117393172A -Ciphertext = CCCC6C4E138B45848514D48D0D3439D3 - -Cipher = CAMELLIA-192-ECB -Key = 8E73B0F7DA0E6452C810F32B809079E562F8EAD2522C6B7B -Plaintext = AE2D8A571E03AC9C9EB76FAC45AF8E51 -Ciphertext = 5713C62C14B2EC0F8393B6AFD6F5785A - -Cipher = CAMELLIA-192-ECB -Key = 8E73B0F7DA0E6452C810F32B809079E562F8EAD2522C6B7B -Plaintext = 30C81C46A35CE411E5FBC1191A0A52EF -Ciphertext = B40ED2B60EB54D09D030CF511FEEF366 - -Cipher = CAMELLIA-192-ECB -Key = 8E73B0F7DA0E6452C810F32B809079E562F8EAD2522C6B7B -Plaintext = F69F2445DF4F9B17AD2B417BE66C3710 -Ciphertext = 909DBD95799096748CB27357E73E1D26 - - -# ECB-CAMELLIA256.Encrypt and ECB-CAMELLIA256.Decrypt -Cipher = CAMELLIA-256-ECB -Key = 603DEB1015CA71BE2B73AEF0857D77811F352C073B6108D72D9810A30914DFF4 -Plaintext = 6BC1BEE22E409F96E93D7E117393172A -Ciphertext = BEFD219B112FA00098919CD101C9CCFA - -Cipher = CAMELLIA-256-ECB -Key = 603DEB1015CA71BE2B73AEF0857D77811F352C073B6108D72D9810A30914DFF4 -Plaintext = AE2D8A571E03AC9C9EB76FAC45AF8E51 -Ciphertext = C91D3A8F1AEA08A9386CF4B66C0169EA - -Cipher = CAMELLIA-256-ECB -Key = 603DEB1015CA71BE2B73AEF0857D77811F352C073B6108D72D9810A30914DFF4 -Plaintext = 30C81C46A35CE411E5FBC1191A0A52EF -Ciphertext = A623D711DC5F25A51BB8A80D56397D28 - -Cipher = CAMELLIA-256-ECB -Key = 603DEB1015CA71BE2B73AEF0857D77811F352C073B6108D72D9810A30914DFF4 -Plaintext = F69F2445DF4F9B17AD2B417BE66C3710 -Ciphertext = 7960109FB6DC42947FCFE59EA3C5EB6B - - -# For all CBC encrypts and decrypts, the transformed sequence is -# CAMELLIA-bits-CBC:key:IV/ciphertext':plaintext:ciphertext:encdec -# CBC-CAMELLIA128.Encrypt and CBC-CAMELLIA128.Decrypt -Cipher = CAMELLIA-128-CBC -Key = 2B7E151628AED2A6ABF7158809CF4F3C -IV = 000102030405060708090A0B0C0D0E0F -Plaintext = 6BC1BEE22E409F96E93D7E117393172A -Ciphertext = 1607CF494B36BBF00DAEB0B503C831AB - -Cipher = CAMELLIA-128-CBC -Key = 2B7E151628AED2A6ABF7158809CF4F3C -IV = 1607CF494B36BBF00DAEB0B503C831AB -Plaintext = AE2D8A571E03AC9C9EB76FAC45AF8E51 -Ciphertext = A2F2CF671629EF7840C5A5DFB5074887 - -Cipher = CAMELLIA-128-CBC -Key = 2B7E151628AED2A6ABF7158809CF4F3C -IV = A2F2CF671629EF7840C5A5DFB5074887 -Plaintext = 30C81C46A35CE411E5FBC1191A0A52EF -Ciphertext = 0F06165008CF8B8B5A63586362543E54 - -Cipher = CAMELLIA-128-CBC -Key = 2B7E151628AED2A6ABF7158809CF4F3C -IV = 36A84CDAFD5F9A85ADA0F0A993D6D577 -Plaintext = F69F2445DF4F9B17AD2B417BE66C3710 -Ciphertext = 74C64268CDB8B8FAF5B34E8AF3732980 - - -# CBC-CAMELLIA192.Encrypt and CBC-CAMELLIA192.Decrypt -Cipher = CAMELLIA-192-CBC -Key = 8E73B0F7DA0E6452C810F32B809079E562F8EAD2522C6B7B -IV = 000102030405060708090A0B0C0D0E0F -Plaintext = 6BC1BEE22E409F96E93D7E117393172A -Ciphertext = 2A4830AB5AC4A1A2405955FD2195CF93 - -Cipher = CAMELLIA-192-CBC -Key = 8E73B0F7DA0E6452C810F32B809079E562F8EAD2522C6B7B -IV = 2A4830AB5AC4A1A2405955FD2195CF93 -Plaintext = AE2D8A571E03AC9C9EB76FAC45AF8E51 -Ciphertext = 5D5A869BD14CE54264F892A6DD2EC3D5 - -Cipher = CAMELLIA-192-CBC -Key = 8E73B0F7DA0E6452C810F32B809079E562F8EAD2522C6B7B -IV = 5D5A869BD14CE54264F892A6DD2EC3D5 -Plaintext = 30C81C46A35CE411E5FBC1191A0A52EF -Ciphertext = 37D359C3349836D884E310ADDF68C449 - -Cipher = CAMELLIA-192-CBC -Key = 8E73B0F7DA0E6452C810F32B809079E562F8EAD2522C6B7B -IV = 37D359C3349836D884E310ADDF68C449 -Plaintext = F69F2445DF4F9B17AD2B417BE66C3710 -Ciphertext = 01FAAA930B4AB9916E9668E1428C6B08 - - -# CBC-CAMELLIA256.Encrypt and CBC-CAMELLIA256.Decrypt -Cipher = CAMELLIA-256-CBC -Key = 603DEB1015CA71BE2B73AEF0857D77811F352C073B6108D72D9810A30914DFF4 -IV = 000102030405060708090A0B0C0D0E0F -Plaintext = 6BC1BEE22E409F96E93D7E117393172A -Ciphertext = E6CFA35FC02B134A4D2C0B6737AC3EDA - -Cipher = CAMELLIA-256-CBC -Key = 603DEB1015CA71BE2B73AEF0857D77811F352C073B6108D72D9810A30914DFF4 -IV = E6CFA35FC02B134A4D2C0B6737AC3EDA -Plaintext = AE2D8A571E03AC9C9EB76FAC45AF8E51 -Ciphertext = 36CBEB73BD504B4070B1B7DE2B21EB50 - -Cipher = CAMELLIA-256-CBC -Key = 603DEB1015CA71BE2B73AEF0857D77811F352C073B6108D72D9810A30914DFF4 -IV = 36CBEB73BD504B4070B1B7DE2B21EB50 -Plaintext = 30C81C46A35CE411E5FBC1191A0A52EF -Ciphertext = E31A6055297D96CA3330CDF1B1860A83 - -Cipher = CAMELLIA-256-CBC -Key = 603DEB1015CA71BE2B73AEF0857D77811F352C073B6108D72D9810A30914DFF4 -IV = E31A6055297D96CA3330CDF1B1860A83 -Plaintext = F69F2445DF4F9B17AD2B417BE66C3710 -Ciphertext = 5D563F6D1CCCF236051C0C5C1C58F28F - - -# We don't support CFB{1,8}-CAMELLIAxxx.{En,De}crypt -# For all CFB128 encrypts and decrypts, the transformed sequence is -# CAMELLIA-bits-CFB:key:IV/ciphertext':plaintext:ciphertext:encdec -# CFB128-CAMELLIA128.Encrypt -Cipher = CAMELLIA-128-CFB -Key = 2B7E151628AED2A6ABF7158809CF4F3C -IV = 000102030405060708090A0B0C0D0E0F -Operation = ENCRYPT -Plaintext = 6BC1BEE22E409F96E93D7E117393172A -Ciphertext = 14F7646187817EB586599146B82BD719 - -Cipher = CAMELLIA-128-CFB -Key = 2B7E151628AED2A6ABF7158809CF4F3C -IV = 14F7646187817EB586599146B82BD719 -Operation = ENCRYPT -Plaintext = AE2D8A571E03AC9C9EB76FAC45AF8E51 -Ciphertext = A53D28BB82DF741103EA4F921A44880B - -Cipher = CAMELLIA-128-CFB -Key = 2B7E151628AED2A6ABF7158809CF4F3C -IV = A53D28BB82DF741103EA4F921A44880B -Operation = ENCRYPT -Plaintext = 30C81C46A35CE411E5FBC1191A0A52EF -Ciphertext = 9C2157A664626D1DEF9EA420FDE69B96 - -Cipher = CAMELLIA-128-CFB -Key = 2B7E151628AED2A6ABF7158809CF4F3C -IV = 9C2157A664626D1DEF9EA420FDE69B96 -Operation = ENCRYPT -Plaintext = F69F2445DF4F9B17AD2B417BE66C3710 -Ciphertext = 742A25F0542340C7BAEF24CA8482BB09 - - -# CFB128-CAMELLIA128.Decrypt -Cipher = CAMELLIA-128-CFB -Key = 2B7E151628AED2A6ABF7158809CF4F3C -IV = 000102030405060708090A0B0C0D0E0F -Operation = DECRYPT -Plaintext = 6BC1BEE22E409F96E93D7E117393172A -Ciphertext = 14F7646187817EB586599146B82BD719 - -Cipher = CAMELLIA-128-CFB -Key = 2B7E151628AED2A6ABF7158809CF4F3C -IV = 14F7646187817EB586599146B82BD719 -Operation = DECRYPT -Plaintext = AE2D8A571E03AC9C9EB76FAC45AF8E51 -Ciphertext = A53D28BB82DF741103EA4F921A44880B - -Cipher = CAMELLIA-128-CFB -Key = 2B7E151628AED2A6ABF7158809CF4F3C -IV = A53D28BB82DF741103EA4F921A44880B -Operation = DECRYPT -Plaintext = 30C81C46A35CE411E5FBC1191A0A52EF -Ciphertext = 9C2157A664626D1DEF9EA420FDE69B96 - -Cipher = CAMELLIA-128-CFB -Key = 2B7E151628AED2A6ABF7158809CF4F3C -IV = 9C2157A664626D1DEF9EA420FDE69B96 -Operation = DECRYPT -Plaintext = F69F2445DF4F9B17AD2B417BE66C3710 -Ciphertext = 742A25F0542340C7BAEF24CA8482BB09 - - -# CFB128-CAMELLIA192.Encrypt -Cipher = CAMELLIA-192-CFB -Key = 8E73B0F7DA0E6452C810F32B809079E562F8EAD2522C6B7B -IV = 000102030405060708090A0B0C0D0E0F -Operation = ENCRYPT -Plaintext = 6BC1BEE22E409F96E93D7E117393172A -Ciphertext = C832BB9780677DAA82D9B6860DCD565E - -Cipher = CAMELLIA-192-CFB -Key = 8E73B0F7DA0E6452C810F32B809079E562F8EAD2522C6B7B -IV = C832BB9780677DAA82D9B6860DCD565E -Operation = ENCRYPT -Plaintext = AE2D8A571E03AC9C9EB76FAC45AF8E51 -Ciphertext = 86F8491627906D780C7A6D46EA331F98 - -Cipher = CAMELLIA-192-CFB -Key = 8E73B0F7DA0E6452C810F32B809079E562F8EAD2522C6B7B -IV = 86F8491627906D780C7A6D46EA331F98 -Operation = ENCRYPT -Plaintext = 30C81C46A35CE411E5FBC1191A0A52EF -Ciphertext = 69511CCE594CF710CB98BB63D7221F01 - -Cipher = CAMELLIA-192-CFB -Key = 8E73B0F7DA0E6452C810F32B809079E562F8EAD2522C6B7B -IV = 69511CCE594CF710CB98BB63D7221F01 -Operation = ENCRYPT -Plaintext = F69F2445DF4F9B17AD2B417BE66C3710 -Ciphertext = D5B5378A3ABED55803F25565D8907B84 - - -# CFB128-CAMELLIA192.Decrypt -Cipher = CAMELLIA-192-CFB -Key = 8E73B0F7DA0E6452C810F32B809079E562F8EAD2522C6B7B -IV = 000102030405060708090A0B0C0D0E0F -Operation = DECRYPT -Plaintext = 6BC1BEE22E409F96E93D7E117393172A -Ciphertext = C832BB9780677DAA82D9B6860DCD565E - -Cipher = CAMELLIA-192-CFB -Key = 8E73B0F7DA0E6452C810F32B809079E562F8EAD2522C6B7B -IV = C832BB9780677DAA82D9B6860DCD565E -Operation = DECRYPT -Plaintext = AE2D8A571E03AC9C9EB76FAC45AF8E51 -Ciphertext = 86F8491627906D780C7A6D46EA331F98 - -Cipher = CAMELLIA-192-CFB -Key = 8E73B0F7DA0E6452C810F32B809079E562F8EAD2522C6B7B -IV = 86F8491627906D780C7A6D46EA331F98 -Operation = DECRYPT -Plaintext = 30C81C46A35CE411E5FBC1191A0A52EF -Ciphertext = 69511CCE594CF710CB98BB63D7221F01 - -Cipher = CAMELLIA-192-CFB -Key = 8E73B0F7DA0E6452C810F32B809079E562F8EAD2522C6B7B -IV = 69511CCE594CF710CB98BB63D7221F01 -Operation = DECRYPT -Plaintext = F69F2445DF4F9B17AD2B417BE66C3710 -Ciphertext = D5B5378A3ABED55803F25565D8907B84 - - -# CFB128-CAMELLIA256.Encrypt -Cipher = CAMELLIA-256-CFB -Key = 603DEB1015CA71BE2B73AEF0857D77811F352C073B6108D72D9810A30914DFF4 -IV = 000102030405060708090A0B0C0D0E0F -Operation = ENCRYPT -Plaintext = 6BC1BEE22E409F96E93D7E117393172A -Ciphertext = CF6107BB0CEA7D7FB1BD31F5E7B06C93 - -Cipher = CAMELLIA-256-CFB -Key = 603DEB1015CA71BE2B73AEF0857D77811F352C073B6108D72D9810A30914DFF4 -IV = CF6107BB0CEA7D7FB1BD31F5E7B06C93 -Operation = ENCRYPT -Plaintext = AE2D8A571E03AC9C9EB76FAC45AF8E51 -Ciphertext = 89BEDB4CCDD864EA11BA4CBE849B5E2B - -Cipher = CAMELLIA-256-CFB -Key = 603DEB1015CA71BE2B73AEF0857D77811F352C073B6108D72D9810A30914DFF4 -IV = 89BEDB4CCDD864EA11BA4CBE849B5E2B -Operation = ENCRYPT -Plaintext = 30C81C46A35CE411E5FBC1191A0A52EF -Ciphertext = 555FC3F34BDD2D54C62D9E3BF338C1C4 - -Cipher = CAMELLIA-256-CFB -Key = 603DEB1015CA71BE2B73AEF0857D77811F352C073B6108D72D9810A30914DFF4 -IV = 555FC3F34BDD2D54C62D9E3BF338C1C4 -Operation = ENCRYPT -Plaintext = F69F2445DF4F9B17AD2B417BE66C3710 -Ciphertext = 5953ADCE14DB8C7F39F1BD39F359BFFA - - -# CFB128-CAMELLIA256.Decrypt -Cipher = CAMELLIA-256-CFB -Key = 603DEB1015CA71BE2B73AEF0857D77811F352C073B6108D72D9810A30914DFF4 -IV = 000102030405060708090A0B0C0D0E0F -Operation = DECRYPT -Plaintext = 6BC1BEE22E409F96E93D7E117393172A -Ciphertext = CF6107BB0CEA7D7FB1BD31F5E7B06C93 - -Cipher = CAMELLIA-256-CFB -Key = 603DEB1015CA71BE2B73AEF0857D77811F352C073B6108D72D9810A30914DFF4 -IV = CF6107BB0CEA7D7FB1BD31F5E7B06C93 -Operation = DECRYPT -Plaintext = AE2D8A571E03AC9C9EB76FAC45AF8E51 -Ciphertext = 89BEDB4CCDD864EA11BA4CBE849B5E2B - -Cipher = CAMELLIA-256-CFB -Key = 603DEB1015CA71BE2B73AEF0857D77811F352C073B6108D72D9810A30914DFF4 -IV = 89BEDB4CCDD864EA11BA4CBE849B5E2B -Operation = DECRYPT -Plaintext = 30C81C46A35CE411E5FBC1191A0A52EF -Ciphertext = 555FC3F34BDD2D54C62D9E3BF338C1C4 - -Cipher = CAMELLIA-256-CFB -Key = 603DEB1015CA71BE2B73AEF0857D77811F352C073B6108D72D9810A30914DFF4 -IV = 555FC3F34BDD2D54C62D9E3BF338C1C4 -Operation = DECRYPT -Plaintext = F69F2445DF4F9B17AD2B417BE66C3710 -Ciphertext = 5953ADCE14DB8C7F39F1BD39F359BFFA - - -# For all OFB encrypts and decrypts, the transformed sequence is -# CAMELLIA-bits-OFB:key:IV/output':plaintext:ciphertext:encdec -# OFB-CAMELLIA128.Encrypt -Cipher = CAMELLIA-128-OFB -Key = 2B7E151628AED2A6ABF7158809CF4F3C -IV = 000102030405060708090A0B0C0D0E0F -Operation = ENCRYPT -Plaintext = 6BC1BEE22E409F96E93D7E117393172A -Ciphertext = 14F7646187817EB586599146B82BD719 - -Cipher = CAMELLIA-128-OFB -Key = 2B7E151628AED2A6ABF7158809CF4F3C -IV = 50FE67CC996D32B6DA0937E99BAFEC60 -Operation = ENCRYPT -Plaintext = AE2D8A571E03AC9C9EB76FAC45AF8E51 -Ciphertext = 25623DB569CA51E01482649977E28D84 - -Cipher = CAMELLIA-128-OFB -Key = 2B7E151628AED2A6ABF7158809CF4F3C -IV = D9A4DADA0892239F6B8B3D7680E15674 -Operation = ENCRYPT -Plaintext = 30C81C46A35CE411E5FBC1191A0A52EF -Ciphertext = C776634A60729DC657D12B9FCA801E98 - -Cipher = CAMELLIA-128-OFB -Key = 2B7E151628AED2A6ABF7158809CF4F3C -IV = A78819583F0308E7A6BF36B1386ABF23 -Operation = ENCRYPT -Plaintext = F69F2445DF4F9B17AD2B417BE66C3710 -Ciphertext = D776379BE0E50825E681DA1A4C980E8E - - -# OFB-CAMELLIA128.Decrypt -Cipher = CAMELLIA-128-OFB -Key = 2B7E151628AED2A6ABF7158809CF4F3C -IV = 000102030405060708090A0B0C0D0E0F -Operation = DECRYPT -Plaintext = 6BC1BEE22E409F96E93D7E117393172A -Ciphertext = 14F7646187817EB586599146B82BD719 - -Cipher = CAMELLIA-128-OFB -Key = 2B7E151628AED2A6ABF7158809CF4F3C -IV = 50FE67CC996D32B6DA0937E99BAFEC60 -Operation = DECRYPT -Plaintext = AE2D8A571E03AC9C9EB76FAC45AF8E51 -Ciphertext = 25623DB569CA51E01482649977E28D84 - -Cipher = CAMELLIA-128-OFB -Key = 2B7E151628AED2A6ABF7158809CF4F3C -IV = D9A4DADA0892239F6B8B3D7680E15674 -Operation = DECRYPT -Plaintext = 30C81C46A35CE411E5FBC1191A0A52EF -Ciphertext = C776634A60729DC657D12B9FCA801E98 - -Cipher = CAMELLIA-128-OFB -Key = 2B7E151628AED2A6ABF7158809CF4F3C -IV = A78819583F0308E7A6BF36B1386ABF23 -Operation = DECRYPT -Plaintext = F69F2445DF4F9B17AD2B417BE66C3710 -Ciphertext = D776379BE0E50825E681DA1A4C980E8E - - -# OFB-CAMELLIA192.Encrypt -Cipher = CAMELLIA-192-OFB -Key = 8E73B0F7DA0E6452C810F32B809079E562F8EAD2522C6B7B -IV = 000102030405060708090A0B0C0D0E0F -Operation = ENCRYPT -Plaintext = 6BC1BEE22E409F96E93D7E117393172A -Ciphertext = C832BB9780677DAA82D9B6860DCD565E - -Cipher = CAMELLIA-192-OFB -Key = 8E73B0F7DA0E6452C810F32B809079E562F8EAD2522C6B7B -IV = A609B38DF3B1133DDDFF2718BA09565E -Operation = ENCRYPT -Plaintext = AE2D8A571E03AC9C9EB76FAC45AF8E51 -Ciphertext = 8ECEB7D0350D72C7F78562AEBDF99339 - -Cipher = CAMELLIA-192-OFB -Key = 8E73B0F7DA0E6452C810F32B809079E562F8EAD2522C6B7B -IV = 52EF01DA52602FE0975F78AC84BF8A50 -Operation = ENCRYPT -Plaintext = 30C81C46A35CE411E5FBC1191A0A52EF -Ciphertext = BDD62DBBB9700846C53B507F544696F0 - -Cipher = CAMELLIA-192-OFB -Key = 8E73B0F7DA0E6452C810F32B809079E562F8EAD2522C6B7B -IV = BD5286AC63AABD7EB067AC54B553F71D -Operation = ENCRYPT -Plaintext = F69F2445DF4F9B17AD2B417BE66C3710 -Ciphertext = E28014E046B802F385C4C2E13EAD4A72 - - -# OFB-CAMELLIA192.Decrypt -Cipher = CAMELLIA-192-OFB -Key = 8E73B0F7DA0E6452C810F32B809079E562F8EAD2522C6B7B -IV = 000102030405060708090A0B0C0D0E0F -Operation = DECRYPT -Plaintext = 6BC1BEE22E409F96E93D7E117393172A -Ciphertext = C832BB9780677DAA82D9B6860DCD565E - -Cipher = CAMELLIA-192-OFB -Key = 8E73B0F7DA0E6452C810F32B809079E562F8EAD2522C6B7B -IV = A609B38DF3B1133DDDFF2718BA09565E -Operation = DECRYPT -Plaintext = AE2D8A571E03AC9C9EB76FAC45AF8E51 -Ciphertext = 8ECEB7D0350D72C7F78562AEBDF99339 - -Cipher = CAMELLIA-192-OFB -Key = 8E73B0F7DA0E6452C810F32B809079E562F8EAD2522C6B7B -IV = 52EF01DA52602FE0975F78AC84BF8A50 -Operation = DECRYPT -Plaintext = 30C81C46A35CE411E5FBC1191A0A52EF -Ciphertext = BDD62DBBB9700846C53B507F544696F0 - -Cipher = CAMELLIA-192-OFB -Key = 8E73B0F7DA0E6452C810F32B809079E562F8EAD2522C6B7B -IV = BD5286AC63AABD7EB067AC54B553F71D -Operation = DECRYPT -Plaintext = F69F2445DF4F9B17AD2B417BE66C3710 -Ciphertext = E28014E046B802F385C4C2E13EAD4A72 - - -# OFB-CAMELLIA256.Encrypt -Cipher = CAMELLIA-256-OFB -Key = 603DEB1015CA71BE2B73AEF0857D77811F352C073B6108D72D9810A30914DFF4 -IV = 000102030405060708090A0B0C0D0E0F -Operation = ENCRYPT -Plaintext = 6BC1BEE22E409F96E93D7E117393172A -Ciphertext = CF6107BB0CEA7D7FB1BD31F5E7B06C93 - -Cipher = CAMELLIA-256-OFB -Key = 603DEB1015CA71BE2B73AEF0857D77811F352C073B6108D72D9810A30914DFF4 -IV = B7BF3A5DF43989DD97F0FA97EBCE2F4A -Operation = ENCRYPT -Plaintext = AE2D8A571E03AC9C9EB76FAC45AF8E51 -Ciphertext = 127AD97E8E3994E4820027D7BA109368 - -Cipher = CAMELLIA-256-OFB -Key = 603DEB1015CA71BE2B73AEF0857D77811F352C073B6108D72D9810A30914DFF4 -IV = E1C656305ED1A7A6563805746FE03EDC -Operation = ENCRYPT -Plaintext = 30C81C46A35CE411E5FBC1191A0A52EF -Ciphertext = 6BFF6265A6A6B7A535BC65A80B17214E - -Cipher = CAMELLIA-256-OFB -Key = 603DEB1015CA71BE2B73AEF0857D77811F352C073B6108D72D9810A30914DFF4 -IV = 41635BE625B48AFC1666DD42A09D96E7 -Operation = ENCRYPT -Plaintext = F69F2445DF4F9B17AD2B417BE66C3710 -Ciphertext = 0A4A0404E26AA78A27CB271E8BF3CF20 - - -# OFB-CAMELLIA256.Decrypt -Cipher = CAMELLIA-256-OFB -Key = 603DEB1015CA71BE2B73AEF0857D77811F352C073B6108D72D9810A30914DFF4 -IV = 000102030405060708090A0B0C0D0E0F -Operation = DECRYPT -Plaintext = 6BC1BEE22E409F96E93D7E117393172A -Ciphertext = CF6107BB0CEA7D7FB1BD31F5E7B06C93 - -Cipher = CAMELLIA-256-OFB -Key = 603DEB1015CA71BE2B73AEF0857D77811F352C073B6108D72D9810A30914DFF4 -IV = B7BF3A5DF43989DD97F0FA97EBCE2F4A -Operation = DECRYPT -Plaintext = AE2D8A571E03AC9C9EB76FAC45AF8E51 -Ciphertext = 127AD97E8E3994E4820027D7BA109368 - -Cipher = CAMELLIA-256-OFB -Key = 603DEB1015CA71BE2B73AEF0857D77811F352C073B6108D72D9810A30914DFF4 -IV = E1C656305ED1A7A6563805746FE03EDC -Operation = DECRYPT -Plaintext = 30C81C46A35CE411E5FBC1191A0A52EF -Ciphertext = 6BFF6265A6A6B7A535BC65A80B17214E - -Cipher = CAMELLIA-256-OFB -Key = 603DEB1015CA71BE2B73AEF0857D77811F352C073B6108D72D9810A30914DFF4 -IV = 41635BE625B48AFC1666DD42A09D96E7 -Operation = DECRYPT -Plaintext = F69F2445DF4F9B17AD2B417BE66C3710 -Ciphertext = 0A4A0404E26AA78A27CB271E8BF3CF20 - - -# Camellia test vectors from RFC5528 -Cipher = CAMELLIA-128-CTR -Key = AE6852F8121067CC4BF7A5765577F39E -IV = 00000030000000000000000000000001 -Operation = ENCRYPT -Plaintext = 53696E676C6520626C6F636B206D7367 -Ciphertext = D09DC29A8214619A20877C76DB1F0B3F - -Cipher = CAMELLIA-128-CTR -Key = 7E24067817FAE0D743D6CE1F32539163 -IV = 006CB6DBC0543B59DA48D90B00000001 -Operation = ENCRYPT -Plaintext = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F -Ciphertext = DBF3C78DC08396D4DA7C907765BBCB442B8E8E0F31F0DCA72C7417E35360E048 - -Cipher = CAMELLIA-128-CTR -Key = 7691BE035E5020A8AC6E618529F9A0DC -IV = 00E0017B27777F3F4A1786F000000001 -Operation = ENCRYPT -Plaintext = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F20212223 -Ciphertext = B19D1FCDCB75EB882F849CE24D85CF739CE64B2B5C9D73F14F2D5D9DCE9889CDDF508696 - -Cipher = CAMELLIA-192-CTR -Key = 16AF5B145FC9F579C175F93E3BFB0EED863D06CCFDB78515 -IV = 0000004836733C147D6D93CB00000001 -Operation = ENCRYPT -Plaintext = 53696E676C6520626C6F636B206D7367 -Ciphertext = 2379399E8A8D2B2B16702FC78B9E9696 - -Cipher = CAMELLIA-192-CTR -Key = 7C5CB2401B3DC33C19E7340819E0F69C678C3DB8E6F6A91A -IV = 0096B03B020C6EADC2CB500D00000001 -Operation = ENCRYPT -Plaintext = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F -Ciphertext = 7DEF34F7A5D0E415674B7FFCAE67C75DD018B86FF23051E056392A99F35A4CED - -Cipher = CAMELLIA-192-CTR -Key = 02BF391EE8ECB159B959617B0965279BF59B60A786D3E0FE -IV = 0007BDFD5CBD60278DCC091200000001 -Operation = ENCRYPT -Plaintext = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F20212223 -Ciphertext = 5710E556E1487A20B5AC0E73F19E4E7876F37FDC91B1EF4D4DADE8E666A64D0ED557AB57 - -Cipher = CAMELLIA-256-CTR -Key = 776BEFF2851DB06F4C8A0542C8696F6C6A81AF1EEC96B4D37FC1D689E6C1C104 -IV = 00000060DB5672C97AA8F0B200000001 -Operation = ENCRYPT -Plaintext = 53696E676C6520626C6F636B206D7367 -Ciphertext = 3401F9C8247EFFCEBD6994714C1BBB11 - -Cipher = CAMELLIA-256-CTR -Key = F6D66D6BD52D59BB0796365879EFF886C66DD51A5B6A99744B50590C87A23884 -IV = 00FAAC24C1585EF15A43D87500000001 -Operation = ENCRYPT -Plaintext = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F -Ciphertext = D6C30392246F7808A83C2B22A8839E45E51CD48A1CDF406EBC9CC2D3AB834108 - -Cipher = CAMELLIA-256-CTR -Key = FF7A617CE69148E4F1726E2F43581DE2AA62D9F805532EDFF1EED687FB54153D -IV = 001CC5B751A51D70A1C1114800000001 -Operation = ENCRYPT -Plaintext = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F20212223 -Ciphertext = A4DA23FCE6A5FFAA6D64AE9A0652A42CD161A34B65F9679F75C01F101F71276F15EF0D8D - -# SEED test vectors from RFC4269 -Cipher = SEED-ECB -Key = 00000000000000000000000000000000 -Operation = DECRYPT -Plaintext = 000102030405060708090A0B0C0D0E0F -Ciphertext = 5EBAC6E0054E166819AFF1CC6D346CDB - -Cipher = SEED-ECB -Key = 000102030405060708090A0B0C0D0E0F -Operation = DECRYPT -Plaintext = 00000000000000000000000000000000 -Ciphertext = C11F22F20140505084483597E4370F43 - -Cipher = SEED-ECB -Key = 4706480851E61BE85D74BFB3FD956185 -Operation = DECRYPT -Plaintext = 83A2F8A288641FB9A4E9A5CC2F131C7D -Ciphertext = EE54D13EBCAE706D226BC3142CD40D4A - -Cipher = SEED-ECB -Key = 28DBC3BC49FFD87DCFA509B11D422BE7 -Operation = DECRYPT -Plaintext = B41E6BE2EBA84A148E2EED84593C5EC7 -Ciphertext = 9B9B7BFCD1813CB95D0B3618F40F5122 - -Cipher = SEED-ECB -Key = 00000000000000000000000000000000 -Operation = ENCRYPT -Plaintext = 000102030405060708090A0B0C0D0E0F -Ciphertext = 5EBAC6E0054E166819AFF1CC6D346CDB - -Cipher = SEED-ECB -Key = 000102030405060708090A0B0C0D0E0F -Operation = ENCRYPT -Plaintext = 00000000000000000000000000000000 -Ciphertext = C11F22F20140505084483597E4370F43 - -Cipher = SEED-ECB -Key = 4706480851E61BE85D74BFB3FD956185 -Operation = ENCRYPT -Plaintext = 83A2F8A288641FB9A4E9A5CC2F131C7D -Ciphertext = EE54D13EBCAE706D226BC3142CD40D4A - -Cipher = SEED-ECB -Key = 28DBC3BC49FFD87DCFA509B11D422BE7 -Operation = ENCRYPT -Plaintext = B41E6BE2EBA84A148E2EED84593C5EC7 -Ciphertext = 9B9B7BFCD1813CB95D0B3618F40F5122 - - -# AES CCM 256 bit key -Cipher = aes-256-ccm -Key = 1bde3251d41a8b5ea013c195ae128b218b3e0306376357077ef1c1c78548b92e -IV = 5b8e40746f6b98e00f1d13ff41 -AAD = c17a32514eb6103f3249e076d4c871dc97e04b286699e54491dc18f6d734d4c0 -Tag = 2024931d73bca480c24a24ece6b6c2bf -Plaintext = 53bd72a97089e312422bf72e242377b3c6ee3e2075389b999c4ef7f28bd2b80a -Ciphertext = 9a5fcccdb4cf04e7293d2775cc76a488f042382d949b43b7d6bb2b9864786726 - -Cipher = aes-256-ccm -Key = 1bde3251d41a8b5ea013c195ae128b218b3e0306376357077ef1c1c78548b92e -IV = 5b8e40746f6b98e00f1d13ff41 -AAD = c17a32514eb6103f3249e076d4c871dc97e04b286699e54491dc18f6d734d4c0 -Tag = 2024931d73bca480c24a24ece6b6c2be -Plaintext = 53bd72a97089e312422bf72e242377b3c6ee3e2075389b999c4ef7f28bd2b80a -Ciphertext = 9a5fcccdb4cf04e7293d2775cc76a488f042382d949b43b7d6bb2b9864786726 -Operation = DECRYPT -Result = CIPHERUPDATE_ERROR - -# AES GCM test vectors from http://csrc.nist.gov/groups/ST/toolkit/BCM/documents/proposedmodes/gcm/gcm-spec.pdf -Cipher = aes-128-gcm -Key = 00000000000000000000000000000000 -IV = 000000000000000000000000 -AAD = -Tag = 58e2fccefa7e3061367f1d57a4e7455a -Plaintext = -Ciphertext = - -Cipher = aes-128-gcm -Key = 00000000000000000000000000000000 -IV = 000000000000000000000000 -AAD = -Tag = ab6e47d42cec13bdf53a67b21257bddf -Plaintext = 00000000000000000000000000000000 -Ciphertext = 0388dace60b6a392f328c2b971b2fe78 - -Cipher = aes-128-gcm -Key = feffe9928665731c6d6a8f9467308308 -IV = cafebabefacedbaddecaf888 -AAD = -Tag = 4d5c2af327cd64a62cf35abd2ba6fab4 -Plaintext = d9313225f88406e5a55909c5aff5269a86a7a9531534f7da2e4c303d8a318a721c3c0c95956809532fcf0e2449a6b525b16aedf5aa0de657ba637b391aafd255 -Ciphertext = 42831ec2217774244b7221b784d0d49ce3aa212f2c02a4e035c17e2329aca12e21d514b25466931c7d8f6a5aac84aa051ba30b396a0aac973d58e091473f5985 - -Cipher = aes-128-gcm -Key = feffe9928665731c6d6a8f9467308308 -IV = cafebabefacedbaddecaf888 -AAD = feedfacedeadbeeffeedfacedeadbeefabaddad2 -Tag = 5bc94fbc3221a5db94fae95ae7121a47 -Plaintext = d9313225f88406e5a55909c5aff5269a86a7a9531534f7da2e4c303d8a318a721c3c0c95956809532fcf0e2449a6b525b16aedf5aa0de657ba637b39 -Ciphertext = 42831ec2217774244b7221b784d0d49ce3aa212f2c02a4e035c17e2329aca12e21d514b25466931c7d8f6a5aac84aa051ba30b396a0aac973d58e091 - -Cipher = aes-128-gcm -Key = feffe9928665731c6d6a8f9467308308 -IV = cafebabefacedbad -AAD = feedfacedeadbeeffeedfacedeadbeefabaddad2 -Tag = 3612d2e79e3b0785561be14aaca2fccb -Plaintext = d9313225f88406e5a55909c5aff5269a86a7a9531534f7da2e4c303d8a318a721c3c0c95956809532fcf0e2449a6b525b16aedf5aa0de657ba637b39 -Ciphertext = 61353b4c2806934a777ff51fa22a4755699b2a714fcdc6f83766e5f97b6c742373806900e49f24b22b097544d4896b424989b5e1ebac0f07c23f4598 - -Cipher = aes-128-gcm -Key = feffe9928665731c6d6a8f9467308308 -IV = 9313225df88406e555909c5aff5269aa6a7a9538534f7da1e4c303d2a318a728c3c0c95156809539fcf0e2429a6b525416aedbf5a0de6a57a637b39b -AAD = feedfacedeadbeeffeedfacedeadbeefabaddad2 -Tag = 619cc5aefffe0bfa462af43c1699d050 -Plaintext = d9313225f88406e5a55909c5aff5269a86a7a9531534f7da2e4c303d8a318a721c3c0c95956809532fcf0e2449a6b525b16aedf5aa0de657ba637b39 -Ciphertext = 8ce24998625615b603a033aca13fb894be9112a5c3a211a8ba262a3cca7e2ca701e4a9a4fba43c90ccdcb281d48c7c6fd62875d2aca417034c34aee5 - -Cipher = aes-128-gcm -Key = feffe9928665731c6d6a8f9467308308 -IV = 9313225df88406e555909c5aff5269aa6a7a9538534f7da1e4c303d2a318a728c3c0c95156809539fcf0e2429a6b525416aedbf5a0de6a57a637b39b -AAD = feedfacedeadbeeffeedfacedeadbeefabaddad2 -Tag = 619cc5aefffe0bfa462af43c1699d051 -Plaintext = d9313225f88406e5a55909c5aff5269a86a7a9531534f7da2e4c303d8a318a721c3c0c95956809532fcf0e2449a6b525b16aedf5aa0de657ba637b39 -Ciphertext = 8ce24998625615b603a033aca13fb894be9112a5c3a211a8ba262a3cca7e2ca701e4a9a4fba43c90ccdcb281d48c7c6fd62875d2aca417034c34aee5 -Operation = DECRYPT -Result = CIPHERFINAL_ERROR - -Cipher = aes-192-gcm -Key = 000000000000000000000000000000000000000000000000 -IV = 000000000000000000000000 -AAD = -Tag = cd33b28ac773f74ba00ed1f312572435 -Plaintext = -Ciphertext = - -Cipher = aes-192-gcm -Key = 000000000000000000000000000000000000000000000000 -IV = 000000000000000000000000 -AAD = -Tag = 2ff58d80033927ab8ef4d4587514f0fb -Plaintext = 00000000000000000000000000000000 -Ciphertext = 98e7247c07f0fe411c267e4384b0f600 - -Cipher = aes-192-gcm -Key = feffe9928665731c6d6a8f9467308308feffe9928665731c -IV = cafebabefacedbaddecaf888 -AAD = -Tag = 9924a7c8587336bfb118024db8674a14 -Plaintext = d9313225f88406e5a55909c5aff5269a86a7a9531534f7da2e4c303d8a318a721c3c0c95956809532fcf0e2449a6b525b16aedf5aa0de657ba637b391aafd255 -Ciphertext = 3980ca0b3c00e841eb06fac4872a2757859e1ceaa6efd984628593b40ca1e19c7d773d00c144c525ac619d18c84a3f4718e2448b2fe324d9ccda2710acade256 - -Cipher = aes-192-gcm -Key = feffe9928665731c6d6a8f9467308308feffe9928665731c -IV = cafebabefacedbaddecaf888 -AAD = feedfacedeadbeeffeedfacedeadbeefabaddad2 -Tag = 2519498e80f1478f37ba55bd6d27618c -Plaintext = d9313225f88406e5a55909c5aff5269a86a7a9531534f7da2e4c303d8a318a721c3c0c95956809532fcf0e2449a6b525b16aedf5aa0de657ba637b39 -Ciphertext = 3980ca0b3c00e841eb06fac4872a2757859e1ceaa6efd984628593b40ca1e19c7d773d00c144c525ac619d18c84a3f4718e2448b2fe324d9ccda2710 - -Cipher = aes-192-gcm -Key = feffe9928665731c6d6a8f9467308308feffe9928665731c -IV = cafebabefacedbad -AAD = feedfacedeadbeeffeedfacedeadbeefabaddad2 -Tag = 65dcc57fcf623a24094fcca40d3533f8 -Plaintext = d9313225f88406e5a55909c5aff5269a86a7a9531534f7da2e4c303d8a318a721c3c0c95956809532fcf0e2449a6b525b16aedf5aa0de657ba637b39 -Ciphertext = 0f10f599ae14a154ed24b36e25324db8c566632ef2bbb34f8347280fc4507057fddc29df9a471f75c66541d4d4dad1c9e93a19a58e8b473fa0f062f7 - -Cipher = aes-192-gcm -Key = feffe9928665731c6d6a8f9467308308feffe9928665731c -IV = 9313225df88406e555909c5aff5269aa6a7a9538534f7da1e4c303d2a318a728c3c0c95156809539fcf0e2429a6b525416aedbf5a0de6a57a637b39b -AAD = feedfacedeadbeeffeedfacedeadbeefabaddad2 -Tag = dcf566ff291c25bbb8568fc3d376a6d9 -Plaintext = d9313225f88406e5a55909c5aff5269a86a7a9531534f7da2e4c303d8a318a721c3c0c95956809532fcf0e2449a6b525b16aedf5aa0de657ba637b39 -Ciphertext = d27e88681ce3243c4830165a8fdcf9ff1de9a1d8e6b447ef6ef7b79828666e4581e79012af34ddd9e2f037589b292db3e67c036745fa22e7e9b7373b - -Cipher = aes-192-gcm -Key = feffe9928665731c6d6a8f9467308308feffe9928665731c -IV = 9313225df88406e555909c5aff5269aa6a7a9538534f7da1e4c303d2a318a728c3c0c95156809539fcf0e2429a6b525416aedbf5a0de6a57a637b39b -AAD = feedfacedeadbeeffeedfacedeadbeefabaddad2 -Tag = dcf566ff291c25bbb8568fc3d376a6d8 -Plaintext = d9313225f88406e5a55909c5aff5269a86a7a9531534f7da2e4c303d8a318a721c3c0c95956809532fcf0e2449a6b525b16aedf5aa0de657ba637b39 -Ciphertext = d27e88681ce3243c4830165a8fdcf9ff1de9a1d8e6b447ef6ef7b79828666e4581e79012af34ddd9e2f037589b292db3e67c036745fa22e7e9b7373b -Operation = DECRYPT -Result = CIPHERFINAL_ERROR - -Cipher = aes-256-gcm -Key = 0000000000000000000000000000000000000000000000000000000000000000 -IV = 000000000000000000000000 -AAD = -Tag = 530f8afbc74536b9a963b4f1c4cb738b -Plaintext = -Ciphertext = - -Cipher = aes-256-gcm -Key = 0000000000000000000000000000000000000000000000000000000000000000 -IV = 000000000000000000000000 -AAD = -Tag = d0d1c8a799996bf0265b98b5d48ab919 -Plaintext = 00000000000000000000000000000000 -Ciphertext = cea7403d4d606b6e074ec5d3baf39d18 - -Cipher = aes-256-gcm -Key = feffe9928665731c6d6a8f9467308308feffe9928665731c6d6a8f9467308308 -IV = cafebabefacedbaddecaf888 -AAD = -Tag = b094dac5d93471bdec1a502270e3cc6c -Plaintext = d9313225f88406e5a55909c5aff5269a86a7a9531534f7da2e4c303d8a318a721c3c0c95956809532fcf0e2449a6b525b16aedf5aa0de657ba637b391aafd255 -Ciphertext = 522dc1f099567d07f47f37a32a84427d643a8cdcbfe5c0c97598a2bd2555d1aa8cb08e48590dbb3da7b08b1056828838c5f61e6393ba7a0abcc9f662898015ad - -Cipher = aes-256-gcm -Key = feffe9928665731c6d6a8f9467308308feffe9928665731c6d6a8f9467308308 -IV = cafebabefacedbaddecaf888 -AAD = feedfacedeadbeeffeedfacedeadbeefabaddad2 -Tag = 76fc6ece0f4e1768cddf8853bb2d551b -Plaintext = d9313225f88406e5a55909c5aff5269a86a7a9531534f7da2e4c303d8a318a721c3c0c95956809532fcf0e2449a6b525b16aedf5aa0de657ba637b39 -Ciphertext = 522dc1f099567d07f47f37a32a84427d643a8cdcbfe5c0c97598a2bd2555d1aa8cb08e48590dbb3da7b08b1056828838c5f61e6393ba7a0abcc9f662 - -Cipher = aes-256-gcm -Key = feffe9928665731c6d6a8f9467308308feffe9928665731c6d6a8f9467308308 -IV = cafebabefacedbad -AAD = feedfacedeadbeeffeedfacedeadbeefabaddad2 -Tag = 3a337dbf46a792c45e454913fe2ea8f2 -Plaintext = d9313225f88406e5a55909c5aff5269a86a7a9531534f7da2e4c303d8a318a721c3c0c95956809532fcf0e2449a6b525b16aedf5aa0de657ba637b39 -Ciphertext = c3762df1ca787d32ae47c13bf19844cbaf1ae14d0b976afac52ff7d79bba9de0feb582d33934a4f0954cc2363bc73f7862ac430e64abe499f47c9b1f - -Cipher = aes-256-gcm -Key = feffe9928665731c6d6a8f9467308308feffe9928665731c6d6a8f9467308308 -IV = 9313225df88406e555909c5aff5269aa6a7a9538534f7da1e4c303d2a318a728c3c0c95156809539fcf0e2429a6b525416aedbf5a0de6a57a637b39b -AAD = feedfacedeadbeeffeedfacedeadbeefabaddad2 -Tag = a44a8266ee1c8eb0c8b5d4cf5ae9f19a -Plaintext = d9313225f88406e5a55909c5aff5269a86a7a9531534f7da2e4c303d8a318a721c3c0c95956809532fcf0e2449a6b525b16aedf5aa0de657ba637b39 -Ciphertext = 5a8def2f0c9e53f1f75d7853659e2a20eeb2b22aafde6419a058ab4f6f746bf40fc0c3b780f244452da3ebf1c5d82cdea2418997200ef82e44ae7e3f - -Cipher = aes-256-gcm -Key = feffe9928665731c6d6a8f9467308308feffe9928665731c6d6a8f9467308308 -IV = 9313225df88406e555909c5aff5269aa6a7a9538534f7da1e4c303d2a318a728c3c0c95156809539fcf0e2429a6b525416aedbf5a0de6a57a637b39b -AAD = feedfacedeadbeeffeedfacedeadbeefabaddad2 -Tag = a44a8266ee1c8eb0c8b5d4cf5ae9f19b -Plaintext = d9313225f88406e5a55909c5aff5269a86a7a9531534f7da2e4c303d8a318a721c3c0c95956809532fcf0e2449a6b525b16aedf5aa0de657ba637b39 -Ciphertext = 5a8def2f0c9e53f1f75d7853659e2a20eeb2b22aafde6419a058ab4f6f746bf40fc0c3b780f244452da3ebf1c5d82cdea2418997200ef82e44ae7e3f -Operation = DECRYPT -Result = CIPHERFINAL_ERROR - -# local add-ons, primarily streaming ghash tests -# 128 bytes aad -Cipher = aes-128-gcm -Key = 00000000000000000000000000000000 -IV = 000000000000000000000000 -AAD = d9313225f88406e5a55909c5aff5269a86a7a9531534f7da2e4c303d8a318a721c3c0c95956809532fcf0e2449a6b525b16aedf5aa0de657ba637b391aafd255522dc1f099567d07f47f37a32a84427d643a8cdcbfe5c0c97598a2bd2555d1aa8cb08e48590dbb3da7b08b1056828838c5f61e6393ba7a0abcc9f662898015ad -Tag = 5fea793a2d6f974d37e68e0cb8ff9492 -Plaintext = -Ciphertext = - -# 48 bytes plaintext -Cipher = aes-128-gcm -Key = 00000000000000000000000000000000 -IV = 000000000000000000000000 -AAD = -Tag = 9dd0a376b08e40eb00c35f29f9ea61a4 -Plaintext = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Ciphertext = 0388dace60b6a392f328c2b971b2fe78f795aaab494b5923f7fd89ff948bc1e0200211214e7394da2089b6acd093abe0 - -# 80 bytes plaintext -Cipher = aes-128-gcm -Key = 00000000000000000000000000000000 -IV = 000000000000000000000000 -AAD = -Tag = 98885a3a22bd4742fe7b72172193b163 -Plaintext = 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Ciphertext = 0388dace60b6a392f328c2b971b2fe78f795aaab494b5923f7fd89ff948bc1e0200211214e7394da2089b6acd093abe0c94da219118e297d7b7ebcbcc9c388f28ade7d85a8ee35616f7124a9d5270291 - -# 128 bytes plaintext -Cipher = aes-128-gcm -Key = 00000000000000000000000000000000 -IV = 000000000000000000000000 -AAD = -Tag = cac45f60e31efd3b5a43b98a22ce1aa1 -Plaintext = 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Ciphertext = 0388dace60b6a392f328c2b971b2fe78f795aaab494b5923f7fd89ff948bc1e0200211214e7394da2089b6acd093abe0c94da219118e297d7b7ebcbcc9c388f28ade7d85a8ee35616f7124a9d527029195b84d1b96c690ff2f2de30bf2ec89e00253786e126504f0dab90c48a30321de3345e6b0461e7c9e6c6b7afedde83f40 - -# 192 bytes plaintext, iv is chosen so that initial counter LSB is 0xFF -Cipher = aes-128-gcm -Key = 00000000000000000000000000000000 -IV = ffffffff000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -AAD = -Tag = 566f8ef683078bfdeeffa869d751a017 -Plaintext = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Ciphertext = 56b3373ca9ef6e4a2b64fe1e9a17b61425f10d47a75a5fce13efc6bc784af24f4141bdd48cf7c770887afd573cca5418a9aeffcd7c5ceddfc6a78397b9a85b499da558257267caab2ad0b23ca476a53cb17fb41c4b8b475cb4f3f7165094c229c9e8c4dc0a2a5ff1903e501511221376a1cdb8364c5061a20cae74bc4acd76ceb0abc9fd3217ef9f8c90be402ddf6d8697f4f880dff15bfb7a6b28241ec8fe183c2d59e3f9dfff653c7126f0acb9e64211f42bae12af462b1070bef1ab5e3606 - -# 240 bytes plaintext, iv is chosen so that initial counter LSB is 0xFF -Cipher = aes-128-gcm -Key = 00000000000000000000000000000000 -IV = ffffffff000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -AAD = -Tag = fd0c7011ff07f0071324bdfb2d0f3a29 -Plaintext = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Ciphertext = 56b3373ca9ef6e4a2b64fe1e9a17b61425f10d47a75a5fce13efc6bc784af24f4141bdd48cf7c770887afd573cca5418a9aeffcd7c5ceddfc6a78397b9a85b499da558257267caab2ad0b23ca476a53cb17fb41c4b8b475cb4f3f7165094c229c9e8c4dc0a2a5ff1903e501511221376a1cdb8364c5061a20cae74bc4acd76ceb0abc9fd3217ef9f8c90be402ddf6d8697f4f880dff15bfb7a6b28241ec8fe183c2d59e3f9dfff653c7126f0acb9e64211f42bae12af462b1070bef1ab5e3606872ca10dee15b3249b1a1b958f23134c4bccb7d03200bce420a2f8eb66dcf3644d1423c1b5699003c13ecef4bf38a3b6 - -# 288 bytes plaintext, iv is chosen so that initial counter LSB is 0xFF -Cipher = aes-128-gcm -Key = 00000000000000000000000000000000 -IV = ffffffff000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -AAD = -Tag = 8b307f6b33286d0ab026a9ed3fe1e85f -Plaintext = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Ciphertext = 56b3373ca9ef6e4a2b64fe1e9a17b61425f10d47a75a5fce13efc6bc784af24f4141bdd48cf7c770887afd573cca5418a9aeffcd7c5ceddfc6a78397b9a85b499da558257267caab2ad0b23ca476a53cb17fb41c4b8b475cb4f3f7165094c229c9e8c4dc0a2a5ff1903e501511221376a1cdb8364c5061a20cae74bc4acd76ceb0abc9fd3217ef9f8c90be402ddf6d8697f4f880dff15bfb7a6b28241ec8fe183c2d59e3f9dfff653c7126f0acb9e64211f42bae12af462b1070bef1ab5e3606872ca10dee15b3249b1a1b958f23134c4bccb7d03200bce420a2f8eb66dcf3644d1423c1b5699003c13ecef4bf38a3b60eedc34033bac1902783dc6d89e2e774188a439c7ebcc0672dbda4ddcfb2794613b0be41315ef778708a70ee7d75165c - -# 80 bytes plaintext, submitted by Intel -Cipher = aes-128-gcm -Key = 843ffcf5d2b72694d19ed01d01249412 -IV = dbcca32ebf9b804617c3aa9e -AAD = 00000000000000000000000000000000101112131415161718191a1b1c1d1e1f -Tag = 3b629ccfbc1119b7319e1dce2cd6fd6d -Plaintext = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f -Ciphertext = 6268c6fa2a80b2d137467f092f657ac04d89be2beaa623d61b5a868c8f03ff95d3dcee23ad2f1ab3a6c80eaf4b140eb05de3457f0fbc111a6b43d0763aa422a3013cf1dc37fe417d1fbfc449b75d4cc5 - -#AES OCB Test vectors -Cipher = aes-128-ocb -Key = 000102030405060708090A0B0C0D0E0F -IV = 000102030405060708090A0B -AAD = -Tag = 197B9C3C441D3C83EAFB2BEF633B9182 -Plaintext = -Ciphertext = - -Cipher = aes-128-ocb -Key = 000102030405060708090A0B0C0D0E0F -IV = 000102030405060708090A0B -AAD = 0001020304050607 -Tag = 16DC76A46D47E1EAD537209E8A96D14E -Plaintext = 0001020304050607 -Ciphertext = 92B657130A74B85A - -Cipher = aes-128-ocb -Key = 000102030405060708090A0B0C0D0E0F -IV = 000102030405060708090A0B -AAD = 0001020304050607 -Tag = 98B91552C8C009185044E30A6EB2FE21 -Plaintext = -Ciphertext = - -Cipher = aes-128-ocb -Key = 000102030405060708090A0B0C0D0E0F -IV = 000102030405060708090A0B -AAD = -Tag = 971EFFCAE19AD4716F88E87B871FBEED -Plaintext = 0001020304050607 -Ciphertext = 92B657130A74B85A - -Cipher = aes-128-ocb -Key = 000102030405060708090A0B0C0D0E0F -IV = 000102030405060708090A0B -AAD = 000102030405060708090A0B0C0D0E0F -Tag = 776C9924D6723A1FC4524532AC3E5BEB -Plaintext = 000102030405060708090A0B0C0D0E0F -Ciphertext = BEA5E8798DBE7110031C144DA0B26122 - -Cipher = aes-128-ocb -Key = 000102030405060708090A0B0C0D0E0F -IV = 000102030405060708090A0B -AAD = 000102030405060708090A0B0C0D0E0F -Tag = 7DDB8E6CEA6814866212509619B19CC6 -Plaintext = -Ciphertext = - -Cipher = aes-128-ocb -Key = 000102030405060708090A0B0C0D0E0F -IV = 000102030405060708090A0B -AAD = -Tag = 13CC8B747807121A4CBB3E4BD6B456AF -Plaintext = 000102030405060708090A0B0C0D0E0F -Ciphertext = BEA5E8798DBE7110031C144DA0B26122 - -Cipher = aes-128-ocb -Key = 000102030405060708090A0B0C0D0E0F -IV = 000102030405060708090A0B -AAD = 000102030405060708090A0B0C0D0E0F1011121314151617 -Tag = 5FA94FC3F38820F1DC3F3D1FD4E55E1C -Plaintext = 000102030405060708090A0B0C0D0E0F1011121314151617 -Ciphertext = BEA5E8798DBE7110031C144DA0B26122FCFCEE7A2A8D4D48 - -Cipher = aes-128-ocb -Key = 000102030405060708090A0B0C0D0E0F -IV = 000102030405060708090A0B -AAD = 000102030405060708090A0B0C0D0E0F1011121314151617 -Tag = 282026DA3068BC9FA118681D559F10F6 -Plaintext = -Ciphertext = - -Cipher = aes-128-ocb -Key = 000102030405060708090A0B0C0D0E0F -IV = 000102030405060708090A0B -AAD = -Tag = 6EF2F52587FDA0ED97DC7EEDE241DF68 -Plaintext = 000102030405060708090A0B0C0D0E0F1011121314151617 -Ciphertext = BEA5E8798DBE7110031C144DA0B26122FCFCEE7A2A8D4D48 - -Cipher = aes-128-ocb -Key = 000102030405060708090A0B0C0D0E0F -IV = 000102030405060708090A0B -AAD = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F -Tag = B2A040DD3BD5164372D76D7BB6824240 -Plaintext = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F -Ciphertext = BEA5E8798DBE7110031C144DA0B26122CEAAB9B05DF771A657149D53773463CB - -Cipher = aes-128-ocb -Key = 000102030405060708090A0B0C0D0E0F -IV = 000102030405060708090A0B -AAD = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F -Tag = E1E072633BADE51A60E85951D9C42A1B -Plaintext = -Ciphertext = - -Cipher = aes-128-ocb -Key = 000102030405060708090A0B0C0D0E0F -IV = 000102030405060708090A0B -AAD = -Tag = 4A3BAE824465CFDAF8C41FC50C7DF9D9 -Plaintext = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F -Ciphertext = BEA5E8798DBE7110031C144DA0B26122CEAAB9B05DF771A657149D53773463CB - -Cipher = aes-128-ocb -Key = 000102030405060708090A0B0C0D0E0F -IV = 000102030405060708090A0B -AAD = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F2021222324252627 -Tag = 659C623211DEEA0DE30D2C381879F4C8 -Plaintext = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F2021222324252627 -Ciphertext = BEA5E8798DBE7110031C144DA0B26122CEAAB9B05DF771A657149D53773463CB68C65778B058A635 - -Cipher = aes-128-ocb -Key = 000102030405060708090A0B0C0D0E0F -IV = 000102030405060708090A0B -AAD = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F2021222324252627 -Tag = 7AEB7A69A1687DD082CA27B0D9A37096 -Plaintext = -Ciphertext = - -Cipher = aes-128-ocb -Key = 000102030405060708090A0B0C0D0E0F -IV = 000102030405060708090A0B -AAD = -Tag = 060C8467F4ABAB5E8B3C2067A2E115DC -Plaintext = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F2021222324252627 -Ciphertext = BEA5E8798DBE7110031C144DA0B26122CEAAB9B05DF771A657149D53773463CB68C65778B058A635 - -#AES OCB Non standard test vectors - generated from reference implementation -Cipher = aes-128-ocb -Key = 000102030405060708090A0B0C0D0E0F -IV = 000102030405060708090A0B -AAD = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F2021222324252627 -Tag = 1b6c44f34e3abb3cbf8976e7 -Plaintext = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F2021222324252627 -Ciphertext = 09a4fd29de949d9a9aa9924248422097ad4883b4713e6c214ff6567ada08a96766fc4e2ee3e3a5a1 - -Cipher = aes-128-ocb -Key = 000102030405060708090A0B0C0D0E0F -IV = 000102030405060708090A0B0C0D0E -AAD = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F2021222324252627 -Tag = 1ad62009901f40cba7cd7156f94a7324 -Plaintext = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F2021222324252627 -Ciphertext = 5e2fa7367ffbdb3938845cfd415fcc71ec79634eb31451609d27505f5e2978f43c44213d8fa441ee - -Cipher = aes-128-ocb -Key = 000102030405060708090A0B0C0D0E0F -IV = 000102030405060708090A0B -AAD = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F2021222324252627 -Tag = C203F98CE28F7DAD3F31C021 -Plaintext = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F3031 -Ciphertext = 09A4FD29DE949D9A9AA9924248422097AD4883B4713E6C214FF6567ADA08A967B2176C12F110DD441B7CAA3A509B13C822D6 - -Cipher = aes-128-ocb -Key = 000102030405060708090A0B0C0D0E0F -IV = 000102030405060708090A0B -AAD = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F2021222324252627 -Tag = 8346D7D47C5D893ED472F5AB -Plaintext = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F4041 -Ciphertext = 09A4FD29DE949D9A9AA9924248422097AD4883B4713E6C214FF6567ADA08A967B2176C12F110DD441B7CAA3A509B13C86A023AFCEE998BEE42028D44507B15F714FF - -Cipher = aes-128-ocb -Key = 000102030405060708090A0B0C0D0E0F -IV = 000102030405060708090A0B -AAD = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F2021222324252627 -Tag = 5822A9A70FDF55D29D2984A6 -Plaintext = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F5051 -Ciphertext = 09A4FD29DE949D9A9AA9924248422097AD4883B4713E6C214FF6567ADA08A967B2176C12F110DD441B7CAA3A509B13C86A023AFCEE998BEE42028D44507B15F77C528A1DE6406B519BCEE8FCB8294170634D - -Cipher = aes-128-ocb -Key = 000102030405060708090A0B0C0D0E0F -IV = 000102030405060708090A0B -AAD = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F2021222324252627 -Tag = 81772B6741ABB4ECA9D2DEB2 -Plaintext = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F6061 -Ciphertext = 09A4FD29DE949D9A9AA9924248422097AD4883B4713E6C214FF6567ADA08A967B2176C12F110DD441B7CAA3A509B13C86A023AFCEE998BEE42028D44507B15F77C528A1DE6406B519BCEE8FCB829417001E54E15A7576C4DF32366E0F439C7050FAA - -Cipher = aes-128-ocb -Key = 000102030405060708090A0B0C0D0E0F -IV = 000102030405060708090A0B -AAD = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F2021222324252627 -Tag = 3E52A01D068DE85456DB03B7 -Plaintext = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F7071 -Ciphertext = 09A4FD29DE949D9A9AA9924248422097AD4883B4713E6C214FF6567ADA08A967B2176C12F110DD441B7CAA3A509B13C86A023AFCEE998BEE42028D44507B15F77C528A1DE6406B519BCEE8FCB829417001E54E15A7576C4DF32366E0F439C7051CB4824B8114E9A720CBC1CE0185B156B486 - -Cipher = aes-128-ocb -Key = 000102030405060708090A0B0C0D0E0F -IV = 000102030405060708090A0B -AAD = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F2021222324252627 -Tag = 3E52A01D068DE85456DB03B6 -Plaintext = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F7071 -Ciphertext = 09A4FD29DE949D9A9AA9924248422097AD4883B4713E6C214FF6567ADA08A967B2176C12F110DD441B7CAA3A509B13C86A023AFCEE998BEE42028D44507B15F77C528A1DE6406B519BCEE8FCB829417001E54E15A7576C4DF32366E0F439C7051CB4824B8114E9A720CBC1CE0185B156B486 -Operation = DECRYPT -Result = CIPHERFINAL_ERROR - -# AES XTS test vectors from IEEE Std 1619-2007 -Cipher = aes-128-xts -Key = 0000000000000000000000000000000000000000000000000000000000000000 -IV = 00000000000000000000000000000000 -Plaintext = 0000000000000000000000000000000000000000000000000000000000000000 -Ciphertext = 917cf69ebd68b2ec9b9fe9a3eadda692cd43d2f59598ed858c02c2652fbf922e - -Cipher = aes-128-xts -Key = 1111111111111111111111111111111122222222222222222222222222222222 -IV = 33333333330000000000000000000000 -Plaintext = 4444444444444444444444444444444444444444444444444444444444444444 -Ciphertext = c454185e6a16936e39334038acef838bfb186fff7480adc4289382ecd6d394f0 - -Cipher = aes-128-xts -Key = fffefdfcfbfaf9f8f7f6f5f4f3f2f1f022222222222222222222222222222222 -IV = 33333333330000000000000000000000 -Plaintext = 4444444444444444444444444444444444444444444444444444444444444444 -Ciphertext = af85336b597afc1a900b2eb21ec949d292df4c047e0b21532186a5971a227a89 - -Cipher = aes-128-xts -Key = 2718281828459045235360287471352631415926535897932384626433832795 -IV = 00000000000000000000000000000000 -Plaintext = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff -Ciphertext = 27a7479befa1d476489f308cd4cfa6e2a96e4bbe3208ff25287dd3819616e89cc78cf7f5e543445f8333d8fa7f56000005279fa5d8b5e4ad40e736ddb4d35412328063fd2aab53e5ea1e0a9f332500a5df9487d07a5c92cc512c8866c7e860ce93fdf166a24912b422976146ae20ce846bb7dc9ba94a767aaef20c0d61ad02655ea92dc4c4e41a8952c651d33174be51a10c421110e6d81588ede82103a252d8a750e8768defffed9122810aaeb99f9172af82b604dc4b8e51bcb08235a6f4341332e4ca60482a4ba1a03b3e65008fc5da76b70bf1690db4eae29c5f1badd03c5ccf2a55d705ddcd86d449511ceb7ec30bf12b1fa35b913f9f747a8afd1b130e94bff94effd01a91735ca1726acd0b197c4e5b03393697e126826fb6bbde8ecc1e08298516e2c9ed03ff3c1b7860f6de76d4cecd94c8119855ef5297ca67e9f3e7ff72b1e99785ca0a7e7720c5b36dc6d72cac9574c8cbbc2f801e23e56fd344b07f22154beba0f08ce8891e643ed995c94d9a69c9f1b5f499027a78572aeebd74d20cc39881c213ee770b1010e4bea718846977ae119f7a023ab58cca0ad752afe656bb3c17256a9f6e9bf19fdd5a38fc82bbe872c5539edb609ef4f79c203ebb140f2e583cb2ad15b4aa5b655016a8449277dbd477ef2c8d6c017db738b18deb4a427d1923ce3ff262735779a418f20a282df920147beabe421ee5319d0568 - -Cipher = aes-128-xts -Key = 2718281828459045235360287471352631415926535897932384626433832795 -IV = 01000000000000000000000000000000 -Plaintext = 27a7479befa1d476489f308cd4cfa6e2a96e4bbe3208ff25287dd3819616e89cc78cf7f5e543445f8333d8fa7f56000005279fa5d8b5e4ad40e736ddb4d35412328063fd2aab53e5ea1e0a9f332500a5df9487d07a5c92cc512c8866c7e860ce93fdf166a24912b422976146ae20ce846bb7dc9ba94a767aaef20c0d61ad02655ea92dc4c4e41a8952c651d33174be51a10c421110e6d81588ede82103a252d8a750e8768defffed9122810aaeb99f9172af82b604dc4b8e51bcb08235a6f4341332e4ca60482a4ba1a03b3e65008fc5da76b70bf1690db4eae29c5f1badd03c5ccf2a55d705ddcd86d449511ceb7ec30bf12b1fa35b913f9f747a8afd1b130e94bff94effd01a91735ca1726acd0b197c4e5b03393697e126826fb6bbde8ecc1e08298516e2c9ed03ff3c1b7860f6de76d4cecd94c8119855ef5297ca67e9f3e7ff72b1e99785ca0a7e7720c5b36dc6d72cac9574c8cbbc2f801e23e56fd344b07f22154beba0f08ce8891e643ed995c94d9a69c9f1b5f499027a78572aeebd74d20cc39881c213ee770b1010e4bea718846977ae119f7a023ab58cca0ad752afe656bb3c17256a9f6e9bf19fdd5a38fc82bbe872c5539edb609ef4f79c203ebb140f2e583cb2ad15b4aa5b655016a8449277dbd477ef2c8d6c017db738b18deb4a427d1923ce3ff262735779a418f20a282df920147beabe421ee5319d0568 -Ciphertext = 264d3ca8512194fec312c8c9891f279fefdd608d0c027b60483a3fa811d65ee59d52d9e40ec5672d81532b38b6b089ce951f0f9c35590b8b978d175213f329bb1c2fd30f2f7f30492a61a532a79f51d36f5e31a7c9a12c286082ff7d2394d18f783e1a8e72c722caaaa52d8f065657d2631fd25bfd8e5baad6e527d763517501c68c5edc3cdd55435c532d7125c8614deed9adaa3acade5888b87bef641c4c994c8091b5bcd387f3963fb5bc37aa922fbfe3df4e5b915e6eb514717bdd2a74079a5073f5c4bfd46adf7d282e7a393a52579d11a028da4d9cd9c77124f9648ee383b1ac763930e7162a8d37f350b2f74b8472cf09902063c6b32e8c2d9290cefbd7346d1c779a0df50edcde4531da07b099c638e83a755944df2aef1aa31752fd323dcb710fb4bfbb9d22b925bc3577e1b8949e729a90bbafeacf7f7879e7b1147e28ba0bae940db795a61b15ecf4df8db07b824bb062802cc98a9545bb2aaeed77cb3fc6db15dcd7d80d7d5bc406c4970a3478ada8899b329198eb61c193fb6275aa8ca340344a75a862aebe92eee1ce032fd950b47d7704a3876923b4ad62844bf4a09c4dbe8b4397184b7471360c9564880aedddb9baa4af2e75394b08cd32ff479c57a07d3eab5d54de5f9738b8d27f27a9f0ab11799d7b7ffefb2704c95c6ad12c39f1e867a4b7b1d7818a4b753dfd2a89ccb45e001a03a867b187f225dd - -Cipher = aes-128-xts -Key = 2718281828459045235360287471352631415926535897932384626433832795 -IV = 02000000000000000000000000000000 -Plaintext = 264d3ca8512194fec312c8c9891f279fefdd608d0c027b60483a3fa811d65ee59d52d9e40ec5672d81532b38b6b089ce951f0f9c35590b8b978d175213f329bb1c2fd30f2f7f30492a61a532a79f51d36f5e31a7c9a12c286082ff7d2394d18f783e1a8e72c722caaaa52d8f065657d2631fd25bfd8e5baad6e527d763517501c68c5edc3cdd55435c532d7125c8614deed9adaa3acade5888b87bef641c4c994c8091b5bcd387f3963fb5bc37aa922fbfe3df4e5b915e6eb514717bdd2a74079a5073f5c4bfd46adf7d282e7a393a52579d11a028da4d9cd9c77124f9648ee383b1ac763930e7162a8d37f350b2f74b8472cf09902063c6b32e8c2d9290cefbd7346d1c779a0df50edcde4531da07b099c638e83a755944df2aef1aa31752fd323dcb710fb4bfbb9d22b925bc3577e1b8949e729a90bbafeacf7f7879e7b1147e28ba0bae940db795a61b15ecf4df8db07b824bb062802cc98a9545bb2aaeed77cb3fc6db15dcd7d80d7d5bc406c4970a3478ada8899b329198eb61c193fb6275aa8ca340344a75a862aebe92eee1ce032fd950b47d7704a3876923b4ad62844bf4a09c4dbe8b4397184b7471360c9564880aedddb9baa4af2e75394b08cd32ff479c57a07d3eab5d54de5f9738b8d27f27a9f0ab11799d7b7ffefb2704c95c6ad12c39f1e867a4b7b1d7818a4b753dfd2a89ccb45e001a03a867b187f225dd -Ciphertext = fa762a3680b76007928ed4a4f49a9456031b704782e65e16cecb54ed7d017b5e18abd67b338e81078f21edb7868d901ebe9c731a7c18b5e6dec1d6a72e078ac9a4262f860beefa14f4e821018272e411a951502b6e79066e84252c3346f3aa62344351a291d4bedc7a07618bdea2af63145cc7a4b8d4070691ae890cd65733e7946e9021a1dffc4c59f159425ee6d50ca9b135fa6162cea18a939838dc000fb386fad086acce5ac07cb2ece7fd580b00cfa5e98589631dc25e8e2a3daf2ffdec26531659912c9d8f7a15e5865ea8fb5816d6207052bd7128cd743c12c8118791a4736811935eb982a532349e31dd401e0b660a568cb1a4711f552f55ded59f1f15bf7196b3ca12a91e488ef59d64f3a02bf45239499ac6176ae321c4a211ec545365971c5d3f4f09d4eb139bfdf2073d33180b21002b65cc9865e76cb24cd92c874c24c18350399a936ab3637079295d76c417776b94efce3a0ef7206b15110519655c956cbd8b2489405ee2b09a6b6eebe0c53790a12a8998378b33a5b71159625f4ba49d2a2fdba59fbf0897bc7aabd8d707dc140a80f0f309f835d3da54ab584e501dfa0ee977fec543f74186a802b9a37adb3e8291eca04d66520d229e60401e7282bef486ae059aa70696e0e305d777140a7a883ecdcb69b9ff938e8a4231864c69ca2c2043bed007ff3e605e014bcf518138dc3a25c5e236171a2d01d6 - -Cipher = aes-128-xts -Key = 2718281828459045235360287471352631415926535897932384626433832795 -IV = fd000000000000000000000000000000 -Plaintext = 8e41b78c390b5af9d758bb214a67e9f6bf7727b09ac6124084c37611398fa45daad94868600ed391fb1acd4857a95b466e62ef9f4b377244d1c152e7b30d731aad30c716d214b707aed99eb5b5e580b3e887cf7497465651d4b60e6042051da3693c3b78c14489543be8b6ad0ba629565bba202313ba7b0d0c94a3252b676f46cc02ce0f8a7d34c0ed229129673c1f61aed579d08a9203a25aac3a77e9db60267996db38df637356d9dcd1632e369939f2a29d89345c66e05066f1a3677aef18dea4113faeb629e46721a66d0a7e785d3e29af2594eb67dfa982affe0aac058f6e15864269b135418261fc3afb089472cf68c45dd7f231c6249ba0255e1e033833fc4d00a3fe02132d7bc3873614b8aee34273581ea0325c81f0270affa13641d052d36f0757d484014354d02d6883ca15c24d8c3956b1bd027bcf41f151fd8023c5340e5606f37e90fdb87c86fb4fa634b3718a30bace06a66eaf8f63c4aa3b637826a87fe8cfa44282e92cb1615af3a28e53bc74c7cba1a0977be9065d0c1a5dec6c54ae38d37f37aa35283e048e5530a85c4e7a29d7b92ec0c3169cdf2a805c7604bce60049b9fb7b8eaac10f51ae23794ceba68bb58112e293b9b692ca721b37c662f8574ed4dba6f88e170881c82cddc1034a0ca7e284bf0962b6b26292d836fa9f73c1ac770eef0f2d3a1eaf61d3e03555fd424eedd67e18a18094f888 -Ciphertext = d55f684f81f4426e9fde92a5ff02df2ac896af63962888a97910c1379e20b0a3b1db613fb7fe2e07004329ea5c22bfd33e3dbe4cf58cc608c2c26c19a2e2fe22f98732c2b5cb844cc6c0702d91e1d50fc4382a7eba5635cd602432a2306ac4ce82f8d70c8d9bc15f918fe71e74c622d5cf71178bf6e0b9cc9f2b41dd8dbe441c41cd0c73a6dc47a348f6702f9d0e9b1b1431e948e299b9ec2272ab2c5f0c7be86affa5dec87a0bee81d3d50007edaa2bcfccb35605155ff36ed8edd4a40dcd4b243acd11b2b987bdbfaf91a7cac27e9c5aea525ee53de7b2d3332c8644402b823e94a7db26276d2d23aa07180f76b4fd29b9c0823099c9d62c519880aee7e9697617c1497d47bf3e571950311421b6b734d38b0db91eb85331b91ea9f61530f54512a5a52a4bad589eb69781d537f23297bb459bdad2948a29e1550bf4787e0be95bb173cf5fab17dab7a13a052a63453d97ccec1a321954886b7a1299faaeecae35c6eaaca753b041b5e5f093bf83397fd21dd6b3012066fcc058cc32c3b09d7562dee29509b5839392c9ff05f51f3166aaac4ac5f238038a3045e6f72e48ef0fe8bc675e82c318a268e43970271bf119b81bf6a982746554f84e72b9f00280a320a08142923c23c883423ff949827f29bbacdc1ccdb04938ce6098c95ba6b32528f4ef78eed778b2e122ddfd1cbdd11d1c0a6783e011fc536d63d053260637 - -Cipher = aes-128-xts -Key = 2718281828459045235360287471352631415926535897932384626433832795 -IV = fe000000000000000000000000000000 -Plaintext = d55f684f81f4426e9fde92a5ff02df2ac896af63962888a97910c1379e20b0a3b1db613fb7fe2e07004329ea5c22bfd33e3dbe4cf58cc608c2c26c19a2e2fe22f98732c2b5cb844cc6c0702d91e1d50fc4382a7eba5635cd602432a2306ac4ce82f8d70c8d9bc15f918fe71e74c622d5cf71178bf6e0b9cc9f2b41dd8dbe441c41cd0c73a6dc47a348f6702f9d0e9b1b1431e948e299b9ec2272ab2c5f0c7be86affa5dec87a0bee81d3d50007edaa2bcfccb35605155ff36ed8edd4a40dcd4b243acd11b2b987bdbfaf91a7cac27e9c5aea525ee53de7b2d3332c8644402b823e94a7db26276d2d23aa07180f76b4fd29b9c0823099c9d62c519880aee7e9697617c1497d47bf3e571950311421b6b734d38b0db91eb85331b91ea9f61530f54512a5a52a4bad589eb69781d537f23297bb459bdad2948a29e1550bf4787e0be95bb173cf5fab17dab7a13a052a63453d97ccec1a321954886b7a1299faaeecae35c6eaaca753b041b5e5f093bf83397fd21dd6b3012066fcc058cc32c3b09d7562dee29509b5839392c9ff05f51f3166aaac4ac5f238038a3045e6f72e48ef0fe8bc675e82c318a268e43970271bf119b81bf6a982746554f84e72b9f00280a320a08142923c23c883423ff949827f29bbacdc1ccdb04938ce6098c95ba6b32528f4ef78eed778b2e122ddfd1cbdd11d1c0a6783e011fc536d63d053260637 -Ciphertext = 72efc1ebfe1ee25975a6eb3aa8589dda2b261f1c85bdab442a9e5b2dd1d7c3957a16fc08e526d4b1223f1b1232a11af274c3d70dac57f83e0983c498f1a6f1aecb021c3e70085a1e527f1ce41ee5911a82020161529cd82773762daf5459de94a0a82adae7e1703c808543c29ed6fb32d9e004327c1355180c995a07741493a09c21ba01a387882da4f62534b87bb15d60d197201c0fd3bf30c1500a3ecfecdd66d8721f90bcc4c17ee925c61b0a03727a9c0d5f5ca462fbfa0af1c2513a9d9d4b5345bd27a5f6e653f751693e6b6a2b8ead57d511e00e58c45b7b8d005af79288f5c7c22fd4f1bf7a898b03a5634c6a1ae3f9fae5de4f296a2896b23e7ed43ed14fa5a2803f4d28f0d3ffcf24757677aebdb47bb388378708948a8d4126ed1839e0da29a537a8c198b3c66ab00712dd261674bf45a73d67f76914f830ca014b65596f27e4cf62de66125a5566df9975155628b400fbfb3a29040ed50faffdbb18aece7c5c44693260aab386c0a37b11b114f1c415aebb653be468179428d43a4d8bc3ec38813eca30a13cf1bb18d524f1992d44d8b1a42ea30b22e6c95b199d8d182f8840b09d059585c31ad691fa0619ff038aca2c39a943421157361717c49d322028a74648113bd8c9d7ec77cf3c89c1ec8718ceff8516d96b34c3c614f10699c9abc4ed0411506223bea16af35c883accdbe1104eef0cfdb54e12fb230a - -Cipher = aes-128-xts -Key = 2718281828459045235360287471352631415926535897932384626433832795 -IV = ff000000000000000000000000000000 -Plaintext = 72efc1ebfe1ee25975a6eb3aa8589dda2b261f1c85bdab442a9e5b2dd1d7c3957a16fc08e526d4b1223f1b1232a11af274c3d70dac57f83e0983c498f1a6f1aecb021c3e70085a1e527f1ce41ee5911a82020161529cd82773762daf5459de94a0a82adae7e1703c808543c29ed6fb32d9e004327c1355180c995a07741493a09c21ba01a387882da4f62534b87bb15d60d197201c0fd3bf30c1500a3ecfecdd66d8721f90bcc4c17ee925c61b0a03727a9c0d5f5ca462fbfa0af1c2513a9d9d4b5345bd27a5f6e653f751693e6b6a2b8ead57d511e00e58c45b7b8d005af79288f5c7c22fd4f1bf7a898b03a5634c6a1ae3f9fae5de4f296a2896b23e7ed43ed14fa5a2803f4d28f0d3ffcf24757677aebdb47bb388378708948a8d4126ed1839e0da29a537a8c198b3c66ab00712dd261674bf45a73d67f76914f830ca014b65596f27e4cf62de66125a5566df9975155628b400fbfb3a29040ed50faffdbb18aece7c5c44693260aab386c0a37b11b114f1c415aebb653be468179428d43a4d8bc3ec38813eca30a13cf1bb18d524f1992d44d8b1a42ea30b22e6c95b199d8d182f8840b09d059585c31ad691fa0619ff038aca2c39a943421157361717c49d322028a74648113bd8c9d7ec77cf3c89c1ec8718ceff8516d96b34c3c614f10699c9abc4ed0411506223bea16af35c883accdbe1104eef0cfdb54e12fb230a -Ciphertext = 3260ae8dad1f4a32c5cafe3ab0eb95549d461a67ceb9e5aa2d3afb62dece0553193ba50c75be251e08d1d08f1088576c7efdfaaf3f459559571e12511753b07af073f35da06af0ce0bbf6b8f5ccc5cea500ec1b211bd51f63b606bf6528796ca12173ba39b8935ee44ccce646f90a45bf9ccc567f0ace13dc2d53ebeedc81f58b2e41179dddf0d5a5c42f5d8506c1a5d2f8f59f3ea873cbcd0eec19acbf325423bd3dcb8c2b1bf1d1eaed0eba7f0698e4314fbeb2f1566d1b9253008cbccf45a2b0d9c5c9c21474f4076e02be26050b99dee4fd68a4cf890e496e4fcae7b70f94ea5a9062da0daeba1993d2ccd1dd3c244b8428801495a58b216547e7e847c46d1d756377b6242d2e5fb83bf752b54e0df71e889f3a2bb0f4c10805bf3c590376e3c24e22ff57f7fa965577375325cea5d920db94b9c336b455f6e894c01866fe9fbb8c8d3f70a2957285f6dfb5dcd8cbf54782f8fe7766d4723819913ac773421e3a31095866bad22c86a6036b2518b2059b4229d18c8c2ccbdf906c6cc6e82464ee57bddb0bebcb1dc645325bfb3e665ef7251082c88ebb1cf203bd779fdd38675713c8daadd17e1cabee432b09787b6ddf3304e38b731b45df5df51b78fcfb3d32466028d0ba36555e7e11ab0ee0666061d1645d962444bc47a38188930a84b4d561395c73c087021927ca638b7afc8a8679ccb84c26555440ec7f10445cd - - -Cipher = aes-256-xts -Key = 27182818284590452353602874713526624977572470936999595749669676273141592653589793238462643383279502884197169399375105820974944592 -IV = ff000000000000000000000000000000 -Plaintext = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff -Ciphertext = 1c3b3a102f770386e4836c99e370cf9bea00803f5e482357a4ae12d414a3e63b5d31e276f8fe4a8d66b317f9ac683f44680a86ac35adfc3345befecb4bb188fd5776926c49a3095eb108fd1098baec70aaa66999a72a82f27d848b21d4a741b0c5cd4d5fff9dac89aeba122961d03a757123e9870f8acf1000020887891429ca2a3e7a7d7df7b10355165c8b9a6d0a7de8b062c4500dc4cd120c0f7418dae3d0b5781c34803fa75421c790dfe1de1834f280d7667b327f6c8cd7557e12ac3a0f93ec05c52e0493ef31a12d3d9260f79a289d6a379bc70c50841473d1a8cc81ec583e9645e07b8d9670655ba5bbcfecc6dc3966380ad8fecb17b6ba02469a020a84e18e8f84252070c13e9f1f289be54fbc481457778f616015e1327a02b140f1505eb309326d68378f8374595c849d84f4c333ec4423885143cb47bd71c5edae9be69a2ffeceb1bec9de244fbe15992b11b77c040f12bd8f6a975a44a0f90c29a9abc3d4d893927284c58754cce294529f8614dcd2aba991925fedc4ae74ffac6e333b93eb4aff0479da9a410e4450e0dd7ae4c6e2910900575da401fc07059f645e8b7e9bfdef33943054ff84011493c27b3429eaedb4ed5376441a77ed43851ad77f16f541dfd269d50d6a5f14fb0aab1cbb4c1550be97f7ab4066193c4caa773dad38014bd2092fa755c824bb5e54c4f36ffda9fcea70b9c6e693e148c151 - -Cipher = aes-256-xts -Key = 27182818284590452353602874713526624977572470936999595749669676273141592653589793238462643383279502884197169399375105820974944592 -IV = ffff0000000000000000000000000000 -Plaintext = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff -Ciphertext = 77a31251618a15e6b92d1d66dffe7b50b50bad552305ba0217a610688eff7e11e1d0225438e093242d6db274fde801d4cae06f2092c728b2478559df58e837c2469ee4a4fa794e4bbc7f39bc026e3cb72c33b0888f25b4acf56a2a9804f1ce6d3d6e1dc6ca181d4b546179d55544aa7760c40d06741539c7e3cd9d2f6650b2013fd0eeb8c2b8e3d8d240ccae2d4c98320a7442e1c8d75a42d6e6cfa4c2eca1798d158c7aecdf82490f24bb9b38e108bcda12c3faf9a21141c3613b58367f922aaa26cd22f23d708dae699ad7cb40a8ad0b6e2784973dcb605684c08b8d6998c69aac049921871ebb65301a4619ca80ecb485a31d744223ce8ddc2394828d6a80470c092f5ba413c3378fa6054255c6f9df4495862bbb3287681f931b687c888abf844dfc8fc28331e579928cd12bd2390ae123cf03818d14dedde5c0c24c8ab018bfca75ca096f2d531f3d1619e785f1ada437cab92e980558b3dce1474afb75bfedbf8ff54cb2618e0244c9ac0d3c66fb51598cd2db11f9be39791abe447c63094f7c453b7ff87cb5bb36b7c79efb0872d17058b83b15ab0866ad8a58656c5a7e20dbdf308b2461d97c0ec0024a2715055249cf3b478ddd4740de654f75ca686e0d7345c69ed50cdc2a8b332b1f8824108ac937eb050585608ee734097fc09054fbff89eeaeea791f4a7ab1f9868294a4f9e27b42af8100cb9d59cef9645803 - -Cipher = aes-256-xts -Key = 27182818284590452353602874713526624977572470936999595749669676273141592653589793238462643383279502884197169399375105820974944592 -IV = ffffff00000000000000000000000000 -Plaintext = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff -Ciphertext = e387aaa58ba483afa7e8eb469778317ecf4cf573aa9d4eac23f2cdf914e4e200a8b490e42ee646802dc6ee2b471b278195d60918ececb44bf79966f83faba0499298ebc699c0c8634715a320bb4f075d622e74c8c932004f25b41e361025b5a87815391f6108fc4afa6a05d9303c6ba68a128a55705d415985832fdeaae6c8e19110e84d1b1f199a2692119edc96132658f09da7c623efcec712537a3d94c0bf5d7e352ec94ae5797fdb377dc1551150721adf15bd26a8efc2fcaad56881fa9e62462c28f30ae1ceaca93c345cf243b73f542e2074a705bd2643bb9f7cc79bb6e7091ea6e232df0f9ad0d6cf502327876d82207abf2115cdacf6d5a48f6c1879a65b115f0f8b3cb3c59d15dd8c769bc014795a1837f3901b5845eb491adfefe097b1fa30a12fc1f65ba22905031539971a10f2f36c321bb51331cdefb39e3964c7ef079994f5b69b2edd83a71ef549971ee93f44eac3938fcdd61d01fa71799da3a8091c4c48aa9ed263ff0749df95d44fef6a0bb578ec69456aa5408ae32c7af08ad7ba8921287e3bbee31b767be06a0e705c864a769137df28292283ea81a2480241b44d9921cdbec1bc28dc1fda114bd8e5217ac9d8ebafa720e9da4f9ace231cc949e5b96fe76ffc21063fddc83a6b8679c00d35e09576a875305bed5f36ed242c8900dd1fa965bc950dfce09b132263a1eef52dd6888c309f5a7d712826 - -Cipher = aes-256-xts -Key = 27182818284590452353602874713526624977572470936999595749669676273141592653589793238462643383279502884197169399375105820974944592 -IV = ffffffff000000000000000000000000 -Plaintext = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff -Ciphertext = bf53d2dade78e822a4d949a9bc6766b01b06a8ef70d26748c6a7fc36d80ae4c5520f7c4ab0ac8544424fa405162fef5a6b7f229498063618d39f0003cb5fb8d1c86b643497da1ff945c8d3bedeca4f479702a7a735f043ddb1d6aaade3c4a0ac7ca7f3fa5279bef56f82cd7a2f38672e824814e10700300a055e1630b8f1cb0e919f5e942010a416e2bf48cb46993d3cb6a51c19bacf864785a00bc2ecff15d350875b246ed53e68be6f55bd7e05cfc2b2ed6432198a6444b6d8c247fab941f569768b5c429366f1d3f00f0345b96123d56204c01c63b22ce78baf116e525ed90fdea39fa469494d3866c31e05f295ff21fea8d4e6e13d67e47ce722e9698a1c1048d68ebcde76b86fcf976eab8aa9790268b7068e017a8b9b749409514f1053027fd16c3786ea1bac5f15cb79711ee2abe82f5cf8b13ae73030ef5b9e4457e75d1304f988d62dd6fc4b94ed38ba831da4b7634971b6cd8ec325d9c61c00f1df73627ed3745a5e8489f3a95c69639c32cd6e1d537a85f75cc844726e8a72fc0077ad22000f1d5078f6b866318c668f1ad03d5a5fced5219f2eabbd0aa5c0f460d183f04404a0d6f469558e81fab24a167905ab4c7878502ad3e38fdbe62a41556cec37325759533ce8f25f367c87bb5578d667ae93f9e2fd99bcbc5f2fbba88cf6516139420fcff3b7361d86322c4bd84c82f335abb152c4a93411373aaa8220 - -Cipher = aes-256-xts -Key = 27182818284590452353602874713526624977572470936999595749669676273141592653589793238462643383279502884197169399375105820974944592 -IV = ffffffffff0000000000000000000000 -Plaintext = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff -Ciphertext = 64497e5a831e4a932c09be3e5393376daa599548b816031d224bbf50a818ed2350eae7e96087c8a0db51ad290bd00c1ac1620857635bf246c176ab463be30b808da548081ac847b158e1264be25bb0910bbc92647108089415d45fab1b3d2604e8a8eff1ae4020cfa39936b66827b23f371b92200be90251e6d73c5f86de5fd4a950781933d79a28272b782a2ec313efdfcc0628f43d744c2dc2ff3dcb66999b50c7ca895b0c64791eeaa5f29499fb1c026f84ce5b5c72ba1083cddb5ce45434631665c333b60b11593fb253c5179a2c8db813782a004856a1653011e93fb6d876c18366dd8683f53412c0c180f9c848592d593f8609ca736317d356e13e2bff3a9f59cd9aeb19cd482593d8c46128bb32423b37a9adfb482b99453fbe25a41bf6feb4aa0bef5ed24bf73c762978025482c13115e4015aac992e5613a3b5c2f685b84795cb6e9b2656d8c88157e52c42f978d8634c43d06fea928f2822e465aa6576e9bf419384506cc3ce3c54ac1a6f67dc66f3b30191e698380bc999b05abce19dc0c6dcc2dd001ec535ba18deb2df1a101023108318c75dc98611a09dc48a0acdec676fabdf222f07e026f059b672b56e5cbc8e1d21bbd867dd927212054681d70ea737134cdfce93b6f82ae22423274e58a0821cc5502e2d0ab4585e94de6975be5e0b4efce51cd3e70c25a1fbbbd609d273ad5b0d59631c531f6a0a57b9 - - -Cipher = aes-128-xts -Key = fffefdfcfbfaf9f8f7f6f5f4f3f2f1f0bfbebdbcbbbab9b8b7b6b5b4b3b2b1b0 -IV = 9a785634120000000000000000000000 -Plaintext = 000102030405060708090a0b0c0d0e0f10 -Ciphertext = 6c1625db4671522d3d7599601de7ca09ed - -Cipher = aes-128-xts -Key = fffefdfcfbfaf9f8f7f6f5f4f3f2f1f0bfbebdbcbbbab9b8b7b6b5b4b3b2b1b0 -IV = 9a785634120000000000000000000000 -Plaintext = 000102030405060708090a0b0c0d0e0f1011 -Ciphertext = d069444b7a7e0cab09e24447d24deb1fedbf - -Cipher = aes-128-xts -Key = fffefdfcfbfaf9f8f7f6f5f4f3f2f1f0bfbebdbcbbbab9b8b7b6b5b4b3b2b1b0 -IV = 9a785634120000000000000000000000 -Plaintext = 000102030405060708090a0b0c0d0e0f101112 -Ciphertext = e5df1351c0544ba1350b3363cd8ef4beedbf9d - -Cipher = aes-128-xts -Key = fffefdfcfbfaf9f8f7f6f5f4f3f2f1f0bfbebdbcbbbab9b8b7b6b5b4b3b2b1b0 -IV = 9a785634120000000000000000000000 -Plaintext = 000102030405060708090a0b0c0d0e0f10111213 -Ciphertext = 9d84c813f719aa2c7be3f66171c7c5c2edbf9dac - -Cipher = aes-128-xts -Key = e0e1e2e3e4e5e6e7e8e9eaebecedeeefc0c1c2c3c4c5c6c7c8c9cacbcccdcecf -IV = 21436587a90000000000000000000000 -Plaintext = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff -Ciphertext = 38b45812ef43a05bd957e545907e223b954ab4aaf088303ad910eadf14b42be68b2461149d8c8ba85f992be970bc621f1b06573f63e867bf5875acafa04e42ccbd7bd3c2a0fb1fff791ec5ec36c66ae4ac1e806d81fbf709dbe29e471fad38549c8e66f5345d7c1eb94f405d1ec785cc6f6a68f6254dd8339f9d84057e01a17741990482999516b5611a38f41bb6478e6f173f320805dd71b1932fc333cb9ee39936beea9ad96fa10fb4112b901734ddad40bc1878995f8e11aee7d141a2f5d48b7a4e1e7f0b2c04830e69a4fd1378411c2f287edf48c6c4e5c247a19680f7fe41cefbd49b582106e3616cbbe4dfb2344b2ae9519391f3e0fb4922254b1d6d2d19c6d4d537b3a26f3bcc51588b32f3eca0829b6a5ac72578fb814fb43cf80d64a233e3f997a3f02683342f2b33d25b492536b93becb2f5e1a8b82f5b883342729e8ae09d16938841a21a97fb543eea3bbff59f13c1a18449e398701c1ad51648346cbc04c27bb2da3b93a1372ccae548fb53bee476f9e9c91773b1bb19828394d55d3e1a20ed69113a860b6829ffa847224604435070221b257e8dff783615d2cae4803a93aa4334ab482a0afac9c0aeda70b45a481df5dec5df8cc0f423c77a5fd46cd312021d4b438862419a791be03bb4d97c0e59578542531ba466a83baf92cefc151b5cc1611a167893819b63fb8a6b18e86de60290fa72b797b0ce59f3 - -# Exercise different lengths covering even ciphertext stealing cases -Cipher = aes-128-xts -Key = 2718281828459045235360287471352631415926535897932384626433832795 -IV = 00000000000000000000000000000000 -Plaintext = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f -Ciphertext = 27a7479befa1d476489f308cd4cfa6e2a96e4bbe3208ff25287dd3819616e89cc78cf7f5e543445f8333d8fa7f56000005279fa5d8b5e4ad40e736ddb4d35412328063fd2aab53e5ea1e0a9f332500a5df9487d07a5c92cc512c8866c7e860ce - -Cipher = aes-128-xts -Key = 2718281828459045235360287471352631415926535897932384626433832795 -IV = 00000000000000000000000000000000 -Plaintext = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f6061 -Ciphertext = 27A7479BEFA1D476489F308CD4CFA6E2A96E4BBE3208FF25287DD3819616E89CC78CF7F5E543445F8333D8FA7F56000005279FA5D8B5E4AD40E736DDB4D35412328063FD2AAB53E5EA1E0A9F332500A5B079C6307EA0914559C6D2FB6384F8AADF94 - -Cipher = aes-128-xts -Key = 2718281828459045235360287471352631415926535897932384626433832795 -IV = 00000000000000000000000000000000 -Plaintext = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f -Ciphertext = 27a7479befa1d476489f308cd4cfa6e2a96e4bbe3208ff25287dd3819616e89cc78cf7f5e543445f8333d8fa7f56000005279fa5d8b5e4ad40e736ddb4d35412328063fd2aab53e5ea1e0a9f332500a5df9487d07a5c92cc512c8866c7e860ce93fdf166a24912b422976146ae20ce84 - -Cipher = aes-128-xts -Key = 2718281828459045235360287471352631415926535897932384626433832795 -IV = 00000000000000000000000000000000 -Plaintext = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f7071 -Ciphertext = 27A7479BEFA1D476489F308CD4CFA6E2A96E4BBE3208FF25287DD3819616E89CC78CF7F5E543445F8333D8FA7F56000005279FA5D8B5E4AD40E736DDB4D35412328063FD2AAB53E5EA1E0A9F332500A5DF9487D07A5C92CC512C8866C7E860CEF4F253466EF4953ADC8FE2F5BC1FF57593FD - -Cipher = aes-128-xts -Key = 2718281828459045235360287471352631415926535897932384626433832795 -IV = 00000000000000000000000000000000 -Plaintext = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f -Ciphertext = 27a7479befa1d476489f308cd4cfa6e2a96e4bbe3208ff25287dd3819616e89cc78cf7f5e543445f8333d8fa7f56000005279fa5d8b5e4ad40e736ddb4d35412328063fd2aab53e5ea1e0a9f332500a5df9487d07a5c92cc512c8866c7e860ce93fdf166a24912b422976146ae20ce846bb7dc9ba94a767aaef20c0d61ad0265 - -Cipher = aes-128-xts -Key = 2718281828459045235360287471352631415926535897932384626433832795 -IV = 00000000000000000000000000000000 -Plaintext = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f8081 -Ciphertext = 27A7479BEFA1D476489F308CD4CFA6E2A96E4BBE3208FF25287DD3819616E89CC78CF7F5E543445F8333D8FA7F56000005279FA5D8B5E4AD40E736DDB4D35412328063FD2AAB53E5EA1E0A9F332500A5DF9487D07A5C92CC512C8866C7E860CE93FDF166A24912B422976146AE20CE842973C68248EDDFE26FB9B096659C8A5D6BB7 - -Cipher = aes-128-xts -Key = 2718281828459045235360287471352631415926535897932384626433832795 -IV = 00000000000000000000000000000000 -Plaintext = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f -Ciphertext = 27a7479befa1d476489f308cd4cfa6e2a96e4bbe3208ff25287dd3819616e89cc78cf7f5e543445f8333d8fa7f56000005279fa5d8b5e4ad40e736ddb4d35412328063fd2aab53e5ea1e0a9f332500a5df9487d07a5c92cc512c8866c7e860ce93fdf166a24912b422976146ae20ce846bb7dc9ba94a767aaef20c0d61ad02655ea92dc4c4e41a8952c651d33174be51 - -Cipher = aes-128-xts -Key = 2718281828459045235360287471352631415926535897932384626433832795 -IV = 00000000000000000000000000000000 -Plaintext = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f9091 -Ciphertext = 27A7479BEFA1D476489F308CD4CFA6E2A96E4BBE3208FF25287DD3819616E89CC78CF7F5E543445F8333D8FA7F56000005279FA5D8B5E4AD40E736DDB4D35412328063FD2AAB53E5EA1E0A9F332500A5DF9487D07A5C92CC512C8866C7E860CE93FDF166A24912B422976146AE20CE846BB7DC9BA94A767AAEF20C0D61AD0265C4DD16E65A24575A709F174593F19FF85EA9 - -Cipher = aes-128-xts -Key = 2718281828459045235360287471352631415926535897932384626433832795 -IV = 00000000000000000000000000000000 -Plaintext = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f -Ciphertext = 27a7479befa1d476489f308cd4cfa6e2a96e4bbe3208ff25287dd3819616e89cc78cf7f5e543445f8333d8fa7f56000005279fa5d8b5e4ad40e736ddb4d35412328063fd2aab53e5ea1e0a9f332500a5df9487d07a5c92cc512c8866c7e860ce93fdf166a24912b422976146ae20ce846bb7dc9ba94a767aaef20c0d61ad02655ea92dc4c4e41a8952c651d33174be51a10c421110e6d81588ede82103a252d8 - -Cipher = aes-128-xts -Key = 2718281828459045235360287471352631415926535897932384626433832795 -IV = 00000000000000000000000000000000 -Plaintext = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1 -Ciphertext = 27A7479BEFA1D476489F308CD4CFA6E2A96E4BBE3208FF25287DD3819616E89CC78CF7F5E543445F8333D8FA7F56000005279FA5D8B5E4AD40E736DDB4D35412328063FD2AAB53E5EA1E0A9F332500A5DF9487D07A5C92CC512C8866C7E860CE93FDF166A24912B422976146AE20CE846BB7DC9BA94A767AAEF20C0D61AD02655EA92DC4C4E41A8952C651D33174BE519215FA160C664D4B07D757A034AB3B35A10C - -Cipher = aes-128-xts -Key = 2718281828459045235360287471352631415926535897932384626433832795 -IV = 00000000000000000000000000000000 -Plaintext = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeaf -Ciphertext = 27a7479befa1d476489f308cd4cfa6e2a96e4bbe3208ff25287dd3819616e89cc78cf7f5e543445f8333d8fa7f56000005279fa5d8b5e4ad40e736ddb4d35412328063fd2aab53e5ea1e0a9f332500a5df9487d07a5c92cc512c8866c7e860ce93fdf166a24912b422976146ae20ce846bb7dc9ba94a767aaef20c0d61ad02655ea92dc4c4e41a8952c651d33174be51a10c421110e6d81588ede82103a252d8a750e8768defffed9122810aaeb99f91 - -Cipher = aes-128-xts -Key = 2718281828459045235360287471352631415926535897932384626433832795 -IV = 00000000000000000000000000000000 -Plaintext = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1 -Ciphertext = 27A7479BEFA1D476489F308CD4CFA6E2A96E4BBE3208FF25287DD3819616E89CC78CF7F5E543445F8333D8FA7F56000005279FA5D8B5E4AD40E736DDB4D35412328063FD2AAB53E5EA1E0A9F332500A5DF9487D07A5C92CC512C8866C7E860CE93FDF166A24912B422976146AE20CE846BB7DC9BA94A767AAEF20C0D61AD02655EA92DC4C4E41A8952C651D33174BE51A10C421110E6D81588EDE82103A252D82C6CBC24F9357BD1FB882AA4B2CC2E7FA750 - -Cipher = aes-128-xts -Key = 2718281828459045235360287471352631415926535897932384626433832795 -IV = 00000000000000000000000000000000 -Plaintext = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebf -Ciphertext = 27a7479befa1d476489f308cd4cfa6e2a96e4bbe3208ff25287dd3819616e89cc78cf7f5e543445f8333d8fa7f56000005279fa5d8b5e4ad40e736ddb4d35412328063fd2aab53e5ea1e0a9f332500a5df9487d07a5c92cc512c8866c7e860ce93fdf166a24912b422976146ae20ce846bb7dc9ba94a767aaef20c0d61ad02655ea92dc4c4e41a8952c651d33174be51a10c421110e6d81588ede82103a252d8a750e8768defffed9122810aaeb99f9172af82b604dc4b8e51bcb08235a6f434 - -Cipher = aes-128-xts -Key = 2718281828459045235360287471352631415926535897932384626433832795 -IV = 00000000000000000000000000000000 -Plaintext = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1 -Ciphertext = 27A7479BEFA1D476489F308CD4CFA6E2A96E4BBE3208FF25287DD3819616E89CC78CF7F5E543445F8333D8FA7F56000005279FA5D8B5E4AD40E736DDB4D35412328063FD2AAB53E5EA1E0A9F332500A5DF9487D07A5C92CC512C8866C7E860CE93FDF166A24912B422976146AE20CE846BB7DC9BA94A767AAEF20C0D61AD02655EA92DC4C4E41A8952C651D33174BE51A10C421110E6D81588EDE82103A252D8A750E8768DEFFFED9122810AAEB99F910409B03D164E727C31290FD4E039500872AF - -# AES wrap tests from RFC3394 -Cipher = id-aes128-wrap -Key = 000102030405060708090A0B0C0D0E0F -Plaintext = 00112233445566778899AABBCCDDEEFF -Ciphertext = 1FA68B0A8112B447AEF34BD8FB5A7B829D3E862371D2CFE5 - -Cipher = id-aes192-wrap -Key = 000102030405060708090A0B0C0D0E0F1011121314151617 -Plaintext = 00112233445566778899AABBCCDDEEFF -Ciphertext = 96778B25AE6CA435F92B5B97C050AED2468AB8A17AD84E5D - -Cipher = id-aes256-wrap -Key = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F -Plaintext = 00112233445566778899AABBCCDDEEFF -Ciphertext = 64E8C3F9CE0F5BA263E9777905818A2A93C8191E7D6E8AE7 - -Cipher = id-aes192-wrap -Key = 000102030405060708090A0B0C0D0E0F1011121314151617 -Plaintext = 00112233445566778899AABBCCDDEEFF0001020304050607 -Ciphertext = 031D33264E15D33268F24EC260743EDCE1C6C7DDEE725A936BA814915C6762D2 - -Cipher = id-aes256-wrap -Key = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F -Plaintext = 00112233445566778899AABBCCDDEEFF0001020304050607 -Ciphertext = A8F9BC1612C68B3FF6E6F4FBE30E71E4769C8B80A32CB8958CD5D17D6B254DA1 - -Cipher = id-aes256-wrap -Key = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F -Plaintext = 00112233445566778899AABBCCDDEEFF000102030405060708090A0B0C0D0E0F -Ciphertext = 28C9F404C4B810F4CBCCB35CFB87F8263F5786E2D80ED326CBC7F0E71A99F43BFB988B9B7A02DD21 - -# Same as previous example but with invalid unwrap key: should be rejected -# without returning any plaintext -Cipher = id-aes256-wrap -Operation = DECRYPT -Key = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E00 -Plaintext = 00112233445566778899AABBCCDDEEFF000102030405060708090A0B0C0D0E0F -Ciphertext = 28C9F404C4B810F4CBCCB35CFB87F8263F5786E2D80ED326CBC7F0E71A99F43BFB988B9B7A02DD21 -Result = CIPHERUPDATE_ERROR - -# AES wrap tests from RFC5649 -Cipher = id-aes192-wrap-pad -Key = 5840df6e29b02af1ab493b705bf16ea1ae8338f4dcc176a8 -Plaintext = c37b7e6492584340bed12207808941155068f738 -Ciphertext = 138bdeaa9b8fa7fc61f97742e72248ee5ae6ae5360d1ae6a5f54f373fa543b6a - -Cipher = id-aes192-wrap-pad -Key = 5840df6e29b02af1ab493b705bf16ea1ae8338f4dcc176a8 -Plaintext = 466f7250617369 -Ciphertext = afbeb0f07dfbf5419200f2ccb50bb24f - -# HMAC tests from RFC2104 -MAC = HMAC -Algorithm = MD5 -Key = 0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b -Input = "Hi There" -Output = 9294727a3638bb1c13f48ef8158bfc9d - -MAC = HMAC -Algorithm = MD5 -Key = "Jefe" -Input = "what do ya want for nothing?" -Output = 750c783e6ab0b503eaa86e310a5db738 - -MAC = HMAC -Algorithm = MD5 -Key = AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -Input = DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD -Output = 56be34521d144c88dbb8c733f0e8b3f6 - -# HMAC tests from NIST test data - -MAC = HMAC -Algorithm = SHA1 -Input = "Sample message for keylen=blocklen" -Key = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F -Output = 5FD596EE78D5553C8FF4E72D266DFD192366DA29 - -MAC = HMAC -Algorithm = SHA1 -Input = "Sample message for keylen<blocklen" -Key = 000102030405060708090A0B0C0D0E0F10111213 -Output = 4C99FF0CB1B31BD33F8431DBAF4D17FCD356A807 - -MAC = HMAC -Algorithm = SHA1 -Input = "Sample message for keylen=blocklen" -Key = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F60616263 -Output = 2D51B2F7750E410584662E38F133435F4C4FD42A - -MAC = HMAC -Algorithm = SHA224 -Input = "Sample message for keylen=blocklen" -Key = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F -Output = C7405E3AE058E8CD30B08B4140248581ED174CB34E1224BCC1EFC81B - -MAC = HMAC -Algorithm = SHA224 -Input = "Sample message for keylen<blocklen" -Key = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B -Output = E3D249A8CFB67EF8B7A169E9A0A599714A2CECBA65999A51BEB8FBBE - -MAC = HMAC -Algorithm = SHA224 -Input = "Sample message for keylen=blocklen" -Key = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F60616263 -Output = 91C52509E5AF8531601AE6230099D90BEF88AAEFB961F4080ABC014D - -MAC = HMAC -Algorithm = SHA256 -Input = "Sample message for keylen=blocklen" -Key = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F -Output = 8BB9A1DB9806F20DF7F77B82138C7914D174D59E13DC4D0169C9057B133E1D62 - -MAC = HMAC -Algorithm = SHA256 -Input = "Sample message for keylen<blocklen" -Key = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F -Output = A28CF43130EE696A98F14A37678B56BCFCBDD9E5CF69717FECF5480F0EBDF790 - -MAC = HMAC -Algorithm = SHA256 -Input = "Sample message for keylen=blocklen" -Key = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F60616263 -Output = BDCCB6C72DDEADB500AE768386CB38CC41C63DBB0878DDB9C7A38A431B78378D - -MAC = HMAC -Algorithm = SHA384 -Input = "Sample message for keylen=blocklen" -Key = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F -Output = 63C5DAA5E651847CA897C95814AB830BEDEDC7D25E83EEF9195CD45857A37F448947858F5AF50CC2B1B730DDF29671A9 - -MAC = HMAC -Algorithm = SHA384 -Input = "Sample message for keylen<blocklen" -Key = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F -Output = 6EB242BDBB582CA17BEBFA481B1E23211464D2B7F8C20B9FF2201637B93646AF5AE9AC316E98DB45D9CAE773675EEED0 - -MAC = HMAC -Algorithm = SHA384 -Input = "Sample message for keylen=blocklen" -Key = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7 -Output = 5B664436DF69B0CA22551231A3F0A3D5B4F97991713CFA84BFF4D0792EFF96C27DCCBBB6F79B65D548B40E8564CEF594 - -MAC = HMAC -Algorithm = SHA512 -Input = "Sample message for keylen=blocklen" -Key = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F -Output = FC25E240658CA785B7A811A8D3F7B4CA48CFA26A8A366BF2CD1F836B05FCB024BD36853081811D6CEA4216EBAD79DA1CFCB95EA4586B8A0CE356596A55FB1347 - -MAC = HMAC -Algorithm = SHA512 -Input = "Sample message for keylen<blocklen" -Key = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F -Output = FD44C18BDA0BB0A6CE0E82B031BF2818F6539BD56EC00BDC10A8A2D730B3634DE2545D639B0F2CF710D0692C72A1896F1F211C2B922D1A96C392E07E7EA9FEDC - -MAC = HMAC -Algorithm = SHA512 -Input = "Sample message for keylen=blocklen" -Key = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7 -Output = D93EC8D2DE1AD2A9957CB9B83F14E76AD6B5E0CCE285079A127D3B14BCCB7AA7286D4AC0D4CE64215F2BC9E6870B33D97438BE4AAA20CDA5C5A912B48B8E27F3 - -# CMAC tests from FIPS module - -MAC = CMAC -Algorithm = AES-128-CBC -Key = 77A77FAF290C1FA30C683DF16BA7A77B -Input = 020683E1F0392F4CAC54318B6029259E9C553DBC4B6AD998E64D58E4E7DC2E13 -Output = FBFEA41BF9740CB501F1292C21CEBB40 - -MAC = CMAC -Algorithm = AES-192-CBC -Key = 7B32391369AA4CA97558095BE3C3EC862BD057CEF1E32D62 -Input = -Output = E4D9340B03E67DEFD4969CC1ED3735E6 - -MAC = CMAC -Algorithm = AES-256-CBC -Key = 0B122AC8F34ED1FE082A3625D157561454167AC145A10BBF77C6A70596D574F1 -Input = 498B53FDEC87EDCBF07097DCCDE93A084BAD7501A224E388DF349CE18959FE8485F8AD1537F0D896EA73BEDC7214713F -Output = F62C46329B41085625669BAF51DEA66A - -MAC = CMAC -Algorithm = DES-EDE3-CBC -Key = 89BCD952A8C8AB371AF48AC7D07085D5EFF702E6D62CDC23 -Input = FA620C1BBE97319E9A0CF0492121F7A20EB08A6A709DCBD00AAF38E4F99E754E -Output = 8F49A1B7D6AA2258 +# Tests start with one of these keywords +# Cipher Decrypt Derive Digest Encoding KDF MAC PBE +# PrivPubKeyPair Sign Verify VerifyRecover +# and continue until a blank line. Lines starting with a pound sign, +# like this prolog, are ignored. # Public key algorithm tests @@ -3009,671 +547,6 @@ Input="0123456789ABCDEF0123456789ABCDEF" Output=4DE433D5844043EF08D354DA03CB29068780D52706D7D1E4D50EFB7D58C9D547D83A747DDD0635A96B28F854E50145518482CB49E963054621B53C60C498D07C16E9C2789C893CF38D4D86900DE71BDE463BD2761D1271E358C7480A1AC0BAB930DDF39602AD1BC165B5D7436B516B7A7858E8EB7AB1C420EEB482F4D207F0E462B1724959320A084E13848D11D10FB593E66BF680BF6D3F345FC3E9C3DE60ABBAC37E1C6EC80A268C8D9FC49626C679097AA690BC1AA662B95EB8DB70390861AA0898229F9349B4B5FDD030D4928C47084708A933144BE23BD3C6E661B85B2C0EF9ED36D498D5B7320E8194D363D4AD478C059BAE804181965E0B81B663158A Result = VERIFY_ERROR -# scrypt tests from draft-josefsson-scrypt-kdf-03 -PBE = scrypt -Password = "" -Salt = "" -N = 16 -r = 1 -p = 1 -Key = 77d6576238657b203b19ca42c18a0497f16b4844e3074ae8dfdffa3fede21442fcd0069ded0948f8326a753a0fc81f17e8d3e0fb2e0d3628cf35e20c38d18906 - -PBE = scrypt -Password = "password" -Salt = "NaCl" -N = 1024 -r = 8 -p = 16 -Key = fdbabe1c9d3472007856e7190d01e9fe7c6ad7cbc8237830e77376634b3731622eaf30d92e22a3886ff109279d9830dac727afb94a83ee6d8360cbdfa2cc0640 - -PBE = scrypt -Password = "pleaseletmein" -Salt = "SodiumChloride" -N = 16384 -r = 8 -p = 1 -Key = 7023bdcb3afd7348461c06cd81fd38ebfda8fbba904f8e3ea9b543f6545da1f2d5432955613f0fcf62d49705242a9af9e61e85dc0d651e40dfcf017b45575887 - -# NB: this test requires more than 1GB of memory to run so it will hit the -# scrypt memory limit and return an error. To run this test without error -# uncomment out the "maxmem" line and comment out the "Result" -# line -PBE = scrypt -Password = "pleaseletmein" -Salt = "SodiumChloride" -N = 1048576 -r = 8 -p = 1 -Key = 2101cb9b6a511aaeaddbbe09cf70f881ec568d574a2ffd4dabe5ee9820adaa478e56fd8f4ba5d09ffa1c6d927c40f4c337304049e8a952fbcbf45c6fa77a41a4 -#maxmem = 10000000000 -Result = SCRYPT_ERROR - -# PKCS#12 tests - -PBE = pkcs12 -id = 1 -iter = 1 -MD = SHA1 -Password = 0073006D006500670000 -Salt = 0A58CF64530D823F -Key = 8AAAE6297B6CB04642AB5B077851284EB7128F1A2A7FBCA3 - -PBE = pkcs12 -id = 2 -iter = 1 -MD = SHA1 -Password = 0073006D006500670000 -Salt = 0A58CF64530D823F -Key = 79993DFE048D3B76 - -PBE = pkcs12 -id = 3 -iter 1 -MD = SHA1 -Password = 0073006D006500670000 -Salt = 3D83C0E4546AC140 -Key = 8D967D88F6CAA9D714800AB3D48051D63F73A312 - -PBE = pkcs12 -id = 1 -iter = 1000 -MD = SHA1 -Password = 007100750065006500670000 -Salt = 1682C0FC5B3F7EC5 -Key = 483DD6E919D7DE2E8E648BA8F862F3FBFBDC2BCB2C02957F - -PBE = pkcs12 -id = 2 -iter = 1000 -MD = SHA1 -Password = 007100750065006500670000 -Salt = 1682C0FC5B3F7EC5 -Key = 9D461D1B00355C50 - -PBE = pkcs12 -id = 3 -iter = 1000 -MD = SHA1 -Password = 007100750065006500670000 -Salt = 263216FCC2FAB31C -Key = 5EC4C7A80DF652294C3925B6489A7AB857C83476 - -# PBKDF2 tests from p5_crpt2_test.c -PBE = pbkdf2 -Password = "password" -Salt = "salt" -iter = 1 -MD = sha1 -Key = 0c60c80f961f0e71f3a9b524af6012062fe037a6 - -PBE = pbkdf2 -Password = "password" -Salt = "salt" -iter = 1 -MD = sha256 -Key = 120fb6cffcf8b32c43e7225256c4f837a86548c92ccc35480805987cb70be17b - -PBE = pbkdf2 -Password = "password" -Salt = "salt" -iter = 1 -MD = sha512 -Key = 867f70cf1ade02cff3752599a3a53dc4af34c7a669815ae5d513554e1c8cf252c02d470a285a0501bad999bfe943c08f050235d7d68b1da55e63f73b60a57fce - -PBE = pbkdf2 -Password = "password" -Salt = "salt" -iter = 2 -MD = sha1 -Key = ea6c014dc72d6f8ccd1ed92ace1d41f0d8de8957 - -PBE = pbkdf2 -Password = "password" -Salt = "salt" -iter = 2 -MD = sha256 -Key = ae4d0c95af6b46d32d0adff928f06dd02a303f8ef3c251dfd6e2d85a95474c43 - -PBE = pbkdf2 -Password = "password" -Salt = "salt" -iter = 2 -MD = sha512 -Key = e1d9c16aa681708a45f5c7c4e215ceb66e011a2e9f0040713f18aefdb866d53cf76cab2868a39b9f7840edce4fef5a82be67335c77a6068e04112754f27ccf4e - -PBE = pbkdf2 -Password = "password" -Salt = "salt" -iter = 4096 -MD = sha1 -Key = 4b007901b765489abead49d926f721d065a429c1 - -PBE = pbkdf2 -Password = "password" -Salt = "salt" -iter = 4096 -MD = sha256 -Key = c5e478d59288c841aa530db6845c4c8d962893a001ce4e11a4963873aa98134a - -PBE = pbkdf2 -Password = "password" -Salt = "salt" -iter = 4096 -MD = sha512 -Key = d197b1b33db0143e018b12f3d1d1479e6cdebdcc97c5c0f87f6902e072f457b5143f30602641b3d55cd335988cb36b84376060ecd532e039b742a239434af2d5 - -PBE = pbkdf2 -Password = "passwordPASSWORDpassword" -Salt = "saltSALTsaltSALTsaltSALTsaltSALTsalt" -iter = 4096 -MD = sha1 -Key = 3d2eec4fe41c849b80c8d83662c0e44a8b291a964cf2f07038 - -PBE = pbkdf2 -Password = "passwordPASSWORDpassword" -Salt = "saltSALTsaltSALTsaltSALTsaltSALTsalt" -iter = 4096 -MD = sha256 -Key = 348c89dbcbd32b2f32d814b8116e84cf2b17347ebc1800181c4e2a1fb8dd53e1c635518c7dac47e9 - -PBE = pbkdf2 -Password = "passwordPASSWORDpassword" -Salt = "saltSALTsaltSALTsaltSALTsaltSALTsalt" -iter = 4096 -MD = sha512 -Key = 8c0511f4c6e597c6ac6315d8f0362e225f3c501495ba23b868c005174dc4ee71115b59f9e60cd9532fa33e0f75aefe30225c583a186cd82bd4daea9724a3d3b8 - -PBE = pbkdf2 -Password = 7061737300776f7264 -Salt = 7361006c74 -iter = 4096 -MD = sha1 -Key = 56fa6aa75548099dcc37d7f03425e0c3 - -PBE = pbkdf2 -Password = 7061737300776f7264 -Salt = 7361006c74 -iter = 4096 -MD = sha256 -Key = 89b69d0516f829893c696226650a8687 - -PBE = pbkdf2 -Password = 7061737300776f7264 -Salt = 7361006c74 -iter = 4096 -MD = sha512 -Key = 9d9e9c4cd21fe4be24d5b8244c759665 - -# PBKDF2 tests for empty and NULL inputs -PBE = pbkdf2 -Password = "" -Salt = "salt" -iter = 1 -MD = sha1 -Key = a33dddc30478185515311f8752895d36ea4363a2 - -PBE = pbkdf2 -Password = "" -Salt = "salt" -iter = 1 -MD = sha256 -Key = f135c27993baf98773c5cdb40a5706ce6a345cde - -PBE = pbkdf2 -Password = "" -Salt = "salt" -iter = 1 -MD = sha512 -Key = 00ef42cdbfc98d29db20976608e455567fdddf14 - -PBE = pbkdf2 -Password = NULL -Salt = "salt" -iter = 1 -MD = sha1 -Key = a33dddc30478185515311f8752895d36ea4363a2 - -PBE = pbkdf2 -Password = NULL -Salt = "salt" -iter = 1 -MD = sha256 -Key = f135c27993baf98773c5cdb40a5706ce6a345cde - -PBE = pbkdf2 -Password = NULL -Salt = "salt" -iter = 1 -MD = sha512 -Key = 00ef42cdbfc98d29db20976608e455567fdddf14 - -# Base64 tests - -Encoding = canonical -Input = "" -Output = "" - -Encoding = canonical -Input = "h" -Output = "aA==\n" - -Encoding = canonical -Input = "hello" -Output = "aGVsbG8=\n" - -Encoding = canonical -Input = "hello world!" -Output = "aGVsbG8gd29ybGQh\n" - -Encoding = canonical -Input = 00010203040506070809a0b0c0d0e0f000 -Output = "AAECAwQFBgcICaCwwNDg8AA=\n" - -# Missing padding -Encoding = invalid -Output = "aGVsbG8" - -Encoding = invalid -Output = "aGVsbG8\n" - -# Tolerate missing newline -Encoding = valid -Input = "hello" -Output = "aGVsbG8=" - -# Don't tolerate extra trailing '=' -Encoding = invalid -Input = "hello" -Output = "aGVsbG8==\n" - -Encoding = invalid -Output = "aGVsbG8===\n" - -# Don't tolerate data after '=' -Encoding = invalid -Output = "aGV=sbG8=\n" - -# Newlines are ignored -Encoding = valid -Input = "hello" -Output = "aGV\nsbG8=\n" - -Encoding = canonical -Input = "hello" -Output = 614756736247383d0a - -# Invalid characters -Encoding = invalid -Output = 614756736247383d0a00 - -Encoding = invalid -Output = 61475600736247383d0a - -Encoding = invalid -Output = 61475601736247383d0a - -Encoding = invalid -Output = 61475680736247383d0a - -Encoding = invalid -Output = e14756736247383d0a - -Encoding = canonical -Input = "OpenSSLOpenSSL\n" -Output = "T3BlblNTTE9wZW5TU0wK\n" - -Encoding = valid -Input = "OpenSSLOpenSSL\n" -Output = "T3BlblNTTE9wZW5TU0wK" - -# Truncate 1-3 chars -Encoding = invalid -Output = "T3BlblNTTE9wZW5TU0w" - -Encoding = invalid -Output = "T3BlblNTTE9wZW5TU0" - -Encoding = invalid -Output = "T3BlblNTTE9wZW5TU" - -Encoding = invalid -Output = "T3BlblNTTE9wZW5TU0wK====" - -Encoding = invalid -Output = "T3BlblNTTE9wZW5TU0wK============================================\n" - -Encoding = invalid -Output = "YQ==YQ==YQ==\n" - -Encoding = invalid -Output = "A" - -Encoding = invalid -Output = "A\n" - -Encoding = invalid -Output = "A=" - -Encoding = invalid -Output = "A==\n" - -Encoding = invalid -Output = "A===\n" - -Encoding = invalid -Output = "A====\n" - -Encoding = valid -Input = "OpenSSLOpenSSL\n" -Output = "T3BlblNTTE9wZW5TU0wK\n\n" - -Encoding = valid -Input = "OpenSSLOpenSSL\n" -Output = "T3BlblNTTE\n9wZW5TU0wK" - -# CVE 2015-0292 -Encoding = invalid -Output = "ZW5jb2RlIG1lCg==================================================================\n" - -Encoding = canonical -Input = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" -Output = "eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eA==\n" - -Encoding = valid -Input = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" -Output = "eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eA\n==\n" - -Encoding = valid -Input = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" -Output = "eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eA=\n=\n" - -Encoding = invalid -Output = "eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eA====\n" - -# Multiline output without padding -Encoding = canonical -Input = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" -Output = "eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4\neHh4eHh4eHh4eHh4\n" - -# Multiline output with padding -Encoding = canonical -Input = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" -Output = "eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4\neHh4eHh4eHh4eHh4eHh4eA==\n" - -# Multiline output with line break in the middle of a b64 block is accepted -Encoding = valid -Input = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" -Output = "eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh\n4eHh4eHh4eHh4eHh4eHh4eA==\n" - -# Long lines are accepted -Encoding = valid -Input = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" -Output = "eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eA==\n" - -# Multiline input with data after '='. -Encoding = invalid -Output = "eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eA==\neHh4eHh4eHh4eHh4eHh4eHh4\n" - -Encoding = invalid -Output = "eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4\neA==eHh4eHh4eHh4eHh4eHh4\n" - -# B64_EOF ('-') terminates input and trailing bytes are ignored -Encoding = valid -Input = "OpenSSLOpenSSL\n" -Output = "T3BlblNTTE9wZW5TU0wK\n-abcd" - -Encoding = valid -Input = "OpenSSLOpenSSL\n" -Output = "T3BlblNTTE9wZW5TU0wK-abcd" - -Cipher = chacha20 -Key = 0000000000000000000000000000000000000000000000000000000000000000 -IV = 00000000000000000000000000000000 -Plaintext = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Ciphertext = 76b8e0ada0f13d90405d6ae55386bd28bdd219b8a08ded1aa836efcc8b770dc7da41597c5157488d7724e03fb8d84a376a43b8f41518a11cc387b669b2ee6586 - -Cipher = chacha20 -Key = 0000000000000000000000000000000000000000000000000000000000000001 -IV = 00000000000000000000000000000000 -Plaintext = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Ciphertext = 4540f05a9f1fb296d7736e7b208e3c96eb4fe1834688d2604f450952ed432d41bbe2a0b6ea7566d2a5d1e7e20d42af2c53d792b1c43fea817e9ad275ae546963 - -Cipher = chacha20 -Key = 0000000000000000000000000000000000000000000000000000000000000000 -IV = 00000000000000000000000000000001 -Plaintext = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Ciphertext = de9cba7bf3d69ef5e786dc63973f653a0b49e015adbff7134fcb7df137821031e85a050278a7084527214f73efc7fa5b5277062eb7a0433e445f41e31afab757 - -Cipher = chacha20 -Key = 0000000000000000000000000000000000000000000000000000000000000000 -IV = 00000000000000000100000000000000 -Plaintext = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Ciphertext = ef3fdfd6c61578fbf5cf35bd3dd33b8009631634d21e42ac33960bd138e50d32111e4caf237ee53ca8ad6426194a88545ddc497a0b466e7d6bbdb0041b2f586b - -Cipher = chacha20 -Key = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f -IV = 00000000000000000001020304050607 -Plaintext = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Ciphertext = f798a189f195e66982105ffb640bb7757f579da31602fc93ec01ac56f85ac3c134a4547b733b46413042c9440049176905d3be59ea1c53f15916155c2be8241a38008b9a26bc35941e2444177c8ade6689de95264986d95889fb60e84629c9bd9a5acb1cc118be563eb9b3a4a472f82e09a7e778492b562ef7130e88dfe031c79db9d4f7c7a899151b9a475032b63fc385245fe054e3dd5a97a5f576fe064025d3ce042c566ab2c507b138db853e3d6959660996546cc9c4a6eafdc777c040d70eaf46f76dad3979e5c5360c3317166a1c894c94a371876a94df7628fe4eaaf2ccb27d5aaae0ad7ad0f9d4b6ad3b54098746d4524d38407a6deb - -Cipher = chacha20 -Key = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f -IV = 00000000000000000001020304050607 -Plaintext = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Ciphertext = f798a189f195e66982105ffb640bb7757f579da31602fc93ec01ac56f85ac3c134a4547b733b46413042c9440049176905d3be59ea1c53f15916155c2be8241a38008b9a26bc35941e2444177c8ade6689de95264986d95889fb60e84629c9bd9a5acb1cc118be563eb9b3a4a472f82e09a7e778492b562ef7130e88dfe031c79db9d4f7c7a899151b9a475032b63fc385245fe054e3dd5a97a5f576fe064025d3ce042c566ab2c507b138db853e3d6959660996546cc9c4a6eafdc777c040d70eaf46f76dad3979e5c5360c3317166a1c894c94a371876a94df7628fe4eaaf2ccb27d5aaae0ad7ad0f9d4b6ad3b54098746d4524d38407a6deb3ab78fab78c9 - -Cipher = chacha20 -Key = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f -IV = 00000000000000000001020304050607 -Plaintext = 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Ciphertext = f798a189f195e66982105ffb640bb7757f579da31602fc93ec01ac56f85ac3c134a4547b733b46413042c9440049176905d3be59ea1c53f15916155c2be8241a38008b9a26bc35941e2444177c8ade6689de95264986d95889fb60e84629c9bd9a5acb1cc118be563eb9b3a4a472f82e09a7e778492b562ef7130e88dfe031c79db9d4f7c7a899151b9a475032b63fc385245fe054e3dd5a97a5f576fe064025d3ce042c566ab2c507b138db853e3d6959660996546cc9c4a6eafdc777c040d70eaf46f76dad3979e5c5360c3317166a1c894c94a371876a94df7628fe4eaaf2ccb27d5aaae0ad7ad0f9d4b6ad3b54098746d4524d38407a6deb3ab78fab78c94213668bbbd394c5de93b853178addd6b97f9fa1ec3e56c00c9ddff0a44a204241175a4cab0f961ba53ede9bdf960b94f9829b1f3414726429b362c5b538e391520f489b7ed8d20ae3fd49e9e259e44397514d618c96c4846be3c680bdc11c71dcbbe29ccf80d62a0938fa549391e6ea57ecbe2606790ec15d2224ae307c144226b7c4e8c2f97d2a1d67852d29beba110edd445197012062a393a9c92803ad3b4f31d7bc6033ccf7932cfed3f019044d25905916777286f82f9a4cc1ffe430ffd1dcfc27deed327b9f9630d2fa969fb6f0603cd19dd9a9519e673bcfcd9014125291a44669ef7285e74ed3729b677f801c3cdf058c50963168b496043716c730 - -Cipher = chacha20 -Key = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f -IV = 00000000000000000001020304050607 -Plaintext = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Ciphertext = f798a189f195e66982105ffb640bb7757f579da31602fc93ec01ac56f85ac3c134a4547b733b46413042c9440049176905d3be59ea1c53f15916155c2be8241a38008b9a26bc35941e2444177c8ade6689de95264986d95889fb60e84629c9bd9a5acb1cc118be563eb9b3a4a472f82e09a7e778492b562ef7130e88dfe031c79db9d4f7c7a899151b9a475032b63fc385245fe054e3dd5a97a5f576fe064025d3ce042c566ab2c507b138db853e3d6959660996546cc9c4a6eafdc777c040d70eaf46f76dad3979e5c5360c3317166a1c894c94a371876a94df7628fe4eaaf2ccb27d5aaae0ad7ad0f9d4b6ad3b54098746d4524d38407a6deb3ab78fab78c94213668bbbd394c5de93b853178addd6b97f9fa1ec3e56c00c9ddff0a44a204241175a4cab0f961ba53ede9bdf960b94f9829b1f3414726429b362c5b538e391520f489b7ed8d20ae3fd49e9e259e44397514d618c96c4846be3c680bdc11c71dcbbe29ccf80d62a0938fa549391e6ea57ecbe2606790ec15d2224ae307c144226b7c4e8c2f97d2a1d67852d29beba110edd445197012062a393a9c92803ad3b4f31d7bc6033ccf7932cfed3f019044d25905916777286f82f9a4cc1ffe430ffd1dcfc27deed327b9f9630d2fa969fb6f0603cd19dd9a9519e673bcfcd9014125291a44669ef7285e74ed3729b677f801c3cdf058c50963168b496043716c7307cd9e0cdd137fccb0f05b47cdbb95c5f54831622c3652a32b2531fe326bcd6e2bbf56a194fa196fbd1a54952110f51c73433865f7664b836685e3664b3d8444aF89A242805E18C975F1146324996FDE17007CF3E6E8F4E764022533EDBFE07D4733E48BB372D75B0EF48EC983EB78532161CC529E5ABB89837DFCCA6261DBB37 - -Cipher = chacha20 -Key = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f -IV = 00000000000000000001020304050607 -Plaintext = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Ciphertext = f798a189f195e66982105ffb640bb7757f579da31602fc93ec01ac56f85ac3c134a4547b733b46413042c9440049176905d3be59ea1c53f15916155c2be8241a38008b9a26bc35941e2444177c8ade6689de95264986d95889fb60e84629c9bd9a5acb1cc118be563eb9b3a4a472f82e09a7e778492b562ef7130e88dfe031c79db9d4f7c7a899151b9a475032b63fc385245fe054e3dd5a97a5f576fe064025d3ce042c566ab2c507b138db853e3d6959660996546cc9c4a6eafdc777c040d70eaf46f76dad3979e5c5360c3317166a1c894c94a371876a94df7628fe4eaaf2ccb27d5aaae0ad7ad0f9d4b6ad3b54098746d4524d38407a6deb3ab78fab78c94213668bbbd394c5de93b853178addd6b97f9fa1ec3e56c00c9ddff0a44a204241175a4cab0f961ba53ede9bdf960b94f9829b1f3414726429b362c5b538e391520f489b7ed8d20ae3fd49e9e259e44397514d618c96c4846be3c680bdc11c71dcbbe29ccf80d62a0938fa549391e6ea57ecbe2606790ec15d2224ae307c144226b7c4e8c2f97d2a1d67852d29beba110edd445197012062a393a9c92803ad3b4f31d7bc6033ccf7932cfed3f019044d25905916777286f82f9a4cc1ffe430ffd1dcfc27deed327b9f9630d2fa969fb6f0603cd19dd9a9519e673bcfcd9014125291a44669ef7285e74ed3729b677f801c3cdf058c50963168b496043716c7307cd9e0cdd137fccb0f05b47cdbb95c5f54831622c3652a32b2531fe326bcd6e2bbf56a194fa196fbd1a54952110f51c73433865f7664b836685e3664b3d8444a - -Cipher = chacha20 -Key = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f -IV = 00000000000000000001020304050607 -Plaintext = 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Ciphertext = f798a189f195e66982105ffb640bb7757f579da31602fc93ec01ac56f85ac3c134a4547b733b46413042c9440049176905d3be59ea1c53f15916155c2be8241a38008b9a26bc35941e2444177c8ade6689de95264986d95889fb60e84629c9bd9a5acb1cc118be563eb9b3a4a472f82e09a7e778492b562ef7130e88dfe031c79db9d4f7c7a899151b9a475032b63fc385245fe054e3dd5a97a5f576fe064025d3ce042c566ab2c507b138db853e3d6959660996546cc9c4a6eafdc777c040d70eaf46f76dad3979e5c5360c3317166a1c894c94a371876a94df7628fe4eaaf2ccb27d5aaae0ad7ad0f9d4b6ad3b54098746d4524d38407a6deb3ab78fab78c94213668bbbd394c5de93b853178addd6b97f9fa1ec3e56c00c9ddff0a44a204241175a4cab0f961ba53ede9bdf960b94f9829b1f3414726429b362c5b538e391520f489b7ed8d20ae3fd49e9e259e44397514d618c96c4846be3c680bdc11c71dcbbe29ccf80d62a0938fa549391e6ea57ecbe2606790ec15d2224ae307c144226b7c4e8c2f97d2a1d67852d29beba110edd445197012062a393a9c92803ad3b4f31d7bc6033ccf7932cfed3f019044d25905916777286f82f9a4cc1ffe430ffd1dcfc27deed327b9f9630d2fa969fb6f0603cd19dd9a9519e673bcfcd9014125291a44669ef7285e74ed3729b677f801c3cdf058c50963168b496043716c7307cd9e0cdd137fccb0f05b47cdbb95c5f54831622c3652a32b2531fe326bcd6e2bbf56a194fa196fbd1a54952110f51c73433865f7664b836685e3664b3d8444aF89A242805E18C975F1146324996FDE17007CF3E6E8F4E764022533EDBFE07D4733E48BB372D75B0EF48EC983EB78532161CC529E5ABB89837DFCCA6261DBB37C7C5E6A87478BF41EE85A518C0F4EFA9BDE828C5A71B8E46597B634AFD204D3C501334239C3414285ED72D3A9169EABBD4DC25D52BB7516D3BA712D75AD8C0AE - -Cipher = chacha20 -Key = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f -IV = 00000000000000000001020304050607 -Plaintext = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Ciphertext = f798a189f195e66982105ffb640bb7757f579da31602fc93ec01ac56f85ac3c134a4547b733b46413042c9440049176905d3be59ea1c53f15916155c2be8241a38008b9a26bc35941e2444177c8ade6689de95264986d95889fb60e84629c9bd9a5acb1cc118be563eb9b3a4a472f82e09a7e778492b562ef7130e88dfe031c79db9d4f7c7a899151b9a475032b63fc385245fe054e3dd5a97a5f576fe064025d3ce042c566ab2c507b138db853e3d6959660996546cc9c4a6eafdc777c040d70eaf46f76dad3979e5c5360c3317166a1c894c94a371876a94df7628fe4eaaf2ccb27d5aaae0ad7ad0f9d4b6ad3b54098746d4524d38407a6deb3ab78fab78c94213668bbbd394c5de93b853178addd6b97f9fa1ec3e56c00c9ddff0a44a204241175a4cab0f961ba53ede9bdf960b94f9829b1f3414726429b362c5b538e391520f489b7ed8d20ae3fd49e9e259e44397514d618c96c4846be3c680bdc11c71dcbbe29ccf80d62a0938fa549391e6ea57ecbe2606790ec15d2224ae307c144226b7c4e8c2f97d2a1d67852d29beba110edd445197012062a393a9c92803ad3b4f31d7bc6033ccf7932cfed3f019044d25905916777286f82f9a4cc1ffe430ffd1dcfc27deed327b9f9630d2fa969fb6f0603cd19dd9a9519e673bcfcd9014125291a44669ef7285e74ed3729b677f801c3cdf058c50963168b496043716c7307cd9e0cdd137fccb0f05b47cdbb95c5f54831622c3652a32b2531fe326bcd6e2bbf56a194fa196fbd1a54952110f51c73433865f7664b836685e3664b3d8444aF89A242805E18C975F1146324996FDE17007CF3E6E8F4E764022533EDBFE07D4733E48BB372D75B0EF48EC983EB78532161CC529E5ABB89837DFCCA6261DBB37C7C5E6A87478BF41EE85A518C0F4EFA9BDE828C5A71B8E46597B634AFD204D3C501334239C3414285ED72D3A9169EABBD4DC25D52BB7516D3BA712D75AD8C0AE5D493C19E38A77939E7A058D713E9CCCCA58045F436B434B1C80D365472406E392951987DB6905C80D431DA18451135BE7E82BCAB358CB3971E61405B2FF1798 - -Cipher = chacha20 -Key = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f -IV = 00000000000000000001020304050607 -Plaintext = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Ciphertext = f798a189f195e66982105ffb640bb7757f579da31602fc93ec01ac56f85ac3c134a4547b733b46413042c9440049176905d3be59ea1c53f15916155c2be8241a38008b9a26bc35941e2444177c8ade6689de95264986d95889fb60e84629c9bd9a5acb1cc118be563eb9b3a4a472f82e09a7e778492b562ef7130e88dfe031c79db9d4f7c7a899151b9a475032b63fc385245fe054e3dd5a97a5f576fe064025d3ce042c566ab2c507b138db853e3d6959660996546cc9c4a6eafdc777c040d70eaf46f76dad3979e5c5360c3317166a1c894c94a371876a94df7628fe4eaaf2ccb27d5aaae0ad7ad0f9d4b6ad3b54098746d4524d38407a6deb3ab78fab78c94213668bbbd394c5de93b853178addd6b97f9fa1ec3e56c00c9ddff0a44a204241175a4cab0f961ba53ede9bdf960b94f9829b1f3414726429b362c5b538e391520f489b7ed8d20ae3fd49e9e259e44397514d618c96c4846be3c680bdc11c71dcbbe29ccf80d62a0938fa549391e6ea57ecbe2606790ec15d2224ae307c144226b7c4e8c2f97d2a1d67852d29beba110edd445197012062a393a9c92803ad3b4f31d7bc6033ccf7932cfed3f019044d25905916777286f82f9a4cc1ffe430ffd1dcfc27deed327b9f9630d2fa969fb6f0603cd19dd9a9519e673bcfcd9014125291a44669ef7285e74ed3729b677f801c3cdf058c50963168b496043716c7307cd9e0cdd137fccb0f05b47cdbb95c5f54831622c3652a32b2531fe326bcd6e2bbf56a194fa196fbd1a54952110f51c73433865f7664b836685e3664b3d8444aF89A242805E18C975F1146324996FDE17007CF3E6E8F4E764022533EDBFE07D4733E48BB372D75B0EF48EC983EB78532161CC529E5ABB89837DFCCA6261DBB37C7C5E6A87478BF41EE85A518C0F4EFA9BDE828C5A71B8E46597B634AFD204D3C501334239C3414285ED72D3A9169EABBD4DC25D52BB7516D3BA712D75AD8C0AE5D493C19E38A77939E7A058D713E9CCCCA58045F436B434B1C80D365472406E392951987DB6905C80D431DA18451135BE7E82BCAB358CB3971E61405B2FF17980D6E7E67E861E28201C1EE30B441040FD06878D65042C95582A4318207BFC700BE0CE32889AEC2FFE5085E8967910D879FA0E8C0FF85FDC510B9FF2FBF87CFCB - -Cipher = chacha20 -Key = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f -IV = 00000000000000000001020304050607 -Plaintext = 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Ciphertext = f798a189f195e66982105ffb640bb7757f579da31602fc93ec01ac56f85ac3c134a4547b733b46413042c9440049176905d3be59ea1c53f15916155c2be8241a38008b9a26bc35941e2444177c8ade6689de95264986d95889fb60e84629c9bd9a5acb1cc118be563eb9b3a4a472f82e09a7e778492b562ef7130e88dfe031c79db9d4f7c7a899151b9a475032b63fc385245fe054e3dd5a97a5f576fe064025d3ce042c566ab2c507b138db853e3d6959660996546cc9c4a6eafdc777c040d70eaf46f76dad3979e5c5360c3317166a1c894c94a371876a94df7628fe4eaaf2ccb27d5aaae0ad7ad0f9d4b6ad3b54098746d4524d38407a6deb3ab78fab78c94213668bbbd394c5de93b853178addd6b97f9fa1ec3e56c00c9ddff0a44a204241175a4cab0f961ba53ede9bdf960b94f9829b1f3414726429b362c5b538e391520f489b7ed8d20ae3fd49e9e259e44397514d618c96c4846be3c680bdc11c71dcbbe29ccf80d62a0938fa549391e6ea57ecbe2606790ec15d2224ae307c144226b7c4e8c2f97d2a1d67852d29beba110edd445197012062a393a9c92803ad3b4f31d7bc6033ccf7932cfed3f019044d25905916777286f82f9a4cc1ffe430ffd1dcfc27deed327b9f9630d2fa969fb6f0603cd19dd9a9519e673bcfcd9014125291a44669ef7285e74ed3729b677f801c3cdf058c50963168b496043716c7307cd9e0cdd137fccb0f05b47cdbb95c5f54831622c3652a32b2531fe326bcd6e2bbf56a194fa196fbd1a54952110f51c73433865f7664b836685e3664b3d8444aF89A242805E18C975F1146324996FDE17007CF3E6E8F4E764022533EDBFE07D4733E48BB372D75B0EF48EC983EB78532161CC529E5ABB89837DFCCA6261DBB37C7C5E6A87478BF41EE85A518C0F4EFA9BDE828C5A71B8E46597B634AFD204D3C501334239C3414285ED72D3A9169EABBD4DC25D52BB7516D3BA712D75AD8C0AE5D493C19E38A77939E7A058D713E9CCCCA58045F436B434B1C80D365472406E392951987DB6905C80D431DA18451135BE7E82BCAB358CB3971E61405B2FF17980D6E7E67E861E28201C1EE30B441040FD06878D65042C95582A4318207BFC700BE0CE32889AEC2FFE5085E8967910D879FA0E8C0FF85FDC510B9FF2FBF87CFCB29577D68099E04FFA05F752A73D377C70D3A8BC2DA80E6E780EC057182C33AD1DE387252258A1E18E6FAD910327CE7F42FD1E1E0515F9586E2F2EFCB9F472B1D - -Cipher = chacha20 -Key = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f -IV = 00000000000000000001020304050607 -Plaintext = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Ciphertext = f798a189f195e66982105ffb640bb7757f579da31602fc93ec01ac56f85ac3c134a4547b733b46413042c9440049176905d3be59ea1c53f15916155c2be8241a38008b9a26bc35941e2444177c8ade6689de95264986d95889fb60e84629c9bd9a5acb1cc118be563eb9b3a4a472f82e09a7e778492b562ef7130e88dfe031c79db9d4f7c7a899151b9a475032b63fc385245fe054e3dd5a97a5f576fe064025d3ce042c566ab2c507b138db853e3d6959660996546cc9c4a6eafdc777c040d70eaf46f76dad3979e5c5360c3317166a1c894c94a371876a94df7628fe4eaaf2ccb27d5aaae0ad7ad0f9d4b6ad3b54098746d4524d38407a6deb3ab78fab78c94213668bbbd394c5de93b853178addd6b97f9fa1ec3e56c00c9ddff0a44a204241175a4cab0f961ba53ede9bdf960b94f9829b1f3414726429b362c5b538e391520f489b7ed8d20ae3fd49e9e259e44397514d618c96c4846be3c680bdc11c71dcbbe29ccf80d62a0938fa549391e6ea57ecbe2606790ec15d2224ae307c144226b7c4e8c2f97d2a1d67852d29beba110edd445197012062a393a9c92803ad3b4f31d7bc6033ccf7932cfed3f019044d25905916777286f82f9a4cc1ffe430ffd1dcfc27deed327b9f9630d2fa969fb6f0603cd19dd9a9519e673bcfcd9014125291a44669ef7285e74ed3729b677f801c3cdf058c50963168b496043716c7307cd9e0cdd137fccb0f05b47cdbb95c5f54831622c3652a32b2531fe326bcd6e2bbf56a194fa196fbd1a54952110f51c73433865f7664b836685e3664b3d8444aF89A242805E18C975F1146324996FDE17007CF3E6E8F4E764022533EDBFE07D4733E48BB372D75B0EF48EC983EB78532161CC529E5ABB89837DFCCA6261DBB37C7C5E6A87478BF41EE85A518C0F4EFA9BDE828C5A71B8E46597B634AFD204D3C501334239C3414285ED72D3A9169EABBD4DC25D52BB7516D3BA712D75AD8C0AE5D493C19E38A77939E7A058D713E9CCCCA58045F436B434B1C80D365472406E392951987DB6905C80D431DA18451135BE7E82BCAB358CB3971E61405B2FF17980D6E7E67E861E28201C1EE30B441040FD06878D65042C95582A4318207BFC700BE0CE32889AEC2FFE5085E8967910D879FA0E8C0FF85FDC510B9FF2FBF87CFCB29577D68099E04FFA05F752A73D377C70D3A8BC2DA80E6E780EC057182C33AD1DE387252258A1E18E6FAD910327CE7F42FD1E1E0515F9586E2F2EFCB9F472B1DBDBAC354A4162151E9D92C79FB08BB4DDC56F19448C0175A46E2E6C491FEC71419AA43A349BEA768A92C75DE68FD9591E68067F3197094D3FB87ED81785EA075 - -Cipher = chacha20 -Key = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f -IV = 00000000000000000001020304050607 -Plaintext = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Ciphertext = f798a189f195e66982105ffb640bb7757f579da31602fc93ec01ac56f85ac3c134a4547b733b46413042c9440049176905d3be59ea1c53f15916155c2be8241a38008b9a26bc35941e2444177c8ade6689de95264986d95889fb60e84629c9bd9a5acb1cc118be563eb9b3a4a472f82e09a7e778492b562ef7130e88dfe031c79db9d4f7c7a899151b9a475032b63fc385245fe054e3dd5a97a5f576fe064025d3ce042c566ab2c507b138db853e3d6959660996546cc9c4a6eafdc777c040d70eaf46f76dad3979e5c5360c3317166a1c894c94a371876a94df7628fe4eaaf2ccb27d5aaae0ad7ad0f9d4b6ad3b54098746d4524d38407a6deb3ab78fab78c94213668bbbd394c5de93b853178addd6b97f9fa1ec3e56c00c9ddff0a44a204241175a4cab0f961ba53ede9bdf960b94f9829b1f3414726429b362c5b538e391520f489b7ed8d20ae3fd49e9e259e44397514d618c96c4846be3c680bdc11c71dcbbe29ccf80d62a0938fa549391e6ea57ecbe2606790ec15d2224ae307c144226b7c4e8c2f97d2a1d67852d29beba110edd445197012062a393a9c92803ad3b4f31d7bc6033ccf7932cfed3f019044d25905916777286f82f9a4cc1ffe430ffd1dcfc27deed327b9f9630d2fa969fb6f0603cd19dd9a9519e673bcfcd9014125291a44669ef7285e74ed3729b677f801c3cdf058c50963168b496043716c7307cd9e0cdd137fccb0f05b47cdbb95c5f54831622c3652a32b2531fe326bcd6e2bbf56a194fa196fbd1a54952110f51c73433865f7664b836685e3664b3d8444aF89A242805E18C975F1146324996FDE17007CF3E6E8F4E764022533EDBFE07D4733E48BB372D75B0EF48EC983EB78532161CC529E5ABB89837DFCCA6261DBB37C7C5E6A87478BF41EE85A518C0F4EFA9BDE828C5A71B8E46597B634AFD204D3C501334239C3414285ED72D3A9169EABBD4DC25D52BB7516D3BA712D75AD8C0AE5D493C19E38A77939E7A058D713E9CCCCA58045F436B434B1C80D365472406E392951987DB6905C80D431DA18451135BE7E82BCAB358CB3971E61405B2FF17980D6E7E67E861E28201C1EE30B441040FD06878D65042C95582A4318207BFC700BE0CE32889AEC2FFE5085E8967910D879FA0E8C0FF85FDC510B9FF2FBF87CFCB29577D68099E04FFA05F752A73D377C70D3A8BC2DA80E6E780EC057182C33AD1DE387252258A1E18E6FAD910327CE7F42FD1E1E0515F9586E2F2EFCB9F472B1DBDBAC354A4162151E9D92C79FB08BB4DDC56F19448C0175A46E2E6C491FEC71419AA43A349BEA768A92C75DE68FD9591E68067F3197094D3FB87ED81785EA075E4B65E3E4C78F81DA9B751C5EFE024152301C48E63245B556C4C67AFF857E5EA15A908D83A1D9704F8E55E7352B20B694BF9970298E6B5AAD33EA2155D105D4E - -Cipher = chacha20 -Key = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f -IV = 00000000000000000001020304050607 -Plaintext = 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -Ciphertext = f798a189f195e66982105ffb640bb7757f579da31602fc93ec01ac56f85ac3c134a4547b733b46413042c9440049176905d3be59ea1c53f15916155c2be8241a38008b9a26bc35941e2444177c8ade6689de95264986d95889fb60e84629c9bd9a5acb1cc118be563eb9b3a4a472f82e09a7e778492b562ef7130e88dfe031c79db9d4f7c7a899151b9a475032b63fc385245fe054e3dd5a97a5f576fe064025d3ce042c566ab2c507b138db853e3d6959660996546cc9c4a6eafdc777c040d70eaf46f76dad3979e5c5360c3317166a1c894c94a371876a94df7628fe4eaaf2ccb27d5aaae0ad7ad0f9d4b6ad3b54098746d4524d38407a6deb3ab78fab78c94213668bbbd394c5de93b853178addd6b97f9fa1ec3e56c00c9ddff0a44a204241175a4cab0f961ba53ede9bdf960b94f9829b1f3414726429b362c5b538e391520f489b7ed8d20ae3fd49e9e259e44397514d618c96c4846be3c680bdc11c71dcbbe29ccf80d62a0938fa549391e6ea57ecbe2606790ec15d2224ae307c144226b7c4e8c2f97d2a1d67852d29beba110edd445197012062a393a9c92803ad3b4f31d7bc6033ccf7932cfed3f019044d25905916777286f82f9a4cc1ffe430ffd1dcfc27deed327b9f9630d2fa969fb6f0603cd19dd9a9519e673bcfcd9014125291a44669ef7285e74ed3729b677f801c3cdf058c50963168b496043716c7307cd9e0cdd137fccb0f05b47cdbb95c5f54831622c3652a32b2531fe326bcd6e2bbf56a194fa196fbd1a54952110f51c73433865f7664b836685e3664b3d8444aF89A242805E18C975F1146324996FDE17007CF3E6E8F4E764022533EDBFE07D4733E48BB372D75B0EF48EC983EB78532161CC529E5ABB89837DFCCA6261DBB37C7C5E6A87478BF41EE85A518C0F4EFA9BDE828C5A71B8E46597B634AFD204D3C501334239C3414285ED72D3A9169EABBD4DC25D52BB7516D3BA712D75AD8C0AE5D493C19E38A77939E7A058D713E9CCCCA58045F436B434B1C80D365472406E392951987DB6905C80D431DA18451135BE7E82BCAB358CB3971E61405B2FF17980D6E7E67E861E28201C1EE30B441040FD06878D65042C95582A4318207BFC700BE0CE32889AEC2FFE5085E8967910D879FA0E8C0FF85FDC510B9FF2FBF87CFCB29577D68099E04FFA05F752A73D377C70D3A8BC2DA80E6E780EC057182C33AD1DE387252258A1E18E6FAD910327CE7F42FD1E1E0515F9586E2F2EFCB9F472B1DBDBAC354A4162151E9D92C79FB08BB4DDC56F19448C0175A46E2E6C491FEC71419AA43A349BEA768A92C75DE68FD9591E68067F3197094D3FB87ED81785EA075E4B65E3E4C78F81DA9B751C5EFE024152301C48E63245B556C4C67AFF857E5EA15A908D83A1D9704F8E55E7352B20B694BF9970298E6B5AAD33EA2155D105D4E637D1E87C40A8E5F4E8C5A16A4B8F3DC27B31721D77A65FD1ED6F86BE25FB95DB29B1988493770A7C60E451FF97DD241A236851FC425691979FE30226559AD95 - -# RFC7539 -Cipher = chacha20-poly1305 -Key = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f -IV = 070000004041424344454647 -AAD = 50515253c0c1c2c3c4c5c6c7 -Tag = 1ae10b594f09e26a7e902ecbd0600691 -Plaintext = 4c616469657320616e642047656e746c656d656e206f662074686520636c617373206f66202739393a204966204920636f756c64206f6666657220796f75206f6e6c79206f6e652074697020666f7220746865206675747572652c2073756e73637265656e20776f756c642062652069742e -Ciphertext = d31a8d34648e60db7b86afbc53ef7ec2a4aded51296e08fea9e2b5a736ee62d63dbea45e8ca9671282fafb69da92728b1a71de0a9e060b2905d6a5b67ecd3b3692ddbd7f2d778b8c9803aee328091b58fab324e4fad675945585808b4831d7bc3ff4def08e4b7a9de576d26586cec64b6116 - -Cipher = chacha20-poly1305 -Key = 1c9240a5eb55d38af333888604f6b5f0473917c1402b80099dca5cbc207075c0 -IV = 000000000102030405060708 -AAD = f33388860000000000004e91 -Tag = eead9d67890cbb22392336fea1851f38 -Plaintext = 496e7465726e65742d4472616674732061726520647261667420646f63756d656e74732076616c696420666f722061206d6178696d756d206f6620736978206d6f6e74687320616e64206d617920626520757064617465642c207265706c616365642c206f72206f62736f6c65746564206279206f7468657220646f63756d656e747320617420616e792074696d652e20497420697320696e617070726f70726961746520746f2075736520496e7465726e65742d447261667473206173207265666572656e6365206d6174657269616c206f7220746f2063697465207468656d206f74686572207468616e206173202fe2809c776f726b20696e2070726f67726573732e2fe2809d -Ciphertext = 64a0861575861af460f062c79be643bd5e805cfd345cf389f108670ac76c8cb24c6cfc18755d43eea09ee94e382d26b0bdb7b73c321b0100d4f03b7f355894cf332f830e710b97ce98c8a84abd0b948114ad176e008d33bd60f982b1ff37c8559797a06ef4f0ef61c186324e2b3506383606907b6a7c02b0f9f6157b53c867e4b9166c767b804d46a59b5216cde7a4e99040c5a40433225ee282a1b0a06c523eaf4534d7f83fa1155b0047718cbc546a0d072b04b3564eea1b422273f548271a0bb2316053fa76991955ebd63159434ecebb4e466dae5a1073a6727627097a1049e617d91d361094fa68f0ff77987130305beaba2eda04df997b714d6c6f2c29a6ad5cb4022b02709b - -Cipher = chacha20-poly1305 -Key = 1c9240a5eb55d38af333888604f6b5f0473917c1402b80099dca5cbc207075c0 -IV = 000000000102030405060708 -AAD = f33388860000000000004e91 -Tag = eead9d67890cbb22392336fea1851f39 -Plaintext = 496e7465726e65742d4472616674732061726520647261667420646f63756d656e74732076616c696420666f722061206d6178696d756d206f6620736978206d6f6e74687320616e64206d617920626520757064617465642c207265706c616365642c206f72206f62736f6c65746564206279206f7468657220646f63756d656e747320617420616e792074696d652e20497420697320696e617070726f70726961746520746f2075736520496e7465726e65742d447261667473206173207265666572656e6365206d6174657269616c206f7220746f2063697465207468656d206f74686572207468616e206173202fe2809c776f726b20696e2070726f67726573732e2fe2809d -Ciphertext = 64a0861575861af460f062c79be643bd5e805cfd345cf389f108670ac76c8cb24c6cfc18755d43eea09ee94e382d26b0bdb7b73c321b0100d4f03b7f355894cf332f830e710b97ce98c8a84abd0b948114ad176e008d33bd60f982b1ff37c8559797a06ef4f0ef61c186324e2b3506383606907b6a7c02b0f9f6157b53c867e4b9166c767b804d46a59b5216cde7a4e99040c5a40433225ee282a1b0a06c523eaf4534d7f83fa1155b0047718cbc546a0d072b04b3564eea1b422273f548271a0bb2316053fa76991955ebd63159434ecebb4e466dae5a1073a6727627097a1049e617d91d361094fa68f0ff77987130305beaba2eda04df997b714d6c6f2c29a6ad5cb4022b02709b -Operation = DECRYPT -Result = CIPHERFINAL_ERROR - -# TLS1 PRF tests, from NIST test vectors - -KDF=TLS1-PRF -Ctrl.md = md:MD5-SHA1 -Ctrl.Secret = hexsecret:bded7fa5c1699c010be23dd06ada3a48349f21e5f86263d512c0c5cc379f0e780ec55d9844b2f1db02a96453513568d0 -Ctrl.label = seed:master secret -Ctrl.client_random = hexseed:e5acaf549cd25c22d964c0d930fa4b5261d2507fad84c33715b7b9a864020693 -Ctrl.server_random = hexseed:135e4d557fdf3aa6406d82975d5c606a9734c9334b42136e96990fbd5358cdb2 -Output = 2f6962dfbc744c4b2138bb6b3d33054c5ecc14f24851d9896395a44ab3964efc2090c5bf51a0891209f46c1e1e998f62 - -KDF=TLS1-PRF -Ctrl.md = md:MD5-SHA1 -Ctrl.Secret = hexsecret:2f6962dfbc744c4b2138bb6b3d33054c5ecc14f24851d9896395a44ab3964efc2090c5bf51a0891209f46c1e1e998f62 -Ctrl.label = seed:key expansion -Ctrl.server_random = hexseed:67267e650eb32444119d222a368c191af3082888dc35afe8368e638c828874be -Ctrl.client_random = hexseed:d58a7b1cd4fedaa232159df652ce188f9d997e061b9bf48e83b62990440931f6 -Output = 3088825988e77fce68d19f756e18e43eb7fe672433504feaf99b3c503d9091b164f166db301d70c9fc0870b4a94563907bee1a61fb786cb717576890bcc51cb9ead97e01d0a2fea99c953377b195205ff07b369589178796edc963fd80fdbe518a2fc1c35c18ae8d - -KDF=TLS1-PRF -Ctrl.md = md:SHA256 -Ctrl.Secret = hexsecret:f8938ecc9edebc5030c0c6a441e213cd24e6f770a50dda07876f8d55da062bcadb386b411fd4fe4313a604fce6c17fbc -Ctrl.label = seed:master secret -Ctrl.client_random = hexseed:36c129d01a3200894b9179faac589d9835d58775f9b5ea3587cb8fd0364cae8c -Ctrl.server_random = hexseed:f6c9575ed7ddd73e1f7d16eca115415812a43c2b747daaaae043abfb50053fce -Output = 202c88c00f84a17a20027079604787461176455539e705be730890602c289a5001e34eeb3a043e5d52a65e66125188bf - -KDF=TLS1-PRF -Ctrl.md = md:SHA256 -Ctrl.Secret = hexsecret:202c88c00f84a17a20027079604787461176455539e705be730890602c289a5001e34eeb3a043e5d52a65e66125188bf -Ctrl.label = seed:key expansion -Ctrl.server_random = hexseed:ae6c806f8ad4d80784549dff28a4b58fd837681a51d928c3e30ee5ff14f39868 -Ctrl.client_random = hexseed:62e1fd91f23f558a605f28478c58cf72637b89784d959df7e946d3f07bd1b616 -Output = d06139889fffac1e3a71865f504aa5d0d2a2e89506c6f2279b670c3e1b74f531016a2530c51a3a0f7e1d6590d0f0566b2f387f8d11fd4f731cdd572d2eae927f6f2f81410b25e6960be68985add6c38445ad9f8c64bf8068bf9a6679485d966f1ad6f68b43495b10a683755ea2b858d70ccac7ec8b053c6bd41ca299d4e51928 - -# Missing digest. -KDF=TLS1-PRF -Ctrl.Secret = hexsecret:01 -Ctrl.Seed = hexseed:02 -Output = 03 -Result = KDF_DERIVE_ERROR - -# Missing secret. -KDF=TLS1-PRF -Ctrl.md = md:MD5-SHA1 -Ctrl.Seed = hexseed:02 -Output = 03 -Result = KDF_DERIVE_ERROR - -# HKDF tests, from RFC5869 test vectors - -KDF = HKDF -Ctrl.md = md:SHA256 -Ctrl.IKM = hexkey:0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b -Ctrl.salt = hexsalt:000102030405060708090a0b0c -Ctrl.info = hexinfo:f0f1f2f3f4f5f6f7f8f9 -Output = 3cb25f25faacd57a90434f64d0362f2a2d2d0a90cf1a5a4c5db02d56ecc4c5bf34007208d5b887185865 - -KDF = HKDF -Ctrl.md = md:SHA256 -Ctrl.IKM = hexkey:000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f -Ctrl.salt = hexsalt:606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeaf -Ctrl.info = hexinfo:b0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff -Output = b11e398dc80327a1c8e7f78c596a49344f012eda2d4efad8a050cc4c19afa97c59045a99cac7827271cb41c65e590e09da3275600c2f09b8367793a9aca3db71cc30c58179ec3e87c14c01d5c1f3434f1d87 - -KDF = HKDF -Ctrl.md = md:SHA256 -Ctrl.IKM = hexkey:0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b -Ctrl.salt = salt: -Ctrl.info = info: -Output = 8da4e775a563c18f715f802a063c5a31b8a11f5c5ee1879ec3454e5f3c738d2d9d201395faa4b61a96c8 - -KDF = HKDF -Ctrl.md = md:SHA1 -Ctrl.IKM = hexkey:0b0b0b0b0b0b0b0b0b0b0b -Ctrl.salt = hexsalt:000102030405060708090a0b0c -Ctrl.info = hexinfo:f0f1f2f3f4f5f6f7f8f9 -Output = 085a01ea1b10f36933068b56efa5ad81a4f14b822f5b091568a9cdd4f155fda2c22e422478d305f3f896 - -KDF = HKDF -Ctrl.md = md:SHA1 -Ctrl.IKM = hexkey:000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f -Ctrl.salt = hexsalt:606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeaf -Ctrl.info = hexinfo:b0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff -Output = 0bd770a74d1160f7c9f12cd5912a06ebff6adcae899d92191fe4305673ba2ffe8fa3f1a4e5ad79f3f334b3b202b2173c486ea37ce3d397ed034c7f9dfeb15c5e927336d0441f4c4300e2cff0d0900b52d3b4 - -KDF = HKDF -Ctrl.md = md:SHA1 -Ctrl.IKM = hexkey:0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b -Ctrl.salt = salt: -Ctrl.info = info: -Output = 0ac1af7002b3d761d1e55298da9d0506b9ae52057220a306e07b6b87e8df21d0ea00033de03984d34918 - -KDF = HKDF -Ctrl.md = md:SHA1 -Ctrl.IKM = hexkey:0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c -Ctrl.salt = salt: -Ctrl.info = info: -Output = 2c91117204d745f3500d636a62f64f0ab3bae548aa53d423b0d1f27ebba6f5e5673a081d70cce7acfc48 - -KDF = HKDF -Ctrl.IKM = hexkey:0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c -Ctrl.salt = salt: -Ctrl.info = info: -Output = 00 -Result = KDF_DERIVE_ERROR - -KDF = HKDF -Ctrl.md = md:SHA1 -Ctrl.salt = salt: -Ctrl.info = info: -Output = 00 -Result = KDF_DERIVE_ERROR - -KDF = HKDF -Ctrl.md = md:SHA1 -Ctrl.IKM = hexkey:0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c -Ctrl.info = info: -Output = 2c91117204d745f3500d636a62f64f0ab3bae548aa53d423b0d1f27ebba6f5e5673a081d70cce7acfc48 - -KDF = HKDF -Ctrl.md = md:SHA1 -Ctrl.IKM = hexkey:0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c -Ctrl.salt = salt: -Output = 2c91117204d745f3500d636a62f64f0ab3bae548aa53d423b0d1f27ebba6f5e5673a081d70cce7acfc48 - # ECDH tests Derive=P-256 @@ -19173,6 +16046,9 @@ Derive=ALICE_cf_sect283k1 PeerKey=BOB_cf_sect283k1_PUB Ctrl=ecdh_cofactor_mode:1 Result = DERIVE_ERROR +Function=EC_POINT_get_affine_coordinates_GF2m +Reason=point at infinity + # Test mismatches PrivPubKeyPair = Alice-25519:Bob-25519-PUBLIC diff --git a/deps/openssl/openssl/test/recipes/30-test_evp_data/evppkey_ecc.txt b/deps/openssl/openssl/test/recipes/30-test_evp_data/evppkey_ecc.txt new file mode 100644 index 00000000000..ae9a5435713 --- /dev/null +++ b/deps/openssl/openssl/test/recipes/30-test_evp_data/evppkey_ecc.txt @@ -0,0 +1,4534 @@ +# Title=brainpoolP160r1 curve tests + +PrivateKey=ALICE_cf_brainpoolP160r1 +-----BEGIN PRIVATE KEY----- +MDYCAQAwFAYHKoZIzj0CAQYJKyQDAwIIAQEBBBswGQIBAQQUo0UiM85512uHsr2DkIOYgyxSQxk= +-----END PRIVATE KEY----- + +PublicKey=ALICE_cf_brainpoolP160r1_PUB +-----BEGIN PUBLIC KEY----- +MEIwFAYHKoZIzj0CAQYJKyQDAwIIAQEBAyoABI7OZhLqr+8c3D9Tn6++CqQtc9jG5a1COb1okeZb +wKJUkmWn6NvNCQQ= +-----END PUBLIC KEY----- + +PrivPubKeyPair=ALICE_cf_brainpoolP160r1:ALICE_cf_brainpoolP160r1_PUB + +PrivateKey=BOB_cf_brainpoolP160r1 +-----BEGIN PRIVATE KEY----- +MDYCAQAwFAYHKoZIzj0CAQYJKyQDAwIIAQEBBBswGQIBAQQUmr0Vq3Z/feXq9tg9s8dxJXne1dU= +-----END PRIVATE KEY----- + +PublicKey=BOB_cf_brainpoolP160r1_PUB +-----BEGIN PUBLIC KEY----- +MEIwFAYHKoZIzj0CAQYJKyQDAwIIAQEBAyoABAu+ovBXBFQuw3Rt9qeImT6mLh9rerLFnTRL0+LH +sptS1Mbd0R4+5HM= +-----END PUBLIC KEY----- + +PrivPubKeyPair=BOB_cf_brainpoolP160r1:BOB_cf_brainpoolP160r1_PUB + +# ECDH Alice with Bob peer +Derive=ALICE_cf_brainpoolP160r1 +PeerKey=BOB_cf_brainpoolP160r1_PUB +SharedSecret=2e75cb6a8f13951b437e04a0ed1d714a610036cc + +# ECDH Bob with Alice peer +Derive=BOB_cf_brainpoolP160r1 +PeerKey=ALICE_cf_brainpoolP160r1_PUB +SharedSecret=2e75cb6a8f13951b437e04a0ed1d714a610036cc + +# Title=brainpoolP160t1 curve tests + +PrivateKey=ALICE_cf_brainpoolP160t1 +-----BEGIN PRIVATE KEY----- +MDYCAQAwFAYHKoZIzj0CAQYJKyQDAwIIAQECBBswGQIBAQQU1P/o5GQx5PA0kQoiwUtaXBUASUY= +-----END PRIVATE KEY----- + +PublicKey=ALICE_cf_brainpoolP160t1_PUB +-----BEGIN PUBLIC KEY----- +MEIwFAYHKoZIzj0CAQYJKyQDAwIIAQECAyoABANetsUNsxVmDo7X4LQ9yPYTcjN1HvLTo9GEEQtV +lG71NyzLPQwPDwM= +-----END PUBLIC KEY----- + +PrivPubKeyPair=ALICE_cf_brainpoolP160t1:ALICE_cf_brainpoolP160t1_PUB + +PrivateKey=BOB_cf_brainpoolP160t1 +-----BEGIN PRIVATE KEY----- +MDYCAQAwFAYHKoZIzj0CAQYJKyQDAwIIAQECBBswGQIBAQQUck4Sh9X3JjSUIRoxxKv8qLM6Ijc= +-----END PRIVATE KEY----- + +PublicKey=BOB_cf_brainpoolP160t1_PUB +-----BEGIN PUBLIC KEY----- +MEIwFAYHKoZIzj0CAQYJKyQDAwIIAQECAyoABEtd7DRUMYXeoxhxpWgPz/esQkXtoTAAune8CAAo +HqNNlR11VDctfkw= +-----END PUBLIC KEY----- + +PrivPubKeyPair=BOB_cf_brainpoolP160t1:BOB_cf_brainpoolP160t1_PUB + +# ECDH Alice with Bob peer +Derive=ALICE_cf_brainpoolP160t1 +PeerKey=BOB_cf_brainpoolP160t1_PUB +SharedSecret=6ea603a6a1a83812b967c83ef1867bd807be761e + +# ECDH Bob with Alice peer +Derive=BOB_cf_brainpoolP160t1 +PeerKey=ALICE_cf_brainpoolP160t1_PUB +SharedSecret=6ea603a6a1a83812b967c83ef1867bd807be761e + +# Title=brainpoolP192r1 curve tests + +PrivateKey=ALICE_cf_brainpoolP192r1 +-----BEGIN PRIVATE KEY----- +MDoCAQAwFAYHKoZIzj0CAQYJKyQDAwIIAQEDBB8wHQIBAQQYlF5JxzV9Doezn3hLoiidvy5TnIA7 +aR+j +-----END PRIVATE KEY----- + +PublicKey=ALICE_cf_brainpoolP192r1_PUB +-----BEGIN PUBLIC KEY----- +MEowFAYHKoZIzj0CAQYJKyQDAwIIAQEDAzIABELUMqBZrH66DIJ1a3a42k86THdH1DevigK0dc57 +8XEZ3HcuSQ+ycrMmit1PUQItbg== +-----END PUBLIC KEY----- + +PrivPubKeyPair=ALICE_cf_brainpoolP192r1:ALICE_cf_brainpoolP192r1_PUB + +PrivateKey=BOB_cf_brainpoolP192r1 +-----BEGIN PRIVATE KEY----- +MDoCAQAwFAYHKoZIzj0CAQYJKyQDAwIIAQEDBB8wHQIBAQQYjdu95CL1DQMGpsOmsfYOAjF5cW99 +bQie +-----END PRIVATE KEY----- + +PublicKey=BOB_cf_brainpoolP192r1_PUB +-----BEGIN PUBLIC KEY----- +MEowFAYHKoZIzj0CAQYJKyQDAwIIAQEDAzIABInqyC1mAfyF7LU5tX/dRF5S/S9uPlQjNAhTRP6/ +/kAbKsXmABQXFeM0+P3hMw4UxQ== +-----END PUBLIC KEY----- + +PrivPubKeyPair=BOB_cf_brainpoolP192r1:BOB_cf_brainpoolP192r1_PUB + +# ECDH Alice with Bob peer +Derive=ALICE_cf_brainpoolP192r1 +PeerKey=BOB_cf_brainpoolP192r1_PUB +SharedSecret=2b34396d02a40df0b9f8f9c0b8623be05b41249fbd69e02a + +# ECDH Bob with Alice peer +Derive=BOB_cf_brainpoolP192r1 +PeerKey=ALICE_cf_brainpoolP192r1_PUB +SharedSecret=2b34396d02a40df0b9f8f9c0b8623be05b41249fbd69e02a + +# Title=brainpoolP192t1 curve tests + +PrivateKey=ALICE_cf_brainpoolP192t1 +-----BEGIN PRIVATE KEY----- +MDoCAQAwFAYHKoZIzj0CAQYJKyQDAwIIAQEEBB8wHQIBAQQYKkFNgJ5sJKNIyYPK1h+gdPw04bxa +zIV7 +-----END PRIVATE KEY----- + +PublicKey=ALICE_cf_brainpoolP192t1_PUB +-----BEGIN PUBLIC KEY----- +MEowFAYHKoZIzj0CAQYJKyQDAwIIAQEEAzIABAzDb+niXBQFn9f0zXf8z+kfdBIYTws8FSfdWFdU +NGo4haY9+fL8D40kNNShgBnlKw== +-----END PUBLIC KEY----- + +PrivPubKeyPair=ALICE_cf_brainpoolP192t1:ALICE_cf_brainpoolP192t1_PUB + +PrivateKey=BOB_cf_brainpoolP192t1 +-----BEGIN PRIVATE KEY----- +MDoCAQAwFAYHKoZIzj0CAQYJKyQDAwIIAQEEBB8wHQIBAQQYFpxTrRJBEpyCePM20Fmw0uYPoxTm +T/sq +-----END PRIVATE KEY----- + +PublicKey=BOB_cf_brainpoolP192t1_PUB +-----BEGIN PUBLIC KEY----- +MEowFAYHKoZIzj0CAQYJKyQDAwIIAQEEAzIABC6CPE1t5PwHpXSS1u4R0JTs1IeDW8hiqarIn3pM +I9wh+oCRjVcqvB4WDaql1bHCYg== +-----END PUBLIC KEY----- + +PrivPubKeyPair=BOB_cf_brainpoolP192t1:BOB_cf_brainpoolP192t1_PUB + +# ECDH Alice with Bob peer +Derive=ALICE_cf_brainpoolP192t1 +PeerKey=BOB_cf_brainpoolP192t1_PUB +SharedSecret=84049068441a342d7c2951ff159cdc9d05c4bddf2a6e6309 + +# ECDH Bob with Alice peer +Derive=BOB_cf_brainpoolP192t1 +PeerKey=ALICE_cf_brainpoolP192t1_PUB +SharedSecret=84049068441a342d7c2951ff159cdc9d05c4bddf2a6e6309 + +# Title=brainpoolP224r1 curve tests + +PrivateKey=ALICE_cf_brainpoolP224r1 +-----BEGIN PRIVATE KEY----- +MD4CAQAwFAYHKoZIzj0CAQYJKyQDAwIIAQEFBCMwIQIBAQQcHhlSkNTFJbZSy79CADDwo855nH2+ +cWxwSl6BpQ== +-----END PRIVATE KEY----- + +PublicKey=ALICE_cf_brainpoolP224r1_PUB +-----BEGIN PUBLIC KEY----- +MFIwFAYHKoZIzj0CAQYJKyQDAwIIAQEFAzoABBF4+KObaB0yJTPHPrCN6EOnr5M8zKb5CHa7SSyL +4L9nRjgA8TfoU03LQsrtE9beREkxK3EHc25Z +-----END PUBLIC KEY----- + +PrivPubKeyPair=ALICE_cf_brainpoolP224r1:ALICE_cf_brainpoolP224r1_PUB + +PrivateKey=BOB_cf_brainpoolP224r1 +-----BEGIN PRIVATE KEY----- +MD4CAQAwFAYHKoZIzj0CAQYJKyQDAwIIAQEFBCMwIQIBAQQczslMgGENRTriMWvDfGrM/ilLpzy0 +Js79UiVzLA== +-----END PRIVATE KEY----- + +PublicKey=BOB_cf_brainpoolP224r1_PUB +-----BEGIN PUBLIC KEY----- +MFIwFAYHKoZIzj0CAQYJKyQDAwIIAQEFAzoABIGGu4+PPMwOihplm2tLO7dLcDqXZB1MQHloOU8a +taeDvYHIck4z08+1DATvPqpIDzyn9WtXRqmG +-----END PUBLIC KEY----- + +PrivPubKeyPair=BOB_cf_brainpoolP224r1:BOB_cf_brainpoolP224r1_PUB + +# ECDH Alice with Bob peer +Derive=ALICE_cf_brainpoolP224r1 +PeerKey=BOB_cf_brainpoolP224r1_PUB +SharedSecret=477240c0587dea6aecfcac5a154d7ba3a5d4eb1ab30a69012d4401de + +# ECDH Bob with Alice peer +Derive=BOB_cf_brainpoolP224r1 +PeerKey=ALICE_cf_brainpoolP224r1_PUB +SharedSecret=477240c0587dea6aecfcac5a154d7ba3a5d4eb1ab30a69012d4401de + +# Title=brainpoolP224t1 curve tests + +PrivateKey=ALICE_cf_brainpoolP224t1 +-----BEGIN PRIVATE KEY----- +MD4CAQAwFAYHKoZIzj0CAQYJKyQDAwIIAQEGBCMwIQIBAQQca9rhmcgHV6etILVB9ccK2jIFXw4N +YrvlljcGFw== +-----END PRIVATE KEY----- + +PublicKey=ALICE_cf_brainpoolP224t1_PUB +-----BEGIN PUBLIC KEY----- +MFIwFAYHKoZIzj0CAQYJKyQDAwIIAQEGAzoABHA9XoULjM967710RPgT1ICW0b+y9pFpm2yCUq2m +kSiy/JZvuWXhTJ+KmXGnAOTIlyiOUG8tZm39 +-----END PUBLIC KEY----- + +PrivPubKeyPair=ALICE_cf_brainpoolP224t1:ALICE_cf_brainpoolP224t1_PUB + +PrivateKey=BOB_cf_brainpoolP224t1 +-----BEGIN PRIVATE KEY----- +MD4CAQAwFAYHKoZIzj0CAQYJKyQDAwIIAQEGBCMwIQIBAQQcFaiqaheY0xBo5lUY8hOXMUICdOAu +NWP/Uw3l+Q== +-----END PRIVATE KEY----- + +PublicKey=BOB_cf_brainpoolP224t1_PUB +-----BEGIN PUBLIC KEY----- +MFIwFAYHKoZIzj0CAQYJKyQDAwIIAQEGAzoABLvPkrvyCeS/QdTX5D/AFfF0lTuPpXhSRPKocViS +nUIZAEziCuOsgx+BqAOxNg+CN/tNzHsG1srf +-----END PUBLIC KEY----- + +PrivPubKeyPair=BOB_cf_brainpoolP224t1:BOB_cf_brainpoolP224t1_PUB + +# ECDH Alice with Bob peer +Derive=ALICE_cf_brainpoolP224t1 +PeerKey=BOB_cf_brainpoolP224t1_PUB +SharedSecret=2c8dd0dbf3a62a202150e12443461d348be57bc58db0f2f7d8938933 + +# ECDH Bob with Alice peer +Derive=BOB_cf_brainpoolP224t1 +PeerKey=ALICE_cf_brainpoolP224t1_PUB +SharedSecret=2c8dd0dbf3a62a202150e12443461d348be57bc58db0f2f7d8938933 + +# Title=brainpoolP256r1 curve tests + +PrivateKey=ALICE_cf_brainpoolP256r1 +-----BEGIN PRIVATE KEY----- +MEICAQAwFAYHKoZIzj0CAQYJKyQDAwIIAQEHBCcwJQIBAQQgcH7I5THTXm+bu+vwtyNt+XBxk/uJ +R5V/zzRyMoXjuek= +-----END PRIVATE KEY----- + +PublicKey=ALICE_cf_brainpoolP256r1_PUB +-----BEGIN PUBLIC KEY----- +MFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABDFYVAzLX03nHXeFY7aJspsp525bbgzfnT68kJXB +HhChZmPaa5BAV5Cn4DXJ5HQ5N/V8Z8Dz0aux0SWtl6ctENM= +-----END PUBLIC KEY----- + +PrivPubKeyPair=ALICE_cf_brainpoolP256r1:ALICE_cf_brainpoolP256r1_PUB + +PrivateKey=BOB_cf_brainpoolP256r1 +-----BEGIN PRIVATE KEY----- +MEICAQAwFAYHKoZIzj0CAQYJKyQDAwIIAQEHBCcwJQIBAQQgDEj/wLk/4z4Wcv8rOc9lNnRQ6hpr +XfiuUSRqgedZkRU= +-----END PRIVATE KEY----- + +PublicKey=BOB_cf_brainpoolP256r1_PUB +-----BEGIN PUBLIC KEY----- +MFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABHJdRWXtaxwI0AdvDXEk+a6XuQp72Zi+wxCrxFFW +NgJbmH0yr4jDklp4oiC2UHkapvT6XanGMKFo2ZSziltas0A= +-----END PUBLIC KEY----- + +PrivPubKeyPair=BOB_cf_brainpoolP256r1:BOB_cf_brainpoolP256r1_PUB + +# ECDH Alice with Bob peer +Derive=ALICE_cf_brainpoolP256r1 +PeerKey=BOB_cf_brainpoolP256r1_PUB +SharedSecret=2fdd9d97efdcba3f5b181df53331db0ee42a3b1072147325ce8521dbaeafc3e4 + +# ECDH Bob with Alice peer +Derive=BOB_cf_brainpoolP256r1 +PeerKey=ALICE_cf_brainpoolP256r1_PUB +SharedSecret=2fdd9d97efdcba3f5b181df53331db0ee42a3b1072147325ce8521dbaeafc3e4 + +# Title=brainpoolP256t1 curve tests + +PrivateKey=ALICE_cf_brainpoolP256t1 +-----BEGIN PRIVATE KEY----- +MEICAQAwFAYHKoZIzj0CAQYJKyQDAwIIAQEIBCcwJQIBAQQgBDlYKiUEsm+tEN/DDQBhlWKJhF4J +We+4fqVSaPNT3VY= +-----END PRIVATE KEY----- + +PublicKey=ALICE_cf_brainpoolP256t1_PUB +-----BEGIN PUBLIC KEY----- +MFowFAYHKoZIzj0CAQYJKyQDAwIIAQEIA0IABE6XKfvmlGKrXKN/FHhW9cMThPFUIq6Au3cCujPI +rHejQQJnsz9mSRBtzRkMM1abUc4Mf9xhkWbrT+QuJ3FcLWI= +-----END PUBLIC KEY----- + +PrivPubKeyPair=ALICE_cf_brainpoolP256t1:ALICE_cf_brainpoolP256t1_PUB + +PrivateKey=BOB_cf_brainpoolP256t1 +-----BEGIN PRIVATE KEY----- +MEICAQAwFAYHKoZIzj0CAQYJKyQDAwIIAQEIBCcwJQIBAQQgDUCTqTrVwouIU3hFoO3hwiME17PF +X7ntzOWKS2ebqGs= +-----END PRIVATE KEY----- + +PublicKey=BOB_cf_brainpoolP256t1_PUB +-----BEGIN PUBLIC KEY----- +MFowFAYHKoZIzj0CAQYJKyQDAwIIAQEIA0IABBwxGpomQmgqgsUYHmpYt3qGKRVT/pJfyU+lpLXi +/XAibEp/IvX3oFMEolSoy39poO6Zkq6npAniBqer+bS9Jpw= +-----END PUBLIC KEY----- + +PrivPubKeyPair=BOB_cf_brainpoolP256t1:BOB_cf_brainpoolP256t1_PUB + +# ECDH Alice with Bob peer +Derive=ALICE_cf_brainpoolP256t1 +PeerKey=BOB_cf_brainpoolP256t1_PUB +SharedSecret=7f177af329a4b377aea6e80bddf14f09c17c4fe81598703898fb62c929cbff04 + +# ECDH Bob with Alice peer +Derive=BOB_cf_brainpoolP256t1 +PeerKey=ALICE_cf_brainpoolP256t1_PUB +SharedSecret=7f177af329a4b377aea6e80bddf14f09c17c4fe81598703898fb62c929cbff04 + +# Title=brainpoolP320r1 curve tests + +PrivateKey=ALICE_cf_brainpoolP320r1 +-----BEGIN PRIVATE KEY----- +MEoCAQAwFAYHKoZIzj0CAQYJKyQDAwIIAQEJBC8wLQIBAQQophG1zB+U2lRdetiZlk9C4+q7APJ9 +xqGQ0+GPq68+WmyZon1lDRQ5/g== +-----END PRIVATE KEY----- + +PublicKey=ALICE_cf_brainpoolP320r1_PUB +-----BEGIN PUBLIC KEY----- +MGowFAYHKoZIzj0CAQYJKyQDAwIIAQEJA1IABM9TaT9Q2j+VTlQ1pfcXx9SjlU1fEk0RvEbaY1O8 +pq8OgkQeulcgSXiI1rJI0wjV/qJoi0coZUHhsJ7bXmdO8vSTdgCMbavZScCkN6iFsALm +-----END PUBLIC KEY----- + +PrivPubKeyPair=ALICE_cf_brainpoolP320r1:ALICE_cf_brainpoolP320r1_PUB + +PrivateKey=BOB_cf_brainpoolP320r1 +-----BEGIN PRIVATE KEY----- +MEoCAQAwFAYHKoZIzj0CAQYJKyQDAwIIAQEJBC8wLQIBAQQoO6MtFhs8dwul0iRbyfssxtFF6Ubt +q2oHlzvkFL5q4uLSY7pRcDz4vw== +-----END PRIVATE KEY----- + +PublicKey=BOB_cf_brainpoolP320r1_PUB +-----BEGIN PUBLIC KEY----- +MGowFAYHKoZIzj0CAQYJKyQDAwIIAQEJA1IABM50yDpoBMhirlHQqjMmVj/KZR0dfvmudoDt02qY +3lKei94evfTHmPG/9BjMYQGQcRM4CDGHR0iUIUJa99e/rxj9IguPkkNiAmDZQaKsqmKB +-----END PUBLIC KEY----- + +PrivPubKeyPair=BOB_cf_brainpoolP320r1:BOB_cf_brainpoolP320r1_PUB + +# ECDH Alice with Bob peer +Derive=ALICE_cf_brainpoolP320r1 +PeerKey=BOB_cf_brainpoolP320r1_PUB +SharedSecret=4ee386c231d0a7c9bb6dc05362f56ca70bf7ba5dcb66d8c4574c0497fdab6a5b79818a64ff5dc87e + +# ECDH Bob with Alice peer +Derive=BOB_cf_brainpoolP320r1 +PeerKey=ALICE_cf_brainpoolP320r1_PUB +SharedSecret=4ee386c231d0a7c9bb6dc05362f56ca70bf7ba5dcb66d8c4574c0497fdab6a5b79818a64ff5dc87e + +# Title=brainpoolP320t1 curve tests + +PrivateKey=ALICE_cf_brainpoolP320t1 +-----BEGIN PRIVATE KEY----- +MEoCAQAwFAYHKoZIzj0CAQYJKyQDAwIIAQEKBC8wLQIBAQQoMsI2lsl5Sj0I4A3J0I5XStMSLT4P +hMxwrbFdtKQh+At6RN2s12W4Kg== +-----END PRIVATE KEY----- + +PublicKey=ALICE_cf_brainpoolP320t1_PUB +-----BEGIN PUBLIC KEY----- +MGowFAYHKoZIzj0CAQYJKyQDAwIIAQEKA1IABAvtZgehjOIdjsYKMcK08LaS8zVb6znYb6Qa9Fzf +LhLUSH5S728KJHWXMh7RqZMI3yTC5I0ESqB0CvG5N0hR+3y8L3eQJisCNdnzAgMyy0ab +-----END PUBLIC KEY----- + +PrivPubKeyPair=ALICE_cf_brainpoolP320t1:ALICE_cf_brainpoolP320t1_PUB + +PrivateKey=BOB_cf_brainpoolP320t1 +-----BEGIN PRIVATE KEY----- +MEoCAQAwFAYHKoZIzj0CAQYJKyQDAwIIAQEKBC8wLQIBAQQoNtZiGbwSl0NNHBmTaJKf7/VMqZjo +yWavjg6CPa6ZgpKRR7vIQt5d9Q== +-----END PRIVATE KEY----- + +PublicKey=BOB_cf_brainpoolP320t1_PUB +-----BEGIN PUBLIC KEY----- +MGowFAYHKoZIzj0CAQYJKyQDAwIIAQEKA1IABHlS/OtqhHctabDCsDexScvQ2DGXhBuypaEeKOUq +vbLUovatBoreEj1j5YrOl9mKpd9Hj6YqYGWH+7KKjua+5DBn9rlxlmmkst+gb+vm3UE/ +-----END PUBLIC KEY----- + +PrivPubKeyPair=BOB_cf_brainpoolP320t1:BOB_cf_brainpoolP320t1_PUB + +# ECDH Alice with Bob peer +Derive=ALICE_cf_brainpoolP320t1 +PeerKey=BOB_cf_brainpoolP320t1_PUB +SharedSecret=079d62bad81ceeab9f213818faf249f7b29b87a81b56a33b774b2631860f90a25f5377da504cb619 + +# ECDH Bob with Alice peer +Derive=BOB_cf_brainpoolP320t1 +PeerKey=ALICE_cf_brainpoolP320t1_PUB +SharedSecret=079d62bad81ceeab9f213818faf249f7b29b87a81b56a33b774b2631860f90a25f5377da504cb619 + +# Title=brainpoolP384r1 curve tests + +PrivateKey=ALICE_cf_brainpoolP384r1 +-----BEGIN PRIVATE KEY----- +MFICAQAwFAYHKoZIzj0CAQYJKyQDAwIIAQELBDcwNQIBAQQwUW3EKrK8Rr80Jn5wwvTLC+HDTApA +ndycbRYiQkew7SgijhNO+cV0pE0sNpMZY+Wo +-----END PRIVATE KEY----- + +PublicKey=ALICE_cf_brainpoolP384r1_PUB +-----BEGIN PUBLIC KEY----- +MHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABBvE/fg0tIrsrIiAL07MlREd5zYk52mW7oQ+jPky +PmGeUoZq1LtpEzQCE1uuruOuyQH1M2c7flVA8Gh3IbSCupwVBCR2QObolwk1w5qK/l/KR26tMeXI +qL2Sy85NCUpMDw== +-----END PUBLIC KEY----- + +PrivPubKeyPair=ALICE_cf_brainpoolP384r1:ALICE_cf_brainpoolP384r1_PUB + +PrivateKey=BOB_cf_brainpoolP384r1 +-----BEGIN PRIVATE KEY----- +MFICAQAwFAYHKoZIzj0CAQYJKyQDAwIIAQELBDcwNQIBAQQwdG7bSygpM2GpxDPAb4hOTtFZrP2n +qbyf7v3jFe8/ERpzREPcSntkNDyu/iAsmQKj +-----END PRIVATE KEY----- + +PublicKey=BOB_cf_brainpoolP384r1_PUB +-----BEGIN PUBLIC KEY----- +MHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABIIxQfeqZ+uWNKAwZtxAt4ieZW7lCg7Bezpn1dG/ +VDvy/Dd5YpAuDtVxFCLfCUVH+gXfC2wUpWj8j8lgPhP1wBat/hu/PN/AQPg9C/J2EcQRVQXwyZvQ +PzgiZeo1aWw2+w== +-----END PUBLIC KEY----- + +PrivPubKeyPair=BOB_cf_brainpoolP384r1:BOB_cf_brainpoolP384r1_PUB + +# ECDH Alice with Bob peer +Derive=ALICE_cf_brainpoolP384r1 +PeerKey=BOB_cf_brainpoolP384r1_PUB +SharedSecret=35e9a3f86a38888d183cc343801dcdaecb664d5b37f7fbc0459fd4612da6b29831bd2d8e5b599376ca510fcc3ac78be6 + +# ECDH Bob with Alice peer +Derive=BOB_cf_brainpoolP384r1 +PeerKey=ALICE_cf_brainpoolP384r1_PUB +SharedSecret=35e9a3f86a38888d183cc343801dcdaecb664d5b37f7fbc0459fd4612da6b29831bd2d8e5b599376ca510fcc3ac78be6 + +# Title=brainpoolP384t1 curve tests + +PrivateKey=ALICE_cf_brainpoolP384t1 +-----BEGIN PRIVATE KEY----- +MFICAQAwFAYHKoZIzj0CAQYJKyQDAwIIAQEMBDcwNQIBAQQwGyCfuKlQDK4EflGVc01hBKW+OB/L +ojNz6kgnAWMuWoCyOM8SOkSTbOCimaVqZrlq +-----END PRIVATE KEY----- + +PublicKey=ALICE_cf_brainpoolP384t1_PUB +-----BEGIN PUBLIC KEY----- +MHowFAYHKoZIzj0CAQYJKyQDAwIIAQEMA2IABE1O0qNzgozAxaQC7qX2wS+HNfKIAMc7eX4G4Z0w +M30kgGyCn4CtWCBFgG15laf6OnYcdJgC8284B2smZiqHuvssw12SZwOlaXoLGyIsqygTitCO3Ebd +k2dmuYdWzxj5/g== +-----END PUBLIC KEY----- + +PrivPubKeyPair=ALICE_cf_brainpoolP384t1:ALICE_cf_brainpoolP384t1_PUB + +PrivateKey=BOB_cf_brainpoolP384t1 +-----BEGIN PRIVATE KEY----- +MFICAQAwFAYHKoZIzj0CAQYJKyQDAwIIAQEMBDcwNQIBAQQwbpabbL6g9HZUZ4VusnNGHsHujUsA +cDuviAZTBaHWJsCd5jA64hVFZXlZ9Jj/nSLs +-----END PRIVATE KEY----- + +PublicKey=BOB_cf_brainpoolP384t1_PUB +-----BEGIN PUBLIC KEY----- +MHowFAYHKoZIzj0CAQYJKyQDAwIIAQEMA2IABAyawWqAcNlcwOauu2b93XXqpZQeRM26AYcDcHIf +tZahQrwFpLgt6Tn7tzA2CgRGvSvBGZTxkzuHasxJn+dBDGLraias3U/sLD3P4TQuP9v8cO6i7g4x +T+DZbNUQQ3ePDQ== +-----END PUBLIC KEY----- + +PrivPubKeyPair=BOB_cf_brainpoolP384t1:BOB_cf_brainpoolP384t1_PUB + +# ECDH Alice with Bob peer +Derive=ALICE_cf_brainpoolP384t1 +PeerKey=BOB_cf_brainpoolP384t1_PUB +SharedSecret=030113dd1662230f1e47418c3044a0852dcd74fa508dbabb02d1fe5d788aa49d8047d02a802f796af21473ab17f6f85f + +# ECDH Bob with Alice peer +Derive=BOB_cf_brainpoolP384t1 +PeerKey=ALICE_cf_brainpoolP384t1_PUB +SharedSecret=030113dd1662230f1e47418c3044a0852dcd74fa508dbabb02d1fe5d788aa49d8047d02a802f796af21473ab17f6f85f + +# Title=brainpoolP512r1 curve tests + +PrivateKey=ALICE_cf_brainpoolP512r1 +-----BEGIN PRIVATE KEY----- +MGICAQAwFAYHKoZIzj0CAQYJKyQDAwIIAQENBEcwRQIBAQRAagAsEAU5t/T4yI0MvyTWuPcrQfaa +1xZr99hRfeY7+pDV4yooxTIXUESqk/dBQlFSrVUkdvMQHq/8vm5V/w97LQ== +-----END PRIVATE KEY----- + +PublicKey=ALICE_cf_brainpoolP512r1_PUB +-----BEGIN PUBLIC KEY----- +MIGbMBQGByqGSM49AgEGCSskAwMCCAEBDQOBggAEJLmN88iMClNBtyLHzmSgIE9d+v/GRtBr1+r+ +Wvz5XOwsiHWWFTRO5Um+3HUVZH+S3nky6n/3Yjn4DFA4lhxV+y40g8p+kkXYKwpXTByQhERcPPPS +wKh/S7Y3k3KSLkphjiBExzlBcj9r3gLww9+0nVer/fnUgRz7YwWldv4PR2E= +-----END PUBLIC KEY----- + +PrivPubKeyPair=ALICE_cf_brainpoolP512r1:ALICE_cf_brainpoolP512r1_PUB + +PrivateKey=BOB_cf_brainpoolP512r1 +-----BEGIN PRIVATE KEY----- +MGICAQAwFAYHKoZIzj0CAQYJKyQDAwIIAQENBEcwRQIBAQRAgHKjBCUMVJTF41vKv+Lp2xVz6bsF +P1Aqc+2ehlxlEoYL4H8CbUBh89F1QPjGjIOLEebJcN/KnnpyRGVdx4UV2g== +-----END PRIVATE KEY----- + +PublicKey=BOB_cf_brainpoolP512r1_PUB +-----BEGIN PUBLIC KEY----- +MIGbMBQGByqGSM49AgEGCSskAwMCCAEBDQOBggAElWuk6uPxVgBSLSK9Zfqbid/ipXbIFKVaetCI +YsYOdzkbjGIWLd2MFZIjZ9r7ePEcHXqQiwGvW+8itGM/xwLpA4qZ2QYazqtAbT187d5cdyZf4PQT +/kv/ZTvXTl7xHDtaujQ1re00Z3liEKgKstI80BkA6eA4Jfy4G2F7CX/WuSQ= +-----END PUBLIC KEY----- + +PrivPubKeyPair=BOB_cf_brainpoolP512r1:BOB_cf_brainpoolP512r1_PUB + +# ECDH Alice with Bob peer +Derive=ALICE_cf_brainpoolP512r1 +PeerKey=BOB_cf_brainpoolP512r1_PUB +SharedSecret=84269a8f2932b7e09b23deabaeab26eda6bbdee8846153b0c62b7d2663506a9e71d32cf0cc127ec130f6880612f4e054bc79adb57ddbee97949508ce1eda0bb1 + +# ECDH Bob with Alice peer +Derive=BOB_cf_brainpoolP512r1 +PeerKey=ALICE_cf_brainpoolP512r1_PUB +SharedSecret=84269a8f2932b7e09b23deabaeab26eda6bbdee8846153b0c62b7d2663506a9e71d32cf0cc127ec130f6880612f4e054bc79adb57ddbee97949508ce1eda0bb1 + +# Title=brainpoolP512t1 curve tests + +PrivateKey=ALICE_cf_brainpoolP512t1 +-----BEGIN PRIVATE KEY----- +MGICAQAwFAYHKoZIzj0CAQYJKyQDAwIIAQEOBEcwRQIBAQRAd92o2JLX5lk2v6fGr1pH5TT8KUKR +6FaCm6CRk0dC/xK6h0rpONjx+37VuH3uS+HoRlru83maSoeHQneWCc32XA== +-----END PRIVATE KEY----- + +PublicKey=ALICE_cf_brainpoolP512t1_PUB +-----BEGIN PUBLIC KEY----- +MIGbMBQGByqGSM49AgEGCSskAwMCCAEBDgOBggAEob+TJkhNP6D+HoQtlWcLITI3MM25Axi++awv +HnMoclRLLur7CjQsKd0v6aEzmG2+4WZSZFGLA9L8Z5sh9L916p5CD5nk1pNfy5QKNi2H5R3QC/oc +RfNNxhXdVVekfTaAiqhe8UF3aMngmDAc7sq794DVZvCf1sqq8v5cHrnqRcQ= +-----END PUBLIC KEY----- + +PrivPubKeyPair=ALICE_cf_brainpoolP512t1:ALICE_cf_brainpoolP512t1_PUB + +PrivateKey=BOB_cf_brainpoolP512t1 +-----BEGIN PRIVATE KEY----- +MGICAQAwFAYHKoZIzj0CAQYJKyQDAwIIAQEOBEcwRQIBAQRAVW4ZQKgDeHAkubwYYlp2JKklrbpp +gvez/prOdyHJXJbVriU4lCH/MpH2I+nXjaZ9zLcl9JbnrUOJ6xGPHfZJrw== +-----END PRIVATE KEY----- + +PublicKey=BOB_cf_brainpoolP512t1_PUB +-----BEGIN PUBLIC KEY----- +MIGbMBQGByqGSM49AgEGCSskAwMCCAEBDgOBggAEJbQFKxq27CuY7/mgNwEnH3GSYGXy9s6n48qq +gbMrp5uREi8JXZ+BuLQmzZuF15ZPOOmh+EJFjbD8i9NDiUkYLnm1oy/EuE1f5VUNoXFeFFIa21vZ +2kzPYYKYyUNOdG8p/s4rPBFyCMf6Tizt0D4XA4oLptKUUIX2SC1Sd+qakKA= +-----END PUBLIC KEY----- + +PrivPubKeyPair=BOB_cf_brainpoolP512t1:BOB_cf_brainpoolP512t1_PUB + +# ECDH Alice with Bob peer +Derive=ALICE_cf_brainpoolP512t1 +PeerKey=BOB_cf_brainpoolP512t1_PUB +SharedSecret=48bc4ebdb9a88ca38bed58f5e547eb11d803fd01b6eadff1761ecb48c54525cba43bdb0ee4a4d7aa6701985e0bc12fd32382c035d80acc7ec26adfcb108a07cb + +# ECDH Bob with Alice peer +Derive=BOB_cf_brainpoolP512t1 +PeerKey=ALICE_cf_brainpoolP512t1_PUB +SharedSecret=48bc4ebdb9a88ca38bed58f5e547eb11d803fd01b6eadff1761ecb48c54525cba43bdb0ee4a4d7aa6701985e0bc12fd32382c035d80acc7ec26adfcb108a07cb + +# Title=c2pnb163v1 curve tests + +PrivateKey=ALICE_cf_c2pnb163v1 +-----BEGIN PRIVATE KEY----- +MDYCAQAwEwYHKoZIzj0CAQYIKoZIzj0DAAEEHDAaAgEBBBUD1JfG8cLNP9418YW+hVhriqH6O5Y= +-----END PRIVATE KEY----- + +PublicKey=ALICE_cf_c2pnb163v1_PUB +-----BEGIN PUBLIC KEY----- +MEMwEwYHKoZIzj0CAQYIKoZIzj0DAAEDLAAEBXgoOgVlWTLQnrQZXgQuSBcIS3bQAlXQ+yJhS03B +4G8rKQXbrc0mvWsF +-----END PUBLIC KEY----- + +PrivPubKeyPair=ALICE_cf_c2pnb163v1:ALICE_cf_c2pnb163v1_PUB + +PrivateKey=BOB_cf_c2pnb163v1 +-----BEGIN PRIVATE KEY----- +MDYCAQAwEwYHKoZIzj0CAQYIKoZIzj0DAAEEHDAaAgEBBBUAc3EaoMmMORTzQhMkhPIXY+/jUSI= +-----END PRIVATE KEY----- + +PublicKey=BOB_cf_c2pnb163v1_PUB +-----BEGIN PUBLIC KEY----- +MEMwEwYHKoZIzj0CAQYIKoZIzj0DAAEDLAAEBn9J0jo39aFVZqhBsAKZ6bViAu6zBC8WaFGExnpZ +KuBh8tP8VSTHPCHF +-----END PUBLIC KEY----- + +PrivPubKeyPair=BOB_cf_c2pnb163v1:BOB_cf_c2pnb163v1_PUB + +# ECDH Alice with Bob peer +Derive=ALICE_cf_c2pnb163v1 +PeerKey=BOB_cf_c2pnb163v1_PUB +SharedSecret=065dd38fb6de7f394778e1bf65d840a2c0e7219acd + +# ECDH Bob with Alice peer +Derive=BOB_cf_c2pnb163v1 +PeerKey=ALICE_cf_c2pnb163v1_PUB +SharedSecret=065dd38fb6de7f394778e1bf65d840a2c0e7219acd + +# ECC CDH Alice with Bob peer +Derive=ALICE_cf_c2pnb163v1 +PeerKey=BOB_cf_c2pnb163v1_PUB +Ctrl=ecdh_cofactor_mode:1 +SharedSecret=066fc46e8cc4327634dd127748020f2de6aab67585 + +# ECC CDH Bob with Alice peer +Derive=BOB_cf_c2pnb163v1 +PeerKey=ALICE_cf_c2pnb163v1_PUB +Ctrl=ecdh_cofactor_mode:1 +SharedSecret=066fc46e8cc4327634dd127748020f2de6aab67585 + +PublicKey=MALICE_cf_c2pnb163v1_PUB +-----BEGIN PUBLIC KEY----- +MEMwEwYHKoZIzj0CAQYIKoZIzj0DAAEDLAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC8JxepS05nN +/piKdhDD3dDKXUih +-----END PUBLIC KEY----- + +# ECC CDH Bob with Malice peer +Derive=BOB_cf_c2pnb163v1 +PeerKey=MALICE_cf_c2pnb163v1_PUB +Ctrl=ecdh_cofactor_mode:1 +Result=DERIVE_ERROR +Function=EC_POINT_get_affine_coordinates_GF2m +Reason=point at infinity + +# ECC CDH Alice with Malice peer +Derive=ALICE_cf_c2pnb163v1 +PeerKey=MALICE_cf_c2pnb163v1_PUB +Ctrl=ecdh_cofactor_mode:1 +Result=DERIVE_ERROR +Function=EC_POINT_get_affine_coordinates_GF2m +Reason=point at infinity + +# Title=c2pnb163v2 curve tests + +PrivateKey=ALICE_cf_c2pnb163v2 +-----BEGIN PRIVATE KEY----- +MDYCAQAwEwYHKoZIzj0CAQYIKoZIzj0DAAIEHDAaAgEBBBUA4KFv7c1dygtVbdp/g2z2TqLAHkI= +-----END PRIVATE KEY----- + +PublicKey=ALICE_cf_c2pnb163v2_PUB +-----BEGIN PUBLIC KEY----- +MEMwEwYHKoZIzj0CAQYIKoZIzj0DAAIDLAAEAVnlL7lMBaASwCIJaf9x2LgNPVmEAb43huHQlo3Q +4PzawHXQoYm/qgDd +-----END PUBLIC KEY----- + +PrivPubKeyPair=ALICE_cf_c2pnb163v2:ALICE_cf_c2pnb163v2_PUB + +PrivateKey=BOB_cf_c2pnb163v2 +-----BEGIN PRIVATE KEY----- +MDYCAQAwEwYHKoZIzj0CAQYIKoZIzj0DAAIEHDAaAgEBBBUCEdYqClRWIl2m+X34e+DB2iZSxmQ= +-----END PRIVATE KEY----- + +PublicKey=BOB_cf_c2pnb163v2_PUB +-----BEGIN PUBLIC KEY----- +MEMwEwYHKoZIzj0CAQYIKoZIzj0DAAIDLAAEAVWNIKn7/WMfzuNnd5ws9J0DI2CfBkEJizZHAFqy +kBF3juAQuARgxuT6 +-----END PUBLIC KEY----- + +PrivPubKeyPair=BOB_cf_c2pnb163v2:BOB_cf_c2pnb163v2_PUB + +# ECDH Alice with Bob peer +Derive=ALICE_cf_c2pnb163v2 +PeerKey=BOB_cf_c2pnb163v2_PUB +SharedSecret=0078ebb986d4f9b0aa0bc4af99e82c2bd24130f3f4 + +# ECDH Bob with Alice peer +Derive=BOB_cf_c2pnb163v2 +PeerKey=ALICE_cf_c2pnb163v2_PUB +SharedSecret=0078ebb986d4f9b0aa0bc4af99e82c2bd24130f3f4 + +# ECC CDH Alice with Bob peer +Derive=ALICE_cf_c2pnb163v2 +PeerKey=BOB_cf_c2pnb163v2_PUB +Ctrl=ecdh_cofactor_mode:1 +SharedSecret=069a80bcd45987fd1c874cd9dc5453207a09b61d41 + +# ECC CDH Bob with Alice peer +Derive=BOB_cf_c2pnb163v2 +PeerKey=ALICE_cf_c2pnb163v2_PUB +Ctrl=ecdh_cofactor_mode:1 +SharedSecret=069a80bcd45987fd1c874cd9dc5453207a09b61d41 + +PublicKey=MALICE_cf_c2pnb163v2_PUB +-----BEGIN PUBLIC KEY----- +MEMwEwYHKoZIzj0CAQYIKoZIzj0DAAIDLAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAABuVBl1V5uysY +n6HANPEoMoK+7Sv0 +-----END PUBLIC KEY----- + +# ECC CDH Bob with Malice peer +Derive=BOB_cf_c2pnb163v2 +PeerKey=MALICE_cf_c2pnb163v2_PUB +Ctrl=ecdh_cofactor_mode:1 +Result=DERIVE_ERROR +Function=EC_POINT_get_affine_coordinates_GF2m +Reason=point at infinity + +# ECC CDH Alice with Malice peer +Derive=ALICE_cf_c2pnb163v2 +PeerKey=MALICE_cf_c2pnb163v2_PUB +Ctrl=ecdh_cofactor_mode:1 +Result=DERIVE_ERROR +Function=EC_POINT_get_affine_coordinates_GF2m +Reason=point at infinity + +# Title=c2pnb163v3 curve tests + +PrivateKey=ALICE_cf_c2pnb163v3 +-----BEGIN PRIVATE KEY----- +MDYCAQAwEwYHKoZIzj0CAQYIKoZIzj0DAAMEHDAaAgEBBBUBItB0y/QeJ+cCh9yoHf0zqLVyMZc= +-----END PRIVATE KEY----- + +PublicKey=ALICE_cf_c2pnb163v3_PUB +-----BEGIN PUBLIC KEY----- +MEMwEwYHKoZIzj0CAQYIKoZIzj0DAAMDLAAEBx1HRyjuBMjt+vlbWaQbKOpNvWKFAslzEbPv6MpK +YnObLnq34LRuWznb +-----END PUBLIC KEY----- + +PrivPubKeyPair=ALICE_cf_c2pnb163v3:ALICE_cf_c2pnb163v3_PUB + +PrivateKey=BOB_cf_c2pnb163v3 +-----BEGIN PRIVATE KEY----- +MDYCAQAwEwYHKoZIzj0CAQYIKoZIzj0DAAMEHDAaAgEBBBUAXVHUHeP8Ioz7IqXOWbjaUXEHE5M= +-----END PRIVATE KEY----- + +PublicKey=BOB_cf_c2pnb163v3_PUB +-----BEGIN PUBLIC KEY----- +MEMwEwYHKoZIzj0CAQYIKoZIzj0DAAMDLAAEAqXF7rsAZ40Z1PT4TeeC45RKTxP4AJBAdfuknJ/J +DZnBLhxBwtqnfUpA +-----END PUBLIC KEY----- + +PrivPubKeyPair=BOB_cf_c2pnb163v3:BOB_cf_c2pnb163v3_PUB + +# ECDH Alice with Bob peer +Derive=ALICE_cf_c2pnb163v3 +PeerKey=BOB_cf_c2pnb163v3_PUB +SharedSecret=07fd2ffe9b18973c51caeadbc2154b97a9a0390be9 + +# ECDH Bob with Alice peer +Derive=BOB_cf_c2pnb163v3 +PeerKey=ALICE_cf_c2pnb163v3_PUB +SharedSecret=07fd2ffe9b18973c51caeadbc2154b97a9a0390be9 + +# ECC CDH Alice with Bob peer +Derive=ALICE_cf_c2pnb163v3 +PeerKey=BOB_cf_c2pnb163v3_PUB +Ctrl=ecdh_cofactor_mode:1 +SharedSecret=06f7daf1c963594e1a13f9f17b62aaab2934872c16 + +# ECC CDH Bob with Alice peer +Derive=BOB_cf_c2pnb163v3 +PeerKey=ALICE_cf_c2pnb163v3_PUB +Ctrl=ecdh_cofactor_mode:1 +SharedSecret=06f7daf1c963594e1a13f9f17b62aaab2934872c16 + +PublicKey=MALICE_cf_c2pnb163v3_PUB +-----BEGIN PUBLIC KEY----- +MEMwEwYHKoZIzj0CAQYIKoZIzj0DAAMDLAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAA7jRlUg9oaLK +LwAuHF8g5Y0JjJnI +-----END PUBLIC KEY----- + +# ECC CDH Bob with Malice peer +Derive=BOB_cf_c2pnb163v3 +PeerKey=MALICE_cf_c2pnb163v3_PUB +Ctrl=ecdh_cofactor_mode:1 +Result=DERIVE_ERROR +Function=EC_POINT_get_affine_coordinates_GF2m +Reason=point at infinity + +# ECC CDH Alice with Malice peer +Derive=ALICE_cf_c2pnb163v3 +PeerKey=MALICE_cf_c2pnb163v3_PUB +Ctrl=ecdh_cofactor_mode:1 +Result=DERIVE_ERROR +Function=EC_POINT_get_affine_coordinates_GF2m +Reason=point at infinity + +# Title=c2pnb176v1 curve tests + +PrivateKey=ALICE_cf_c2pnb176v1 +-----BEGIN PRIVATE KEY----- +MDYCAQAwEwYHKoZIzj0CAQYIKoZIzj0DAAQEHDAaAgEBBBUAaZ1jV1jM9meV5iiNGPU/WMSfWOM= +-----END PRIVATE KEY----- + +PublicKey=ALICE_cf_c2pnb176v1_PUB +-----BEGIN PUBLIC KEY----- +MEUwEwYHKoZIzj0CAQYIKoZIzj0DAAQDLgAEPjME7IV6Tuz2P++wIT60hRxTkk0M0PNgvqYcUoCI +iw3girDLhNzOu3IQ8Ac= +-----END PUBLIC KEY----- + +PrivPubKeyPair=ALICE_cf_c2pnb176v1:ALICE_cf_c2pnb176v1_PUB + +PrivateKey=BOB_cf_c2pnb176v1 +-----BEGIN PRIVATE KEY----- +MDYCAQAwEwYHKoZIzj0CAQYIKoZIzj0DAAQEHDAaAgEBBBUAreyYbcF+ONIf64KmeSzV82OI/50= +-----END PRIVATE KEY----- + +PublicKey=BOB_cf_c2pnb176v1_PUB +-----BEGIN PUBLIC KEY----- +MEUwEwYHKoZIzj0CAQYIKoZIzj0DAAQDLgAEpJn1IDmFj5LceLGfY2wlhI1VHq5vJ+qNIAOXVZhX +uMtp6pzy63rCEK53bgs= +-----END PUBLIC KEY----- + +PrivPubKeyPair=BOB_cf_c2pnb176v1:BOB_cf_c2pnb176v1_PUB + +# ECDH Alice with Bob peer +Derive=ALICE_cf_c2pnb176v1 +PeerKey=BOB_cf_c2pnb176v1_PUB +SharedSecret=3a8021848ee0b2c1c377404267a515225781c181e6ab + +# ECDH Bob with Alice peer +Derive=BOB_cf_c2pnb176v1 +PeerKey=ALICE_cf_c2pnb176v1_PUB +SharedSecret=3a8021848ee0b2c1c377404267a515225781c181e6ab + +# ECC CDH Alice with Bob peer +Derive=ALICE_cf_c2pnb176v1 +PeerKey=BOB_cf_c2pnb176v1_PUB +Ctrl=ecdh_cofactor_mode:1 +SharedSecret=b06cdc633b56e813d63326c69d2cfa335352279540ac + +# ECC CDH Bob with Alice peer +Derive=BOB_cf_c2pnb176v1 +PeerKey=ALICE_cf_c2pnb176v1_PUB +Ctrl=ecdh_cofactor_mode:1 +SharedSecret=b06cdc633b56e813d63326c69d2cfa335352279540ac + +PublicKey=MALICE_cf_c2pnb176v1_PUB +-----BEGIN PUBLIC KEY----- +MEUwEwYHKoZIzj0CAQYIKoZIzj0DAAQDLgAE4ePri2opCoAUJIUQnaQlvDaxZd9bsdKnjWSvh+FL +zXV3l5j8K3pow+GJBE4= +-----END PUBLIC KEY----- + +# ECC CDH Bob with Malice peer +Derive=BOB_cf_c2pnb176v1 +PeerKey=MALICE_cf_c2pnb176v1_PUB +Ctrl=ecdh_cofactor_mode:1 +Result=DERIVE_ERROR +Function=EC_POINT_get_affine_coordinates_GF2m +Reason=point at infinity + +# ECC CDH Alice with Malice peer +Derive=ALICE_cf_c2pnb176v1 +PeerKey=MALICE_cf_c2pnb176v1_PUB +Ctrl=ecdh_cofactor_mode:1 +Result=DERIVE_ERROR +Function=EC_POINT_get_affine_coordinates_GF2m +Reason=point at infinity + +# Title=c2pnb208w1 curve tests + +PrivateKey=ALICE_cf_c2pnb208w1 +-----BEGIN PRIVATE KEY----- +MDoCAQAwEwYHKoZIzj0CAQYIKoZIzj0DAAoEIDAeAgEBBBkAiENroXMYNbK/7DQQwCpbXk00gnVd +XF2k +-----END PRIVATE KEY----- + +PublicKey=ALICE_cf_c2pnb208w1_PUB +-----BEGIN PUBLIC KEY----- +ME0wEwYHKoZIzj0CAQYIKoZIzj0DAAoDNgAEL+IHOL2IfeLRiE6Wqsc0Frqjq7t/JnBmhN1lMB9Y +Yj3+Btcne4CPWf8KvfGjAdMs6JKP4A== +-----END PUBLIC KEY----- + +PrivPubKeyPair=ALICE_cf_c2pnb208w1:ALICE_cf_c2pnb208w1_PUB + +PrivateKey=BOB_cf_c2pnb208w1 +-----BEGIN PRIVATE KEY----- +MDoCAQAwEwYHKoZIzj0CAQYIKoZIzj0DAAoEIDAeAgEBBBkAY1GZLynO/IDWwOOjEWUE7k+I/MkP +cJot +-----END PRIVATE KEY----- + +PublicKey=BOB_cf_c2pnb208w1_PUB +-----BEGIN PUBLIC KEY----- +ME0wEwYHKoZIzj0CAQYIKoZIzj0DAAoDNgAENBvdzCDOIvu9zo7reJq1ummhR+0jaDc+EoSlW984 +cl9FTi/JJznwC+RNgwVfJ1WKJun1YA== +-----END PUBLIC KEY----- + +PrivPubKeyPair=BOB_cf_c2pnb208w1:BOB_cf_c2pnb208w1_PUB + +# ECDH Alice with Bob peer +Derive=ALICE_cf_c2pnb208w1 +PeerKey=BOB_cf_c2pnb208w1_PUB +SharedSecret=ba32bf80c0f7ab53cb083f267a902a1ad6396eb283237fad91cd + +# ECDH Bob with Alice peer +Derive=BOB_cf_c2pnb208w1 +PeerKey=ALICE_cf_c2pnb208w1_PUB +SharedSecret=ba32bf80c0f7ab53cb083f267a902a1ad6396eb283237fad91cd + +# ECC CDH Alice with Bob peer +Derive=ALICE_cf_c2pnb208w1 +PeerKey=BOB_cf_c2pnb208w1_PUB +Ctrl=ecdh_cofactor_mode:1 +SharedSecret=f09f5fc8bf20677558bc65939bf1b7fbbbe2579702729304258b + +# ECC CDH Bob with Alice peer +Derive=BOB_cf_c2pnb208w1 +PeerKey=ALICE_cf_c2pnb208w1_PUB +Ctrl=ecdh_cofactor_mode:1 +SharedSecret=f09f5fc8bf20677558bc65939bf1b7fbbbe2579702729304258b + +PublicKey=MALICE_cf_c2pnb208w1_PUB +-----BEGIN PUBLIC KEY----- +ME0wEwYHKoZIzj0CAQYIKoZIzj0DAAoDNgAEfuWB9pBZQin+VnmqgYVpbUpKxSQsnXxNqiDtVwqJ +oPkHxRWnu5e7qI2idMcqaKDeeniUaA== +-----END PUBLIC KEY----- + +# ECC CDH Bob with Malice peer +Derive=BOB_cf_c2pnb208w1 +PeerKey=MALICE_cf_c2pnb208w1_PUB +Ctrl=ecdh_cofactor_mode:1 +Result=DERIVE_ERROR +Function=EC_POINT_get_affine_coordinates_GF2m +Reason=point at infinity + +# ECC CDH Alice with Malice peer +Derive=ALICE_cf_c2pnb208w1 +PeerKey=MALICE_cf_c2pnb208w1_PUB +Ctrl=ecdh_cofactor_mode:1 +Result=DERIVE_ERROR +Function=EC_POINT_get_affine_coordinates_GF2m +Reason=point at infinity + +# Title=c2pnb272w1 curve tests + +PrivateKey=ALICE_cf_c2pnb272w1 +-----BEGIN PRIVATE KEY----- +MEICAQAwEwYHKoZIzj0CAQYIKoZIzj0DABAEKDAmAgEBBCEA0SoHwKAgKb7WQ+s0w1iNBemDZ3+f +StHU67fpP7YoF8U= +-----END PRIVATE KEY----- + +PublicKey=ALICE_cf_c2pnb272w1_PUB +-----BEGIN PUBLIC KEY----- +MF0wEwYHKoZIzj0CAQYIKoZIzj0DABADRgAE0IH60bGi46FDzEprGZ8EBK5uMMcVke/txeBRNGHQ +DzG68r3EMLZkOfE1+g04MN7HgY7zt3jMYb8ImyLRmvqR2abjs6c= +-----END PUBLIC KEY----- + +PrivPubKeyPair=ALICE_cf_c2pnb272w1:ALICE_cf_c2pnb272w1_PUB + +PrivateKey=BOB_cf_c2pnb272w1 +-----BEGIN PRIVATE KEY----- +MEICAQAwEwYHKoZIzj0CAQYIKoZIzj0DABAEKDAmAgEBBCEAFqB5GbPJ4d+X7ye7m05l/OirDqfn +MOsOJ6xObBph3zQ= +-----END PRIVATE KEY----- + +PublicKey=BOB_cf_c2pnb272w1_PUB +-----BEGIN PUBLIC KEY----- +MF0wEwYHKoZIzj0CAQYIKoZIzj0DABADRgAEIeIkcMHAuOgvHt2Wp52vVe0DYPNnUX79t/mLSx03 +cUlDmcxL7vIXdx9hB4OmQBYbm+YLDNfTFGAIlDfr2tELpVVPWPo= +-----END PUBLIC KEY----- + +PrivPubKeyPair=BOB_cf_c2pnb272w1:BOB_cf_c2pnb272w1_PUB + +# ECDH Alice with Bob peer +Derive=ALICE_cf_c2pnb272w1 +PeerKey=BOB_cf_c2pnb272w1_PUB +SharedSecret=cfebd65006520a40f081d8940edf0ebb8e54491ba1499d9f3c63deecee84ddc07142 + +# ECDH Bob with Alice peer +Derive=BOB_cf_c2pnb272w1 +PeerKey=ALICE_cf_c2pnb272w1_PUB +SharedSecret=cfebd65006520a40f081d8940edf0ebb8e54491ba1499d9f3c63deecee84ddc07142 + +# ECC CDH Alice with Bob peer +Derive=ALICE_cf_c2pnb272w1 +PeerKey=BOB_cf_c2pnb272w1_PUB +Ctrl=ecdh_cofactor_mode:1 +SharedSecret=756fc20b27352ac74e5135359c63d375d2732c6d02f25cd526155bac0882a9211dd4 + +# ECC CDH Bob with Alice peer +Derive=BOB_cf_c2pnb272w1 +PeerKey=ALICE_cf_c2pnb272w1_PUB +Ctrl=ecdh_cofactor_mode:1 +SharedSecret=756fc20b27352ac74e5135359c63d375d2732c6d02f25cd526155bac0882a9211dd4 + +PublicKey=MALICE_cf_c2pnb272w1_PUB +-----BEGIN PUBLIC KEY----- +MF0wEwYHKoZIzj0CAQYIKoZIzj0DABADRgAEvID3AM7qzpKDnOLFY00+E7EKZz/vS/pXgsUA3bWN +oJF8ElXFXv59s/SykQBCTHPqzmUbVmrXmtD44Kt1wUBRJfuwxy4= +-----END PUBLIC KEY----- + +# ECC CDH Bob with Malice peer +Derive=BOB_cf_c2pnb272w1 +PeerKey=MALICE_cf_c2pnb272w1_PUB +Ctrl=ecdh_cofactor_mode:1 +Result=DERIVE_ERROR +Function=EC_POINT_get_affine_coordinates_GF2m +Reason=point at infinity + +# ECC CDH Alice with Malice peer +Derive=ALICE_cf_c2pnb272w1 +PeerKey=MALICE_cf_c2pnb272w1_PUB +Ctrl=ecdh_cofactor_mode:1 +Result=DERIVE_ERROR +Function=EC_POINT_get_affine_coordinates_GF2m +Reason=point at infinity + +# Title=c2pnb304w1 curve tests + +PrivateKey=ALICE_cf_c2pnb304w1 +-----BEGIN PRIVATE KEY----- +MEYCAQAwEwYHKoZIzj0CAQYIKoZIzj0DABEELDAqAgEBBCUAqJxh50ZIUXOJ1HE3cVkech9OTTPJ +8jy/v5cFcO0X6dykHgnZ +-----END PRIVATE KEY----- + +PublicKey=ALICE_cf_c2pnb304w1_PUB +-----BEGIN PUBLIC KEY----- +MGUwEwYHKoZIzj0CAQYIKoZIzj0DABEDTgAEvoaqRX6qiNQiFH1BhgLCPTpYszoRhmlLirkvlw/Q +iXBlfQ7U4g+iRR/kmu2RlwwOHgNNL+mWcvLkFfS8Kr4jzv1EY1Ecx96n21l0YQ== +-----END PUBLIC KEY----- + +PrivPubKeyPair=ALICE_cf_c2pnb304w1:ALICE_cf_c2pnb304w1_PUB + +PrivateKey=BOB_cf_c2pnb304w1 +-----BEGIN PRIVATE KEY----- +MEYCAQAwEwYHKoZIzj0CAQYIKoZIzj0DABEELDAqAgEBBCUAOScHepX+IwqC8TjyAJI1bkR3cYYt +X9BbqYM9GQfVNSLHntTg +-----END PRIVATE KEY----- + +PublicKey=BOB_cf_c2pnb304w1_PUB +-----BEGIN PUBLIC KEY----- +MGUwEwYHKoZIzj0CAQYIKoZIzj0DABEDTgAEYuAq/6Yw5HxMeMohlWmwl+ZK4ZQucfr1tWDKwhDb +kAOUO2P/Q/H+uelM3VVwxeu6A1kaX7K0UZpNa96NRBwI4aevc+vOxCgYkGt9BA== +-----END PUBLIC KEY----- + +PrivPubKeyPair=BOB_cf_c2pnb304w1:BOB_cf_c2pnb304w1_PUB + +# ECDH Alice with Bob peer +Derive=ALICE_cf_c2pnb304w1 +PeerKey=BOB_cf_c2pnb304w1_PUB +SharedSecret=bfddf9f923210e8231a702e3a1c987cf27661de1bc243c1890e437d67d9f49c6ccfadc035d9d + +# ECDH Bob with Alice peer +Derive=BOB_cf_c2pnb304w1 +PeerKey=ALICE_cf_c2pnb304w1_PUB +SharedSecret=bfddf9f923210e8231a702e3a1c987cf27661de1bc243c1890e437d67d9f49c6ccfadc035d9d + +# ECC CDH Alice with Bob peer +Derive=ALICE_cf_c2pnb304w1 +PeerKey=BOB_cf_c2pnb304w1_PUB +Ctrl=ecdh_cofactor_mode:1 +SharedSecret=0c7afb3143f93ef2166c05437a1757a62c916ff1751c6d456dd7f2356dcbc75df48015eb5ce8 + +# ECC CDH Bob with Alice peer +Derive=BOB_cf_c2pnb304w1 +PeerKey=ALICE_cf_c2pnb304w1_PUB +Ctrl=ecdh_cofactor_mode:1 +SharedSecret=0c7afb3143f93ef2166c05437a1757a62c916ff1751c6d456dd7f2356dcbc75df48015eb5ce8 + +PublicKey=MALICE_cf_c2pnb304w1_PUB +-----BEGIN PUBLIC KEY----- +MGUwEwYHKoZIzj0CAQYIKoZIzj0DABEDTgAEBZ5FuthQt0mxTJ8NQWN2J37kYT8ySD893IXEmXYP +fMTr+CSNkf/sfF/13GEdVGnHmBgCH61sPWG69RgzdjRPprZFZxXjubIWYkp0DQ== +-----END PUBLIC KEY----- + +# ECC CDH Bob with Malice peer +Derive=BOB_cf_c2pnb304w1 +PeerKey=MALICE_cf_c2pnb304w1_PUB +Ctrl=ecdh_cofactor_mode:1 +Result=DERIVE_ERROR +Function=EC_POINT_get_affine_coordinates_GF2m +Reason=point at infinity + +# ECC CDH Alice with Malice peer +Derive=ALICE_cf_c2pnb304w1 +PeerKey=MALICE_cf_c2pnb304w1_PUB +Ctrl=ecdh_cofactor_mode:1 +Result=DERIVE_ERROR +Function=EC_POINT_get_affine_coordinates_GF2m +Reason=point at infinity + +# Title=c2pnb368w1 curve tests + +PrivateKey=ALICE_cf_c2pnb368w1 +-----BEGIN PRIVATE KEY----- +ME4CAQAwEwYHKoZIzj0CAQYIKoZIzj0DABMENDAyAgEBBC0AXeSTXsHb2PEH12tZL8w2q6evA2mi +KfLLIa1c29BTmM//oWdKpqeuvwMIBto= +-----END PRIVATE KEY----- + +PublicKey=ALICE_cf_c2pnb368w1_PUB +-----BEGIN PUBLIC KEY----- +MHUwEwYHKoZIzj0CAQYIKoZIzj0DABMDXgAEmEBXcvMgnHwJW7wAKM4cqboco6zF01J9ntUwoACI +euvf3cpPXBvxUawJXfO9FwFRQabDRagGP99Walidd2JW8nWDWZgZMKj15Wh+4bp2dZHc2tPIIHHd +3makbwQ= +-----END PUBLIC KEY----- + +PrivPubKeyPair=ALICE_cf_c2pnb368w1:ALICE_cf_c2pnb368w1_PUB + +PrivateKey=BOB_cf_c2pnb368w1 +-----BEGIN PRIVATE KEY----- +ME4CAQAwEwYHKoZIzj0CAQYIKoZIzj0DABMENDAyAgEBBC0Aq1R9M/mCMbJMj6VBUpBkS4HXywEz +Qun6d6uXgyU4LZRszA7Dz9+eKbXEMsk= +-----END PRIVATE KEY----- + +PublicKey=BOB_cf_c2pnb368w1_PUB +-----BEGIN PUBLIC KEY----- +MHUwEwYHKoZIzj0CAQYIKoZIzj0DABMDXgAEJOSnsaXA9wb5p8CGLPvYI47Yf3IdZSbWQ3Sn6G2v +At+zYlpzGax1oJ1CW8fGA0Gu0RnvAfDeW9vgrtzshH1Vy/Ni6a7LPho99PtUP2nzUBnv+hfhFSra +gqfRaOs= +-----END PUBLIC KEY----- + +PrivPubKeyPair=BOB_cf_c2pnb368w1:BOB_cf_c2pnb368w1_PUB + +# ECDH Alice with Bob peer +Derive=ALICE_cf_c2pnb368w1 +PeerKey=BOB_cf_c2pnb368w1_PUB +SharedSecret=008d20ede3961be3b01051d6fdae63db43865664804d432293a2edb13dcc8be0fe5b0c655297a84b9067a29c2a6f + +# ECDH Bob with Alice peer +Derive=BOB_cf_c2pnb368w1 +PeerKey=ALICE_cf_c2pnb368w1_PUB +SharedSecret=008d20ede3961be3b01051d6fdae63db43865664804d432293a2edb13dcc8be0fe5b0c655297a84b9067a29c2a6f + +# ECC CDH Alice with Bob peer +Derive=ALICE_cf_c2pnb368w1 +PeerKey=BOB_cf_c2pnb368w1_PUB +Ctrl=ecdh_cofactor_mode:1 +SharedSecret=df32ddeeffa029aeadabad000a79c3154a0ddd0aeacf4e3de426f5c10096eff8912038c64d4c899131dcd4df2561 + +# ECC CDH Bob with Alice peer +Derive=BOB_cf_c2pnb368w1 +PeerKey=ALICE_cf_c2pnb368w1_PUB +Ctrl=ecdh_cofactor_mode:1 +SharedSecret=df32ddeeffa029aeadabad000a79c3154a0ddd0aeacf4e3de426f5c10096eff8912038c64d4c899131dcd4df2561 + +PublicKey=MALICE_cf_c2pnb368w1_PUB +-----BEGIN PUBLIC KEY----- +MHUwEwYHKoZIzj0CAQYIKoZIzj0DABMDXgAEWDn/U9rymClM/a0Q1mawHjQjvpxSehRWstSE+2Sd +ubcZowJ+rw5LsEZteQyeVrCpKYUiIBmIVuFb2LDjtNLIJD1lr8C+vdco24ciLS9RzF/Dc9X+tcIj +726e1BE= +-----END PUBLIC KEY----- + +# ECC CDH Bob with Malice peer +Derive=BOB_cf_c2pnb368w1 +PeerKey=MALICE_cf_c2pnb368w1_PUB +Ctrl=ecdh_cofactor_mode:1 +Result=DERIVE_ERROR +Function=EC_POINT_get_affine_coordinates_GF2m +Reason=point at infinity + +# ECC CDH Alice with Malice peer +Derive=ALICE_cf_c2pnb368w1 +PeerKey=MALICE_cf_c2pnb368w1_PUB +Ctrl=ecdh_cofactor_mode:1 +Result=DERIVE_ERROR +Function=EC_POINT_get_affine_coordinates_GF2m +Reason=point at infinity + +# Title=c2tnb191v1 curve tests + +PrivateKey=ALICE_cf_c2tnb191v1 +-----BEGIN PRIVATE KEY----- +MDkCAQAwEwYHKoZIzj0CAQYIKoZIzj0DAAUEHzAdAgEBBBgXyG7A4BvSmjKEl3aU+FQUt02p9U7x +Jk4= +-----END PRIVATE KEY----- + +PublicKey=ALICE_cf_c2tnb191v1_PUB +-----BEGIN PUBLIC KEY----- +MEkwEwYHKoZIzj0CAQYIKoZIzj0DAAUDMgAEG9iuZmnhz2H/YQKmVUaO//fm7hvV+CP5c2iszpR3 +7lRimqLWHPyvKgcP+PRCIUom +-----END PUBLIC KEY----- + +PrivPubKeyPair=ALICE_cf_c2tnb191v1:ALICE_cf_c2tnb191v1_PUB + +PrivateKey=BOB_cf_c2tnb191v1 +-----BEGIN PRIVATE KEY----- +MDkCAQAwEwYHKoZIzj0CAQYIKoZIzj0DAAUEHzAdAgEBBBg4+2hv9x9HxFy0c2c1XESDdgOamHu0 +MTU= +-----END PRIVATE KEY----- + +PublicKey=BOB_cf_c2tnb191v1_PUB +-----BEGIN PUBLIC KEY----- +MEkwEwYHKoZIzj0CAQYIKoZIzj0DAAUDMgAEdO/4ii8gi8eQfBrv3XmsOETwIfT8OIpBW/kUoHD+ +adqalcB6SIWOfoJReDLcpxAD +-----END PUBLIC KEY----- + +PrivPubKeyPair=BOB_cf_c2tnb191v1:BOB_cf_c2tnb191v1_PUB + +# ECDH Alice with Bob peer +Derive=ALICE_cf_c2tnb191v1 +PeerKey=BOB_cf_c2tnb191v1_PUB +SharedSecret=2ee8a85151c397600984285307c14f0ea0e4c2071d753a99 + +# ECDH Bob with Alice peer +Derive=BOB_cf_c2tnb191v1 +PeerKey=ALICE_cf_c2tnb191v1_PUB +SharedSecret=2ee8a85151c397600984285307c14f0ea0e4c2071d753a99 + +# ECC CDH Alice with Bob peer +Derive=ALICE_cf_c2tnb191v1 +PeerKey=BOB_cf_c2tnb191v1_PUB +Ctrl=ecdh_cofactor_mode:1 +SharedSecret=334051dfd62237e69e280ce2fab979bd77260f8dfe4df989 + +# ECC CDH Bob with Alice peer +Derive=BOB_cf_c2tnb191v1 +PeerKey=ALICE_cf_c2tnb191v1_PUB +Ctrl=ecdh_cofactor_mode:1 +SharedSecret=334051dfd62237e69e280ce2fab979bd77260f8dfe4df989 + +PublicKey=MALICE_cf_c2tnb191v1_PUB +-----BEGIN PUBLIC KEY----- +MEkwEwYHKoZIzj0CAQYIKoZIzj0DAAUDMgAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcPEwZ1wj +iNoFyzyANZl8IDB0fF1RmZD6 +-----END PUBLIC KEY----- + +# ECC CDH Bob with Malice peer +Derive=BOB_cf_c2tnb191v1 +PeerKey=MALICE_cf_c2tnb191v1_PUB +Ctrl=ecdh_cofactor_mode:1 +Result=DERIVE_ERROR +Function=EC_POINT_get_affine_coordinates_GF2m +Reason=point at infinity + +# ECC CDH Alice with Malice peer +Derive=ALICE_cf_c2tnb191v1 +PeerKey=MALICE_cf_c2tnb191v1_PUB +Ctrl=ecdh_cofactor_mode:1 +Result=DERIVE_ERROR +Function=EC_POINT_get_affine_coordinates_GF2m +Reason=point at infinity + +# Title=c2tnb191v2 curve tests + +PrivateKey=ALICE_cf_c2tnb191v2 +-----BEGIN PRIVATE KEY----- +MDkCAQAwEwYHKoZIzj0CAQYIKoZIzj0DAAYEHzAdAgEBBBgQZHIQIPrAsbJqq4ZX3JdMrZAkaIGP +jbo= +-----END PRIVATE KEY----- + +PublicKey=ALICE_cf_c2tnb191v2_PUB +-----BEGIN PUBLIC KEY----- +MEkwEwYHKoZIzj0CAQYIKoZIzj0DAAYDMgAEAyQdwZYRIiv7O4/WRLDKJ249TM8dr2Y+Oz8rSxCI +UVvJT/Jv9m462J6Iz1XOohhP +-----END PUBLIC KEY----- + +PrivPubKeyPair=ALICE_cf_c2tnb191v2:ALICE_cf_c2tnb191v2_PUB + +PrivateKey=BOB_cf_c2tnb191v2 +-----BEGIN PRIVATE KEY----- +MDkCAQAwEwYHKoZIzj0CAQYIKoZIzj0DAAYEHzAdAgEBBBgThhW6d5QDaqM8yhm16q6Pu/VFBpf7 +wcs= +-----END PRIVATE KEY----- + +PublicKey=BOB_cf_c2tnb191v2_PUB +-----BEGIN PUBLIC KEY----- +MEkwEwYHKoZIzj0CAQYIKoZIzj0DAAYDMgAEBVkB4O6fFvGzMHv4BF51muFA0npOGKoOdKbIIMQY +JBIoz1RNNXTcgdpguLcrvcPJ +-----END PUBLIC KEY----- + +PrivPubKeyPair=BOB_cf_c2tnb191v2:BOB_cf_c2tnb191v2_PUB + +# ECDH Alice with Bob peer +Derive=ALICE_cf_c2tnb191v2 +PeerKey=BOB_cf_c2tnb191v2_PUB +SharedSecret=711f90cb2aaea65e939065cbd1896affe1d490ba14571400 + +# ECDH Bob with Alice peer +Derive=BOB_cf_c2tnb191v2 +PeerKey=ALICE_cf_c2tnb191v2_PUB +SharedSecret=711f90cb2aaea65e939065cbd1896affe1d490ba14571400 + +# ECC CDH Alice with Bob peer +Derive=ALICE_cf_c2tnb191v2 +PeerKey=BOB_cf_c2tnb191v2_PUB +Ctrl=ecdh_cofactor_mode:1 +SharedSecret=1740db5b771fa2889d3ec7c1ba8eeffa7741f0ee62433dce + +# ECC CDH Bob with Alice peer +Derive=BOB_cf_c2tnb191v2 +PeerKey=ALICE_cf_c2tnb191v2_PUB +Ctrl=ecdh_cofactor_mode:1 +SharedSecret=1740db5b771fa2889d3ec7c1ba8eeffa7741f0ee62433dce + +PublicKey=MALICE_cf_c2tnb191v2_PUB +-----BEGIN PUBLIC KEY----- +MEkwEwYHKoZIzj0CAQYIKoZIzj0DAAYDMgAEA3yPV6Ilx7PU7dWIDzgKzFV07LNsn1EhMyLQaa5U +2vqunpWef+/CaO2pFBcwwW+x +-----END PUBLIC KEY----- + +# ECC CDH Bob with Malice peer +Derive=BOB_cf_c2tnb191v2 +PeerKey=MALICE_cf_c2tnb191v2_PUB +Ctrl=ecdh_cofactor_mode:1 +Result=DERIVE_ERROR +Function=EC_POINT_get_affine_coordinates_GF2m +Reason=point at infinity + +# ECC CDH Alice with Malice peer +Derive=ALICE_cf_c2tnb191v2 +PeerKey=MALICE_cf_c2tnb191v2_PUB +Ctrl=ecdh_cofactor_mode:1 +Result=DERIVE_ERROR +Function=EC_POINT_get_affine_coordinates_GF2m +Reason=point at infinity + +# Title=c2tnb191v3 curve tests + +PrivateKey=ALICE_cf_c2tnb191v3 +-----BEGIN PRIVATE KEY----- +MDkCAQAwEwYHKoZIzj0CAQYIKoZIzj0DAAcEHzAdAgEBBBgTPjf06B01Jq59qU1iczNuA29WfW+b +erU= +-----END PRIVATE KEY----- + +PublicKey=ALICE_cf_c2tnb191v3_PUB +-----BEGIN PUBLIC KEY----- +MEkwEwYHKoZIzj0CAQYIKoZIzj0DAAcDMgAEL4NGEUX2CXY18MyoH1inKq5kde9RGr25ODm/0BEX +HWsGvDE2HC+6pL2BMl3MRCty +-----END PUBLIC KEY----- + +PrivPubKeyPair=ALICE_cf_c2tnb191v3:ALICE_cf_c2tnb191v3_PUB + +PrivateKey=BOB_cf_c2tnb191v3 +-----BEGIN PRIVATE KEY----- +MDkCAQAwEwYHKoZIzj0CAQYIKoZIzj0DAAcEHzAdAgEBBBgUC2bC465JTXYLUaaET/r5n7X85gRH +iSQ= +-----END PRIVATE KEY----- + +PublicKey=BOB_cf_c2tnb191v3_PUB +-----BEGIN PUBLIC KEY----- +MEkwEwYHKoZIzj0CAQYIKoZIzj0DAAcDMgAEPKekNkT9mQ8KRCTR2RwCFkhNvsjL+/mLHYzbMrYe +QFIb5QwXAdbg2tEOl7yj9qkk +-----END PUBLIC KEY----- + +PrivPubKeyPair=BOB_cf_c2tnb191v3:BOB_cf_c2tnb191v3_PUB + +# ECDH Alice with Bob peer +Derive=ALICE_cf_c2tnb191v3 +PeerKey=BOB_cf_c2tnb191v3_PUB +SharedSecret=196200f7ea06c43c35516b995cf4a4dd4151dbd0ed998561 + +# ECDH Bob with Alice peer +Derive=BOB_cf_c2tnb191v3 +PeerKey=ALICE_cf_c2tnb191v3_PUB +SharedSecret=196200f7ea06c43c35516b995cf4a4dd4151dbd0ed998561 + +# ECC CDH Alice with Bob peer +Derive=ALICE_cf_c2tnb191v3 +PeerKey=BOB_cf_c2tnb191v3_PUB +Ctrl=ecdh_cofactor_mode:1 +SharedSecret=311939377670a8a1ed1ee17f9dd182167da00c5a19e2e109 + +# ECC CDH Bob with Alice peer +Derive=BOB_cf_c2tnb191v3 +PeerKey=ALICE_cf_c2tnb191v3_PUB +Ctrl=ecdh_cofactor_mode:1 +SharedSecret=311939377670a8a1ed1ee17f9dd182167da00c5a19e2e109 + +PublicKey=MALICE_cf_c2tnb191v3_PUB +-----BEGIN PUBLIC KEY----- +MEkwEwYHKoZIzj0CAQYIKoZIzj0DAAcDMgAESvPjWlLnANK2j38hHZ0uqueaniovkhwwdJZjrmUk +n5vQBTxUzkIkMjL33v6Lr3z7 +-----END PUBLIC KEY----- + +# ECC CDH Bob with Malice peer +Derive=BOB_cf_c2tnb191v3 +PeerKey=MALICE_cf_c2tnb191v3_PUB +Ctrl=ecdh_cofactor_mode:1 +Result=DERIVE_ERROR +Function=EC_POINT_get_affine_coordinates_GF2m +Reason=point at infinity + +# ECC CDH Alice with Malice peer +Derive=ALICE_cf_c2tnb191v3 +PeerKey=MALICE_cf_c2tnb191v3_PUB +Ctrl=ecdh_cofactor_mode:1 +Result=DERIVE_ERROR +Function=EC_POINT_get_affine_coordinates_GF2m +Reason=point at infinity + +# Title=c2tnb239v1 curve tests + +PrivateKey=ALICE_cf_c2tnb239v1 +-----BEGIN PRIVATE KEY----- +MD8CAQAwEwYHKoZIzj0CAQYIKoZIzj0DAAsEJTAjAgEBBB4fMJDhCEiuEf/RF6oGjHVcNwN+wCYG +rJMnJLIXiCI= +-----END PRIVATE KEY----- + +PublicKey=ALICE_cf_c2tnb239v1_PUB +-----BEGIN PUBLIC KEY----- +MFUwEwYHKoZIzj0CAQYIKoZIzj0DAAsDPgAEUgG/uMWy4k0R/kbVJEapF6r5ik4Q9WPsDXAd0856 +dVL8PvBXgixk2tKfyY1xUVebcEVlgdZP1pN1Xyvi +-----END PUBLIC KEY----- + +PrivPubKeyPair=ALICE_cf_c2tnb239v1:ALICE_cf_c2tnb239v1_PUB + +PrivateKey=BOB_cf_c2tnb239v1 +-----BEGIN PRIVATE KEY----- +MD8CAQAwEwYHKoZIzj0CAQYIKoZIzj0DAAsEJTAjAgEBBB4JLDwVJQw3+00FiZBDWFErd7PXnchH +sfpZeV3i5FM= +-----END PRIVATE KEY----- + +PublicKey=BOB_cf_c2tnb239v1_PUB +-----BEGIN PUBLIC KEY----- +MFUwEwYHKoZIzj0CAQYIKoZIzj0DAAsDPgAEcwKt31cWaoFUd7QxYSdwgMDOqEhjPbD3Z9AfR3tc +G77/MY5z1oQegqImBog645vtPWI8lZd1zcl6QYRS +-----END PUBLIC KEY----- + +PrivPubKeyPair=BOB_cf_c2tnb239v1:BOB_cf_c2tnb239v1_PUB + +# ECDH Alice with Bob peer +Derive=ALICE_cf_c2tnb239v1 +PeerKey=BOB_cf_c2tnb239v1_PUB +SharedSecret=413ea943cdf40c45795c77aeea7099b81cc42566067924d1fdbae42ddf99 + +# ECDH Bob with Alice peer +Derive=BOB_cf_c2tnb239v1 +PeerKey=ALICE_cf_c2tnb239v1_PUB +SharedSecret=413ea943cdf40c45795c77aeea7099b81cc42566067924d1fdbae42ddf99 + +# ECC CDH Alice with Bob peer +Derive=ALICE_cf_c2tnb239v1 +PeerKey=BOB_cf_c2tnb239v1_PUB +Ctrl=ecdh_cofactor_mode:1 +SharedSecret=1f1e5a6084492e895c35d76a5d2b4a3fafbd96c4b2230ea71cc1c711fa38 + +# ECC CDH Bob with Alice peer +Derive=BOB_cf_c2tnb239v1 +PeerKey=ALICE_cf_c2tnb239v1_PUB +Ctrl=ecdh_cofactor_mode:1 +SharedSecret=1f1e5a6084492e895c35d76a5d2b4a3fafbd96c4b2230ea71cc1c711fa38 + +PublicKey=MALICE_cf_c2tnb239v1_PUB +-----BEGIN PUBLIC KEY----- +MFUwEwYHKoZIzj0CAQYIKoZIzj0DAAsDPgAEJFn89FF7xaa5m+XGxWKFwCH+Mu4rbxwi6lvhuEuT +Itl/OAosALFh8xpt+N5gmKtUdhpjyok2udC4B/mY +-----END PUBLIC KEY----- + +# ECC CDH Bob with Malice peer +Derive=BOB_cf_c2tnb239v1 +PeerKey=MALICE_cf_c2tnb239v1_PUB +Ctrl=ecdh_cofactor_mode:1 +Result=DERIVE_ERROR +Function=EC_POINT_get_affine_coordinates_GF2m +Reason=point at infinity + +# ECC CDH Alice with Malice peer +Derive=ALICE_cf_c2tnb239v1 +PeerKey=MALICE_cf_c2tnb239v1_PUB +Ctrl=ecdh_cofactor_mode:1 +Result=DERIVE_ERROR +Function=EC_POINT_get_affine_coordinates_GF2m +Reason=point at infinity + +# Title=c2tnb239v2 curve tests + +PrivateKey=ALICE_cf_c2tnb239v2 +-----BEGIN PRIVATE KEY----- +MD8CAQAwEwYHKoZIzj0CAQYIKoZIzj0DAAwEJTAjAgEBBB4KU4YKdzFOkl6M1biHkxtVGD2uNXr6 +GbEcp4PbJKU= +-----END PRIVATE KEY----- + +PublicKey=ALICE_cf_c2tnb239v2_PUB +-----BEGIN PUBLIC KEY----- +MFUwEwYHKoZIzj0CAQYIKoZIzj0DAAwDPgAEKzpycflUrsyqVV/+fzvC2+AuX3r0b0Syn8acvn78 +VnKA9mZKwPLWhnMJcLyzarIzc/6/UcfYGNmTyUlG +-----END PUBLIC KEY----- + +PrivPubKeyPair=ALICE_cf_c2tnb239v2:ALICE_cf_c2tnb239v2_PUB + +PrivateKey=BOB_cf_c2tnb239v2 +-----BEGIN PRIVATE KEY----- +MD8CAQAwEwYHKoZIzj0CAQYIKoZIzj0DAAwEJTAjAgEBBB4HZQLKGKBpIKiyTq6XYZWQNph1oGP+ +JLwCwn7lYx0= +-----END PRIVATE KEY----- + +PublicKey=BOB_cf_c2tnb239v2_PUB +-----BEGIN PUBLIC KEY----- +MFUwEwYHKoZIzj0CAQYIKoZIzj0DAAwDPgAETPSkhMs3JW3BG66FSfCov76JKdcRiBhMCW453Wku +N7yBxBmWjeclHhnXIzfc4qM4qf9n3KzMSXejPVYg +-----END PUBLIC KEY----- + +PrivPubKeyPair=BOB_cf_c2tnb239v2:BOB_cf_c2tnb239v2_PUB + +# ECDH Alice with Bob peer +Derive=ALICE_cf_c2tnb239v2 +PeerKey=BOB_cf_c2tnb239v2_PUB +SharedSecret=2e738f14795b2e19ee791c1bf30c5e462ca6c6ed0ec5c6c6402d0730cf4c + +# ECDH Bob with Alice peer +Derive=BOB_cf_c2tnb239v2 +PeerKey=ALICE_cf_c2tnb239v2_PUB +SharedSecret=2e738f14795b2e19ee791c1bf30c5e462ca6c6ed0ec5c6c6402d0730cf4c + +# ECC CDH Alice with Bob peer +Derive=ALICE_cf_c2tnb239v2 +PeerKey=BOB_cf_c2tnb239v2_PUB +Ctrl=ecdh_cofactor_mode:1 +SharedSecret=7662d8b94d3f0d20eb8e112ca8b7d5699d81f35902df5b77561977df3946 + +# ECC CDH Bob with Alice peer +Derive=BOB_cf_c2tnb239v2 +PeerKey=ALICE_cf_c2tnb239v2_PUB +Ctrl=ecdh_cofactor_mode:1 +SharedSecret=7662d8b94d3f0d20eb8e112ca8b7d5699d81f35902df5b77561977df3946 + +PublicKey=MALICE_cf_c2tnb239v2_PUB +-----BEGIN PUBLIC KEY----- +MFUwEwYHKoZIzj0CAQYIKoZIzj0DAAwDPgAES8fLc5mtVI0HqgKRJ7mN8MU1B0FBkiim6jCHYJf3 +JYUX3Gn3Ai11cHie+nVb3z51jSkpDQENHESTv5K2 +-----END PUBLIC KEY----- + +# ECC CDH Bob with Malice peer +Derive=BOB_cf_c2tnb239v2 +PeerKey=MALICE_cf_c2tnb239v2_PUB +Ctrl=ecdh_cofactor_mode:1 +Result=DERIVE_ERROR +Function=EC_POINT_get_affine_coordinates_GF2m +Reason=point at infinity + +# ECC CDH Alice with Malice peer +Derive=ALICE_cf_c2tnb239v2 +PeerKey=MALICE_cf_c2tnb239v2_PUB +Ctrl=ecdh_cofactor_mode:1 +Result=DERIVE_ERROR +Function=EC_POINT_get_affine_coordinates_GF2m +Reason=point at infinity + +# Title=c2tnb239v3 curve tests + +PrivateKey=ALICE_cf_c2tnb239v3 +-----BEGIN PRIVATE KEY----- +MD8CAQAwEwYHKoZIzj0CAQYIKoZIzj0DAA0EJTAjAgEBBB4BZZXtcMw5GrpgHJLx4D8z7M6ocWdv +rDl2fV9ObC8= +-----END PRIVATE KEY----- + +PublicKey=ALICE_cf_c2tnb239v3_PUB +-----BEGIN PUBLIC KEY----- +MFUwEwYHKoZIzj0CAQYIKoZIzj0DAA0DPgAEOu2HIAUX+r6IbRlrPUJUBDL814dR++maVAAkUIjD +H33ewqcI9ZLtpvuR8P8hgRNUTXlh1GWgrB6F21Eo +-----END PUBLIC KEY----- + +PrivPubKeyPair=ALICE_cf_c2tnb239v3:ALICE_cf_c2tnb239v3_PUB + +PrivateKey=BOB_cf_c2tnb239v3 +-----BEGIN PRIVATE KEY----- +MD8CAQAwEwYHKoZIzj0CAQYIKoZIzj0DAA0EJTAjAgEBBB4BDxw3SA54y6uYOW1n4yZaUK22J9ef +XG3HcQX+4i0= +-----END PRIVATE KEY----- + +PublicKey=BOB_cf_c2tnb239v3_PUB +-----BEGIN PUBLIC KEY----- +MFUwEwYHKoZIzj0CAQYIKoZIzj0DAA0DPgAEVaEi76wyzlpzkkSElf4SmGZ7kf1ghHMP82HkGk7K +BC10zUyppoSOAr0eX4pHAkDUF1m/KGoJa7QcJJww +-----END PUBLIC KEY----- + +PrivPubKeyPair=BOB_cf_c2tnb239v3:BOB_cf_c2tnb239v3_PUB + +# ECDH Alice with Bob peer +Derive=ALICE_cf_c2tnb239v3 +PeerKey=BOB_cf_c2tnb239v3_PUB +SharedSecret=6a756022ec2ea89b0fa757824909707102acf3b7da39dc625c6252eb4c48 + +# ECDH Bob with Alice peer +Derive=BOB_cf_c2tnb239v3 +PeerKey=ALICE_cf_c2tnb239v3_PUB +SharedSecret=6a756022ec2ea89b0fa757824909707102acf3b7da39dc625c6252eb4c48 + +# ECC CDH Alice with Bob peer +Derive=ALICE_cf_c2tnb239v3 +PeerKey=BOB_cf_c2tnb239v3_PUB +Ctrl=ecdh_cofactor_mode:1 +SharedSecret=3240e19dd8c290e5e1749df60ad0166dd9dbfad645e518b4948e14f774ce + +# ECC CDH Bob with Alice peer +Derive=BOB_cf_c2tnb239v3 +PeerKey=ALICE_cf_c2tnb239v3_PUB +Ctrl=ecdh_cofactor_mode:1 +SharedSecret=3240e19dd8c290e5e1749df60ad0166dd9dbfad645e518b4948e14f774ce + +PublicKey=MALICE_cf_c2tnb239v3_PUB +-----BEGIN PUBLIC KEY----- +MFUwEwYHKoZIzj0CAQYIKoZIzj0DAA0DPgAELe/znC87/2ucKX7mXUUyiUvg67slWRdH+WHDct9d +LcXDyB342ZN1nm0NCAmBMcLjohX0Zza0ji3YNjT1 +-----END PUBLIC KEY----- + +# ECC CDH Bob with Malice peer +Derive=BOB_cf_c2tnb239v3 +PeerKey=MALICE_cf_c2tnb239v3_PUB +Ctrl=ecdh_cofactor_mode:1 +Result=DERIVE_ERROR +Function=EC_POINT_get_affine_coordinates_GF2m +Reason=point at infinity + +# ECC CDH Alice with Malice peer +Derive=ALICE_cf_c2tnb239v3 +PeerKey=MALICE_cf_c2tnb239v3_PUB +Ctrl=ecdh_cofactor_mode:1 +Result=DERIVE_ERROR +Function=EC_POINT_get_affine_coordinates_GF2m +Reason=point at infinity + +# Title=c2tnb359v1 curve tests + +PrivateKey=ALICE_cf_c2tnb359v1 +-----BEGIN PRIVATE KEY----- +ME4CAQAwEwYHKoZIzj0CAQYIKoZIzj0DABIENDAyAgEBBC0Afea/a1NrRf6rRRr/UDsI559ADTFP +Bd5HaS33laTZkCdNLITw1UUrESUIOiU= +-----END PRIVATE KEY----- + +PublicKey=ALICE_cf_c2tnb359v1_PUB +-----BEGIN PUBLIC KEY----- +MHMwEwYHKoZIzj0CAQYIKoZIzj0DABIDXAAEZMJU3QF9UJJp2m6qyCnhPuVlPKPHtav3DCgH27SY +RLMN7C4rRmqiJakD11QtOforOgbPW5r/v7t4TUWIlq8jV7kapJNtxQtg/S87L0NQGgHBq/lnJL8x +fN3Y +-----END PUBLIC KEY----- + +PrivPubKeyPair=ALICE_cf_c2tnb359v1:ALICE_cf_c2tnb359v1_PUB + +PrivateKey=BOB_cf_c2tnb359v1 +-----BEGIN PRIVATE KEY----- +ME4CAQAwEwYHKoZIzj0CAQYIKoZIzj0DABIENDAyAgEBBC0Aaw+yr7Atz8CXjLsbI5msXLqxFoMr +esHVfU53i6ucCsnPTWSDWSb5CePtI9g= +-----END PRIVATE KEY----- + +PublicKey=BOB_cf_c2tnb359v1_PUB +-----BEGIN PUBLIC KEY----- +MHMwEwYHKoZIzj0CAQYIKoZIzj0DABIDXAAEUQde0iyDHbsFJZ459d4zUhsrJYAkqndmEBRwSlg5 +ZNX8SSS79Zf2HsQl+LWIZyzeYzoHobKXufChw9/H4ThS58VwV5/0hoE929PIgJ1MSEqr5LvJXi+b +R8fe +-----END PUBLIC KEY----- + +PrivPubKeyPair=BOB_cf_c2tnb359v1:BOB_cf_c2tnb359v1_PUB + +# ECDH Alice with Bob peer +Derive=ALICE_cf_c2tnb359v1 +PeerKey=BOB_cf_c2tnb359v1_PUB +SharedSecret=623a71122b5acad467d40d97ef8d8fd46541d8c41d7de6ba181c24e2714c1bc35bcefcf089af69c406eedecc12 + +# ECDH Bob with Alice peer +Derive=BOB_cf_c2tnb359v1 +PeerKey=ALICE_cf_c2tnb359v1_PUB +SharedSecret=623a71122b5acad467d40d97ef8d8fd46541d8c41d7de6ba181c24e2714c1bc35bcefcf089af69c406eedecc12 + +# ECC CDH Alice with Bob peer +Derive=ALICE_cf_c2tnb359v1 +PeerKey=BOB_cf_c2tnb359v1_PUB +Ctrl=ecdh_cofactor_mode:1 +SharedSecret=1c9c4cea3251dace2cb763eabf60f106cc1b03f2491e6f20d7bea78e062f8f14c4e82e4d43786eefa44d33f7e9 + +# ECC CDH Bob with Alice peer +Derive=BOB_cf_c2tnb359v1 +PeerKey=ALICE_cf_c2tnb359v1_PUB +Ctrl=ecdh_cofactor_mode:1 +SharedSecret=1c9c4cea3251dace2cb763eabf60f106cc1b03f2491e6f20d7bea78e062f8f14c4e82e4d43786eefa44d33f7e9 + +PublicKey=MALICE_cf_c2tnb359v1_PUB +-----BEGIN PUBLIC KEY----- +MHMwEwYHKoZIzj0CAQYIKoZIzj0DABIDXAAEDW1DxeJfyPPnxX4WiLM5ZnX9AypqqeKj7FTHxanl +++A6FgVFjUCatt8Sr4xnSc3zDE0kh6f/wS9SbtCAi74i8HAX5SJiccCMPRkw6kBuHZgiG8EmFJ53 +OEQw +-----END PUBLIC KEY----- + +# ECC CDH Bob with Malice peer +Derive=BOB_cf_c2tnb359v1 +PeerKey=MALICE_cf_c2tnb359v1_PUB +Ctrl=ecdh_cofactor_mode:1 +Result=DERIVE_ERROR +Function=EC_POINT_get_affine_coordinates_GF2m +Reason=point at infinity + +# ECC CDH Alice with Malice peer +Derive=ALICE_cf_c2tnb359v1 +PeerKey=MALICE_cf_c2tnb359v1_PUB +Ctrl=ecdh_cofactor_mode:1 +Result=DERIVE_ERROR +Function=EC_POINT_get_affine_coordinates_GF2m +Reason=point at infinity + +# Title=c2tnb431r1 curve tests + +PrivateKey=ALICE_cf_c2tnb431r1 +-----BEGIN PRIVATE KEY----- +MFYCAQAwEwYHKoZIzj0CAQYIKoZIzj0DABQEPDA6AgEBBDUAG1rgUnH3+PSxqlzt9+QTWv7PrYxz +Qgqj5A2Mqi0LbdixVDciVSSgrU6keVu72oCmHVP+OQ== +-----END PRIVATE KEY----- + +PublicKey=ALICE_cf_c2tnb431r1_PUB +-----BEGIN PUBLIC KEY----- +MIGFMBMGByqGSM49AgEGCCqGSM49AwAUA24ABFcQEDic9pYxtxStk/oBxafqyUux1kvEOOwR4FxJ +pGEMTh8B+YfkWuq+IDY5zSqNKtg7cRlAFX2dlHhRSvNxrN3DJCrhe/TQq8SIYawcqEQnM39F8hHM +7VQJLEsBpJ/WUonwMJXknjgfONP7GA== +-----END PUBLIC KEY----- + +PrivPubKeyPair=ALICE_cf_c2tnb431r1:ALICE_cf_c2tnb431r1_PUB + +PrivateKey=BOB_cf_c2tnb431r1 +-----BEGIN PRIVATE KEY----- +MFYCAQAwEwYHKoZIzj0CAQYIKoZIzj0DABQEPDA6AgEBBDUBOsZrpI6hTgImR8DBhKOOrh2SvcT/ +VwmzYnbuCRrtr/zwIQcqKKI1ztlrl+kxFxJfk5L7UQ== +-----END PRIVATE KEY----- + +PublicKey=BOB_cf_c2tnb431r1_PUB +-----BEGIN PUBLIC KEY----- +MIGFMBMGByqGSM49AgEGCCqGSM49AwAUA24ABHeTG6xjbsKKxn4oYQt9qUM9LrSPZfY11XsBmROc +fb9kEbBLU+QixSbYZOrqPasesDV9dApDXF+w6EfIeNyJEK5Lk+aXamrn7fRMUAQ2m7+Odp87GgA+ +8Cg6YpgbK314SK5STziqoZwzEISJ9w== +-----END PUBLIC KEY----- + +PrivPubKeyPair=BOB_cf_c2tnb431r1:BOB_cf_c2tnb431r1_PUB + +# ECDH Alice with Bob peer +Derive=ALICE_cf_c2tnb431r1 +PeerKey=BOB_cf_c2tnb431r1_PUB +SharedSecret=1c9a64de0b706f0e562d5144ceeb4806ce8782865dc0e3fab694967955bd40afc79bf9241ef4a173fbf9baeac0d416392fb13bdc6978 + +# ECDH Bob with Alice peer +Derive=BOB_cf_c2tnb431r1 +PeerKey=ALICE_cf_c2tnb431r1_PUB +SharedSecret=1c9a64de0b706f0e562d5144ceeb4806ce8782865dc0e3fab694967955bd40afc79bf9241ef4a173fbf9baeac0d416392fb13bdc6978 + +# ECC CDH Alice with Bob peer +Derive=ALICE_cf_c2tnb431r1 +PeerKey=BOB_cf_c2tnb431r1_PUB +Ctrl=ecdh_cofactor_mode:1 +SharedSecret=059e2ea2d0d8bad5005a9401196ebb1633377c7ded8ec58a0398cf1d0f42ea82614f68cb836ecfc33612b8a705b4c3b7b4ed12eb6e22 + +# ECC CDH Bob with Alice peer +Derive=BOB_cf_c2tnb431r1 +PeerKey=ALICE_cf_c2tnb431r1_PUB +Ctrl=ecdh_cofactor_mode:1 +SharedSecret=059e2ea2d0d8bad5005a9401196ebb1633377c7ded8ec58a0398cf1d0f42ea82614f68cb836ecfc33612b8a705b4c3b7b4ed12eb6e22 + +PublicKey=MALICE_cf_c2tnb431r1_PUB +-----BEGIN PUBLIC KEY----- +MIGFMBMGByqGSM49AgEGCCqGSM49AwAUA24ABA/cHJ1bNJ2l3GcrT67WEoU0w/Ajy28T9X4XLv8a +5EpnkembeFlRG8ILplDcZimE8kjNQWynAk+NbJRsIU/XLzcm7VXkkqEkx/yCQ/TOcbeB3qrpzWYr +F3Cls9x60wuFYNc9d6eIe4B+puz9IQ== +-----END PUBLIC KEY----- + +# ECC CDH Bob with Malice peer +Derive=BOB_cf_c2tnb431r1 +PeerKey=MALICE_cf_c2tnb431r1_PUB +Ctrl=ecdh_cofactor_mode:1 +Result=DERIVE_ERROR +Function=EC_POINT_get_affine_coordinates_GF2m +Reason=point at infinity + +# ECC CDH Alice with Malice peer +Derive=ALICE_cf_c2tnb431r1 +PeerKey=MALICE_cf_c2tnb431r1_PUB +Ctrl=ecdh_cofactor_mode:1 +Result=DERIVE_ERROR +Function=EC_POINT_get_affine_coordinates_GF2m +Reason=point at infinity + +# Title=prime192v1 curve tests + +PrivateKey=ALICE_cf_prime192v1 +-----BEGIN PRIVATE KEY----- +MDkCAQAwEwYHKoZIzj0CAQYIKoZIzj0DAQEEHzAdAgEBBBhQFYLaobJ47BVWWZv/ByY8Ti69m/U9 +TeI= +-----END PRIVATE KEY----- + +PublicKey=ALICE_cf_prime192v1_PUB +-----BEGIN PUBLIC KEY----- +MEkwEwYHKoZIzj0CAQYIKoZIzj0DAQEDMgAEHYbt14KzucSpmKMrlDx1IGz/a28nDs21OjKgx3BK +PZ78UrllIr69kgrYUKsRg4sd +-----END PUBLIC KEY----- + +PrivPubKeyPair=ALICE_cf_prime192v1:ALICE_cf_prime192v1_PUB + +PrivateKey=BOB_cf_prime192v1 +-----BEGIN PRIVATE KEY----- +MDkCAQAwEwYHKoZIzj0CAQYIKoZIzj0DAQEEHzAdAgEBBBhsbmKHAtygIqirkmUXSbniDJOx0/fI +CWM= +-----END PRIVATE KEY----- + +PublicKey=BOB_cf_prime192v1_PUB +-----BEGIN PUBLIC KEY----- +MEkwEwYHKoZIzj0CAQYIKoZIzj0DAQEDMgAEJA+FQcXq5Axzv8pLDslxq1QVt1hjN2i0TgoO6Yxp +bAekMot69VorE8ibSzgJixXJ +-----END PUBLIC KEY----- + +PrivPubKeyPair=BOB_cf_prime192v1:BOB_cf_prime192v1_PUB + +# ECDH Alice with Bob peer +Derive=ALICE_cf_prime192v1 +PeerKey=BOB_cf_prime192v1_PUB +SharedSecret=e36cad3b0f8d00f60f090440a76df47896713ae61421c354 + +# ECDH Bob with Alice peer +Derive=BOB_cf_prime192v1 +PeerKey=ALICE_cf_prime192v1_PUB +SharedSecret=e36cad3b0f8d00f60f090440a76df47896713ae61421c354 + +# Title=prime192v2 curve tests + +PrivateKey=ALICE_cf_prime192v2 +-----BEGIN PRIVATE KEY----- +MDkCAQAwEwYHKoZIzj0CAQYIKoZIzj0DAQIEHzAdAgEBBBh6rcgPFDmA2P4CGSrC7ii9DAjepljX +sMM= +-----END PRIVATE KEY----- + +PublicKey=ALICE_cf_prime192v2_PUB +-----BEGIN PUBLIC KEY----- +MEkwEwYHKoZIzj0CAQYIKoZIzj0DAQIDMgAET6wOPoDU3BeU7VKozsGEvDeJs//9Z/aNEcbbLQ0d +g5IzsS/XMJzifjCJZgNsb7mi +-----END PUBLIC KEY----- + +PrivPubKeyPair=ALICE_cf_prime192v2:ALICE_cf_prime192v2_PUB + +PrivateKey=BOB_cf_prime192v2 +-----BEGIN PRIVATE KEY----- +MDkCAQAwEwYHKoZIzj0CAQYIKoZIzj0DAQIEHzAdAgEBBBja4R9iZuiu95XEuM1558ArTwNnAl7M +xqI= +-----END PRIVATE KEY----- + +PublicKey=BOB_cf_prime192v2_PUB +-----BEGIN PUBLIC KEY----- +MEkwEwYHKoZIzj0CAQYIKoZIzj0DAQIDMgAEcgWNAOL4pZCmouZl+be+rC0yLAJkm2YuPWs+FX2u +Y6OU1aHkkspZTC1uUVWjchy5 +-----END PUBLIC KEY----- + +PrivPubKeyPair=BOB_cf_prime192v2:BOB_cf_prime192v2_PUB + +# ECDH Alice with Bob peer +Derive=ALICE_cf_prime192v2 +PeerKey=BOB_cf_prime192v2_PUB +SharedSecret=ae2ff9f1f9f24e6d281dc78993d9f71913e1e105965000a1 + +# ECDH Bob with Alice peer +Derive=BOB_cf_prime192v2 +PeerKey=ALICE_cf_prime192v2_PUB +SharedSecret=ae2ff9f1f9f24e6d281dc78993d9f71913e1e105965000a1 + +# Title=prime192v3 curve tests + +PrivateKey=ALICE_cf_prime192v3 +-----BEGIN PRIVATE KEY----- +MDkCAQAwEwYHKoZIzj0CAQYIKoZIzj0DAQMEHzAdAgEBBBij5blPQRKM1/9c57YDZXIIue80MDqx +Igw= +-----END PRIVATE KEY----- + +PublicKey=ALICE_cf_prime192v3_PUB +-----BEGIN PUBLIC KEY----- +MEkwEwYHKoZIzj0CAQYIKoZIzj0DAQMDMgAE1+mLeiT/jjHO71IL/C/ZcnF6+yj9FV6eqfuPdHAi +MsDRFCB6/h8TcCUFuospu5l0 +-----END PUBLIC KEY----- + +PrivPubKeyPair=ALICE_cf_prime192v3:ALICE_cf_prime192v3_PUB + +PrivateKey=BOB_cf_prime192v3 +-----BEGIN PRIVATE KEY----- +MDkCAQAwEwYHKoZIzj0CAQYIKoZIzj0DAQMEHzAdAgEBBBhgFP4fFLtm/yk5tsosBUBKTg370FOu +92g= +-----END PRIVATE KEY----- + +PublicKey=BOB_cf_prime192v3_PUB +-----BEGIN PUBLIC KEY----- +MEkwEwYHKoZIzj0CAQYIKoZIzj0DAQMDMgAEv35bOz0xqLeJqpZdZ8LyiUgsJMBEtN2UMJm8blX2 +vMWAgEeLhzar86BUlS7dZwS7 +-----END PUBLIC KEY----- + +PrivPubKeyPair=BOB_cf_prime192v3:BOB_cf_prime192v3_PUB + +# ECDH Alice with Bob peer +Derive=ALICE_cf_prime192v3 +PeerKey=BOB_cf_prime192v3_PUB +SharedSecret=9e562ecbe29c510a13b0daea822ec864c2a9684d2a382812 + +# ECDH Bob with Alice peer +Derive=BOB_cf_prime192v3 +PeerKey=ALICE_cf_prime192v3_PUB +SharedSecret=9e562ecbe29c510a13b0daea822ec864c2a9684d2a382812 + +# Title=prime239v1 curve tests + +PrivateKey=ALICE_cf_prime239v1 +-----BEGIN PRIVATE KEY----- +MD8CAQAwEwYHKoZIzj0CAQYIKoZIzj0DAQQEJTAjAgEBBB5nH2mt/GUx+I/60NlcuQlrdupDXwMY +SF/w+SUTNqY= +-----END PRIVATE KEY----- + +PublicKey=ALICE_cf_prime239v1_PUB +-----BEGIN PUBLIC KEY----- +MFUwEwYHKoZIzj0CAQYIKoZIzj0DAQQDPgAEMqQLCgDR9njkq9QELuOu+J/9YGcxJHULdvxHImLW +RXqBUM5Xea+Qk2SKIpWcogxr2zFeQyeLj2bQysuo +-----END PUBLIC KEY----- + +PrivPubKeyPair=ALICE_cf_prime239v1:ALICE_cf_prime239v1_PUB + +PrivateKey=BOB_cf_prime239v1 +-----BEGIN PRIVATE KEY----- +MD8CAQAwEwYHKoZIzj0CAQYIKoZIzj0DAQQEJTAjAgEBBB5RZgYV+j+zhwI12zCzB+mdPofMx0kB +jZ9gplgXxzk= +-----END PRIVATE KEY----- + +PublicKey=BOB_cf_prime239v1_PUB +-----BEGIN PUBLIC KEY----- +MFUwEwYHKoZIzj0CAQYIKoZIzj0DAQQDPgAEBR5m/kllh025oO4GvqALkjRliVv7q4x8ro/tkYnT +L2U4hkT6xUeRu9QC4KOz7KUVH+nBbQASL4XQg/3C +-----END PUBLIC KEY----- + +PrivPubKeyPair=BOB_cf_prime239v1:BOB_cf_prime239v1_PUB + +# ECDH Alice with Bob peer +Derive=ALICE_cf_prime239v1 +PeerKey=BOB_cf_prime239v1_PUB +SharedSecret=196b1d0206d4f87c313c266bfb12c90dd1f1f64b89bfc16518086b9801b8 + +# ECDH Bob with Alice peer +Derive=BOB_cf_prime239v1 +PeerKey=ALICE_cf_prime239v1_PUB +SharedSecret=196b1d0206d4f87c313c266bfb12c90dd1f1f64b89bfc16518086b9801b8 + +# Title=prime239v2 curve tests + +PrivateKey=ALICE_cf_prime239v2 +-----BEGIN PRIVATE KEY----- +MD8CAQAwEwYHKoZIzj0CAQYIKoZIzj0DAQUEJTAjAgEBBB5uLCwofbD2Suc/iIRhXJsPqZ4me87h ++tFevsg1pPE= +-----END PRIVATE KEY----- + +PublicKey=ALICE_cf_prime239v2_PUB +-----BEGIN PUBLIC KEY----- +MFUwEwYHKoZIzj0CAQYIKoZIzj0DAQUDPgAETH77jXHBItV673gTNK/HTFldo4VxPiscbideUgKd +CWjdVsXebgAZbqQwf0h9QWcIgM7K7ODdW5kCuZ1G +-----END PUBLIC KEY----- + +PrivPubKeyPair=ALICE_cf_prime239v2:ALICE_cf_prime239v2_PUB + +PrivateKey=BOB_cf_prime239v2 +-----BEGIN PRIVATE KEY----- +MD8CAQAwEwYHKoZIzj0CAQYIKoZIzj0DAQUEJTAjAgEBBB5nlF+ouuw3Ljkgy3pHkCN+/JoHAMyT +KY0wlvJdo/w= +-----END PRIVATE KEY----- + +PublicKey=BOB_cf_prime239v2_PUB +-----BEGIN PUBLIC KEY----- +MFUwEwYHKoZIzj0CAQYIKoZIzj0DAQUDPgAELUQYo0UH8HbK/RMD2jVphBU+iB4OTOfvaaTlHq06 +dcJ8a9a+mAQKhb1OZVEq1n4nQsgRiI1rPxugVERM +-----END PUBLIC KEY----- + +PrivPubKeyPair=BOB_cf_prime239v2:BOB_cf_prime239v2_PUB + +# ECDH Alice with Bob peer +Derive=ALICE_cf_prime239v2 +PeerKey=BOB_cf_prime239v2_PUB +SharedSecret=1d18ca6366bceba3c1477daa0e08202088abcf14fc2b8fbf98ba95858fcf + +# ECDH Bob with Alice peer +Derive=BOB_cf_prime239v2 +PeerKey=ALICE_cf_prime239v2_PUB +SharedSecret=1d18ca6366bceba3c1477daa0e08202088abcf14fc2b8fbf98ba95858fcf + +# Title=prime239v3 curve tests + +PrivateKey=ALICE_cf_prime239v3 +-----BEGIN PRIVATE KEY----- +MD8CAQAwEwYHKoZIzj0CAQYIKoZIzj0DAQYEJTAjAgEBBB5J95JRhBDTzlyAPAfu6T2Pb9vK0NKu +Y9AfhA2G+mI= +-----END PRIVATE KEY----- + +PublicKey=ALICE_cf_prime239v3_PUB +-----BEGIN PUBLIC KEY----- +MFUwEwYHKoZIzj0CAQYIKoZIzj0DAQYDPgAEZEN48pqgLF08Yjj/8BLM2Nr5ZhpYxyBurbzKRuBb +GLpzZLteJN9vZjN7ouNpMxLVUFQxTOwpsvUw86Lk +-----END PUBLIC KEY----- + +PrivPubKeyPair=ALICE_cf_prime239v3:ALICE_cf_prime239v3_PUB + +PrivateKey=BOB_cf_prime239v3 +-----BEGIN PRIVATE KEY----- +MD8CAQAwEwYHKoZIzj0CAQYIKoZIzj0DAQYEJTAjAgEBBB5Z7rMZML1xeryBaYYr+QuMiQxHT44I +d9bmIVvG3dM= +-----END PRIVATE KEY----- + +PublicKey=BOB_cf_prime239v3_PUB +-----BEGIN PUBLIC KEY----- +MFUwEwYHKoZIzj0CAQYIKoZIzj0DAQYDPgAEQUWKqohAPAoIYEZOvc1QwSlcB+gW0febaNxGOy47 +LaIWdsNM7GJVP9xpdSwm/L+Dip/oH4E59f3SiOAd +-----END PUBLIC KEY----- + +PrivPubKeyPair=BOB_cf_prime239v3:BOB_cf_prime239v3_PUB + +# ECDH Alice with Bob peer +Derive=ALICE_cf_prime239v3 +PeerKey=BOB_cf_prime239v3_PUB +SharedSecret=4dcc2c67c5993162ed71ebb33077bbb85395b0d3eec2311aa404e45901a0 + +# ECDH Bob with Alice peer +Derive=BOB_cf_prime239v3 +PeerKey=ALICE_cf_prime239v3_PUB +SharedSecret=4dcc2c67c5993162ed71ebb33077bbb85395b0d3eec2311aa404e45901a0 + +# Title=prime256v1 curve tests + +PrivateKey=ALICE_cf_prime256v1 +-----BEGIN PRIVATE KEY----- +MEECAQAwEwYHKoZIzj0CAQYIKoZIzj0DAQcEJzAlAgEBBCDZE0NZiGAFJX6JQxumKTFRT+XFCQqJ +gHCUxmU2fRcn9Q== +-----END PRIVATE KEY----- + +PublicKey=ALICE_cf_prime256v1_PUB +-----BEGIN PUBLIC KEY----- +MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE5kDOrX6kmk1/jHfEdMBluFos6dyCbzKVOX3v2aa2 +y5IhlhTKtCJdydX+XWLDXWW9sbtIRNP94R3iOOpRPBqpGg== +-----END PUBLIC KEY----- + +PrivPubKeyPair=ALICE_cf_prime256v1:ALICE_cf_prime256v1_PUB + +PrivateKey=BOB_cf_prime256v1 +-----BEGIN PRIVATE KEY----- +MEECAQAwEwYHKoZIzj0CAQYIKoZIzj0DAQcEJzAlAgEBBCAxJgV1dLJw/o2Dmh1fIY1KpBd88WCP +23wZzR8DzhyCrA== +-----END PRIVATE KEY----- + +PublicKey=BOB_cf_prime256v1_PUB +-----BEGIN PUBLIC KEY----- +MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE5J6yA+j0zrGi6RilUhjrcL7OUMzYTwpnw5DdRXr0 +creHgE03EFV//7xqadB4BDwFIGM9MV2sE6qREEomWhZFeg== +-----END PUBLIC KEY----- + +PrivPubKeyPair=BOB_cf_prime256v1:BOB_cf_prime256v1_PUB + +# ECDH Alice with Bob peer +Derive=ALICE_cf_prime256v1 +PeerKey=BOB_cf_prime256v1_PUB +SharedSecret=ee63690b553dcd9bccb066137725f0489395a83f4d280f309339d606c969734a + +# ECDH Bob with Alice peer +Derive=BOB_cf_prime256v1 +PeerKey=ALICE_cf_prime256v1_PUB +SharedSecret=ee63690b553dcd9bccb066137725f0489395a83f4d280f309339d606c969734a + +# Title=secp112r1 curve tests + +PrivateKey=ALICE_cf_secp112r1 +-----BEGIN PRIVATE KEY----- +MCwCAQAwEAYHKoZIzj0CAQYFK4EEAAYEFTATAgEBBA6zC5ZzEIIdvY4Q7DS0uw== +-----END PRIVATE KEY----- + +PublicKey=ALICE_cf_secp112r1_PUB +-----BEGIN PUBLIC KEY----- +MDIwEAYHKoZIzj0CAQYFK4EEAAYDHgAEYIawfjH3qRrJJWwuG3Ys5ZhDJsmdWi34aHgKAA== +-----END PUBLIC KEY----- + +PrivPubKeyPair=ALICE_cf_secp112r1:ALICE_cf_secp112r1_PUB + +PrivateKey=BOB_cf_secp112r1 +-----BEGIN PRIVATE KEY----- +MCwCAQAwEAYHKoZIzj0CAQYFK4EEAAYEFTATAgEBBA6WPx4YxBODium8BKDw0A== +-----END PRIVATE KEY----- + +PublicKey=BOB_cf_secp112r1_PUB +-----BEGIN PUBLIC KEY----- +MDIwEAYHKoZIzj0CAQYFK4EEAAYDHgAEchh3iQdPN1rrzrpdZRQ95G6tvdwEBQ+gfu1tvA== +-----END PUBLIC KEY----- + +PrivPubKeyPair=BOB_cf_secp112r1:BOB_cf_secp112r1_PUB + +# ECDH Alice with Bob peer +Derive=ALICE_cf_secp112r1 +PeerKey=BOB_cf_secp112r1_PUB +SharedSecret=4ddd1d504b444d4be67ba2e4610a + +# ECDH Bob with Alice peer +Derive=BOB_cf_secp112r1 +PeerKey=ALICE_cf_secp112r1_PUB +SharedSecret=4ddd1d504b444d4be67ba2e4610a + +# Title=secp112r2 curve tests + +PrivateKey=ALICE_cf_secp112r2 +-----BEGIN PRIVATE KEY----- +MCwCAQAwEAYHKoZIzj0CAQYFK4EEAAcEFTATAgEBBA4GcvIx97ePHdAiH0Z9EA== +-----END PRIVATE KEY----- + +PublicKey=ALICE_cf_secp112r2_PUB +-----BEGIN PUBLIC KEY----- +MDIwEAYHKoZIzj0CAQYFK4EEAAcDHgAEHK9uNAILHBmPZdKKh79/nzYE0HbvC//rA7i0Xw== +-----END PUBLIC KEY----- + +PrivPubKeyPair=ALICE_cf_secp112r2:ALICE_cf_secp112r2_PUB + +PrivateKey=BOB_cf_secp112r2 +-----BEGIN PRIVATE KEY----- +MCwCAQAwEAYHKoZIzj0CAQYFK4EEAAcEFTATAgEBBA4WzpVFZnZv9mvtpnYNyw== +-----END PRIVATE KEY----- + +PublicKey=BOB_cf_secp112r2_PUB +-----BEGIN PUBLIC KEY----- +MDIwEAYHKoZIzj0CAQYFK4EEAAcDHgAEUzBLNQupqUpGgmZl9JVjKBpwusl52rFg5OVFJA== +-----END PUBLIC KEY----- + +PrivPubKeyPair=BOB_cf_secp112r2:BOB_cf_secp112r2_PUB + +# ECDH Alice with Bob peer +Derive=ALICE_cf_secp112r2 +PeerKey=BOB_cf_secp112r2_PUB +SharedSecret=a6d05c7ba5128a9685c705b5030b + +# ECDH Bob with Alice peer +Derive=BOB_cf_secp112r2 +PeerKey=ALICE_cf_secp112r2_PUB +SharedSecret=a6d05c7ba5128a9685c705b5030b + +# ECC CDH Alice with Bob peer +Derive=ALICE_cf_secp112r2 +PeerKey=BOB_cf_secp112r2_PUB +Ctrl=ecdh_cofactor_mode:1 +SharedSecret=04f3280e92c269d794aa779efcef + +# ECC CDH Bob with Alice peer +Derive=BOB_cf_secp112r2 +PeerKey=ALICE_cf_secp112r2_PUB +Ctrl=ecdh_cofactor_mode:1 +SharedSecret=04f3280e92c269d794aa779efcef + +PublicKey=MALICE_cf_secp112r2_PUB +-----BEGIN PUBLIC KEY----- +MDIwEAYHKoZIzj0CAQYFK4EEAAcDHgAEsf2N4SfUZWtXPrUTmEyr71I/JSn8VtzQsFHuqQ== +-----END PUBLIC KEY----- + +# ECC CDH Bob with Malice peer +Derive=BOB_cf_secp112r2 +PeerKey=MALICE_cf_secp112r2_PUB +Ctrl=ecdh_cofactor_mode:1 +Result=DERIVE_ERROR +Function=EC_POINT_get_affine_coordinates_GFp +Reason=point at infinity + +# ECC CDH Alice with Malice peer +Derive=ALICE_cf_secp112r2 +PeerKey=MALICE_cf_secp112r2_PUB +Ctrl=ecdh_cofactor_mode:1 +Result=DERIVE_ERROR +Function=EC_POINT_get_affine_coordinates_GFp +Reason=point at infinity + +# Title=secp128r1 curve tests + +PrivateKey=ALICE_cf_secp128r1 +-----BEGIN PRIVATE KEY----- +MC4CAQAwEAYHKoZIzj0CAQYFK4EEABwEFzAVAgEBBBB+RX18d0+gKpdcKbJJTrEZ +-----END PRIVATE KEY----- + +PublicKey=ALICE_cf_secp128r1_PUB +-----BEGIN PUBLIC KEY----- +MDYwEAYHKoZIzj0CAQYFK4EEABwDIgAEG0XMAdrAZOPUW6L9ADU8XK8sZr7dtIcDinSWU1zSV9s= +-----END PUBLIC KEY----- + +PrivPubKeyPair=ALICE_cf_secp128r1:ALICE_cf_secp128r1_PUB + +PrivateKey=BOB_cf_secp128r1 +-----BEGIN PRIVATE KEY----- +MC4CAQAwEAYHKoZIzj0CAQYFK4EEABwEFzAVAgEBBBB/J9/eClt9mimGwOcOsjJF +-----END PRIVATE KEY----- + +PublicKey=BOB_cf_secp128r1_PUB +-----BEGIN PUBLIC KEY----- +MDYwEAYHKoZIzj0CAQYFK4EEABwDIgAE82nknsOS+u8mybP0KJqQhvm83gbPNTZOcvm0ZDVR5sU= +-----END PUBLIC KEY----- + +PrivPubKeyPair=BOB_cf_secp128r1:BOB_cf_secp128r1_PUB + +# ECDH Alice with Bob peer +Derive=ALICE_cf_secp128r1 +PeerKey=BOB_cf_secp128r1_PUB +SharedSecret=5020f1b759da1f737a61a29a268d7669 + +# ECDH Bob with Alice peer +Derive=BOB_cf_secp128r1 +PeerKey=ALICE_cf_secp128r1_PUB +SharedSecret=5020f1b759da1f737a61a29a268d7669 + +# Title=secp128r2 curve tests + +PrivateKey=ALICE_cf_secp128r2 +-----BEGIN PRIVATE KEY----- +MC4CAQAwEAYHKoZIzj0CAQYFK4EEAB0EFzAVAgEBBBALPaUYCnPgNiLhez93Z1Gi +-----END PRIVATE KEY----- + +PublicKey=ALICE_cf_secp128r2_PUB +-----BEGIN PUBLIC KEY----- +MDYwEAYHKoZIzj0CAQYFK4EEAB0DIgAEOKiPRGtZXwxmvTr35NmUkNsAGGk9RKNA4D5BE9ZrjZQ= +-----END PUBLIC KEY----- + +PrivPubKeyPair=ALICE_cf_secp128r2:ALICE_cf_secp128r2_PUB + +PrivateKey=BOB_cf_secp128r2 +-----BEGIN PRIVATE KEY----- +MC4CAQAwEAYHKoZIzj0CAQYFK4EEAB0EFzAVAgEBBBARg3vb436QgyHdyt6l/b6G +-----END PRIVATE KEY----- + +PublicKey=BOB_cf_secp128r2_PUB +-----BEGIN PUBLIC KEY----- +MDYwEAYHKoZIzj0CAQYFK4EEAB0DIgAELph7h27BYjIINC2EddcpIOxKbdz8Xe7h3Az1ZuR9bAI= +-----END PUBLIC KEY----- + +PrivPubKeyPair=BOB_cf_secp128r2:BOB_cf_secp128r2_PUB + +# ECDH Alice with Bob peer +Derive=ALICE_cf_secp128r2 +PeerKey=BOB_cf_secp128r2_PUB +SharedSecret=8f4d8c75141e9b084328222440eb5dfa + +# ECDH Bob with Alice peer +Derive=BOB_cf_secp128r2 +PeerKey=ALICE_cf_secp128r2_PUB +SharedSecret=8f4d8c75141e9b084328222440eb5dfa + +# ECC CDH Alice with Bob peer +Derive=ALICE_cf_secp128r2 +PeerKey=BOB_cf_secp128r2_PUB +Ctrl=ecdh_cofactor_mode:1 +SharedSecret=baaa0c16e16eef291001475d638e4830 + +# ECC CDH Bob with Alice peer +Derive=BOB_cf_secp128r2 +PeerKey=ALICE_cf_secp128r2_PUB +Ctrl=ecdh_cofactor_mode:1 +SharedSecret=baaa0c16e16eef291001475d638e4830 + +PublicKey=MALICE_cf_secp128r2_PUB +-----BEGIN PUBLIC KEY----- +MDYwEAYHKoZIzj0CAQYFK4EEAB0DIgAE6h6RzJIp6HLR6RDOPtyzGDurkuE9aAaZqHosPTnkLxQ= +-----END PUBLIC KEY----- + +# ECC CDH Bob with Malice peer +Derive=BOB_cf_secp128r2 +PeerKey=MALICE_cf_secp128r2_PUB +Ctrl=ecdh_cofactor_mode:1 +Result=DERIVE_ERROR +Function=EC_POINT_get_affine_coordinates_GFp +Reason=point at infinity + +# ECC CDH Alice with Malice peer +Derive=ALICE_cf_secp128r2 +PeerKey=MALICE_cf_secp128r2_PUB +Ctrl=ecdh_cofactor_mode:1 +Result=DERIVE_ERROR +Function=EC_POINT_get_affine_coordinates_GFp +Reason=point at infinity + +# Title=secp160k1 curve tests + +PrivateKey=ALICE_cf_secp160k1 +-----BEGIN PRIVATE KEY----- +MDMCAQAwEAYHKoZIzj0CAQYFK4EEAAkEHDAaAgEBBBUAlxTBO50KwFwWKPtk1rutu68m+zI= +-----END PRIVATE KEY----- + +PublicKey=ALICE_cf_secp160k1_PUB +-----BEGIN PUBLIC KEY----- +MD4wEAYHKoZIzj0CAQYFK4EEAAkDKgAEcVWIjtPZn1cHckclpn5jKDCphQUVHxFN5tSeFG9wsJZT +EvqPyLS64w== +-----END PUBLIC KEY----- + +PrivPubKeyPair=ALICE_cf_secp160k1:ALICE_cf_secp160k1_PUB + +PrivateKey=BOB_cf_secp160k1 +-----BEGIN PRIVATE KEY----- +MDMCAQAwEAYHKoZIzj0CAQYFK4EEAAkEHDAaAgEBBBUAdrPkoNkRVUloiuwzruQszSUuwpY= +-----END PRIVATE KEY----- + +PublicKey=BOB_cf_secp160k1_PUB +-----BEGIN PUBLIC KEY----- +MD4wEAYHKoZIzj0CAQYFK4EEAAkDKgAESGN41cAj8Fg4pAJM7FUKHiawbCR0b9unMpZWxqOKeW1/ +bxT/CqEkyw== +-----END PUBLIC KEY----- + +PrivPubKeyPair=BOB_cf_secp160k1:BOB_cf_secp160k1_PUB + +# ECDH Alice with Bob peer +Derive=ALICE_cf_secp160k1 +PeerKey=BOB_cf_secp160k1_PUB +SharedSecret=b738a0bf17f3271a9a155bfdfe2f0f1d51494d42 + +# ECDH Bob with Alice peer +Derive=BOB_cf_secp160k1 +PeerKey=ALICE_cf_secp160k1_PUB +SharedSecret=b738a0bf17f3271a9a155bfdfe2f0f1d51494d42 + +# Title=secp160r1 curve tests + +PrivateKey=ALICE_cf_secp160r1 +-----BEGIN PRIVATE KEY----- +MDMCAQAwEAYHKoZIzj0CAQYFK4EEAAgEHDAaAgEBBBUAR6m1+jIBuJnSKx9fHmyAYhsnYe8= +-----END PRIVATE KEY----- + +PublicKey=ALICE_cf_secp160r1_PUB +-----BEGIN PUBLIC KEY----- +MD4wEAYHKoZIzj0CAQYFK4EEAAgDKgAEO78GZuBaCfJjHK97c9N21z+4mm37b5x7/Hr3Xc4pUbtb +OoNj/A+W9w== +-----END PUBLIC KEY----- + +PrivPubKeyPair=ALICE_cf_secp160r1:ALICE_cf_secp160r1_PUB + +PrivateKey=BOB_cf_secp160r1 +-----BEGIN PRIVATE KEY----- +MDMCAQAwEAYHKoZIzj0CAQYFK4EEAAgEHDAaAgEBBBUATqvd54Jj7TbnrLAd2dMYCpExLws= +-----END PRIVATE KEY----- + +PublicKey=BOB_cf_secp160r1_PUB +-----BEGIN PUBLIC KEY----- +MD4wEAYHKoZIzj0CAQYFK4EEAAgDKgAEBKDbBSPTwmb00MFvMtJMxQ2YDmcPOZHE8YbVr5hp8s5J +Jwy17FaNNg== +-----END PUBLIC KEY----- + +PrivPubKeyPair=BOB_cf_secp160r1:BOB_cf_secp160r1_PUB + +# ECDH Alice with Bob peer +Derive=ALICE_cf_secp160r1 +PeerKey=BOB_cf_secp160r1_PUB +SharedSecret=1912ea7b9bb1de5b8d3cef83e7a6e7a917816541 + +# ECDH Bob with Alice peer +Derive=BOB_cf_secp160r1 +PeerKey=ALICE_cf_secp160r1_PUB +SharedSecret=1912ea7b9bb1de5b8d3cef83e7a6e7a917816541 + +# Title=secp160r2 curve tests + +PrivateKey=ALICE_cf_secp160r2 +-----BEGIN PRIVATE KEY----- +MDMCAQAwEAYHKoZIzj0CAQYFK4EEAB4EHDAaAgEBBBUA3IsVg4R4paXaPATDHvzfnvM+vjQ= +-----END PRIVATE KEY----- + +PublicKey=ALICE_cf_secp160r2_PUB +-----BEGIN PUBLIC KEY----- +MD4wEAYHKoZIzj0CAQYFK4EEAB4DKgAE4V+25YCpVkKF6NF/UPc1SYxohYWcf3qT3JDoPRhnm/rj +mSqCCA6gUw== +-----END PUBLIC KEY----- + +PrivPubKeyPair=ALICE_cf_secp160r2:ALICE_cf_secp160r2_PUB + +PrivateKey=BOB_cf_secp160r2 +-----BEGIN PRIVATE KEY----- +MDMCAQAwEAYHKoZIzj0CAQYFK4EEAB4EHDAaAgEBBBUAYT/5C7UpD17DnZm4ObswmGFMI1Q= +-----END PRIVATE KEY----- + +PublicKey=BOB_cf_secp160r2_PUB +-----BEGIN PUBLIC KEY----- +MD4wEAYHKoZIzj0CAQYFK4EEAB4DKgAEB7YVzBmzhnIdouvN/nb8VMXCqO8dkhmebyVzoD0oAzuH +nN+SfWr6aQ== +-----END PUBLIC KEY----- + +PrivPubKeyPair=BOB_cf_secp160r2:BOB_cf_secp160r2_PUB + +# ECDH Alice with Bob peer +Derive=ALICE_cf_secp160r2 +PeerKey=BOB_cf_secp160r2_PUB +SharedSecret=ccb9cae5c9487ff60c487bd1b39a62eb4680e9b6 + +# ECDH Bob with Alice peer +Derive=BOB_cf_secp160r2 +PeerKey=ALICE_cf_secp160r2_PUB +SharedSecret=ccb9cae5c9487ff60c487bd1b39a62eb4680e9b6 + +# Title=secp192k1 curve tests + +PrivateKey=ALICE_cf_secp192k1 +-----BEGIN PRIVATE KEY----- +MDYCAQAwEAYHKoZIzj0CAQYFK4EEAB8EHzAdAgEBBBikVZrCZQB7ZtkhNfQYpjKHZ9KxXgooJ90= +-----END PRIVATE KEY----- + +PublicKey=ALICE_cf_secp192k1_PUB +-----BEGIN PUBLIC KEY----- +MEYwEAYHKoZIzj0CAQYFK4EEAB8DMgAEyV4EzMZglBXtYdn38hNTrCGflAsJprMkxkOlw58chZ25 +6EAu7gVvYDTpnRkymKyH +-----END PUBLIC KEY----- + +PrivPubKeyPair=ALICE_cf_secp192k1:ALICE_cf_secp192k1_PUB + +PrivateKey=BOB_cf_secp192k1 +-----BEGIN PRIVATE KEY----- +MDYCAQAwEAYHKoZIzj0CAQYFK4EEAB8EHzAdAgEBBBiJQ/PunKGk9QPUyqIBGMgHKKg+yxJr5io= +-----END PRIVATE KEY----- + +PublicKey=BOB_cf_secp192k1_PUB +-----BEGIN PUBLIC KEY----- +MEYwEAYHKoZIzj0CAQYFK4EEAB8DMgAE990Tnmh9QQQHVHuLpfrAsgjvB9R2MJXzhBZN1WvtxLqF +OZ2oFMP0Kfcr7HbI7a5j +-----END PUBLIC KEY----- + +PrivPubKeyPair=BOB_cf_secp192k1:BOB_cf_secp192k1_PUB + +# ECDH Alice with Bob peer +Derive=ALICE_cf_secp192k1 +PeerKey=BOB_cf_secp192k1_PUB +SharedSecret=a46a6bfb279d4dc30cffac585d1fbec905dbe46aca5e3c9d + +# ECDH Bob with Alice peer +Derive=BOB_cf_secp192k1 +PeerKey=ALICE_cf_secp192k1_PUB +SharedSecret=a46a6bfb279d4dc30cffac585d1fbec905dbe46aca5e3c9d + +# Title=secp224k1 curve tests + +PrivateKey=ALICE_cf_secp224k1 +-----BEGIN PRIVATE KEY----- +MDsCAQAwEAYHKoZIzj0CAQYFK4EEACAEJDAiAgEBBB0AZPk3TzxGhX7TljBBhJDLBfulAMp6Bh3W +w40Qyg== +-----END PRIVATE KEY----- + +PublicKey=ALICE_cf_secp224k1_PUB +-----BEGIN PUBLIC KEY----- +ME4wEAYHKoZIzj0CAQYFK4EEACADOgAE4o7LGdJDixqJZ5imnqaX4IeE55NG4W0HEe72LVC7pmn2 +e3m7uC92ZQhduF9lJli4dXD5en/1wkE= +-----END PUBLIC KEY----- + +PrivPubKeyPair=ALICE_cf_secp224k1:ALICE_cf_secp224k1_PUB + +PrivateKey=BOB_cf_secp224k1 +-----BEGIN PRIVATE KEY----- +MDsCAQAwEAYHKoZIzj0CAQYFK4EEACAEJDAiAgEBBB0AdQ02GguRy3yHOjLkpoWb27QA/L1abfWe +q2xUfA== +-----END PRIVATE KEY----- + +PublicKey=BOB_cf_secp224k1_PUB +-----BEGIN PUBLIC KEY----- +ME4wEAYHKoZIzj0CAQYFK4EEACADOgAEzp00m0DaADn1mGiDCT7K1LZnoj/vCxHPowUDC9yQd17K +KpJM5sGILrTkkgxqtt5pBeYE1NC1QUQ= +-----END PUBLIC KEY----- + +PrivPubKeyPair=BOB_cf_secp224k1:BOB_cf_secp224k1_PUB + +# ECDH Alice with Bob peer +Derive=ALICE_cf_secp224k1 +PeerKey=BOB_cf_secp224k1_PUB +SharedSecret=6f7b9d16c9c1d3a5c84b6028f2a4fed9ae8e02455e678a27243bcc48 + +# ECDH Bob with Alice peer +Derive=BOB_cf_secp224k1 +PeerKey=ALICE_cf_secp224k1_PUB +SharedSecret=6f7b9d16c9c1d3a5c84b6028f2a4fed9ae8e02455e678a27243bcc48 + +# Title=secp224r1 curve tests + +PrivateKey=ALICE_cf_secp224r1 +-----BEGIN PRIVATE KEY----- +MDoCAQAwEAYHKoZIzj0CAQYFK4EEACEEIzAhAgEBBBzeo7Y0HMfrIqKNm3r997jcfVAa4osa0AR2 +JA28 +-----END PRIVATE KEY----- + +PublicKey=ALICE_cf_secp224r1_PUB +-----BEGIN PUBLIC KEY----- +ME4wEAYHKoZIzj0CAQYFK4EEACEDOgAExZc6o84XjBGLOosGj2t0QctgiyzF3NcVgy+DeW7stkVs +yS2tRzMPBpwnApRzoRsdJR99sb3eM2s= +-----END PUBLIC KEY----- + +PrivPubKeyPair=ALICE_cf_secp224r1:ALICE_cf_secp224r1_PUB + +PrivateKey=BOB_cf_secp224r1 +-----BEGIN PRIVATE KEY----- +MDoCAQAwEAYHKoZIzj0CAQYFK4EEACEEIzAhAgEBBBy2LsqxHhdlSiAmMYKQAEmjJWT22T42GYKo +ZvXM +-----END PRIVATE KEY----- + +PublicKey=BOB_cf_secp224r1_PUB +-----BEGIN PUBLIC KEY----- +ME4wEAYHKoZIzj0CAQYFK4EEACEDOgAE71Eh6hwTKUrmyl2PdkY787GwxiohIcaqB4eK2Mwg6tU4 +LeJHWcgY18CgPKCaeldUgnkMcJzKj20= +-----END PUBLIC KEY----- + +PrivPubKeyPair=BOB_cf_secp224r1:BOB_cf_secp224r1_PUB + +# ECDH Alice with Bob peer +Derive=ALICE_cf_secp224r1 +PeerKey=BOB_cf_secp224r1_PUB +SharedSecret=29d8b75934d74d5153bbb94e0370437c63ecc30bf3d2800ed1cb7eb5 + +# ECDH Bob with Alice peer +Derive=BOB_cf_secp224r1 +PeerKey=ALICE_cf_secp224r1_PUB +SharedSecret=29d8b75934d74d5153bbb94e0370437c63ecc30bf3d2800ed1cb7eb5 + +# Title=secp256k1 curve tests + +PrivateKey=ALICE_cf_secp256k1 +-----BEGIN PRIVATE KEY----- +MD4CAQAwEAYHKoZIzj0CAQYFK4EEAAoEJzAlAgEBBCDV8jMZ/aJfiMEkW7HsYqbT57Y7vmvm5KN/ +QEXqsNCSpw== +-----END PRIVATE KEY----- + +PublicKey=ALICE_cf_secp256k1_PUB +-----BEGIN PUBLIC KEY----- +MFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAElytZZZHc9CelGzZkNGpzY2CHQ+3z6tUnfsQxUmtiZnUg +7oKfQC5BV8pZ5WYNPWnbT0RRg5kyBtzry9oQIhO5Lw== +-----END PUBLIC KEY----- + +PrivPubKeyPair=ALICE_cf_secp256k1:ALICE_cf_secp256k1_PUB + +PrivateKey=BOB_cf_secp256k1 +-----BEGIN PRIVATE KEY----- +MD4CAQAwEAYHKoZIzj0CAQYFK4EEAAoEJzAlAgEBBCBh7awFyPey/w4pKBycpAlhvT4DlLQsi1TT +BxJPHrAjrA== +-----END PRIVATE KEY----- + +PublicKey=BOB_cf_secp256k1_PUB +-----BEGIN PUBLIC KEY----- +MFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAE2BQeSJOa7kJAQsAPUbLseHjHhMe3tUOAl3bqoDqtrfO+ +2m2MP/IC/R9Kof2nmaiQ6DostdbS8kB+CnnprK375w== +-----END PUBLIC KEY----- + +PrivPubKeyPair=BOB_cf_secp256k1:BOB_cf_secp256k1_PUB + +# ECDH Alice with Bob peer +Derive=ALICE_cf_secp256k1 +PeerKey=BOB_cf_secp256k1_PUB +SharedSecret=a4745cc4d19cabb9e5cb0abdd5c604cab2846a4638ad844ed9175f3cadda2da1 + +# ECDH Bob with Alice peer +Derive=BOB_cf_secp256k1 +PeerKey=ALICE_cf_secp256k1_PUB +SharedSecret=a4745cc4d19cabb9e5cb0abdd5c604cab2846a4638ad844ed9175f3cadda2da1 + +# Title=secp384r1 curve tests + +PrivateKey=ALICE_cf_secp384r1 +-----BEGIN PRIVATE KEY----- +ME4CAQAwEAYHKoZIzj0CAQYFK4EEACIENzA1AgEBBDAp1ErG6wVjuJs90qVbUBxNpQK1wtV4ieX1 +bIU/4HssZK6WjOOTyYguyEBCOf/rUnw= +-----END PRIVATE KEY----- + +PublicKey=ALICE_cf_secp384r1_PUB +-----BEGIN PUBLIC KEY----- +MHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEx5rt+yujIuPoIXpHGmExKSi/P+58sGYoqgdpdOJUXzn2 +Rc4alCpSxVJeC55xvwaFHc3pzNyRGwnhPmN6oU/KMP6XjBvR4wq35mr/Sym5s0B2blAzkJU37idq +nTi3xGHx +-----END PUBLIC KEY----- + +PrivPubKeyPair=ALICE_cf_secp384r1:ALICE_cf_secp384r1_PUB + +PrivateKey=BOB_cf_secp384r1 +-----BEGIN PRIVATE KEY----- +ME4CAQAwEAYHKoZIzj0CAQYFK4EEACIENzA1AgEBBDAUjVgPpiI+xXye0nfRhc8+12hLdWY4fpsO +Jq2MCp+W85xJwtXsEPrHj1XFnKVpM4c= +-----END PRIVATE KEY----- + +PublicKey=BOB_cf_secp384r1_PUB +-----BEGIN PUBLIC KEY----- +MHYwEAYHKoZIzj0CAQYFK4EEACIDYgAE+JUBXRSHixH0TrcvYvIzep7+/WNpEhWdCPsLMygigW5j +pzP30MF41GnQYgfJu5wI/gu1C/jFTv1X6Dgmla3JxBYlPeD+1L0lEMT3evmHKMM/BFe3WKBuXyhP +ilrNtfee +-----END PUBLIC KEY----- + +PrivPubKeyPair=BOB_cf_secp384r1:BOB_cf_secp384r1_PUB + +# ECDH Alice with Bob peer +Derive=ALICE_cf_secp384r1 +PeerKey=BOB_cf_secp384r1_PUB +SharedSecret=b3cfe488126e2731fb7c19f82e94fcc05e1dd303649a9257e858030b795c2d344a054b0c44a24fd7f5821f531a9b8cfb + +# ECDH Bob with Alice peer +Derive=BOB_cf_secp384r1 +PeerKey=ALICE_cf_secp384r1_PUB +SharedSecret=b3cfe488126e2731fb7c19f82e94fcc05e1dd303649a9257e858030b795c2d344a054b0c44a24fd7f5821f531a9b8cfb + +# Title=secp521r1 curve tests + +PrivateKey=ALICE_cf_secp521r1 +-----BEGIN PRIVATE KEY----- +MGACAQAwEAYHKoZIzj0CAQYFK4EEACMESTBHAgEBBEIBsYIcUKeN2evB626LCdYWH/xzUiEDCdRP +rEENsC8//dowKnOCtlLtawh0DXTIZ/HhpUREuaoffdsmYb6+Oq1TRjc= +-----END PRIVATE KEY----- + +PublicKey=ALICE_cf_secp521r1_PUB +-----BEGIN PUBLIC KEY----- +MIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQBufYxJf/4Ds6g7LlFRVS62ljm3xApV2T79hfWH8Lv +iroIaCFjLBIfOVDF8jvj2PO1ar3yCLiSA2RiLZz1Y+tv/tcATHE0nS7l3SfGiGmEnVycEnhgqlKM +UM3kpdd7eNkQn5/GO8KAPQqA/sOnvTavg5S01t0ub+PY/w0Y6oBgthaUAW0= +-----END PUBLIC KEY----- + +PrivPubKeyPair=ALICE_cf_secp521r1:ALICE_cf_secp521r1_PUB + +PrivateKey=BOB_cf_secp521r1 +-----BEGIN PRIVATE KEY----- +MGACAQAwEAYHKoZIzj0CAQYFK4EEACMESTBHAgEBBEIB+3/adZnNwr6GFUzZpi8So7pC/5FYQ0+0 +lMmoUjGvy8DNADcHaPpW68hX/M+z7LrK0Jpnonb9JSEXlgjOPVe4Ea8= +-----END PRIVATE KEY----- + +PublicKey=BOB_cf_secp521r1_PUB +-----BEGIN PUBLIC KEY----- +MIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQBLq2fjyCalnvr24tjaz87ijIWlLMoCH7Hmyq1t2l8 +PFbyBIZbngDC0gwFM5ZI582QSWlW79G3clJP9VxlJOsms50BYBYgd6o2JF4w8AnShVXxFSJU1py4 +klCDNhTFybRHFXpujfuUeNnFxAGIUb4edJ0fAqqc7kkERhYe8EPEZYMKp3Q= +-----END PUBLIC KEY----- + +PrivPubKeyPair=BOB_cf_secp521r1:BOB_cf_secp521r1_PUB + +# ECDH Alice with Bob peer +Derive=ALICE_cf_secp521r1 +PeerKey=BOB_cf_secp521r1_PUB +SharedSecret=01dd4aa9037bb4ad298b420998dcd32b3a9af1cda8b7919e372aeb4e54ccfb4d2409a340ed896bfbc5dd462f8d96b8784bc17b29db3ca04700e6ec752f9bec777695 + +# ECDH Bob with Alice peer +Derive=BOB_cf_secp521r1 +PeerKey=ALICE_cf_secp521r1_PUB +SharedSecret=01dd4aa9037bb4ad298b420998dcd32b3a9af1cda8b7919e372aeb4e54ccfb4d2409a340ed896bfbc5dd462f8d96b8784bc17b29db3ca04700e6ec752f9bec777695 + +# Title=sect113r1 curve tests + +PrivateKey=ALICE_cf_sect113r1 +-----BEGIN PRIVATE KEY----- +MC0CAQAwEAYHKoZIzj0CAQYFK4EEAAQEFjAUAgEBBA8ALw9CgsuNBkkhhUHE8bQ= +-----END PRIVATE KEY----- + +PublicKey=ALICE_cf_sect113r1_PUB +-----BEGIN PUBLIC KEY----- +MDQwEAYHKoZIzj0CAQYFK4EEAAQDIAAEASO9jcamlg1pRE7JffrTAe9kyRZO2xrymHXoGdnA +-----END PUBLIC KEY----- + +PrivPubKeyPair=ALICE_cf_sect113r1:ALICE_cf_sect113r1_PUB + +PrivateKey=BOB_cf_sect113r1 +-----BEGIN PRIVATE KEY----- +MC0CAQAwEAYHKoZIzj0CAQYFK4EEAAQEFjAUAgEBBA8A/9qbs8sTFNkjS9/4CuM= +-----END PRIVATE KEY----- + +PublicKey=BOB_cf_sect113r1_PUB +-----BEGIN PUBLIC KEY----- +MDQwEAYHKoZIzj0CAQYFK4EEAAQDIAAEATykaf/cvJzLOUto1EbbAEz/3++nut6q0dcJOQeV +-----END PUBLIC KEY----- + +PrivPubKeyPair=BOB_cf_sect113r1:BOB_cf_sect113r1_PUB + +# ECDH Alice with Bob peer +Derive=ALICE_cf_sect113r1 +PeerKey=BOB_cf_sect113r1_PUB +SharedSecret=01ed16f1948dcb368a54004237842d + +# ECDH Bob with Alice peer +Derive=BOB_cf_sect113r1 +PeerKey=ALICE_cf_sect113r1_PUB +SharedSecret=01ed16f1948dcb368a54004237842d + +# ECC CDH Alice with Bob peer +Derive=ALICE_cf_sect113r1 +PeerKey=BOB_cf_sect113r1_PUB +Ctrl=ecdh_cofactor_mode:1 +SharedSecret=012e5f3e348c2a8a88d9590a639219 + +# ECC CDH Bob with Alice peer +Derive=BOB_cf_sect113r1 +PeerKey=ALICE_cf_sect113r1_PUB +Ctrl=ecdh_cofactor_mode:1 +SharedSecret=012e5f3e348c2a8a88d9590a639219 + +PublicKey=MALICE_cf_sect113r1_PUB +-----BEGIN PUBLIC KEY----- +MDQwEAYHKoZIzj0CAQYFK4EEAAQDIAAEAAAAAAAAAAAAAAAAAAAAAd+TqiBXnTd/lyA/OFsR +-----END PUBLIC KEY----- + +# ECC CDH Bob with Malice peer +Derive=BOB_cf_sect113r1 +PeerKey=MALICE_cf_sect113r1_PUB +Ctrl=ecdh_cofactor_mode:1 +Result=DERIVE_ERROR +Function=EC_POINT_get_affine_coordinates_GF2m +Reason=point at infinity + +# ECC CDH Alice with Malice peer +Derive=ALICE_cf_sect113r1 +PeerKey=MALICE_cf_sect113r1_PUB +Ctrl=ecdh_cofactor_mode:1 +Result=DERIVE_ERROR +Function=EC_POINT_get_affine_coordinates_GF2m +Reason=point at infinity + +# Title=sect113r2 curve tests + +PrivateKey=ALICE_cf_sect113r2 +-----BEGIN PRIVATE KEY----- +MC0CAQAwEAYHKoZIzj0CAQYFK4EEAAUEFjAUAgEBBA8AvovirHrqTxoKJ3l+7y0= +-----END PRIVATE KEY----- + +PublicKey=ALICE_cf_sect113r2_PUB +-----BEGIN PUBLIC KEY----- +MDQwEAYHKoZIzj0CAQYFK4EEAAUDIAAEAFvQ4JgQTS8kjGeVfuITAS81qNcOQvt3PYa1HuCk +-----END PUBLIC KEY----- + +PrivPubKeyPair=ALICE_cf_sect113r2:ALICE_cf_sect113r2_PUB + +PrivateKey=BOB_cf_sect113r2 +-----BEGIN PRIVATE KEY----- +MC0CAQAwEAYHKoZIzj0CAQYFK4EEAAUEFjAUAgEBBA8ArUjgvp/goxRYb4WuQ80= +-----END PRIVATE KEY----- + +PublicKey=BOB_cf_sect113r2_PUB +-----BEGIN PUBLIC KEY----- +MDQwEAYHKoZIzj0CAQYFK4EEAAUDIAAEAUoS3of8y28meYu/NoI5AVdhJZCuDjMqFHTriWY4 +-----END PUBLIC KEY----- + +PrivPubKeyPair=BOB_cf_sect113r2:BOB_cf_sect113r2_PUB + +# ECDH Alice with Bob peer +Derive=ALICE_cf_sect113r2 +PeerKey=BOB_cf_sect113r2_PUB +SharedSecret=0057a287ba1ea05cb4735e673647e1 + +# ECDH Bob with Alice peer +Derive=BOB_cf_sect113r2 +PeerKey=ALICE_cf_sect113r2_PUB +SharedSecret=0057a287ba1ea05cb4735e673647e1 + +# ECC CDH Alice with Bob peer +Derive=ALICE_cf_sect113r2 +PeerKey=BOB_cf_sect113r2_PUB +Ctrl=ecdh_cofactor_mode:1 +SharedSecret=00fec2454e46732aca42b22b6d4f13 + +# ECC CDH Bob with Alice peer +Derive=BOB_cf_sect113r2 +PeerKey=ALICE_cf_sect113r2_PUB +Ctrl=ecdh_cofactor_mode:1 +SharedSecret=00fec2454e46732aca42b22b6d4f13 + +PublicKey=MALICE_cf_sect113r2_PUB +-----BEGIN PUBLIC KEY----- +MDQwEAYHKoZIzj0CAQYFK4EEAAUDIAAEAAAAAAAAAAAAAAAAAAAAAR3dbPHrhFekzJ7Azskr +-----END PUBLIC KEY----- + +# ECC CDH Bob with Malice peer +Derive=BOB_cf_sect113r2 +PeerKey=MALICE_cf_sect113r2_PUB +Ctrl=ecdh_cofactor_mode:1 +Result=DERIVE_ERROR +Function=EC_POINT_get_affine_coordinates_GF2m +Reason=point at infinity + +# ECC CDH Alice with Malice peer +Derive=ALICE_cf_sect113r2 +PeerKey=MALICE_cf_sect113r2_PUB +Ctrl=ecdh_cofactor_mode:1 +Result=DERIVE_ERROR +Function=EC_POINT_get_affine_coordinates_GF2m +Reason=point at infinity + +# Title=sect131r1 curve tests + +PrivateKey=ALICE_cf_sect131r1 +-----BEGIN PRIVATE KEY----- +MC8CAQAwEAYHKoZIzj0CAQYFK4EEABYEGDAWAgEBBBEA5C6zHMQM7pXPZ6cJz72Niw== +-----END PRIVATE KEY----- + +PublicKey=ALICE_cf_sect131r1_PUB +-----BEGIN PUBLIC KEY----- +MDgwEAYHKoZIzj0CAQYFK4EEABYDJAAEBXCuXD6wOOif91GUlJNKXf8FBNw8crgqi5aEJEZbCdBJ +Ag== +-----END PUBLIC KEY----- + +PrivPubKeyPair=ALICE_cf_sect131r1:ALICE_cf_sect131r1_PUB + +PrivateKey=BOB_cf_sect131r1 +-----BEGIN PRIVATE KEY----- +MC8CAQAwEAYHKoZIzj0CAQYFK4EEABYEGDAWAgEBBBEDYZmjiokBJ/SnTv8sskBR3A== +-----END PRIVATE KEY----- + +PublicKey=BOB_cf_sect131r1_PUB +-----BEGIN PUBLIC KEY----- +MDgwEAYHKoZIzj0CAQYFK4EEABYDJAAEB8vGy3OQXwWKcJUSSJbCtpMBjFgJeZxzAaI420+B1B+1 +5A== +-----END PUBLIC KEY----- + +PrivPubKeyPair=BOB_cf_sect131r1:BOB_cf_sect131r1_PUB + +# ECDH Alice with Bob peer +Derive=ALICE_cf_sect131r1 +PeerKey=BOB_cf_sect131r1_PUB +SharedSecret=05346248f77f81fff50cc656e119976871 + +# ECDH Bob with Alice peer +Derive=BOB_cf_sect131r1 +PeerKey=ALICE_cf_sect131r1_PUB +SharedSecret=05346248f77f81fff50cc656e119976871 + +# ECC CDH Alice with Bob peer +Derive=ALICE_cf_sect131r1 +PeerKey=BOB_cf_sect131r1_PUB +Ctrl=ecdh_cofactor_mode:1 +SharedSecret=01f151ae26efa507acc2597356baf7e8ab + +# ECC CDH Bob with Alice peer +Derive=BOB_cf_sect131r1 +PeerKey=ALICE_cf_sect131r1_PUB +Ctrl=ecdh_cofactor_mode:1 +SharedSecret=01f151ae26efa507acc2597356baf7e8ab + +PublicKey=MALICE_cf_sect131r1_PUB +-----BEGIN PUBLIC KEY----- +MDgwEAYHKoZIzj0CAQYFK4EEABYDJAAEAAAAAAAAAAAAAAAAAAAAAAABfiJEFG0vRzEGxk2BxjmK +zw== +-----END PUBLIC KEY----- + +# ECC CDH Bob with Malice peer +Derive=BOB_cf_sect131r1 +PeerKey=MALICE_cf_sect131r1_PUB +Ctrl=ecdh_cofactor_mode:1 +Result=DERIVE_ERROR +Function=EC_POINT_get_affine_coordinates_GF2m +Reason=point at infinity + +# ECC CDH Alice with Malice peer +Derive=ALICE_cf_sect131r1 +PeerKey=MALICE_cf_sect131r1_PUB +Ctrl=ecdh_cofactor_mode:1 +Result=DERIVE_ERROR +Function=EC_POINT_get_affine_coordinates_GF2m +Reason=point at infinity + +# Title=sect131r2 curve tests + +PrivateKey=ALICE_cf_sect131r2 +-----BEGIN PRIVATE KEY----- +MC8CAQAwEAYHKoZIzj0CAQYFK4EEABcEGDAWAgEBBBEBnZRUKAQetk5kyUwhIaAyxg== +-----END PRIVATE KEY----- + +PublicKey=ALICE_cf_sect131r2_PUB +-----BEGIN PUBLIC KEY----- +MDgwEAYHKoZIzj0CAQYFK4EEABcDJAAEA5+Y20L8q989I4jnKknZ7hcGlQ6RUIGni9RahT88kB/d +dw== +-----END PUBLIC KEY----- + +PrivPubKeyPair=ALICE_cf_sect131r2:ALICE_cf_sect131r2_PUB + +PrivateKey=BOB_cf_sect131r2 +-----BEGIN PRIVATE KEY----- +MC8CAQAwEAYHKoZIzj0CAQYFK4EEABcEGDAWAgEBBBEBnafx9vcMeoCqj/1YNuflzw== +-----END PRIVATE KEY----- + +PublicKey=BOB_cf_sect131r2_PUB +-----BEGIN PUBLIC KEY----- +MDgwEAYHKoZIzj0CAQYFK4EEABcDJAAEB2G2uNkhQNjjl0/Ov6UYpxoFaWNXO+qy7poV6cdrFN7z +pA== +-----END PUBLIC KEY----- + +PrivPubKeyPair=BOB_cf_sect131r2:BOB_cf_sect131r2_PUB + +# ECDH Alice with Bob peer +Derive=ALICE_cf_sect131r2 +PeerKey=BOB_cf_sect131r2_PUB +SharedSecret=058d8a8be33068ed8c1dc9f551ef2c3f3c + +# ECDH Bob with Alice peer +Derive=BOB_cf_sect131r2 +PeerKey=ALICE_cf_sect131r2_PUB +SharedSecret=058d8a8be33068ed8c1dc9f551ef2c3f3c + +# ECC CDH Alice with Bob peer +Derive=ALICE_cf_sect131r2 +PeerKey=BOB_cf_sect131r2_PUB +Ctrl=ecdh_cofactor_mode:1 +SharedSecret=037b16d85f27c2c878ef96c79a536f89a5 + +# ECC CDH Bob with Alice peer +Derive=BOB_cf_sect131r2 +PeerKey=ALICE_cf_sect131r2_PUB +Ctrl=ecdh_cofactor_mode:1 +SharedSecret=037b16d85f27c2c878ef96c79a536f89a5 + +PublicKey=MALICE_cf_sect131r2_PUB +-----BEGIN PUBLIC KEY----- +MDgwEAYHKoZIzj0CAQYFK4EEABcDJAAEAAAAAAAAAAAAAAAAAAAAAAAGG5fiIbgziwBZHVzTYqCY +1w== +-----END PUBLIC KEY----- + +# ECC CDH Bob with Malice peer +Derive=BOB_cf_sect131r2 +PeerKey=MALICE_cf_sect131r2_PUB +Ctrl=ecdh_cofactor_mode:1 +Result=DERIVE_ERROR +Function=EC_POINT_get_affine_coordinates_GF2m +Reason=point at infinity + +# ECC CDH Alice with Malice peer +Derive=ALICE_cf_sect131r2 +PeerKey=MALICE_cf_sect131r2_PUB +Ctrl=ecdh_cofactor_mode:1 +Result=DERIVE_ERROR +Function=EC_POINT_get_affine_coordinates_GF2m +Reason=point at infinity + +# Title=sect163k1 curve tests + +PrivateKey=ALICE_cf_sect163k1 +-----BEGIN PRIVATE KEY----- +MDMCAQAwEAYHKoZIzj0CAQYFK4EEAAEEHDAaAgEBBBUB905PYfmej8LzbzX6Bg51GJzXQjQ= +-----END PRIVATE KEY----- + +PublicKey=ALICE_cf_sect163k1_PUB +-----BEGIN PUBLIC KEY----- +MEAwEAYHKoZIzj0CAQYFK4EEAAEDLAAEBfvs5A1hD8YySP9O2ub8GEUfotVuBpfRx4GIHdAfx8wV +1UVeTRnyAlWU +-----END PUBLIC KEY----- + +PrivPubKeyPair=ALICE_cf_sect163k1:ALICE_cf_sect163k1_PUB + +PrivateKey=BOB_cf_sect163k1 +-----BEGIN PRIVATE KEY----- +MDMCAQAwEAYHKoZIzj0CAQYFK4EEAAEEHDAaAgEBBBUCHPtCjJ4/K8ylQBcLlb5VE0bkaUE= +-----END PRIVATE KEY----- + +PublicKey=BOB_cf_sect163k1_PUB +-----BEGIN PUBLIC KEY----- +MEAwEAYHKoZIzj0CAQYFK4EEAAEDLAAEBvgfX1mTRlt6Z4TE1D1MNWo4loH4AoeYa6oowK104LKk +nsdg7isQ8XBD +-----END PUBLIC KEY----- + +PrivPubKeyPair=BOB_cf_sect163k1:BOB_cf_sect163k1_PUB + +# ECDH Alice with Bob peer +Derive=ALICE_cf_sect163k1 +PeerKey=BOB_cf_sect163k1_PUB +SharedSecret=04d0e40788c5ce5220818055277cae53eac55c1e6b + +# ECDH Bob with Alice peer +Derive=BOB_cf_sect163k1 +PeerKey=ALICE_cf_sect163k1_PUB +SharedSecret=04d0e40788c5ce5220818055277cae53eac55c1e6b + +# ECC CDH Alice with Bob peer +Derive=ALICE_cf_sect163k1 +PeerKey=BOB_cf_sect163k1_PUB +Ctrl=ecdh_cofactor_mode:1 +SharedSecret=04c902a91110244d89110034dd2b099c49cbab6c77 + +# ECC CDH Bob with Alice peer +Derive=BOB_cf_sect163k1 +PeerKey=ALICE_cf_sect163k1_PUB +Ctrl=ecdh_cofactor_mode:1 +SharedSecret=04c902a91110244d89110034dd2b099c49cbab6c77 + +PublicKey=MALICE_cf_sect163k1_PUB +-----BEGIN PUBLIC KEY----- +MEAwEAYHKoZIzj0CAQYFK4EEAAEDLAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAB +-----END PUBLIC KEY----- + +# ECC CDH Bob with Malice peer +Derive=BOB_cf_sect163k1 +PeerKey=MALICE_cf_sect163k1_PUB +Ctrl=ecdh_cofactor_mode:1 +Result=DERIVE_ERROR +Function=EC_POINT_get_affine_coordinates_GF2m +Reason=point at infinity + +# ECC CDH Alice with Malice peer +Derive=ALICE_cf_sect163k1 +PeerKey=MALICE_cf_sect163k1_PUB +Ctrl=ecdh_cofactor_mode:1 +Result=DERIVE_ERROR +Function=EC_POINT_get_affine_coordinates_GF2m +Reason=point at infinity + +# Title=sect163r1 curve tests + +PrivateKey=ALICE_cf_sect163r1 +-----BEGIN PRIVATE KEY----- +MDMCAQAwEAYHKoZIzj0CAQYFK4EEAAIEHDAaAgEBBBUAlbn4x1UGJnAimsXufB/UvUaxU5U= +-----END PRIVATE KEY----- + +PublicKey=ALICE_cf_sect163r1_PUB +-----BEGIN PUBLIC KEY----- +MEAwEAYHKoZIzj0CAQYFK4EEAAIDLAAEA0f195HCcD4D+7wWyl3QuPkRovG/ATy5l7fpMl4BNIg/ +sbtEXluCzANF +-----END PUBLIC KEY----- + +PrivPubKeyPair=ALICE_cf_sect163r1:ALICE_cf_sect163r1_PUB + +PrivateKey=BOB_cf_sect163r1 +-----BEGIN PRIVATE KEY----- +MDMCAQAwEAYHKoZIzj0CAQYFK4EEAAIEHDAaAgEBBBUAoStq6Fjb7nB2PNL6WrzKKqhCGdE= +-----END PRIVATE KEY----- + +PublicKey=BOB_cf_sect163r1_PUB +-----BEGIN PUBLIC KEY----- +MEAwEAYHKoZIzj0CAQYFK4EEAAIDLAAEAul/oBKr9B5MsPHWGF+q07j0JC+WAxj1JzfcIXR98n+r +9FHWU5LC5pDM +-----END PUBLIC KEY----- + +PrivPubKeyPair=BOB_cf_sect163r1:BOB_cf_sect163r1_PUB + +# ECDH Alice with Bob peer +Derive=ALICE_cf_sect163r1 +PeerKey=BOB_cf_sect163r1_PUB +SharedSecret=06135eef489fe613c0d8bd522a2a640ff7ae6fb73d + +# ECDH Bob with Alice peer +Derive=BOB_cf_sect163r1 +PeerKey=ALICE_cf_sect163r1_PUB +SharedSecret=06135eef489fe613c0d8bd522a2a640ff7ae6fb73d + +# ECC CDH Alice with Bob peer +Derive=ALICE_cf_sect163r1 +PeerKey=BOB_cf_sect163r1_PUB +Ctrl=ecdh_cofactor_mode:1 +SharedSecret=0580f5e8efb242a19ae1023acbcab8702c799751e7 + +# ECC CDH Bob with Alice peer +Derive=BOB_cf_sect163r1 +PeerKey=ALICE_cf_sect163r1_PUB +Ctrl=ecdh_cofactor_mode:1 +SharedSecret=0580f5e8efb242a19ae1023acbcab8702c799751e7 + +PublicKey=MALICE_cf_sect163r1_PUB +-----BEGIN PUBLIC KEY----- +MEAwEAYHKoZIzj0CAQYFK4EEAAIDLAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJkXolVuGFa8fqmk +cs0Bv7iJuVg1 +-----END PUBLIC KEY----- + +# ECC CDH Bob with Malice peer +Derive=BOB_cf_sect163r1 +PeerKey=MALICE_cf_sect163r1_PUB +Ctrl=ecdh_cofactor_mode:1 +Result=DERIVE_ERROR +Function=EC_POINT_get_affine_coordinates_GF2m +Reason=point at infinity + +# ECC CDH Alice with Malice peer +Derive=ALICE_cf_sect163r1 +PeerKey=MALICE_cf_sect163r1_PUB +Ctrl=ecdh_cofactor_mode:1 +Result=DERIVE_ERROR +Function=EC_POINT_get_affine_coordinates_GF2m +Reason=point at infinity + +# Title=sect163r2 curve tests + +PrivateKey=ALICE_cf_sect163r2 +-----BEGIN PRIVATE KEY----- +MDMCAQAwEAYHKoZIzj0CAQYFK4EEAA8EHDAaAgEBBBUBjCs/M3N31jsAueYrOq21vdETwAI= +-----END PRIVATE KEY----- + +PublicKey=ALICE_cf_sect163r2_PUB +-----BEGIN PUBLIC KEY----- +MEAwEAYHKoZIzj0CAQYFK4EEAA8DLAAEBd8Z1/HpA+89hF4I98EST3svWns3BAEbhWmL/fgxk2uu +YwVrmqhgqH/C +-----END PUBLIC KEY----- + +PrivPubKeyPair=ALICE_cf_sect163r2:ALICE_cf_sect163r2_PUB + +PrivateKey=BOB_cf_sect163r2 +-----BEGIN PRIVATE KEY----- +MDMCAQAwEAYHKoZIzj0CAQYFK4EEAA8EHDAaAgEBBBUBsiouT9Df+mwHWrpPg1JSrY9nqlI= +-----END PRIVATE KEY----- + +PublicKey=BOB_cf_sect163r2_PUB +-----BEGIN PUBLIC KEY----- +MEAwEAYHKoZIzj0CAQYFK4EEAA8DLAAEBULqBZ+nhLhDEMYY8NEEzZ126MdxAcFXWv8zmPEH9505 +8vT5zU3aq6HV +-----END PUBLIC KEY----- + +PrivPubKeyPair=BOB_cf_sect163r2:BOB_cf_sect163r2_PUB + +# ECDH Alice with Bob peer +Derive=ALICE_cf_sect163r2 +PeerKey=BOB_cf_sect163r2_PUB +SharedSecret=019f829a53c4e6544bdec1395a23082169efaf369d + +# ECDH Bob with Alice peer +Derive=BOB_cf_sect163r2 +PeerKey=ALICE_cf_sect163r2_PUB +SharedSecret=019f829a53c4e6544bdec1395a23082169efaf369d + +# ECC CDH Alice with Bob peer +Derive=ALICE_cf_sect163r2 +PeerKey=BOB_cf_sect163r2_PUB +Ctrl=ecdh_cofactor_mode:1 +SharedSecret=048870d39235ecbc16a000ee478833509b9318a53f + +# ECC CDH Bob with Alice peer +Derive=BOB_cf_sect163r2 +PeerKey=ALICE_cf_sect163r2_PUB +Ctrl=ecdh_cofactor_mode:1 +SharedSecret=048870d39235ecbc16a000ee478833509b9318a53f + +PublicKey=MALICE_cf_sect163r2_PUB +-----BEGIN PUBLIC KEY----- +MEAwEAYHKoZIzj0CAQYFK4EEAA8DLAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAsJbhbrfiSdZPSHD +ZtqJwDlp802l +-----END PUBLIC KEY----- + +# ECC CDH Bob with Malice peer +Derive=BOB_cf_sect163r2 +PeerKey=MALICE_cf_sect163r2_PUB +Ctrl=ecdh_cofactor_mode:1 +Result=DERIVE_ERROR +Function=EC_POINT_get_affine_coordinates_GF2m +Reason=point at infinity + +# ECC CDH Alice with Malice peer +Derive=ALICE_cf_sect163r2 +PeerKey=MALICE_cf_sect163r2_PUB +Ctrl=ecdh_cofactor_mode:1 +Result=DERIVE_ERROR +Function=EC_POINT_get_affine_coordinates_GF2m +Reason=point at infinity + +# Title=sect193r1 curve tests + +PrivateKey=ALICE_cf_sect193r1 +-----BEGIN PRIVATE KEY----- +MDcCAQAwEAYHKoZIzj0CAQYFK4EEABgEIDAeAgEBBBkACmcvidKWLtPFB2xqg76F8VhM1Njzrkgo +-----END PRIVATE KEY----- + +PublicKey=ALICE_cf_sect193r1_PUB +-----BEGIN PUBLIC KEY----- +MEgwEAYHKoZIzj0CAQYFK4EEABgDNAAEAeqP0VQobenduwtf4MPmlYQVDjUmxKq50QFHnaBfzwXY +1TYShZZgBr0R6a5dUGCbiF0= +-----END PUBLIC KEY----- + +PrivPubKeyPair=ALICE_cf_sect193r1:ALICE_cf_sect193r1_PUB + +PrivateKey=BOB_cf_sect193r1 +-----BEGIN PRIVATE KEY----- +MDcCAQAwEAYHKoZIzj0CAQYFK4EEABgEIDAeAgEBBBkAKlSknQ66vpuLjC1mbQyfHOTdJ5Kw5jMh +-----END PRIVATE KEY----- + +PublicKey=BOB_cf_sect193r1_PUB +-----BEGIN PUBLIC KEY----- +MEgwEAYHKoZIzj0CAQYFK4EEABgDNAAEAaFZVIeqfV9wbPydaBSJKSWJjVyFVSB/QQB5rHonYQmK +f40zok8PJS6ratIcZwk/n20= +-----END PUBLIC KEY----- + +PrivPubKeyPair=BOB_cf_sect193r1:BOB_cf_sect193r1_PUB + +# ECDH Alice with Bob peer +Derive=ALICE_cf_sect193r1 +PeerKey=BOB_cf_sect193r1_PUB +SharedSecret=012b8849991814f8c7ed9d40cf9dc204c3a83e0b10675543a5 + +# ECDH Bob with Alice peer +Derive=BOB_cf_sect193r1 +PeerKey=ALICE_cf_sect193r1_PUB +SharedSecret=012b8849991814f8c7ed9d40cf9dc204c3a83e0b10675543a5 + +# ECC CDH Alice with Bob peer +Derive=ALICE_cf_sect193r1 +PeerKey=BOB_cf_sect193r1_PUB +Ctrl=ecdh_cofactor_mode:1 +SharedSecret=0110180a18844859c52f6f012909522a2d87b5ab143bc80a55 + +# ECC CDH Bob with Alice peer +Derive=BOB_cf_sect193r1 +PeerKey=ALICE_cf_sect193r1_PUB +Ctrl=ecdh_cofactor_mode:1 +SharedSecret=0110180a18844859c52f6f012909522a2d87b5ab143bc80a55 + +PublicKey=MALICE_cf_sect193r1_PUB +-----BEGIN PUBLIC KEY----- +MEgwEAYHKoZIzj0CAQYFK4EEABgDNAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHeX7PX3e5n +zROUg6/STkLp1D+L51L9+wY= +-----END PUBLIC KEY----- + +# ECC CDH Bob with Malice peer +Derive=BOB_cf_sect193r1 +PeerKey=MALICE_cf_sect193r1_PUB +Ctrl=ecdh_cofactor_mode:1 +Result=DERIVE_ERROR +Function=EC_POINT_get_affine_coordinates_GF2m +Reason=point at infinity + +# ECC CDH Alice with Malice peer +Derive=ALICE_cf_sect193r1 +PeerKey=MALICE_cf_sect193r1_PUB +Ctrl=ecdh_cofactor_mode:1 +Result=DERIVE_ERROR +Function=EC_POINT_get_affine_coordinates_GF2m +Reason=point at infinity + +# Title=sect193r2 curve tests + +PrivateKey=ALICE_cf_sect193r2 +-----BEGIN PRIVATE KEY----- +MDcCAQAwEAYHKoZIzj0CAQYFK4EEABkEIDAeAgEBBBkAhjkv8lXK/nPp3Qc4IwL/29JUKWi2VBMp +-----END PRIVATE KEY----- + +PublicKey=ALICE_cf_sect193r2_PUB +-----BEGIN PUBLIC KEY----- +MEgwEAYHKoZIzj0CAQYFK4EEABkDNAAEAIn7oSu3adu4ChNXniHKkMIv9gT24rpzzwAeCTDPIkUT +kJ+Tit6e4RpgkB/dph4V+uI= +-----END PUBLIC KEY----- + +PrivPubKeyPair=ALICE_cf_sect193r2:ALICE_cf_sect193r2_PUB + +PrivateKey=BOB_cf_sect193r2 +-----BEGIN PRIVATE KEY----- +MDcCAQAwEAYHKoZIzj0CAQYFK4EEABkEIDAeAgEBBBkAwGkR3qSQdfh7Q6KbJ4lH5FShGsX8o/jD +-----END PRIVATE KEY----- + +PublicKey=BOB_cf_sect193r2_PUB +-----BEGIN PUBLIC KEY----- +MEgwEAYHKoZIzj0CAQYFK4EEABkDNAAEAFdSLKI0tlwZDpkndutOLsnHii1aJO8snwEJ0m/AZgMp +xiDevOQ/xE9SpMX25W7YqkU= +-----END PUBLIC KEY----- + +PrivPubKeyPair=BOB_cf_sect193r2:BOB_cf_sect193r2_PUB + +# ECDH Alice with Bob peer +Derive=ALICE_cf_sect193r2 +PeerKey=BOB_cf_sect193r2_PUB +SharedSecret=01e2f66a63c24c1de8a399c484228a5ad5b6d911c6e5e83ae3 + +# ECDH Bob with Alice peer +Derive=BOB_cf_sect193r2 +PeerKey=ALICE_cf_sect193r2_PUB +SharedSecret=01e2f66a63c24c1de8a399c484228a5ad5b6d911c6e5e83ae3 + +# ECC CDH Alice with Bob peer +Derive=ALICE_cf_sect193r2 +PeerKey=BOB_cf_sect193r2_PUB +Ctrl=ecdh_cofactor_mode:1 +SharedSecret=00bc82d393bd74406683aea003977a86a109f444a833652e43 + +# ECC CDH Bob with Alice peer +Derive=BOB_cf_sect193r2 +PeerKey=ALICE_cf_sect193r2_PUB +Ctrl=ecdh_cofactor_mode:1 +SharedSecret=00bc82d393bd74406683aea003977a86a109f444a833652e43 + +PublicKey=MALICE_cf_sect193r2_PUB +-----BEGIN PUBLIC KEY----- +MEgwEAYHKoZIzj0CAQYFK4EEABkDNAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFfdLEkrvsO +Y7+6QpEvOay9A4MJCUZfZmI= +-----END PUBLIC KEY----- + +# ECC CDH Bob with Malice peer +Derive=BOB_cf_sect193r2 +PeerKey=MALICE_cf_sect193r2_PUB +Ctrl=ecdh_cofactor_mode:1 +Result=DERIVE_ERROR +Function=EC_POINT_get_affine_coordinates_GF2m +Reason=point at infinity + +# ECC CDH Alice with Malice peer +Derive=ALICE_cf_sect193r2 +PeerKey=MALICE_cf_sect193r2_PUB +Ctrl=ecdh_cofactor_mode:1 +Result=DERIVE_ERROR +Function=EC_POINT_get_affine_coordinates_GF2m +Reason=point at infinity + +# Title=sect233k1 curve tests + +PrivateKey=ALICE_cf_sect233k1 +-----BEGIN PRIVATE KEY----- +MDsCAQAwEAYHKoZIzj0CAQYFK4EEABoEJDAiAgEBBB0z/3heNFjJL+2sAT/38yRsN3kt2iXz7u+y +Gua8Kw== +-----END PRIVATE KEY----- + +PublicKey=ALICE_cf_sect233k1_PUB +-----BEGIN PUBLIC KEY----- +MFIwEAYHKoZIzj0CAQYFK4EEABoDPgAEALQyn0zJmOrHm4S2EIjxRe899PadBnfpYjLKWGvpAIzf +MEG861Nv1IYJkmkO1xlfNHeeRtqFgsQVFKZh +-----END PUBLIC KEY----- + +PrivPubKeyPair=ALICE_cf_sect233k1:ALICE_cf_sect233k1_PUB + +PrivateKey=BOB_cf_sect233k1 +-----BEGIN PRIVATE KEY----- +MDsCAQAwEAYHKoZIzj0CAQYFK4EEABoEJDAiAgEBBB1I0ucrC4d9i6Z+0cbar5r7uKpF5iiQkSJA +DFMTUA== +-----END PRIVATE KEY----- + +PublicKey=BOB_cf_sect233k1_PUB +-----BEGIN PUBLIC KEY----- +MFIwEAYHKoZIzj0CAQYFK4EEABoDPgAEAatdqazxSghJ568CBFyMXhEvVeAiLewOY/jk9H5DAOB4 +ufNGbdd131KLaKPivB38a6n5Y+2BVSJangow +-----END PUBLIC KEY----- + +PrivPubKeyPair=BOB_cf_sect233k1:BOB_cf_sect233k1_PUB + +# ECDH Alice with Bob peer +Derive=ALICE_cf_sect233k1 +PeerKey=BOB_cf_sect233k1_PUB +SharedSecret=012145026e8de65973c154e085456fc5539ba9e25663e7f5816abfcab310 + +# ECDH Bob with Alice peer +Derive=BOB_cf_sect233k1 +PeerKey=ALICE_cf_sect233k1_PUB +SharedSecret=012145026e8de65973c154e085456fc5539ba9e25663e7f5816abfcab310 + +# ECC CDH Alice with Bob peer +Derive=ALICE_cf_sect233k1 +PeerKey=BOB_cf_sect233k1_PUB +Ctrl=ecdh_cofactor_mode:1 +SharedSecret=00ff7d6c6b80f39d2ae68fbd00adbcd75fa599ed0bc1aac0e3f49c1c164d + +# ECC CDH Bob with Alice peer +Derive=BOB_cf_sect233k1 +PeerKey=ALICE_cf_sect233k1_PUB +Ctrl=ecdh_cofactor_mode:1 +SharedSecret=00ff7d6c6b80f39d2ae68fbd00adbcd75fa599ed0bc1aac0e3f49c1c164d + +PublicKey=MALICE_cf_sect233k1_PUB +-----BEGIN PUBLIC KEY----- +MFIwEAYHKoZIzj0CAQYFK4EEABoDPgAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +-----END PUBLIC KEY----- + +# ECC CDH Bob with Malice peer +Derive=BOB_cf_sect233k1 +PeerKey=MALICE_cf_sect233k1_PUB +Ctrl=ecdh_cofactor_mode:1 +Result=DERIVE_ERROR +Function=EC_POINT_get_affine_coordinates_GF2m +Reason=point at infinity + +# ECC CDH Alice with Malice peer +Derive=ALICE_cf_sect233k1 +PeerKey=MALICE_cf_sect233k1_PUB +Ctrl=ecdh_cofactor_mode:1 +Result=DERIVE_ERROR +Function=EC_POINT_get_affine_coordinates_GF2m +Reason=point at infinity + +# Title=sect233r1 curve tests + +PrivateKey=ALICE_cf_sect233r1 +-----BEGIN PRIVATE KEY----- +MDwCAQAwEAYHKoZIzj0CAQYFK4EEABsEJTAjAgEBBB4ATcy7zVpIsJ9rl5EIDmzRz5wxjrDIQyDm +HP3Pt8Y= +-----END PRIVATE KEY----- + +PublicKey=ALICE_cf_sect233r1_PUB +-----BEGIN PUBLIC KEY----- +MFIwEAYHKoZIzj0CAQYFK4EEABsDPgAEAQMQHiJ44LiCnZkEg1zyww1h+idTbsw8E07P33WUAUfD +NeQ4hWEhTXPnytIbEhFKpnd3j/FbyZnJqxh8 +-----END PUBLIC KEY----- + +PrivPubKeyPair=ALICE_cf_sect233r1:ALICE_cf_sect233r1_PUB + +PrivateKey=BOB_cf_sect233r1 +-----BEGIN PRIVATE KEY----- +MDwCAQAwEAYHKoZIzj0CAQYFK4EEABsEJTAjAgEBBB4ALpOlFn4OfiIAkRAZGOsn7L6W3XoQBSV8 +mQVC2pw= +-----END PRIVATE KEY----- + +PublicKey=BOB_cf_sect233r1_PUB +-----BEGIN PUBLIC KEY----- +MFIwEAYHKoZIzj0CAQYFK4EEABsDPgAEAJQw+NWqFJXYw4dVMovzvw76OYnYOTaDaEPNW8ECAQbl +TzzbBSTp5iqM13mP0/Bo4OO66NS3lA9e/GTO +-----END PUBLIC KEY----- + +PrivPubKeyPair=BOB_cf_sect233r1:BOB_cf_sect233r1_PUB + +# ECDH Alice with Bob peer +Derive=ALICE_cf_sect233r1 +PeerKey=BOB_cf_sect233r1_PUB +SharedSecret=00209d2995a63f1e8b7a5c33dee5abb602e32e1835ae8bb57eb264d8d795 + +# ECDH Bob with Alice peer +Derive=BOB_cf_sect233r1 +PeerKey=ALICE_cf_sect233r1_PUB +SharedSecret=00209d2995a63f1e8b7a5c33dee5abb602e32e1835ae8bb57eb264d8d795 + +# ECC CDH Alice with Bob peer +Derive=ALICE_cf_sect233r1 +PeerKey=BOB_cf_sect233r1_PUB +Ctrl=ecdh_cofactor_mode:1 +SharedSecret=00c3cd1d38a65f5e421399409a76cec1136bc84149f054a7f55e7980c612 + +# ECC CDH Bob with Alice peer +Derive=BOB_cf_sect233r1 +PeerKey=ALICE_cf_sect233r1_PUB +Ctrl=ecdh_cofactor_mode:1 +SharedSecret=00c3cd1d38a65f5e421399409a76cec1136bc84149f054a7f55e7980c612 + +PublicKey=MALICE_cf_sect233r1_PUB +-----BEGIN PUBLIC KEY----- +MFIwEAYHKoZIzj0CAQYFK4EEABsDPgAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYf4 +Vie5eHTnR+4x4G1xyq7qUvISU+X5RtBh2pE4 +-----END PUBLIC KEY----- + +# ECC CDH Bob with Malice peer +Derive=BOB_cf_sect233r1 +PeerKey=MALICE_cf_sect233r1_PUB +Ctrl=ecdh_cofactor_mode:1 +Result=DERIVE_ERROR +Function=EC_POINT_get_affine_coordinates_GF2m +Reason=point at infinity + +# ECC CDH Alice with Malice peer +Derive=ALICE_cf_sect233r1 +PeerKey=MALICE_cf_sect233r1_PUB +Ctrl=ecdh_cofactor_mode:1 +Result=DERIVE_ERROR +Function=EC_POINT_get_affine_coordinates_GF2m +Reason=point at infinity + +# Title=sect239k1 curve tests + +PrivateKey=ALICE_cf_sect239k1 +-----BEGIN PRIVATE KEY----- +MDwCAQAwEAYHKoZIzj0CAQYFK4EEAAMEJTAjAgEBBB4G4nbQDUtTnkrPOvDGIlhH9XdjirUSbTI5 +5z6lf7o= +-----END PRIVATE KEY----- + +PublicKey=ALICE_cf_sect239k1_PUB +-----BEGIN PUBLIC KEY----- +MFIwEAYHKoZIzj0CAQYFK4EEAAMDPgAEf5paOMjzcnpVAPMQnIkikE4K2jne3ubX2TD1P3aedknF +lUr6tOU4BsiUQJACF90rQ9/KdeR5mYvYHzvI +-----END PUBLIC KEY----- + +PrivPubKeyPair=ALICE_cf_sect239k1:ALICE_cf_sect239k1_PUB + +PrivateKey=BOB_cf_sect239k1 +-----BEGIN PRIVATE KEY----- +MDwCAQAwEAYHKoZIzj0CAQYFK4EEAAMEJTAjAgEBBB4e0F0NpepAF+iNrEtoZeo4TrQFspkUNLcx +Ly4Klfg= +-----END PRIVATE KEY----- + +PublicKey=BOB_cf_sect239k1_PUB +-----BEGIN PUBLIC KEY----- +MFIwEAYHKoZIzj0CAQYFK4EEAAMDPgAEKnjJ4RHe+EiElXMrF4ou7VGy1pn0ZiO17FouF31Zbvjc +TcbhfE6ziXM8sekQJBwcwRKQ9+G/Qzq/2A9x +-----END PUBLIC KEY----- + +PrivPubKeyPair=BOB_cf_sect239k1:BOB_cf_sect239k1_PUB + +# ECDH Alice with Bob peer +Derive=ALICE_cf_sect239k1 +PeerKey=BOB_cf_sect239k1_PUB +SharedSecret=0ef54c7b7dbf55d4278e7a6924dc4833c63ec708e820d501cacdfb4935d5 + +# ECDH Bob with Alice peer +Derive=BOB_cf_sect239k1 +PeerKey=ALICE_cf_sect239k1_PUB +SharedSecret=0ef54c7b7dbf55d4278e7a6924dc4833c63ec708e820d501cacdfb4935d5 + +# ECC CDH Alice with Bob peer +Derive=ALICE_cf_sect239k1 +PeerKey=BOB_cf_sect239k1_PUB +Ctrl=ecdh_cofactor_mode:1 +SharedSecret=592e4b33ac99624fe7f2f879cf52f12a70f189c5d90785db26a12e0a46c0 + +# ECC CDH Bob with Alice peer +Derive=BOB_cf_sect239k1 +PeerKey=ALICE_cf_sect239k1_PUB +Ctrl=ecdh_cofactor_mode:1 +SharedSecret=592e4b33ac99624fe7f2f879cf52f12a70f189c5d90785db26a12e0a46c0 + +PublicKey=MALICE_cf_sect239k1_PUB +-----BEGIN PUBLIC KEY----- +MFIwEAYHKoZIzj0CAQYFK4EEAAMDPgAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB +-----END PUBLIC KEY----- + +# ECC CDH Bob with Malice peer +Derive=BOB_cf_sect239k1 +PeerKey=MALICE_cf_sect239k1_PUB +Ctrl=ecdh_cofactor_mode:1 +Result=DERIVE_ERROR +Function=EC_POINT_get_affine_coordinates_GF2m +Reason=point at infinity + +# ECC CDH Alice with Malice peer +Derive=ALICE_cf_sect239k1 +PeerKey=MALICE_cf_sect239k1_PUB +Ctrl=ecdh_cofactor_mode:1 +Result=DERIVE_ERROR +Function=EC_POINT_get_affine_coordinates_GF2m +Reason=point at infinity + +# Title=sect283k1 curve tests + +PrivateKey=ALICE_cf_sect283k1 +-----BEGIN PRIVATE KEY----- +MEICAQAwEAYHKoZIzj0CAQYFK4EEABAEKzApAgEBBCQAY1Mi9rST7PiP1t03qYRczV/kSZ+VjQu8 +5EFCgxyvkaLManw= +-----END PRIVATE KEY----- + +PublicKey=ALICE_cf_sect283k1_PUB +-----BEGIN PUBLIC KEY----- +MF4wEAYHKoZIzj0CAQYFK4EEABADSgAEBMjBO8WoxHS/vz8po52WZGxS+RK5yolrUe6tfbAMA3Sd +5/JjBDVjOz95vM4gUnqzUWHN5nKBQtj6HiU9Q/R+zqg98OiQKTyA +-----END PUBLIC KEY----- + +PrivPubKeyPair=ALICE_cf_sect283k1:ALICE_cf_sect283k1_PUB + +PrivateKey=BOB_cf_sect283k1 +-----BEGIN PRIVATE KEY----- +MEICAQAwEAYHKoZIzj0CAQYFK4EEABAEKzApAgEBBCQBCZC8Is+YSjgXJBBDioEl6gu14QpGHllD +1J6957vBTPSQdH0= +-----END PRIVATE KEY----- + +PublicKey=BOB_cf_sect283k1_PUB +-----BEGIN PUBLIC KEY----- +MF4wEAYHKoZIzj0CAQYFK4EEABADSgAEAGEQKZVHYAlvtjHrFyZVm12qUb5j+T5/WNoC962+kwUM +QkBYA5BpuG8Knlugq1iB31whPAgRCZfdLKHpHRPJSfXvKyUIdeUm +-----END PUBLIC KEY----- + +PrivPubKeyPair=BOB_cf_sect283k1:BOB_cf_sect283k1_PUB + +# ECDH Alice with Bob peer +Derive=ALICE_cf_sect283k1 +PeerKey=BOB_cf_sect283k1_PUB +SharedSecret=03f67c88bdc230b43773d17fdb4d0a980556d074ceccee726932160e4ed965e3be72803c + +# ECDH Bob with Alice peer +Derive=BOB_cf_sect283k1 +PeerKey=ALICE_cf_sect283k1_PUB +SharedSecret=03f67c88bdc230b43773d17fdb4d0a980556d074ceccee726932160e4ed965e3be72803c + +# ECC CDH Alice with Bob peer +Derive=ALICE_cf_sect283k1 +PeerKey=BOB_cf_sect283k1_PUB +Ctrl=ecdh_cofactor_mode:1 +SharedSecret=0677ba01c84d139609ca145cb5b6079fc9ca67f59c9c913e47cad1073f1d1dfaddde0169 + +# ECC CDH Bob with Alice peer +Derive=BOB_cf_sect283k1 +PeerKey=ALICE_cf_sect283k1_PUB +Ctrl=ecdh_cofactor_mode:1 +SharedSecret=0677ba01c84d139609ca145cb5b6079fc9ca67f59c9c913e47cad1073f1d1dfaddde0169 + +PublicKey=MALICE_cf_sect283k1_PUB +-----BEGIN PUBLIC KEY----- +MF4wEAYHKoZIzj0CAQYFK4EEABADSgAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB +-----END PUBLIC KEY----- + +# ECC CDH Bob with Malice peer +Derive=BOB_cf_sect283k1 +PeerKey=MALICE_cf_sect283k1_PUB +Ctrl=ecdh_cofactor_mode:1 +Result=DERIVE_ERROR +Function=EC_POINT_get_affine_coordinates_GF2m +Reason=point at infinity + +# ECC CDH Alice with Malice peer +Derive=ALICE_cf_sect283k1 +PeerKey=MALICE_cf_sect283k1_PUB +Ctrl=ecdh_cofactor_mode:1 +Result=DERIVE_ERROR +Function=EC_POINT_get_affine_coordinates_GF2m +Reason=point at infinity + +# Title=sect283r1 curve tests + +PrivateKey=ALICE_cf_sect283r1 +-----BEGIN PRIVATE KEY----- +MEICAQAwEAYHKoZIzj0CAQYFK4EEABEEKzApAgEBBCQCQ5pqKvPxDysd1pi2Bv8Z11cFhsRZfuaf +4Pi0hpGr4ubZcHE= +-----END PRIVATE KEY----- + +PublicKey=ALICE_cf_sect283r1_PUB +-----BEGIN PUBLIC KEY----- +MF4wEAYHKoZIzj0CAQYFK4EEABEDSgAEBcsrGDgO7pbGybQX/00gRHtQq3+X9XrGb7Uzv9Nabwc/ +kntnBMF0I2KU+aaTjQx1GVtmNf7CvFwPLEBnfKjJAjekjsGyIqoq +-----END PUBLIC KEY----- + +PrivPubKeyPair=ALICE_cf_sect283r1:ALICE_cf_sect283r1_PUB + +PrivateKey=BOB_cf_sect283r1 +-----BEGIN PRIVATE KEY----- +MEICAQAwEAYHKoZIzj0CAQYFK4EEABEEKzApAgEBBCQDxItnY3cDCrX/jGnVuAKDPaySZCr3E83Q +UdFnP6YIykt7+Pg= +-----END PRIVATE KEY----- + +PublicKey=BOB_cf_sect283r1_PUB +-----BEGIN PUBLIC KEY----- +MF4wEAYHKoZIzj0CAQYFK4EEABEDSgAEBJ2C9BCkX0YRfs2ufgUKvreUXFWp2AGK+iHlZB4N3LqO +PKpmAkrAeCMty6mw2mEnOR5HA1d4Ee+z7/NJgJJ80Ra9bFnreOW3 +-----END PUBLIC KEY----- + +PrivPubKeyPair=BOB_cf_sect283r1:BOB_cf_sect283r1_PUB + +# ECDH Alice with Bob peer +Derive=ALICE_cf_sect283r1 +PeerKey=BOB_cf_sect283r1_PUB +SharedSecret=0424259cf09727574fb863cab7c27d8fe3835e96433110a45a951f94347fc81939ec4773 + +# ECDH Bob with Alice peer +Derive=BOB_cf_sect283r1 +PeerKey=ALICE_cf_sect283r1_PUB +SharedSecret=0424259cf09727574fb863cab7c27d8fe3835e96433110a45a951f94347fc81939ec4773 + +# ECC CDH Alice with Bob peer +Derive=ALICE_cf_sect283r1 +PeerKey=BOB_cf_sect283r1_PUB +Ctrl=ecdh_cofactor_mode:1 +SharedSecret=01c2a542654ce85b17456ed75b6bca6b6eb761580913670debc426a3525f236df0e875c8 + +# ECC CDH Bob with Alice peer +Derive=BOB_cf_sect283r1 +PeerKey=ALICE_cf_sect283r1_PUB +Ctrl=ecdh_cofactor_mode:1 +SharedSecret=01c2a542654ce85b17456ed75b6bca6b6eb761580913670debc426a3525f236df0e875c8 + +PublicKey=MALICE_cf_sect283r1_PUB +-----BEGIN PUBLIC KEY----- +MF4wEAYHKoZIzj0CAQYFK4EEABEDSgAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAByvMnFeSsevoGYMIn7b4NaL9IgowRCTKF8CCrhdEKu3pubP2 +-----END PUBLIC KEY----- + +# ECC CDH Bob with Malice peer +Derive=BOB_cf_sect283r1 +PeerKey=MALICE_cf_sect283r1_PUB +Ctrl=ecdh_cofactor_mode:1 +Result=DERIVE_ERROR +Function=EC_POINT_get_affine_coordinates_GF2m +Reason=point at infinity + +# ECC CDH Alice with Malice peer +Derive=ALICE_cf_sect283r1 +PeerKey=MALICE_cf_sect283r1_PUB +Ctrl=ecdh_cofactor_mode:1 +Result=DERIVE_ERROR +Function=EC_POINT_get_affine_coordinates_GF2m +Reason=point at infinity + +# Title=sect409k1 curve tests + +PrivateKey=ALICE_cf_sect409k1 +-----BEGIN PRIVATE KEY----- +MFECAQAwEAYHKoZIzj0CAQYFK4EEACQEOjA4AgEBBDMOthcLahkXFgM0wjOzm767D1A72sFRGlhb +bVH+EB7z2WpIcPX4OD+M4Y1pf/a7wSaoSAo= +-----END PRIVATE KEY----- + +PublicKey=ALICE_cf_sect409k1_PUB +-----BEGIN PUBLIC KEY----- +MH4wEAYHKoZIzj0CAQYFK4EEACQDagAEAbiYYpeFgCMsZFMzQaiwMJDrC+mCMT7KmhYtD5EMMgLW +5OvhaqYdpRf49A8LOtVcRT7J5gGcMrXQgmQeS3FenA5owWnB2NIgrTNf5d8AAEtrOupsJ4c3kL6e +aAzayZ1+UCEj8skbC9U= +-----END PUBLIC KEY----- + +PrivPubKeyPair=ALICE_cf_sect409k1:ALICE_cf_sect409k1_PUB + +PrivateKey=BOB_cf_sect409k1 +-----BEGIN PRIVATE KEY----- +MFECAQAwEAYHKoZIzj0CAQYFK4EEACQEOjA4AgEBBDMO43ldQllTewdZwffH4OEXdzBrLwabKsn4 +6/hjgIAaYda/pt4yCEQLMp18QgtfMey5ENI= +-----END PRIVATE KEY----- + +PublicKey=BOB_cf_sect409k1_PUB +-----BEGIN PUBLIC KEY----- +MH4wEAYHKoZIzj0CAQYFK4EEACQDagAEAVTQj6hRizVmOx4Z6vroN/zMkmAY+QhkQ0CnFeJ0AydY +Fv+f+/420vMC1Mhqsc9VzPMmIAH6ZrgGKDsd4Ce9JUtYE0rVhGeiG2RaN1U5RlhVK4avkWhFlyQ5 +vuu4aApQiWE3yQd9v/I= +-----END PUBLIC KEY----- + +PrivPubKeyPair=BOB_cf_sect409k1:BOB_cf_sect409k1_PUB + +# ECDH Alice with Bob peer +Derive=ALICE_cf_sect409k1 +PeerKey=BOB_cf_sect409k1_PUB +SharedSecret=01fbe13188588c9d1ac3a8a2680ea9a009b28e4b7d7fa4efcb1a22553876fb7973616819fd87c75e5b8ce6e3628595e4ce12edb0 + +# ECDH Bob with Alice peer +Derive=BOB_cf_sect409k1 +PeerKey=ALICE_cf_sect409k1_PUB +SharedSecret=01fbe13188588c9d1ac3a8a2680ea9a009b28e4b7d7fa4efcb1a22553876fb7973616819fd87c75e5b8ce6e3628595e4ce12edb0 + +# ECC CDH Alice with Bob peer +Derive=ALICE_cf_sect409k1 +PeerKey=BOB_cf_sect409k1_PUB +Ctrl=ecdh_cofactor_mode:1 +SharedSecret=007e9485f7234bb2255bb40e51f4be867cb0ef31f8e489a697b31b51c4d5346daaee51e96ae6f9636e6e3af56095fe28755325ee + +# ECC CDH Bob with Alice peer +Derive=BOB_cf_sect409k1 +PeerKey=ALICE_cf_sect409k1_PUB +Ctrl=ecdh_cofactor_mode:1 +SharedSecret=007e9485f7234bb2255bb40e51f4be867cb0ef31f8e489a697b31b51c4d5346daaee51e96ae6f9636e6e3af56095fe28755325ee + +PublicKey=MALICE_cf_sect409k1_PUB +-----BEGIN PUBLIC KEY----- +MH4wEAYHKoZIzj0CAQYFK4EEACQDagAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAA= +-----END PUBLIC KEY----- + +# ECC CDH Bob with Malice peer +Derive=BOB_cf_sect409k1 +PeerKey=MALICE_cf_sect409k1_PUB +Ctrl=ecdh_cofactor_mode:1 +Result=DERIVE_ERROR +Function=EC_POINT_get_affine_coordinates_GF2m +Reason=point at infinity + +# ECC CDH Alice with Malice peer +Derive=ALICE_cf_sect409k1 +PeerKey=MALICE_cf_sect409k1_PUB +Ctrl=ecdh_cofactor_mode:1 +Result=DERIVE_ERROR +Function=EC_POINT_get_affine_coordinates_GF2m +Reason=point at infinity + +# Title=sect409r1 curve tests + +PrivateKey=ALICE_cf_sect409r1 +-----BEGIN PRIVATE KEY----- +MFICAQAwEAYHKoZIzj0CAQYFK4EEACUEOzA5AgEBBDQAxSC9lST5dtfXQI1Ug9VMMoue3GGni5ON ++gieyXK2KKbd29KAPs4/AOd8kX2wQDsZPO7E +-----END PRIVATE KEY----- + +PublicKey=ALICE_cf_sect409r1_PUB +-----BEGIN PUBLIC KEY----- +MH4wEAYHKoZIzj0CAQYFK4EEACUDagAEASAvXAM15DJerAu1JttpBuMJK1/fEfFohu2iEpt3r7Ui +iQoER6HUsWiw1hhcJyTv7WzpJQHFWrOlJMe/KjmQa/CygSc65YHDzG27oUL+KGdQUGc79ZRSwl/q +fGZqa3D+bDVMwrhmZto= +-----END PUBLIC KEY----- + +PrivPubKeyPair=ALICE_cf_sect409r1:ALICE_cf_sect409r1_PUB + +PrivateKey=BOB_cf_sect409r1 +-----BEGIN PRIVATE KEY----- +MFICAQAwEAYHKoZIzj0CAQYFK4EEACUEOzA5AgEBBDQARen+1P3JQzBgOv0pUYwsZTPRVLpqqDAU +7mKL2lk9eH7zSGmtNoMvP2m1S2dBnXxFY/bV +-----END PRIVATE KEY----- + +PublicKey=BOB_cf_sect409r1_PUB +-----BEGIN PUBLIC KEY----- +MH4wEAYHKoZIzj0CAQYFK4EEACUDagAEAbDUw066TtdfOpDvrlKosEyqUNEG7rY+AKvDqKw+HOzf +sUTYee6cEf71oqJ1sCKPQiYzlwCu/HLQeWPxISE6Uo+53kkeJml2xpMBwoE25Gq/DSS61dR7SRTZ ++sUmumbIuGzbrjtMRmw= +-----END PUBLIC KEY----- + +PrivPubKeyPair=BOB_cf_sect409r1:BOB_cf_sect409r1_PUB + +# ECDH Alice with Bob peer +Derive=ALICE_cf_sect409r1 +PeerKey=BOB_cf_sect409r1_PUB +SharedSecret=00a751259cdb3b445ce71a40a01a2189dfce70226111190505fc6eabe4e5a05bff7af55f2015e1ffcab6aea7ea9a6e74905da2a1 + +# ECDH Bob with Alice peer +Derive=BOB_cf_sect409r1 +PeerKey=ALICE_cf_sect409r1_PUB +SharedSecret=00a751259cdb3b445ce71a40a01a2189dfce70226111190505fc6eabe4e5a05bff7af55f2015e1ffcab6aea7ea9a6e74905da2a1 + +# ECC CDH Alice with Bob peer +Derive=ALICE_cf_sect409r1 +PeerKey=BOB_cf_sect409r1_PUB +Ctrl=ecdh_cofactor_mode:1 +SharedSecret=0115a31aed416c5089d74a263ec300aff13a5329c6ad27de950ae0b0917b40a3464fccf5691ac9633a51e5177a82b15cfc434aad + +# ECC CDH Bob with Alice peer +Derive=BOB_cf_sect409r1 +PeerKey=ALICE_cf_sect409r1_PUB +Ctrl=ecdh_cofactor_mode:1 +SharedSecret=0115a31aed416c5089d74a263ec300aff13a5329c6ad27de950ae0b0917b40a3464fccf5691ac9633a51e5177a82b15cfc434aad + +PublicKey=MALICE_cf_sect409r1_PUB +-----BEGIN PUBLIC KEY----- +MH4wEAYHKoZIzj0CAQYFK4EEACUDagAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAACZNffkdo7i7yL5tKKfU8tdk6su0K185XwbJkn96JWVDPZXZ3My +bFKKSOJ7hyrM8Lwl1e8= +-----END PUBLIC KEY----- + +# ECC CDH Bob with Malice peer +Derive=BOB_cf_sect409r1 +PeerKey=MALICE_cf_sect409r1_PUB +Ctrl=ecdh_cofactor_mode:1 +Result=DERIVE_ERROR +Function=EC_POINT_get_affine_coordinates_GF2m +Reason=point at infinity + +# ECC CDH Alice with Malice peer +Derive=ALICE_cf_sect409r1 +PeerKey=MALICE_cf_sect409r1_PUB +Ctrl=ecdh_cofactor_mode:1 +Result=DERIVE_ERROR +Function=EC_POINT_get_affine_coordinates_GF2m +Reason=point at infinity + +# Title=sect571k1 curve tests + +PrivateKey=ALICE_cf_sect571k1 +-----BEGIN PRIVATE KEY----- +MGYCAQAwEAYHKoZIzj0CAQYFK4EEACYETzBNAgEBBEgB4agvk7Qdf9bVb9aMVdtXL0MuVw6dTleB +zrpPMYty/piI5GWkQEGVp4OJSjF1BGgWmtYSYlV0oI8jJ7hfWTjVGfVWix4ipb8= +-----END PRIVATE KEY----- + +PublicKey=ALICE_cf_sect571k1_PUB +-----BEGIN PUBLIC KEY----- +MIGnMBAGByqGSM49AgEGBSuBBAAmA4GSAAQDUZq0ZrgYpTXNpOptjExaur0K9FAYHv1j9cvAptwX +dcmQf3VqekMkGZCfNdqNeqCajG3QHRkBHe4FZhWr3FXi8whvvr463lUDf+t46un1kE6FTYfhILGa +sBZm7OdfkarYd9TXBbmnkFA+XkyPlkM1+6daM3/WmnegK+TYghFDXLgwiyF8s0ElllF7z38Gmc4= +-----END PUBLIC KEY----- + +PrivPubKeyPair=ALICE_cf_sect571k1:ALICE_cf_sect571k1_PUB + +PrivateKey=BOB_cf_sect571k1 +-----BEGIN PRIVATE KEY----- +MGYCAQAwEAYHKoZIzj0CAQYFK4EEACYETzBNAgEBBEgA3pINxGOI7L9M+Mil+bm/udPwI4xu7ubJ +p3aoOepTXW94laf8wjFLcQnRUwH87Vbq9VLQEfCAFvr2vZoBc+5asnNuDhRNNeQ= +-----END PRIVATE KEY----- + +PublicKey=BOB_cf_sect571k1_PUB +-----BEGIN PUBLIC KEY----- +MIGnMBAGByqGSM49AgEGBSuBBAAmA4GSAAQDZRr5GCSq2uzGxmWNB+bED7zye18Rr/KehwXrbn1r +rKtR8fe+dg2V15FieC3qZe/wCpMtyp79VmEabGi6iGLlAN/rUE81URsA/K7GVpmklslV5gmwryR0 +3E7jGKPFesun9iNtmpgM18P9y3aJd4Qr4hMlwW2Nyw187l6QB/W2e/i+8vKXFTLHlz5WLAyAcpA= +-----END PUBLIC KEY----- + +PrivPubKeyPair=BOB_cf_sect571k1:BOB_cf_sect571k1_PUB + +# ECDH Alice with Bob peer +Derive=ALICE_cf_sect571k1 +PeerKey=BOB_cf_sect571k1_PUB +SharedSecret=02b79c92cee50dc5b9fdddce36d4fa2e28d7d178cd74e575961f39429496305b38815c840c2e66327435c044ed885ec964068531251a2112717602532e8b6d5411db2fe05c1ac18c + +# ECDH Bob with Alice peer +Derive=BOB_cf_sect571k1 +PeerKey=ALICE_cf_sect571k1_PUB +SharedSecret=02b79c92cee50dc5b9fdddce36d4fa2e28d7d178cd74e575961f39429496305b38815c840c2e66327435c044ed885ec964068531251a2112717602532e8b6d5411db2fe05c1ac18c + +# ECC CDH Alice with Bob peer +Derive=ALICE_cf_sect571k1 +PeerKey=BOB_cf_sect571k1_PUB +Ctrl=ecdh_cofactor_mode:1 +SharedSecret=063aea789492c9727a5a6b7f24e8d3d377c70ee8e86b13664e191a53b1905e90e78b85960b1881db5160c7c5cacca0d686d9e104140d565eeeec17426f93d3a7ba639ecd716b43d2 + +# ECC CDH Bob with Alice peer +Derive=BOB_cf_sect571k1 +PeerKey=ALICE_cf_sect571k1_PUB +Ctrl=ecdh_cofactor_mode:1 +SharedSecret=063aea789492c9727a5a6b7f24e8d3d377c70ee8e86b13664e191a53b1905e90e78b85960b1881db5160c7c5cacca0d686d9e104140d565eeeec17426f93d3a7ba639ecd716b43d2 + +PublicKey=MALICE_cf_sect571k1_PUB +-----BEGIN PUBLIC KEY----- +MIGnMBAGByqGSM49AgEGBSuBBAAmA4GSAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAE= +-----END PUBLIC KEY----- + +# ECC CDH Bob with Malice peer +Derive=BOB_cf_sect571k1 +PeerKey=MALICE_cf_sect571k1_PUB +Ctrl=ecdh_cofactor_mode:1 +Result=DERIVE_ERROR +Function=EC_POINT_get_affine_coordinates_GF2m +Reason=point at infinity + +# ECC CDH Alice with Malice peer +Derive=ALICE_cf_sect571k1 +PeerKey=MALICE_cf_sect571k1_PUB +Ctrl=ecdh_cofactor_mode:1 +Result=DERIVE_ERROR +Function=EC_POINT_get_affine_coordinates_GF2m +Reason=point at infinity + +# Title=sect571r1 curve tests + +PrivateKey=ALICE_cf_sect571r1 +-----BEGIN PRIVATE KEY----- +MGYCAQAwEAYHKoZIzj0CAQYFK4EEACcETzBNAgEBBEgAxfL2/gUsmJonvDMR95Azq1ySgXMlKSRk ++PL+WaS92ZyOo45HaC7RpH5sdkf4b948u6y1BXOxGZuORXy6lgbgZ1Zx2UgL3cI= +-----END PRIVATE KEY----- + +PublicKey=ALICE_cf_sect571r1_PUB +-----BEGIN PUBLIC KEY----- +MIGnMBAGByqGSM49AgEGBSuBBAAnA4GSAAQBK5L9ccIWacU2A1srZ35opPu6kcbEOsBPmvj/rlMS +fFrdMOcagOYfcD0/ouYHPhvkHbr9k87IlQJfnV6ZNRA4PmWSp/FjkNwETm/fqTCUQHti/qqnKH7R +Ed4fYROLFGvz+PX6E20SryOt1vrmoRyC7Z5FVmgMVOQQ1AaBNAHi3+IPtKx41YdXdbqHJxuI5jE= +-----END PUBLIC KEY----- + +PrivPubKeyPair=ALICE_cf_sect571r1:ALICE_cf_sect571r1_PUB + +PrivateKey=BOB_cf_sect571r1 +-----BEGIN PRIVATE KEY----- +MGYCAQAwEAYHKoZIzj0CAQYFK4EEACcETzBNAgEBBEgAzcRvASPpWi0ybpOGlj0Lozz01C2a5oDA +G5alib1EmZKcpVULxJXn75FQlTKpkUEuWUgA4yk5X5DTiScUuh4LDhaF3AFhsEY= +-----END PRIVATE KEY----- + +PublicKey=BOB_cf_sect571r1_PUB +-----BEGIN PUBLIC KEY----- +MIGnMBAGByqGSM49AgEGBSuBBAAnA4GSAAQH3dnL22NajtqDWTX6qD14w1BOlpHFBUPTr24VySlh +kiiBlOF95u7hFr/hSb7gm/3f+IVKyE18Sh2kR4KaxWcPWKY5xKTiqiICT7hCistuzNRt8gR+kNOT +c1rETMV6ZruZinwzEWWWjwJf6612oy2HG3CX3B8Rm+a3sS0q6IzowEwqmDv6v9bMTFk8bsCv0Fk= +-----END PUBLIC KEY----- + +PrivPubKeyPair=BOB_cf_sect571r1:BOB_cf_sect571r1_PUB + +# ECDH Alice with Bob peer +Derive=ALICE_cf_sect571r1 +PeerKey=BOB_cf_sect571r1_PUB +SharedSecret=0031f9879fa75b8c67ba81ee861be634e2b53aa79f834e9a8ca4df7f4461bcb02f083d9fa5b4767f881a710caa6524b58eb626623ba394961d46535204c26d165089e7d4f7be1827 + +# ECDH Bob with Alice peer +Derive=BOB_cf_sect571r1 +PeerKey=ALICE_cf_sect571r1_PUB +SharedSecret=0031f9879fa75b8c67ba81ee861be634e2b53aa79f834e9a8ca4df7f4461bcb02f083d9fa5b4767f881a710caa6524b58eb626623ba394961d46535204c26d165089e7d4f7be1827 + +# ECC CDH Alice with Bob peer +Derive=ALICE_cf_sect571r1 +PeerKey=BOB_cf_sect571r1_PUB +Ctrl=ecdh_cofactor_mode:1 +SharedSecret=012e8c2c1554988fe20c5ae7d11cdcfe15c7c6e8d2b6f46a43a45d724bfc7b415ea7594d5c16f770a95d6e65bbcb1f34619db95e89f4fecbcb0bc6a3f92d52df6a49b0e7773e0ac0 + +# ECC CDH Bob with Alice peer +Derive=BOB_cf_sect571r1 +PeerKey=ALICE_cf_sect571r1_PUB +Ctrl=ecdh_cofactor_mode:1 +SharedSecret=012e8c2c1554988fe20c5ae7d11cdcfe15c7c6e8d2b6f46a43a45d724bfc7b415ea7594d5c16f770a95d6e65bbcb1f34619db95e89f4fecbcb0bc6a3f92d52df6a49b0e7773e0ac0 + +PublicKey=MALICE_cf_sect571r1_PUB +-----BEGIN PUBLIC KEY----- +MIGnMBAGByqGSM49AgEGBSuBBAAnA4GSAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHMtVWZAwgtd1zmgWN/9WC +aNQcWRNUKesEHXqhJVkC5jYsSACodKsLYFNrWEYM0gwG8DQONZSn93G+38EM45tkaZsIRDt2HEM= +-----END PUBLIC KEY----- + +# ECC CDH Bob with Malice peer +Derive=BOB_cf_sect571r1 +PeerKey=MALICE_cf_sect571r1_PUB +Ctrl=ecdh_cofactor_mode:1 +Result=DERIVE_ERROR +Function=EC_POINT_get_affine_coordinates_GF2m +Reason=point at infinity + +# ECC CDH Alice with Malice peer +Derive=ALICE_cf_sect571r1 +PeerKey=MALICE_cf_sect571r1_PUB +Ctrl=ecdh_cofactor_mode:1 +Result=DERIVE_ERROR +Function=EC_POINT_get_affine_coordinates_GF2m +Reason=point at infinity + +# Title=wap-wsg-idm-ecid-wtls10 curve tests + +PrivateKey=ALICE_cf_wap-wsg-idm-ecid-wtls10 +-----BEGIN PRIVATE KEY----- +MDsCAQAwEAYHKoZIzj0CAQYFZysBBAoEJDAiAgEBBB1zvDMHGgcytka5KvlvQvJzTA4l2ts2NzBp +SJiGyw== +-----END PRIVATE KEY----- + +PublicKey=ALICE_cf_wap-wsg-idm-ecid-wtls10_PUB +-----BEGIN PUBLIC KEY----- +MFIwEAYHKoZIzj0CAQYFZysBBAoDPgAEAZkrhWBz/Q4GB8DY4Ia114ew6H7Eg7ri2uxwxd3rAZs5 +/ShvunNyndjCt3Qaq8sulBM0nUyERSDakyD+ +-----END PUBLIC KEY----- + +PrivPubKeyPair=ALICE_cf_wap-wsg-idm-ecid-wtls10:ALICE_cf_wap-wsg-idm-ecid-wtls10_PUB + +PrivateKey=BOB_cf_wap-wsg-idm-ecid-wtls10 +-----BEGIN PRIVATE KEY----- +MDsCAQAwEAYHKoZIzj0CAQYFZysBBAoEJDAiAgEBBB1SowkHU79PqokOfgllN53rNS8a3h1wFBY0 +dKPkQg== +-----END PRIVATE KEY----- + +PublicKey=BOB_cf_wap-wsg-idm-ecid-wtls10_PUB +-----BEGIN PUBLIC KEY----- +MFIwEAYHKoZIzj0CAQYFZysBBAoDPgAEAGavw4ChHCoWplAumMEBwJgJ2aYtw+utu4vhWnscAPIT +IJ4IiIGj18rCFBap1sgVbpXjhEBLYg6Itwv2 +-----END PUBLIC KEY----- + +PrivPubKeyPair=BOB_cf_wap-wsg-idm-ecid-wtls10:BOB_cf_wap-wsg-idm-ecid-wtls10_PUB + +# ECDH Alice with Bob peer +Derive=ALICE_cf_wap-wsg-idm-ecid-wtls10 +PeerKey=BOB_cf_wap-wsg-idm-ecid-wtls10_PUB +SharedSecret=0194ef5d80fdfe9df366b2273b983c3dbd440faf76964fcfc06c509f289d + +# ECDH Bob with Alice peer +Derive=BOB_cf_wap-wsg-idm-ecid-wtls10 +PeerKey=ALICE_cf_wap-wsg-idm-ecid-wtls10_PUB +SharedSecret=0194ef5d80fdfe9df366b2273b983c3dbd440faf76964fcfc06c509f289d + +# ECC CDH Alice with Bob peer +Derive=ALICE_cf_wap-wsg-idm-ecid-wtls10 +PeerKey=BOB_cf_wap-wsg-idm-ecid-wtls10_PUB +Ctrl=ecdh_cofactor_mode:1 +SharedSecret=01bedc5cdf63fbf18c3e2bc9765e12f7990c0c0c64f0267ae7c37b9f49f0 + +# ECC CDH Bob with Alice peer +Derive=BOB_cf_wap-wsg-idm-ecid-wtls10 +PeerKey=ALICE_cf_wap-wsg-idm-ecid-wtls10_PUB +Ctrl=ecdh_cofactor_mode:1 +SharedSecret=01bedc5cdf63fbf18c3e2bc9765e12f7990c0c0c64f0267ae7c37b9f49f0 + +PublicKey=MALICE_cf_wap-wsg-idm-ecid-wtls10_PUB +-----BEGIN PUBLIC KEY----- +MFIwEAYHKoZIzj0CAQYFZysBBAoDPgAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB +-----END PUBLIC KEY----- + +# ECC CDH Bob with Malice peer +Derive=BOB_cf_wap-wsg-idm-ecid-wtls10 +PeerKey=MALICE_cf_wap-wsg-idm-ecid-wtls10_PUB +Ctrl=ecdh_cofactor_mode:1 +Result=DERIVE_ERROR +Function=EC_POINT_get_affine_coordinates_GF2m +Reason=point at infinity + +# ECC CDH Alice with Malice peer +Derive=ALICE_cf_wap-wsg-idm-ecid-wtls10 +PeerKey=MALICE_cf_wap-wsg-idm-ecid-wtls10_PUB +Ctrl=ecdh_cofactor_mode:1 +Result=DERIVE_ERROR +Function=EC_POINT_get_affine_coordinates_GF2m +Reason=point at infinity + +# Title=wap-wsg-idm-ecid-wtls11 curve tests + +PrivateKey=ALICE_cf_wap-wsg-idm-ecid-wtls11 +-----BEGIN PRIVATE KEY----- +MDwCAQAwEAYHKoZIzj0CAQYFZysBBAsEJTAjAgEBBB4AkzS3zoqHNCLug/nwoYMQW3UigmZ9t56k +5jp+FiY= +-----END PRIVATE KEY----- + +PublicKey=ALICE_cf_wap-wsg-idm-ecid-wtls11_PUB +-----BEGIN PUBLIC KEY----- +MFIwEAYHKoZIzj0CAQYFZysBBAsDPgAEABttgKKYeGZRmcH/5UZR56lOSgbU4TH2AuIhvj88AL6H +zTCX9elzXpck+u22bnmkuvL2A8XKB5+fabMR +-----END PUBLIC KEY----- + +PrivPubKeyPair=ALICE_cf_wap-wsg-idm-ecid-wtls11:ALICE_cf_wap-wsg-idm-ecid-wtls11_PUB + +PrivateKey=BOB_cf_wap-wsg-idm-ecid-wtls11 +-----BEGIN PRIVATE KEY----- +MDwCAQAwEAYHKoZIzj0CAQYFZysBBAsEJTAjAgEBBB4AWU05mbqPxsB749llNON1//l0w8RJJ3z5 +h/kzfNM= +-----END PRIVATE KEY----- + +PublicKey=BOB_cf_wap-wsg-idm-ecid-wtls11_PUB +-----BEGIN PUBLIC KEY----- +MFIwEAYHKoZIzj0CAQYFZysBBAsDPgAEAL6Xj/KCmXAQAAo847t0bl0wqBrteWRg93OvIJsPAAOE +ehdIgJyruc3KsH0RFlipu5QD8pnGSIXvif19 +-----END PUBLIC KEY----- + +PrivPubKeyPair=BOB_cf_wap-wsg-idm-ecid-wtls11:BOB_cf_wap-wsg-idm-ecid-wtls11_PUB + +# ECDH Alice with Bob peer +Derive=ALICE_cf_wap-wsg-idm-ecid-wtls11 +PeerKey=BOB_cf_wap-wsg-idm-ecid-wtls11_PUB +SharedSecret=01ac8a23ddeeafb4d3bb243fe409f2f9c8b1a3fc11d4690da583f2e21637 + +# ECDH Bob with Alice peer +Derive=BOB_cf_wap-wsg-idm-ecid-wtls11 +PeerKey=ALICE_cf_wap-wsg-idm-ecid-wtls11_PUB +SharedSecret=01ac8a23ddeeafb4d3bb243fe409f2f9c8b1a3fc11d4690da583f2e21637 + +# ECC CDH Alice with Bob peer +Derive=ALICE_cf_wap-wsg-idm-ecid-wtls11 +PeerKey=BOB_cf_wap-wsg-idm-ecid-wtls11_PUB +Ctrl=ecdh_cofactor_mode:1 +SharedSecret=01b9992992572d3a59d424f8c9cc195576461ed6c1dadf6fb523717fab19 + +# ECC CDH Bob with Alice peer +Derive=BOB_cf_wap-wsg-idm-ecid-wtls11 +PeerKey=ALICE_cf_wap-wsg-idm-ecid-wtls11_PUB +Ctrl=ecdh_cofactor_mode:1 +SharedSecret=01b9992992572d3a59d424f8c9cc195576461ed6c1dadf6fb523717fab19 + +PublicKey=MALICE_cf_wap-wsg-idm-ecid-wtls11_PUB +-----BEGIN PUBLIC KEY----- +MFIwEAYHKoZIzj0CAQYFZysBBAsDPgAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYf4 +Vie5eHTnR+4x4G1xyq7qUvISU+X5RtBh2pE4 +-----END PUBLIC KEY----- + +# ECC CDH Bob with Malice peer +Derive=BOB_cf_wap-wsg-idm-ecid-wtls11 +PeerKey=MALICE_cf_wap-wsg-idm-ecid-wtls11_PUB +Ctrl=ecdh_cofactor_mode:1 +Result=DERIVE_ERROR +Function=EC_POINT_get_affine_coordinates_GF2m +Reason=point at infinity + +# ECC CDH Alice with Malice peer +Derive=ALICE_cf_wap-wsg-idm-ecid-wtls11 +PeerKey=MALICE_cf_wap-wsg-idm-ecid-wtls11_PUB +Ctrl=ecdh_cofactor_mode:1 +Result=DERIVE_ERROR +Function=EC_POINT_get_affine_coordinates_GF2m +Reason=point at infinity + +# Title=wap-wsg-idm-ecid-wtls12 curve tests + +PrivateKey=ALICE_cf_wap-wsg-idm-ecid-wtls12 +-----BEGIN PRIVATE KEY----- +MDoCAQAwEAYHKoZIzj0CAQYFZysBBAwEIzAhAgEBBBxwvll9Eb9mm2Xadq1evIi1zIK+6u0Nv8bP +LI9a +-----END PRIVATE KEY----- + +PublicKey=ALICE_cf_wap-wsg-idm-ecid-wtls12_PUB +-----BEGIN PUBLIC KEY----- +ME4wEAYHKoZIzj0CAQYFZysBBAwDOgAE0t0WqG/pFsiCt6agmebw3FCEWAzf9BpNLuzoCkPEe0Li +bqn5udrckL6s3stwCTVFaZUfY2qS9QE= +-----END PUBLIC KEY----- + +PrivPubKeyPair=ALICE_cf_wap-wsg-idm-ecid-wtls12:ALICE_cf_wap-wsg-idm-ecid-wtls12_PUB + +PrivateKey=BOB_cf_wap-wsg-idm-ecid-wtls12 +-----BEGIN PRIVATE KEY----- +MDoCAQAwEAYHKoZIzj0CAQYFZysBBAwEIzAhAgEBBBz+5P6gpqXxbeXvvaD5W9Ft69BTxcn7zc6q +K3Ax +-----END PRIVATE KEY----- + +PublicKey=BOB_cf_wap-wsg-idm-ecid-wtls12_PUB +-----BEGIN PUBLIC KEY----- +ME4wEAYHKoZIzj0CAQYFZysBBAwDOgAEvyxedqaWkoAOMjaV5W3/tJpheiHAR0zV6BlIeUuGP2mx ++xsOK9/QB7hzipq9cXx1K/dXu58EoSY= +-----END PUBLIC KEY----- + +PrivPubKeyPair=BOB_cf_wap-wsg-idm-ecid-wtls12:BOB_cf_wap-wsg-idm-ecid-wtls12_PUB + +# ECDH Alice with Bob peer +Derive=ALICE_cf_wap-wsg-idm-ecid-wtls12 +PeerKey=BOB_cf_wap-wsg-idm-ecid-wtls12_PUB +SharedSecret=a3b3f20af8c33a0f5c246b4b9d9dda1cd40c294d1f53365d18a8b54b + +# ECDH Bob with Alice peer +Derive=BOB_cf_wap-wsg-idm-ecid-wtls12 +PeerKey=ALICE_cf_wap-wsg-idm-ecid-wtls12_PUB +SharedSecret=a3b3f20af8c33a0f5c246b4b9d9dda1cd40c294d1f53365d18a8b54b + +# Title=wap-wsg-idm-ecid-wtls1 curve tests + +PrivateKey=ALICE_cf_wap-wsg-idm-ecid-wtls1 +-----BEGIN PRIVATE KEY----- +MCwCAQAwEAYHKoZIzj0CAQYFZysBBAEEFTATAgEBBA5ZNASTt4/g6XPQwRiQ0Q== +-----END PRIVATE KEY----- + +PublicKey=ALICE_cf_wap-wsg-idm-ecid-wtls1_PUB +-----BEGIN PUBLIC KEY----- +MDQwEAYHKoZIzj0CAQYFZysBBAEDIAAEACBNPI48xxsPVQBy07jRAAcWzbIkMo8BQotxpfGJ +-----END PUBLIC KEY----- + +PrivPubKeyPair=ALICE_cf_wap-wsg-idm-ecid-wtls1:ALICE_cf_wap-wsg-idm-ecid-wtls1_PUB + +PrivateKey=BOB_cf_wap-wsg-idm-ecid-wtls1 +-----BEGIN PRIVATE KEY----- +MCwCAQAwEAYHKoZIzj0CAQYFZysBBAEEFTATAgEBBA6+0x9qk0NIKHSRvlTemQ== +-----END PRIVATE KEY----- + +PublicKey=BOB_cf_wap-wsg-idm-ecid-wtls1_PUB +-----BEGIN PUBLIC KEY----- +MDQwEAYHKoZIzj0CAQYFZysBBAEDIAAEAEeHMSBTx/EtOu+bjBinALHSkQuJyiP3mg1tu+I2 +-----END PUBLIC KEY----- + +PrivPubKeyPair=BOB_cf_wap-wsg-idm-ecid-wtls1:BOB_cf_wap-wsg-idm-ecid-wtls1_PUB + +# ECDH Alice with Bob peer +Derive=ALICE_cf_wap-wsg-idm-ecid-wtls1 +PeerKey=BOB_cf_wap-wsg-idm-ecid-wtls1_PUB +SharedSecret=0040ba2fadc1da97c973e5e59ade31 + +# ECDH Bob with Alice peer +Derive=BOB_cf_wap-wsg-idm-ecid-wtls1 +PeerKey=ALICE_cf_wap-wsg-idm-ecid-wtls1_PUB +SharedSecret=0040ba2fadc1da97c973e5e59ade31 + +# ECC CDH Alice with Bob peer +Derive=ALICE_cf_wap-wsg-idm-ecid-wtls1 +PeerKey=BOB_cf_wap-wsg-idm-ecid-wtls1_PUB +Ctrl=ecdh_cofactor_mode:1 +SharedSecret=008919696215a89e03d6c4c9265d6b + +# ECC CDH Bob with Alice peer +Derive=BOB_cf_wap-wsg-idm-ecid-wtls1 +PeerKey=ALICE_cf_wap-wsg-idm-ecid-wtls1_PUB +Ctrl=ecdh_cofactor_mode:1 +SharedSecret=008919696215a89e03d6c4c9265d6b + +PublicKey=MALICE_cf_wap-wsg-idm-ecid-wtls1_PUB +-----BEGIN PUBLIC KEY----- +MDQwEAYHKoZIzj0CAQYFZysBBAEDIAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB +-----END PUBLIC KEY----- + +# ECC CDH Bob with Malice peer +Derive=BOB_cf_wap-wsg-idm-ecid-wtls1 +PeerKey=MALICE_cf_wap-wsg-idm-ecid-wtls1_PUB +Ctrl=ecdh_cofactor_mode:1 +Result=DERIVE_ERROR +Function=EC_POINT_get_affine_coordinates_GF2m +Reason=point at infinity + +# ECC CDH Alice with Malice peer +Derive=ALICE_cf_wap-wsg-idm-ecid-wtls1 +PeerKey=MALICE_cf_wap-wsg-idm-ecid-wtls1_PUB +Ctrl=ecdh_cofactor_mode:1 +Result=DERIVE_ERROR +Function=EC_POINT_get_affine_coordinates_GF2m +Reason=point at infinity + +# Title=wap-wsg-idm-ecid-wtls3 curve tests + +PrivateKey=ALICE_cf_wap-wsg-idm-ecid-wtls3 +-----BEGIN PRIVATE KEY----- +MDMCAQAwEAYHKoZIzj0CAQYFZysBBAMEHDAaAgEBBBUDO2cHbqQBUxuJBl6UT9UrasuRVrI= +-----END PRIVATE KEY----- + +PublicKey=ALICE_cf_wap-wsg-idm-ecid-wtls3_PUB +-----BEGIN PUBLIC KEY----- +MEAwEAYHKoZIzj0CAQYFZysBBAMDLAAEBRIzvK9o7eO2NGmtPFV/zo9/1mlvBwjG7+e6hbPG1KdI +01f8oGBuXMQH +-----END PUBLIC KEY----- + +PrivPubKeyPair=ALICE_cf_wap-wsg-idm-ecid-wtls3:ALICE_cf_wap-wsg-idm-ecid-wtls3_PUB + +PrivateKey=BOB_cf_wap-wsg-idm-ecid-wtls3 +-----BEGIN PRIVATE KEY----- +MDMCAQAwEAYHKoZIzj0CAQYFZysBBAMEHDAaAgEBBBUAhZv9WZ00bDnU9MOaqEegP771nes= +-----END PRIVATE KEY----- + +PublicKey=BOB_cf_wap-wsg-idm-ecid-wtls3_PUB +-----BEGIN PUBLIC KEY----- +MEAwEAYHKoZIzj0CAQYFZysBBAMDLAAEAYOspjEbzyZw61jCtUrxARr+w66nBH+73QIvlaRVSG/4 +hlBUf5kmG4Yn +-----END PUBLIC KEY----- + +PrivPubKeyPair=BOB_cf_wap-wsg-idm-ecid-wtls3:BOB_cf_wap-wsg-idm-ecid-wtls3_PUB + +# ECDH Alice with Bob peer +Derive=ALICE_cf_wap-wsg-idm-ecid-wtls3 +PeerKey=BOB_cf_wap-wsg-idm-ecid-wtls3_PUB +SharedSecret=0311924428a839b7dcada662722945e62bf1131f4f + +# ECDH Bob with Alice peer +Derive=BOB_cf_wap-wsg-idm-ecid-wtls3 +PeerKey=ALICE_cf_wap-wsg-idm-ecid-wtls3_PUB +SharedSecret=0311924428a839b7dcada662722945e62bf1131f4f + +# ECC CDH Alice with Bob peer +Derive=ALICE_cf_wap-wsg-idm-ecid-wtls3 +PeerKey=BOB_cf_wap-wsg-idm-ecid-wtls3_PUB +Ctrl=ecdh_cofactor_mode:1 +SharedSecret=047f1aee6a1a1d7c9c1f0e8dce4349429f737aa658 + +# ECC CDH Bob with Alice peer +Derive=BOB_cf_wap-wsg-idm-ecid-wtls3 +PeerKey=ALICE_cf_wap-wsg-idm-ecid-wtls3_PUB +Ctrl=ecdh_cofactor_mode:1 +SharedSecret=047f1aee6a1a1d7c9c1f0e8dce4349429f737aa658 + +PublicKey=MALICE_cf_wap-wsg-idm-ecid-wtls3_PUB +-----BEGIN PUBLIC KEY----- +MEAwEAYHKoZIzj0CAQYFZysBBAMDLAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAB +-----END PUBLIC KEY----- + +# ECC CDH Bob with Malice peer +Derive=BOB_cf_wap-wsg-idm-ecid-wtls3 +PeerKey=MALICE_cf_wap-wsg-idm-ecid-wtls3_PUB +Ctrl=ecdh_cofactor_mode:1 +Result=DERIVE_ERROR +Function=EC_POINT_get_affine_coordinates_GF2m +Reason=point at infinity + +# ECC CDH Alice with Malice peer +Derive=ALICE_cf_wap-wsg-idm-ecid-wtls3 +PeerKey=MALICE_cf_wap-wsg-idm-ecid-wtls3_PUB +Ctrl=ecdh_cofactor_mode:1 +Result=DERIVE_ERROR +Function=EC_POINT_get_affine_coordinates_GF2m +Reason=point at infinity + +# Title=wap-wsg-idm-ecid-wtls4 curve tests + +PrivateKey=ALICE_cf_wap-wsg-idm-ecid-wtls4 +-----BEGIN PRIVATE KEY----- +MC0CAQAwEAYHKoZIzj0CAQYFZysBBAQEFjAUAgEBBA8ACFOrBbOh5LjNtJQCuEE= +-----END PRIVATE KEY----- + +PublicKey=ALICE_cf_wap-wsg-idm-ecid-wtls4_PUB +-----BEGIN PUBLIC KEY----- +MDQwEAYHKoZIzj0CAQYFZysBBAQDIAAEAW3K4Mus5+KAJVGLzEYrAYuCJSEYXFTo17aW0TwN +-----END PUBLIC KEY----- + +PrivPubKeyPair=ALICE_cf_wap-wsg-idm-ecid-wtls4:ALICE_cf_wap-wsg-idm-ecid-wtls4_PUB + +PrivateKey=BOB_cf_wap-wsg-idm-ecid-wtls4 +-----BEGIN PRIVATE KEY----- +MC0CAQAwEAYHKoZIzj0CAQYFZysBBAQEFjAUAgEBBA8Auz4XRc3Rg0bNcbrray8= +-----END PRIVATE KEY----- + +PublicKey=BOB_cf_wap-wsg-idm-ecid-wtls4_PUB +-----BEGIN PUBLIC KEY----- +MDQwEAYHKoZIzj0CAQYFZysBBAQDIAAEAI0F7ixGqOhnYpsuR80nAdTdSXM+YbcUbLe/U/xG +-----END PUBLIC KEY----- + +PrivPubKeyPair=BOB_cf_wap-wsg-idm-ecid-wtls4:BOB_cf_wap-wsg-idm-ecid-wtls4_PUB + +# ECDH Alice with Bob peer +Derive=ALICE_cf_wap-wsg-idm-ecid-wtls4 +PeerKey=BOB_cf_wap-wsg-idm-ecid-wtls4_PUB +SharedSecret=0077378ddfdadff704a0b6646949e7 + +# ECDH Bob with Alice peer +Derive=BOB_cf_wap-wsg-idm-ecid-wtls4 +PeerKey=ALICE_cf_wap-wsg-idm-ecid-wtls4_PUB +SharedSecret=0077378ddfdadff704a0b6646949e7 + +# ECC CDH Alice with Bob peer +Derive=ALICE_cf_wap-wsg-idm-ecid-wtls4 +PeerKey=BOB_cf_wap-wsg-idm-ecid-wtls4_PUB +Ctrl=ecdh_cofactor_mode:1 +SharedSecret=008f3713fe1ff1fa5d5041899817d1 + +# ECC CDH Bob with Alice peer +Derive=BOB_cf_wap-wsg-idm-ecid-wtls4 +PeerKey=ALICE_cf_wap-wsg-idm-ecid-wtls4_PUB +Ctrl=ecdh_cofactor_mode:1 +SharedSecret=008f3713fe1ff1fa5d5041899817d1 + +PublicKey=MALICE_cf_wap-wsg-idm-ecid-wtls4_PUB +-----BEGIN PUBLIC KEY----- +MDQwEAYHKoZIzj0CAQYFZysBBAQDIAAEAAAAAAAAAAAAAAAAAAAAAd+TqiBXnTd/lyA/OFsR +-----END PUBLIC KEY----- + +# ECC CDH Bob with Malice peer +Derive=BOB_cf_wap-wsg-idm-ecid-wtls4 +PeerKey=MALICE_cf_wap-wsg-idm-ecid-wtls4_PUB +Ctrl=ecdh_cofactor_mode:1 +Result=DERIVE_ERROR +Function=EC_POINT_get_affine_coordinates_GF2m +Reason=point at infinity + +# ECC CDH Alice with Malice peer +Derive=ALICE_cf_wap-wsg-idm-ecid-wtls4 +PeerKey=MALICE_cf_wap-wsg-idm-ecid-wtls4_PUB +Ctrl=ecdh_cofactor_mode:1 +Result=DERIVE_ERROR +Function=EC_POINT_get_affine_coordinates_GF2m +Reason=point at infinity + +# Title=wap-wsg-idm-ecid-wtls5 curve tests + +PrivateKey=ALICE_cf_wap-wsg-idm-ecid-wtls5 +-----BEGIN PRIVATE KEY----- +MDMCAQAwEAYHKoZIzj0CAQYFZysBBAUEHDAaAgEBBBUD9gVh3zbLTA7BuRVVi9T8QKZ1uco= +-----END PRIVATE KEY----- + +PublicKey=ALICE_cf_wap-wsg-idm-ecid-wtls5_PUB +-----BEGIN PUBLIC KEY----- +MEAwEAYHKoZIzj0CAQYFZysBBAUDLAAEAH5xyUrvbuN+tWmRhwqrQfFHPHNUBKtAGvJuvSFVwTKk +uFzn9fPvIDe6 +-----END PUBLIC KEY----- + +PrivPubKeyPair=ALICE_cf_wap-wsg-idm-ecid-wtls5:ALICE_cf_wap-wsg-idm-ecid-wtls5_PUB + +PrivateKey=BOB_cf_wap-wsg-idm-ecid-wtls5 +-----BEGIN PRIVATE KEY----- +MDMCAQAwEAYHKoZIzj0CAQYFZysBBAUEHDAaAgEBBBUAr9ZlmuO7bNfqB42xUivJXyVHKNI= +-----END PRIVATE KEY----- + +PublicKey=BOB_cf_wap-wsg-idm-ecid-wtls5_PUB +-----BEGIN PUBLIC KEY----- +MEAwEAYHKoZIzj0CAQYFZysBBAUDLAAEBdXxEk0L2XAVzRNLPcnMxGXXyDfZAoA1Qw2XpOfVWIVR +jdoMGRgUuJmO +-----END PUBLIC KEY----- + +PrivPubKeyPair=BOB_cf_wap-wsg-idm-ecid-wtls5:BOB_cf_wap-wsg-idm-ecid-wtls5_PUB + +# ECDH Alice with Bob peer +Derive=ALICE_cf_wap-wsg-idm-ecid-wtls5 +PeerKey=BOB_cf_wap-wsg-idm-ecid-wtls5_PUB +SharedSecret=0190c68d80e94fbe9f193ae7d9a156bf0b8d097c23 + +# ECDH Bob with Alice peer +Derive=BOB_cf_wap-wsg-idm-ecid-wtls5 +PeerKey=ALICE_cf_wap-wsg-idm-ecid-wtls5_PUB +SharedSecret=0190c68d80e94fbe9f193ae7d9a156bf0b8d097c23 + +# ECC CDH Alice with Bob peer +Derive=ALICE_cf_wap-wsg-idm-ecid-wtls5 +PeerKey=BOB_cf_wap-wsg-idm-ecid-wtls5_PUB +Ctrl=ecdh_cofactor_mode:1 +SharedSecret=00aabc9b45c200e41294aa922ab06da6655731e0ea + +# ECC CDH Bob with Alice peer +Derive=BOB_cf_wap-wsg-idm-ecid-wtls5 +PeerKey=ALICE_cf_wap-wsg-idm-ecid-wtls5_PUB +Ctrl=ecdh_cofactor_mode:1 +SharedSecret=00aabc9b45c200e41294aa922ab06da6655731e0ea + +PublicKey=MALICE_cf_wap-wsg-idm-ecid-wtls5_PUB +-----BEGIN PUBLIC KEY----- +MEAwEAYHKoZIzj0CAQYFZysBBAUDLAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC8JxepS05nN/piK +dhDD3dDKXUih +-----END PUBLIC KEY----- + +# ECC CDH Bob with Malice peer +Derive=BOB_cf_wap-wsg-idm-ecid-wtls5 +PeerKey=MALICE_cf_wap-wsg-idm-ecid-wtls5_PUB +Ctrl=ecdh_cofactor_mode:1 +Result=DERIVE_ERROR +Function=EC_POINT_get_affine_coordinates_GF2m +Reason=point at infinity + +# ECC CDH Alice with Malice peer +Derive=ALICE_cf_wap-wsg-idm-ecid-wtls5 +PeerKey=MALICE_cf_wap-wsg-idm-ecid-wtls5_PUB +Ctrl=ecdh_cofactor_mode:1 +Result=DERIVE_ERROR +Function=EC_POINT_get_affine_coordinates_GF2m +Reason=point at infinity + +# Title=wap-wsg-idm-ecid-wtls6 curve tests + +PrivateKey=ALICE_cf_wap-wsg-idm-ecid-wtls6 +-----BEGIN PRIVATE KEY----- +MCwCAQAwEAYHKoZIzj0CAQYFZysBBAYEFTATAgEBBA4ayMbswPbvYMwpwo80jA== +-----END PRIVATE KEY----- + +PublicKey=ALICE_cf_wap-wsg-idm-ecid-wtls6_PUB +-----BEGIN PUBLIC KEY----- +MDIwEAYHKoZIzj0CAQYFZysBBAYDHgAERPw/8Ip/RrXr0gMgLGRQeiQ4Qd6W+Li0ylGKzg== +-----END PUBLIC KEY----- + +PrivPubKeyPair=ALICE_cf_wap-wsg-idm-ecid-wtls6:ALICE_cf_wap-wsg-idm-ecid-wtls6_PUB + +PrivateKey=BOB_cf_wap-wsg-idm-ecid-wtls6 +-----BEGIN PRIVATE KEY----- +MCwCAQAwEAYHKoZIzj0CAQYFZysBBAYEFTATAgEBBA6kbCpFt3tX2hYBQHMXbg== +-----END PRIVATE KEY----- + +PublicKey=BOB_cf_wap-wsg-idm-ecid-wtls6_PUB +-----BEGIN PUBLIC KEY----- +MDIwEAYHKoZIzj0CAQYFZysBBAYDHgAEhJXqpYGxE/l1X/LiBeyRbIcyzqPxUP5Tkv3U3w== +-----END PUBLIC KEY----- + +PrivPubKeyPair=BOB_cf_wap-wsg-idm-ecid-wtls6:BOB_cf_wap-wsg-idm-ecid-wtls6_PUB + +# ECDH Alice with Bob peer +Derive=ALICE_cf_wap-wsg-idm-ecid-wtls6 +PeerKey=BOB_cf_wap-wsg-idm-ecid-wtls6_PUB +SharedSecret=b4cae255268f11a1e46fecad04c2 + +# ECDH Bob with Alice peer +Derive=BOB_cf_wap-wsg-idm-ecid-wtls6 +PeerKey=ALICE_cf_wap-wsg-idm-ecid-wtls6_PUB +SharedSecret=b4cae255268f11a1e46fecad04c2 + +# Title=wap-wsg-idm-ecid-wtls7 curve tests + +PrivateKey=ALICE_cf_wap-wsg-idm-ecid-wtls7 +-----BEGIN PRIVATE KEY----- +MDMCAQAwEAYHKoZIzj0CAQYFZysBBAcEHDAaAgEBBBUABcyzh4ot9ck/j4/3ehK0aYngYoM= +-----END PRIVATE KEY----- + +PublicKey=ALICE_cf_wap-wsg-idm-ecid-wtls7_PUB +-----BEGIN PUBLIC KEY----- +MD4wEAYHKoZIzj0CAQYFZysBBAcDKgAEwQLnZ70n45RLqRtAGNzEa3Rl/9nwyjqYUtw2eeHhnNLT +feGY4CNH0w== +-----END PUBLIC KEY----- + +PrivPubKeyPair=ALICE_cf_wap-wsg-idm-ecid-wtls7:ALICE_cf_wap-wsg-idm-ecid-wtls7_PUB + +PrivateKey=BOB_cf_wap-wsg-idm-ecid-wtls7 +-----BEGIN PRIVATE KEY----- +MDMCAQAwEAYHKoZIzj0CAQYFZysBBAcEHDAaAgEBBBUAPyrGRY1SR13hKQswS6yXs8w8PUQ= +-----END PRIVATE KEY----- + +PublicKey=BOB_cf_wap-wsg-idm-ecid-wtls7_PUB +-----BEGIN PUBLIC KEY----- +MD4wEAYHKoZIzj0CAQYFZysBBAcDKgAEZGN44YbN5r3zcNtOHrvbQLt8/lE7BHp4D/9eKLmwFDn1 +QneRu3xwPA== +-----END PUBLIC KEY----- + +PrivPubKeyPair=BOB_cf_wap-wsg-idm-ecid-wtls7:BOB_cf_wap-wsg-idm-ecid-wtls7_PUB + +# ECDH Alice with Bob peer +Derive=ALICE_cf_wap-wsg-idm-ecid-wtls7 +PeerKey=BOB_cf_wap-wsg-idm-ecid-wtls7_PUB +SharedSecret=ae9f5bcc6457c0422866bf855921eabc42b7121a + +# ECDH Bob with Alice peer +Derive=BOB_cf_wap-wsg-idm-ecid-wtls7 +PeerKey=ALICE_cf_wap-wsg-idm-ecid-wtls7_PUB +SharedSecret=ae9f5bcc6457c0422866bf855921eabc42b7121a + +# Title=wap-wsg-idm-ecid-wtls8 curve tests + +PrivateKey=ALICE_cf_wap-wsg-idm-ecid-wtls8 +-----BEGIN PRIVATE KEY----- +MC0CAQAwEAYHKoZIzj0CAQYFZysBBAgEFjAUAgEBBA8AnkC18b3pH2O5TIYIqAQ= +-----END PRIVATE KEY----- + +PublicKey=ALICE_cf_wap-wsg-idm-ecid-wtls8_PUB +-----BEGIN PUBLIC KEY----- +MDIwEAYHKoZIzj0CAQYFZysBBAgDHgAEJD0h4HEfchwxqhp9eMHh9gczQKHX4MtWVoAxKQ== +-----END PUBLIC KEY----- + +PrivPubKeyPair=ALICE_cf_wap-wsg-idm-ecid-wtls8:ALICE_cf_wap-wsg-idm-ecid-wtls8_PUB + +PrivateKey=BOB_cf_wap-wsg-idm-ecid-wtls8 +-----BEGIN PRIVATE KEY----- +MC0CAQAwEAYHKoZIzj0CAQYFZysBBAgEFjAUAgEBBA8AXxPMnqbl3rOuIM5nsvc= +-----END PRIVATE KEY----- + +PublicKey=BOB_cf_wap-wsg-idm-ecid-wtls8_PUB +-----BEGIN PUBLIC KEY----- +MDIwEAYHKoZIzj0CAQYFZysBBAgDHgAEZawmRmzr9P+jihImUi6ykOzaSH484JhMKNdrgw== +-----END PUBLIC KEY----- + +PrivPubKeyPair=BOB_cf_wap-wsg-idm-ecid-wtls8:BOB_cf_wap-wsg-idm-ecid-wtls8_PUB + +# ECDH Alice with Bob peer +Derive=ALICE_cf_wap-wsg-idm-ecid-wtls8 +PeerKey=BOB_cf_wap-wsg-idm-ecid-wtls8_PUB +SharedSecret=48baf4f1f5e8a0eb5dae28ef6290 + +# ECDH Bob with Alice peer +Derive=BOB_cf_wap-wsg-idm-ecid-wtls8 +PeerKey=ALICE_cf_wap-wsg-idm-ecid-wtls8_PUB +SharedSecret=48baf4f1f5e8a0eb5dae28ef6290 + +# Title=wap-wsg-idm-ecid-wtls9 curve tests + +PrivateKey=ALICE_cf_wap-wsg-idm-ecid-wtls9 +-----BEGIN PRIVATE KEY----- +MDMCAQAwEAYHKoZIzj0CAQYFZysBBAkEHDAaAgEBBBUALwvuKs3RLthMAsChbqKjXw6vTYo= +-----END PRIVATE KEY----- + +PublicKey=ALICE_cf_wap-wsg-idm-ecid-wtls9_PUB +-----BEGIN PUBLIC KEY----- +MD4wEAYHKoZIzj0CAQYFZysBBAkDKgAET0ppOvd9DU4v+tkKDQ5wRBrN1FwD9+F9t5l3Im+mz3rw +DB/RYdZuUg== +-----END PUBLIC KEY----- + +PrivPubKeyPair=ALICE_cf_wap-wsg-idm-ecid-wtls9:ALICE_cf_wap-wsg-idm-ecid-wtls9_PUB + +PrivateKey=BOB_cf_wap-wsg-idm-ecid-wtls9 +-----BEGIN PRIVATE KEY----- +MDMCAQAwEAYHKoZIzj0CAQYFZysBBAkEHDAaAgEBBBUAgeb/vqEM7X5AAAxyBu3M+C8pWLM= +-----END PRIVATE KEY----- + +PublicKey=BOB_cf_wap-wsg-idm-ecid-wtls9_PUB +-----BEGIN PUBLIC KEY----- +MD4wEAYHKoZIzj0CAQYFZysBBAkDKgAEWc37LGt6lt90iF4lhtDYNFdjAqoczebuNgzGff/Uq8ov +a3EVJ9yK1A== +-----END PUBLIC KEY----- + +PrivPubKeyPair=BOB_cf_wap-wsg-idm-ecid-wtls9:BOB_cf_wap-wsg-idm-ecid-wtls9_PUB + +# ECDH Alice with Bob peer +Derive=ALICE_cf_wap-wsg-idm-ecid-wtls9 +PeerKey=BOB_cf_wap-wsg-idm-ecid-wtls9_PUB +SharedSecret=948d3030e95cead39a1bb3d8a01c2be178517ba7 + +# ECDH Bob with Alice peer +Derive=BOB_cf_wap-wsg-idm-ecid-wtls9 +PeerKey=ALICE_cf_wap-wsg-idm-ecid-wtls9_PUB +SharedSecret=948d3030e95cead39a1bb3d8a01c2be178517ba7 + +# tests: 484 diff --git a/deps/openssl/openssl/test/recipes/90-test_shlibload.t b/deps/openssl/openssl/test/recipes/90-test_shlibload.t index 04d52658900..78899f674ae 100644 --- a/deps/openssl/openssl/test/recipes/90-test_shlibload.t +++ b/deps/openssl/openssl/test/recipes/90-test_shlibload.t @@ -6,8 +6,7 @@ # in the file LICENSE in the source distribution or at # https://www.openssl.org/source/license.html - -use OpenSSL::Test qw/:DEFAULT bldtop_dir/; +use OpenSSL::Test qw/:DEFAULT bldtop_dir bldtop_file/; use OpenSSL::Test::Utils; #Load configdata.pm @@ -22,12 +21,13 @@ plan skip_all => "Test only supported in a shared build" if disabled("shared"); plan tests => 4; -my $libcrypto_idx = $unified_info{rename}->{libcrypto} // "libcrypto"; -my $libssl_idx = $unified_info{rename}->{libssl} // "libssl"; -my $libcrypto = - $unified_info{sharednames}->{$libcrypto_idx}.$target{shared_extension_simple}; -my $libssl = - $unified_info{sharednames}->{$libssl_idx}.$target{shared_extension_simple}; +# When libssl and libcrypto are compiled on Linux with "-rpath", but not +# "--enable-new-dtags", the RPATH takes precedence over LD_LIBRARY_PATH, +# and we end up running with the wrong libraries. This is resolved by +# using paths to the shared objects, not just the names. + +my $libcrypto = bldtop_file(shlib('libcrypto')); +my $libssl = bldtop_file(shlib('libssl')); ok(run(test(["shlibloadtest", "-crypto_first", $libcrypto, $libssl])), "running shlibloadtest -crypto_first"); @@ -38,3 +38,14 @@ ok(run(test(["shlibloadtest", "-just_crypto", $libcrypto, $libssl])), ok(run(test(["shlibloadtest", "-dso_ref", $libcrypto, $libssl])), "running shlibloadtest -dso_ref"); +sub shlib { + my $lib = shift; + $lib = $unified_info{rename}->{$lib} + if defined $unified_info{rename}->{$lib}; + $lib = $unified_info{sharednames}->{$lib} + . ($target{shlib_variant} || "") + . ($target{shared_extension} || ".so"); + $lib =~ s|\.\$\(SHLIB_MAJOR\)\.\$\(SHLIB_MINOR\) + |.$config{shlib_version_number}|x; + return $lib; +} diff --git a/deps/openssl/openssl/test/secmemtest.c b/deps/openssl/openssl/test/secmemtest.c index 9405f348abc..36906f7854a 100644 --- a/deps/openssl/openssl/test/secmemtest.c +++ b/deps/openssl/openssl/test/secmemtest.c @@ -1,5 +1,5 @@ /* - * Copyright 2015-2016 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2015-2018 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the OpenSSL license (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy @@ -18,6 +18,8 @@ int main(int argc, char **argv) { #if defined(OPENSSL_SYS_LINUX) || defined(OPENSSL_SYS_UNIX) char *p = NULL, *q = NULL, *r = NULL, *s = NULL; + int i; + const int size = 64; s = OPENSSL_secure_malloc(20); /* s = non-secure 20 */ @@ -128,6 +130,48 @@ int main(int argc, char **argv) return 1; } + if (!CRYPTO_secure_malloc_init(32768, 16)) { + perror_line(); + return 1; + } + + /* + * Verify that secure memory gets zeroed properly. + */ + if ((p = OPENSSL_secure_malloc(size)) == NULL) { + perror_line(); + return 1; + } + for (i = 0; i < size; i++) + if (p[i] != 0) { + perror_line(); + fprintf(stderr, "iteration %d\n", i); + return 1; + } + + for (i = 0; i < size; i++) + p[i] = (unsigned char)(i + ' ' + 1); + OPENSSL_secure_free(p); + + /* + * A deliberate use after free here to verify that the memory has been + * cleared properly. Since secure free doesn't return the memory to + * libc's memory pool, it technically isn't freed. However, the header + * bytes have to be skipped and these consist of two pointers in the + * current implementation. + */ + for (i = sizeof(void *) * 2; i < size; i++) + if (p[i] != 0) { + perror_line(); + fprintf(stderr, "iteration %d\n", i); + return 1; + } + + if (!CRYPTO_secure_malloc_done()) { + perror_line(); + return 1; + } + /*- * There was also a possible infinite loop when the number of * elements was 1<<31, as |int i| was set to that, which is a diff --git a/deps/openssl/openssl/util/libcrypto.num b/deps/openssl/openssl/util/libcrypto.num index 51f1d7d6540..2390fa03627 100644 --- a/deps/openssl/openssl/util/libcrypto.num +++ b/deps/openssl/openssl/util/libcrypto.num @@ -282,7 +282,7 @@ TS_REQ_free 282 1_1_0 EXIST::FUNCTION:TS PEM_read_DHparams 283 1_1_0 EXIST::FUNCTION:DH,STDIO RSA_private_decrypt 284 1_1_0 EXIST::FUNCTION:RSA X509V3_EXT_get_nid 285 1_1_0 EXIST::FUNCTION: -BIO_s_log 286 1_1_0 EXIST:!WIN32,!macintosh:FUNCTION: +BIO_s_log 286 1_1_0 EXIST::FUNCTION: EC_POINT_set_to_infinity 287 1_1_0 EXIST::FUNCTION:EC EVP_des_ede_ofb 288 1_1_0 EXIST::FUNCTION:DES ECDH_KDF_X9_62 289 1_1_0 EXIST::FUNCTION:EC @@ -4263,3 +4263,5 @@ X509_OBJECT_set1_X509 4514 1_1_0i EXIST::FUNCTION: X509_LOOKUP_meth_get_get_by_issuer_serial 4515 1_1_0i EXIST::FUNCTION: X509_LOOKUP_meth_set_init 4516 1_1_0i EXIST::FUNCTION: X509_OBJECT_set1_X509_CRL 4517 1_1_0i EXIST::FUNCTION: +OCSP_resp_get0_tbs_sigalg 4529 1_1_0j EXIST::FUNCTION:OCSP +OCSP_resp_get0_respdata 4530 1_1_0j EXIST::FUNCTION:OCSP diff --git a/deps/openssl/openssl/util/mkdef.pl b/deps/openssl/openssl/util/mkdef.pl index 823cb664d0a..3626dcdcb1f 100755 --- a/deps/openssl/openssl/util/mkdef.pl +++ b/deps/openssl/openssl/util/mkdef.pl @@ -978,16 +978,6 @@ sub do_defs } } - # Prune the returned symbols - - delete $syms{"bn_dump1"}; - $platform{"BIO_s_log"} .= ",!WIN32,!macintosh"; - - $platform{"PEM_read_NS_CERT_SEQ"} = "VMS"; - $platform{"PEM_write_NS_CERT_SEQ"} = "VMS"; - $platform{"PEM_read_P8_PRIV_KEY_INFO"} = "VMS"; - $platform{"PEM_write_P8_PRIV_KEY_INFO"} = "VMS"; - # Info we know about push @ret, map { $_."\\".&info_string($_,"EXIST", diff --git a/deps/openssl/openssl/util/mkrc.pl b/deps/openssl/openssl/util/mkrc.pl index c177349c13e..99912eb8b54 100755 --- a/deps/openssl/openssl/util/mkrc.pl +++ b/deps/openssl/openssl/util/mkrc.pl @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2006-2016 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2006-2018 The OpenSSL Project Authors. All Rights Reserved. # # Licensed under the OpenSSL license (the "License"). You may not use # this file except in compliance with the License. You can obtain a copy @@ -60,7 +60,7 @@ BEGIN BLOCK "040904b0" BEGIN // Required: - VALUE "CompanyName", "The OpenSSL Project, http://www.openssl.org/\\0" + VALUE "CompanyName", "The OpenSSL Project, https://www.openssl.org/\\0" VALUE "FileDescription", "$description\\0" VALUE "FileVersion", "$version\\0" VALUE "InternalName", "$basename\\0" diff --git a/deps/openssl/openssl/util/perl/OpenSSL/Test.pm b/deps/openssl/openssl/util/perl/OpenSSL/Test.pm index a6be4878950..a77909c6069 100644 --- a/deps/openssl/openssl/util/perl/OpenSSL/Test.pm +++ b/deps/openssl/openssl/util/perl/OpenSSL/Test.pm @@ -704,7 +704,7 @@ Returns a list of two numbers, the first representing the build version, the second representing the library version. See opensslv.h for more information on those numbers. -= back +=back =cut diff --git a/deps/openssl/openssl/util/shlib_wrap.sh.in b/deps/openssl/openssl/util/shlib_wrap.sh.in index 6c115ba7256..d030d33ed6d 100755 --- a/deps/openssl/openssl/util/shlib_wrap.sh.in +++ b/deps/openssl/openssl/util/shlib_wrap.sh.in @@ -1,5 +1,22 @@ #!/bin/sh +{- + use lib '.'; + use configdata; + sub shlib { + my $lib = shift; + return "" if $disabled{shared}; + $lib = $unified_info{rename}->{$lib} + if defined $unified_info{rename}->{$lib}; + $lib = $unified_info{sharednames}->{$lib} + . ($target{shlib_variant} || "") + . ($target{shared_extension} || ".so"); + $lib =~ s|\.\$\(SHLIB_MAJOR\)\.\$\(SHLIB_MINOR\) + |.$config{shlib_version_number}|x; + return $lib; + } + ""; # Make sure no left over string sneaks its way into the script +-} # To test this OpenSSL version's applications against another version's # shared libraries, simply set # @@ -25,15 +42,8 @@ fi THERE="`echo $0 | sed -e 's|[^/]*$||' 2>/dev/null`.." [ -d "${THERE}" ] || exec "$@" # should never happen... -# Alternative to this is to parse ${THERE}/Makefile... -LIBCRYPTOSO="${THERE}/libcrypto.so" -if [ -f "$LIBCRYPTOSO" ]; then - while [ -h "$LIBCRYPTOSO" ]; do - LIBCRYPTOSO="${THERE}/`ls -l "$LIBCRYPTOSO" | sed -e 's|.*\-> ||'`" - done - SOSUFFIX=`echo ${LIBCRYPTOSO} | sed -e 's|.*\.so||' 2>/dev/null` - LIBSSLSO="${THERE}/libssl.so${SOSUFFIX}" -fi +LIBCRYPTOSO="${THERE}/{- shlib('libcrypto') -}" +LIBSSLSO="${THERE}/{- shlib('libssl') -}" SYSNAME=`(uname -s) 2>/dev/null`; case "$SYSNAME" in |