xref: /illumos-gate/usr/src/test/crypto-tests/tests/hmac/hmac_sha1_data.h (revision 29316b9c834da1aab0c095f56a69bd1e71121080)
1 /*
2  * This file and its contents are supplied under the terms of the
3  * Common Development and Distribution License (), version 1.0.
4  * You may only use this file in accordance with the terms of version
5  * 1.0 of the CDDL.
6  *
7  * A full copy of the text of the CDDL should have accompanied this
8  * source.  A copy of the CDDL is also available via the Internet at
9  * http://www.illumos.org/license/CDDL.
10  */
11 
12 /*
13  * Copyright 2019 Joyent, Inc.
14  */
15 
16 #include <sys/types.h>
17 
18 /*
19  * Test data from RFC2202
20  */
21 
22 static uint8_t KEY0[] = {
23 	0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b,
24 	0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b,
25 	0x0b, 0x0b, 0x0b, 0x0b
26 };
27 
28 /* "Hi There" */
29 static uint8_t DATA0[] = { 0x48, 0x69, 0x20, 0x54, 0x68, 0x65, 0x72, 0x65 };
30 
31 static uint8_t HMAC0[] = {
32 	0xb6, 0x17, 0x31, 0x86, 0x55, 0x05, 0x72, 0x64,
33 	0xe2, 0x8b, 0xc0, 0xb6, 0xfb, 0x37, 0x8c, 0x8e,
34 	0xf1, 0x46, 0xbe, 0x00
35 };
36 
37 
38 /* "Jefe" */
39 static uint8_t KEY1[] = { 0x4a, 0x65, 0x66, 0x65 };
40 
41 /* "what do ya want for nothing?" */
42 static uint8_t DATA1[] = {
43 	0x77, 0x68, 0x61, 0x74, 0x20, 0x64, 0x6f, 0x20,
44 	0x79, 0x61, 0x20, 0x77, 0x61, 0x6e, 0x74, 0x20,
45 	0x66, 0x6f, 0x72, 0x20, 0x6e, 0x6f, 0x74, 0x68,
46 	0x69, 0x6e, 0x67, 0x3f
47 };
48 
49 static uint8_t HMAC1[] = {
50 	0xef, 0xfc, 0xdf, 0x6a, 0xe5, 0xeb, 0x2f, 0xa2,
51 	0xd2, 0x74, 0x16, 0xd5, 0xf1, 0x84, 0xdf, 0x9c,
52 	0x25, 0x9a, 0x7c, 0x79
53 };
54 
55 
56 static uint8_t KEY2[] = {
57 	0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa,
58 	0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa,
59 	0xaa, 0xaa, 0xaa, 0xaa
60 };
61 
62 static uint8_t DATA2[] = {
63 	0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd,
64 	0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd,
65 	0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd,
66 	0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd,
67 	0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd,
68 	0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd,
69 	0xdd, 0xdd
70 };
71 
72 static uint8_t HMAC2[] = {
73 	0x12, 0x5d, 0x73, 0x42, 0xb9, 0xac, 0x11, 0xcd,
74 	0x91, 0xa3, 0x9a, 0xf4, 0x8a, 0xa1, 0x7b, 0x4f,
75 	0x63, 0xf1, 0x75, 0xd3
76 };
77 
78 
79 static uint8_t KEY3[] = {
80 	0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08,
81 	0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0x10,
82 	0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18,
83 	0x19
84 };
85 
86 static uint8_t DATA3[] = {
87 	0xcd, 0xcd, 0xcd, 0xcd, 0xcd, 0xcd, 0xcd, 0xcd,
88 	0xcd, 0xcd, 0xcd, 0xcd, 0xcd, 0xcd, 0xcd, 0xcd,
89 	0xcd, 0xcd, 0xcd, 0xcd, 0xcd, 0xcd, 0xcd, 0xcd,
90 	0xcd, 0xcd, 0xcd, 0xcd, 0xcd, 0xcd, 0xcd, 0xcd,
91 	0xcd, 0xcd, 0xcd, 0xcd, 0xcd, 0xcd, 0xcd, 0xcd,
92 	0xcd, 0xcd, 0xcd, 0xcd, 0xcd, 0xcd, 0xcd, 0xcd,
93 	0xcd, 0xcd
94 };
95 
96 static uint8_t HMAC3[] = {
97 	0x4c, 0x90, 0x07, 0xf4, 0x02, 0x62, 0x50, 0xc6,
98 	0xbc, 0x84, 0x14, 0xf9, 0xbf, 0x50, 0xc8, 0x6c,
99 	0x2d, 0x72, 0x35, 0xda
100 };
101 
102 
103 static uint8_t KEY4[] = {
104 	0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c,
105 	0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c,
106 	0x0c, 0x0c, 0x0c, 0x0c
107 };
108 
109 /* "Test With Truncation" */
110 static uint8_t DATA4[] = {
111 	0x54, 0x65, 0x73, 0x74, 0x20, 0x57, 0x69, 0x74,
112 	0x68, 0x20, 0x54, 0x72, 0x75, 0x6e, 0x63, 0x61,
113 	0x74, 0x69, 0x6f, 0x6e
114 };
115 
116 static uint8_t HMAC4[] = {
117 	0x4c, 0x1a, 0x03, 0x42, 0x4b, 0x55, 0xe0, 0x7f,
118 	0xe7, 0xf2, 0x7b, 0xe1, 0xd5, 0x8b, 0xb9, 0x32,
119 	0x4a, 0x9a, 0x5a, 0x04
120 };
121 
122 
123 static uint8_t KEY5[] = {
124 	0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa,
125 	0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa,
126 	0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa,
127 	0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa,
128 	0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa,
129 	0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa,
130 	0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa,
131 	0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa,
132 	0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa,
133 	0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa
134 };
135 
136 /* "Test Using Larger Than Block-Size Key - Hash Key First" */
137 static uint8_t DATA5[] = {
138 	0x54, 0x65, 0x73, 0x74, 0x20, 0x55, 0x73, 0x69,
139 	0x6e, 0x67, 0x20, 0x4c, 0x61, 0x72, 0x67, 0x65,
140 	0x72, 0x20, 0x54, 0x68, 0x61, 0x6e, 0x20, 0x42,
141 	0x6c, 0x6f, 0x63, 0x6b, 0x2d, 0x53, 0x69, 0x7a,
142 	0x65, 0x20, 0x4b, 0x65, 0x79, 0x20, 0x2d, 0x20,
143 	0x48, 0x61, 0x73, 0x68, 0x20, 0x4b, 0x65, 0x79,
144 	0x20, 0x46, 0x69, 0x72, 0x73, 0x74
145 };
146 
147 static uint8_t HMAC5[] = {
148 	0xaa, 0x4a, 0xe5, 0xe1, 0x52, 0x72, 0xd0, 0x0e,
149 	0x95, 0x70, 0x56, 0x37, 0xce, 0x8a, 0x3b, 0x55,
150 	0xed, 0x40, 0x21, 0x12
151 };
152 
153 
154 static uint8_t KEY6[] = {
155 	0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa,
156 	0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa,
157 	0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa,
158 	0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa,
159 	0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa,
160 	0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa,
161 	0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa,
162 	0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa,
163 	0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa,
164 	0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa
165 };
166 
167 /*
168  * "Test Using Larger Than Block-Size Key and Larger Than One Block-Size Data"
169  */
170 static uint8_t DATA6[] = {
171 	0x54, 0x65, 0x73, 0x74, 0x20, 0x55, 0x73, 0x69,
172 	0x6e, 0x67, 0x20, 0x4c, 0x61, 0x72, 0x67, 0x65,
173 	0x72, 0x20, 0x54, 0x68, 0x61, 0x6e, 0x20, 0x42,
174 	0x6c, 0x6f, 0x63, 0x6b, 0x2d, 0x53, 0x69, 0x7a,
175 	0x65, 0x20, 0x4b, 0x65, 0x79, 0x20, 0x61, 0x6e,
176 	0x64, 0x20, 0x4c, 0x61, 0x72, 0x67, 0x65, 0x72,
177 	0x20, 0x54, 0x68, 0x61, 0x6e, 0x20, 0x4f, 0x6e,
178 	0x65, 0x20, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x2d,
179 	0x53, 0x69, 0x7a, 0x65, 0x20, 0x44, 0x61, 0x74,
180 	0x61
181 };
182 static uint8_t HMAC6[] = {
183 	0xe8, 0xe9, 0x9d, 0x0f, 0x45, 0x23, 0x7d, 0x78,
184 	0x6d, 0x6b, 0xba, 0xa7, 0x96, 0x5c, 0x78, 0x08,
185 	0xbb, 0xff, 0x1a, 0x91
186 };
187