[PATCH v2 0/5] Add support for SM3 secure hash
Heiko Schocher
hs at nabladev.com
Tue Nov 11 06:48:07 CET 2025
Add SM3 secure hash, as specified by OSCCA GM/T 0004-2012 SM3 and described
at https://datatracker.ietf.org/doc/html/draft-sca-cfrg-sm3-02
TPMv2 defines hash algo sm3_256, which is currently
not supported and prevented TPMv2 chip with newer
firmware to work with U-Boot. Seen this on a ST33TPHF2XI2C
u-boot=> tpm2 init
u-boot=> tpm2 autostart
tpm2_get_pcr_info: too many pcrs: 5
Error: -90
u-boot=>
Implement sm3 hash, so we can fix this problem.
Azure build:
https://dev.azure.com/hs0298/hs/_build/results?buildId=190&view=results
Changes in v2:
rebase to
6b27b688694: ("Merge branch 'master' of https://source.denx.de/u-boot/custodians/u-boot-sh")
add Ilias to Series-cc
add sm3_hash to header file, so we can use it.
add comments from Ilias
- use ARRAY_SIZE(hash_algo_list) instead of a fix number
in tpm2_get_pcr_info() for the count of supported hashes
in U-Boot.
- add SM3 hash in tpm_tcg2
Added Reviewed-by tag from Heinrich
Heiko Schocher (5):
lib: Import rol32 function from Linux
lib: implement sm3 256 hash
test: cmd: hash: add unit test for sm3_256
tpm2: add sm3 256 hash support
test: cmd: fix a typo in md5 test
MAINTAINERS | 7 +
boot/Kconfig | 1 +
cmd/Kconfig | 15 ++
cmd/Makefile | 1 +
cmd/sm3sum.c | 48 +++++++
cmd/tpm-v2.c | 1 +
common/hash.c | 43 +++++-
include/linux/bitops.h | 11 ++
include/tpm-v2.h | 12 ++
include/u-boot/sm3.h | 35 +++++
lib/Kconfig | 7 +
lib/Makefile | 1 +
lib/sm3.c | 313 +++++++++++++++++++++++++++++++++++++++++
lib/tpm-v2.c | 4 +-
lib/tpm_tcg2.c | 9 ++
test/cmd/hash.c | 48 ++++++-
16 files changed, 552 insertions(+), 4 deletions(-)
create mode 100644 cmd/sm3sum.c
create mode 100644 include/u-boot/sm3.h
create mode 100644 lib/sm3.c
--
2.20.1
base-commit: 9094482ca7576877b2bfaa57c8e73cfeb536f8b9
More information about the U-Boot
mailing list