diff --git a/doc/crypto/api/keys/types.rst b/doc/crypto/api/keys/types.rst index 77c3ca87..77344e5d 100644 --- a/doc/crypto/api/keys/types.rst +++ b/doc/crypto/api/keys/types.rst @@ -739,12 +739,21 @@ The curve type affects the key format, the key derivation procedure, and the alg The range of elliptic curve family identifier values is divided as follows: :code:`0x00` - Reserved. Not allocated to an ECC family. + Reserved. + Not allocated to an ECC family. :code:`0x01 - 0x7f` ECC family identifiers defined by this standard. Unallocated values in this range are reserved for future use. :code:`0x80 - 0xff` - Implementations that define additional families must use an encoding in this range. + Invalid. + Values in this range must not be used. + + The least significant bit of a elliptic curve family identifier is a parity bit for the whole key type. + See :secref:`asymmetric-key-encoding` for details of the encoding of asymmetric key types. + + .. admonition:: Implementation note + + To provide other elliptic curve families, it is recommended that an implementation defines a key type with bit 15 set, which indicates an :scterm:`implementation defined` key type. .. macro:: PSA_KEY_TYPE_ECC_KEY_PAIR :definition: /* specification-defined value */ @@ -1156,12 +1165,21 @@ Diffie Hellman keys The range of Diffie-Hellman group family identifier values is divided as follows: :code:`0x00` - Reserved. Not allocated to a DH group family. + Reserved. + Not allocated to a DH group family. :code:`0x01 - 0x7f` DH group family identifiers defined by this standard. Unallocated values in this range are reserved for future use. :code:`0x80 - 0xff` - Implementations that define additional families must use an encoding in this range. + Invalid. + Values in this range must not be used. + + The least significant bit of a Diffie-Hellman group family identifier is a parity bit for the whole key type. + See :secref:`asymmetric-key-encoding` for details of the encoding of asymmetric key types. + + .. admonition:: Implementation note + + To provide other Diffie-Hellman group families, it is recommended that an implementation defines a key type with bit 15 set, which indicates an :scterm:`implementation defined` key type. .. macro:: PSA_KEY_TYPE_DH_KEY_PAIR :definition: /* specification-defined value */ diff --git a/doc/crypto/appendix/encodings.rst b/doc/crypto/appendix/encodings.rst index 79959901..a1784f9a 100644 --- a/doc/crypto/appendix/encodings.rst +++ b/doc/crypto/appendix/encodings.rst @@ -558,6 +558,8 @@ PAIR is either 0 for a public key, or 3 for a key pair. The defined values for ASYM-TYPE are shown in :numref:`table-asymmetric-type`. +The defined values for FAMILY depend on the ASYM-TYPE value. See the details for each asymmetric key sub-type. + .. csv-table:: Asymmetric key sub-type values :name: table-asymmetric-type :header-rows: 1 @@ -565,48 +567,48 @@ The defined values for ASYM-TYPE are shown in :numref:`table-asymmetric-type`. :widths: auto Asymmetric key type, ASYM-TYPE, Details - RSA, 0, See :secref:`rsa-key-encoding` - Elliptic Curve, 1, See :secref:`ecc-key-encoding` - Diffie-Hellman, 2, See :secref:`dh-key-encoding` - SPAKE2+, 4, See :secref:`spakep2-key-encoding` + Non-parameterized, 0, See :secref:`simple-asymmetric-key-encoding` + Elliptic Curve, 2, See :secref:`ecc-key-encoding` + Diffie-Hellman, 4, See :secref:`dh-key-encoding` + SPAKE2+, 8, See :secref:`spakep2-key-encoding` -.. _rsa-key-encoding: +.. _simple-asymmetric-key-encoding: -RSA key encoding -^^^^^^^^^^^^^^^^ +Non-parameterized asymmetric key encoding +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -The key type for RSA keys defined in this specification are encoded as shown in :numref:`fig-rsa-key-fields`. +The key type for non-parameterized asymmetric keys defined in this specification are encoded as shown in :numref:`fig-np-key-fields`. -.. figure:: ../figure/encoding/rsa_key.* - :name: fig-rsa-key-fields +.. figure:: ../figure/encoding/np_key.* + :name: fig-np-key-fields - RSA key encoding + Non-parameterized asymmetric keys encoding PAIR is either 0 for a public key, or 3 for a key pair. -The defined values for RSA keys are shown in :numref:`table-rsa-type`. +The defined values for NP-FAMILY and P are shown in :numref:`table-np-type`. -.. csv-table:: RSA key values - :name: table-rsa-type +.. csv-table:: Non-parameterized asymmetric key family values + :name: table-np-type :header-rows: 1 :align: left :widths: auto - RSA key type, Key type, Key type value - Public key, `PSA_KEY_TYPE_RSA_PUBLIC_KEY`, ``0x4001`` - Key pair, `PSA_KEY_TYPE_RSA_KEY_PAIR`, ``0x7001`` + Key family, Public/pair, PAIR, NP-FAMILY, P, Key type, Key value + RSA, Public key, 0, 0, 1, `PSA_KEY_TYPE_RSA_PUBLIC_KEY`, ``0x4001`` + , Key pair, 3, 0, 1, `PSA_KEY_TYPE_RSA_KEY_PAIR`, ``0x7001`` .. _ecc-key-encoding: -Elliptic Curve key encoding +Elliptic curve key encoding ^^^^^^^^^^^^^^^^^^^^^^^^^^^ -The key type for Elliptic Curve keys defined in this specification are encoded as shown in :numref:`fig-ecc-key-fields`. +The key type for elliptic curve keys defined in this specification are encoded as shown in :numref:`fig-ecc-key-fields`. .. figure:: ../figure/encoding/ecc_key.* :name: fig-ecc-key-fields - Elliptic Curve key encoding + Elliptic curve key encoding PAIR is either 0 for a public key, or 3 for a key pair. @@ -630,7 +632,7 @@ The defined values for ECC-FAMILY and P are shown in :numref:`table-ecc-type`. Montgomery, 0x20, 1, `PSA_ECC_FAMILY_MONTGOMERY`, ``0x4141``, ``0x7141`` Twisted Edwards, 0x21, 0, `PSA_ECC_FAMILY_TWISTED_EDWARDS`, ``0x4142``, ``0x7142`` -a. The key type value is constructed from the Elliptic Curve family using either :code:`PSA_KEY_TYPE_ECC_PUBLIC_KEY(family)` or :code:`PSA_KEY_TYPE_ECC_KEY_PAIR(family)` as required. +a. The elliptic curve family values defined in the API also include the parity bit. The key type value is constructed from the elliptic curve family using either :code:`PSA_KEY_TYPE_ECC_PUBLIC_KEY(family)` or :code:`PSA_KEY_TYPE_ECC_KEY_PAIR(family)` as required. .. _dh-key-encoding: @@ -657,12 +659,12 @@ The defined values for DH-FAMILY and P are shown in :numref:`table-dh-type`. DH key group, DH-FAMILY, P, DH group :sup:`a`, Public key value, Key pair value RFC7919, 0x01, 1, `PSA_DH_FAMILY_RFC7919`, ``0x4203``, ``0x7203`` -a. The key type value is constructed from the Diffie Hellman family using either :code:`PSA_KEY_TYPE_DH_PUBLIC_KEY(family)` or :code:`PSA_KEY_TYPE_DH_KEY_PAIR(family)` as required. +a. The Diffie Hellman family values defined in the API also include the parity bit. The key type value is constructed from the Diffie Hellman family using either :code:`PSA_KEY_TYPE_DH_PUBLIC_KEY(family)` or :code:`PSA_KEY_TYPE_DH_KEY_PAIR(family)` as required. .. _spakep2-key-encoding: SPAKE2+ key encoding -~~~~~~~~~~~~~~~~~~~~ +^^^^^^^^^^^^^^^^^^^^ The key type for SPAKE2+ keys defined in this specification are encoded as shown in :numref:`fig-spake2p-key-fields`. @@ -685,4 +687,5 @@ The defined values for ECC-FAMILY and P are shown in :numref:`table-spake2p-type SECP R1, 0x09, 0, :code:`PSA_ECC_FAMILY_SECP_R1`, ``0x4412``, ``0x7412`` Twisted Edwards, 0x21, 0, :code:`PSA_ECC_FAMILY_TWISTED_EDWARDS`, ``0x4442``, ``0x7442`` -a. The key type value is constructed from the Elliptic Curve family using either :code:`PSA_KEY_TYPE_SPAKE2P_PUBLIC_KEY(family)` or :code:`PSA_KEY_TYPE_SPAKE2P_KEY_PAIR(family)` as required. +a. The elliptic curve family values defined in the API also include the parity bit. + The key type value is constructed from the elliptic curve family using either :code:`PSA_KEY_TYPE_SPAKE2P_PUBLIC_KEY(family)` or :code:`PSA_KEY_TYPE_SPAKE2P_KEY_PAIR(family)` as required. diff --git a/doc/crypto/appendix/history.rst b/doc/crypto/appendix/history.rst index db1cd15c..182bcfa8 100644 --- a/doc/crypto/appendix/history.rst +++ b/doc/crypto/appendix/history.rst @@ -16,6 +16,18 @@ Changes between *1.2.1* and *1.3.0* :issue:`TBD` +API changes +~~~~~~~~~~~ + +* Reworked the allocation of bits in the encoding of asymmetric keys, to increase the scope for additional asymmetric key types: + + - Bit 7 was previously an unused indicator for :sc:`implementation defined` family values, and is now allocated to the ASYM-TYPE. + - ASYM-TYPE 0 is now a category for non-parameterized asymmetric keys, of which RSA is one specific type. + + This has no effect on any currently allocated key type values, but affects the correct implementation of macros used to manipulate asymmetric key types. + + See :secref:`asymmetric-key-encoding` and :secref:`appendix-specdef-key-values`. + Other changes ~~~~~~~~~~~~~ diff --git a/doc/crypto/appendix/specdef_values.rst b/doc/crypto/appendix/specdef_values.rst index a6b4996d..11d1ea2d 100644 --- a/doc/crypto/appendix/specdef_values.rst +++ b/doc/crypto/appendix/specdef_values.rst @@ -246,6 +246,8 @@ Algorithm macros #define PSA_PAKE_PRIMITIVE_GET_TYPE(pake_primitive) \ ((psa_pake_primitive_type_t)((pake_primitive >> 24) & 0xFF)) +.. _appendix-specdef-key-values: + Key type macros ~~~~~~~~~~~~~~~ @@ -255,43 +257,43 @@ Key type macros (1u << (((type) >> 8) & 7)) #define PSA_KEY_TYPE_DH_GET_FAMILY(type) \ - ((psa_dh_family_t) ((type) & 0x00ff)) + ((psa_dh_family_t) ((type) & 0x007f)) #define PSA_KEY_TYPE_DH_KEY_PAIR(group) \ - ((psa_key_type_t) (0x7200 | (group))) + ((psa_key_type_t) (0x7200 | ((group) & 0x007f))) #define PSA_KEY_TYPE_DH_PUBLIC_KEY(group) \ - ((psa_key_type_t) (0x4200 | (group))) + ((psa_key_type_t) (0x4200 | ((group) & 0x007f))) #define PSA_KEY_TYPE_ECC_GET_FAMILY(type) \ - ((psa_ecc_family_t) ((type) & 0x00ff)) + ((psa_ecc_family_t) ((type) & 0x007f)) #define PSA_KEY_TYPE_ECC_KEY_PAIR(curve) \ - ((psa_key_type_t) (0x7100 | (curve))) + ((psa_key_type_t) (0x7100 | ((curve) & 0x007f))) #define PSA_KEY_TYPE_ECC_PUBLIC_KEY(curve) \ - ((psa_key_type_t) (0x4100 | (curve))) + ((psa_key_type_t) (0x4100 | ((curve) & 0x007f))) #define PSA_KEY_TYPE_IS_ASYMMETRIC(type) \ (((type) & 0x4000) == 0x4000) #define PSA_KEY_TYPE_IS_DH(type) \ - ((PSA_KEY_TYPE_PUBLIC_KEY_OF_KEY_PAIR(type) & 0xff00) == 0x4200) + ((PSA_KEY_TYPE_PUBLIC_KEY_OF_KEY_PAIR(type) & 0xff80) == 0x4200) #define PSA_KEY_TYPE_IS_DH_KEY_PAIR(type) \ - (((type) & 0xff00) == 0x7200) + (((type) & 0xff80) == 0x7200) #define PSA_KEY_TYPE_IS_DH_PUBLIC_KEY(type) \ - (((type) & 0xff00) == 0x4200) + (((type) & 0xff80) == 0x4200) #define PSA_KEY_TYPE_IS_ECC(type) \ - ((PSA_KEY_TYPE_PUBLIC_KEY_OF_KEY_PAIR(type) & 0xff00) == 0x4100) + ((PSA_KEY_TYPE_PUBLIC_KEY_OF_KEY_PAIR(type) & 0xff80) == 0x4100) #define PSA_KEY_TYPE_IS_ECC_KEY_PAIR(type) \ - (((type) & 0xff00) == 0x7100) + (((type) & 0xff80) == 0x7100) #define PSA_KEY_TYPE_IS_ECC_PUBLIC_KEY(type) \ - (((type) & 0xff00) == 0x4100) + (((type) & 0xff80) == 0x4100) #define PSA_KEY_TYPE_IS_KEY_PAIR(type) \ (((type) & 0x7000) == 0x7000) @@ -303,13 +305,13 @@ Key type macros (PSA_KEY_TYPE_PUBLIC_KEY_OF_KEY_PAIR(type) == 0x4001) #define PSA_KEY_TYPE_IS_SPAKE2P(type) \ - ((PSA_KEY_TYPE_PUBLIC_KEY_OF_KEY_PAIR(type) & 0xff00) == 0x4400) + ((PSA_KEY_TYPE_PUBLIC_KEY_OF_KEY_PAIR(type) & 0xff80) == 0x4400) #define PSA_KEY_TYPE_IS_SPAKE2P_KEY_PAIR(type) \ - (((type) & 0xff00) == 0x7400) + (((type) & 0xff80) == 0x7400) #define PSA_KEY_TYPE_IS_SPAKE2P_PUBLIC_KEY(type) \ - (((type) & 0xff00) == 0x4400) + (((type) & 0xff80) == 0x4400) #define PSA_KEY_TYPE_IS_UNSTRUCTURED(type) \ (((type) & 0x7000) == 0x1000 || ((type) & 0x7000) == 0x2000) @@ -321,13 +323,13 @@ Key type macros ((psa_key_type_t) ((type) & ~0x3000)) #define PSA_KEY_TYPE_SPAKE2P_GET_FAMILY(type) \ - ((psa_ecc_family_t) ((type) & 0x00ff)) + ((psa_ecc_family_t) ((type) & 0x007f)) #define PSA_KEY_TYPE_SPAKE2P_KEY_PAIR(curve) \ - ((psa_key_type_t) (0x7400 | (curve))) + ((psa_key_type_t) (0x7400 | ((curve) & 0x007f))) #define PSA_KEY_TYPE_SPAKE2P_PUBLIC_KEY(curve) \ - ((psa_key_type_t) (0x4400 | (curve))) + ((psa_key_type_t) (0x4400 | ((curve) & 0x007f))) Hash suspend state macros ~~~~~~~~~~~~~~~~~~~~~~~~~ diff --git a/doc/crypto/figure/encoding/asymmetric_key.json b/doc/crypto/figure/encoding/asymmetric_key.json index b2838d8f..5bc5decf 100644 --- a/doc/crypto/figure/encoding/asymmetric_key.json +++ b/doc/crypto/figure/encoding/asymmetric_key.json @@ -1,8 +1,8 @@ { "reg": [ { "name": "P", "bits": 1 }, - { "name": "FAMILY", "bits": 7 }, - { "name": "ASYM-TYPE", "bits": 4 }, + { "name": "FAMILY", "bits": 6 }, + { "name": "ASYM-TYPE", "bits": 5 }, { "name": "PAIR", "bits": 2 }, { "name": "1", "bits": 1 }, { "name": "0", "bits": 1 } @@ -15,4 +15,4 @@ "vspace": 52, "hspace": 300 } -} \ No newline at end of file +} diff --git a/doc/crypto/figure/encoding/asymmetric_key.json.license b/doc/crypto/figure/encoding/asymmetric_key.json.license index 70c4b2a6..f56444f8 100644 --- a/doc/crypto/figure/encoding/asymmetric_key.json.license +++ b/doc/crypto/figure/encoding/asymmetric_key.json.license @@ -1,2 +1,2 @@ -SPDX-FileCopyrightText: Copyright 2022 Arm Limited and/or its affiliates +SPDX-FileCopyrightText: Copyright 2022, 2024 Arm Limited and/or its affiliates SPDX-License-Identifier: CC-BY-SA-4.0 AND LicenseRef-Patent-license diff --git a/doc/crypto/figure/encoding/asymmetric_key.pdf b/doc/crypto/figure/encoding/asymmetric_key.pdf index 9e8835b6..932b1035 100644 Binary files a/doc/crypto/figure/encoding/asymmetric_key.pdf and b/doc/crypto/figure/encoding/asymmetric_key.pdf differ diff --git a/doc/crypto/figure/encoding/asymmetric_key.pdf.license b/doc/crypto/figure/encoding/asymmetric_key.pdf.license index 70c4b2a6..f56444f8 100644 --- a/doc/crypto/figure/encoding/asymmetric_key.pdf.license +++ b/doc/crypto/figure/encoding/asymmetric_key.pdf.license @@ -1,2 +1,2 @@ -SPDX-FileCopyrightText: Copyright 2022 Arm Limited and/or its affiliates +SPDX-FileCopyrightText: Copyright 2022, 2024 Arm Limited and/or its affiliates SPDX-License-Identifier: CC-BY-SA-4.0 AND LicenseRef-Patent-license diff --git a/doc/crypto/figure/encoding/asymmetric_key.svg b/doc/crypto/figure/encoding/asymmetric_key.svg index 66f17d7c..1316eaf8 100644 --- a/doc/crypto/figure/encoding/asymmetric_key.svg +++ b/doc/crypto/figure/encoding/asymmetric_key.svg @@ -1,2 +1,2 @@ -01781112131415PFAMILYASYM-TYPEPAIR10 \ No newline at end of file +01671112131415PFAMILYASYM-TYPEPAIR10 \ No newline at end of file diff --git a/doc/crypto/figure/encoding/asymmetric_key.svg.license b/doc/crypto/figure/encoding/asymmetric_key.svg.license index 70c4b2a6..f56444f8 100644 --- a/doc/crypto/figure/encoding/asymmetric_key.svg.license +++ b/doc/crypto/figure/encoding/asymmetric_key.svg.license @@ -1,2 +1,2 @@ -SPDX-FileCopyrightText: Copyright 2022 Arm Limited and/or its affiliates +SPDX-FileCopyrightText: Copyright 2022, 2024 Arm Limited and/or its affiliates SPDX-License-Identifier: CC-BY-SA-4.0 AND LicenseRef-Patent-license diff --git a/doc/crypto/figure/encoding/dh_key.json b/doc/crypto/figure/encoding/dh_key.json index 0a53687f..c59e970f 100644 --- a/doc/crypto/figure/encoding/dh_key.json +++ b/doc/crypto/figure/encoding/dh_key.json @@ -1,8 +1,8 @@ { "reg": [ { "name": "P", "bits": 1 }, - { "name": "DH-FAMILY", "bits": 7 }, - { "name": "2", "bits": 4 }, + { "name": "DH-FAMILY", "bits": 6 }, + { "name": "4", "bits": 5 }, { "name": "PAIR", "bits": 2 }, { "name": "1", "bits": 1 }, { "name": "0", "bits": 1 } @@ -15,4 +15,4 @@ "vspace": 52, "hspace": 300 } -} \ No newline at end of file +} diff --git a/doc/crypto/figure/encoding/dh_key.json.license b/doc/crypto/figure/encoding/dh_key.json.license index 70c4b2a6..f56444f8 100644 --- a/doc/crypto/figure/encoding/dh_key.json.license +++ b/doc/crypto/figure/encoding/dh_key.json.license @@ -1,2 +1,2 @@ -SPDX-FileCopyrightText: Copyright 2022 Arm Limited and/or its affiliates +SPDX-FileCopyrightText: Copyright 2022, 2024 Arm Limited and/or its affiliates SPDX-License-Identifier: CC-BY-SA-4.0 AND LicenseRef-Patent-license diff --git a/doc/crypto/figure/encoding/dh_key.pdf b/doc/crypto/figure/encoding/dh_key.pdf index 3e35d20d..9e54be3b 100644 Binary files a/doc/crypto/figure/encoding/dh_key.pdf and b/doc/crypto/figure/encoding/dh_key.pdf differ diff --git a/doc/crypto/figure/encoding/dh_key.pdf.license b/doc/crypto/figure/encoding/dh_key.pdf.license index 70c4b2a6..f56444f8 100644 --- a/doc/crypto/figure/encoding/dh_key.pdf.license +++ b/doc/crypto/figure/encoding/dh_key.pdf.license @@ -1,2 +1,2 @@ -SPDX-FileCopyrightText: Copyright 2022 Arm Limited and/or its affiliates +SPDX-FileCopyrightText: Copyright 2022, 2024 Arm Limited and/or its affiliates SPDX-License-Identifier: CC-BY-SA-4.0 AND LicenseRef-Patent-license diff --git a/doc/crypto/figure/encoding/dh_key.svg b/doc/crypto/figure/encoding/dh_key.svg index 2a3a81d6..f696368f 100644 --- a/doc/crypto/figure/encoding/dh_key.svg +++ b/doc/crypto/figure/encoding/dh_key.svg @@ -1,2 +1,2 @@ -01781112131415PDH-FAMILY2PAIR10 \ No newline at end of file +01671112131415PDH-FAMILY4PAIR10 \ No newline at end of file diff --git a/doc/crypto/figure/encoding/dh_key.svg.license b/doc/crypto/figure/encoding/dh_key.svg.license index 70c4b2a6..f56444f8 100644 --- a/doc/crypto/figure/encoding/dh_key.svg.license +++ b/doc/crypto/figure/encoding/dh_key.svg.license @@ -1,2 +1,2 @@ -SPDX-FileCopyrightText: Copyright 2022 Arm Limited and/or its affiliates +SPDX-FileCopyrightText: Copyright 2022, 2024 Arm Limited and/or its affiliates SPDX-License-Identifier: CC-BY-SA-4.0 AND LicenseRef-Patent-license diff --git a/doc/crypto/figure/encoding/ecc_key.json b/doc/crypto/figure/encoding/ecc_key.json index a2dbf424..7422fd5a 100644 --- a/doc/crypto/figure/encoding/ecc_key.json +++ b/doc/crypto/figure/encoding/ecc_key.json @@ -1,8 +1,8 @@ { "reg": [ { "name": "P", "bits": 1 }, - { "name": "ECC-FAMILY", "bits": 7 }, - { "name": "1", "bits": 4 }, + { "name": "ECC-FAMILY", "bits": 6 }, + { "name": "2", "bits": 5 }, { "name": "PAIR", "bits": 2 }, { "name": "1", "bits": 1 }, { "name": "0", "bits": 1 } @@ -15,4 +15,4 @@ "vspace": 52, "hspace": 300 } -} \ No newline at end of file +} diff --git a/doc/crypto/figure/encoding/ecc_key.json.license b/doc/crypto/figure/encoding/ecc_key.json.license index 70c4b2a6..f56444f8 100644 --- a/doc/crypto/figure/encoding/ecc_key.json.license +++ b/doc/crypto/figure/encoding/ecc_key.json.license @@ -1,2 +1,2 @@ -SPDX-FileCopyrightText: Copyright 2022 Arm Limited and/or its affiliates +SPDX-FileCopyrightText: Copyright 2022, 2024 Arm Limited and/or its affiliates SPDX-License-Identifier: CC-BY-SA-4.0 AND LicenseRef-Patent-license diff --git a/doc/crypto/figure/encoding/ecc_key.pdf b/doc/crypto/figure/encoding/ecc_key.pdf index 0e2f136c..17ba8eee 100644 Binary files a/doc/crypto/figure/encoding/ecc_key.pdf and b/doc/crypto/figure/encoding/ecc_key.pdf differ diff --git a/doc/crypto/figure/encoding/ecc_key.pdf.license b/doc/crypto/figure/encoding/ecc_key.pdf.license index 70c4b2a6..f56444f8 100644 --- a/doc/crypto/figure/encoding/ecc_key.pdf.license +++ b/doc/crypto/figure/encoding/ecc_key.pdf.license @@ -1,2 +1,2 @@ -SPDX-FileCopyrightText: Copyright 2022 Arm Limited and/or its affiliates +SPDX-FileCopyrightText: Copyright 2022, 2024 Arm Limited and/or its affiliates SPDX-License-Identifier: CC-BY-SA-4.0 AND LicenseRef-Patent-license diff --git a/doc/crypto/figure/encoding/ecc_key.svg b/doc/crypto/figure/encoding/ecc_key.svg index 7a1360c0..8747e770 100644 --- a/doc/crypto/figure/encoding/ecc_key.svg +++ b/doc/crypto/figure/encoding/ecc_key.svg @@ -1,2 +1,2 @@ -01781112131415PECC-FAMILY1PAIR10 \ No newline at end of file +01671112131415PECC-FAMILY2PAIR10 \ No newline at end of file diff --git a/doc/crypto/figure/encoding/ecc_key.svg.license b/doc/crypto/figure/encoding/ecc_key.svg.license index 70c4b2a6..f56444f8 100644 --- a/doc/crypto/figure/encoding/ecc_key.svg.license +++ b/doc/crypto/figure/encoding/ecc_key.svg.license @@ -1,2 +1,2 @@ -SPDX-FileCopyrightText: Copyright 2022 Arm Limited and/or its affiliates +SPDX-FileCopyrightText: Copyright 2022, 2024 Arm Limited and/or its affiliates SPDX-License-Identifier: CC-BY-SA-4.0 AND LicenseRef-Patent-license diff --git a/doc/crypto/figure/encoding/rsa_key.json b/doc/crypto/figure/encoding/np_key.json similarity index 71% rename from doc/crypto/figure/encoding/rsa_key.json rename to doc/crypto/figure/encoding/np_key.json index 75b39405..adf92ee1 100644 --- a/doc/crypto/figure/encoding/rsa_key.json +++ b/doc/crypto/figure/encoding/np_key.json @@ -1,8 +1,8 @@ { "reg": [ - { "name": "1", "bits": 1 }, - { "name": "0", "bits": 7 }, - { "name": "0", "bits": 4 }, + { "name": "P", "bits": 1 }, + { "name": "NP-FAMILY", "bits": 6 }, + { "name": "0", "bits": 5 }, { "name": "PAIR", "bits": 2 }, { "name": "1", "bits": 1 }, { "name": "0", "bits": 1 } @@ -15,4 +15,4 @@ "vspace": 52, "hspace": 300 } -} \ No newline at end of file +} diff --git a/doc/crypto/figure/encoding/np_key.json.license b/doc/crypto/figure/encoding/np_key.json.license new file mode 100644 index 00000000..f56444f8 --- /dev/null +++ b/doc/crypto/figure/encoding/np_key.json.license @@ -0,0 +1,2 @@ +SPDX-FileCopyrightText: Copyright 2022, 2024 Arm Limited and/or its affiliates +SPDX-License-Identifier: CC-BY-SA-4.0 AND LicenseRef-Patent-license diff --git a/doc/crypto/figure/encoding/np_key.pdf b/doc/crypto/figure/encoding/np_key.pdf new file mode 100644 index 00000000..844e85e9 Binary files /dev/null and b/doc/crypto/figure/encoding/np_key.pdf differ diff --git a/doc/crypto/figure/encoding/np_key.pdf.license b/doc/crypto/figure/encoding/np_key.pdf.license new file mode 100644 index 00000000..f56444f8 --- /dev/null +++ b/doc/crypto/figure/encoding/np_key.pdf.license @@ -0,0 +1,2 @@ +SPDX-FileCopyrightText: Copyright 2022, 2024 Arm Limited and/or its affiliates +SPDX-License-Identifier: CC-BY-SA-4.0 AND LicenseRef-Patent-license diff --git a/doc/crypto/figure/encoding/np_key.svg b/doc/crypto/figure/encoding/np_key.svg new file mode 100644 index 00000000..aede50e1 --- /dev/null +++ b/doc/crypto/figure/encoding/np_key.svg @@ -0,0 +1,2 @@ + +01671112131415PNP-FAMILY0PAIR10 \ No newline at end of file diff --git a/doc/crypto/figure/encoding/np_key.svg.license b/doc/crypto/figure/encoding/np_key.svg.license new file mode 100644 index 00000000..f56444f8 --- /dev/null +++ b/doc/crypto/figure/encoding/np_key.svg.license @@ -0,0 +1,2 @@ +SPDX-FileCopyrightText: Copyright 2022, 2024 Arm Limited and/or its affiliates +SPDX-License-Identifier: CC-BY-SA-4.0 AND LicenseRef-Patent-license diff --git a/doc/crypto/figure/encoding/rsa_key.json.license b/doc/crypto/figure/encoding/rsa_key.json.license deleted file mode 100644 index 70c4b2a6..00000000 --- a/doc/crypto/figure/encoding/rsa_key.json.license +++ /dev/null @@ -1,2 +0,0 @@ -SPDX-FileCopyrightText: Copyright 2022 Arm Limited and/or its affiliates -SPDX-License-Identifier: CC-BY-SA-4.0 AND LicenseRef-Patent-license diff --git a/doc/crypto/figure/encoding/rsa_key.pdf b/doc/crypto/figure/encoding/rsa_key.pdf deleted file mode 100644 index 78691993..00000000 Binary files a/doc/crypto/figure/encoding/rsa_key.pdf and /dev/null differ diff --git a/doc/crypto/figure/encoding/rsa_key.pdf.license b/doc/crypto/figure/encoding/rsa_key.pdf.license deleted file mode 100644 index 70c4b2a6..00000000 --- a/doc/crypto/figure/encoding/rsa_key.pdf.license +++ /dev/null @@ -1,2 +0,0 @@ -SPDX-FileCopyrightText: Copyright 2022 Arm Limited and/or its affiliates -SPDX-License-Identifier: CC-BY-SA-4.0 AND LicenseRef-Patent-license diff --git a/doc/crypto/figure/encoding/rsa_key.svg b/doc/crypto/figure/encoding/rsa_key.svg deleted file mode 100644 index b1b8b8e6..00000000 --- a/doc/crypto/figure/encoding/rsa_key.svg +++ /dev/null @@ -1,2 +0,0 @@ - -01781112131415100PAIR10 \ No newline at end of file diff --git a/doc/crypto/figure/encoding/rsa_key.svg.license b/doc/crypto/figure/encoding/rsa_key.svg.license deleted file mode 100644 index 70c4b2a6..00000000 --- a/doc/crypto/figure/encoding/rsa_key.svg.license +++ /dev/null @@ -1,2 +0,0 @@ -SPDX-FileCopyrightText: Copyright 2022 Arm Limited and/or its affiliates -SPDX-License-Identifier: CC-BY-SA-4.0 AND LicenseRef-Patent-license diff --git a/doc/crypto/figure/encoding/spake2p_key.json b/doc/crypto/figure/encoding/spake2p_key.json index c9c6716f..e0de0284 100644 --- a/doc/crypto/figure/encoding/spake2p_key.json +++ b/doc/crypto/figure/encoding/spake2p_key.json @@ -1,8 +1,8 @@ { "reg": [ { "name": "P", "bits": 1 }, - { "name": "ECC-FAMILY", "bits": 7 }, - { "name": "4", "bits": 4 }, + { "name": "ECC-FAMILY", "bits": 6 }, + { "name": "8", "bits": 5 }, { "name": "PAIR", "bits": 2 }, { "name": "1", "bits": 1 }, { "name": "0", "bits": 1 } diff --git a/doc/crypto/figure/encoding/spake2p_key.json.license b/doc/crypto/figure/encoding/spake2p_key.json.license index 9a9052df..22ae5f88 100644 --- a/doc/crypto/figure/encoding/spake2p_key.json.license +++ b/doc/crypto/figure/encoding/spake2p_key.json.license @@ -1,2 +1,2 @@ -SPDX-FileCopyrightText: Copyright 2023 Arm Limited and/or its affiliates +SPDX-FileCopyrightText: Copyright 2023-2024 Arm Limited and/or its affiliates SPDX-License-Identifier: CC-BY-SA-4.0 AND LicenseRef-Patent-license diff --git a/doc/crypto/figure/encoding/spake2p_key.pdf b/doc/crypto/figure/encoding/spake2p_key.pdf index 550b7a21..12ae0587 100644 Binary files a/doc/crypto/figure/encoding/spake2p_key.pdf and b/doc/crypto/figure/encoding/spake2p_key.pdf differ diff --git a/doc/crypto/figure/encoding/spake2p_key.pdf.license b/doc/crypto/figure/encoding/spake2p_key.pdf.license index 9a9052df..22ae5f88 100644 --- a/doc/crypto/figure/encoding/spake2p_key.pdf.license +++ b/doc/crypto/figure/encoding/spake2p_key.pdf.license @@ -1,2 +1,2 @@ -SPDX-FileCopyrightText: Copyright 2023 Arm Limited and/or its affiliates +SPDX-FileCopyrightText: Copyright 2023-2024 Arm Limited and/or its affiliates SPDX-License-Identifier: CC-BY-SA-4.0 AND LicenseRef-Patent-license diff --git a/doc/crypto/figure/encoding/spake2p_key.svg b/doc/crypto/figure/encoding/spake2p_key.svg index 1dfac6a6..002f6dd9 100644 --- a/doc/crypto/figure/encoding/spake2p_key.svg +++ b/doc/crypto/figure/encoding/spake2p_key.svg @@ -1,2 +1,2 @@ -01781112131415PECC-FAMILY4PAIR10 \ No newline at end of file +01671112131415PECC-FAMILY8PAIR10 \ No newline at end of file diff --git a/doc/crypto/figure/encoding/spake2p_key.svg.license b/doc/crypto/figure/encoding/spake2p_key.svg.license index 9a9052df..22ae5f88 100644 --- a/doc/crypto/figure/encoding/spake2p_key.svg.license +++ b/doc/crypto/figure/encoding/spake2p_key.svg.license @@ -1,2 +1,2 @@ -SPDX-FileCopyrightText: Copyright 2023 Arm Limited and/or its affiliates +SPDX-FileCopyrightText: Copyright 2023-2024 Arm Limited and/or its affiliates SPDX-License-Identifier: CC-BY-SA-4.0 AND LicenseRef-Patent-license