Blame SOURCES/0016-COMMON-Add-defines-for-Dilithium-round-2-and-3-varia.patch

397a93
From 95f64e0c9f30ea8e0712e554418230659dabe1ec Mon Sep 17 00:00:00 2001
397a93
From: Ingo Franzki <ifranzki@linux.ibm.com>
397a93
Date: Wed, 16 Feb 2022 13:44:10 +0100
397a93
Subject: [PATCH 16/34] COMMON: Add defines for Dilithium round 2 and 3
397a93
 variants
397a93
397a93
Signed-off-by: Ingo Franzki <ifranzki@linux.ibm.com>
397a93
---
397a93
 usr/include/pkcs11types.h | 12 ++++++++++--
397a93
 usr/lib/common/p11util.c  |  6 ++++++
397a93
 2 files changed, 16 insertions(+), 2 deletions(-)
397a93
397a93
diff --git a/usr/include/pkcs11types.h b/usr/include/pkcs11types.h
397a93
index bc53e672..6bf9c1fa 100644
397a93
--- a/usr/include/pkcs11types.h
397a93
+++ b/usr/include/pkcs11types.h
397a93
@@ -437,6 +437,7 @@ typedef CK_ULONG CK_KEY_TYPE;
397a93
 #ifndef OCK_NO_EP11_DEFINES
397a93
 #define CKK_IBM_PQC_DILITHIUM    CKK_VENDOR_DEFINED + 0x10023
397a93
 #endif
397a93
+#define CKK_IBM_DILITHIUM        CKK_IBM_PQC_DILITHIUM
397a93
 
397a93
 /* CK_CERTIFICATE_TYPE is a value that identifies a certificate
397a93
  * type */
397a93
@@ -594,8 +595,15 @@ typedef CK_ULONG CK_ATTRIBUTE_TYPE;
397a93
 #define CKA_IBM_PROTKEY_NEVER_EXTRACTABLE  (CKA_VENDOR_DEFINED +0x1000d)
397a93
 #define CKA_IBM_OPAQUE_PKEY       (CKA_VENDOR_DEFINED + 0xd0100)
397a93
 
397a93
-/* For Dilithium, oid = 1.3.6.1.4.1.2.267.1.6.5 */
397a93
-#define IBM_DILITHIUM_KEYFORM_ROUND2        1
397a93
+#define CK_IBM_DILITHIUM_KEYFORM_ROUND2_65              1
397a93
+#define CK_IBM_DILITHIUM_KEYFORM_ROUND2_87              2
397a93
+#define CK_IBM_DILITHIUM_KEYFORM_ROUND3_44              3
397a93
+#define CK_IBM_DILITHIUM_KEYFORM_ROUND3_65              4
397a93
+#define CK_IBM_DILITHIUM_KEYFORM_ROUND3_87              5
397a93
+
397a93
+#define IBM_DILITHIUM_KEYFORM_ROUND2    CK_IBM_DILITHIUM_KEYFORM_ROUND2_65
397a93
+
397a93
+#define CKA_IBM_DILITHIUM_MODE    (CKA_VENDOR_DEFINED + 0x00010)
397a93
 
397a93
 #define CKA_IBM_DILITHIUM_KEYFORM (CKA_VENDOR_DEFINED + 0xd0001)
397a93
 #define CKA_IBM_DILITHIUM_RHO     (CKA_VENDOR_DEFINED + 0xd0002)
397a93
diff --git a/usr/lib/common/p11util.c b/usr/lib/common/p11util.c
397a93
index 4ef33306..f3a031e3 100644
397a93
--- a/usr/lib/common/p11util.c
397a93
+++ b/usr/lib/common/p11util.c
397a93
@@ -123,6 +123,10 @@ const char *p11_get_ckr(CK_RV rc)
397a93
     }
397a93
 }
397a93
 
397a93
+#ifndef CKA_IBM_PQC_PARAMS
397a93
+#define CKA_IBM_PQC_PARAMS (CKA_VENDOR_DEFINED +0x1000e)
397a93
+#endif
397a93
+
397a93
 //
397a93
 // p11_get_cka - return textual interpretation of an attribute type
397a93
 // only simple types - no arrays. For unknown a ptr to a static
397a93
@@ -221,6 +225,7 @@ const char *p11_get_cka(CK_ATTRIBUTE_TYPE atype)
397a93
         _sym2str(CKA_IBM_PROTKEY_NEVER_EXTRACTABLE);
397a93
         _sym2str(CKA_IBM_OPAQUE_PKEY);
397a93
         _sym2str(CKA_IBM_DILITHIUM_KEYFORM);
397a93
+        _sym2str(CKA_IBM_DILITHIUM_MODE);
397a93
         _sym2str(CKA_IBM_DILITHIUM_RHO);
397a93
         _sym2str(CKA_IBM_DILITHIUM_SEED);
397a93
         _sym2str(CKA_IBM_DILITHIUM_TR);
397a93
@@ -228,6 +233,7 @@ const char *p11_get_cka(CK_ATTRIBUTE_TYPE atype)
397a93
         _sym2str(CKA_IBM_DILITHIUM_S2);
397a93
         _sym2str(CKA_IBM_DILITHIUM_T0);
397a93
         _sym2str(CKA_IBM_DILITHIUM_T1);
397a93
+        _sym2str(CKA_IBM_PQC_PARAMS);
397a93
     default:
397a93
         sprintf(buf, "unknown attribute type 0x%08lx", atype);
397a93
         return buf;
397a93
-- 
397a93
2.16.2.windows.1
397a93