Mercurial > dropbear
comparison libtomcrypt/src/hashes/rmd320.c @ 1471:6dba84798cd5
Update to libtomcrypt 1.18.1, merged with Dropbear changes
author | Matt Johnston <matt@ucc.asn.au> |
---|---|
date | Fri, 09 Feb 2018 21:44:05 +0800 |
parents | f849a5ca2efc |
children |
comparison
equal
deleted
inserted
replaced
1470:8bba51a55704 | 1471:6dba84798cd5 |
---|---|
3 * LibTomCrypt is a library that provides various cryptographic | 3 * LibTomCrypt is a library that provides various cryptographic |
4 * algorithms in a highly modular and flexible manner. | 4 * algorithms in a highly modular and flexible manner. |
5 * | 5 * |
6 * The library is free for all purposes without any express | 6 * The library is free for all purposes without any express |
7 * guarantee it works. | 7 * guarantee it works. |
8 * | |
9 * Tom St Denis, [email protected], http://libtom.org | |
10 */ | 8 */ |
11 #include "tomcrypt.h" | 9 #include "tomcrypt.h" |
12 | 10 |
13 /** | 11 /** |
14 @file rmd320.c | 12 @file rmd320.c |
18 #ifdef LTC_RIPEMD320 | 16 #ifdef LTC_RIPEMD320 |
19 | 17 |
20 const struct ltc_hash_descriptor rmd320_desc = | 18 const struct ltc_hash_descriptor rmd320_desc = |
21 { | 19 { |
22 "rmd320", | 20 "rmd320", |
23 9, | 21 14, |
24 40, | 22 40, |
25 64, | 23 64, |
26 | 24 |
27 /* OID */ | 25 /* OID ... does not exist |
26 * http://oid-info.com/get/1.3.36.3.2 */ | |
28 { 0 }, | 27 { 0 }, |
29 0, | 28 0, |
30 | 29 |
31 &rmd320_init, | 30 &rmd320_init, |
32 &rmd320_process, | 31 &rmd320_process, |
430 { | 429 { |
431 #ifndef LTC_TEST | 430 #ifndef LTC_TEST |
432 return CRYPT_NOP; | 431 return CRYPT_NOP; |
433 #else | 432 #else |
434 static const struct { | 433 static const struct { |
435 char *msg; | 434 const char *msg; |
436 unsigned char md[40]; | 435 unsigned char hash[40]; |
437 } tests[] = { | 436 } tests[] = { |
438 { "", | 437 { "", |
439 { 0x22, 0xd6, 0x5d, 0x56, 0x61, 0x53, 0x6c, 0xdc, 0x75, 0xc1, | 438 { 0x22, 0xd6, 0x5d, 0x56, 0x61, 0x53, 0x6c, 0xdc, 0x75, 0xc1, |
440 0xfd, 0xf5, 0xc6, 0xde, 0x7b, 0x41, 0xb9, 0xf2, 0x73, 0x25, | 439 0xfd, 0xf5, 0xc6, 0xde, 0x7b, 0x41, 0xb9, 0xf2, 0x73, 0x25, |
441 0xeb, 0xc6, 0x1e, 0x85, 0x57, 0x17, 0x7d, 0x70, 0x5a, 0x0e, | 440 0xeb, 0xc6, 0x1e, 0x85, 0x57, 0x17, 0x7d, 0x70, 0x5a, 0x0e, |
470 0xb8, 0x4d, 0xf7, 0x69, 0xa5, 0xde, 0x20, 0x60, 0xe2, 0x59, | 469 0xb8, 0x4d, 0xf7, 0x69, 0xa5, 0xde, 0x20, 0x60, 0xe2, 0x59, |
471 0xdf, 0x4c, 0x9b, 0xb4, 0xa4, 0x26, 0x8c, 0x0e, 0x93, 0x5b, | 470 0xdf, 0x4c, 0x9b, 0xb4, 0xa4, 0x26, 0x8c, 0x0e, 0x93, 0x5b, |
472 0xbc, 0x74, 0x70, 0xa9, 0x69, 0xc9, 0xd0, 0x72, 0xa1, 0xac } | 471 0xbc, 0x74, 0x70, 0xa9, 0x69, 0xc9, 0xd0, 0x72, 0xa1, 0xac } |
473 } | 472 } |
474 }; | 473 }; |
475 int x; | 474 |
476 unsigned char buf[40]; | 475 int i; |
476 unsigned char tmp[40]; | |
477 hash_state md; | 477 hash_state md; |
478 | 478 |
479 for (x = 0; x < (int)(sizeof(tests)/sizeof(tests[0])); x++) { | 479 for (i = 0; i < (int)(sizeof(tests)/sizeof(tests[0])); i++) { |
480 rmd320_init(&md); | 480 rmd320_init(&md); |
481 rmd320_process(&md, (unsigned char *)tests[x].msg, strlen(tests[x].msg)); | 481 rmd320_process(&md, (unsigned char *)tests[i].msg, strlen(tests[i].msg)); |
482 rmd320_done(&md, buf); | 482 rmd320_done(&md, tmp); |
483 if (XMEMCMP(buf, tests[x].md, 40) != 0) { | 483 if (compare_testvector(tmp, sizeof(tmp), tests[i].hash, sizeof(tests[i].hash), "RIPEMD320", i)) { |
484 #if 0 | |
485 printf("Failed test %d\n", x); | |
486 #endif | |
487 return CRYPT_FAIL_TESTVECTOR; | 484 return CRYPT_FAIL_TESTVECTOR; |
488 } | 485 } |
489 } | 486 } |
490 return CRYPT_OK; | 487 return CRYPT_OK; |
491 #endif | 488 #endif |
492 } | 489 } |
493 | 490 |
494 #endif | 491 #endif |
495 | 492 |
493 /* ref: $Format:%D$ */ | |
494 /* git commit: $Format:%H$ */ | |
495 /* commit time: $Format:%ai$ */ |