xcrypt 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/Rakefile +106 -0
- data/ext/libxcrypt/AUTHORS +38 -0
- data/ext/libxcrypt/COPYING.LIB +502 -0
- data/ext/libxcrypt/ChangeLog +239 -0
- data/ext/libxcrypt/INSTALL +380 -0
- data/ext/libxcrypt/LICENSING +152 -0
- data/ext/libxcrypt/Makefile.am +704 -0
- data/ext/libxcrypt/Makefile.in +4110 -0
- data/ext/libxcrypt/NEWS +630 -0
- data/ext/libxcrypt/README +1 -0
- data/ext/libxcrypt/README.md +179 -0
- data/ext/libxcrypt/THANKS +13 -0
- data/ext/libxcrypt/TODO +1 -0
- data/ext/libxcrypt/TODO.md +100 -0
- data/ext/libxcrypt/aclocal.m4 +2617 -0
- data/ext/libxcrypt/autogen.sh +33 -0
- data/ext/libxcrypt/autom4te.cache/output.0 +19884 -0
- data/ext/libxcrypt/autom4te.cache/output.1 +19884 -0
- data/ext/libxcrypt/autom4te.cache/output.2 +19884 -0
- data/ext/libxcrypt/autom4te.cache/output.3 +19885 -0
- data/ext/libxcrypt/autom4te.cache/requests +714 -0
- data/ext/libxcrypt/autom4te.cache/traces.0 +4088 -0
- data/ext/libxcrypt/autom4te.cache/traces.1 +1060 -0
- data/ext/libxcrypt/autom4te.cache/traces.2 +4088 -0
- data/ext/libxcrypt/autom4te.cache/traces.3 +1060 -0
- data/ext/libxcrypt/build-aux/ci/ci-log-dependency-versions +79 -0
- data/ext/libxcrypt/build-aux/ci/ci-log-logfiles +22 -0
- data/ext/libxcrypt/build-aux/ci/clang-gcov-wrapper +2 -0
- data/ext/libxcrypt/build-aux/ci/configure-wrapper +10 -0
- data/ext/libxcrypt/build-aux/ci/summarize-coverage +24 -0
- data/ext/libxcrypt/build-aux/m4/ax_append_compile_flags.m4 +46 -0
- data/ext/libxcrypt/build-aux/m4/ax_append_flag.m4 +50 -0
- data/ext/libxcrypt/build-aux/m4/ax_check_compile_flag.m4 +53 -0
- data/ext/libxcrypt/build-aux/m4/ax_check_vscript.m4 +142 -0
- data/ext/libxcrypt/build-aux/m4/ax_gcc_func_attribute.m4 +246 -0
- data/ext/libxcrypt/build-aux/m4/ax_require_defined.m4 +37 -0
- data/ext/libxcrypt/build-aux/m4/ax_valgrind_check.m4 +239 -0
- data/ext/libxcrypt/build-aux/m4/libtool.m4 +8488 -0
- data/ext/libxcrypt/build-aux/m4/ltoptions.m4 +467 -0
- data/ext/libxcrypt/build-aux/m4/ltsugar.m4 +124 -0
- data/ext/libxcrypt/build-aux/m4/ltversion.m4 +24 -0
- data/ext/libxcrypt/build-aux/m4/lt~obsolete.m4 +99 -0
- data/ext/libxcrypt/build-aux/m4/pkg_compat.m4 +88 -0
- data/ext/libxcrypt/build-aux/m4/zw_alignment.m4 +90 -0
- data/ext/libxcrypt/build-aux/m4/zw_automodern.m4 +307 -0
- data/ext/libxcrypt/build-aux/m4/zw_detect_asan.m4 +24 -0
- data/ext/libxcrypt/build-aux/m4/zw_endianness.m4 +152 -0
- data/ext/libxcrypt/build-aux/m4/zw_ld_wrap.m4 +47 -0
- data/ext/libxcrypt/build-aux/m4/zw_prog_perl.m4 +40 -0
- data/ext/libxcrypt/build-aux/m4/zw_simple_warnings.m4 +150 -0
- data/ext/libxcrypt/build-aux/m4/zw_static_assert.m4 +68 -0
- data/ext/libxcrypt/build-aux/m4-autogen/compile +364 -0
- data/ext/libxcrypt/build-aux/m4-autogen/config.guess +1815 -0
- data/ext/libxcrypt/build-aux/m4-autogen/config.sub +2354 -0
- data/ext/libxcrypt/build-aux/m4-autogen/depcomp +792 -0
- data/ext/libxcrypt/build-aux/m4-autogen/install-sh +541 -0
- data/ext/libxcrypt/build-aux/m4-autogen/ltmain.sh +11524 -0
- data/ext/libxcrypt/build-aux/m4-autogen/missing +236 -0
- data/ext/libxcrypt/build-aux/m4-autogen/test-driver +160 -0
- data/ext/libxcrypt/build-aux/scripts/BuildCommon.pm +712 -0
- data/ext/libxcrypt/build-aux/scripts/check-perlcritic-config +76 -0
- data/ext/libxcrypt/build-aux/scripts/compute-symver-floor +116 -0
- data/ext/libxcrypt/build-aux/scripts/expand-selected-hashes +80 -0
- data/ext/libxcrypt/build-aux/scripts/gen-crypt-h +131 -0
- data/ext/libxcrypt/build-aux/scripts/gen-crypt-hashes-h +141 -0
- data/ext/libxcrypt/build-aux/scripts/gen-crypt-symbol-vers-h +150 -0
- data/ext/libxcrypt/build-aux/scripts/gen-libcrypt-map +67 -0
- data/ext/libxcrypt/build-aux/scripts/move-if-change +84 -0
- data/ext/libxcrypt/build-aux/scripts/skip-if-exec-format-error +78 -0
- data/ext/libxcrypt/codecov.yml +4 -0
- data/ext/libxcrypt/config.h.in +303 -0
- data/ext/libxcrypt/configure +19885 -0
- data/ext/libxcrypt/configure.ac +549 -0
- data/ext/libxcrypt/doc/crypt.3 +512 -0
- data/ext/libxcrypt/doc/crypt.5 +343 -0
- data/ext/libxcrypt/doc/crypt_checksalt.3 +106 -0
- data/ext/libxcrypt/doc/crypt_gensalt.3 +285 -0
- data/ext/libxcrypt/doc/crypt_gensalt_ra.3 +1 -0
- data/ext/libxcrypt/doc/crypt_gensalt_rn.3 +1 -0
- data/ext/libxcrypt/doc/crypt_preferred_method.3 +68 -0
- data/ext/libxcrypt/doc/crypt_r.3 +1 -0
- data/ext/libxcrypt/doc/crypt_ra.3 +1 -0
- data/ext/libxcrypt/doc/crypt_rn.3 +1 -0
- data/ext/libxcrypt/lib/alg-des-tables.c +3858 -0
- data/ext/libxcrypt/lib/alg-des.c +269 -0
- data/ext/libxcrypt/lib/alg-des.h +74 -0
- data/ext/libxcrypt/lib/alg-gost3411-2012-const.h +313 -0
- data/ext/libxcrypt/lib/alg-gost3411-2012-core.c +238 -0
- data/ext/libxcrypt/lib/alg-gost3411-2012-core.h +51 -0
- data/ext/libxcrypt/lib/alg-gost3411-2012-hmac.c +78 -0
- data/ext/libxcrypt/lib/alg-gost3411-2012-hmac.h +46 -0
- data/ext/libxcrypt/lib/alg-gost3411-2012-precalc.h +1426 -0
- data/ext/libxcrypt/lib/alg-gost3411-2012-ref.h +67 -0
- data/ext/libxcrypt/lib/alg-hmac-sha1.c +140 -0
- data/ext/libxcrypt/lib/alg-hmac-sha1.h +35 -0
- data/ext/libxcrypt/lib/alg-md4.c +270 -0
- data/ext/libxcrypt/lib/alg-md4.h +43 -0
- data/ext/libxcrypt/lib/alg-md5.c +291 -0
- data/ext/libxcrypt/lib/alg-md5.h +43 -0
- data/ext/libxcrypt/lib/alg-sha1.c +288 -0
- data/ext/libxcrypt/lib/alg-sha1.h +34 -0
- data/ext/libxcrypt/lib/alg-sha256.c +630 -0
- data/ext/libxcrypt/lib/alg-sha256.h +123 -0
- data/ext/libxcrypt/lib/alg-sha512.c +311 -0
- data/ext/libxcrypt/lib/alg-sha512.h +81 -0
- data/ext/libxcrypt/lib/alg-sm3-hmac.c +113 -0
- data/ext/libxcrypt/lib/alg-sm3-hmac.h +42 -0
- data/ext/libxcrypt/lib/alg-sm3.c +449 -0
- data/ext/libxcrypt/lib/alg-sm3.h +63 -0
- data/ext/libxcrypt/lib/alg-yescrypt-common.c +713 -0
- data/ext/libxcrypt/lib/alg-yescrypt-opt.c +1568 -0
- data/ext/libxcrypt/lib/alg-yescrypt-platform.c +106 -0
- data/ext/libxcrypt/lib/alg-yescrypt.h +360 -0
- data/ext/libxcrypt/lib/byteorder.h +164 -0
- data/ext/libxcrypt/lib/crypt-bcrypt.c +1061 -0
- data/ext/libxcrypt/lib/crypt-des-obsolete.c +215 -0
- data/ext/libxcrypt/lib/crypt-des.c +491 -0
- data/ext/libxcrypt/lib/crypt-gensalt-static.c +40 -0
- data/ext/libxcrypt/lib/crypt-gost-yescrypt.c +182 -0
- data/ext/libxcrypt/lib/crypt-md5.c +232 -0
- data/ext/libxcrypt/lib/crypt-nthash.c +134 -0
- data/ext/libxcrypt/lib/crypt-obsolete.h +40 -0
- data/ext/libxcrypt/lib/crypt-pbkdf1-sha1.c +260 -0
- data/ext/libxcrypt/lib/crypt-port.h +514 -0
- data/ext/libxcrypt/lib/crypt-scrypt.c +247 -0
- data/ext/libxcrypt/lib/crypt-sha256.c +308 -0
- data/ext/libxcrypt/lib/crypt-sha512.c +323 -0
- data/ext/libxcrypt/lib/crypt-sm3-yescrypt.c +189 -0
- data/ext/libxcrypt/lib/crypt-sm3.c +308 -0
- data/ext/libxcrypt/lib/crypt-static.c +44 -0
- data/ext/libxcrypt/lib/crypt-sunmd5.c +314 -0
- data/ext/libxcrypt/lib/crypt-yescrypt.c +177 -0
- data/ext/libxcrypt/lib/crypt.c +421 -0
- data/ext/libxcrypt/lib/crypt.h.in +249 -0
- data/ext/libxcrypt/lib/gen-des-tables.c +363 -0
- data/ext/libxcrypt/lib/hashes.conf +59 -0
- data/ext/libxcrypt/lib/libcrypt.map.in +48 -0
- data/ext/libxcrypt/lib/libcrypt.minver +97 -0
- data/ext/libxcrypt/lib/libxcrypt.pc.in +15 -0
- data/ext/libxcrypt/lib/util-base64.c +26 -0
- data/ext/libxcrypt/lib/util-gensalt-sha.c +88 -0
- data/ext/libxcrypt/lib/util-get-random-bytes.c +154 -0
- data/ext/libxcrypt/lib/util-make-failure-token.c +48 -0
- data/ext/libxcrypt/lib/util-xbzero.c +43 -0
- data/ext/libxcrypt/lib/util-xstrcpy.c +42 -0
- data/ext/libxcrypt/lib/xcrypt.h.in +58 -0
- data/ext/libxcrypt/libxcrypt.spec.rpkg +481 -0
- data/ext/libxcrypt/rpkg.conf +2 -0
- data/ext/libxcrypt/rpkg.macros +86 -0
- data/ext/libxcrypt/test/TestCommon.pm +326 -0
- data/ext/libxcrypt/test/alg-des.c +80 -0
- data/ext/libxcrypt/test/alg-gost3411-2012-hmac.c +90 -0
- data/ext/libxcrypt/test/alg-gost3411-2012.c +191 -0
- data/ext/libxcrypt/test/alg-hmac-sha1.c +187 -0
- data/ext/libxcrypt/test/alg-md4.c +111 -0
- data/ext/libxcrypt/test/alg-md5.c +134 -0
- data/ext/libxcrypt/test/alg-pbkdf-hmac-sha256.c +269 -0
- data/ext/libxcrypt/test/alg-sha1.c +111 -0
- data/ext/libxcrypt/test/alg-sha256.c +141 -0
- data/ext/libxcrypt/test/alg-sha512.c +170 -0
- data/ext/libxcrypt/test/alg-sm3-hmac.c +149 -0
- data/ext/libxcrypt/test/alg-sm3.c +168 -0
- data/ext/libxcrypt/test/alg-yescrypt.c +466 -0
- data/ext/libxcrypt/test/badsalt.c +726 -0
- data/ext/libxcrypt/test/badsetting.c +350 -0
- data/ext/libxcrypt/test/byteorder.c +254 -0
- data/ext/libxcrypt/test/checksalt.c +265 -0
- data/ext/libxcrypt/test/compile-strong-alias.c +43 -0
- data/ext/libxcrypt/test/crypt-badargs.c +392 -0
- data/ext/libxcrypt/test/crypt-gost-yescrypt.c +149 -0
- data/ext/libxcrypt/test/crypt-nested-call.c +180 -0
- data/ext/libxcrypt/test/crypt-sm3-yescrypt.c +149 -0
- data/ext/libxcrypt/test/crypt-too-long-phrase.c +157 -0
- data/ext/libxcrypt/test/des-cases.h +196 -0
- data/ext/libxcrypt/test/des-obsolete.c +206 -0
- data/ext/libxcrypt/test/des-obsolete_r.c +207 -0
- data/ext/libxcrypt/test/explicit-bzero.c +334 -0
- data/ext/libxcrypt/test/gensalt-bcrypt_x.c +54 -0
- data/ext/libxcrypt/test/gensalt-extradata.c +246 -0
- data/ext/libxcrypt/test/gensalt-nested-call.c +126 -0
- data/ext/libxcrypt/test/gensalt-nthash.c +65 -0
- data/ext/libxcrypt/test/gensalt.c +599 -0
- data/ext/libxcrypt/test/getrandom-fallbacks.c +295 -0
- data/ext/libxcrypt/test/getrandom-interface.c +211 -0
- data/ext/libxcrypt/test/ka-table-gen.py +945 -0
- data/ext/libxcrypt/test/ka-table.inc +5849 -0
- data/ext/libxcrypt/test/ka-tester.c +240 -0
- data/ext/libxcrypt/test/preferred-method.c +133 -0
- data/ext/libxcrypt/test/short-outbuf.c +119 -0
- data/ext/libxcrypt/test/special-char-salt.c +1160 -0
- data/ext/libxcrypt/test/symbols-compat.pl +137 -0
- data/ext/libxcrypt/test/symbols-renames.pl +107 -0
- data/ext/libxcrypt/test/symbols-static.pl +87 -0
- data/ext/xcrypt/xcrypt.c +9 -0
- data/lib/xcrypt/ffi.rb +76 -0
- data/lib/xcrypt/version.rb +5 -0
- data/lib/xcrypt.rb +89 -0
- metadata +267 -0
|
@@ -0,0 +1,196 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* These test vectors for the DES primitive block cipher are derived
|
|
3
|
+
* from Phil Karns' PD DES package. They are used to test both the
|
|
4
|
+
* raw encryption primitive (des.c) and the obsolete setkey/encrypt
|
|
5
|
+
* API that wraps it (des-obsolete.c).
|
|
6
|
+
*
|
|
7
|
+
* @(#)cert.c 1.8 11 Aug 1996
|
|
8
|
+
*/
|
|
9
|
+
|
|
10
|
+
#ifndef _CRYPT_TEST_DES_CASES_H
|
|
11
|
+
#define _CRYPT_TEST_DES_CASES_H 1
|
|
12
|
+
|
|
13
|
+
struct des_testcase
|
|
14
|
+
{
|
|
15
|
+
unsigned char key[8 + 1];
|
|
16
|
+
unsigned char plain[8 + 1];
|
|
17
|
+
unsigned char answer[8 + 1];
|
|
18
|
+
};
|
|
19
|
+
|
|
20
|
+
static const struct des_testcase des_testcases[] =
|
|
21
|
+
{
|
|
22
|
+
{ "\x01\x01\x01\x01\x01\x01\x01\x01", "\x95\xf8\xa5\xe5\xdd\x31\xd9\x00", "\x80\x00\x00\x00\x00\x00\x00\x00" },
|
|
23
|
+
{ "\x01\x01\x01\x01\x01\x01\x01\x01", "\xdd\x7f\x12\x1c\xa5\x01\x56\x19", "\x40\x00\x00\x00\x00\x00\x00\x00" },
|
|
24
|
+
{ "\x01\x01\x01\x01\x01\x01\x01\x01", "\x2e\x86\x53\x10\x4f\x38\x34\xea", "\x20\x00\x00\x00\x00\x00\x00\x00" },
|
|
25
|
+
{ "\x01\x01\x01\x01\x01\x01\x01\x01", "\x4b\xd3\x88\xff\x6c\xd8\x1d\x4f", "\x10\x00\x00\x00\x00\x00\x00\x00" },
|
|
26
|
+
{ "\x01\x01\x01\x01\x01\x01\x01\x01", "\x20\xb9\xe7\x67\xb2\xfb\x14\x56", "\x08\x00\x00\x00\x00\x00\x00\x00" },
|
|
27
|
+
{ "\x01\x01\x01\x01\x01\x01\x01\x01", "\x55\x57\x93\x80\xd7\x71\x38\xef", "\x04\x00\x00\x00\x00\x00\x00\x00" },
|
|
28
|
+
{ "\x01\x01\x01\x01\x01\x01\x01\x01", "\x6c\xc5\xde\xfa\xaf\x04\x51\x2f", "\x02\x00\x00\x00\x00\x00\x00\x00" },
|
|
29
|
+
{ "\x01\x01\x01\x01\x01\x01\x01\x01", "\x0d\x9f\x27\x9b\xa5\xd8\x72\x60", "\x01\x00\x00\x00\x00\x00\x00\x00" },
|
|
30
|
+
{ "\x01\x01\x01\x01\x01\x01\x01\x01", "\xd9\x03\x1b\x02\x71\xbd\x5a\x0a", "\x00\x80\x00\x00\x00\x00\x00\x00" },
|
|
31
|
+
{ "\x01\x01\x01\x01\x01\x01\x01\x01", "\x42\x42\x50\xb3\x7c\x3d\xd9\x51", "\x00\x40\x00\x00\x00\x00\x00\x00" },
|
|
32
|
+
{ "\x01\x01\x01\x01\x01\x01\x01\x01", "\xb8\x06\x1b\x7e\xcd\x9a\x21\xe5", "\x00\x20\x00\x00\x00\x00\x00\x00" },
|
|
33
|
+
{ "\x01\x01\x01\x01\x01\x01\x01\x01", "\xf1\x5d\x0f\x28\x6b\x65\xbd\x28", "\x00\x10\x00\x00\x00\x00\x00\x00" },
|
|
34
|
+
{ "\x01\x01\x01\x01\x01\x01\x01\x01", "\xad\xd0\xcc\x8d\x6e\x5d\xeb\xa1", "\x00\x08\x00\x00\x00\x00\x00\x00" },
|
|
35
|
+
{ "\x01\x01\x01\x01\x01\x01\x01\x01", "\xe6\xd5\xf8\x27\x52\xad\x63\xd1", "\x00\x04\x00\x00\x00\x00\x00\x00" },
|
|
36
|
+
{ "\x01\x01\x01\x01\x01\x01\x01\x01", "\xec\xbf\xe3\xbd\x3f\x59\x1a\x5e", "\x00\x02\x00\x00\x00\x00\x00\x00" },
|
|
37
|
+
{ "\x01\x01\x01\x01\x01\x01\x01\x01", "\xf3\x56\x83\x43\x79\xd1\x65\xcd", "\x00\x01\x00\x00\x00\x00\x00\x00" },
|
|
38
|
+
{ "\x01\x01\x01\x01\x01\x01\x01\x01", "\x2b\x9f\x98\x2f\x20\x03\x7f\xa9", "\x00\x00\x80\x00\x00\x00\x00\x00" },
|
|
39
|
+
{ "\x01\x01\x01\x01\x01\x01\x01\x01", "\x88\x9d\xe0\x68\xa1\x6f\x0b\xe6", "\x00\x00\x40\x00\x00\x00\x00\x00" },
|
|
40
|
+
{ "\x01\x01\x01\x01\x01\x01\x01\x01", "\xe1\x9e\x27\x5d\x84\x6a\x12\x98", "\x00\x00\x20\x00\x00\x00\x00\x00" },
|
|
41
|
+
{ "\x01\x01\x01\x01\x01\x01\x01\x01", "\x32\x9a\x8e\xd5\x23\xd7\x1a\xec", "\x00\x00\x10\x00\x00\x00\x00\x00" },
|
|
42
|
+
{ "\x01\x01\x01\x01\x01\x01\x01\x01", "\xe7\xfc\xe2\x25\x57\xd2\x3c\x97", "\x00\x00\x08\x00\x00\x00\x00\x00" },
|
|
43
|
+
{ "\x01\x01\x01\x01\x01\x01\x01\x01", "\x12\xa9\xf5\x81\x7f\xf2\xd6\x5d", "\x00\x00\x04\x00\x00\x00\x00\x00" },
|
|
44
|
+
{ "\x01\x01\x01\x01\x01\x01\x01\x01", "\xa4\x84\xc3\xad\x38\xdc\x9c\x19", "\x00\x00\x02\x00\x00\x00\x00\x00" },
|
|
45
|
+
{ "\x01\x01\x01\x01\x01\x01\x01\x01", "\xfb\xe0\x0a\x8a\x1e\xf8\xad\x72", "\x00\x00\x01\x00\x00\x00\x00\x00" },
|
|
46
|
+
{ "\x01\x01\x01\x01\x01\x01\x01\x01", "\x75\x0d\x07\x94\x07\x52\x13\x63", "\x00\x00\x00\x80\x00\x00\x00\x00" },
|
|
47
|
+
{ "\x01\x01\x01\x01\x01\x01\x01\x01", "\x64\xfe\xed\x9c\x72\x4c\x2f\xaf", "\x00\x00\x00\x40\x00\x00\x00\x00" },
|
|
48
|
+
{ "\x01\x01\x01\x01\x01\x01\x01\x01", "\xf0\x2b\x26\x3b\x32\x8e\x2b\x60", "\x00\x00\x00\x20\x00\x00\x00\x00" },
|
|
49
|
+
{ "\x01\x01\x01\x01\x01\x01\x01\x01", "\x9d\x64\x55\x5a\x9a\x10\xb8\x52", "\x00\x00\x00\x10\x00\x00\x00\x00" },
|
|
50
|
+
{ "\x01\x01\x01\x01\x01\x01\x01\x01", "\xd1\x06\xff\x0b\xed\x52\x55\xd7", "\x00\x00\x00\x08\x00\x00\x00\x00" },
|
|
51
|
+
{ "\x01\x01\x01\x01\x01\x01\x01\x01", "\xe1\x65\x2c\x6b\x13\x8c\x64\xa5", "\x00\x00\x00\x04\x00\x00\x00\x00" },
|
|
52
|
+
{ "\x01\x01\x01\x01\x01\x01\x01\x01", "\xe4\x28\x58\x11\x86\xec\x8f\x46", "\x00\x00\x00\x02\x00\x00\x00\x00" },
|
|
53
|
+
{ "\x01\x01\x01\x01\x01\x01\x01\x01", "\xae\xb5\xf5\xed\xe2\x2d\x1a\x36", "\x00\x00\x00\x01\x00\x00\x00\x00" },
|
|
54
|
+
{ "\x01\x01\x01\x01\x01\x01\x01\x01", "\xe9\x43\xd7\x56\x8a\xec\x0c\x5c", "\x00\x00\x00\x00\x80\x00\x00\x00" },
|
|
55
|
+
{ "\x01\x01\x01\x01\x01\x01\x01\x01", "\xdf\x98\xc8\x27\x6f\x54\xb0\x4b", "\x00\x00\x00\x00\x40\x00\x00\x00" },
|
|
56
|
+
{ "\x01\x01\x01\x01\x01\x01\x01\x01", "\xb1\x60\xe4\x68\x0f\x6c\x69\x6f", "\x00\x00\x00\x00\x20\x00\x00\x00" },
|
|
57
|
+
{ "\x01\x01\x01\x01\x01\x01\x01\x01", "\xfa\x07\x52\xb0\x7d\x9c\x4a\xb8", "\x00\x00\x00\x00\x10\x00\x00\x00" },
|
|
58
|
+
{ "\x01\x01\x01\x01\x01\x01\x01\x01", "\xca\x3a\x2b\x03\x6d\xbc\x85\x02", "\x00\x00\x00\x00\x08\x00\x00\x00" },
|
|
59
|
+
{ "\x01\x01\x01\x01\x01\x01\x01\x01", "\x5e\x09\x05\x51\x7b\xb5\x9b\xcf", "\x00\x00\x00\x00\x04\x00\x00\x00" },
|
|
60
|
+
{ "\x01\x01\x01\x01\x01\x01\x01\x01", "\x81\x4e\xeb\x3b\x91\xd9\x07\x26", "\x00\x00\x00\x00\x02\x00\x00\x00" },
|
|
61
|
+
{ "\x01\x01\x01\x01\x01\x01\x01\x01", "\x4d\x49\xdb\x15\x32\x91\x9c\x9f", "\x00\x00\x00\x00\x01\x00\x00\x00" },
|
|
62
|
+
{ "\x01\x01\x01\x01\x01\x01\x01\x01", "\x25\xeb\x5f\xc3\xf8\xcf\x06\x21", "\x00\x00\x00\x00\x00\x80\x00\x00" },
|
|
63
|
+
{ "\x01\x01\x01\x01\x01\x01\x01\x01", "\xab\x6a\x20\xc0\x62\x0d\x1c\x6f", "\x00\x00\x00\x00\x00\x40\x00\x00" },
|
|
64
|
+
{ "\x01\x01\x01\x01\x01\x01\x01\x01", "\x79\xe9\x0d\xbc\x98\xf9\x2c\xca", "\x00\x00\x00\x00\x00\x20\x00\x00" },
|
|
65
|
+
{ "\x01\x01\x01\x01\x01\x01\x01\x01", "\x86\x6e\xce\xdd\x80\x72\xbb\x0e", "\x00\x00\x00\x00\x00\x10\x00\x00" },
|
|
66
|
+
{ "\x01\x01\x01\x01\x01\x01\x01\x01", "\x8b\x54\x53\x6f\x2f\x3e\x64\xa8", "\x00\x00\x00\x00\x00\x08\x00\x00" },
|
|
67
|
+
{ "\x01\x01\x01\x01\x01\x01\x01\x01", "\xea\x51\xd3\x97\x55\x95\xb8\x6b", "\x00\x00\x00\x00\x00\x04\x00\x00" },
|
|
68
|
+
{ "\x01\x01\x01\x01\x01\x01\x01\x01", "\xca\xff\xc6\xac\x45\x42\xde\x31", "\x00\x00\x00\x00\x00\x02\x00\x00" },
|
|
69
|
+
{ "\x01\x01\x01\x01\x01\x01\x01\x01", "\x8d\xd4\x5a\x2d\xdf\x90\x79\x6c", "\x00\x00\x00\x00\x00\x01\x00\x00" },
|
|
70
|
+
{ "\x01\x01\x01\x01\x01\x01\x01\x01", "\x10\x29\xd5\x5e\x88\x0e\xc2\xd0", "\x00\x00\x00\x00\x00\x00\x80\x00" },
|
|
71
|
+
{ "\x01\x01\x01\x01\x01\x01\x01\x01", "\x5d\x86\xcb\x23\x63\x9d\xbe\xa9", "\x00\x00\x00\x00\x00\x00\x40\x00" },
|
|
72
|
+
{ "\x01\x01\x01\x01\x01\x01\x01\x01", "\x1d\x1c\xa8\x53\xae\x7c\x0c\x5f", "\x00\x00\x00\x00\x00\x00\x20\x00" },
|
|
73
|
+
{ "\x01\x01\x01\x01\x01\x01\x01\x01", "\xce\x33\x23\x29\x24\x8f\x32\x28", "\x00\x00\x00\x00\x00\x00\x10\x00" },
|
|
74
|
+
{ "\x01\x01\x01\x01\x01\x01\x01\x01", "\x84\x05\xd1\xab\xe2\x4f\xb9\x42", "\x00\x00\x00\x00\x00\x00\x08\x00" },
|
|
75
|
+
{ "\x01\x01\x01\x01\x01\x01\x01\x01", "\xe6\x43\xd7\x80\x90\xca\x42\x07", "\x00\x00\x00\x00\x00\x00\x04\x00" },
|
|
76
|
+
{ "\x01\x01\x01\x01\x01\x01\x01\x01", "\x48\x22\x1b\x99\x37\x74\x8a\x23", "\x00\x00\x00\x00\x00\x00\x02\x00" },
|
|
77
|
+
{ "\x01\x01\x01\x01\x01\x01\x01\x01", "\xdd\x7c\x0b\xbd\x61\xfa\xfd\x54", "\x00\x00\x00\x00\x00\x00\x01\x00" },
|
|
78
|
+
{ "\x01\x01\x01\x01\x01\x01\x01\x01", "\x2f\xbc\x29\x1a\x57\x0d\xb5\xc4", "\x00\x00\x00\x00\x00\x00\x00\x80" },
|
|
79
|
+
{ "\x01\x01\x01\x01\x01\x01\x01\x01", "\xe0\x7c\x30\xd7\xe4\xe2\x6e\x12", "\x00\x00\x00\x00\x00\x00\x00\x40" },
|
|
80
|
+
{ "\x01\x01\x01\x01\x01\x01\x01\x01", "\x09\x53\xe2\x25\x8e\x8e\x90\xa1", "\x00\x00\x00\x00\x00\x00\x00\x20" },
|
|
81
|
+
{ "\x01\x01\x01\x01\x01\x01\x01\x01", "\x5b\x71\x1b\xc4\xce\xeb\xf2\xee", "\x00\x00\x00\x00\x00\x00\x00\x10" },
|
|
82
|
+
{ "\x01\x01\x01\x01\x01\x01\x01\x01", "\xcc\x08\x3f\x1e\x6d\x9e\x85\xf6", "\x00\x00\x00\x00\x00\x00\x00\x08" },
|
|
83
|
+
{ "\x01\x01\x01\x01\x01\x01\x01\x01", "\xd2\xfd\x88\x67\xd5\x0d\x2d\xfe", "\x00\x00\x00\x00\x00\x00\x00\x04" },
|
|
84
|
+
{ "\x01\x01\x01\x01\x01\x01\x01\x01", "\x06\xe7\xea\x22\xce\x92\x70\x8f", "\x00\x00\x00\x00\x00\x00\x00\x02" },
|
|
85
|
+
{ "\x01\x01\x01\x01\x01\x01\x01\x01", "\x16\x6b\x40\xb4\x4a\xba\x4b\xd6", "\x00\x00\x00\x00\x00\x00\x00\x01" },
|
|
86
|
+
{ "\x80\x01\x01\x01\x01\x01\x01\x01", "\x00\x00\x00\x00\x00\x00\x00\x00", "\x95\xa8\xd7\x28\x13\xda\xa9\x4d" },
|
|
87
|
+
{ "\x40\x01\x01\x01\x01\x01\x01\x01", "\x00\x00\x00\x00\x00\x00\x00\x00", "\x0e\xec\x14\x87\xdd\x8c\x26\xd5" },
|
|
88
|
+
{ "\x20\x01\x01\x01\x01\x01\x01\x01", "\x00\x00\x00\x00\x00\x00\x00\x00", "\x7a\xd1\x6f\xfb\x79\xc4\x59\x26" },
|
|
89
|
+
{ "\x10\x01\x01\x01\x01\x01\x01\x01", "\x00\x00\x00\x00\x00\x00\x00\x00", "\xd3\x74\x62\x94\xca\x6a\x6c\xf3" },
|
|
90
|
+
{ "\x08\x01\x01\x01\x01\x01\x01\x01", "\x00\x00\x00\x00\x00\x00\x00\x00", "\x80\x9f\x5f\x87\x3c\x1f\xd7\x61" },
|
|
91
|
+
{ "\x04\x01\x01\x01\x01\x01\x01\x01", "\x00\x00\x00\x00\x00\x00\x00\x00", "\xc0\x2f\xaf\xfe\xc9\x89\xd1\xfc" },
|
|
92
|
+
{ "\x02\x01\x01\x01\x01\x01\x01\x01", "\x00\x00\x00\x00\x00\x00\x00\x00", "\x46\x15\xaa\x1d\x33\xe7\x2f\x10" },
|
|
93
|
+
{ "\x01\x80\x01\x01\x01\x01\x01\x01", "\x00\x00\x00\x00\x00\x00\x00\x00", "\x20\x55\x12\x33\x50\xc0\x08\x58" },
|
|
94
|
+
{ "\x01\x40\x01\x01\x01\x01\x01\x01", "\x00\x00\x00\x00\x00\x00\x00\x00", "\xdf\x3b\x99\xd6\x57\x73\x97\xc8" },
|
|
95
|
+
{ "\x01\x20\x01\x01\x01\x01\x01\x01", "\x00\x00\x00\x00\x00\x00\x00\x00", "\x31\xfe\x17\x36\x9b\x52\x88\xc9" },
|
|
96
|
+
{ "\x01\x10\x01\x01\x01\x01\x01\x01", "\x00\x00\x00\x00\x00\x00\x00\x00", "\xdf\xdd\x3c\xc6\x4d\xae\x16\x42" },
|
|
97
|
+
{ "\x01\x08\x01\x01\x01\x01\x01\x01", "\x00\x00\x00\x00\x00\x00\x00\x00", "\x17\x8c\x83\xce\x2b\x39\x9d\x94" },
|
|
98
|
+
{ "\x01\x04\x01\x01\x01\x01\x01\x01", "\x00\x00\x00\x00\x00\x00\x00\x00", "\x50\xf6\x36\x32\x4a\x9b\x7f\x80" },
|
|
99
|
+
{ "\x01\x02\x01\x01\x01\x01\x01\x01", "\x00\x00\x00\x00\x00\x00\x00\x00", "\xa8\x46\x8e\xe3\xbc\x18\xf0\x6d" },
|
|
100
|
+
{ "\x01\x01\x80\x01\x01\x01\x01\x01", "\x00\x00\x00\x00\x00\x00\x00\x00", "\xa2\xdc\x9e\x92\xfd\x3c\xde\x92" },
|
|
101
|
+
{ "\x01\x01\x40\x01\x01\x01\x01\x01", "\x00\x00\x00\x00\x00\x00\x00\x00", "\xca\xc0\x9f\x79\x7d\x03\x12\x87" },
|
|
102
|
+
{ "\x01\x01\x20\x01\x01\x01\x01\x01", "\x00\x00\x00\x00\x00\x00\x00\x00", "\x90\xba\x68\x0b\x22\xae\xb5\x25" },
|
|
103
|
+
{ "\x01\x01\x10\x01\x01\x01\x01\x01", "\x00\x00\x00\x00\x00\x00\x00\x00", "\xce\x7a\x24\xf3\x50\xe2\x80\xb6" },
|
|
104
|
+
{ "\x01\x01\x08\x01\x01\x01\x01\x01", "\x00\x00\x00\x00\x00\x00\x00\x00", "\x88\x2b\xff\x0a\xa0\x1a\x0b\x87" },
|
|
105
|
+
{ "\x01\x01\x04\x01\x01\x01\x01\x01", "\x00\x00\x00\x00\x00\x00\x00\x00", "\x25\x61\x02\x88\x92\x45\x11\xc2" },
|
|
106
|
+
{ "\x01\x01\x02\x01\x01\x01\x01\x01", "\x00\x00\x00\x00\x00\x00\x00\x00", "\xc7\x15\x16\xc2\x9c\x75\xd1\x70" },
|
|
107
|
+
{ "\x01\x01\x01\x80\x01\x01\x01\x01", "\x00\x00\x00\x00\x00\x00\x00\x00", "\x51\x99\xc2\x9a\x52\xc9\xf0\x59" },
|
|
108
|
+
{ "\x01\x01\x01\x40\x01\x01\x01\x01", "\x00\x00\x00\x00\x00\x00\x00\x00", "\xc2\x2f\x0a\x29\x4a\x71\xf2\x9f" },
|
|
109
|
+
{ "\x01\x01\x01\x20\x01\x01\x01\x01", "\x00\x00\x00\x00\x00\x00\x00\x00", "\xee\x37\x14\x83\x71\x4c\x02\xea" },
|
|
110
|
+
{ "\x01\x01\x01\x10\x01\x01\x01\x01", "\x00\x00\x00\x00\x00\x00\x00\x00", "\xa8\x1f\xbd\x44\x8f\x9e\x52\x2f" },
|
|
111
|
+
{ "\x01\x01\x01\x08\x01\x01\x01\x01", "\x00\x00\x00\x00\x00\x00\x00\x00", "\x4f\x64\x4c\x92\xe1\x92\xdf\xed" },
|
|
112
|
+
{ "\x01\x01\x01\x04\x01\x01\x01\x01", "\x00\x00\x00\x00\x00\x00\x00\x00", "\x1a\xfa\x9a\x66\xa6\xdf\x92\xae" },
|
|
113
|
+
{ "\x01\x01\x01\x02\x01\x01\x01\x01", "\x00\x00\x00\x00\x00\x00\x00\x00", "\xb3\xc1\xcc\x71\x5c\xb8\x79\xd8" },
|
|
114
|
+
{ "\x01\x01\x01\x01\x80\x01\x01\x01", "\x00\x00\x00\x00\x00\x00\x00\x00", "\x19\xd0\x32\xe6\x4a\xb0\xbd\x8b" },
|
|
115
|
+
{ "\x01\x01\x01\x01\x40\x01\x01\x01", "\x00\x00\x00\x00\x00\x00\x00\x00", "\x3c\xfa\xa7\xa7\xdc\x87\x20\xdc" },
|
|
116
|
+
{ "\x01\x01\x01\x01\x20\x01\x01\x01", "\x00\x00\x00\x00\x00\x00\x00\x00", "\xb7\x26\x5f\x7f\x44\x7a\xc6\xf3" },
|
|
117
|
+
{ "\x01\x01\x01\x01\x10\x01\x01\x01", "\x00\x00\x00\x00\x00\x00\x00\x00", "\x9d\xb7\x3b\x3c\x0d\x16\x3f\x54" },
|
|
118
|
+
{ "\x01\x01\x01\x01\x08\x01\x01\x01", "\x00\x00\x00\x00\x00\x00\x00\x00", "\x81\x81\xb6\x5b\xab\xf4\xa9\x75" },
|
|
119
|
+
{ "\x01\x01\x01\x01\x04\x01\x01\x01", "\x00\x00\x00\x00\x00\x00\x00\x00", "\x93\xc9\xb6\x40\x42\xea\xa2\x40" },
|
|
120
|
+
{ "\x01\x01\x01\x01\x02\x01\x01\x01", "\x00\x00\x00\x00\x00\x00\x00\x00", "\x55\x70\x53\x08\x29\x70\x55\x92" },
|
|
121
|
+
{ "\x01\x01\x01\x01\x01\x80\x01\x01", "\x00\x00\x00\x00\x00\x00\x00\x00", "\x86\x38\x80\x9e\x87\x87\x87\xa0" },
|
|
122
|
+
{ "\x01\x01\x01\x01\x01\x40\x01\x01", "\x00\x00\x00\x00\x00\x00\x00\x00", "\x41\xb9\xa7\x9a\xf7\x9a\xc2\x08" },
|
|
123
|
+
{ "\x01\x01\x01\x01\x01\x20\x01\x01", "\x00\x00\x00\x00\x00\x00\x00\x00", "\x7a\x9b\xe4\x2f\x20\x09\xa8\x92" },
|
|
124
|
+
{ "\x01\x01\x01\x01\x01\x10\x01\x01", "\x00\x00\x00\x00\x00\x00\x00\x00", "\x29\x03\x8d\x56\xba\x6d\x27\x45" },
|
|
125
|
+
{ "\x01\x01\x01\x01\x01\x08\x01\x01", "\x00\x00\x00\x00\x00\x00\x00\x00", "\x54\x95\xc6\xab\xf1\xe5\xdf\x51" },
|
|
126
|
+
{ "\x01\x01\x01\x01\x01\x04\x01\x01", "\x00\x00\x00\x00\x00\x00\x00\x00", "\xae\x13\xdb\xd5\x61\x48\x89\x33" },
|
|
127
|
+
{ "\x01\x01\x01\x01\x01\x02\x01\x01", "\x00\x00\x00\x00\x00\x00\x00\x00", "\x02\x4d\x1f\xfa\x89\x04\xe3\x89" },
|
|
128
|
+
{ "\x01\x01\x01\x01\x01\x01\x80\x01", "\x00\x00\x00\x00\x00\x00\x00\x00", "\xd1\x39\x97\x12\xf9\x9b\xf0\x2e" },
|
|
129
|
+
{ "\x01\x01\x01\x01\x01\x01\x40\x01", "\x00\x00\x00\x00\x00\x00\x00\x00", "\x14\xc1\xd7\xc1\xcf\xfe\xc7\x9e" },
|
|
130
|
+
{ "\x01\x01\x01\x01\x01\x01\x20\x01", "\x00\x00\x00\x00\x00\x00\x00\x00", "\x1d\xe5\x27\x9d\xae\x3b\xed\x6f" },
|
|
131
|
+
{ "\x01\x01\x01\x01\x01\x01\x10\x01", "\x00\x00\x00\x00\x00\x00\x00\x00", "\xe9\x41\xa3\x3f\x85\x50\x13\x03" },
|
|
132
|
+
{ "\x01\x01\x01\x01\x01\x01\x08\x01", "\x00\x00\x00\x00\x00\x00\x00\x00", "\xda\x99\xdb\xbc\x9a\x03\xf3\x79" },
|
|
133
|
+
{ "\x01\x01\x01\x01\x01\x01\x04\x01", "\x00\x00\x00\x00\x00\x00\x00\x00", "\xb7\xfc\x92\xf9\x1d\x8e\x92\xe9" },
|
|
134
|
+
{ "\x01\x01\x01\x01\x01\x01\x02\x01", "\x00\x00\x00\x00\x00\x00\x00\x00", "\xae\x8e\x5c\xaa\x3c\xa0\x4e\x85" },
|
|
135
|
+
{ "\x01\x01\x01\x01\x01\x01\x01\x80", "\x00\x00\x00\x00\x00\x00\x00\x00", "\x9c\xc6\x2d\xf4\x3b\x6e\xed\x74" },
|
|
136
|
+
{ "\x01\x01\x01\x01\x01\x01\x01\x40", "\x00\x00\x00\x00\x00\x00\x00\x00", "\xd8\x63\xdb\xb5\xc5\x9a\x91\xa0" },
|
|
137
|
+
{ "\x01\x01\x01\x01\x01\x01\x01\x20", "\x00\x00\x00\x00\x00\x00\x00\x00", "\xa1\xab\x21\x90\x54\x5b\x91\xd7" },
|
|
138
|
+
{ "\x01\x01\x01\x01\x01\x01\x01\x10", "\x00\x00\x00\x00\x00\x00\x00\x00", "\x08\x75\x04\x1e\x64\xc5\x70\xf7" },
|
|
139
|
+
{ "\x01\x01\x01\x01\x01\x01\x01\x08", "\x00\x00\x00\x00\x00\x00\x00\x00", "\x5a\x59\x45\x28\xbe\xbe\xf1\xcc" },
|
|
140
|
+
{ "\x01\x01\x01\x01\x01\x01\x01\x04", "\x00\x00\x00\x00\x00\x00\x00\x00", "\xfc\xdb\x32\x91\xde\x21\xf0\xc0" },
|
|
141
|
+
{ "\x01\x01\x01\x01\x01\x01\x01\x02", "\x00\x00\x00\x00\x00\x00\x00\x00", "\x86\x9e\xfd\x7f\x9f\x26\x5a\x09" },
|
|
142
|
+
{ "\x10\x46\x91\x34\x89\x98\x01\x31", "\x00\x00\x00\x00\x00\x00\x00\x00", "\x88\xd5\x5e\x54\xf5\x4c\x97\xb4" },
|
|
143
|
+
{ "\x10\x07\x10\x34\x89\x98\x80\x20", "\x00\x00\x00\x00\x00\x00\x00\x00", "\x0c\x0c\xc0\x0c\x83\xea\x48\xfd" },
|
|
144
|
+
{ "\x10\x07\x10\x34\xc8\x98\x01\x20", "\x00\x00\x00\x00\x00\x00\x00\x00", "\x83\xbc\x8e\xf3\xa6\x57\x01\x83" },
|
|
145
|
+
{ "\x10\x46\x10\x34\x89\x98\x80\x20", "\x00\x00\x00\x00\x00\x00\x00\x00", "\xdf\x72\x5d\xca\xd9\x4e\xa2\xe9" },
|
|
146
|
+
{ "\x10\x86\x91\x15\x19\x19\x01\x01", "\x00\x00\x00\x00\x00\x00\x00\x00", "\xe6\x52\xb5\x3b\x55\x0b\xe8\xb0" },
|
|
147
|
+
{ "\x10\x86\x91\x15\x19\x58\x01\x01", "\x00\x00\x00\x00\x00\x00\x00\x00", "\xaf\x52\x71\x20\xc4\x85\xcb\xb0" },
|
|
148
|
+
{ "\x51\x07\xb0\x15\x19\x58\x01\x01", "\x00\x00\x00\x00\x00\x00\x00\x00", "\x0f\x04\xce\x39\x3d\xb9\x26\xd5" },
|
|
149
|
+
{ "\x10\x07\xb0\x15\x19\x19\x01\x01", "\x00\x00\x00\x00\x00\x00\x00\x00", "\xc9\xf0\x0f\xfc\x74\x07\x90\x67" },
|
|
150
|
+
{ "\x31\x07\x91\x54\x98\x08\x01\x01", "\x00\x00\x00\x00\x00\x00\x00\x00", "\x7c\xfd\x82\xa5\x93\x25\x2b\x4e" },
|
|
151
|
+
{ "\x31\x07\x91\x94\x98\x08\x01\x01", "\x00\x00\x00\x00\x00\x00\x00\x00", "\xcb\x49\xa2\xf9\xe9\x13\x63\xe3" },
|
|
152
|
+
{ "\x10\x07\x91\x15\xb9\x08\x01\x40", "\x00\x00\x00\x00\x00\x00\x00\x00", "\x00\xb5\x88\xbe\x70\xd2\x3f\x56" },
|
|
153
|
+
{ "\x31\x07\x91\x15\x98\x08\x01\x40", "\x00\x00\x00\x00\x00\x00\x00\x00", "\x40\x6a\x9a\x6a\xb4\x33\x99\xae" },
|
|
154
|
+
{ "\x10\x07\xd0\x15\x89\x98\x01\x01", "\x00\x00\x00\x00\x00\x00\x00\x00", "\x6c\xb7\x73\x61\x1d\xca\x9a\xda" },
|
|
155
|
+
{ "\x91\x07\x91\x15\x89\x98\x01\x01", "\x00\x00\x00\x00\x00\x00\x00\x00", "\x67\xfd\x21\xc1\x7d\xbb\x5d\x70" },
|
|
156
|
+
{ "\x91\x07\xd0\x15\x89\x19\x01\x01", "\x00\x00\x00\x00\x00\x00\x00\x00", "\x95\x92\xcb\x41\x10\x43\x07\x87" },
|
|
157
|
+
{ "\x10\x07\xd0\x15\x98\x98\x01\x20", "\x00\x00\x00\x00\x00\x00\x00\x00", "\xa6\xb7\xff\x68\xa3\x18\xdd\xd3" },
|
|
158
|
+
{ "\x10\x07\x94\x04\x98\x19\x01\x01", "\x00\x00\x00\x00\x00\x00\x00\x00", "\x4d\x10\x21\x96\xc9\x14\xca\x16" },
|
|
159
|
+
{ "\x01\x07\x91\x04\x91\x19\x04\x01", "\x00\x00\x00\x00\x00\x00\x00\x00", "\x2d\xfa\x9f\x45\x73\x59\x49\x65" },
|
|
160
|
+
{ "\x01\x07\x91\x04\x91\x19\x01\x01", "\x00\x00\x00\x00\x00\x00\x00\x00", "\xb4\x66\x04\x81\x6c\x0e\x07\x74" },
|
|
161
|
+
{ "\x01\x07\x94\x04\x91\x19\x04\x01", "\x00\x00\x00\x00\x00\x00\x00\x00", "\x6e\x7e\x62\x21\xa4\xf3\x4e\x87" },
|
|
162
|
+
{ "\x19\x07\x92\x10\x98\x1a\x01\x01", "\x00\x00\x00\x00\x00\x00\x00\x00", "\xaa\x85\xe7\x46\x43\x23\x31\x99" },
|
|
163
|
+
{ "\x10\x07\x91\x19\x98\x19\x08\x01", "\x00\x00\x00\x00\x00\x00\x00\x00", "\x2e\x5a\x19\xdb\x4d\x19\x62\xd6" },
|
|
164
|
+
{ "\x10\x07\x91\x19\x98\x1a\x08\x01", "\x00\x00\x00\x00\x00\x00\x00\x00", "\x23\xa8\x66\xa8\x09\xd3\x08\x94" },
|
|
165
|
+
{ "\x10\x07\x92\x10\x98\x19\x01\x01", "\x00\x00\x00\x00\x00\x00\x00\x00", "\xd8\x12\xd9\x61\xf0\x17\xd3\x20" },
|
|
166
|
+
{ "\x10\x07\x91\x15\x98\x19\x01\x0b", "\x00\x00\x00\x00\x00\x00\x00\x00", "\x05\x56\x05\x81\x6e\x58\x60\x8f" },
|
|
167
|
+
{ "\x10\x04\x80\x15\x98\x19\x01\x01", "\x00\x00\x00\x00\x00\x00\x00\x00", "\xab\xd8\x8e\x8b\x1b\x77\x16\xf1" },
|
|
168
|
+
{ "\x10\x04\x80\x15\x98\x19\x01\x02", "\x00\x00\x00\x00\x00\x00\x00\x00", "\x53\x7a\xc9\x5b\xe6\x9d\xa1\xe1" },
|
|
169
|
+
{ "\x10\x04\x80\x15\x98\x19\x01\x08", "\x00\x00\x00\x00\x00\x00\x00\x00", "\xae\xd0\xf6\xae\x3c\x25\xcd\xd8" },
|
|
170
|
+
{ "\x10\x02\x91\x15\x98\x10\x01\x04", "\x00\x00\x00\x00\x00\x00\x00\x00", "\xb3\xe3\x5a\x5e\xe5\x3e\x7b\x8d" },
|
|
171
|
+
{ "\x10\x02\x91\x15\x98\x19\x01\x04", "\x00\x00\x00\x00\x00\x00\x00\x00", "\x61\xc7\x9c\x71\x92\x1a\x2e\xf8" },
|
|
172
|
+
{ "\x10\x02\x91\x15\x98\x10\x02\x01", "\x00\x00\x00\x00\x00\x00\x00\x00", "\xe2\xf5\x72\x8f\x09\x95\x01\x3c" },
|
|
173
|
+
{ "\x10\x02\x91\x16\x98\x10\x01\x01", "\x00\x00\x00\x00\x00\x00\x00\x00", "\x1a\xea\xc3\x9a\x61\xf0\xa4\x64" },
|
|
174
|
+
{ "\x7c\xa1\x10\x45\x4a\x1a\x6e\x57", "\x01\xa1\xd6\xd0\x39\x77\x67\x42", "\x69\x0f\x5b\x0d\x9a\x26\x93\x9b" },
|
|
175
|
+
{ "\x01\x31\xd9\x61\x9d\xc1\x37\x6e", "\x5c\xd5\x4c\xa8\x3d\xef\x57\xda", "\x7a\x38\x9d\x10\x35\x4b\xd2\x71" },
|
|
176
|
+
{ "\x07\xa1\x13\x3e\x4a\x0b\x26\x86", "\x02\x48\xd4\x38\x06\xf6\x71\x72", "\x86\x8e\xbb\x51\xca\xb4\x59\x9a" },
|
|
177
|
+
{ "\x38\x49\x67\x4c\x26\x02\x31\x9e", "\x51\x45\x4b\x58\x2d\xdf\x44\x0a", "\x71\x78\x87\x6e\x01\xf1\x9b\x2a" },
|
|
178
|
+
{ "\x04\xb9\x15\xba\x43\xfe\xb5\xb6", "\x42\xfd\x44\x30\x59\x57\x7f\xa2", "\xaf\x37\xfb\x42\x1f\x8c\x40\x95" },
|
|
179
|
+
{ "\x01\x13\xb9\x70\xfd\x34\xf2\xce", "\x05\x9b\x5e\x08\x51\xcf\x14\x3a", "\x86\xa5\x60\xf1\x0e\xc6\xd8\x5b" },
|
|
180
|
+
{ "\x01\x70\xf1\x75\x46\x8f\xb5\xe6", "\x07\x56\xd8\xe0\x77\x47\x61\xd2", "\x0c\xd3\xda\x02\x00\x21\xdc\x09" },
|
|
181
|
+
{ "\x43\x29\x7f\xad\x38\xe3\x73\xfe", "\x76\x25\x14\xb8\x29\xbf\x48\x6a", "\xea\x67\x6b\x2c\xb7\xdb\x2b\x7a" },
|
|
182
|
+
{ "\x07\xa7\x13\x70\x45\xda\x2a\x16", "\x3b\xdd\x11\x90\x49\x37\x28\x02", "\xdf\xd6\x4a\x81\x5c\xaf\x1a\x0f" },
|
|
183
|
+
{ "\x04\x68\x91\x04\xc2\xfd\x3b\x2f", "\x26\x95\x5f\x68\x35\xaf\x60\x9a", "\x5c\x51\x3c\x9c\x48\x86\xc0\x88" },
|
|
184
|
+
{ "\x37\xd0\x6b\xb5\x16\xcb\x75\x46", "\x16\x4d\x5e\x40\x4f\x27\x52\x32", "\x0a\x2a\xee\xae\x3f\xf4\xab\x77" },
|
|
185
|
+
{ "\x1f\x08\x26\x0d\x1a\xc2\x46\x5e", "\x6b\x05\x6e\x18\x75\x9f\x5c\xca", "\xef\x1b\xf0\x3e\x5d\xfa\x57\x5a" },
|
|
186
|
+
{ "\x58\x40\x23\x64\x1a\xba\x61\x76", "\x00\x4b\xd6\xef\x09\x17\x60\x62", "\x88\xbf\x0d\xb6\xd7\x0d\xee\x56" },
|
|
187
|
+
{ "\x02\x58\x16\x16\x46\x29\xb0\x07", "\x48\x0d\x39\x00\x6e\xe7\x62\xf2", "\xa1\xf9\x91\x55\x41\x02\x0b\x56" },
|
|
188
|
+
{ "\x49\x79\x3e\xbc\x79\xb3\x25\x8f", "\x43\x75\x40\xc8\x69\x8f\x3c\xfa", "\x6f\xbf\x1c\xaf\xcf\xfd\x05\x56" },
|
|
189
|
+
{ "\x4f\xb0\x5e\x15\x15\xab\x73\xa7", "\x07\x2d\x43\xa0\x77\x07\x52\x92", "\x2f\x22\xe4\x9b\xab\x7c\xa1\xac" },
|
|
190
|
+
{ "\x49\xe9\x5d\x6d\x4c\xa2\x29\xbf", "\x02\xfe\x55\x77\x81\x17\xf1\x2a", "\x5a\x6b\x61\x2c\xc2\x6c\xce\x4a" },
|
|
191
|
+
{ "\x01\x83\x10\xdc\x40\x9b\x26\xd6", "\x1d\x9d\x5c\x50\x18\xf7\x28\xc2", "\x5f\x4c\x03\x8e\xd1\x2b\x2e\x41" },
|
|
192
|
+
{ "\x1c\x58\x7f\x1c\x13\x92\x4f\xef", "\x30\x55\x32\x28\x6d\x6f\x29\x5a", "\x63\xfa\xc0\xd0\x34\xd9\xf7\x93" },
|
|
193
|
+
};
|
|
194
|
+
static const size_t N_DES_TESTCASES = ARRAY_SIZE (des_testcases);
|
|
195
|
+
|
|
196
|
+
#endif /* test-des-cases.h */
|
|
@@ -0,0 +1,206 @@
|
|
|
1
|
+
|
|
2
|
+
/*
|
|
3
|
+
* This crypt(3) validation program shipped with UFC-crypt
|
|
4
|
+
* is derived from one distributed with Phil Karns PD DES package.
|
|
5
|
+
*
|
|
6
|
+
* @(#)cert.c 1.8 11 Aug 1996
|
|
7
|
+
*/
|
|
8
|
+
|
|
9
|
+
#include "crypt-port.h"
|
|
10
|
+
#include "crypt-obsolete.h"
|
|
11
|
+
#include "des-cases.h"
|
|
12
|
+
|
|
13
|
+
#include <stdio.h>
|
|
14
|
+
|
|
15
|
+
#if ENABLE_OBSOLETE_API_ENOSYS
|
|
16
|
+
#include <errno.h>
|
|
17
|
+
#endif
|
|
18
|
+
|
|
19
|
+
#if HAVE_SYMVER
|
|
20
|
+
symver_ref("encrypt", encrypt, SYMVER_FLOOR);
|
|
21
|
+
symver_ref("setkey", setkey, SYMVER_FLOOR);
|
|
22
|
+
#endif
|
|
23
|
+
|
|
24
|
+
static void
|
|
25
|
+
expand (unsigned char ex[64], const unsigned char pk[8])
|
|
26
|
+
{
|
|
27
|
+
int i, j;
|
|
28
|
+
unsigned int t;
|
|
29
|
+
|
|
30
|
+
for (i = 0; i < 8; i++)
|
|
31
|
+
{
|
|
32
|
+
t = pk[i];
|
|
33
|
+
for (j = 0; j < 8; j++)
|
|
34
|
+
ex[i*8 + j] = (unsigned char)((t & (0x01u << (7 - j))) != 0);
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
#if !ENABLE_OBSOLETE_API_ENOSYS
|
|
39
|
+
|
|
40
|
+
static void
|
|
41
|
+
ex_print (const unsigned char ex[64])
|
|
42
|
+
{
|
|
43
|
+
int i, j;
|
|
44
|
+
unsigned int t;
|
|
45
|
+
|
|
46
|
+
for (i = 0; i < 8; i++)
|
|
47
|
+
{
|
|
48
|
+
t = 0;
|
|
49
|
+
for (j = 0; j < 8; j++)
|
|
50
|
+
t = (t << 1) | ex[i*8 + j];
|
|
51
|
+
printf ("%02x", t);
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
static void
|
|
56
|
+
pk_print (const unsigned char pk[8])
|
|
57
|
+
{
|
|
58
|
+
for (int i = 0; i < 8; i++)
|
|
59
|
+
printf ("%02x", (unsigned int)pk[i]);
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
static void
|
|
63
|
+
report_failure (size_t n, bool decrypt,
|
|
64
|
+
const struct des_testcase *tc, const unsigned char got[64])
|
|
65
|
+
{
|
|
66
|
+
printf ("FAIL: %zu/%s: k=", n, decrypt ? "de" : "en");
|
|
67
|
+
pk_print (tc->key);
|
|
68
|
+
fputs (" exp ", stdout);
|
|
69
|
+
if (decrypt)
|
|
70
|
+
pk_print (tc->plain);
|
|
71
|
+
else
|
|
72
|
+
pk_print (tc->answer);
|
|
73
|
+
fputs (" got ", stdout);
|
|
74
|
+
ex_print (got);
|
|
75
|
+
putchar ('\n');
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
int
|
|
79
|
+
main (void)
|
|
80
|
+
{
|
|
81
|
+
unsigned char key[64], plain[64], cipher[64], answer[64];
|
|
82
|
+
const struct des_testcase *tc;
|
|
83
|
+
size_t t;
|
|
84
|
+
int status = 0;
|
|
85
|
+
|
|
86
|
+
for (t = 0; t < N_DES_TESTCASES; t++)
|
|
87
|
+
{
|
|
88
|
+
tc = &des_testcases[t];
|
|
89
|
+
expand (key, tc->key);
|
|
90
|
+
expand (plain, tc->plain);
|
|
91
|
+
expand (answer, tc->answer);
|
|
92
|
+
|
|
93
|
+
setkey ((char *)key);
|
|
94
|
+
memcpy (cipher, plain, 64);
|
|
95
|
+
encrypt ((char *)cipher, 0);
|
|
96
|
+
|
|
97
|
+
if (memcmp (cipher, answer, 64) != 0)
|
|
98
|
+
{
|
|
99
|
+
status = 1;
|
|
100
|
+
// coverity[sensitive_data_leak]
|
|
101
|
+
report_failure (t, false, tc, cipher);
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
memcpy (cipher, answer, 64);
|
|
105
|
+
encrypt ((char *)cipher, 1);
|
|
106
|
+
if (memcmp (cipher, plain, 64) != 0)
|
|
107
|
+
{
|
|
108
|
+
status = 1;
|
|
109
|
+
report_failure (t, true, tc, cipher);
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
return status;
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
#else
|
|
117
|
+
|
|
118
|
+
int
|
|
119
|
+
main (void)
|
|
120
|
+
{
|
|
121
|
+
unsigned char key[64], plain[64], cipher[64], answer[64];
|
|
122
|
+
const struct des_testcase *tc;
|
|
123
|
+
size_t t;
|
|
124
|
+
int status = 0;
|
|
125
|
+
|
|
126
|
+
for (t = 0; t < N_DES_TESTCASES; t++)
|
|
127
|
+
{
|
|
128
|
+
tc = &des_testcases[t];
|
|
129
|
+
expand (key, tc->key);
|
|
130
|
+
expand (plain, tc->plain);
|
|
131
|
+
expand (answer, tc->answer);
|
|
132
|
+
|
|
133
|
+
/* Explicitly reset errno as required by POSIX. */
|
|
134
|
+
errno = 0;
|
|
135
|
+
|
|
136
|
+
setkey ((char *)key);
|
|
137
|
+
|
|
138
|
+
if (errno != ENOSYS)
|
|
139
|
+
{
|
|
140
|
+
status = 1;
|
|
141
|
+
printf ("FAIL: %s: errno does NOT equal ENOSYS.\n"
|
|
142
|
+
"expected: %d, %s, got: %d, %s\n", "setkey",
|
|
143
|
+
ENOSYS, strerror (ENOSYS), errno, strerror (errno));
|
|
144
|
+
}
|
|
145
|
+
|
|
146
|
+
memcpy (cipher, plain, 64);
|
|
147
|
+
|
|
148
|
+
/* Explicitly reset errno as required by POSIX. */
|
|
149
|
+
errno = 0;
|
|
150
|
+
|
|
151
|
+
encrypt ((char *)cipher, 0);
|
|
152
|
+
|
|
153
|
+
if (memcmp (cipher, answer, 64) == 0)
|
|
154
|
+
{
|
|
155
|
+
status = 1;
|
|
156
|
+
printf ("FAIL: %s: still performs correct operation.\n",
|
|
157
|
+
"encrypt");
|
|
158
|
+
}
|
|
159
|
+
|
|
160
|
+
if (memcmp (cipher, plain, 64) == 0)
|
|
161
|
+
{
|
|
162
|
+
status = 1;
|
|
163
|
+
printf ("FAIL: %s: data-block is has not changed.\n",
|
|
164
|
+
"encrypt");
|
|
165
|
+
}
|
|
166
|
+
|
|
167
|
+
if (errno != ENOSYS)
|
|
168
|
+
{
|
|
169
|
+
status = 1;
|
|
170
|
+
printf ("FAIL: %s: errno does NOT equal ENOSYS.\n"
|
|
171
|
+
"expected: %d, %s, got: %d, %s\n", "encrypt",
|
|
172
|
+
ENOSYS, strerror (ENOSYS), errno, strerror (errno));
|
|
173
|
+
}
|
|
174
|
+
|
|
175
|
+
/* Explicitly reset errno as required by POSIX. */
|
|
176
|
+
errno = 0;
|
|
177
|
+
|
|
178
|
+
encrypt ((char *)cipher, 1);
|
|
179
|
+
|
|
180
|
+
if (memcmp (cipher, plain, 64) == 0)
|
|
181
|
+
{
|
|
182
|
+
status = 1;
|
|
183
|
+
printf ("FAIL: %s: still performs correct operation.\n",
|
|
184
|
+
"encrypt (decrypt)");
|
|
185
|
+
}
|
|
186
|
+
|
|
187
|
+
if (memcmp (cipher, answer, 64) == 0)
|
|
188
|
+
{
|
|
189
|
+
status = 1;
|
|
190
|
+
printf ("FAIL: %s: data-block is unchanged.\n",
|
|
191
|
+
"encrypt (decrypt)");
|
|
192
|
+
}
|
|
193
|
+
|
|
194
|
+
if (errno != ENOSYS)
|
|
195
|
+
{
|
|
196
|
+
status = 1;
|
|
197
|
+
printf ("FAIL: %s: errno does NOT equal ENOSYS.\n"
|
|
198
|
+
"expected: %d, %s, got: %d, %s\n", "encrypt (decrypt)",
|
|
199
|
+
ENOSYS, strerror (ENOSYS), errno, strerror (errno));
|
|
200
|
+
}
|
|
201
|
+
}
|
|
202
|
+
|
|
203
|
+
return status;
|
|
204
|
+
}
|
|
205
|
+
|
|
206
|
+
#endif
|
|
@@ -0,0 +1,207 @@
|
|
|
1
|
+
|
|
2
|
+
/*
|
|
3
|
+
* This crypt(3) validation program shipped with UFC-crypt
|
|
4
|
+
* is derived from one distributed with Phil Karns PD DES package.
|
|
5
|
+
*
|
|
6
|
+
* @(#)cert.c 1.8 11 Aug 1996
|
|
7
|
+
*/
|
|
8
|
+
|
|
9
|
+
#include "crypt-port.h"
|
|
10
|
+
#include "crypt-obsolete.h"
|
|
11
|
+
#include "des-cases.h"
|
|
12
|
+
|
|
13
|
+
#include <stdio.h>
|
|
14
|
+
|
|
15
|
+
#if ENABLE_OBSOLETE_API_ENOSYS
|
|
16
|
+
#include <errno.h>
|
|
17
|
+
#endif
|
|
18
|
+
|
|
19
|
+
#if HAVE_SYMVER
|
|
20
|
+
symver_ref("encrypt_r", encrypt_r, SYMVER_FLOOR);
|
|
21
|
+
symver_ref("setkey_r", setkey_r, SYMVER_FLOOR);
|
|
22
|
+
#endif
|
|
23
|
+
|
|
24
|
+
static void
|
|
25
|
+
expand (unsigned char ex[64], const unsigned char pk[8])
|
|
26
|
+
{
|
|
27
|
+
int i, j;
|
|
28
|
+
unsigned int t;
|
|
29
|
+
|
|
30
|
+
for (i = 0; i < 8; i++)
|
|
31
|
+
{
|
|
32
|
+
t = pk[i];
|
|
33
|
+
for (j = 0; j < 8; j++)
|
|
34
|
+
ex[i*8 + j] = (unsigned char)((t & (0x01u << (7 - j))) != 0);
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
#if !ENABLE_OBSOLETE_API_ENOSYS
|
|
39
|
+
|
|
40
|
+
static void
|
|
41
|
+
ex_print (const unsigned char ex[64])
|
|
42
|
+
{
|
|
43
|
+
int i, j;
|
|
44
|
+
unsigned int t;
|
|
45
|
+
|
|
46
|
+
for (i = 0; i < 8; i++)
|
|
47
|
+
{
|
|
48
|
+
t = 0;
|
|
49
|
+
for (j = 0; j < 8; j++)
|
|
50
|
+
t = (t << 1) | ex[i*8 + j];
|
|
51
|
+
printf ("%02x", t);
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
static void
|
|
56
|
+
pk_print (const unsigned char pk[8])
|
|
57
|
+
{
|
|
58
|
+
for (int i = 0; i < 8; i++)
|
|
59
|
+
printf ("%02x", (unsigned int)pk[i]);
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
static void
|
|
63
|
+
report_failure (size_t n, bool decrypt,
|
|
64
|
+
const struct des_testcase *tc, const unsigned char got[64])
|
|
65
|
+
{
|
|
66
|
+
printf ("FAIL: %zu/%s: k=", n, decrypt ? "de" : "en");
|
|
67
|
+
pk_print (tc->key);
|
|
68
|
+
fputs (" exp ", stdout);
|
|
69
|
+
if (decrypt)
|
|
70
|
+
pk_print (tc->plain);
|
|
71
|
+
else
|
|
72
|
+
pk_print (tc->answer);
|
|
73
|
+
fputs (" got ", stdout);
|
|
74
|
+
ex_print (got);
|
|
75
|
+
putchar ('\n');
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
int
|
|
79
|
+
main (void)
|
|
80
|
+
{
|
|
81
|
+
unsigned char key[64], plain[64], cipher[64], answer[64];
|
|
82
|
+
const struct des_testcase *tc;
|
|
83
|
+
size_t t;
|
|
84
|
+
int status = 0;
|
|
85
|
+
struct crypt_data data;
|
|
86
|
+
|
|
87
|
+
for (t = 0; t < N_DES_TESTCASES; t++)
|
|
88
|
+
{
|
|
89
|
+
tc = &des_testcases[t];
|
|
90
|
+
expand (key, tc->key);
|
|
91
|
+
expand (plain, tc->plain);
|
|
92
|
+
expand (answer, tc->answer);
|
|
93
|
+
|
|
94
|
+
setkey_r ((char *)key, &data);
|
|
95
|
+
memcpy (cipher, plain, 64);
|
|
96
|
+
encrypt_r ((char *)cipher, 0, &data);
|
|
97
|
+
|
|
98
|
+
if (memcmp (cipher, answer, 64) != 0)
|
|
99
|
+
{
|
|
100
|
+
status = 1;
|
|
101
|
+
report_failure (t, false, tc, cipher);
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
memcpy (cipher, answer, 64);
|
|
105
|
+
encrypt_r ((char *)cipher, 1, &data);
|
|
106
|
+
if (memcmp (cipher, plain, 64) != 0)
|
|
107
|
+
{
|
|
108
|
+
status = 1;
|
|
109
|
+
report_failure (t, true, tc, cipher);
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
return status;
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
#else
|
|
117
|
+
|
|
118
|
+
int
|
|
119
|
+
main (void)
|
|
120
|
+
{
|
|
121
|
+
unsigned char key[64], plain[64], cipher[64], answer[64];
|
|
122
|
+
const struct des_testcase *tc;
|
|
123
|
+
size_t t;
|
|
124
|
+
int status = 0;
|
|
125
|
+
struct crypt_data data;
|
|
126
|
+
|
|
127
|
+
for (t = 0; t < N_DES_TESTCASES; t++)
|
|
128
|
+
{
|
|
129
|
+
tc = &des_testcases[t];
|
|
130
|
+
expand (key, tc->key);
|
|
131
|
+
expand (plain, tc->plain);
|
|
132
|
+
expand (answer, tc->answer);
|
|
133
|
+
|
|
134
|
+
/* Explicitly reset errno as required by POSIX. */
|
|
135
|
+
errno = 0;
|
|
136
|
+
|
|
137
|
+
setkey_r ((char *)key, &data);
|
|
138
|
+
|
|
139
|
+
if (errno != ENOSYS)
|
|
140
|
+
{
|
|
141
|
+
status = 1;
|
|
142
|
+
printf ("FAIL: %s: errno does NOT equal ENOSYS.\n"
|
|
143
|
+
"expected: %d, %s, got: %d, %s\n", "setkey_r",
|
|
144
|
+
ENOSYS, strerror (ENOSYS), errno, strerror (errno));
|
|
145
|
+
}
|
|
146
|
+
|
|
147
|
+
memcpy (cipher, plain, 64);
|
|
148
|
+
|
|
149
|
+
/* Explicitly reset errno as required by POSIX. */
|
|
150
|
+
errno = 0;
|
|
151
|
+
|
|
152
|
+
encrypt_r ((char *)cipher, 0, &data);
|
|
153
|
+
|
|
154
|
+
if (memcmp (cipher, answer, 64) == 0)
|
|
155
|
+
{
|
|
156
|
+
status = 1;
|
|
157
|
+
printf ("FAIL: %s: still performs correct operation.\n",
|
|
158
|
+
"encrypt_r");
|
|
159
|
+
}
|
|
160
|
+
|
|
161
|
+
if (memcmp (cipher, plain, 64) == 0)
|
|
162
|
+
{
|
|
163
|
+
status = 1;
|
|
164
|
+
printf ("FAIL: %s: data-block is has not changed.\n",
|
|
165
|
+
"encrypt_r");
|
|
166
|
+
}
|
|
167
|
+
|
|
168
|
+
if (errno != ENOSYS)
|
|
169
|
+
{
|
|
170
|
+
status = 1;
|
|
171
|
+
printf ("FAIL: %s: errno does NOT equal ENOSYS.\n"
|
|
172
|
+
"expected: %d, %s, got: %d, %s\n", "encrypt_r",
|
|
173
|
+
ENOSYS, strerror (ENOSYS), errno, strerror (errno));
|
|
174
|
+
}
|
|
175
|
+
|
|
176
|
+
/* Explicitly reset errno as required by POSIX. */
|
|
177
|
+
errno = 0;
|
|
178
|
+
|
|
179
|
+
encrypt_r ((char *)cipher, 1, &data);
|
|
180
|
+
|
|
181
|
+
if (memcmp (cipher, plain, 64) == 0)
|
|
182
|
+
{
|
|
183
|
+
status = 1;
|
|
184
|
+
printf ("FAIL: %s: still performs correct operation.\n",
|
|
185
|
+
"encrypt_r (decrypt)");
|
|
186
|
+
}
|
|
187
|
+
|
|
188
|
+
if (memcmp (cipher, answer, 64) == 0)
|
|
189
|
+
{
|
|
190
|
+
status = 1;
|
|
191
|
+
printf ("FAIL: %s: data-block is unchanged.\n",
|
|
192
|
+
"encrypt_r (decrypt)");
|
|
193
|
+
}
|
|
194
|
+
|
|
195
|
+
if (errno != ENOSYS)
|
|
196
|
+
{
|
|
197
|
+
status = 1;
|
|
198
|
+
printf ("FAIL: %s: errno does NOT equal ENOSYS.\n"
|
|
199
|
+
"expected: %d, %s, got: %d, %s\n", "encrypt_r (decrypt)",
|
|
200
|
+
ENOSYS, strerror (ENOSYS), errno, strerror (errno));
|
|
201
|
+
}
|
|
202
|
+
}
|
|
203
|
+
|
|
204
|
+
return status;
|
|
205
|
+
}
|
|
206
|
+
|
|
207
|
+
#endif
|