blob: 186fb87c25577a6be6fbc18fd60fc4e48a685195 [file] [log] [blame]
Paul Bakker33b43f12013-08-20 11:48:36 +02001/* BEGIN_HEADER */
Manuel Pégourié-Gonnard7f809972015-03-09 17:05:11 +00002#include "mbedtls/sha1.h"
3#include "mbedtls/sha256.h"
4#include "mbedtls/sha512.h"
Paul Bakker33b43f12013-08-20 11:48:36 +02005/* END_HEADER */
Paul Bakker367dae42009-06-28 21:50:27 +00006
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +02007/* BEGIN_CASE depends_on:MBEDTLS_SHA1_C */
Azim Khand30ca132017-06-09 04:32:58 +01008void mbedtls_sha1( HexParam_t * src_str, HexParam_t * hex_hash_string )
Paul Bakker367dae42009-06-28 21:50:27 +00009{
Paul Bakker367dae42009-06-28 21:50:27 +000010 unsigned char output[41];
11
Paul Bakker367dae42009-06-28 21:50:27 +000012 memset(output, 0x00, 41);
13
Paul Bakker367dae42009-06-28 21:50:27 +000014
Azim Khand30ca132017-06-09 04:32:58 +010015 TEST_ASSERT( mbedtls_sha1_ret( src_str->x, src_str->len, output ) == 0 );
Paul Bakker367dae42009-06-28 21:50:27 +000016
Azim Khand30ca132017-06-09 04:32:58 +010017 TEST_ASSERT( hexcmp( output, hex_hash_string->x, 20, hex_hash_string->len ) == 0 );
Paul Bakker367dae42009-06-28 21:50:27 +000018}
Paul Bakker33b43f12013-08-20 11:48:36 +020019/* END_CASE */
Paul Bakker367dae42009-06-28 21:50:27 +000020
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +020021/* BEGIN_CASE depends_on:MBEDTLS_SHA256_C */
Azim Khand30ca132017-06-09 04:32:58 +010022void sha224( HexParam_t * src_str, HexParam_t * hex_hash_string )
Paul Bakker367dae42009-06-28 21:50:27 +000023{
Paul Bakker367dae42009-06-28 21:50:27 +000024 unsigned char output[57];
25
Paul Bakker367dae42009-06-28 21:50:27 +000026 memset(output, 0x00, 57);
27
Paul Bakker367dae42009-06-28 21:50:27 +000028
Azim Khand30ca132017-06-09 04:32:58 +010029 TEST_ASSERT( mbedtls_sha256_ret( src_str->x, src_str->len, output, 1 ) == 0 );
Paul Bakker367dae42009-06-28 21:50:27 +000030
Azim Khand30ca132017-06-09 04:32:58 +010031 TEST_ASSERT( hexcmp( output, hex_hash_string->x, 28, hex_hash_string->len ) == 0 );
Paul Bakker367dae42009-06-28 21:50:27 +000032}
Paul Bakker33b43f12013-08-20 11:48:36 +020033/* END_CASE */
Paul Bakker367dae42009-06-28 21:50:27 +000034
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +020035/* BEGIN_CASE depends_on:MBEDTLS_SHA256_C */
Azim Khand30ca132017-06-09 04:32:58 +010036void mbedtls_sha256( HexParam_t * src_str, HexParam_t * hex_hash_string )
Paul Bakker367dae42009-06-28 21:50:27 +000037{
Paul Bakker367dae42009-06-28 21:50:27 +000038 unsigned char output[65];
39
Paul Bakker367dae42009-06-28 21:50:27 +000040 memset(output, 0x00, 65);
41
Paul Bakker367dae42009-06-28 21:50:27 +000042
Azim Khand30ca132017-06-09 04:32:58 +010043 TEST_ASSERT( mbedtls_sha256_ret( src_str->x, src_str->len, output, 0 ) == 0 );
Paul Bakker367dae42009-06-28 21:50:27 +000044
Azim Khand30ca132017-06-09 04:32:58 +010045 TEST_ASSERT( hexcmp( output, hex_hash_string->x, 32, hex_hash_string->len ) == 0 );
Paul Bakker367dae42009-06-28 21:50:27 +000046}
Paul Bakker33b43f12013-08-20 11:48:36 +020047/* END_CASE */
Paul Bakker367dae42009-06-28 21:50:27 +000048
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +020049/* BEGIN_CASE depends_on:MBEDTLS_SHA512_C */
Azim Khand30ca132017-06-09 04:32:58 +010050void sha384( HexParam_t * src_str, HexParam_t * hex_hash_string )
Paul Bakker367dae42009-06-28 21:50:27 +000051{
Paul Bakker367dae42009-06-28 21:50:27 +000052 unsigned char output[97];
53
Paul Bakker367dae42009-06-28 21:50:27 +000054 memset(output, 0x00, 97);
55
Paul Bakker367dae42009-06-28 21:50:27 +000056
Azim Khand30ca132017-06-09 04:32:58 +010057 TEST_ASSERT( mbedtls_sha512_ret( src_str->x, src_str->len, output, 1 ) == 0 );
Paul Bakker367dae42009-06-28 21:50:27 +000058
Azim Khand30ca132017-06-09 04:32:58 +010059 TEST_ASSERT( hexcmp( output, hex_hash_string->x, 48, hex_hash_string->len ) == 0 );
Paul Bakker367dae42009-06-28 21:50:27 +000060}
Paul Bakker33b43f12013-08-20 11:48:36 +020061/* END_CASE */
Paul Bakker367dae42009-06-28 21:50:27 +000062
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +020063/* BEGIN_CASE depends_on:MBEDTLS_SHA512_C */
Azim Khand30ca132017-06-09 04:32:58 +010064void mbedtls_sha512( HexParam_t * src_str, HexParam_t * hex_hash_string )
Paul Bakker367dae42009-06-28 21:50:27 +000065{
Paul Bakker367dae42009-06-28 21:50:27 +000066 unsigned char output[129];
67
Paul Bakker367dae42009-06-28 21:50:27 +000068 memset(output, 0x00, 129);
69
Paul Bakker367dae42009-06-28 21:50:27 +000070
Azim Khand30ca132017-06-09 04:32:58 +010071 TEST_ASSERT( mbedtls_sha512_ret( src_str->x, src_str->len, output, 0 ) == 0 );
Paul Bakker367dae42009-06-28 21:50:27 +000072
Azim Khand30ca132017-06-09 04:32:58 +010073 TEST_ASSERT( hexcmp( output, hex_hash_string->x, 64, hex_hash_string->len ) == 0 );
Paul Bakker367dae42009-06-28 21:50:27 +000074}
Paul Bakker33b43f12013-08-20 11:48:36 +020075/* END_CASE */
Paul Bakkerf3eedce2009-07-05 11:30:16 +000076
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +020077/* BEGIN_CASE depends_on:MBEDTLS_SHA1_C:MBEDTLS_SELF_TEST */
Azim Khanf1aaec92017-05-30 14:23:15 +010078void sha1_selftest( )
Paul Bakkerf3eedce2009-07-05 11:30:16 +000079{
Andres AG93012e82016-09-09 09:10:28 +010080 TEST_ASSERT( mbedtls_sha1_self_test( 1 ) == 0 );
Paul Bakkerf3eedce2009-07-05 11:30:16 +000081}
Paul Bakker33b43f12013-08-20 11:48:36 +020082/* END_CASE */
Paul Bakkerf3eedce2009-07-05 11:30:16 +000083
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +020084/* BEGIN_CASE depends_on:MBEDTLS_SHA256_C:MBEDTLS_SELF_TEST */
Azim Khanf1aaec92017-05-30 14:23:15 +010085void sha256_selftest( )
Paul Bakkerf3eedce2009-07-05 11:30:16 +000086{
Andres AG93012e82016-09-09 09:10:28 +010087 TEST_ASSERT( mbedtls_sha256_self_test( 1 ) == 0 );
Paul Bakkerf3eedce2009-07-05 11:30:16 +000088}
Paul Bakker33b43f12013-08-20 11:48:36 +020089/* END_CASE */
Paul Bakkerf3eedce2009-07-05 11:30:16 +000090
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +020091/* BEGIN_CASE depends_on:MBEDTLS_SHA512_C:MBEDTLS_SELF_TEST */
Azim Khanf1aaec92017-05-30 14:23:15 +010092void sha512_selftest( )
Paul Bakkerf3eedce2009-07-05 11:30:16 +000093{
Andres AG93012e82016-09-09 09:10:28 +010094 TEST_ASSERT( mbedtls_sha512_self_test( 1 ) == 0 );
Paul Bakkerf3eedce2009-07-05 11:30:16 +000095}
Paul Bakker33b43f12013-08-20 11:48:36 +020096/* END_CASE */