]> git.ipfire.org Git - thirdparty/openssl.git/blame - test/recipes/30-test_evp_data/evpmac_common.txt
test: add evp_tests for the MAC size and block size
[thirdparty/openssl.git] / test / recipes / 30-test_evp_data / evpmac_common.txt
CommitLineData
5ccada09 1#
8020d79b 2# Copyright 2001-2021 The OpenSSL Project Authors. All Rights Reserved.
5ccada09
SL
3#
4# Licensed under the Apache License 2.0 (the "License"). You may not use
5# this file except in compliance with the License. You can obtain a copy
6# in the file LICENSE in the source distribution or at
7# https://www.openssl.org/source/license.html
8
9# Tests start with one of these keywords
10# Cipher Decrypt Derive Digest Encoding KDF MAC PBE
11# PrivPubKeyPair Sign Verify VerifyRecover
12# and continue until a blank line. Lines starting with a pound sign are ignored.
13# The keyword Availablein must appear before the test name if needed.
14
15Title = HMAC tests (from RFC2104 and others)
16
17Availablein = default
18MAC = HMAC
19Algorithm = MD5
20Key = 0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b
21Input = "Hi There"
22Output = 9294727a3638bb1c13f48ef8158bfc9d
36b6db08
P
23OutputSize = 16
24BlockSize = 64
5ccada09
SL
25
26Availablein = default
27MAC = HMAC
28Algorithm = MD5
29Key = "Jefe"
30Input = "what do ya want for nothing?"
31Output = 750c783e6ab0b503eaa86e310a5db738
36b6db08 32OutputSize = 16
5ccada09
SL
33
34Availablein = default
35MAC = HMAC
36Algorithm = MD5
37Key = AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
38Input = DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD
39Output = 56be34521d144c88dbb8c733f0e8b3f6
36b6db08 40BlockSize = 64
5ccada09
SL
41
42Title = SHA1
43
44# HMAC tests from NIST test data
45
46MAC = HMAC
47Algorithm = SHA1
48Input = "Sample message for keylen=blocklen"
49Key = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F
50Output = 5FD596EE78D5553C8FF4E72D266DFD192366DA29
36b6db08
P
51OutputSize = 20
52BlockSize = 64
5ccada09
SL
53
54MAC = HMAC
55Algorithm = SHA1
56Input = "Sample message for keylen<blocklen"
57Key = 000102030405060708090A0B0C0D0E0F10111213
58Output = 4C99FF0CB1B31BD33F8431DBAF4D17FCD356A807
36b6db08 59OutputSize = 20
5ccada09
SL
60
61MAC = HMAC
62Algorithm = SHA1
63Input = "Sample message for keylen=blocklen"
64Key = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F60616263
65Output = 2D51B2F7750E410584662E38F133435F4C4FD42A
36b6db08 66BlockSize = 64
5ccada09
SL
67
68Title = SHA2
69
70MAC = HMAC
71Algorithm = SHA224
72Input = "Sample message for keylen=blocklen"
73Key = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F
74Output = C7405E3AE058E8CD30B08B4140248581ED174CB34E1224BCC1EFC81B
36b6db08
P
75OutputSize = 28
76BlockSize = 64
5ccada09
SL
77
78MAC = HMAC
79Algorithm = SHA224
80Input = "Sample message for keylen<blocklen"
81Key = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B
82Output = E3D249A8CFB67EF8B7A169E9A0A599714A2CECBA65999A51BEB8FBBE
83
84MAC = HMAC
85Algorithm = SHA224
86Input = "Sample message for keylen=blocklen"
87Key = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F60616263
88Output = 91C52509E5AF8531601AE6230099D90BEF88AAEFB961F4080ABC014D
89
90MAC = HMAC
91Algorithm = SHA256
92Input = "Sample message for keylen=blocklen"
93Key = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F
94Output = 8BB9A1DB9806F20DF7F77B82138C7914D174D59E13DC4D0169C9057B133E1D62
36b6db08
P
95OutputSize = 32
96BlockSize = 64
5ccada09
SL
97
98MAC = HMAC
99Algorithm = SHA256
100Input = "Sample message for keylen<blocklen"
101Key = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F
102Output = A28CF43130EE696A98F14A37678B56BCFCBDD9E5CF69717FECF5480F0EBDF790
103
104MAC = HMAC
105Algorithm = SHA256
106Input = "Sample message for keylen=blocklen"
107Key = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F60616263
108Output = BDCCB6C72DDEADB500AE768386CB38CC41C63DBB0878DDB9C7A38A431B78378D
109
110MAC = HMAC
111Algorithm = SHA384
112Input = "Sample message for keylen=blocklen"
113Key = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F
114Output = 63C5DAA5E651847CA897C95814AB830BEDEDC7D25E83EEF9195CD45857A37F448947858F5AF50CC2B1B730DDF29671A9
36b6db08
P
115OutputSize = 48
116BlockSize = 128
5ccada09
SL
117
118MAC = HMAC
119Algorithm = SHA384
120Input = "Sample message for keylen<blocklen"
121Key = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F
122Output = 6EB242BDBB582CA17BEBFA481B1E23211464D2B7F8C20B9FF2201637B93646AF5AE9AC316E98DB45D9CAE773675EEED0
123
124MAC = HMAC
125Algorithm = SHA384
126Input = "Sample message for keylen=blocklen"
127Key = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7
128Output = 5B664436DF69B0CA22551231A3F0A3D5B4F97991713CFA84BFF4D0792EFF96C27DCCBBB6F79B65D548B40E8564CEF594
129
130MAC = HMAC
131Algorithm = SHA512
132Input = "Sample message for keylen=blocklen"
133Key = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F
134Output = FC25E240658CA785B7A811A8D3F7B4CA48CFA26A8A366BF2CD1F836B05FCB024BD36853081811D6CEA4216EBAD79DA1CFCB95EA4586B8A0CE356596A55FB1347
36b6db08
P
135OutputSize = 64
136BlockSize = 128
5ccada09
SL
137
138MAC = HMAC
139Algorithm = SHA512
140Input = "Sample message for keylen<blocklen"
141Key = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F
142Output = FD44C18BDA0BB0A6CE0E82B031BF2818F6539BD56EC00BDC10A8A2D730B3634DE2545D639B0F2CF710D0692C72A1896F1F211C2B922D1A96C392E07E7EA9FEDC
143
144MAC = HMAC
145Algorithm = SHA512
146Input = "Sample message for keylen=blocklen"
147Key = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7
148Output = D93EC8D2DE1AD2A9957CB9B83F14E76AD6B5E0CCE285079A127D3B14BCCB7AA7286D4AC0D4CE64215F2BC9E6870B33D97438BE4AAA20CDA5C5A912B48B8E27F3
149
150Title = SHA3
151
152# NIST's test vectors
153
154MAC = HMAC
155Algorithm = SHA3-224
156Input = "Sample message for keylen<blocklen"
157Key = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b
158Output = 332cfd59347fdb8e576e77260be4aba2d6dc53117b3bfb52c6d18c04
36b6db08
P
159OutputSize = 28
160BlockSize = 144
5ccada09
SL
161
162MAC = HMAC
163Algorithm = SHA3-224
164Input = "Sample message for keylen=blocklen"
165Key = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f
166Output = d8b733bcf66c644a12323d564e24dcf3fc75f231f3b67968359100c7
167
168MAC = HMAC
169Algorithm = SHA3-224
170Input = "Sample message for keylen>blocklen"
171Key = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaab
172Output = 078695eecc227c636ad31d063a15dd05a7e819a66ec6d8de1e193e59
173
174MAC = HMAC
175Algorithm = SHA3-256
176Input = "Sample message for keylen<blocklen"
177Key = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f
178Output = 4fe8e202c4f058e8dddc23d8c34e467343e23555e24fc2f025d598f558f67205
36b6db08
P
179OutputSize = 32
180BlockSize = 136
5ccada09
SL
181
182MAC = HMAC
183Algorithm = SHA3-256
184Input = "Sample message for keylen=blocklen"
185Key = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f8081828384858687
186Output = 68b94e2e538a9be4103bebb5aa016d47961d4d1aa906061313b557f8af2c3faa
187
188MAC = HMAC
189Algorithm = SHA3-256
190Input = "Sample message for keylen>blocklen"
191Key = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7
192Output = 9bcf2c238e235c3ce88404e813bd2f3a97185ac6f238c63d6229a00b07974258
193
194MAC = HMAC
195Algorithm = SHA3-384
196Input = "Sample message for keylen<blocklen"
197Key = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f
198Output = d588a3c51f3f2d906e8298c1199aa8ff6296218127f6b38a90b6afe2c5617725bc99987f79b22a557b6520db710b7f42
36b6db08
P
199OutputSize = 48
200BlockSize = 104
5ccada09
SL
201
202MAC = HMAC
203Algorithm = SHA3-384
204Input = "Sample message for keylen=blocklen"
205Key = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f6061626364656667
206Output = a27d24b592e8c8cbf6d4ce6fc5bf62d8fc98bf2d486640d9eb8099e24047837f5f3bffbe92dcce90b4ed5b1e7e44fa90
207
208MAC = HMAC
209Algorithm = SHA3-384
210Input = "Sample message for keylen>blocklen"
211Key = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f9091929394959697
212Output = e5ae4c739f455279368ebf36d4f5354c95aa184c899d3870e460ebc288ef1f9470053f73f7c6da2a71bcaec38ce7d6ac
213
214MAC = HMAC
215Algorithm = SHA3-512
216Input = "Sample message for keylen<blocklen"
217Key = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f
218Output = 4efd629d6c71bf86162658f29943b1c308ce27cdfa6db0d9c3ce81763f9cbce5f7ebe9868031db1a8f8eb7b6b95e5c5e3f657a8996c86a2f6527e307f0213196
36b6db08
P
219OutputSize = 64
220BlockSize = 72
5ccada09
SL
221
222MAC = HMAC
223Algorithm = SHA3-512
224Input = "Sample message for keylen=blocklen"
225Key = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f4041424344454647
226Output = 544e257ea2a3e5ea19a590e6a24b724ce6327757723fe2751b75bf007d80f6b360744bf1b7a88ea585f9765b47911976d3191cf83c039f5ffab0d29cc9d9b6da
227
228MAC = HMAC by EVP_PKEY
229Algorithm = SHA3-512
230Input = "Sample message for keylen>blocklen"
231Key = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f8081828384858687
232Output = 5f464f5e5b7848e3885e49b2c385f0694985d0e38966242dc4a5fe3fea4b37d46b65ceced5dcf59438dd840bab22269f0ba7febdb9fcf74602a35666b2a32915
233
234Title = HMAC self generated tests
235
236MAC = HMAC
237Algorithm = SHAKE128
238Input = "Test that SHAKE128 fails"
239Key = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f
41df96ef 240Result = MAC_INIT_ERROR
5ccada09
SL
241
242
243Title = CMAC tests (from FIPS module)
244
245MAC = CMAC
246Algorithm = AES-128-CBC
247Key = 77A77FAF290C1FA30C683DF16BA7A77B
248Input = 020683E1F0392F4CAC54318B6029259E9C553DBC4B6AD998E64D58E4E7DC2E13
249Output = FBFEA41BF9740CB501F1292C21CEBB40
250
251MAC = CMAC by EVP_PKEY
252Algorithm = AES-192-CBC
253Key = 7B32391369AA4CA97558095BE3C3EC862BD057CEF1E32D62
254Input =
255Output = E4D9340B03E67DEFD4969CC1ED3735E6
256
257MAC = CMAC
258Algorithm = AES-256-CBC
259Key = 0B122AC8F34ED1FE082A3625D157561454167AC145A10BBF77C6A70596D574F1
260Input = 498B53FDEC87EDCBF07097DCCDE93A084BAD7501A224E388DF349CE18959FE8485F8AD1537F0D896EA73BEDC7214713F
261Output = F62C46329B41085625669BAF51DEA66A
262
5ccada09
SL
263Title = GMAC Tests (from NIST)
264
265MAC = GMAC
266Algorithm = AES-128-GCM
267Key = 77BE63708971C4E240D1CB79E8D77FEB
268IV = E0E00F19FED7BA0136A797F3
269Input = 7A43EC1D9C0A5A78A0B16533A6213CAB
270Output = 209FCC8D3675ED938E9C7166709DD946
271
272Title = GMAC Tests (from http://www.ieee802.org/1/files/public/docs2011/bn-randall-test-vectors-0511-v1.pdf)
273
274MAC = GMAC
275Algorithm = AES-128-GCM
276Key = AD7A2BD03EAC835A6F620FDCB506B345
277IV = 12153524C0895E81B2C28465
278Input = D609B1F056637A0D46DF998D88E5222AB2C2846512153524C0895E8108000F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F30313233340001
279Output = F09478A9B09007D06F46E9B6A1DA25DD
280
281MAC = GMAC
282Algorithm = AES-256-GCM
283Key = E3C08A8F06C6E3AD95A70557B23F75483CE33021A9C72B7025666204C69C0B72
284IV = 12153524C0895E81B2C28465
285Input = D609B1F056637A0D46DF998D88E5222AB2C2846512153524C0895E8108000F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F30313233340001
286Output = 2F0BC5AF409E06D609EA8B7D0FA5EA50
287
288MAC = GMAC
289Algorithm = AES-128-GCM
290Key = 071B113B0CA743FECCCF3D051F737382
291IV = F0761E8DCD3D000176D457ED
292Input = E20106D7CD0DF0761E8DCD3D88E5400076D457ED08000F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A0003
293Output = 0C017BC73B227DFCC9BAFA1C41ACC353
294
295MAC = GMAC
296Algorithm = AES-256-GCM
297Key = 691D3EE909D7F54167FD1CA0B5D769081F2BDE1AEE655FDBAB80BD5295AE6BE7
298IV = F0761E8DCD3D000176D457ED
299Input = E20106D7CD0DF0761E8DCD3D88E5400076D457ED08000F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A0003
300Output = 35217C774BBC31B63166BCF9D4ABED07
301
302MAC = GMAC
303Algorithm = AES-128-GCM
304Key = 013FE00B5F11BE7F866D0CBBC55A7A90
305IV = 7CFDE9F9E33724C68932D612
306Input = 84C5D513D2AAF6E5BBD2727788E523008932D6127CFDE9F9E33724C608000F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F0005
307Output = 217867E50C2DAD74C28C3B50ABDF695A
308
309MAC = GMAC
310Algorithm = AES-256-GCM
311Key = 83C093B58DE7FFE1C0DA926AC43FB3609AC1C80FEE1B624497EF942E2F79A823
312IV = 7CFDE9F9E33724C68932D612
313Input = 84C5D513D2AAF6E5BBD2727788E523008932D6127CFDE9F9E33724C608000F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F0005
314Output = 6EE160E8FAECA4B36C86B234920CA975
315
316MAC = GMAC
317Algorithm = AES-128-GCM
318Key = 88EE087FD95DA9FBF6725AA9D757B0CD
319IV = 7AE8E2CA4EC500012E58495C
320Input = 68F2E77696CE7AE8E2CA4EC588E541002E58495C08000F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D0007
321Output = 07922B8EBCF10BB2297588CA4C614523
322
323MAC = GMAC
324Algorithm = AES-256-GCM
325Key = 4C973DBC7364621674F8B5B89E5C15511FCED9216490FB1C1A2CAA0FFE0407E5
326IV = 7AE8E2CA4EC500012E58495C
327Input = 68F2E77696CE7AE8E2CA4EC588E541002E58495C08000F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D0007
328Output = 00BDA1B7E87608BCBF470F12157F4C07
329
330
331Title = KMAC Tests (From NIST)
332MAC = KMAC128
333Key = 404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F
334Input = 00010203
335Custom = ""
336Output = E5780B0D3EA6F7D3A429C5706AA43A00FADBD7D49628839E3187243F456EE14E
337Ctrl = xof:0
36b6db08
P
338OutputSize = 32
339BlockSize = 168
5ccada09
SL
340
341MAC = KMAC128
342Key = 404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F
343Input = 00010203
344Custom = "My Tagged Application"
345Output = 3B1FBA963CD8B0B59E8C1A6D71888B7143651AF8BA0A7070C0979E2811324AA5
346
347MAC = KMAC128
348Key = 404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F
349Input = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7
350Custom = "My Tagged Application"
351Output = 1F5B4E6CCA02209E0DCB5CA635B89A15E271ECC760071DFD805FAA38F9729230
352Ctrl = size:32
353
354MAC = KMAC256
355Key = 404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F
356Input = 00010203
357Custom = "My Tagged Application"
358Output = 20C570C31346F703C9AC36C61C03CB64C3970D0CFC787E9B79599D273A68D2F7F69D4CC3DE9D104A351689F27CF6F5951F0103F33F4F24871024D9C27773A8DD
36b6db08
P
359OutputSize = 64
360BlockSize = 136
5ccada09
SL
361
362MAC = KMAC256
363Key = 404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F
364Input = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7
365Custom = ""
366Output = 75358CF39E41494E949707927CEE0AF20A3FF553904C86B08F21CC414BCFD691589D27CF5E15369CBBFF8B9A4C2EB17800855D0235FF635DA82533EC6B759B69
367
368MAC = KMAC256
369Key = 404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F
370Input = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7
371Custom = "My Tagged Application"
372Output = B58618F71F92E1D56C1B8C55DDD7CD188B97B4CA4D99831EB2699A837DA2E4D970FBACFDE50033AEA585F1A2708510C32D07880801BD182898FE476876FC8965
373Ctrl = size:64
374
375Title = KMAC XOF Tests (From NIST)
376
6a38b09a
P
377MAC = KMAC128
378Key = 404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F
379Input = 00010203
380Output = CD83740BBD92CCC8CF032B1481A0F4460E7CA9DD12B08A0C4031178BACD6EC35
381XOF = 1
382
383MAC = KMAC128
384Key = 404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F
385Input = 00010203
386Custom = "My Tagged Application"
387Output = 31A44527B4ED9F5C6101D11DE6D26F0620AA5C341DEF41299657FE9DF1A3B16C
388XOF = 1
389
390MAC = KMAC128
391Key = 404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F
392Input = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7
393Custom = "My Tagged Application"
394Output = 47026C7CD793084AA0283C253EF658490C0DB61438B8326FE9BDDF281B83AE0F
395XOF = 1
396Ctrl = size:32
397
398MAC = KMAC256
399Key = 404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F
400Input = 00010203
401Custom = "My Tagged Application"
402Output = 1755133F1534752AAD0748F2C706FB5C784512CAB835CD15676B16C0C6647FA96FAA7AF634A0BF8FF6DF39374FA00FAD9A39E322A7C92065A64EB1FB0801EB2B
403XOF = 1
404
405MAC = KMAC256
406Key = 404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F
407Input = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7
408Custom = ""
409Output = FF7B171F1E8A2B24683EED37830EE797538BA8DC563F6DA1E667391A75EDC02CA633079F81CE12A25F45615EC89972031D18337331D24CEB8F8CA8E6A19FD98B
410XOF = 1
411
412MAC = KMAC256
413Key = 404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F
414Input = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7
415Custom = "My Tagged Application"
416Output = D5BE731C954ED7732846BB59DBE3A8E30F83E77A4BFF4459F2F1C2B4ECEBB8CE67BA01C62E8AB8578D2D499BD1BB276768781190020A306A97DE281DCC30305D
417Ctrl = size:64
418XOF = 1
419
420Title = KMAC long customisation string (from NIST ACVP)
421
422MAC = KMAC256
423Key = 9743DBF93102FAF11227B154B8ACD16CF142671F7AA16C559A393A38B4CEF461ED29A6A328D7379C99718790E38B54CA25E9E831CBEA463EE704D1689F94629AB795DF0C77F756DA743309C0E054596BA2D9CC1768ACF7CD351D9A7EB1ABD0A3
424Input = BA63AC9C711F143CCE7FF92D0322649D1BE437D805FD225C0A2879A008373EC3BCCDB09971FAD2BCE5F4347AF7E5238EF01A90ED34193D6AFC1D
425Custom = "]J&/.?L/c&}p(b!X|?>i7!]CAH6P@1<R'6|uOu2Vu^kCM!$ Een^pn&Zlale){mQhKjqe,)'-fsX6:u@D6+ZA^b70A)n)LMxo:Y!62;:[hP*yLERjL@rq30+iRaD#9|"
426Output = 4057EFD76A63049418AFC54559589821322B6029808A3BCAE4D49E961F909F5F667ACAD56BBCFB8033DCB4CC10AF1B53F014B8
427Ctrl = size:51
428XOF = 1
429
430Title = KMAC XOF Tests via ctrl (From NIST)
431
5ccada09
SL
432MAC = KMAC128
433Key = 404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F
434Input = 00010203
435Output = CD83740BBD92CCC8CF032B1481A0F4460E7CA9DD12B08A0C4031178BACD6EC35
436Ctrl = xof:1
437
438MAC = KMAC128
439Key = 404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F
440Input = 00010203
441Custom = "My Tagged Application"
442Output = 31A44527B4ED9F5C6101D11DE6D26F0620AA5C341DEF41299657FE9DF1A3B16C
443Ctrl = xof:1
444
445MAC = KMAC128
446Key = 404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F
447Input = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7
448Custom = "My Tagged Application"
449Output = 47026C7CD793084AA0283C253EF658490C0DB61438B8326FE9BDDF281B83AE0F
450Ctrl = xof:1
451Ctrl = size:32
452
453MAC = KMAC256
454Key = 404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F
455Input = 00010203
456Custom = "My Tagged Application"
457Output = 1755133F1534752AAD0748F2C706FB5C784512CAB835CD15676B16C0C6647FA96FAA7AF634A0BF8FF6DF39374FA00FAD9A39E322A7C92065A64EB1FB0801EB2B
458Ctrl = xof:1
459
460MAC = KMAC256
461Key = 404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F
462Input = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7
463Custom = ""
464Output = FF7B171F1E8A2B24683EED37830EE797538BA8DC563F6DA1E667391A75EDC02CA633079F81CE12A25F45615EC89972031D18337331D24CEB8F8CA8E6A19FD98B
465Ctrl = xof:1
466
467MAC = KMAC256
468Key = 404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F
469Input = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7
470Custom = "My Tagged Application"
471Output = D5BE731C954ED7732846BB59DBE3A8E30F83E77A4BFF4459F2F1C2B4ECEBB8CE67BA01C62E8AB8578D2D499BD1BB276768781190020A306A97DE281DCC30305D
472Ctrl = size:64
473Ctrl = xof:1
810a169e 474
6a38b09a 475Title = KMAC long customisation string via ctrl (from NIST ACVP)
810a169e
P
476
477MAC = KMAC256
478Key = 9743DBF93102FAF11227B154B8ACD16CF142671F7AA16C559A393A38B4CEF461ED29A6A328D7379C99718790E38B54CA25E9E831CBEA463EE704D1689F94629AB795DF0C77F756DA743309C0E054596BA2D9CC1768ACF7CD351D9A7EB1ABD0A3
479Input = BA63AC9C711F143CCE7FF92D0322649D1BE437D805FD225C0A2879A008373EC3BCCDB09971FAD2BCE5F4347AF7E5238EF01A90ED34193D6AFC1D
480Custom = "]J&/.?L/c&}p(b!X|?>i7!]CAH6P@1<R'6|uOu2Vu^kCM!$ Een^pn&Zlale){mQhKjqe,)'-fsX6:u@D6+ZA^b70A)n)LMxo:Y!62;:[hP*yLERjL@rq30+iRaD#9|"
481Output = 4057EFD76A63049418AFC54559589821322B6029808A3BCAE4D49E961F909F5F667ACAD56BBCFB8033DCB4CC10AF1B53F014B8
482Ctrl = size:51
483Ctrl = xof:1
484
485Title = KMAC long customisation string negative test
486
487MAC = KMAC128
488Key = 404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F
489Input = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7
490Custom = ":abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789::abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789::abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789::abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789::"
491Result = MAC_INIT_ERROR
492
2b05439f
SL
493Title = KMAC output is too large
494
495MAC = KMAC256
496Key = 404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F
497Input = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7
498Custom = "My Tagged Application"
499Ctrl = size:2097152
500Result = MAC_INIT_ERROR