Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Rework the encoding of asymmetric key types #196

Merged
merged 2 commits into from
Sep 3, 2024

Conversation

athoelke
Copy link
Contributor

@athoelke athoelke commented Apr 5, 2024

This provides more flexibility to allocate additional asymmetric key types for PAKE and PQC algorithms.

Allocate the top bit of the FAMILY field to the ASYM-TYPE field. This makes FAMILY 6 bits and ASYM-TYPE 5.

The top bit of FAMILY was previously for IMPDEF families, but support for IMPDEF key types is already provided via bit 15 in the type. So it was not used in any specification defined family values.

Defined ASYM-TYPE 0 to be a category of non-parameterized asymmetric keys, including RSA.

  • Updated the ECC family and DH family definitions. Also added clarification about the inclusion of the parity bit.
  • Updated all relevant sections of the encoding appendix, including the bit field graphics and ASYM-TYPE values in the tables.
  • Updated the example macros in the appendix to mask FAMILY and ASYM-TYPE fields correctly.

Fixes #109

@athoelke athoelke added enhancement New feature or request API design Related the design of the API Crypto API Issue or PR related to the Cryptography API labels Apr 5, 2024
@athoelke athoelke added this to the Crypto API 1.3 milestone Apr 5, 2024
@athoelke athoelke self-assigned this Apr 5, 2024
@athoelke athoelke force-pushed the crypto-asymmetric-key-encoding branch from 24f5ff1 to 5300ed5 Compare May 10, 2024 13:05
This is an artefact of the original documentation generation tooling.
This provides more flexibility to allocate additional asymmetric key types for PAKE and PQC algorithms.

Allocate the top bit of the FAMILY field to the ASYM-TYPE field. This makes FAMILY 6 bits and ASYM-TYPE 5.

The top bit of FAMILY was previously for IMPDEF families, but support for IMPDEF key types is already provided via bit 15 in the type. So it was not used in any specification defined family values.

Defined ASYM-TYPE 0 to be a category of non-parameterized asymmetric keys, including RSA.

* Updated the ECC family and DH family definitions. Also added clarification about the inclusion of the parity bit.
* Updated all relevant sections of the encoding appendix, including the bit field graphics and ASYM-TYPE values in the tables.
* Updated the example macros in the appendix to mask FAMILY and ASYM-TYPE fields correctly.
@athoelke athoelke force-pushed the crypto-asymmetric-key-encoding branch from 5300ed5 to bfe9485 Compare September 3, 2024 15:43
@athoelke athoelke merged commit 1175e98 into ARM-software:main Sep 3, 2024
@athoelke athoelke deleted the crypto-asymmetric-key-encoding branch September 3, 2024 15:49
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
API design Related the design of the API Crypto API Issue or PR related to the Cryptography API enhancement New feature or request
Projects
Development

Successfully merging this pull request may close these issues.

Compatible reworking of asymmetric key type encoding
1 participant