1414
1515#include "pico/stdlib.h"
1616#include "mbedtls/sha256.h"
17+ #include "mbedtls/version.h"
1718
1819#define BUFFER_SIZE 10000
1920
21+ #if MBEDTLS_VERSION_MAJOR < 3
22+ #define mbedtls_sha256_starts mbedtls_sha256_starts_ret
23+ #define mbedtls_sha256_update mbedtls_sha256_update_ret
24+ #define mbedtls_sha256_finish mbedtls_sha256_finish_ret
25+ #endif
26+
2027int main () {
2128 stdio_init_all ();
2229 // nist 3
@@ -32,14 +39,14 @@ int main() {
3239 mbedtls_sha256_context ctx ;
3340 mbedtls_sha256_init (& ctx );
3441 uint64_t start = time_us_64 ();
35- int rc = mbedtls_sha256_starts_ret (& ctx , 0 );
42+ int rc = mbedtls_sha256_starts (& ctx , 0 );
3643 hard_assert (rc == 0 );
3744 for (int i = 0 ; i < 1000000 ; i += BUFFER_SIZE ) {
38- rc = mbedtls_sha256_update_ret (& ctx , buffer , BUFFER_SIZE );
45+ rc = mbedtls_sha256_update (& ctx , buffer , BUFFER_SIZE );
3946 hard_assert (rc == 0 );
4047 }
4148 unsigned char mbed_result [32 ];
42- rc = mbedtls_sha256_finish_ret (& ctx , mbed_result );
49+ rc = mbedtls_sha256_finish (& ctx , mbed_result );
4350 hard_assert (rc == 0 );
4451 uint64_t mbed_time = (time_us_64 () - start ) / 1000 ;
4552 printf ("Mbedtls time for sha256 of 1M bytes %" PRIu64 "ms\n" , mbed_time );
0 commit comments