3 #include "nettle-internal.h"
9 * GCM-AES Test Vectors from
10 * http://www.cryptobarn.com/papers/gcm-spec.pdf
14 test_aead(&nettle_gcm_aes128,
15 SHEX("00000000000000000000000000000000"), /* key */
16 SHEX(""), /* auth data */
17 SHEX(""), /* plaintext */
18 SHEX(""), /* ciphertext*/
19 SHEX("000000000000000000000000"), /* IV */
20 SHEX("58e2fccefa7e3061367f1d57a4e7455a")); /* tag */
23 test_aead(&nettle_gcm_aes128,
24 SHEX("00000000000000000000000000000000"),
26 SHEX("00000000000000000000000000000000"),
27 SHEX("0388dace60b6a392f328c2b971b2fe78"),
28 SHEX("000000000000000000000000"),
29 SHEX("ab6e47d42cec13bdf53a67b21257bddf"));
32 test_aead(&nettle_gcm_aes128,
33 SHEX("feffe9928665731c6d6a8f9467308308"),
35 SHEX("d9313225f88406e5a55909c5aff5269a"
36 "86a7a9531534f7da2e4c303d8a318a72"
37 "1c3c0c95956809532fcf0e2449a6b525"
38 "b16aedf5aa0de657ba637b391aafd255"),
39 SHEX("42831ec2217774244b7221b784d0d49c"
40 "e3aa212f2c02a4e035c17e2329aca12e"
41 "21d514b25466931c7d8f6a5aac84aa05"
42 "1ba30b396a0aac973d58e091473f5985"),
43 SHEX("cafebabefacedbaddecaf888"),
44 SHEX("4d5c2af327cd64a62cf35abd2ba6fab4"));
47 test_aead(&nettle_gcm_aes128,
48 SHEX("feffe9928665731c6d6a8f9467308308"),
49 SHEX("feedfacedeadbeeffeedfacedeadbeef"
51 SHEX("d9313225f88406e5a55909c5aff5269a"
52 "86a7a9531534f7da2e4c303d8a318a72"
53 "1c3c0c95956809532fcf0e2449a6b525"
54 "b16aedf5aa0de657ba637b39"),
55 SHEX("42831ec2217774244b7221b784d0d49c"
56 "e3aa212f2c02a4e035c17e2329aca12e"
57 "21d514b25466931c7d8f6a5aac84aa05"
58 "1ba30b396a0aac973d58e091"),
59 SHEX("cafebabefacedbaddecaf888"),
60 SHEX("5bc94fbc3221a5db94fae95ae7121a47"));
63 test_aead(&nettle_gcm_aes128,
64 SHEX("feffe9928665731c6d6a8f9467308308"),
65 SHEX("feedfacedeadbeeffeedfacedeadbeef"
67 SHEX("d9313225f88406e5a55909c5aff5269a"
68 "86a7a9531534f7da2e4c303d8a318a72"
69 "1c3c0c95956809532fcf0e2449a6b525"
70 "b16aedf5aa0de657ba637b39"),
71 SHEX("61353b4c2806934a777ff51fa22a4755"
72 "699b2a714fcdc6f83766e5f97b6c7423"
73 "73806900e49f24b22b097544d4896b42"
74 "4989b5e1ebac0f07c23f4598"),
75 SHEX("cafebabefacedbad"),
76 SHEX("3612d2e79e3b0785561be14aaca2fccb"));
79 test_aead(&nettle_gcm_aes128,
80 SHEX("feffe9928665731c6d6a8f9467308308"),
81 SHEX("feedfacedeadbeeffeedfacedeadbeef"
83 SHEX("d9313225f88406e5a55909c5aff5269a"
84 "86a7a9531534f7da2e4c303d8a318a72"
85 "1c3c0c95956809532fcf0e2449a6b525"
86 "b16aedf5aa0de657ba637b39"),
87 SHEX("8ce24998625615b603a033aca13fb894"
88 "be9112a5c3a211a8ba262a3cca7e2ca7"
89 "01e4a9a4fba43c90ccdcb281d48c7c6f"
90 "d62875d2aca417034c34aee5"),
91 SHEX("9313225df88406e555909c5aff5269aa"
92 "6a7a9538534f7da1e4c303d2a318a728"
93 "c3c0c95156809539fcf0e2429a6b5254"
94 "16aedbf5a0de6a57a637b39b"),
95 SHEX("619cc5aefffe0bfa462af43c1699d050"));
98 test_aead(&nettle_gcm_aes128,
99 SHEX("00000000000000000000000000000000"
104 SHEX("000000000000000000000000"),
105 SHEX("cd33b28ac773f74ba00ed1f312572435"));
108 test_aead(&nettle_gcm_aes128,
109 SHEX("00000000000000000000000000000000"
112 SHEX("00000000000000000000000000000000"),
113 SHEX("98e7247c07f0fe411c267e4384b0f600"),
114 SHEX("000000000000000000000000"),
115 SHEX("2ff58d80033927ab8ef4d4587514f0fb"));
118 test_aead(&nettle_gcm_aes128,
119 SHEX("feffe9928665731c6d6a8f9467308308"
122 SHEX("d9313225f88406e5a55909c5aff5269a"
123 "86a7a9531534f7da2e4c303d8a318a72"
124 "1c3c0c95956809532fcf0e2449a6b525"
125 "b16aedf5aa0de657ba637b391aafd255"),
126 SHEX("3980ca0b3c00e841eb06fac4872a2757"
127 "859e1ceaa6efd984628593b40ca1e19c"
128 "7d773d00c144c525ac619d18c84a3f47"
129 "18e2448b2fe324d9ccda2710acade256"),
130 SHEX("cafebabefacedbaddecaf888"),
131 SHEX("9924a7c8587336bfb118024db8674a14"));
134 test_aead(&nettle_gcm_aes128,
135 SHEX("feffe9928665731c6d6a8f9467308308"
137 SHEX("feedfacedeadbeeffeedfacedeadbeef"
139 SHEX("d9313225f88406e5a55909c5aff5269a"
140 "86a7a9531534f7da2e4c303d8a318a72"
141 "1c3c0c95956809532fcf0e2449a6b525"
142 "b16aedf5aa0de657ba637b39"),
143 SHEX("3980ca0b3c00e841eb06fac4872a2757"
144 "859e1ceaa6efd984628593b40ca1e19c"
145 "7d773d00c144c525ac619d18c84a3f47"
146 "18e2448b2fe324d9ccda2710"),
147 SHEX("cafebabefacedbaddecaf888"),
148 SHEX("2519498e80f1478f37ba55bd6d27618c"));
151 test_aead(&nettle_gcm_aes128,
152 SHEX("feffe9928665731c6d6a8f9467308308"
154 SHEX("feedfacedeadbeeffeedfacedeadbeef"
156 SHEX("d9313225f88406e5a55909c5aff5269a"
157 "86a7a9531534f7da2e4c303d8a318a72"
158 "1c3c0c95956809532fcf0e2449a6b525"
159 "b16aedf5aa0de657ba637b39"),
160 SHEX("0f10f599ae14a154ed24b36e25324db8"
161 "c566632ef2bbb34f8347280fc4507057"
162 "fddc29df9a471f75c66541d4d4dad1c9"
163 "e93a19a58e8b473fa0f062f7"),
164 SHEX("cafebabefacedbad"),
165 SHEX("65dcc57fcf623a24094fcca40d3533f8"));
168 test_aead(&nettle_gcm_aes128,
169 SHEX("feffe9928665731c6d6a8f9467308308"
171 SHEX("feedfacedeadbeeffeedfacedeadbeef"
173 SHEX("d9313225f88406e5a55909c5aff5269a"
174 "86a7a9531534f7da2e4c303d8a318a72"
175 "1c3c0c95956809532fcf0e2449a6b525"
176 "b16aedf5aa0de657ba637b39"),
177 SHEX("d27e88681ce3243c4830165a8fdcf9ff"
178 "1de9a1d8e6b447ef6ef7b79828666e45"
179 "81e79012af34ddd9e2f037589b292db3"
180 "e67c036745fa22e7e9b7373b"),
181 SHEX("9313225df88406e555909c5aff5269aa"
182 "6a7a9538534f7da1e4c303d2a318a728"
183 "c3c0c95156809539fcf0e2429a6b5254"
184 "16aedbf5a0de6a57a637b39b"),
185 SHEX("dcf566ff291c25bbb8568fc3d376a6d9"));
188 test_aead(&nettle_gcm_aes128,
189 SHEX("00000000000000000000000000000000"
190 "00000000000000000000000000000000"),
194 SHEX("000000000000000000000000"),
195 SHEX("530f8afbc74536b9a963b4f1c4cb738b"));
198 test_aead(&nettle_gcm_aes128,
199 SHEX("00000000000000000000000000000000"
200 "00000000000000000000000000000000"),
202 SHEX("00000000000000000000000000000000"),
203 SHEX("cea7403d4d606b6e074ec5d3baf39d18"),
204 SHEX("000000000000000000000000"),
205 SHEX("d0d1c8a799996bf0265b98b5d48ab919"));
208 test_aead(&nettle_gcm_aes128,
209 SHEX("feffe9928665731c6d6a8f9467308308"
210 "feffe9928665731c6d6a8f9467308308"),
212 SHEX("d9313225f88406e5a55909c5aff5269a"
213 "86a7a9531534f7da2e4c303d8a318a72"
214 "1c3c0c95956809532fcf0e2449a6b525"
215 "b16aedf5aa0de657ba637b391aafd255"),
216 SHEX("522dc1f099567d07f47f37a32a84427d"
217 "643a8cdcbfe5c0c97598a2bd2555d1aa"
218 "8cb08e48590dbb3da7b08b1056828838"
219 "c5f61e6393ba7a0abcc9f662898015ad"),
220 SHEX("cafebabefacedbaddecaf888"),
221 SHEX("b094dac5d93471bdec1a502270e3cc6c"));
224 test_aead(&nettle_gcm_aes128,
225 SHEX("feffe9928665731c6d6a8f9467308308"
226 "feffe9928665731c6d6a8f9467308308"),
227 SHEX("feedfacedeadbeeffeedfacedeadbeef"
229 SHEX("d9313225f88406e5a55909c5aff5269a"
230 "86a7a9531534f7da2e4c303d8a318a72"
231 "1c3c0c95956809532fcf0e2449a6b525"
232 "b16aedf5aa0de657ba637b39"),
233 SHEX("522dc1f099567d07f47f37a32a84427d"
234 "643a8cdcbfe5c0c97598a2bd2555d1aa"
235 "8cb08e48590dbb3da7b08b1056828838"
236 "c5f61e6393ba7a0abcc9f662"),
237 SHEX("cafebabefacedbaddecaf888"),
238 SHEX("76fc6ece0f4e1768cddf8853bb2d551b"));
241 test_aead(&nettle_gcm_aes128,
242 SHEX("feffe9928665731c6d6a8f9467308308"
243 "feffe9928665731c6d6a8f9467308308"),
244 SHEX("feedfacedeadbeeffeedfacedeadbeef"
246 SHEX("d9313225f88406e5a55909c5aff5269a"
247 "86a7a9531534f7da2e4c303d8a318a72"
248 "1c3c0c95956809532fcf0e2449a6b525"
249 "b16aedf5aa0de657ba637b39"),
250 SHEX("c3762df1ca787d32ae47c13bf19844cb"
251 "af1ae14d0b976afac52ff7d79bba9de0"
252 "feb582d33934a4f0954cc2363bc73f78"
253 "62ac430e64abe499f47c9b1f"),
254 SHEX("cafebabefacedbad"),
255 SHEX("3a337dbf46a792c45e454913fe2ea8f2"));
258 test_aead(&nettle_gcm_aes128,
259 SHEX("feffe9928665731c6d6a8f9467308308"
260 "feffe9928665731c6d6a8f9467308308"),
261 SHEX("feedfacedeadbeeffeedfacedeadbeef"
263 SHEX("d9313225f88406e5a55909c5aff5269a"
264 "86a7a9531534f7da2e4c303d8a318a72"
265 "1c3c0c95956809532fcf0e2449a6b525"
266 "b16aedf5aa0de657ba637b39"),
267 SHEX("5a8def2f0c9e53f1f75d7853659e2a20"
268 "eeb2b22aafde6419a058ab4f6f746bf4"
269 "0fc0c3b780f244452da3ebf1c5d82cde"
270 "a2418997200ef82e44ae7e3f"),
271 SHEX("9313225df88406e555909c5aff5269aa"
272 "6a7a9538534f7da1e4c303d2a318a728"
273 "c3c0c95156809539fcf0e2429a6b5254"
274 "16aedbf5a0de6a57a637b39b"),
275 SHEX("a44a8266ee1c8eb0c8b5d4cf5ae9f19a"));