pw_crypto: Use mbedtls_sha256_* directly

Use the mbedtls_sha256_* APIs instead of the more general mbedtls_md_*
for an immediate reduction in code size -- 19KiB --> 2.8KiB. This avoids
the need to configure Mbed TLS to remove unused hashing algorithms
supported by mbedtls_md_*.

No-Docs-Update-Reason: no behavioral changes.
Change-Id: I7d450e6cb102aa395daabc20a98d1f0ca56360c0
Reviewed-on: https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/53540
Reviewed-by: Darren Krahn <dkrahn@google.com>
Commit-Queue: Auto-Submit <auto-submit@pigweed.google.com.iam.gserviceaccount.com>
Pigweed-Auto-Submit: Ali Zhang <alizhang@google.com>
2 files changed
tree: 5a6c32e2006120b2076bd2c37d58aa45ddee77c1
  1. build_overrides/
  2. docker/
  3. docs/
  4. pw_allocator/
  5. pw_analog/
  6. pw_arduino_build/
  7. pw_assert/
  8. pw_assert_basic/
  9. pw_assert_log/
  10. pw_base64/
  11. pw_bloat/
  12. pw_blob_store/
  13. pw_boot/
  14. pw_boot_cortex_m/
  15. pw_build/
  16. pw_bytes/
  17. pw_checksum/
  18. pw_chrono/
  19. pw_chrono_embos/
  20. pw_chrono_freertos/
  21. pw_chrono_stl/
  22. pw_chrono_threadx/
  23. pw_cli/
  24. pw_console/
  25. pw_containers/
  26. pw_cpu_exception/
  27. pw_cpu_exception_cortex_m/
  28. pw_crypto/
  29. pw_docgen/
  30. pw_doctor/
  31. pw_env_setup/
  32. pw_function/
  33. pw_fuzzer/
  34. pw_hdlc/
  35. pw_hex_dump/
  36. pw_i2c/
  37. pw_interrupt/
  38. pw_interrupt_cortex_m/
  39. pw_kvs/
  40. pw_libc/
  41. pw_log/
  42. pw_log_basic/
  43. pw_log_null/
  44. pw_log_rpc/
  45. pw_log_tokenized/
  46. pw_malloc/
  47. pw_malloc_freelist/
  48. pw_metric/
  49. pw_minimal_cpp_stdlib/
  50. pw_module/
  51. pw_multisink/
  52. pw_package/
  53. pw_persistent_ram/
  54. pw_polyfill/
  55. pw_preprocessor/
  56. pw_presubmit/
  57. pw_protobuf/
  58. pw_protobuf_compiler/
  59. pw_random/
  60. pw_result/
  61. pw_ring_buffer/
  62. pw_router/
  63. pw_rpc/
  64. pw_snapshot/
  65. pw_span/
  66. pw_status/
  67. pw_stm32cube_build/
  68. pw_stream/
  69. pw_string/
  70. pw_sync/
  71. pw_sync_baremetal/
  72. pw_sync_embos/
  73. pw_sync_freertos/
  74. pw_sync_stl/
  75. pw_sync_threadx/
  76. pw_sys_io/
  77. pw_sys_io_arduino/
  78. pw_sys_io_baremetal_lm3s6965evb/
  79. pw_sys_io_baremetal_stm32f429/
  80. pw_sys_io_stdio/
  81. pw_target_runner/
  82. pw_thread/
  83. pw_thread_embos/
  84. pw_thread_freertos/
  85. pw_thread_stl/
  86. pw_thread_threadx/
  87. pw_tls_client/
  88. pw_tls_client_boringssl/
  89. pw_tls_client_mbedtls/
  90. pw_tokenizer/
  91. pw_tool/
  92. pw_toolchain/
  93. pw_trace/
  94. pw_trace_tokenized/
  95. pw_transfer/
  96. pw_unit_test/
  97. pw_varint/
  98. pw_watch/
  99. pw_web_ui/
  100. targets/
  101. third_party/
  102. .bazelignore
  103. .bazelrc
  104. .clang-format
  105. .eslintrc.json
  106. .gitattributes
  107. .gitignore
  108. .gn
  109. .prettierrc.js
  110. .pylintrc
  111. activate.bat
  112. AUTHORS
  113. bootstrap.bat
  114. bootstrap.sh
  115. BUILD.bazel
  116. BUILD.gn
  117. BUILDCONFIG.gn
  118. CMakeLists.txt
  119. LICENSE
  120. modules.gni
  121. OWNERS
  122. package.json
  123. PW_PLUGINS
  124. README.md
  125. tsconfig.json
  126. WORKSPACE
  127. yarn.lock
README.md

See our website: http://pigweed.dev