authorgravatar for mantas@jonytis.euMantas Jonytis <mantas@jonytis.eu> 2020-08-01 15:15:04+03:00
committergravatar for mantas@jonytis.euMantas Jonytis <mantas@jonytis.eu> 2020-08-01 15:15:04+03:00
logfad87bef9af8948a475fd4577b44082fdde303cd
treed75259b4145c41ace6fb48f0f80b25f2e4a140c4
parent0d31877444bf6c21307dfd3c412f9673dfd8acab

add more blake2s tests


1 files changed, 53 insertions(+), 0 deletions(-)

lib/std/crypto/blake2.zig+53
...@@ -188,6 +188,9 @@ test "blake2s224 single" {...@@ -188,6 +188,9 @@ test "blake2s224 single" {
188188
189 const h3 = "e4e5cb6c7cae41982b397bf7b7d2d9d1949823ae78435326e8db4912";189 const h3 = "e4e5cb6c7cae41982b397bf7b7d2d9d1949823ae78435326e8db4912";
190 htest.assertEqualHash(Blake2s224, h3, "The quick brown fox jumps over the lazy dog");190 htest.assertEqualHash(Blake2s224, h3, "The quick brown fox jumps over the lazy dog");
191
192 const h4 = "557381a78facd2b298640f4e32113e58967d61420af1aa939d0cfe01";
193 htest.assertEqualHash(Blake2s224, h4, "a" ** 32 ++ "b" ** 32);
191}194}
192195
193test "blake2s224 streaming" {196test "blake2s224 streaming" {
...@@ -212,6 +215,34 @@ test "blake2s224 streaming" {...@@ -212,6 +215,34 @@ test "blake2s224 streaming" {
212 h.update("c");215 h.update("c");
213 h.final(out[0..]);216 h.final(out[0..]);
214 htest.assertEqual(h2, out[0..]);217 htest.assertEqual(h2, out[0..]);
218
219 const h3 = "557381a78facd2b298640f4e32113e58967d61420af1aa939d0cfe01";
220
221 h.reset();
222 h.update("a" ** 32);
223 h.update("b" ** 32);
224 h.final(out[0..]);
225 htest.assertEqual(h3, out[0..]);
226
227 h.reset();
228 h.update("a" ** 32 ++ "b" ** 32);
229 h.final(out[0..]);
230 htest.assertEqual(h3, out[0..]);
231}
232
233test "blake2s224 aligned final" {
234 var block = [_]u8{0} ** Blake2s224.block_length;
235 var out: [Blake2s224.digest_length]u8 = undefined;
236
237 const h1 = "86b7611563293f8c73627df7a6d6ba25ca0548c2a6481f7d116ee576";
238
239 htest.assertEqualHash(Blake2s224, h1, block[0..]);
240
241 var h = Blake2s224.init();
242 h.update(&block);
243 h.final(out[0..]);
244
245 htest.assertEqual(h1, out[0..]);
215}246}
216247
217test "blake2s256 single" {248test "blake2s256 single" {
...@@ -223,6 +254,9 @@ test "blake2s256 single" {...@@ -223,6 +254,9 @@ test "blake2s256 single" {
223254
224 const h3 = "606beeec743ccbeff6cbcdf5d5302aa855c256c29b88c8ed331ea1a6bf3c8812";255 const h3 = "606beeec743ccbeff6cbcdf5d5302aa855c256c29b88c8ed331ea1a6bf3c8812";
225 htest.assertEqualHash(Blake2s256, h3, "The quick brown fox jumps over the lazy dog");256 htest.assertEqualHash(Blake2s256, h3, "The quick brown fox jumps over the lazy dog");
257
258 const h4 = "8d8711dade07a6b92b9a3ea1f40bee9b2c53ff3edd2a273dec170b0163568977";
259 htest.assertEqualHash(Blake2s256, h4, "a" ** 32 ++ "b" ** 32);
226}260}
227261
228test "blake2s256 streaming" {262test "blake2s256 streaming" {
...@@ -247,15 +281,34 @@ test "blake2s256 streaming" {...@@ -247,15 +281,34 @@ test "blake2s256 streaming" {
247 h.update("c");281 h.update("c");
248 h.final(out[0..]);282 h.final(out[0..]);
249 htest.assertEqual(h2, out[0..]);283 htest.assertEqual(h2, out[0..]);
284
285 const h3 = "8d8711dade07a6b92b9a3ea1f40bee9b2c53ff3edd2a273dec170b0163568977";
286
287 h.reset();
288 h.update("a" ** 32);
289 h.update("b" ** 32);
290 h.final(out[0..]);
291 htest.assertEqual(h3, out[0..]);
292
293 h.reset();
294 h.update("a" ** 32 ++ "b" ** 32);
295 h.final(out[0..]);
296 htest.assertEqual(h3, out[0..]);
250}297}
251298
252test "blake2s256 aligned final" {299test "blake2s256 aligned final" {
253 var block = [_]u8{0} ** Blake2s256.block_length;300 var block = [_]u8{0} ** Blake2s256.block_length;
254 var out: [Blake2s256.digest_length]u8 = undefined;301 var out: [Blake2s256.digest_length]u8 = undefined;
255302
303 const h1 = "ae09db7cd54f42b490ef09b6bc541af688e4959bb8c53f359a6f56e38ab454a3";
304
305 htest.assertEqualHash(Blake2s256, h1, block[0..]);
306
256 var h = Blake2s256.init();307 var h = Blake2s256.init();
257 h.update(&block);308 h.update(&block);
258 h.final(out[0..]);309 h.final(out[0..]);
310
311 htest.assertEqual(h1, out[0..]);
259}312}
260313
261/////////////////////314/////////////////////