Campos de datos | |
BYTE | bOp |
char | szDst[MAX_OBJ_ID_FQN_LEN] |
BYTE | bCtxLen |
BYTE | pbCtx[DN_KEM_D_MAX_CTX_LEN] |
DWORD | dwType |
DWORD | dwAttr |
Información sobre el secreto compartido KEM (Key Encapsulation Mechanism).
Actualmente es compatible con la norma ML-KEM según FIPS-203.
BYTE bOp |
Operación a realizar con secreto compartido.
Valor | Significado |
---|---|
DN_KEM_OP_SHARED_SECRET | Devuelve el secreto compartido, sin crear una clave. Los demás miembros de la estructura deben ponerse a cero. El retorno será el secreto compartido con tamaño DN_KEM_D_ML_KEM_SS_LEN para claves ML-KEM. |
DN_KEM_OP_DIRECT_KEY | Cree una clave en el HSM utilizando el secreto compartido. El tamaño de la clave seleccionada debe ser inferior o igual al tamaño del secreto compartido. Para ML-KEM, el tamaño es DN_KEM_D_ML_KEM_SS_LEN. Si la clave es mayor, utilice DN_KEM_OP_X9_63_SHA256. Rellena los demás campos de la estructura, no es necesario que rellenes pbCtx y bCtxLen. |
DN_KEM_OP_X9_63_SHA256 | Crea una clave en el HSM mediante KDF (Key Derivation Function) x9.63 SHA256 utilizando como parámetros el secreto compartido y el contexto introducido en pbCtx (opcional). El secreto compartido se amplía hasta el tamaño requerido para la clave. Rellene todos los demás campos de la estructura, pbCtx (opcional). |
char szDst[MAX_OBJ_ID_FQN_LEN] |
Nombre de la clave de destino, generada a partir del secreto compartido. Véanse las operaciones DN_KEM_OP_DIRECT_KEY y DN_KEM_OP_X9_63_SHA256. Si no se utiliza, rellenar con ceros.
BYTE bCtxLen |
Tamaño de pbCtx. Si no se utiliza, debe ser cero.
BYTE pbCtx[DN_KEM_D_MAX_CTX_LEN] |
Contexto de derivación de clave opcional cuando se utiliza la operación DN_KEM_OP_X9_63_SHA256. El tamaño máximo de este búfer es DN_KEM_D_MAX_CTX_LEN. Si no se utiliza, rellenar con ceros.
DWORD dwType |
Tipo de clave generada en el HSM. Seleccione si utiliza DN_KEM_OP_DIRECT_KEY o DN_KEM_OP_X9_63_SHA256. La clave puede ser simétrica, HMAC o CSP (Parámetro Crítico de Seguridad). En el caso de CSP (Critical Security Parameter) tendrá el tamaño del secreto compartido, véase bOp. Véanse las opciones en DGenerateKey(). Si no se utiliza, debe ser 0.
DWORD dwAttr |
Atributos de la clave creada. Véase DGenerateKey(). Si no se utiliza, debe ser 0.