TCG Algorithm Registry Family "2.0"
Total Page:16
File Type:pdf, Size:1020Kb
TCG Algorithm Registry Family “2.0" Level 00 Revision 01.22 February 9, 2015 Published Contact: [email protected] TCG Published TCG Copyright © TCG 2015 TCG Algorithm Registry Disclaimers, Notices, and License Terms THIS SPECIFICATION IS PROVIDED "AS IS" WITH NO WARRANTIES WHATSOEVER, INCLUDING ANY WARRANTY OF MERCHANTABILITY, NONINFRINGEMENT, FITNESS FOR ANY PARTICULAR PURPOSE, OR ANY WARRANTY OTHERWISE ARISING OUT OF ANY PROPOSAL, SPECIFICATION OR SAMPLE. Without limitation, TCG disclaims all liability, including liability for infringement of any proprietary rights, relating to use of information in this specification and to the implementation of this specification, and TCG disclaims all liability for cost of procurement of substitute goods or services, lost profits, loss of use, loss of data or any incidental, consequential, direct, indirect, or special damages, whether under contract, tort, warranty or otherwise, arising in any way out of use or reliance upon this specification or any information herein. This document is copyrighted by Trusted Computing Group (TCG), and no license, express or implied, is granted herein other than as follows: You may not copy or reproduce the document or distribute it to others without written permission from TCG, except that you may freely do so for the purposes of (a) examining or implementing TCG specifications or (b) developing, testing, or promoting information technology standards and best practices, so long as you distribute the document with these disclaimers, notices, and license terms. Contact the Trusted Computing Group at www.trustedcomputinggroup.org for information on specification licensing through membership agreements. Any marks and brands contained herein are the property of their respective owners. Page ii Family “2.0" February 9, 2015 Copyright © TCG 2015 Level 00 Revision 01.22 TCG Algorithm Registry CONTENTS 1 Introduction .......................................................................................................................... 1 2 Conventions ......................................................................................................................... 2 2.1 Bit and Octet Numbering and Order ........................................................................... 2 2.2 Sized Buffer References ............................................................................................ 3 2.3 Numbers .................................................................................................................... 3 3 Notation ................................................................................................................................ 4 3.1 Named Constants ....................................................................................................... 4 3.2 Enumerations ............................................................................................................. 4 3.3 Bit Field Definitions .................................................................................................... 4 3.4 Name Prefix Convention ............................................................................................. 5 4 TPM_ALG_ID ....................................................................................................................... 5 5 ECC Values ........................................................................................................................ 10 5.1 Curve ID Values ....................................................................................................... 10 5.2 Curve Parameters .................................................................................................... 11 5.2.1 Introduction ..................................................................................................... 11 5.2.2 NIST P192 ...................................................................................................... 11 5.2.3 NIST P224 ...................................................................................................... 12 5.2.4 NIST P256 ...................................................................................................... 13 5.2.5 NIST P384 ...................................................................................................... 14 5.2.6 NIST P521 ...................................................................................................... 15 5.2.7 BN P256 ......................................................................................................... 16 5.2.8 BN P638 ......................................................................................................... 17 5.2.9 SM2_P256 ...................................................................................................... 18 6 Hash Parameters ................................................................................................................ 19 6.1 Introduction .............................................................................................................. 19 6.2 SHA1 ....................................................................................................................... 19 6.3 SHA256 ................................................................................................................... 19 6.4 SHA384 ................................................................................................................... 19 6.5 SHA512 ................................................................................................................... 20 6.6 SM3_256.................................................................................................................. 20 6.7 Hash Algorithms Bit Field ......................................................................................... 20 7 Symmetric Block Cipher Parameters ................................................................................... 21 7.1 Introduction .............................................................................................................. 21 7.2 AES ......................................................................................................................... 21 7.3 SM4 ......................................................................................................................... 21 7.4 Camellia ................................................................................................................... 21 Annex A — Applicability of this Registry for Other TCG Specifications ....................................... 22 Annex B — Bibliography ............................................................................................................ 24 Family “2.0" Page iii Level 00 Revision 01.22 Copyright © TCG 2015 February 9, 2015 TCG Algorithm Registry TCG Algorithm Registry 1 Introduction The Algorithm Registry lists each algorithm assigned an identifier, allowing it to be unambiguously defined and referenced by other TCG specifications. This document is a compendium of data related to the various algorithms used in specifications created by the Trusted Computing Group (TCG). The compendium of algorithm data is intended to ensure interoperability between devices built to be compliant with TCG specifications. Many TCG specifications use a layered architecture where a single “library” specification on a bottom layer may be used by numerous platform specific middle layers (e.g. PC Client or Mobile Platform) to enable a variety of top level use cases. TCG specifications support products and solutions for numerous markets with varied requirements for commercial usefulness including features, security, interoperability, globalization, performance, regulatory requirements, compatibility, compliance, intellectual property rights, certification, etc. TCG as an organization does not perform cryptographic analysis of algorithms. The presence of an algorithm in the registry does not endorse its use by TCG for any specific use case or indicate an algorithm’s acceptability for meeting any particular requirement set. The TCG endeavors to provide a variety of algorithms of varying strength for various commercial purposes. Ultimately, the TCG adds algorithms to its registry based on the needs of its membership. Security is built into an increasing number of general purpose Information and Communications Technology (ICT) products, and security standards are fundamental to the integrity and sustainability of the global ICT infrastructure. The Trusted Computing Group (TCG) believes that open, interoperable, and internationally vetted standards are critical for the success of trusted computing, and that the multilateral approach to creating such standards is most effective. TCG recognizes international standards in the field of IT security as the most appropriate method to ensure efficacy, interoperability, adoption and user acceptance. TCG takes into consideration international market requirements through international membership and welcomes participation from industry, academia, and governments in a unified, worldwide Trusted Computing standards development process. Commercial implementation of TCG standards is managed by individual product and service providers. Implementers or adopters of any solution using TCG specifications must carefully assess the appropriateness of any algorithms or TCG specification for satisfying their goals. In assessing algorithms, TCG recommends implementers and adopters diligently evaluate available information