The First Firmware TPM with Post-Quantum Cryptography

ML-DSA and ML-KEM for Software TPM 2.0 on Embedded Targets

A First in Embedded Security: Post-Quantum Firmware TPM

wolfSSL is excited to announce that our firmware TPM (fPM), a software TPM 2.0 implementation built on wolfCrypt, will be among the first firmware TPMs with post-quantum cryptography support, implementing the new TCG TPM 2.0 Library Specification v1.85 alongside ML-DSA and ML-KEM post-quantum algorithms.
If your product needs a TPM 2.0 interface but doesn’t have room for a discrete TPM chip, such as embedded MCUs, edge IoT devices, automotive ECUs, bootloaders, or secure firmware update pipelines, wolfTPM’s fTPM provides a portable, fully-featured TPM 2.0 server built on wolfSSL’s cryptographic core. And soon, it will be quantum-safe.

Why This Matters

Hardware TPM chips from the major vendors will eventually ship with post-quantum support, but that rollout will take years, and discrete TPMs are not an option for every product form factor. Firmware TPMs fill that gap today, and a post-quantum firmware TPM closes the PQC gap without any board redesign. You just update your software.
With wolfTPM’s fTPM PQC support, you will be able to:

  • Generate, sign, and verify using ML-DSA primary and ordinary keys at all three NIST parameter sets (44 / 65 / 87)
  • Perform ML-KEM encapsulation and decapsulation at all three parameter sets (512 / 768 / 1024)
  • Use the full v1.85 command set: TPM2_Encapsulate, Decapsulate, SignDigest, SignSequenceStart, SignSequenceComplete, VerifyDigestSignature, VerifySequenceStart, VerifySequenceComplete
  • Persist PQC keys to NV storage, survive TPM restart, and use them via the full TPM 2.0 authorization model
  • Run all of the above on Cortex-M33 bare-metal, STM32 secure enclaves, Linux, and any POSIX-capable target

Post-Quantum Commands

Command Description
TPM2_Encapsulate ML-KEM key encapsulation
TPM2_Decapsulate ML-KEM key decapsulation
TPM2_SignSequenceStart ML-DSA signing for arbitrarily-sized messages
TPM2_SignSequenceComplete ML-DSA sign sequence completion
TPM2_VerifySequenceStart ML-DSA verification start
TPM2_VerifySequenceComplete ML-DSA verification completion
TPM2_SignDigest Hash-ML-DSA pre-hashed signing
TPM2_VerifyDigestSignature Hash-ML-DSA pre-hashed verification

Supported parameter sets:

Algorithm FIPS Standard Parameter Sets
ML-KEM FIPS 203 ML-KEM-512 / 768 / 1024
ML-DSA FIPS 204 ML-DSA-44 / 65 / 87

What’s Under the Hood

fTPM is built on wolfCrypt, the FIPS 140-3 in-process lab cryptographic core that also drives wolfSSL’s TLS 1.3 post-quantum support. This means:

  • FIPS 203 / 204 compliance: Algorithm behavior matches NIST’s final standards, validated against NIST ACVP test vectors
  • Deterministic keygen from hierarchy seed: PQC primary keys derive deterministically from the TPM’s primary seed using KDFa, keeping fTPM’s cold-boot recovery model intact
  • Zero dynamic allocation in hot paths: Ready for bare-metal, RTOS, and memory-constrained targets
  • Portable transports: mssim socket for local testing, TIS/SHM for embedded bus emulation, UART for serial-only devices

Firmware TPM vs Hardware TPM

fTPM (Software) Hardware TPM
PQC availability Now (wolfTPM) Years away

Board redesign needed No Yes (new chip)

Cost per unit $0 (software) $1–$5+ (BOM)

Tamper resistance Software-based Physical

Bare-metal support Yes Yes

FIPS crypto path Yes (wolfCrypt) Vendor-dependent

Full TPM 2.0 API Yes Yes

A firmware TPM is not a replacement for a hardware TPM in high-assurance environments that require physical tamper resistance. It is the right choice when a discrete chip is not available, not practical, or when you need PQC today without waiting for silicon vendors to catch up.

Target Platforms

wolfTPM’s fTPM with PQC support runs on:

  • ARM Cortex-M33 bare-metal (STM32L5, STM32U5, and similar TrustZone-capable MCUs)
  • STM32 secure enclaves and TrustZone-M partitions
  • Linux (user-space daemon with mssim or /dev/tpm0 interface)
  • Any POSIX-capable target (FreeBSD, QNX, VxWorks)
  • RTOS environments (FreeRTOS, Zephyr, ThreadX) via wolfSSL’s RTOS abstraction layer

Ready to Be First to Ship PQC in Firmware?

wolfTPM fTPM with post-quantum support is in active development. You can follow the implementation in the pull request: wolfSSL/wolfTPM#445: TPM 2.0 v1.85 Post-Quantum Support.
We’re working with customers now for early access, integration support, and design consultation on how best to deploy a firmware TPM with quantum-safe algorithms.
If your product roadmap includes PQC migration, or if you’re designing a product today that needs to survive into the quantum era, get in touch.

Contact us at facts@wolfssl.com

Watch this space for the full announcement, implementation details, and our companion blog post on TPM 2.0 v1.85 post-quantum support in the wolfTPM client library.

If you have questions about any of the above, please contact us at +1 425 245 8247

Download wplfSSL Now