aboutsummaryrefslogtreecommitdiffstats
path: root/crypto
diff options
context:
space:
mode:
authorJussi Kivilinna <jussi.kivilinna@mbnet.fi>2012-10-20 07:53:12 -0400
committerHerbert Xu <herbert@gondor.apana.org.au>2012-10-24 09:10:52 -0400
commite080b17a8cec92ef42343989ae65c73c25529346 (patch)
tree3b6e9c08d6f8315476dcbfba9b571e2c33913e13 /crypto
parent8163fc30d1316c3ecf6f88bc49b44af4aeb2dbf2 (diff)
crypto: testmgr - add new larger DES3_EDE testvectors
Most DES3_EDE testvectors are short and do not test parallelised codepaths well. Add larger testvectors to test large crypto operations and to test multi-page crypto with DES3_EDE. Signed-off-by: Jussi Kivilinna <jussi.kivilinna@mbnet.fi> Acked-by: David S. Miller <davem@davemloft.net> Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Diffstat (limited to 'crypto')
-rw-r--r--crypto/tcrypt.c1
-rw-r--r--crypto/testmgr.c15
-rw-r--r--crypto/testmgr.h1106
3 files changed, 1118 insertions, 4 deletions
diff --git a/crypto/tcrypt.c b/crypto/tcrypt.c
index 631b9129130..71b58c6e5c1 100644
--- a/crypto/tcrypt.c
+++ b/crypto/tcrypt.c
@@ -977,6 +977,7 @@ static int do_test(int m)
977 case 4: 977 case 4:
978 ret += tcrypt_test("ecb(des3_ede)"); 978 ret += tcrypt_test("ecb(des3_ede)");
979 ret += tcrypt_test("cbc(des3_ede)"); 979 ret += tcrypt_test("cbc(des3_ede)");
980 ret += tcrypt_test("ctr(des3_ede)");
980 break; 981 break;
981 982
982 case 5: 983 case 5:
diff --git a/crypto/testmgr.c b/crypto/testmgr.c
index 8655309fe71..879b61d436e 100644
--- a/crypto/testmgr.c
+++ b/crypto/testmgr.c
@@ -2351,6 +2351,21 @@ static const struct alg_test_desc alg_test_descs[] = {
2351 } 2351 }
2352 } 2352 }
2353 }, { 2353 }, {
2354 .alg = "ctr(des3_ede)",
2355 .test = alg_test_skcipher,
2356 .suite = {
2357 .cipher = {
2358 .enc = {
2359 .vecs = des3_ede_ctr_enc_tv_template,
2360 .count = DES3_EDE_CTR_ENC_TEST_VECTORS
2361 },
2362 .dec = {
2363 .vecs = des3_ede_ctr_dec_tv_template,
2364 .count = DES3_EDE_CTR_DEC_TEST_VECTORS
2365 }
2366 }
2367 }
2368 }, {
2354 .alg = "ctr(serpent)", 2369 .alg = "ctr(serpent)",
2355 .test = alg_test_skcipher, 2370 .test = alg_test_skcipher,
2356 .suite = { 2371 .suite = {
diff --git a/crypto/testmgr.h b/crypto/testmgr.h
index 3e1a27b0094..17db4a9c726 100644
--- a/crypto/testmgr.h
+++ b/crypto/testmgr.h
@@ -2030,10 +2030,12 @@ static struct hash_testvec hmac_sha512_tv_template[] = {
2030#define DES_CBC_DEC_TEST_VECTORS 5 2030#define DES_CBC_DEC_TEST_VECTORS 5
2031#define DES_CTR_ENC_TEST_VECTORS 2 2031#define DES_CTR_ENC_TEST_VECTORS 2
2032#define DES_CTR_DEC_TEST_VECTORS 2 2032#define DES_CTR_DEC_TEST_VECTORS 2
2033#define DES3_EDE_ENC_TEST_VECTORS 3 2033#define DES3_EDE_ENC_TEST_VECTORS 4
2034#define DES3_EDE_DEC_TEST_VECTORS 3 2034#define DES3_EDE_DEC_TEST_VECTORS 4
2035#define DES3_EDE_CBC_ENC_TEST_VECTORS 1 2035#define DES3_EDE_CBC_ENC_TEST_VECTORS 2
2036#define DES3_EDE_CBC_DEC_TEST_VECTORS 1 2036#define DES3_EDE_CBC_DEC_TEST_VECTORS 2
2037#define DES3_EDE_CTR_ENC_TEST_VECTORS 2
2038#define DES3_EDE_CTR_DEC_TEST_VECTORS 2
2037 2039
2038static struct cipher_testvec des_enc_tv_template[] = { 2040static struct cipher_testvec des_enc_tv_template[] = {
2039 { /* From Applied Cryptography */ 2041 { /* From Applied Cryptography */
@@ -2874,6 +2876,140 @@ static struct cipher_testvec des3_ede_enc_tv_template[] = {
2874 .ilen = 8, 2876 .ilen = 8,
2875 .result = "\xe1\xef\x62\xc3\x32\xfe\x82\x5b", 2877 .result = "\xe1\xef\x62\xc3\x32\xfe\x82\x5b",
2876 .rlen = 8, 2878 .rlen = 8,
2879 }, { /* Generated with Crypto++ */
2880 .key = "\xF3\x9C\xD6\xF3\x9C\xB9\x5A\x67"
2881 "\x00\x5A\x67\x00\x2D\xCE\xEB\x2D"
2882 "\xCE\xEB\xB4\x51\x72\xB4\x51\x72",
2883 .klen = 24,
2884 .input = "\x05\xEC\x77\xFB\x42\xD5\x59\x20"
2885 "\x8B\x12\x86\x69\xF0\x5B\xCF\x56"
2886 "\x39\xAD\x34\x9F\x66\xEA\x7D\xC4"
2887 "\x48\xD3\xBA\x0D\xB1\x18\xE3\x4A"
2888 "\xFE\x41\x28\x5C\x27\x8E\x11\x85"
2889 "\x6C\xF7\x5E\xC2\x55\x3C\xA0\x0B"
2890 "\x92\x65\xE9\x70\xDB\x4F\xD6\xB9"
2891 "\x00\xB4\x1F\xE6\x49\xFD\x44\x2F"
2892 "\x53\x3A\x8D\x14\x98\x63\xCA\x5D"
2893 "\xC1\xA8\x33\xA7\x0E\x91\x78\xEC"
2894 "\x77\xDE\x42\xD5\xBC\x07\x8B\x12"
2895 "\xE5\x4C\xF0\x5B\x22\x56\x39\x80"
2896 "\x6B\x9F\x66\xC9\x50\xC4\xAF\x36"
2897 "\xBA\x0D\x94\x7F\xE3\x4A\xDD\x41"
2898 "\x28\xB3\x1A\x8E\x11\xF8\x43\xF7"
2899 "\x5E\x21\x55\x3C\x87\x6E\x92\x65"
2900 "\xCC\x57\xDB\xA2\x35\xB9\x00\xEB"
2901 "\x72\xE6\x49\xD0\x44\x2F\xB6\x19"
2902 "\x8D\x14\xFF\x46\xCA\x5D\x24\xA8"
2903 "\x33\x9A\x6D\x91\x78\xC3\x77\xDE"
2904 "\xA1\x08\xBC\x07\xEE\x71\xE5\x4C"
2905 "\xD7\x5B\x22\xB5\x1C\x80\x6B\xF2"
2906 "\x45\xC9\x50\x3B\xAF\x36\x99\x60"
2907 "\x94\x7F\xC6\x4A\xDD\xA4\x0F\xB3"
2908 "\x1A\xED\x74\xF8\x43\x2A\x5E\x21"
2909 "\x88\x13\x87\x6E\xF1\x58\xCC\x57"
2910 "\x3E\xA2\x35\x9C\x67\xEB\x72\xC5"
2911 "\x49\xD0\xBB\x02\xB6\x19\xE0\x4B"
2912 "\xFF\x46\x29\x5D\x24\x8F\x16\x9A"
2913 "\x6D\xF4\x5F\xC3\xAA\x3D\xA1\x08"
2914 "\x93\x7A\xEE\x71\xD8\x4C\xD7\xBE"
2915 "\x01\xB5\x1C\xE7\x4E\xF2\x45\x2C"
2916 "\x50\x3B\x82\x15\x99\x60\xCB\x52"
2917 "\xC6\xA9\x30\xA4\x0F\x96\x79\xED"
2918 "\x74\xDF\x43\x2A\xBD\x04\x88\x13"
2919 "\xFA\x4D\xF1\x58\x23\x57\x3E\x81"
2920 "\x68\x9C\x67\xCE\x51\xC5\xAC\x37"
2921 "\xBB\x02\x95\x7C\xE0\x4B\xD2\x46"
2922 "\x29\xB0\x1B\x8F\x16\xF9\x40\xF4"
2923 "\x5F\x26\xAA\x3D\x84\x6F\x93\x7A"
2924 "\xCD\x54\xD8\xA3\x0A\xBE\x01\xE8"
2925 "\x73\xE7\x4E\xD1\x45\x2C\xB7\x1E"
2926 "\x82\x15\xFC\x47\xCB\x52\x25\xA9"
2927 "\x30\x9B\x62\x96\x79\xC0\x74\xDF"
2928 "\xA6\x09\xBD\x04\xEF\x76\xFA\x4D"
2929 "\xD4\x58\x23\x8A\x1D\x81\x68\xF3"
2930 "\x5A\xCE\x51\x38\xAC\x37\x9E\x61"
2931 "\x95\x7C\xC7\x4B\xD2\xA5\x0C\xB0"
2932 "\x1B\xE2\x75\xF9\x40\x2B\x5F\x26"
2933 "\x89\x10\x84\x6F\xF6\x59\xCD\x54"
2934 "\x3F\xA3\x0A\x9D\x64\xE8\x73\xDA"
2935 "\x4E\xD1\xB8\x03\xB7\x1E\xE1\x48"
2936 "\xFC\x47\x2E\x52\x25\x8C\x17\x9B"
2937 "\x62\xF5\x5C\xC0\xAB\x32\xA6\x09"
2938 "\x90\x7B\xEF\x76\xD9\x4D\xD4\xBF"
2939 "\x06\x8A\x1D\xE4\x4F\xF3\x5A\x2D"
2940 "\x51\x38\x83\x6A\x9E\x61\xC8\x53"
2941 "\xC7\xAE\x31\xA5\x0C\x97\x7E\xE2"
2942 "\x75\xDC\x40\x2B\xB2\x05\x89\x10"
2943 "\xFB\x42\xF6\x59\x20\x54\x3F\x86"
2944 "\x69\x9D\x64\xCF\x56\xDA\xAD\x34"
2945 "\xB8\x03\xEA\x7D\xE1\x48\xD3\x47",
2946 .ilen = 496,
2947 .result = "\x4E\x9A\x40\x3D\x61\x7D\x17\xFA"
2948 "\x16\x86\x88\x0B\xD8\xAE\xF8\xE4"
2949 "\x81\x01\x04\x00\x76\xFA\xED\xD3"
2950 "\x44\x7E\x21\x9D\xF0\xFB\x2B\x64"
2951 "\xCA\x4E\x90\xE0\xC0\x63\x28\x92"
2952 "\xF3\x1F\xA4\x53\x2C\x77\xCC\x77"
2953 "\x69\x56\xD0\x19\xAD\x00\x2D\x97"
2954 "\xBC\xDE\x49\x6A\x82\xBC\x16\xE2"
2955 "\x2F\x3E\x72\xEE\xD1\xCE\xFC\x1B"
2956 "\xEA\x32\x56\xE4\x0B\xAF\x27\x36"
2957 "\xAF\x08\xB9\x61\xB7\x48\x23\x27"
2958 "\xEE\x4D\xC8\x79\x56\x06\xEB\xC7"
2959 "\x5B\xCA\x0A\xC6\x5E\x5C\xCB\xB6"
2960 "\x9D\xDA\x04\x59\xE2\x09\x48\x7E"
2961 "\x6B\x37\xC6\xFE\x92\xA9\x1E\x6E"
2962 "\x0D\x19\xFA\x33\x0F\xEE\x36\x68"
2963 "\x11\xBB\xF9\x5A\x73\xAB\x3A\xEA"
2964 "\xAC\x28\xD8\xD5\x27\xE8\x6B\x16"
2965 "\x45\x86\x50\x01\x70\x35\x99\x92"
2966 "\xDF\x0C\x07\x88\x8B\x7F\x9E\x4B"
2967 "\xD2\x04\x84\x90\xC4\x27\xDF\x0A"
2968 "\x49\xA8\xA7\x1A\x6D\x78\x16\xCA"
2969 "\xB3\x18\x5C\xC3\x93\x63\x5A\x68"
2970 "\x77\x02\xBA\xED\x62\x71\xB1\xD9"
2971 "\x5E\xE5\x6F\x1A\xCC\x1D\xBE\x2E"
2972 "\x11\xF3\xA6\x97\xCA\x8E\xBF\xB4"
2973 "\x56\xA1\x36\x6B\xB1\x0A\x3E\x70"
2974 "\xEA\xD7\xCD\x72\x7B\x79\xC8\xAD"
2975 "\x6B\xFE\xFB\xBA\x64\xAE\x19\xC1"
2976 "\x82\xCF\x8A\xA1\x50\x17\x7F\xB2"
2977 "\x6F\x7B\x0F\x52\xC5\x3E\x4A\x52"
2978 "\x3F\xD9\x3F\x01\xA6\x41\x1A\xB3"
2979 "\xB3\x7A\x0E\x8E\x75\xB2\xB1\x5F"
2980 "\xDB\xEA\x84\x13\x26\x6C\x85\x4E"
2981 "\xAE\x6B\xDC\xE7\xE7\xAD\xB0\x06"
2982 "\x5C\xBA\x92\xD0\x30\xBB\x8D\xD2"
2983 "\xAE\x4C\x70\x85\xA0\x07\xE3\x2C"
2984 "\xD1\x27\x9C\xCF\xDB\x13\xB7\xE5"
2985 "\xF9\x6A\x02\xD0\x39\x9D\xB6\xE7"
2986 "\xD1\x17\x25\x08\xF9\xA9\xA6\x67"
2987 "\x38\x80\xD1\x22\xAB\x1A\xD7\x26"
2988 "\xAD\xCA\x19\x1B\xFA\x18\xA7\x57"
2989 "\x31\xEC\xC9\xED\xDB\x79\xC0\x48"
2990 "\xAC\x31\x9F\x03\x8B\x62\x5B\x7E"
2991 "\x0E\xA6\xD0\x64\xEE\xEA\x00\xFC"
2992 "\x58\xC8\xDE\x51\x4E\x17\x15\x11"
2993 "\x66\x58\xB6\x90\xDC\xDF\xA1\x49"
2994 "\xCA\x79\xE9\x31\x31\x42\xDC\x56"
2995 "\x0B\xCD\xB6\x0D\xC7\x64\xF7\x19"
2996 "\xD9\x42\x05\x7F\xBC\x2F\xFC\x90"
2997 "\xAE\x29\x86\xAA\x43\x7A\x4F\x6B"
2998 "\xCE\xEA\xBC\x31\x8D\x65\x9D\x46"
2999 "\xEA\x77\xB4\xF9\x58\xEA\x5D\x84"
3000 "\xE4\xDC\x14\xBB\xBD\x15\x0E\xDA"
3001 "\xD8\xE4\xA4\x5D\x61\xF9\x58\x0F"
3002 "\xE4\x82\x77\xCE\x87\xC0\x09\xF0"
3003 "\xD6\x10\x9E\x34\xE1\x0C\x67\x55"
3004 "\x7B\x6D\xD5\x51\x4B\x00\xEE\xBA"
3005 "\xF2\x7B\xBE\x75\x07\x42\x9D\x99"
3006 "\x12\xE1\x71\x4A\xF9\x2A\xF5\xF6"
3007 "\x93\x03\xD7\x51\x09\xFA\xBE\x68"
3008 "\xD8\x45\xFF\x33\xBA\xBB\x2B\x63",
3009 .rlen = 496,
3010 .also_non_np = 1,
3011 .np = 2,
3012 .tap = { 496 - 16, 16 },
2877 }, 3013 },
2878}; 3014};
2879 3015
@@ -2905,6 +3041,140 @@ static struct cipher_testvec des3_ede_dec_tv_template[] = {
2905 .ilen = 8, 3041 .ilen = 8,
2906 .result = "\x00\x00\x00\x00\x00\x00\x00\x00", 3042 .result = "\x00\x00\x00\x00\x00\x00\x00\x00",
2907 .rlen = 8, 3043 .rlen = 8,
3044 }, { /* Generated with Crypto++ */
3045 .key = "\xF3\x9C\xD6\xF3\x9C\xB9\x5A\x67"
3046 "\x00\x5A\x67\x00\x2D\xCE\xEB\x2D"
3047 "\xCE\xEB\xB4\x51\x72\xB4\x51\x72",
3048 .klen = 24,
3049 .input = "\x4E\x9A\x40\x3D\x61\x7D\x17\xFA"
3050 "\x16\x86\x88\x0B\xD8\xAE\xF8\xE4"
3051 "\x81\x01\x04\x00\x76\xFA\xED\xD3"
3052 "\x44\x7E\x21\x9D\xF0\xFB\x2B\x64"
3053 "\xCA\x4E\x90\xE0\xC0\x63\x28\x92"
3054 "\xF3\x1F\xA4\x53\x2C\x77\xCC\x77"
3055 "\x69\x56\xD0\x19\xAD\x00\x2D\x97"
3056 "\xBC\xDE\x49\x6A\x82\xBC\x16\xE2"
3057 "\x2F\x3E\x72\xEE\xD1\xCE\xFC\x1B"
3058 "\xEA\x32\x56\xE4\x0B\xAF\x27\x36"
3059 "\xAF\x08\xB9\x61\xB7\x48\x23\x27"
3060 "\xEE\x4D\xC8\x79\x56\x06\xEB\xC7"
3061 "\x5B\xCA\x0A\xC6\x5E\x5C\xCB\xB6"
3062 "\x9D\xDA\x04\x59\xE2\x09\x48\x7E"
3063 "\x6B\x37\xC6\xFE\x92\xA9\x1E\x6E"
3064 "\x0D\x19\xFA\x33\x0F\xEE\x36\x68"
3065 "\x11\xBB\xF9\x5A\x73\xAB\x3A\xEA"
3066 "\xAC\x28\xD8\xD5\x27\xE8\x6B\x16"
3067 "\x45\x86\x50\x01\x70\x35\x99\x92"
3068 "\xDF\x0C\x07\x88\x8B\x7F\x9E\x4B"
3069 "\xD2\x04\x84\x90\xC4\x27\xDF\x0A"
3070 "\x49\xA8\xA7\x1A\x6D\x78\x16\xCA"
3071 "\xB3\x18\x5C\xC3\x93\x63\x5A\x68"
3072 "\x77\x02\xBA\xED\x62\x71\xB1\xD9"
3073 "\x5E\xE5\x6F\x1A\xCC\x1D\xBE\x2E"
3074 "\x11\xF3\xA6\x97\xCA\x8E\xBF\xB4"
3075 "\x56\xA1\x36\x6B\xB1\x0A\x3E\x70"
3076 "\xEA\xD7\xCD\x72\x7B\x79\xC8\xAD"
3077 "\x6B\xFE\xFB\xBA\x64\xAE\x19\xC1"
3078 "\x82\xCF\x8A\xA1\x50\x17\x7F\xB2"
3079 "\x6F\x7B\x0F\x52\xC5\x3E\x4A\x52"
3080 "\x3F\xD9\x3F\x01\xA6\x41\x1A\xB3"
3081 "\xB3\x7A\x0E\x8E\x75\xB2\xB1\x5F"
3082 "\xDB\xEA\x84\x13\x26\x6C\x85\x4E"
3083 "\xAE\x6B\xDC\xE7\xE7\xAD\xB0\x06"
3084 "\x5C\xBA\x92\xD0\x30\xBB\x8D\xD2"
3085 "\xAE\x4C\x70\x85\xA0\x07\xE3\x2C"
3086 "\xD1\x27\x9C\xCF\xDB\x13\xB7\xE5"
3087 "\xF9\x6A\x02\xD0\x39\x9D\xB6\xE7"
3088 "\xD1\x17\x25\x08\xF9\xA9\xA6\x67"
3089 "\x38\x80\xD1\x22\xAB\x1A\xD7\x26"
3090 "\xAD\xCA\x19\x1B\xFA\x18\xA7\x57"
3091 "\x31\xEC\xC9\xED\xDB\x79\xC0\x48"
3092 "\xAC\x31\x9F\x03\x8B\x62\x5B\x7E"
3093 "\x0E\xA6\xD0\x64\xEE\xEA\x00\xFC"
3094 "\x58\xC8\xDE\x51\x4E\x17\x15\x11"
3095 "\x66\x58\xB6\x90\xDC\xDF\xA1\x49"
3096 "\xCA\x79\xE9\x31\x31\x42\xDC\x56"
3097 "\x0B\xCD\xB6\x0D\xC7\x64\xF7\x19"
3098 "\xD9\x42\x05\x7F\xBC\x2F\xFC\x90"
3099 "\xAE\x29\x86\xAA\x43\x7A\x4F\x6B"
3100 "\xCE\xEA\xBC\x31\x8D\x65\x9D\x46"
3101 "\xEA\x77\xB4\xF9\x58\xEA\x5D\x84"
3102 "\xE4\xDC\x14\xBB\xBD\x15\x0E\xDA"
3103 "\xD8\xE4\xA4\x5D\x61\xF9\x58\x0F"
3104 "\xE4\x82\x77\xCE\x87\xC0\x09\xF0"
3105 "\xD6\x10\x9E\x34\xE1\x0C\x67\x55"
3106 "\x7B\x6D\xD5\x51\x4B\x00\xEE\xBA"
3107 "\xF2\x7B\xBE\x75\x07\x42\x9D\x99"
3108 "\x12\xE1\x71\x4A\xF9\x2A\xF5\xF6"
3109 "\x93\x03\xD7\x51\x09\xFA\xBE\x68"
3110 "\xD8\x45\xFF\x33\xBA\xBB\x2B\x63",
3111 .ilen = 496,
3112 .result = "\x05\xEC\x77\xFB\x42\xD5\x59\x20"
3113 "\x8B\x12\x86\x69\xF0\x5B\xCF\x56"
3114 "\x39\xAD\x34\x9F\x66\xEA\x7D\xC4"
3115 "\x48\xD3\xBA\x0D\xB1\x18\xE3\x4A"
3116 "\xFE\x41\x28\x5C\x27\x8E\x11\x85"
3117 "\x6C\xF7\x5E\xC2\x55\x3C\xA0\x0B"
3118 "\x92\x65\xE9\x70\xDB\x4F\xD6\xB9"
3119 "\x00\xB4\x1F\xE6\x49\xFD\x44\x2F"
3120 "\x53\x3A\x8D\x14\x98\x63\xCA\x5D"
3121 "\xC1\xA8\x33\xA7\x0E\x91\x78\xEC"
3122 "\x77\xDE\x42\xD5\xBC\x07\x8B\x12"
3123 "\xE5\x4C\xF0\x5B\x22\x56\x39\x80"
3124 "\x6B\x9F\x66\xC9\x50\xC4\xAF\x36"
3125 "\xBA\x0D\x94\x7F\xE3\x4A\xDD\x41"
3126 "\x28\xB3\x1A\x8E\x11\xF8\x43\xF7"
3127 "\x5E\x21\x55\x3C\x87\x6E\x92\x65"
3128 "\xCC\x57\xDB\xA2\x35\xB9\x00\xEB"
3129 "\x72\xE6\x49\xD0\x44\x2F\xB6\x19"
3130 "\x8D\x14\xFF\x46\xCA\x5D\x24\xA8"
3131 "\x33\x9A\x6D\x91\x78\xC3\x77\xDE"
3132 "\xA1\x08\xBC\x07\xEE\x71\xE5\x4C"
3133 "\xD7\x5B\x22\xB5\x1C\x80\x6B\xF2"
3134 "\x45\xC9\x50\x3B\xAF\x36\x99\x60"
3135 "\x94\x7F\xC6\x4A\xDD\xA4\x0F\xB3"
3136 "\x1A\xED\x74\xF8\x43\x2A\x5E\x21"
3137 "\x88\x13\x87\x6E\xF1\x58\xCC\x57"
3138 "\x3E\xA2\x35\x9C\x67\xEB\x72\xC5"
3139 "\x49\xD0\xBB\x02\xB6\x19\xE0\x4B"
3140 "\xFF\x46\x29\x5D\x24\x8F\x16\x9A"
3141 "\x6D\xF4\x5F\xC3\xAA\x3D\xA1\x08"
3142 "\x93\x7A\xEE\x71\xD8\x4C\xD7\xBE"
3143 "\x01\xB5\x1C\xE7\x4E\xF2\x45\x2C"
3144 "\x50\x3B\x82\x15\x99\x60\xCB\x52"
3145 "\xC6\xA9\x30\xA4\x0F\x96\x79\xED"
3146 "\x74\xDF\x43\x2A\xBD\x04\x88\x13"
3147 "\xFA\x4D\xF1\x58\x23\x57\x3E\x81"
3148 "\x68\x9C\x67\xCE\x51\xC5\xAC\x37"
3149 "\xBB\x02\x95\x7C\xE0\x4B\xD2\x46"
3150 "\x29\xB0\x1B\x8F\x16\xF9\x40\xF4"
3151 "\x5F\x26\xAA\x3D\x84\x6F\x93\x7A"
3152 "\xCD\x54\xD8\xA3\x0A\xBE\x01\xE8"
3153 "\x73\xE7\x4E\xD1\x45\x2C\xB7\x1E"
3154 "\x82\x15\xFC\x47\xCB\x52\x25\xA9"
3155 "\x30\x9B\x62\x96\x79\xC0\x74\xDF"
3156 "\xA6\x09\xBD\x04\xEF\x76\xFA\x4D"
3157 "\xD4\x58\x23\x8A\x1D\x81\x68\xF3"
3158 "\x5A\xCE\x51\x38\xAC\x37\x9E\x61"
3159 "\x95\x7C\xC7\x4B\xD2\xA5\x0C\xB0"
3160 "\x1B\xE2\x75\xF9\x40\x2B\x5F\x26"
3161 "\x89\x10\x84\x6F\xF6\x59\xCD\x54"
3162 "\x3F\xA3\x0A\x9D\x64\xE8\x73\xDA"
3163 "\x4E\xD1\xB8\x03\xB7\x1E\xE1\x48"
3164 "\xFC\x47\x2E\x52\x25\x8C\x17\x9B"
3165 "\x62\xF5\x5C\xC0\xAB\x32\xA6\x09"
3166 "\x90\x7B\xEF\x76\xD9\x4D\xD4\xBF"
3167 "\x06\x8A\x1D\xE4\x4F\xF3\x5A\x2D"
3168 "\x51\x38\x83\x6A\x9E\x61\xC8\x53"
3169 "\xC7\xAE\x31\xA5\x0C\x97\x7E\xE2"
3170 "\x75\xDC\x40\x2B\xB2\x05\x89\x10"
3171 "\xFB\x42\xF6\x59\x20\x54\x3F\x86"
3172 "\x69\x9D\x64\xCF\x56\xDA\xAD\x34"
3173 "\xB8\x03\xEA\x7D\xE1\x48\xD3\x47",
3174 .rlen = 496,
3175 .also_non_np = 1,
3176 .np = 2,
3177 .tap = { 496 - 16, 16 },
2908 }, 3178 },
2909}; 3179};
2910 3180
@@ -2949,6 +3219,142 @@ static struct cipher_testvec des3_ede_cbc_enc_tv_template[] = {
2949 "\x9d\xde\xa5\x70\xe9\x42\x45\x8a" 3219 "\x9d\xde\xa5\x70\xe9\x42\x45\x8a"
2950 "\x6b\xfa\xb1\x91\x13\xb0\xd9\x19", 3220 "\x6b\xfa\xb1\x91\x13\xb0\xd9\x19",
2951 .rlen = 128, 3221 .rlen = 128,
3222 }, { /* Generated with Crypto++ */
3223 .key = "\x9C\xD6\xF3\x9C\xB9\x5A\x67\x00"
3224 "\x5A\x67\x00\x2D\xCE\xEB\x2D\xCE"
3225 "\xEB\xB4\x51\x72\xB4\x51\x72\x1F",
3226 .klen = 24,
3227 .iv = "\xB2\xD7\x48\xED\x06\x44\xF9\x12"
3228 "\xB7\x28\x4D\x83\x24\x59\xF2\x17",
3229 .input = "\x05\xEC\x77\xFB\x42\xD5\x59\x20"
3230 "\x8B\x12\x86\x69\xF0\x5B\xCF\x56"
3231 "\x39\xAD\x34\x9F\x66\xEA\x7D\xC4"
3232 "\x48\xD3\xBA\x0D\xB1\x18\xE3\x4A"
3233 "\xFE\x41\x28\x5C\x27\x8E\x11\x85"
3234 "\x6C\xF7\x5E\xC2\x55\x3C\xA0\x0B"
3235 "\x92\x65\xE9\x70\xDB\x4F\xD6\xB9"
3236 "\x00\xB4\x1F\xE6\x49\xFD\x44\x2F"
3237 "\x53\x3A\x8D\x14\x98\x63\xCA\x5D"
3238 "\xC1\xA8\x33\xA7\x0E\x91\x78\xEC"
3239 "\x77\xDE\x42\xD5\xBC\x07\x8B\x12"
3240 "\xE5\x4C\xF0\x5B\x22\x56\x39\x80"
3241 "\x6B\x9F\x66\xC9\x50\xC4\xAF\x36"
3242 "\xBA\x0D\x94\x7F\xE3\x4A\xDD\x41"
3243 "\x28\xB3\x1A\x8E\x11\xF8\x43\xF7"
3244 "\x5E\x21\x55\x3C\x87\x6E\x92\x65"
3245 "\xCC\x57\xDB\xA2\x35\xB9\x00\xEB"
3246 "\x72\xE6\x49\xD0\x44\x2F\xB6\x19"
3247 "\x8D\x14\xFF\x46\xCA\x5D\x24\xA8"
3248 "\x33\x9A\x6D\x91\x78\xC3\x77\xDE"
3249 "\xA1\x08\xBC\x07\xEE\x71\xE5\x4C"
3250 "\xD7\x5B\x22\xB5\x1C\x80\x6B\xF2"
3251 "\x45\xC9\x50\x3B\xAF\x36\x99\x60"
3252 "\x94\x7F\xC6\x4A\xDD\xA4\x0F\xB3"
3253 "\x1A\xED\x74\xF8\x43\x2A\x5E\x21"
3254 "\x88\x13\x87\x6E\xF1\x58\xCC\x57"
3255 "\x3E\xA2\x35\x9C\x67\xEB\x72\xC5"
3256 "\x49\xD0\xBB\x02\xB6\x19\xE0\x4B"
3257 "\xFF\x46\x29\x5D\x24\x8F\x16\x9A"
3258 "\x6D\xF4\x5F\xC3\xAA\x3D\xA1\x08"
3259 "\x93\x7A\xEE\x71\xD8\x4C\xD7\xBE"
3260 "\x01\xB5\x1C\xE7\x4E\xF2\x45\x2C"
3261 "\x50\x3B\x82\x15\x99\x60\xCB\x52"
3262 "\xC6\xA9\x30\xA4\x0F\x96\x79\xED"
3263 "\x74\xDF\x43\x2A\xBD\x04\x88\x13"
3264 "\xFA\x4D\xF1\x58\x23\x57\x3E\x81"
3265 "\x68\x9C\x67\xCE\x51\xC5\xAC\x37"
3266 "\xBB\x02\x95\x7C\xE0\x4B\xD2\x46"
3267 "\x29\xB0\x1B\x8F\x16\xF9\x40\xF4"
3268 "\x5F\x26\xAA\x3D\x84\x6F\x93\x7A"
3269 "\xCD\x54\xD8\xA3\x0A\xBE\x01\xE8"
3270 "\x73\xE7\x4E\xD1\x45\x2C\xB7\x1E"
3271 "\x82\x15\xFC\x47\xCB\x52\x25\xA9"
3272 "\x30\x9B\x62\x96\x79\xC0\x74\xDF"
3273 "\xA6\x09\xBD\x04\xEF\x76\xFA\x4D"
3274 "\xD4\x58\x23\x8A\x1D\x81\x68\xF3"
3275 "\x5A\xCE\x51\x38\xAC\x37\x9E\x61"
3276 "\x95\x7C\xC7\x4B\xD2\xA5\x0C\xB0"
3277 "\x1B\xE2\x75\xF9\x40\x2B\x5F\x26"
3278 "\x89\x10\x84\x6F\xF6\x59\xCD\x54"
3279 "\x3F\xA3\x0A\x9D\x64\xE8\x73\xDA"
3280 "\x4E\xD1\xB8\x03\xB7\x1E\xE1\x48"
3281 "\xFC\x47\x2E\x52\x25\x8C\x17\x9B"
3282 "\x62\xF5\x5C\xC0\xAB\x32\xA6\x09"
3283 "\x90\x7B\xEF\x76\xD9\x4D\xD4\xBF"
3284 "\x06\x8A\x1D\xE4\x4F\xF3\x5A\x2D"
3285 "\x51\x38\x83\x6A\x9E\x61\xC8\x53"
3286 "\xC7\xAE\x31\xA5\x0C\x97\x7E\xE2"
3287 "\x75\xDC\x40\x2B\xB2\x05\x89\x10"
3288 "\xFB\x42\xF6\x59\x20\x54\x3F\x86"
3289 "\x69\x9D\x64\xCF\x56\xDA\xAD\x34"
3290 "\xB8\x03\xEA\x7D\xE1\x48\xD3\x47",
3291 .ilen = 496,
3292 .result = "\xF8\xF6\xB5\x60\x5C\x5A\x75\x84"
3293 "\x87\x81\x53\xBA\xC9\x6F\xEC\xD5"
3294 "\x1E\x68\x8E\x85\x12\x86\x1D\x38"
3295 "\x1C\x91\x40\xCC\x69\x6A\xD5\x35"
3296 "\x0D\x7C\xB5\x07\x7C\x7B\x2A\xAF"
3297 "\x32\xBC\xA1\xB3\x84\x31\x1B\x3C"
3298 "\x0A\x2B\xFA\xD3\x9F\xB0\x8C\x37"
3299 "\x8F\x9D\xA7\x6D\x6C\xFA\xD7\x90"
3300 "\xE3\x69\x54\xED\x3A\xC4\xF1\x6B"
3301 "\xB1\xCC\xFB\x7D\xD8\x8E\x17\x0B"
3302 "\x9C\xF6\x4C\xD6\xFF\x03\x4E\xD9"
3303 "\xE6\xA5\xAD\x25\xE6\x17\x69\x63"
3304 "\x11\x35\x61\x94\x88\x7B\x1C\x48"
3305 "\xF1\x24\x20\x29\x6B\x93\x1A\x8E"
3306 "\x43\x03\x89\xD8\xB1\xDA\x47\x7B"
3307 "\x79\x3A\x83\x76\xDA\xAE\xC6\xBB"
3308 "\x22\xF8\xE8\x3D\x9A\x65\x54\xD8"
3309 "\x4C\xE9\xE7\xE4\x63\x2F\x5C\x73"
3310 "\x5A\xC3\xAE\x46\xA8\xCD\x57\xE6"
3311 "\x67\x88\xA5\x20\x6F\x5F\x97\xC7"
3312 "\xCC\x15\xA2\x0A\x93\xEA\x33\xE7"
3313 "\x03\x5F\xEC\x64\x30\x6F\xEE\xD7"
3314 "\x7E\xDF\xD6\xE9\x6F\x3F\xD6\x1E"
3315 "\xBE\x67\x6C\x5B\x97\xA0\x09\xE6"
3316 "\xEE\xFE\x55\xA3\x29\x65\xE0\x12"
3317 "\xA1\x6A\x8A\x6F\xF2\xE6\xF1\x96"
3318 "\x87\xFB\x9C\x05\xDD\x80\xEC\xFF"
3319 "\xC5\xED\x50\xFE\xFC\x91\xCD\xCE"
3320 "\x25\x2C\x5F\xD9\xAD\x95\x7D\x99"
3321 "\xF0\x05\xC4\x71\x46\x5F\xF9\x0D"
3322 "\xD2\x63\xDF\x9B\x96\x2E\x2B\xA6"
3323 "\x2B\x1C\xD5\xFB\x96\x24\x60\x60"
3324 "\x54\x40\xB8\x62\xA4\xF8\x46\x95"
3325 "\x73\x28\xA3\xA6\x16\x2B\x17\xE7"
3326 "\x7A\xF8\x62\x54\x3B\x64\x69\xE1"
3327 "\x71\x34\x29\x5B\x4E\x05\x9B\xFA"
3328 "\x5E\xF1\x96\xB7\xCE\x16\x9B\x59"
3329 "\xF1\x1A\x4C\x51\x26\xFD\x79\xE2"
3330 "\x3B\x8E\x71\x69\x6A\x91\xB6\x65"
3331 "\x32\x09\xB8\xE4\x09\x1F\xEA\x39"
3332 "\xCE\x20\x65\x9F\xD6\xD1\xC7\xF0"
3333 "\x73\x50\x08\x56\x20\x9B\x94\x23"
3334 "\x14\x39\xB7\x2B\xB1\x2D\x6D\x6F"
3335 "\x41\x5B\xCC\xE2\x18\xAE\x62\x89"
3336 "\x78\x8E\x67\x23\xD0\xFB\x2B\xE5"
3337 "\x25\xC9\x48\x97\xB5\xD3\x17\xD5"
3338 "\x6A\x9F\xA7\x48\x0C\x2B\x73\x3B"
3339 "\x57\x08\xAE\x91\xF2\xB7\x57\x89"
3340 "\xF4\xD0\xB0\x07\xB0\x42\x6C\xAF"
3341 "\x98\x1A\xE7\xD1\xAC\x1E\xB5\x02"
3342 "\xD4\x56\x42\x79\x79\x7F\x2A\x77"
3343 "\x25\xE9\x7D\xC1\x88\x19\x2B\x49"
3344 "\x6F\x46\x59\xAB\x56\x1F\x61\xE0"
3345 "\x0C\x24\x9C\xC9\x5B\x63\xA9\x12"
3346 "\xCF\x88\x96\xB6\xA8\x24\xC6\xA8"
3347 "\x21\x85\x1A\x62\x7E\x34\xBB\xEB"
3348 "\xBD\x02\x2A\xC7\xD8\x89\x80\xC5"
3349 "\xB1\xBB\x60\xA5\x22\xFC\x6F\x38"
3350 "\x02\x80\xA3\x28\x22\x75\xE1\xE9"
3351 "\x90\xE9\xFA\x4B\x00\x10\xAC\x58"
3352 "\x83\x70\xFF\x86\xE6\xAA\x0F\x1F"
3353 "\x95\x63\x73\xA2\x44\xAC\xF8\xA5",
3354 .rlen = 496,
3355 .also_non_np = 1,
3356 .np = 2,
3357 .tap = { 496 - 16, 16 },
2952 }, 3358 },
2953}; 3359};
2954 3360
@@ -2993,6 +3399,698 @@ static struct cipher_testvec des3_ede_cbc_dec_tv_template[] = {
2993 "\x63\x65\x65\x72\x73\x74\x54\x20" 3399 "\x63\x65\x65\x72\x73\x74\x54\x20"
2994 "\x6f\x6f\x4d\x20\x6e\x61\x0a\x79", 3400 "\x6f\x6f\x4d\x20\x6e\x61\x0a\x79",
2995 .rlen = 128, 3401 .rlen = 128,
3402 }, { /* Generated with Crypto++ */
3403 .key = "\x9C\xD6\xF3\x9C\xB9\x5A\x67\x00"
3404 "\x5A\x67\x00\x2D\xCE\xEB\x2D\xCE"
3405 "\xEB\xB4\x51\x72\xB4\x51\x72\x1F",
3406 .klen = 24,
3407 .iv = "\xB2\xD7\x48\xED\x06\x44\xF9\x12"
3408 "\xB7\x28\x4D\x83\x24\x59\xF2\x17",
3409 .input = "\xF8\xF6\xB5\x60\x5C\x5A\x75\x84"
3410 "\x87\x81\x53\xBA\xC9\x6F\xEC\xD5"
3411 "\x1E\x68\x8E\x85\x12\x86\x1D\x38"
3412 "\x1C\x91\x40\xCC\x69\x6A\xD5\x35"
3413 "\x0D\x7C\xB5\x07\x7C\x7B\x2A\xAF"
3414 "\x32\xBC\xA1\xB3\x84\x31\x1B\x3C"
3415 "\x0A\x2B\xFA\xD3\x9F\xB0\x8C\x37"
3416 "\x8F\x9D\xA7\x6D\x6C\xFA\xD7\x90"
3417 "\xE3\x69\x54\xED\x3A\xC4\xF1\x6B"
3418 "\xB1\xCC\xFB\x7D\xD8\x8E\x17\x0B"
3419 "\x9C\xF6\x4C\xD6\xFF\x03\x4E\xD9"
3420 "\xE6\xA5\xAD\x25\xE6\x17\x69\x63"
3421 "\x11\x35\x61\x94\x88\x7B\x1C\x48"
3422 "\xF1\x24\x20\x29\x6B\x93\x1A\x8E"
3423 "\x43\x03\x89\xD8\xB1\xDA\x47\x7B"
3424 "\x79\x3A\x83\x76\xDA\xAE\xC6\xBB"
3425 "\x22\xF8\xE8\x3D\x9A\x65\x54\xD8"
3426 "\x4C\xE9\xE7\xE4\x63\x2F\x5C\x73"
3427 "\x5A\xC3\xAE\x46\xA8\xCD\x57\xE6"
3428 "\x67\x88\xA5\x20\x6F\x5F\x97\xC7"
3429 "\xCC\x15\xA2\x0A\x93\xEA\x33\xE7"
3430 "\x03\x5F\xEC\x64\x30\x6F\xEE\xD7"
3431 "\x7E\xDF\xD6\xE9\x6F\x3F\xD6\x1E"
3432 "\xBE\x67\x6C\x5B\x97\xA0\x09\xE6"
3433 "\xEE\xFE\x55\xA3\x29\x65\xE0\x12"
3434 "\xA1\x6A\x8A\x6F\xF2\xE6\xF1\x96"
3435 "\x87\xFB\x9C\x05\xDD\x80\xEC\xFF"
3436 "\xC5\xED\x50\xFE\xFC\x91\xCD\xCE"
3437 "\x25\x2C\x5F\xD9\xAD\x95\x7D\x99"
3438 "\xF0\x05\xC4\x71\x46\x5F\xF9\x0D"
3439 "\xD2\x63\xDF\x9B\x96\x2E\x2B\xA6"
3440 "\x2B\x1C\xD5\xFB\x96\x24\x60\x60"
3441 "\x54\x40\xB8\x62\xA4\xF8\x46\x95"
3442 "\x73\x28\xA3\xA6\x16\x2B\x17\xE7"
3443 "\x7A\xF8\x62\x54\x3B\x64\x69\xE1"
3444 "\x71\x34\x29\x5B\x4E\x05\x9B\xFA"
3445 "\x5E\xF1\x96\xB7\xCE\x16\x9B\x59"
3446 "\xF1\x1A\x4C\x51\x26\xFD\x79\xE2"
3447 "\x3B\x8E\x71\x69\x6A\x91\xB6\x65"
3448 "\x32\x09\xB8\xE4\x09\x1F\xEA\x39"
3449 "\xCE\x20\x65\x9F\xD6\xD1\xC7\xF0"
3450 "\x73\x50\x08\x56\x20\x9B\x94\x23"
3451 "\x14\x39\xB7\x2B\xB1\x2D\x6D\x6F"
3452 "\x41\x5B\xCC\xE2\x18\xAE\x62\x89"
3453 "\x78\x8E\x67\x23\xD0\xFB\x2B\xE5"
3454 "\x25\xC9\x48\x97\xB5\xD3\x17\xD5"
3455 "\x6A\x9F\xA7\x48\x0C\x2B\x73\x3B"
3456 "\x57\x08\xAE\x91\xF2\xB7\x57\x89"
3457 "\xF4\xD0\xB0\x07\xB0\x42\x6C\xAF"
3458 "\x98\x1A\xE7\xD1\xAC\x1E\xB5\x02"
3459 "\xD4\x56\x42\x79\x79\x7F\x2A\x77"
3460 "\x25\xE9\x7D\xC1\x88\x19\x2B\x49"
3461 "\x6F\x46\x59\xAB\x56\x1F\x61\xE0"
3462 "\x0C\x24\x9C\xC9\x5B\x63\xA9\x12"
3463 "\xCF\x88\x96\xB6\xA8\x24\xC6\xA8"
3464 "\x21\x85\x1A\x62\x7E\x34\xBB\xEB"
3465 "\xBD\x02\x2A\xC7\xD8\x89\x80\xC5"
3466 "\xB1\xBB\x60\xA5\x22\xFC\x6F\x38"
3467 "\x02\x80\xA3\x28\x22\x75\xE1\xE9"
3468 "\x90\xE9\xFA\x4B\x00\x10\xAC\x58"
3469 "\x83\x70\xFF\x86\xE6\xAA\x0F\x1F"
3470 "\x95\x63\x73\xA2\x44\xAC\xF8\xA5",
3471 .ilen = 496,
3472 .result = "\x05\xEC\x77\xFB\x42\xD5\x59\x20"
3473 "\x8B\x12\x86\x69\xF0\x5B\xCF\x56"
3474 "\x39\xAD\x34\x9F\x66\xEA\x7D\xC4"
3475 "\x48\xD3\xBA\x0D\xB1\x18\xE3\x4A"
3476 "\xFE\x41\x28\x5C\x27\x8E\x11\x85"
3477 "\x6C\xF7\x5E\xC2\x55\x3C\xA0\x0B"
3478 "\x92\x65\xE9\x70\xDB\x4F\xD6\xB9"
3479 "\x00\xB4\x1F\xE6\x49\xFD\x44\x2F"
3480 "\x53\x3A\x8D\x14\x98\x63\xCA\x5D"
3481 "\xC1\xA8\x33\xA7\x0E\x91\x78\xEC"
3482 "\x77\xDE\x42\xD5\xBC\x07\x8B\x12"
3483 "\xE5\x4C\xF0\x5B\x22\x56\x39\x80"
3484 "\x6B\x9F\x66\xC9\x50\xC4\xAF\x36"
3485 "\xBA\x0D\x94\x7F\xE3\x4A\xDD\x41"
3486 "\x28\xB3\x1A\x8E\x11\xF8\x43\xF7"
3487 "\x5E\x21\x55\x3C\x87\x6E\x92\x65"
3488 "\xCC\x57\xDB\xA2\x35\xB9\x00\xEB"
3489 "\x72\xE6\x49\xD0\x44\x2F\xB6\x19"
3490 "\x8D\x14\xFF\x46\xCA\x5D\x24\xA8"
3491 "\x33\x9A\x6D\x91\x78\xC3\x77\xDE"
3492 "\xA1\x08\xBC\x07\xEE\x71\xE5\x4C"
3493 "\xD7\x5B\x22\xB5\x1C\x80\x6B\xF2"
3494 "\x45\xC9\x50\x3B\xAF\x36\x99\x60"
3495 "\x94\x7F\xC6\x4A\xDD\xA4\x0F\xB3"
3496 "\x1A\xED\x74\xF8\x43\x2A\x5E\x21"
3497 "\x88\x13\x87\x6E\xF1\x58\xCC\x57"
3498 "\x3E\xA2\x35\x9C\x67\xEB\x72\xC5"
3499 "\x49\xD0\xBB\x02\xB6\x19\xE0\x4B"
3500 "\xFF\x46\x29\x5D\x24\x8F\x16\x9A"
3501 "\x6D\xF4\x5F\xC3\xAA\x3D\xA1\x08"
3502 "\x93\x7A\xEE\x71\xD8\x4C\xD7\xBE"
3503 "\x01\xB5\x1C\xE7\x4E\xF2\x45\x2C"
3504 "\x50\x3B\x82\x15\x99\x60\xCB\x52"
3505 "\xC6\xA9\x30\xA4\x0F\x96\x79\xED"
3506 "\x74\xDF\x43\x2A\xBD\x04\x88\x13"
3507 "\xFA\x4D\xF1\x58\x23\x57\x3E\x81"
3508 "\x68\x9C\x67\xCE\x51\xC5\xAC\x37"
3509 "\xBB\x02\x95\x7C\xE0\x4B\xD2\x46"
3510 "\x29\xB0\x1B\x8F\x16\xF9\x40\xF4"
3511 "\x5F\x26\xAA\x3D\x84\x6F\x93\x7A"
3512 "\xCD\x54\xD8\xA3\x0A\xBE\x01\xE8"
3513 "\x73\xE7\x4E\xD1\x45\x2C\xB7\x1E"
3514 "\x82\x15\xFC\x47\xCB\x52\x25\xA9"
3515 "\x30\x9B\x62\x96\x79\xC0\x74\xDF"
3516 "\xA6\x09\xBD\x04\xEF\x76\xFA\x4D"
3517 "\xD4\x58\x23\x8A\x1D\x81\x68\xF3"
3518 "\x5A\xCE\x51\x38\xAC\x37\x9E\x61"
3519 "\x95\x7C\xC7\x4B\xD2\xA5\x0C\xB0"
3520 "\x1B\xE2\x75\xF9\x40\x2B\x5F\x26"
3521 "\x89\x10\x84\x6F\xF6\x59\xCD\x54"
3522 "\x3F\xA3\x0A\x9D\x64\xE8\x73\xDA"
3523 "\x4E\xD1\xB8\x03\xB7\x1E\xE1\x48"
3524 "\xFC\x47\x2E\x52\x25\x8C\x17\x9B"
3525 "\x62\xF5\x5C\xC0\xAB\x32\xA6\x09"
3526 "\x90\x7B\xEF\x76\xD9\x4D\xD4\xBF"
3527 "\x06\x8A\x1D\xE4\x4F\xF3\x5A\x2D"
3528 "\x51\x38\x83\x6A\x9E\x61\xC8\x53"
3529 "\xC7\xAE\x31\xA5\x0C\x97\x7E\xE2"
3530 "\x75\xDC\x40\x2B\xB2\x05\x89\x10"
3531 "\xFB\x42\xF6\x59\x20\x54\x3F\x86"
3532 "\x69\x9D\x64\xCF\x56\xDA\xAD\x34"
3533 "\xB8\x03\xEA\x7D\xE1\x48\xD3\x47",
3534 .rlen = 496,
3535 .also_non_np = 1,
3536 .np = 2,
3537 .tap = { 496 - 16, 16 },
3538 },
3539};
3540
3541static struct cipher_testvec des3_ede_ctr_enc_tv_template[] = {
3542 { /* Generated with Crypto++ */
3543 .key = "\x9C\xD6\xF3\x9C\xB9\x5A\x67\x00"
3544 "\x5A\x67\x00\x2D\xCE\xEB\x2D\xCE"
3545 "\xEB\xB4\x51\x72\xB4\x51\x72\x1F",
3546 .klen = 24,
3547 .iv = "\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF"
3548 "\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFD",
3549 .input = "\x05\xEC\x77\xFB\x42\xD5\x59\x20"
3550 "\x8B\x12\x86\x69\xF0\x5B\xCF\x56"
3551 "\x39\xAD\x34\x9F\x66\xEA\x7D\xC4"
3552 "\x48\xD3\xBA\x0D\xB1\x18\xE3\x4A"
3553 "\xFE\x41\x28\x5C\x27\x8E\x11\x85"
3554 "\x6C\xF7\x5E\xC2\x55\x3C\xA0\x0B"
3555 "\x92\x65\xE9\x70\xDB\x4F\xD6\xB9"
3556 "\x00\xB4\x1F\xE6\x49\xFD\x44\x2F"
3557 "\x53\x3A\x8D\x14\x98\x63\xCA\x5D"
3558 "\xC1\xA8\x33\xA7\x0E\x91\x78\xEC"
3559 "\x77\xDE\x42\xD5\xBC\x07\x8B\x12"
3560 "\xE5\x4C\xF0\x5B\x22\x56\x39\x80"
3561 "\x6B\x9F\x66\xC9\x50\xC4\xAF\x36"
3562 "\xBA\x0D\x94\x7F\xE3\x4A\xDD\x41"
3563 "\x28\xB3\x1A\x8E\x11\xF8\x43\xF7"
3564 "\x5E\x21\x55\x3C\x87\x6E\x92\x65"
3565 "\xCC\x57\xDB\xA2\x35\xB9\x00\xEB"
3566 "\x72\xE6\x49\xD0\x44\x2F\xB6\x19"
3567 "\x8D\x14\xFF\x46\xCA\x5D\x24\xA8"
3568 "\x33\x9A\x6D\x91\x78\xC3\x77\xDE"
3569 "\xA1\x08\xBC\x07\xEE\x71\xE5\x4C"
3570 "\xD7\x5B\x22\xB5\x1C\x80\x6B\xF2"
3571 "\x45\xC9\x50\x3B\xAF\x36\x99\x60"
3572 "\x94\x7F\xC6\x4A\xDD\xA4\x0F\xB3"
3573 "\x1A\xED\x74\xF8\x43\x2A\x5E\x21"
3574 "\x88\x13\x87\x6E\xF1\x58\xCC\x57"
3575 "\x3E\xA2\x35\x9C\x67\xEB\x72\xC5"
3576 "\x49\xD0\xBB\x02\xB6\x19\xE0\x4B"
3577 "\xFF\x46\x29\x5D\x24\x8F\x16\x9A"
3578 "\x6D\xF4\x5F\xC3\xAA\x3D\xA1\x08"
3579 "\x93\x7A\xEE\x71\xD8\x4C\xD7\xBE"
3580 "\x01\xB5\x1C\xE7\x4E\xF2\x45\x2C"
3581 "\x50\x3B\x82\x15\x99\x60\xCB\x52"
3582 "\xC6\xA9\x30\xA4\x0F\x96\x79\xED"
3583 "\x74\xDF\x43\x2A\xBD\x04\x88\x13"
3584 "\xFA\x4D\xF1\x58\x23\x57\x3E\x81"
3585 "\x68\x9C\x67\xCE\x51\xC5\xAC\x37"
3586 "\xBB\x02\x95\x7C\xE0\x4B\xD2\x46"
3587 "\x29\xB0\x1B\x8F\x16\xF9\x40\xF4"
3588 "\x5F\x26\xAA\x3D\x84\x6F\x93\x7A"
3589 "\xCD\x54\xD8\xA3\x0A\xBE\x01\xE8"
3590 "\x73\xE7\x4E\xD1\x45\x2C\xB7\x1E"
3591 "\x82\x15\xFC\x47\xCB\x52\x25\xA9"
3592 "\x30\x9B\x62\x96\x79\xC0\x74\xDF"
3593 "\xA6\x09\xBD\x04\xEF\x76\xFA\x4D"
3594 "\xD4\x58\x23\x8A\x1D\x81\x68\xF3"
3595 "\x5A\xCE\x51\x38\xAC\x37\x9E\x61"
3596 "\x95\x7C\xC7\x4B\xD2\xA5\x0C\xB0"
3597 "\x1B\xE2\x75\xF9\x40\x2B\x5F\x26"
3598 "\x89\x10\x84\x6F\xF6\x59\xCD\x54"
3599 "\x3F\xA3\x0A\x9D\x64\xE8\x73\xDA"
3600 "\x4E\xD1\xB8\x03\xB7\x1E\xE1\x48"
3601 "\xFC\x47\x2E\x52\x25\x8C\x17\x9B"
3602 "\x62\xF5\x5C\xC0\xAB\x32\xA6\x09"
3603 "\x90\x7B\xEF\x76\xD9\x4D\xD4\xBF"
3604 "\x06\x8A\x1D\xE4\x4F\xF3\x5A\x2D"
3605 "\x51\x38\x83\x6A\x9E\x61\xC8\x53"
3606 "\xC7\xAE\x31\xA5\x0C\x97\x7E\xE2"
3607 "\x75\xDC\x40\x2B\xB2\x05\x89\x10"
3608 "\xFB\x42\xF6\x59\x20\x54\x3F\x86"
3609 "\x69\x9D\x64\xCF\x56\xDA\xAD\x34"
3610 "\xB8\x03\xEA\x7D\xE1\x48\xD3\x47",
3611 .ilen = 496,
3612 .result = "\x07\xC2\x08\x20\x72\x1F\x49\xEF"
3613 "\x19\xCD\x6F\x32\x53\x05\x22\x15"
3614 "\xA2\x85\x2B\xDB\x85\xD2\xD8\xB9"
3615 "\xDD\x0D\x1B\x45\xCB\x69\x11\xD4"
3616 "\xEA\xBE\xB2\x45\x5D\x0C\xAE\xBE"
3617 "\xA0\xC1\x27\xAC\x65\x9F\x53\x7E"
3618 "\xAF\xC2\x1B\xB5\xB8\x6D\x36\x0C"
3619 "\x25\xC0\xF8\x6D\x0B\x29\x01\xDA"
3620 "\x13\x78\xDC\x89\x12\x12\x43\xFA"
3621 "\xF6\x12\xEF\x8D\x87\x62\x78\x83"
3622 "\xE2\xBE\x41\x20\x4C\x6D\x35\x1B"
3623 "\xD1\x0C\x30\xCF\xE2\xDE\x2B\x03"
3624 "\xBF\x45\x73\xD4\xE5\x59\x95\xD1"
3625 "\xB3\x9B\x27\x62\x97\xBD\xDE\x7F"
3626 "\xA4\xD2\x39\x80\xAA\x50\x23\xF0"
3627 "\x74\x88\x3D\xA8\x6A\x18\x79\x3B"
3628 "\xC4\x96\x6C\x8D\x22\x40\x92\x6E"
3629 "\xD6\xAD\x2A\x1F\xDE\x63\xC0\xE7"
3630 "\x07\xF7\x2D\xF7\xB5\xF3\xF0\xCC"
3631 "\x01\x7C\x2A\x9B\xC2\x10\xCA\xAA"
3632 "\xFD\x2B\x3F\xC5\xF3\xF6\xFC\x9B"
3633 "\x45\xDB\x53\xE4\x5B\xF3\xC9\x7B"
3634 "\x8E\x52\xFF\xC8\x02\xB8\xAC\x9D"
3635 "\xA1\x00\x39\xDA\x3D\x2D\x0E\x01"
3636 "\x09\x7D\x8D\x5E\xBE\x53\xB9\xB0"
3637 "\x8E\xE7\xE2\x96\x6A\xB2\x78\xEA"
3638 "\xDE\x23\x8B\xA5\xFA\x5C\xE3\xDA"
3639 "\xBF\x8E\x31\x6A\x55\xD1\x6A\xB2"
3640 "\xB5\x46\x6F\xA5\xF0\xEE\xBA\x1F"
3641 "\x9F\x98\xB0\x66\x4F\xD0\x3F\xA9"
3642 "\xDF\x5F\x58\xC4\xF4\xFF\x75\x5C"
3643 "\x40\x3A\x09\x7E\x6E\x1C\x97\xD4"
3644 "\xCC\xE7\xE7\x71\xCF\x0B\x15\x08"
3645 "\x71\xFA\x07\x97\xCD\xE6\xCA\x1D"
3646 "\x14\x28\x0C\xCF\x99\x13\x7A\xF1"
3647 "\xEB\xFA\xFA\x92\x07\xDE\x1D\xA1"
3648 "\xD3\x36\x69\xFE\x51\x4D\x9F\x2E"
3649 "\x83\x37\x4F\x1F\x48\x30\xED\x04"
3650 "\x4D\xA4\xEF\x3A\xCA\x76\xF4\x1C"
3651 "\x41\x8F\x63\x37\x78\x2F\x86\xA6"
3652 "\xEF\x41\x7E\xD2\xAF\x88\xAB\x67"
3653 "\x52\x71\xC3\x8E\xF8\x26\x93\x72"
3654 "\xAA\xD6\x0E\xE7\x0B\x46\xB1\x3A"
3655 "\xB4\x08\xA9\xA8\xA0\xCF\x20\x0C"
3656 "\x52\xBC\x8B\x05\x56\xB2\xBC\x31"
3657 "\x9B\x74\xB9\x29\x29\x96\x9A\x50"
3658 "\xDC\x45\xDC\x1A\xEB\x0C\x64\xD4"
3659 "\xD3\x05\x7E\x59\x55\xC3\xF4\x90"
3660 "\xC2\xAB\xF8\x9B\x8A\xDA\xCE\xA1"
3661 "\xC3\xF4\xAD\x77\xDD\x44\xC8\xAC"
3662 "\xA3\xF1\xC9\xD2\x19\x5C\xB0\xCA"
3663 "\xA2\x34\xC1\xF7\x6C\xFD\xAC\x65"
3664 "\x32\xDC\x48\xC4\xF2\x00\x6B\x77"
3665 "\xF1\x7D\x76\xAC\xC0\x31\x63\x2A"
3666 "\xA5\x3A\x62\xC8\x91\xB1\x03\x65"
3667 "\xCB\x43\xD1\x06\xDF\xC3\x67\xBC"
3668 "\xDC\xE0\xCD\x35\xCE\x49\x65\xA0"
3669 "\x52\x7B\xA7\x0D\x07\xA9\x1B\xB0"
3670 "\x40\x77\x72\xC2\xEA\x0E\x3A\x78"
3671 "\x46\xB9\x91\xB6\xE7\x3D\x51\x42"
3672 "\xFD\x51\xB0\xC6\x2C\x63\x13\x78"
3673 "\x5C\xEE\xFC\xCF\xC4\x70\x00\x34",
3674 .rlen = 496,
3675 .also_non_np = 1,
3676 .np = 2,
3677 .tap = { 496 - 16, 16 },
3678 }, { /* Generated with Crypto++ */
3679 .key = "\x9C\xD6\xF3\x9C\xB9\x5A\x67\x00"
3680 "\x5A\x67\x00\x2D\xCE\xEB\x2D\xCE"
3681 "\xEB\xB4\x51\x72\xB4\x51\x72\x1F",
3682 .klen = 24,
3683 .iv = "\xB2\xD7\x48\xED\x06\x44\xF9\x12"
3684 "\xB7\x28\x4D\x83\x24\x59\xF2\x17",
3685 .input = "\x05\xEC\x77\xFB\x42\xD5\x59\x20"
3686 "\x8B\x12\x86\x69\xF0\x5B\xCF\x56"
3687 "\x39\xAD\x34\x9F\x66\xEA\x7D\xC4"
3688 "\x48\xD3\xBA\x0D\xB1\x18\xE3\x4A"
3689 "\xFE\x41\x28\x5C\x27\x8E\x11\x85"
3690 "\x6C\xF7\x5E\xC2\x55\x3C\xA0\x0B"
3691 "\x92\x65\xE9\x70\xDB\x4F\xD6\xB9"
3692 "\x00\xB4\x1F\xE6\x49\xFD\x44\x2F"
3693 "\x53\x3A\x8D\x14\x98\x63\xCA\x5D"
3694 "\xC1\xA8\x33\xA7\x0E\x91\x78\xEC"
3695 "\x77\xDE\x42\xD5\xBC\x07\x8B\x12"
3696 "\xE5\x4C\xF0\x5B\x22\x56\x39\x80"
3697 "\x6B\x9F\x66\xC9\x50\xC4\xAF\x36"
3698 "\xBA\x0D\x94\x7F\xE3\x4A\xDD\x41"
3699 "\x28\xB3\x1A\x8E\x11\xF8\x43\xF7"
3700 "\x5E\x21\x55\x3C\x87\x6E\x92\x65"
3701 "\xCC\x57\xDB\xA2\x35\xB9\x00\xEB"
3702 "\x72\xE6\x49\xD0\x44\x2F\xB6\x19"
3703 "\x8D\x14\xFF\x46\xCA\x5D\x24\xA8"
3704 "\x33\x9A\x6D\x91\x78\xC3\x77\xDE"
3705 "\xA1\x08\xBC\x07\xEE\x71\xE5\x4C"
3706 "\xD7\x5B\x22\xB5\x1C\x80\x6B\xF2"
3707 "\x45\xC9\x50\x3B\xAF\x36\x99\x60"
3708 "\x94\x7F\xC6\x4A\xDD\xA4\x0F\xB3"
3709 "\x1A\xED\x74\xF8\x43\x2A\x5E\x21"
3710 "\x88\x13\x87\x6E\xF1\x58\xCC\x57"
3711 "\x3E\xA2\x35\x9C\x67\xEB\x72\xC5"
3712 "\x49\xD0\xBB\x02\xB6\x19\xE0\x4B"
3713 "\xFF\x46\x29\x5D\x24\x8F\x16\x9A"
3714 "\x6D\xF4\x5F\xC3\xAA\x3D\xA1\x08"
3715 "\x93\x7A\xEE\x71\xD8\x4C\xD7\xBE"
3716 "\x01\xB5\x1C\xE7\x4E\xF2\x45\x2C"
3717 "\x50\x3B\x82\x15\x99\x60\xCB\x52"
3718 "\xC6\xA9\x30\xA4\x0F\x96\x79\xED"
3719 "\x74\xDF\x43\x2A\xBD\x04\x88\x13"
3720 "\xFA\x4D\xF1\x58\x23\x57\x3E\x81"
3721 "\x68\x9C\x67\xCE\x51\xC5\xAC\x37"
3722 "\xBB\x02\x95\x7C\xE0\x4B\xD2\x46"
3723 "\x29\xB0\x1B\x8F\x16\xF9\x40\xF4"
3724 "\x5F\x26\xAA\x3D\x84\x6F\x93\x7A"
3725 "\xCD\x54\xD8\xA3\x0A\xBE\x01\xE8"
3726 "\x73\xE7\x4E\xD1\x45\x2C\xB7\x1E"
3727 "\x82\x15\xFC\x47\xCB\x52\x25\xA9"
3728 "\x30\x9B\x62\x96\x79\xC0\x74\xDF"
3729 "\xA6\x09\xBD\x04\xEF\x76\xFA\x4D"
3730 "\xD4\x58\x23\x8A\x1D\x81\x68\xF3"
3731 "\x5A\xCE\x51\x38\xAC\x37\x9E\x61"
3732 "\x95\x7C\xC7\x4B\xD2\xA5\x0C\xB0"
3733 "\x1B\xE2\x75\xF9\x40\x2B\x5F\x26"
3734 "\x89\x10\x84\x6F\xF6\x59\xCD\x54"
3735 "\x3F\xA3\x0A\x9D\x64\xE8\x73\xDA"
3736 "\x4E\xD1\xB8\x03\xB7\x1E\xE1\x48"
3737 "\xFC\x47\x2E\x52\x25\x8C\x17\x9B"
3738 "\x62\xF5\x5C\xC0\xAB\x32\xA6\x09"
3739 "\x90\x7B\xEF\x76\xD9\x4D\xD4\xBF"
3740 "\x06\x8A\x1D\xE4\x4F\xF3\x5A\x2D"
3741 "\x51\x38\x83\x6A\x9E\x61\xC8\x53"
3742 "\xC7\xAE\x31\xA5\x0C\x97\x7E\xE2"
3743 "\x75\xDC\x40\x2B\xB2\x05\x89\x10"
3744 "\xFB\x42\xF6\x59\x20\x54\x3F\x86"
3745 "\x69\x9D\x64\xCF\x56\xDA\xAD\x34"
3746 "\xB8\x03\xEA\x7D\xE1\x48\xD3\x47"
3747 "\x2E\xB1\x18",
3748 .ilen = 499,
3749 .result = "\x23\xFF\x5C\x99\x75\xBB\x1F\xD4"
3750 "\xBC\x27\x9D\x36\x60\xA9\xC9\xF7"
3751 "\x94\x9D\x1B\xFF\x8E\x95\x57\x89"
3752 "\x8C\x2E\x33\x70\x43\x61\xE6\xD2"
3753 "\x82\x33\x63\xB6\xC4\x34\x5E\xF8"
3754 "\x96\x07\xA7\xD2\x3B\x8E\xC9\xAA"
3755 "\x7C\xA0\x55\x89\x2E\xE1\x85\x25"
3756 "\x14\x04\xDA\x6B\xE0\xEE\x56\xCF"
3757 "\x08\x2E\x69\xD4\x54\xDE\x22\x84"
3758 "\x69\xA6\xA7\xD3\x3A\x9A\xE8\x05"
3759 "\x63\xDB\xBF\x46\x3A\x26\x2E\x0F"
3760 "\x58\x5C\x46\xEA\x07\x40\xDA\xE1"
3761 "\x14\x1D\xCD\x4F\x06\xC0\xCA\x54"
3762 "\x1E\xC9\x45\x85\x67\x7C\xC2\xB5"
3763 "\x97\x5D\x61\x78\x2E\x46\xEC\x6A"
3764 "\x53\xF4\xD0\xAE\xFA\xB4\x86\x29"
3765 "\x9F\x17\x33\x24\xD8\xB9\xB2\x05"
3766 "\x93\x88\xEA\xF7\xA0\x70\x69\x49"
3767 "\x88\x6B\x73\x40\x41\x8D\xD9\xD9"
3768 "\x7E\x78\xE9\xBE\x6C\x14\x22\x7A"
3769 "\x66\xE1\xDA\xED\x10\xFF\x69\x1D"
3770 "\xB9\xAA\xF2\x56\x72\x1B\x23\xE2"
3771 "\x45\x54\x8B\xA3\x70\x23\xB4\x5E"
3772 "\x8E\x96\xC9\x05\x00\xB3\xB6\xC2"
3773 "\x2A\x02\x43\x7A\x62\xD5\xC8\xD2"
3774 "\xC2\xD0\xE4\x78\xA1\x7B\x3E\xE8"
3775 "\x9F\x7F\x7D\x40\x54\x30\x3B\xC0"
3776 "\xA5\x54\xFD\xCA\x25\xEC\x44\x3E"
3777 "\x1A\x54\x7F\x88\xD0\xE1\xFE\x71"
3778 "\xCE\x05\x49\x89\xBA\xD6\x72\xE7"
3779 "\xD6\x5D\x3F\xA2\xD9\xAB\xC5\x02"
3780 "\xD6\x43\x22\xAF\xA2\xE4\x80\x85"
3781 "\xD7\x87\xB9\xEA\x43\xDB\xC8\xEF"
3782 "\x5C\x82\x2E\x98\x0D\x30\x41\x6B"
3783 "\x08\x48\x8D\xF0\xF8\x60\xD7\x9D"
3784 "\xE9\xDE\x40\xAD\x0D\xAD\x0D\x58"
3785 "\x2A\x98\x35\xFE\xF7\xDD\x4B\x40"
3786 "\xDE\xB0\x05\xD9\x7B\x09\x4D\xBC"
3787 "\x42\xC0\xF1\x15\x0B\xFA\x26\x6B"
3788 "\xC6\x12\x13\x4F\xCB\x35\xBA\x35"
3789 "\xDD\x7A\x36\x9C\x12\x57\x55\x83"
3790 "\x78\x58\x09\xD0\xB0\xCF\x7C\x5C"
3791 "\x38\xCF\xBD\x79\x5B\x13\x4D\x97"
3792 "\xC1\x85\x6F\x97\xC9\xE8\xC2\xA4"
3793 "\x98\xE2\xBD\x77\x6B\x53\x39\x1A"
3794 "\x28\x10\xE7\xE0\xE7\xDE\x9D\x69"
3795 "\x78\x6F\x8E\xD2\xD9\x5D\xD2\x15"
3796 "\x9E\xB5\x4D\x8C\xC0\x78\x22\x2F"
3797 "\x17\x11\x2E\x99\xD7\xE3\xA4\x4F"
3798 "\x65\xA5\x6B\x03\x2C\x35\x6F\xDA"
3799 "\x8A\x19\x08\xE1\x08\x48\x59\x51"
3800 "\x53\x4B\xD1\xDF\xDA\x14\x50\x5F"
3801 "\xDF\xB5\x8C\xDF\xC6\xFD\x85\xFA"
3802 "\xD4\xF9\x64\x45\x65\x0D\x7D\xF4"
3803 "\xC8\xCD\x3F\x32\xAF\xDD\x30\xED"
3804 "\x7B\xAA\xAC\xF0\xDA\x7F\xDF\x75"
3805 "\x1C\xA4\xF1\xCB\x5E\x4F\x0B\xB4"
3806 "\x97\x73\x28\xDE\xCF\xAF\x82\xBD"
3807 "\xC4\xBA\xB4\x9C\x0D\x16\x77\x42"
3808 "\x42\x39\x7C\x53\xA4\xD4\xDD\x40"
3809 "\x5C\x60\x1F\x6E\xA7\xE2\xDC\xE7"
3810 "\x32\x0F\x05\x2F\xF2\x4C\x95\x3B"
3811 "\xF2\x79\xD9",
3812 .rlen = 499,
3813 .also_non_np = 1,
3814 .np = 2,
3815 .tap = { 499 - 16, 16 },
3816 },
3817};
3818
3819static struct cipher_testvec des3_ede_ctr_dec_tv_template[] = {
3820 { /* Generated with Crypto++ */
3821 .key = "\x9C\xD6\xF3\x9C\xB9\x5A\x67\x00"
3822 "\x5A\x67\x00\x2D\xCE\xEB\x2D\xCE"
3823 "\xEB\xB4\x51\x72\xB4\x51\x72\x1F",
3824 .klen = 24,
3825 .iv = "\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF"
3826 "\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFD",
3827 .input = "\x07\xC2\x08\x20\x72\x1F\x49\xEF"
3828 "\x19\xCD\x6F\x32\x53\x05\x22\x15"
3829 "\xA2\x85\x2B\xDB\x85\xD2\xD8\xB9"
3830 "\xDD\x0D\x1B\x45\xCB\x69\x11\xD4"
3831 "\xEA\xBE\xB2\x45\x5D\x0C\xAE\xBE"
3832 "\xA0\xC1\x27\xAC\x65\x9F\x53\x7E"
3833 "\xAF\xC2\x1B\xB5\xB8\x6D\x36\x0C"
3834 "\x25\xC0\xF8\x6D\x0B\x29\x01\xDA"
3835 "\x13\x78\xDC\x89\x12\x12\x43\xFA"
3836 "\xF6\x12\xEF\x8D\x87\x62\x78\x83"
3837 "\xE2\xBE\x41\x20\x4C\x6D\x35\x1B"
3838 "\xD1\x0C\x30\xCF\xE2\xDE\x2B\x03"
3839 "\xBF\x45\x73\xD4\xE5\x59\x95\xD1"
3840 "\xB3\x9B\x27\x62\x97\xBD\xDE\x7F"
3841 "\xA4\xD2\x39\x80\xAA\x50\x23\xF0"
3842 "\x74\x88\x3D\xA8\x6A\x18\x79\x3B"
3843 "\xC4\x96\x6C\x8D\x22\x40\x92\x6E"
3844 "\xD6\xAD\x2A\x1F\xDE\x63\xC0\xE7"
3845 "\x07\xF7\x2D\xF7\xB5\xF3\xF0\xCC"
3846 "\x01\x7C\x2A\x9B\xC2\x10\xCA\xAA"
3847 "\xFD\x2B\x3F\xC5\xF3\xF6\xFC\x9B"
3848 "\x45\xDB\x53\xE4\x5B\xF3\xC9\x7B"
3849 "\x8E\x52\xFF\xC8\x02\xB8\xAC\x9D"
3850 "\xA1\x00\x39\xDA\x3D\x2D\x0E\x01"
3851 "\x09\x7D\x8D\x5E\xBE\x53\xB9\xB0"
3852 "\x8E\xE7\xE2\x96\x6A\xB2\x78\xEA"
3853 "\xDE\x23\x8B\xA5\xFA\x5C\xE3\xDA"
3854 "\xBF\x8E\x31\x6A\x55\xD1\x6A\xB2"
3855 "\xB5\x46\x6F\xA5\xF0\xEE\xBA\x1F"
3856 "\x9F\x98\xB0\x66\x4F\xD0\x3F\xA9"
3857 "\xDF\x5F\x58\xC4\xF4\xFF\x75\x5C"
3858 "\x40\x3A\x09\x7E\x6E\x1C\x97\xD4"
3859 "\xCC\xE7\xE7\x71\xCF\x0B\x15\x08"
3860 "\x71\xFA\x07\x97\xCD\xE6\xCA\x1D"
3861 "\x14\x28\x0C\xCF\x99\x13\x7A\xF1"
3862 "\xEB\xFA\xFA\x92\x07\xDE\x1D\xA1"
3863 "\xD3\x36\x69\xFE\x51\x4D\x9F\x2E"
3864 "\x83\x37\x4F\x1F\x48\x30\xED\x04"
3865 "\x4D\xA4\xEF\x3A\xCA\x76\xF4\x1C"
3866 "\x41\x8F\x63\x37\x78\x2F\x86\xA6"
3867 "\xEF\x41\x7E\xD2\xAF\x88\xAB\x67"
3868 "\x52\x71\xC3\x8E\xF8\x26\x93\x72"
3869 "\xAA\xD6\x0E\xE7\x0B\x46\xB1\x3A"
3870 "\xB4\x08\xA9\xA8\xA0\xCF\x20\x0C"
3871 "\x52\xBC\x8B\x05\x56\xB2\xBC\x31"
3872 "\x9B\x74\xB9\x29\x29\x96\x9A\x50"
3873 "\xDC\x45\xDC\x1A\xEB\x0C\x64\xD4"
3874 "\xD3\x05\x7E\x59\x55\xC3\xF4\x90"
3875 "\xC2\xAB\xF8\x9B\x8A\xDA\xCE\xA1"
3876 "\xC3\xF4\xAD\x77\xDD\x44\xC8\xAC"
3877 "\xA3\xF1\xC9\xD2\x19\x5C\xB0\xCA"
3878 "\xA2\x34\xC1\xF7\x6C\xFD\xAC\x65"
3879 "\x32\xDC\x48\xC4\xF2\x00\x6B\x77"
3880 "\xF1\x7D\x76\xAC\xC0\x31\x63\x2A"
3881 "\xA5\x3A\x62\xC8\x91\xB1\x03\x65"
3882 "\xCB\x43\xD1\x06\xDF\xC3\x67\xBC"
3883 "\xDC\xE0\xCD\x35\xCE\x49\x65\xA0"
3884 "\x52\x7B\xA7\x0D\x07\xA9\x1B\xB0"
3885 "\x40\x77\x72\xC2\xEA\x0E\x3A\x78"
3886 "\x46\xB9\x91\xB6\xE7\x3D\x51\x42"
3887 "\xFD\x51\xB0\xC6\x2C\x63\x13\x78"
3888 "\x5C\xEE\xFC\xCF\xC4\x70\x00\x34",
3889 .ilen = 496,
3890 .result = "\x05\xEC\x77\xFB\x42\xD5\x59\x20"
3891 "\x8B\x12\x86\x69\xF0\x5B\xCF\x56"
3892 "\x39\xAD\x34\x9F\x66\xEA\x7D\xC4"
3893 "\x48\xD3\xBA\x0D\xB1\x18\xE3\x4A"
3894 "\xFE\x41\x28\x5C\x27\x8E\x11\x85"
3895 "\x6C\xF7\x5E\xC2\x55\x3C\xA0\x0B"
3896 "\x92\x65\xE9\x70\xDB\x4F\xD6\xB9"
3897 "\x00\xB4\x1F\xE6\x49\xFD\x44\x2F"
3898 "\x53\x3A\x8D\x14\x98\x63\xCA\x5D"
3899 "\xC1\xA8\x33\xA7\x0E\x91\x78\xEC"
3900 "\x77\xDE\x42\xD5\xBC\x07\x8B\x12"
3901 "\xE5\x4C\xF0\x5B\x22\x56\x39\x80"
3902 "\x6B\x9F\x66\xC9\x50\xC4\xAF\x36"
3903 "\xBA\x0D\x94\x7F\xE3\x4A\xDD\x41"
3904 "\x28\xB3\x1A\x8E\x11\xF8\x43\xF7"
3905 "\x5E\x21\x55\x3C\x87\x6E\x92\x65"
3906 "\xCC\x57\xDB\xA2\x35\xB9\x00\xEB"
3907 "\x72\xE6\x49\xD0\x44\x2F\xB6\x19"
3908 "\x8D\x14\xFF\x46\xCA\x5D\x24\xA8"
3909 "\x33\x9A\x6D\x91\x78\xC3\x77\xDE"
3910 "\xA1\x08\xBC\x07\xEE\x71\xE5\x4C"
3911 "\xD7\x5B\x22\xB5\x1C\x80\x6B\xF2"
3912 "\x45\xC9\x50\x3B\xAF\x36\x99\x60"
3913 "\x94\x7F\xC6\x4A\xDD\xA4\x0F\xB3"
3914 "\x1A\xED\x74\xF8\x43\x2A\x5E\x21"
3915 "\x88\x13\x87\x6E\xF1\x58\xCC\x57"
3916 "\x3E\xA2\x35\x9C\x67\xEB\x72\xC5"
3917 "\x49\xD0\xBB\x02\xB6\x19\xE0\x4B"
3918 "\xFF\x46\x29\x5D\x24\x8F\x16\x9A"
3919 "\x6D\xF4\x5F\xC3\xAA\x3D\xA1\x08"
3920 "\x93\x7A\xEE\x71\xD8\x4C\xD7\xBE"
3921 "\x01\xB5\x1C\xE7\x4E\xF2\x45\x2C"
3922 "\x50\x3B\x82\x15\x99\x60\xCB\x52"
3923 "\xC6\xA9\x30\xA4\x0F\x96\x79\xED"
3924 "\x74\xDF\x43\x2A\xBD\x04\x88\x13"
3925 "\xFA\x4D\xF1\x58\x23\x57\x3E\x81"
3926 "\x68\x9C\x67\xCE\x51\xC5\xAC\x37"
3927 "\xBB\x02\x95\x7C\xE0\x4B\xD2\x46"
3928 "\x29\xB0\x1B\x8F\x16\xF9\x40\xF4"
3929 "\x5F\x26\xAA\x3D\x84\x6F\x93\x7A"
3930 "\xCD\x54\xD8\xA3\x0A\xBE\x01\xE8"
3931 "\x73\xE7\x4E\xD1\x45\x2C\xB7\x1E"
3932 "\x82\x15\xFC\x47\xCB\x52\x25\xA9"
3933 "\x30\x9B\x62\x96\x79\xC0\x74\xDF"
3934 "\xA6\x09\xBD\x04\xEF\x76\xFA\x4D"
3935 "\xD4\x58\x23\x8A\x1D\x81\x68\xF3"
3936 "\x5A\xCE\x51\x38\xAC\x37\x9E\x61"
3937 "\x95\x7C\xC7\x4B\xD2\xA5\x0C\xB0"
3938 "\x1B\xE2\x75\xF9\x40\x2B\x5F\x26"
3939 "\x89\x10\x84\x6F\xF6\x59\xCD\x54"
3940 "\x3F\xA3\x0A\x9D\x64\xE8\x73\xDA"
3941 "\x4E\xD1\xB8\x03\xB7\x1E\xE1\x48"
3942 "\xFC\x47\x2E\x52\x25\x8C\x17\x9B"
3943 "\x62\xF5\x5C\xC0\xAB\x32\xA6\x09"
3944 "\x90\x7B\xEF\x76\xD9\x4D\xD4\xBF"
3945 "\x06\x8A\x1D\xE4\x4F\xF3\x5A\x2D"
3946 "\x51\x38\x83\x6A\x9E\x61\xC8\x53"
3947 "\xC7\xAE\x31\xA5\x0C\x97\x7E\xE2"
3948 "\x75\xDC\x40\x2B\xB2\x05\x89\x10"
3949 "\xFB\x42\xF6\x59\x20\x54\x3F\x86"
3950 "\x69\x9D\x64\xCF\x56\xDA\xAD\x34"
3951 "\xB8\x03\xEA\x7D\xE1\x48\xD3\x47",
3952 .rlen = 496,
3953 .also_non_np = 1,
3954 .np = 2,
3955 .tap = { 496 - 16, 16 },
3956 }, { /* Generated with Crypto++ */
3957 .key = "\x9C\xD6\xF3\x9C\xB9\x5A\x67\x00"
3958 "\x5A\x67\x00\x2D\xCE\xEB\x2D\xCE"
3959 "\xEB\xB4\x51\x72\xB4\x51\x72\x1F",
3960 .klen = 24,
3961 .iv = "\xB2\xD7\x48\xED\x06\x44\xF9\x12"
3962 "\xB7\x28\x4D\x83\x24\x59\xF2\x17",
3963 .input = "\x23\xFF\x5C\x99\x75\xBB\x1F\xD4"
3964 "\xBC\x27\x9D\x36\x60\xA9\xC9\xF7"
3965 "\x94\x9D\x1B\xFF\x8E\x95\x57\x89"
3966 "\x8C\x2E\x33\x70\x43\x61\xE6\xD2"
3967 "\x82\x33\x63\xB6\xC4\x34\x5E\xF8"
3968 "\x96\x07\xA7\xD2\x3B\x8E\xC9\xAA"
3969 "\x7C\xA0\x55\x89\x2E\xE1\x85\x25"
3970 "\x14\x04\xDA\x6B\xE0\xEE\x56\xCF"
3971 "\x08\x2E\x69\xD4\x54\xDE\x22\x84"
3972 "\x69\xA6\xA7\xD3\x3A\x9A\xE8\x05"
3973 "\x63\xDB\xBF\x46\x3A\x26\x2E\x0F"
3974 "\x58\x5C\x46\xEA\x07\x40\xDA\xE1"
3975 "\x14\x1D\xCD\x4F\x06\xC0\xCA\x54"
3976 "\x1E\xC9\x45\x85\x67\x7C\xC2\xB5"
3977 "\x97\x5D\x61\x78\x2E\x46\xEC\x6A"
3978 "\x53\xF4\xD0\xAE\xFA\xB4\x86\x29"
3979 "\x9F\x17\x33\x24\xD8\xB9\xB2\x05"
3980 "\x93\x88\xEA\xF7\xA0\x70\x69\x49"
3981 "\x88\x6B\x73\x40\x41\x8D\xD9\xD9"
3982 "\x7E\x78\xE9\xBE\x6C\x14\x22\x7A"
3983 "\x66\xE1\xDA\xED\x10\xFF\x69\x1D"
3984 "\xB9\xAA\xF2\x56\x72\x1B\x23\xE2"
3985 "\x45\x54\x8B\xA3\x70\x23\xB4\x5E"
3986 "\x8E\x96\xC9\x05\x00\xB3\xB6\xC2"
3987 "\x2A\x02\x43\x7A\x62\xD5\xC8\xD2"
3988 "\xC2\xD0\xE4\x78\xA1\x7B\x3E\xE8"
3989 "\x9F\x7F\x7D\x40\x54\x30\x3B\xC0"
3990 "\xA5\x54\xFD\xCA\x25\xEC\x44\x3E"
3991 "\x1A\x54\x7F\x88\xD0\xE1\xFE\x71"
3992 "\xCE\x05\x49\x89\xBA\xD6\x72\xE7"
3993 "\xD6\x5D\x3F\xA2\xD9\xAB\xC5\x02"
3994 "\xD6\x43\x22\xAF\xA2\xE4\x80\x85"
3995 "\xD7\x87\xB9\xEA\x43\xDB\xC8\xEF"
3996 "\x5C\x82\x2E\x98\x0D\x30\x41\x6B"
3997 "\x08\x48\x8D\xF0\xF8\x60\xD7\x9D"
3998 "\xE9\xDE\x40\xAD\x0D\xAD\x0D\x58"
3999 "\x2A\x98\x35\xFE\xF7\xDD\x4B\x40"
4000 "\xDE\xB0\x05\xD9\x7B\x09\x4D\xBC"
4001 "\x42\xC0\xF1\x15\x0B\xFA\x26\x6B"
4002 "\xC6\x12\x13\x4F\xCB\x35\xBA\x35"
4003 "\xDD\x7A\x36\x9C\x12\x57\x55\x83"
4004 "\x78\x58\x09\xD0\xB0\xCF\x7C\x5C"
4005 "\x38\xCF\xBD\x79\x5B\x13\x4D\x97"
4006 "\xC1\x85\x6F\x97\xC9\xE8\xC2\xA4"
4007 "\x98\xE2\xBD\x77\x6B\x53\x39\x1A"
4008 "\x28\x10\xE7\xE0\xE7\xDE\x9D\x69"
4009 "\x78\x6F\x8E\xD2\xD9\x5D\xD2\x15"
4010 "\x9E\xB5\x4D\x8C\xC0\x78\x22\x2F"
4011 "\x17\x11\x2E\x99\xD7\xE3\xA4\x4F"
4012 "\x65\xA5\x6B\x03\x2C\x35\x6F\xDA"
4013 "\x8A\x19\x08\xE1\x08\x48\x59\x51"
4014 "\x53\x4B\xD1\xDF\xDA\x14\x50\x5F"
4015 "\xDF\xB5\x8C\xDF\xC6\xFD\x85\xFA"
4016 "\xD4\xF9\x64\x45\x65\x0D\x7D\xF4"
4017 "\xC8\xCD\x3F\x32\xAF\xDD\x30\xED"
4018 "\x7B\xAA\xAC\xF0\xDA\x7F\xDF\x75"
4019 "\x1C\xA4\xF1\xCB\x5E\x4F\x0B\xB4"
4020 "\x97\x73\x28\xDE\xCF\xAF\x82\xBD"
4021 "\xC4\xBA\xB4\x9C\x0D\x16\x77\x42"
4022 "\x42\x39\x7C\x53\xA4\xD4\xDD\x40"
4023 "\x5C\x60\x1F\x6E\xA7\xE2\xDC\xE7"
4024 "\x32\x0F\x05\x2F\xF2\x4C\x95\x3B"
4025 "\xF2\x79\xD9",
4026 .ilen = 499,
4027 .result = "\x05\xEC\x77\xFB\x42\xD5\x59\x20"
4028 "\x8B\x12\x86\x69\xF0\x5B\xCF\x56"
4029 "\x39\xAD\x34\x9F\x66\xEA\x7D\xC4"
4030 "\x48\xD3\xBA\x0D\xB1\x18\xE3\x4A"
4031 "\xFE\x41\x28\x5C\x27\x8E\x11\x85"
4032 "\x6C\xF7\x5E\xC2\x55\x3C\xA0\x0B"
4033 "\x92\x65\xE9\x70\xDB\x4F\xD6\xB9"
4034 "\x00\xB4\x1F\xE6\x49\xFD\x44\x2F"
4035 "\x53\x3A\x8D\x14\x98\x63\xCA\x5D"
4036 "\xC1\xA8\x33\xA7\x0E\x91\x78\xEC"
4037 "\x77\xDE\x42\xD5\xBC\x07\x8B\x12"
4038 "\xE5\x4C\xF0\x5B\x22\x56\x39\x80"
4039 "\x6B\x9F\x66\xC9\x50\xC4\xAF\x36"
4040 "\xBA\x0D\x94\x7F\xE3\x4A\xDD\x41"
4041 "\x28\xB3\x1A\x8E\x11\xF8\x43\xF7"
4042 "\x5E\x21\x55\x3C\x87\x6E\x92\x65"
4043 "\xCC\x57\xDB\xA2\x35\xB9\x00\xEB"
4044 "\x72\xE6\x49\xD0\x44\x2F\xB6\x19"
4045 "\x8D\x14\xFF\x46\xCA\x5D\x24\xA8"
4046 "\x33\x9A\x6D\x91\x78\xC3\x77\xDE"
4047 "\xA1\x08\xBC\x07\xEE\x71\xE5\x4C"
4048 "\xD7\x5B\x22\xB5\x1C\x80\x6B\xF2"
4049 "\x45\xC9\x50\x3B\xAF\x36\x99\x60"
4050 "\x94\x7F\xC6\x4A\xDD\xA4\x0F\xB3"
4051 "\x1A\xED\x74\xF8\x43\x2A\x5E\x21"
4052 "\x88\x13\x87\x6E\xF1\x58\xCC\x57"
4053 "\x3E\xA2\x35\x9C\x67\xEB\x72\xC5"
4054 "\x49\xD0\xBB\x02\xB6\x19\xE0\x4B"
4055 "\xFF\x46\x29\x5D\x24\x8F\x16\x9A"
4056 "\x6D\xF4\x5F\xC3\xAA\x3D\xA1\x08"
4057 "\x93\x7A\xEE\x71\xD8\x4C\xD7\xBE"
4058 "\x01\xB5\x1C\xE7\x4E\xF2\x45\x2C"
4059 "\x50\x3B\x82\x15\x99\x60\xCB\x52"
4060 "\xC6\xA9\x30\xA4\x0F\x96\x79\xED"
4061 "\x74\xDF\x43\x2A\xBD\x04\x88\x13"
4062 "\xFA\x4D\xF1\x58\x23\x57\x3E\x81"
4063 "\x68\x9C\x67\xCE\x51\xC5\xAC\x37"
4064 "\xBB\x02\x95\x7C\xE0\x4B\xD2\x46"
4065 "\x29\xB0\x1B\x8F\x16\xF9\x40\xF4"
4066 "\x5F\x26\xAA\x3D\x84\x6F\x93\x7A"
4067 "\xCD\x54\xD8\xA3\x0A\xBE\x01\xE8"
4068 "\x73\xE7\x4E\xD1\x45\x2C\xB7\x1E"
4069 "\x82\x15\xFC\x47\xCB\x52\x25\xA9"
4070 "\x30\x9B\x62\x96\x79\xC0\x74\xDF"
4071 "\xA6\x09\xBD\x04\xEF\x76\xFA\x4D"
4072 "\xD4\x58\x23\x8A\x1D\x81\x68\xF3"
4073 "\x5A\xCE\x51\x38\xAC\x37\x9E\x61"
4074 "\x95\x7C\xC7\x4B\xD2\xA5\x0C\xB0"
4075 "\x1B\xE2\x75\xF9\x40\x2B\x5F\x26"
4076 "\x89\x10\x84\x6F\xF6\x59\xCD\x54"
4077 "\x3F\xA3\x0A\x9D\x64\xE8\x73\xDA"
4078 "\x4E\xD1\xB8\x03\xB7\x1E\xE1\x48"
4079 "\xFC\x47\x2E\x52\x25\x8C\x17\x9B"
4080 "\x62\xF5\x5C\xC0\xAB\x32\xA6\x09"
4081 "\x90\x7B\xEF\x76\xD9\x4D\xD4\xBF"
4082 "\x06\x8A\x1D\xE4\x4F\xF3\x5A\x2D"
4083 "\x51\x38\x83\x6A\x9E\x61\xC8\x53"
4084 "\xC7\xAE\x31\xA5\x0C\x97\x7E\xE2"
4085 "\x75\xDC\x40\x2B\xB2\x05\x89\x10"
4086 "\xFB\x42\xF6\x59\x20\x54\x3F\x86"
4087 "\x69\x9D\x64\xCF\x56\xDA\xAD\x34"
4088 "\xB8\x03\xEA\x7D\xE1\x48\xD3\x47"
4089 "\x2E\xB1\x18",
4090 .rlen = 499,
4091 .also_non_np = 1,
4092 .np = 2,
4093 .tap = { 499 - 16, 16 },
2996 }, 4094 },
2997}; 4095};
2998 4096