- Introduction
- Library Architecture
- Tpm BigNum Library
- Tpm Crypto Libraries
- Tpm Math Library
- Tpm Platform API
This documentation describes the TPM Reference Code contained in this repository. It describes the code's implementation in terms of its technical architecture and layout.
Certain parts of the Reference code, as published in the Trusted Computing Group TPM2.0 specification (see References) are NORMATIVE to the TPM 2.0 Specification. As detailed in the Specification, it is the behavior of the code (vis-a-vis the implementation) that is normative.
"This documentation" or "this document" refers to the combined documentation in this repository which is informative and describes this particular implementation. This documentation is not part of the TCG TPM 2.0 specification.
This documentation assumes the reader is well versed in the relevant cryptographic concepts and terminology and may not necessarily explain common terms or abbreviations.
Mathematical formulae in this document use the caret ^ to indicate
exponentiation operations unless otherwise noted. For example: 2^3 = 8.
This differs from the XOR meaning of ^ in C code.
| Term | Meaning |
|---|---|
| ECC | Elliptic Curve Cryptography (not Error Correction Coding) |
| RSA | The RSA cryptographic algorithm and related topics |
| TCG | Trusted Computing Group. |
These references are links to the current versions at the time of this writing, but may not be the most current. All references in any part of this documentation will refer to this list by number.
- Latest TCG TPM 2.0 Specification
- TPM2 Specification Part 1 - Architecture v1.83
- TPM2 Specification Part 2 - Structures v1.83
- TPM2 Specification Part 3 - Commands v1.83
- TPM2 Specification Part 4 - Supporting Routines v1.83
- TCG PC Client Platform Firmware Profile Specification v1.05 r23
- TCG PC Client Platform TPM Profile v1.05 r14