Commit ca57df44 authored by Valerie Aurora's avatar Valerie Aurora
Browse files

Add Qualcomm crypto mechanisms to Annex K

parent 2170441b
Loading
Loading
Loading
Loading
+7 −1
Original line number Diff line number Diff line
@@ -3040,6 +3040,11 @@ Table K.1 lists the ACM-extended cryptographic mechanisms specified by the prese
| Blake2                               | Algorithm                       | Blake2s, Blake2b                                                                                                   | Key derivation, Generic hashing, MAC                        | Authentication, integrity                          | RFC 7693 [\[10\]](#_ref_10), NIST IR 7896                                                                         |                                             |
| Blake3                               | Algorithm                       |                                                                                                                    | Key derivation, Generic hashing, MAC                        | Authentication, integrity                          | BLAKE3 [\[12\]](#_ref_12), [C2SP](https://github.com/C2SP/C2SP)                                                   |                                             |
| UMAC                                 | Algorithm                       | 128 bit                                                                                                            | MAC                                                         | Authentication, Integrity                          | RFC 4418 [\[11\]](#_ref_11)                                                                                       |                                             |
| QARMA-64 | Lightweight block cipher (tweakable) | 128 bit key | Cryptographic memory protection (DDR), Pointer authentication (PAC) | confidentiality, integrity | Avanzi, R. (2017). The QARMA Block Cipher Family. Almost MDS Matrices Over Rings With Zero Divisors, Nearly Symmetric Even-Mansour Constructions With Non-Involutory Central Rounds, and Search Heuristics for Low-Latency S-Boxes. IACR Transactions on Symmetric Cryptology, 2017(1), 4-44. https://doi.org/10.13154/tosc.v2017.i1.4-44, (https://eprint.iacr.org/2016/444.pdf) | Permitted for the following use-cases: protection of the confidentiality and/or integrity of the contents of memory; generation of short authentication codes for microarchitectural protections including (but not limited to) pointer authentication, control flow integrity. |
| QARMA-128 | Lightweight block cipher (tweakable) | 256 bit key | Cryptographic memory protection (DDR), Pointer authentication (PAC) | confidentiality, integrity | Avanzi, R. (2017). The QARMA Block Cipher Family. Almost MDS Matrices Over Rings With Zero Divisors, Nearly Symmetric Even-Mansour Constructions With Non-Involutory Central Rounds, and Search Heuristics for Low-Latency S-Boxes. IACR Transactions on Symmetric Cryptology, 2017(1), 4-44. https://doi.org/10.13154/tosc.v2017.i1.4-44, (https://eprint.iacr.org/2016/444.pdf) | Permitted for the following use-cases: protection of the confidentiality and/or integrity of the contents of memory; generation of short authentication codes for microarchitectural protections including (but not limited to) pointer authentication, control flow integrity. |
| QARMAv2-64 | Lightweight block cipher (tweakable) | 128 bit key | Cryptographic memory protection (DDR), Pointer authentication (PAC) | confidentiality, integrity | Avanzi, R., Banik, S., Dunkelman, O., Eichlseder, M., Ghosh, S., Nageler, M., & Regazzoni, F. (2023). The QARMAv2 Family of Tweakable Block Ciphers. IACR Transactions on Symmetric Cryptology, 2023(3), 25-73. https://doi.org/10.46586/tosc.v2023.i3.25-73 (https://eprint.iacr.org/2023/929.pdf) | Permitted for the following use-cases: protection of the confidentiality and/or integrity of the contents of memory; generation of short authentication codes for microarchitectural protections including (but not limited to) pointer authentication, control flow integrity. |
| QARMAv2-128 | Lightweight block cipher (tweakable) | 128. 192, 256 bit key | Cryptographic memory protection (DDR), Pointer authentication (PAC) | confidentiality, integrity | Avanzi, R., Banik, S., Dunkelman, O., Eichlseder, M., Ghosh, S., Nageler, M., & Regazzoni, F. (2023). The QARMAv2 Family of Tweakable Block Ciphers. IACR Transactions on Symmetric Cryptology, 2023(3), 25-73. https://doi.org/10.46586/tosc.v2023.i3.25-73 (https://eprint.iacr.org/2023/929.pdf) | Permitted for the following use-cases: protection of the confidentiality and/or integrity of the contents of memory; generation of short authentication codes for microarchitectural protections including (but not limited to) pointer authentication, control flow integrity. |
| QARMAv2-64-σ0 | Lightweight block cipher (tweakable) | 128 bit key | Pointer authentication (PAC) | confidentiality, integrity | Avanzi, R., Banik, S., Dunkelman, O., Eichlseder, M., Ghosh, S., Nageler, M., & Regazzoni, F. (2023). The QARMAv2 Family of Tweakable Block Ciphers. IACR Transactions on Symmetric Cryptology, 2023(3), 25-73. https://doi.org/10.46586/tosc.v2023.i3.25-73 (https://eprint.iacr.org/2023/929.pdf) | Permitted for the following use-cases: generation of short authentication codes for microarchitectural protections including (but not limited to) pointer authentication, control flow integrity. |

### K.3.3 Assessment

@@ -3059,7 +3064,8 @@ Table K.2 lists the interoperability-based cryptographic mechanisms specified by

| Interoperability-based cryptographic mechanism | Type of cryptographic mechanism                                                                                               | Characteristics / parameters                                              | Related product function(s) / use case(s), where applicable                  | External specification(s) or external requirement(s)                                                                                                                                                                            | Interoperability justification                       | Conditions or limitations, where applicable                                                                                                                                                     |
|:-----------------------------------------------|:------------------------------------------------------------------------------------------------------------------------------|:--------------------------------------------------------------------------|:-----------------------------------------------------------------------------|:--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|:-----------------------------------------------------|:------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| \<mechanism name\>                             | \<Algorithm / Primitive / Scheme / Protocol / Protocol profile / Cipher suite / Mode / Construction / Parameter set / Other\> | \<key length, mode, profile, cipher suite, parameter set, version, etc.\> | \<product function, interface, protocol context, operational context, etc.\> | \<external specification, regulatory requirement, mandatory public-sector requirement, operational constraint requiring use of the mechanism, technical interoperability constraint, platform compatibility requirement, etc.\> | \<why the mechanism is needed for interoperability\> | \<constraints, permitted use, excluded use, negotiation preference, external system or requirement, compensating measures, migration expectation, warning/logging, lifecycle limitation, etc.\> |
| QARMA-64, QARMAv2-64 | Lightweight, tweakable block cipher | Key length 128 bits | Pointer authentication | Arm8.3-A (FEAT_Pauth) | Canonical/recommended algorithm in the Arm ecosystem for pointer authentication. While implementation-defined mechanisms are acceptable, there are rarely, if ever, used. Support is explicitly indicated in AArch64_id_aa64isar1_el1 register (GPA field, Arm8.3-A and later) for use where compatibility is required. Server-focused Arm systems are required to implement QARMA for PAC (Arm Server Base System Architecture v8.0(J) / DEN0029J | Pointer authentication |
| QARMA-64, QARMAv2-64 | Lightweight, tweakable block cipher | Key length 128 bits | Pointer authentication | Arm8.1-M PACBTI | Canonical/recommended algorithm in the Arm ecosystem for pointer authentication. While implementation-defined mechanisms are acceptable, there are rarely, if ever, used. Support is explicitly indicated in AArch64_id_aa64isar1_el1 register (GPA field, Arm8.3-A and later) for use where compatibility is required. | Pointer authentication |

### K.4.3 Assessment