91a7ec733e2caee1cdab096d0b832d6b445c67c3
[openssl.git] / test / recipes / 30-test_evp_data / evpdigest.txt
1 #
2 # Copyright 2001-2017 The OpenSSL Project Authors. All Rights Reserved.
3 #
4 # Licensed under the OpenSSL license (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,
13 # like this prolog, are ignored.
14
15 # BLAKE2 tests, using same inputs as MD5
16 # There are no official BLAKE2 test vectors we can use since they all use a key
17 # Which is currently unsupported by OpenSSL.  They were generated using the
18 # reference implementation.  RFC7693 also mentions the 616263 / "abc" values.
19
20 Title = BLAKE tests
21
22 Digest = BLAKE2s256
23 Input = 
24 Output = 69217a3079908094e11121d042354a7c1f55b6482ca1a51e1b250dfd1ed0eef9
25
26 Digest = BLAKE2s256
27 Input = 61
28 Output = 4a0d129873403037c2cd9b9048203687f6233fb6738956e0349bd4320fec3e90
29
30 Digest = BLAKE2s256
31 Input = 616263
32 Output = 508c5e8c327c14e2e1a72ba34eeb452f37458b209ed63a294d999b4c86675982
33
34 Digest = BLAKE2s256
35 Input = 6d65737361676520646967657374
36 Output = fa10ab775acf89b7d3c8a6e823d586f6b67bdbac4ce207fe145b7d3ac25cd28c
37
38 Digest = BLAKE2s256
39 Input = 6162636465666768696a6b6c6d6e6f707172737475767778797a
40 Output = bdf88eb1f86a0cdf0e840ba88fa118508369df186c7355b4b16cf79fa2710a12
41
42 Digest = BLAKE2s256
43 Input = 4142434445464748494a4b4c4d4e4f505152535455565758595a6162636465666768696a6b6c6d6e6f707172737475767778797a30313233343536373839
44 Output = c75439ea17e1de6fa4510c335dc3d3f343e6f9e1ce2773e25b4174f1df8b119b
45
46 Digest = BLAKE2s256
47 Input = 3132333435363738393031323334353637383930313233343536373839303132333435363738393031323334353637383930313233343536373839303132333435363738393031323334353637383930
48 Output = fdaedb290a0d5af9870864fec2e090200989dc9cd53a3c092129e8535e8b4f66
49
50 Digest = BLAKE2s256
51 Input = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F
52 Output = 1FA877DE67259D19863A2A34BCC6962A2B25FCBF5CBECD7EDE8F1FA36688A796
53
54 Digest = BLAKE2s256
55 Input = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F8081
56 Output = C80ABEEBB669AD5DEEB5F5EC8EA6B7A05DDF7D31EC4C0A2EE20B0B98CAEC6746
57
58 Digest = BLAKE2b512
59 Input = 
60 Output = 786a02f742015903c6c6fd852552d272912f4740e15847618a86e217f71f5419d25e1031afee585313896444934eb04b903a685b1448b755d56f701afe9be2ce
61
62 Digest = BLAKE2b512
63 Input = 61
64 Output = 333fcb4ee1aa7c115355ec66ceac917c8bfd815bf7587d325aec1864edd24e34d5abe2c6b1b5ee3face62fed78dbef802f2a85cb91d455a8f5249d330853cb3c
65
66 Digest = BLAKE2b512
67 Input = 616263
68 Output = ba80a53f981c4d0d6a2797b69f12f6e94c212f14685ac4b74b12bb6fdbffa2d17d87c5392aab792dc252d5de4533cc9518d38aa8dbf1925ab92386edd4009923
69
70 Digest = BLAKE2b512
71 Input = 6d65737361676520646967657374
72 Output = 3c26ce487b1c0f062363afa3c675ebdbf5f4ef9bdc022cfbef91e3111cdc283840d8331fc30a8a0906cff4bcdbcd230c61aaec60fdfad457ed96b709a382359a
73
74 Digest = BLAKE2b512
75 Input = 6162636465666768696a6b6c6d6e6f707172737475767778797a
76 Output = c68ede143e416eb7b4aaae0d8e48e55dd529eafed10b1df1a61416953a2b0a5666c761e7d412e6709e31ffe221b7a7a73908cb95a4d120b8b090a87d1fbedb4c
77
78 Digest = BLAKE2b512
79 Input = 4142434445464748494a4b4c4d4e4f505152535455565758595a6162636465666768696a6b6c6d6e6f707172737475767778797a30313233343536373839
80 Output = 99964802e5c25e703722905d3fb80046b6bca698ca9e2cc7e49b4fe1fa087c2edf0312dfbb275cf250a1e542fd5dc2edd313f9c491127c2e8c0c9b24168e2d50
81
82 Digest = BLAKE2b512
83 Input = 3132333435363738393031323334353637383930313233343536373839303132333435363738393031323334353637383930313233343536373839303132333435363738393031323334353637383930
84 Output = 686f41ec5afff6e87e1f076f542aa466466ff5fbde162c48481ba48a748d842799f5b30f5b67fc684771b33b994206d05cc310f31914edd7b97e41860d77d282
85
86 Digest = BLAKE2b512
87 Input = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F
88 Output = 2319E3789C47E2DAA5FE807F61BEC2A1A6537FA03F19FF32E87EECBFD64B7E0E8CCFF439AC333B040F19B0C4DDD11A61E24AC1FE0F10A039806C5DCC0DA3D115
89
90 Digest = BLAKE2b512
91 Input = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F8081
92 Output = DF0A9D0C212843A6A934E3902B2DD30D17FBA5F969D2030B12A546D8A6A45E80CF5635F071F0452E9C919275DA99BED51EB1173C1AF0518726B75B0EC3BAE2B5
93
94 Title = SHA tests from (RFC6234 section 8.5 and others)
95
96 Digest = SHA1
97 Input = "abc"
98 Output = a9993e364706816aba3e25717850c26c9cd0d89d
99
100 Digest = SHA1
101 Input = "abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq"
102 Output = 84983e441c3bd26ebaae4aa1f95129e5e54670f1
103
104 Digest = SHA1
105 Input = "a"
106 Ncopy = 1000
107 Count = 1000
108 Output = 34aa973cd4c4daa4f61eeb2bdbad27316534016f
109
110 Digest = SHA224
111 Input = "abc"
112 Output = 23097d223405d8228642a477bda255b32aadbce4bda0b3f7e36c9da7
113
114 Digest = SHA224
115 Input = "abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq"
116 Output = 75388b16512776cc5dba5da1fd890150b0c6455cb4f58b1952522525
117
118 Digest = SHA224
119 Input = "a"
120 Ncopy = 64
121 Count = 15625
122 Output = 20794655980c91d8bbb4c1ea97618a4bf03f42581948b2ee4ee7ad67
123
124 Digest = SHA256
125 Input = "abc"
126 Output = ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad
127
128 Digest = SHA256
129 Input = "abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq"
130 Output = 248d6a61d20638b8e5c026930c3e6039a33ce45964ff2167f6ecedd419db06c1
131
132 Digest = SHA256
133 Input = "a"
134 Ncopy = 288
135 Count = 3472
136 Input = "a"
137 Ncopy = 64
138 Output = cdc76e5c9914fb9281a1c7e284d73e67f1809a48a497200e046d39ccc7112cd0
139
140 Digest = SHA384
141 Input = "abc"
142 Output = cb00753f45a35e8bb5a03d699ac65007272c32ab0eded1631a8b605a43ff5bed8086072ba1e7cc2358baeca134c825a7
143
144 Digest = SHA384
145 Input = "abcdefghbcdefghicdefghijdefghijkefghijklfghijklmghijklmnhijklmnoijklmnopjklmnopqklmnopqrlmnopqrsmnopqrstnopqrstu"
146 Output = 09330c33f71147e83d192fc782cd1b4753111b173b3b05d22fa08086e3b0f712fcc7c71a557e2db966c3e9fa91746039
147
148 Digest = SHA384
149 Input = "a"
150 Ncopy = 64
151 Count = 15625
152 Output = 9d0e1809716474cb086e834e310a4a1ced149e9c00f248527972cec5704c2a5b07b8b3dc38ecc4ebae97ddd87f3d8985
153
154 Digest = SHA512
155 Input = "abc"
156 Output = ddaf35a193617abacc417349ae20413112e6fa4e89a97ea20a9eeee64b55d39a2192992a274fc1a836ba3c23a3feebbd454d4423643ce80e2a9ac94fa54ca49f
157
158 Digest = SHA512
159 Input = "abcdefghbcdefghicdefghijdefghijkefghijklfghijklmghijklmnhijklmnoijklmnopjklmnopqklmnopqrlmnopqrsmnopqrstnopqrstu"
160 Output = 8e959b75dae313da8cf4f72814fc143f8f7779c6eb9f7fa17299aeadb6889018501d289e4900f7e4331b99dec4b5433ac7d329eeb6dd26545e96e55b874be909
161
162 Digest = SHA512
163 Input = "a"
164 Ncopy = 288
165 Count = 3472
166 Input = "a"
167 Ncopy = 64
168 Output = e718483d0ce769644e2e42c7bc15b4638e1f98b13b2044285632a803afa973ebde0ff244877ea60a4cb0432ce577c31beb009c5c2c49aa2e4eadb217ad8cc09b
169
170 Title =  MD5 tests
171
172 Digest = MD5
173 Input =
174 Output = d41d8cd98f00b204e9800998ecf8427e
175
176 Digest = MD5
177 Input = 61
178 Output = 0cc175b9c0f1b6a831c399e269772661
179
180 Digest = MD5
181 Input = 616263
182 Output = 900150983cd24fb0d6963f7d28e17f72
183
184 Digest = MD5
185 Input = 6d65737361676520646967657374
186 Output = f96b697d7cb7938d525a2f31aaf161d0
187
188 Digest = MD5
189 Input = 6162636465666768696a6b6c6d6e6f707172737475767778797a
190 Output = c3fcd3d76192e4007dfb496cca67e13b
191
192 Digest = MD5
193 Input = 4142434445464748494a4b4c4d4e4f505152535455565758595a6162636465666768696a6b6c6d6e6f707172737475767778797a30313233343536373839
194 Output = d174ab98d277d9f5a5611c2c9f419d9f
195
196 Digest = MD5
197 Input = 3132333435363738393031323334353637383930313233343536373839303132333435363738393031323334353637383930313233343536373839303132333435363738393031323334353637383930
198 Output = 57edf4a22be3c955ac49da2e2107b67a
199
200 Title = MD4 tests
201
202 Digest = MD4
203 Input = ""
204 Output = 31d6cfe0d16ae931b73c59d7e0c089c0
205
206 Digest = MD4
207 Input = "a"
208 Output = bde52cb31de33e46245e05fbdbd6fb24
209
210 Digest = MD4
211 Input = "abc"
212 Output = a448017aaf21d8525fc10ae87aa6729d
213
214 Digest = MD4
215 Input = "message digest"
216 Output = d9130a8164549fe818874806e1c7014b
217
218 Digest = MD4
219 Input = "abcdefghijklmnopqrstuvwxyz"
220 Output = d79e1c308aa5bbcdeea8ed63df412da9
221
222 Digest = MD4
223 Input = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"
224 Output = 043f8582f241db351ce627e153e7f0e4
225
226 Digest = MD4
227 Input = "12345678901234567890123456789012345678901234567890123456789012345678901234567890"
228 Output = e33b4ddc9c38f2199c3e7b164fcc0536
229
230 Title = RIPEMD160 tests
231
232 Digest = RIPEMD160
233 Input = ""
234 Output = 9c1185a5c5e9fc54612808977ee8f548b2258d31
235
236 Digest = RIPEMD160
237 Input = "a"
238 Output = 0bdc9d2d256b3ee9daae347be6f4dc835a467ffe
239
240 Digest = RIPEMD160
241 Input = "abc"
242 Output = 8eb208f7e05d987a9b044a8e98c6b087f15a0bfc
243
244 Digest = RIPEMD160
245 Input = "message digest"
246 Output = 5d0689ef49d2fae572b881b123a85ffa21595f36
247
248 Digest = RIPEMD160
249 Input = "abcdefghijklmnopqrstuvwxyz"
250 Output = f71c27109c692c1b56bbdceb5b9d2865b3708dbc
251
252 Digest = RIPEMD160
253 Input = "abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq"
254 Output = 12a053384a9c0c88e405a06c27dcf49ada62eb2b
255
256 Digest = RIPEMD160
257 Input = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"
258 Output = b0e20b6e3116640286ed3a87a5713079b21f5189
259
260 Digest = RIPEMD160
261 Input = "12345678901234567890123456789012345678901234567890123456789012345678901234567890"
262 Output = 9b752e45573d4b39f4dbd3323cab82bf63326bfb
263
264 Title = Whirlpool (from ISO/IEC 10118-3 test vector set)
265
266 Digest = whirlpool
267 Input = ""
268 Output = 19FA61D75522A4669B44E39C1D2E1726C530232130D407F89AFEE0964997F7A73E83BE698B288FEBCF88E3E03C4F0757EA8964E59B63D93708B138CC42A66EB3
269
270 Digest = whirlpool
271 Input = "a"
272 Output = 8ACA2602792AEC6F11A67206531FB7D7F0DFF59413145E6973C45001D0087B42D11BC645413AEFF63A42391A39145A591A92200D560195E53B478584FDAE231A
273
274 Digest = whirlpool
275 Input = "abc"
276 Output = 4E2448A4C6F486BB16B6562C73B4020BF3043E3A731BCE721AE1B303D97E6D4C7181EEBDB6C57E277D0E34957114CBD6C797FC9D95D8B582D225292076D4EEF5
277
278 Digest = whirlpool
279 Input = "message digest"
280 Output = 378C84A4126E2DC6E56DCC7458377AAC838D00032230F53CE1F5700C0FFB4D3B8421557659EF55C106B4B52AC5A4AAA692ED920052838F3362E86DBD37A8903E
281
282 Digest = whirlpool
283 Input = "abcdefghijklmnopqrstuvwxyz"
284 Output = F1D754662636FFE92C82EBB9212A484A8D38631EAD4238F5442EE13B8054E41B08BF2A9251C30B6A0B8AAE86177AB4A6F68F673E7207865D5D9819A3DBA4EB3B
285
286 Digest = whirlpool
287 Input = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"
288 Output = DC37E008CF9EE69BF11F00ED9ABA26901DD7C28CDEC066CC6AF42E40F82F3A1E08EBA26629129D8FB7CB57211B9281A65517CC879D7B962142C65F5A7AF01467
289
290 Digest = whirlpool
291 Input = "12345678901234567890123456789012345678901234567890123456789012345678901234567890"
292 Output = 466EF18BABB0154D25B9D38A6414F5C08784372BCCB204D6549C4AFADB6014294D5BD8DF2A6C44E538CD047B2681A51A2C60481E88C5A20B2C2A80CF3A9A083B
293
294 Digest = whirlpool
295 Input = "abcdbcdecdefdefgefghfghighijhijk"
296 Output = 2A987EA40F917061F5D6F0A0E4644F488A7A5A52DEEE656207C562F988E95C6916BDC8031BC5BE1B7B947639FE050B56939BAAA0ADFF9AE6745B7B181C3BE3FD
297
298 Digest = whirlpool
299 Input = "aaaaaaaaaa"
300 Count = 100000
301 Output = 0C99005BEB57EFF50A7CF005560DDF5D29057FD86B20BFD62DECA0F1CCEA4AF51FC15490EDDC47AF32BB2B66C34FF9AD8C6008AD677F77126953B226E4ED8B01
302
303