API C/C++
HSM Dinamo
Carregando...
Procurando...
Nenhuma entrada encontrado
Referência da Estrutura DN_KEM_INFO

#include "dinamo.h"

Campos de Dados

BYTE bOp
 
char szDst [MAX_OBJ_ID_FQN_LEN]
 
BYTE bCtxLen
 
BYTE pbCtx [DN_KEM_D_MAX_CTX_LEN]
 
DWORD dwType
 
DWORD dwAttr
 

Descrição detalhada

Informações relativas ao shared secret KEM (Key Encapsulation Mechanism).

Atualmente suporta o padrão ML-KEM de acordo com a FIPS-203.

Exemplos
pqc_kem_encaps_decaps.c e pqc_kem_encaps_decaps_persistent.c.

Campos

◆ bOp

BYTE bOp

Operação que deverá ser realizada com o shared secret.

Valor Signficado
DN_KEM_OP_SHARED_SECRET Retorna o shared secret, sem criar chave. Os outros membros da estrutura deverão estar zerados. O Retorno será o shared secret com tamanho DN_KEM_D_ML_KEM_SS_LEN para chaves ML-KEM.
DN_KEM_OP_DIRECT_KEY Cria uma chave no HSM usando o shared secret. O tamanho da chave selecionada deverá ser menor ou igual ao tamanho do shared secret. Para ML-KEM o tamanho é de DN_KEM_D_ML_KEM_SS_LEN. Caso a chave seja maior, usar DN_KEM_OP_X9_63_SHA256. Preencher os outros campos da estrutura, não é preciso preencher pbCtx e bCtxLen.
DN_KEM_OP_X9_63_SHA256 Cria uma chave no HSM usando o KDF (Key Derivation Function) x9.63 SHA256 utilizando como parâmetros o shared secret e o contexto informado em pbCtx (opcional). É feito o stretching do shared secret até o tamanho necessário para a chave. Preencher todos os outros campos da estrutura, pbCtx (opcional).
Exemplos
pqc_kem_encaps_decaps.c e pqc_kem_encaps_decaps_persistent.c.

◆ szDst

char szDst[MAX_OBJ_ID_FQN_LEN]

Nome da chave de destino, gerada à partir do shared secret. Ver operações DN_KEM_OP_DIRECT_KEY e DN_KEM_OP_X9_63_SHA256. Caso não seja utilizado, preencher com zeros.

Exemplos
pqc_kem_encaps_decaps_persistent.c.

◆ bCtxLen

BYTE bCtxLen

Tamanho de pbCtx. Caso não seja usado deve ser zero.

◆ pbCtx

Contexto, opcional, de derivação de chave quando utilizando a operação DN_KEM_OP_X9_63_SHA256. O tamanho máximo deste buffer é DN_KEM_D_MAX_CTX_LEN. Caso não seja utilizado, preencher com zeros.

◆ dwType

DWORD dwType

Tipo da chave gerada no HSM. Selecionar caso esteja utilizando DN_KEM_OP_DIRECT_KEY ou DN_KEM_OP_X9_63_SHA256. A chave pode ser simétrica, HMAC ou CSP (Critical Security Parameter). No caso do CSP (Critical Security Parameter) terá o tamanho do shared secret, ver bOp. Ver opções em DGenerateKey(). Caso não seja utilizado, deve ser 0.

Exemplos
pqc_kem_encaps_decaps_persistent.c.

◆ dwAttr

DWORD dwAttr

Atributos da chave criada. Ver DGenerateKey(). Caso não seja utilizado, deve ser 0.

Exemplos
pqc_kem_encaps_decaps_persistent.c.

A documentação para essa estrutura foi gerada a partir do seguinte arquivo: