wolfTPM: A highly portable TPM 2.0 library, designed for embedded use
wolfTPM is a portable TPM 2.0 software library designed for embedded systems, supporting a wide range of TPM 2.0 functionalities and hardware modules. It enables secure cryptographic operations such as key generation, encryption, attestation, and post-quantum cryptography through a compact, dependency-free codebase. The project includes a firmware-based TPM implementation (fwTPM) for platforms without discrete TPM chips and supports multiple operating environments and hardware interfaces.
Opening excerpt (first ~120 words) tap to expand
wolfTPM (TPM 2.0) Portable TPM 2.0 project designed for embedded use. Project Features This implementation provides all TPM 2.0 API's in compliance with the specification. Wrappers provided to simplify Key Generation/Loading, RSA encrypt/decrypt, ECC sign/verify, ECDH, NV, Hashing/HACM, AES, Sealing/Unsealing, Attestation, PCR Extend/Quote and Secure Root of Trust. Any TPM 2.0 compliant module is supported. Tested modules include Infineon SLB9670, SLB9672, SLB9673, STMicroelectronics ST33KTPM2XSPI, ST33KTPM2I, ST33TPHF2XSPI, ST33TPHF2XI2C, Microchip ATTPM20, Nations Technologies/NSING Z32H330, NS350, and Nuvoton NPCT650, NPCT750. wolfTPM uses the TPM Interface Specification (TIS) to communicate either over SPI, or using a memory mapped I/O range.
…
Excerpt limited to ~120 words for fair-use compliance. The full article is at GitHub.