897e69e9ca9e4f6520a49b511d804769018a5ce3
[openssl.git] / test / 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 Digest = BLAKE2s256
21 Input = 
22 Output = 69217a3079908094e11121d042354a7c1f55b6482ca1a51e1b250dfd1ed0eef9
23
24 Digest = BLAKE2s256
25 Input = 61
26 Output = 4a0d129873403037c2cd9b9048203687f6233fb6738956e0349bd4320fec3e90
27
28 Digest = BLAKE2s256
29 Input = 616263
30 Output = 508c5e8c327c14e2e1a72ba34eeb452f37458b209ed63a294d999b4c86675982
31
32 Digest = BLAKE2s256
33 Input = 6d65737361676520646967657374
34 Output = fa10ab775acf89b7d3c8a6e823d586f6b67bdbac4ce207fe145b7d3ac25cd28c
35
36 Digest = BLAKE2s256
37 Input = 6162636465666768696a6b6c6d6e6f707172737475767778797a
38 Output = bdf88eb1f86a0cdf0e840ba88fa118508369df186c7355b4b16cf79fa2710a12
39
40 Digest = BLAKE2s256
41 Input = 4142434445464748494a4b4c4d4e4f505152535455565758595a6162636465666768696a6b6c6d6e6f707172737475767778797a30313233343536373839
42 Output = c75439ea17e1de6fa4510c335dc3d3f343e6f9e1ce2773e25b4174f1df8b119b
43
44 Digest = BLAKE2s256
45 Input = 3132333435363738393031323334353637383930313233343536373839303132333435363738393031323334353637383930313233343536373839303132333435363738393031323334353637383930
46 Output = fdaedb290a0d5af9870864fec2e090200989dc9cd53a3c092129e8535e8b4f66
47
48 Digest = BLAKE2s256
49 Input = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F
50 Output = 1FA877DE67259D19863A2A34BCC6962A2B25FCBF5CBECD7EDE8F1FA36688A796
51
52 Digest = BLAKE2s256
53 Input = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F8081
54 Output = C80ABEEBB669AD5DEEB5F5EC8EA6B7A05DDF7D31EC4C0A2EE20B0B98CAEC6746
55
56 Digest = BLAKE2b512
57 Input = 
58 Output = 786a02f742015903c6c6fd852552d272912f4740e15847618a86e217f71f5419d25e1031afee585313896444934eb04b903a685b1448b755d56f701afe9be2ce
59
60 Digest = BLAKE2b512
61 Input = 61
62 Output = 333fcb4ee1aa7c115355ec66ceac917c8bfd815bf7587d325aec1864edd24e34d5abe2c6b1b5ee3face62fed78dbef802f2a85cb91d455a8f5249d330853cb3c
63
64 Digest = BLAKE2b512
65 Input = 616263
66 Output = ba80a53f981c4d0d6a2797b69f12f6e94c212f14685ac4b74b12bb6fdbffa2d17d87c5392aab792dc252d5de4533cc9518d38aa8dbf1925ab92386edd4009923
67
68 Digest = BLAKE2b512
69 Input = 6d65737361676520646967657374
70 Output = 3c26ce487b1c0f062363afa3c675ebdbf5f4ef9bdc022cfbef91e3111cdc283840d8331fc30a8a0906cff4bcdbcd230c61aaec60fdfad457ed96b709a382359a
71
72 Digest = BLAKE2b512
73 Input = 6162636465666768696a6b6c6d6e6f707172737475767778797a
74 Output = c68ede143e416eb7b4aaae0d8e48e55dd529eafed10b1df1a61416953a2b0a5666c761e7d412e6709e31ffe221b7a7a73908cb95a4d120b8b090a87d1fbedb4c
75
76 Digest = BLAKE2b512
77 Input = 4142434445464748494a4b4c4d4e4f505152535455565758595a6162636465666768696a6b6c6d6e6f707172737475767778797a30313233343536373839
78 Output = 99964802e5c25e703722905d3fb80046b6bca698ca9e2cc7e49b4fe1fa087c2edf0312dfbb275cf250a1e542fd5dc2edd313f9c491127c2e8c0c9b24168e2d50
79
80 Digest = BLAKE2b512
81 Input = 3132333435363738393031323334353637383930313233343536373839303132333435363738393031323334353637383930313233343536373839303132333435363738393031323334353637383930
82 Output = 686f41ec5afff6e87e1f076f542aa466466ff5fbde162c48481ba48a748d842799f5b30f5b67fc684771b33b994206d05cc310f31914edd7b97e41860d77d282
83
84 Digest = BLAKE2b512
85 Input = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F
86 Output = 2319E3789C47E2DAA5FE807F61BEC2A1A6537FA03F19FF32E87EECBFD64B7E0E8CCFF439AC333B040F19B0C4DDD11A61E24AC1FE0F10A039806C5DCC0DA3D115
87
88 Digest = BLAKE2b512
89 Input = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F8081
90 Output = DF0A9D0C212843A6A934E3902B2DD30D17FBA5F969D2030B12A546D8A6A45E80CF5635F071F0452E9C919275DA99BED51EB1173C1AF0518726B75B0EC3BAE2B5
91
92 # SHA(1) tests (from shatest.c)
93 Digest = SHA1
94 Input = 616263
95 Output = a9993e364706816aba3e25717850c26c9cd0d89d
96
97 # MD5 tests
98 Digest = MD5
99 Input =
100 Output = d41d8cd98f00b204e9800998ecf8427e
101
102 Digest = MD5
103 Input = 61
104 Output = 0cc175b9c0f1b6a831c399e269772661
105
106 Digest = MD5
107 Input = 616263
108 Output = 900150983cd24fb0d6963f7d28e17f72
109
110 Digest = MD5
111 Input = 6d65737361676520646967657374
112 Output = f96b697d7cb7938d525a2f31aaf161d0
113
114 Digest = MD5
115 Input = 6162636465666768696a6b6c6d6e6f707172737475767778797a
116 Output = c3fcd3d76192e4007dfb496cca67e13b
117
118 Digest = MD5
119 Input = 4142434445464748494a4b4c4d4e4f505152535455565758595a6162636465666768696a6b6c6d6e6f707172737475767778797a30313233343536373839
120 Output = d174ab98d277d9f5a5611c2c9f419d9f
121
122 Digest = MD5
123 Input = 3132333435363738393031323334353637383930313233343536373839303132333435363738393031323334353637383930313233343536373839303132333435363738393031323334353637383930
124 Output = 57edf4a22be3c955ac49da2e2107b67a
125
126 # MD4 tests
127 Digest = MD4
128 Input = ""
129 Output = 31d6cfe0d16ae931b73c59d7e0c089c0
130
131 Digest = MD4
132 Input = "a"
133 Output = bde52cb31de33e46245e05fbdbd6fb24
134
135 Digest = MD4
136 Input = "abc"
137 Output = a448017aaf21d8525fc10ae87aa6729d
138
139 Digest = MD4
140 Input = "message digest"
141 Output = d9130a8164549fe818874806e1c7014b
142
143 Digest = MD4
144 Input = "abcdefghijklmnopqrstuvwxyz"
145 Output = d79e1c308aa5bbcdeea8ed63df412da9
146
147 Digest = MD4
148 Input = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"
149 Output = 043f8582f241db351ce627e153e7f0e4
150
151 Digest = MD4
152 Input = "12345678901234567890123456789012345678901234567890123456789012345678901234567890"
153 Output = e33b4ddc9c38f2199c3e7b164fcc0536
154
155 # RIPEMD160 tests
156 Digest = RIPEMD160
157 Input = ""
158 Output = 9c1185a5c5e9fc54612808977ee8f548b2258d31
159
160 Digest = RIPEMD160
161 Input = "a"
162 Output = 0bdc9d2d256b3ee9daae347be6f4dc835a467ffe
163
164 Digest = RIPEMD160
165 Input = "abc"
166 Output = 8eb208f7e05d987a9b044a8e98c6b087f15a0bfc
167
168 Digest = RIPEMD160
169 Input = "message digest"
170 Output = 5d0689ef49d2fae572b881b123a85ffa21595f36
171
172 Digest = RIPEMD160
173 Input = "abcdefghijklmnopqrstuvwxyz"
174 Output = f71c27109c692c1b56bbdceb5b9d2865b3708dbc
175
176 Digest = RIPEMD160
177 Input = "abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq"
178 Output = 12a053384a9c0c88e405a06c27dcf49ada62eb2b
179
180 Digest = RIPEMD160
181 Input = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"
182 Output = b0e20b6e3116640286ed3a87a5713079b21f5189
183
184 Digest = RIPEMD160
185 Input = "12345678901234567890123456789012345678901234567890123456789012345678901234567890"
186 Output = 9b752e45573d4b39f4dbd3323cab82bf63326bfb
187
188 # ISO/IEC 10118-3 test vector set
189 Digest = whirlpool
190 Input = ""
191 Output = 19FA61D75522A4669B44E39C1D2E1726C530232130D407F89AFEE0964997F7A73E83BE698B288FEBCF88E3E03C4F0757EA8964E59B63D93708B138CC42A66EB3
192
193 Digest = whirlpool
194 Input = "a"
195 Output = 8ACA2602792AEC6F11A67206531FB7D7F0DFF59413145E6973C45001D0087B42D11BC645413AEFF63A42391A39145A591A92200D560195E53B478584FDAE231A
196
197 Digest = whirlpool
198 Input = "abc"
199 Output = 4E2448A4C6F486BB16B6562C73B4020BF3043E3A731BCE721AE1B303D97E6D4C7181EEBDB6C57E277D0E34957114CBD6C797FC9D95D8B582D225292076D4EEF5
200
201 Digest = whirlpool
202 Input = "message digest"
203 Output = 378C84A4126E2DC6E56DCC7458377AAC838D00032230F53CE1F5700C0FFB4D3B8421557659EF55C106B4B52AC5A4AAA692ED920052838F3362E86DBD37A8903E
204
205 Digest = whirlpool
206 Input = "abcdefghijklmnopqrstuvwxyz"
207 Output = F1D754662636FFE92C82EBB9212A484A8D38631EAD4238F5442EE13B8054E41B08BF2A9251C30B6A0B8AAE86177AB4A6F68F673E7207865D5D9819A3DBA4EB3B
208
209 Digest = whirlpool
210 Input = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"
211 Output = DC37E008CF9EE69BF11F00ED9ABA26901DD7C28CDEC066CC6AF42E40F82F3A1E08EBA26629129D8FB7CB57211B9281A65517CC879D7B962142C65F5A7AF01467
212
213 Digest = whirlpool
214 Input = "12345678901234567890123456789012345678901234567890123456789012345678901234567890"
215 Output = 466EF18BABB0154D25B9D38A6414F5C08784372BCCB204D6549C4AFADB6014294D5BD8DF2A6C44E538CD047B2681A51A2C60481E88C5A20B2C2A80CF3A9A083B
216
217 Digest = whirlpool
218 Input = "abcdbcdecdefdefgefghfghighijhijk"
219 Output = 2A987EA40F917061F5D6F0A0E4644F488A7A5A52DEEE656207C562F988E95C6916BDC8031BC5BE1B7B947639FE050B56939BAAA0ADFF9AE6745B7B181C3BE3FD
220
221 Digest = whirlpool
222 Input = "aaaaaaaaaa"
223 Count = 100000
224 Output = 0C99005BEB57EFF50A7CF005560DDF5D29057FD86B20BFD62DECA0F1CCEA4AF51FC15490EDDC47AF32BB2B66C34FF9AD8C6008AD677F77126953B226E4ED8B01
225
226