Traits#

Traits can be accessed directly from the descriptor PK.

Description Traits#

The description traits depend on the algorithm-operator-label and security category operators.

static constexpr size_t PK::public_key_size#

Size (in bytes) of the public key for the given algorithm. Valid for algorithm::ML_KEM and algorithm::ML_DSA.

static constexpr size_t PK::secret_key_size#

Size (in bytes) of the secret key for the given algorithm. Valid for algorithm::ML_KEM and algorithm::ML_DSA

static constexpr size_t PK::ciphertext_size#

Size (in bytes) of the ciphertext. Valid for algorithm::ML_KEM only.

static constexpr size_t PK::shared_secret_size#

Size (in bytes) of the shared secret. Valid for algorithm::ML_KEM only.

static constexpr size_t PK::signature_size#

Size (in bytes) of the signature. Valid for algorithm::ML_DSA only.

Execution Traits#

These depend on the execution mode and the specific function.

static constexpr size_t PK::entropy_size#

Size (in bytes) of the entropy reqired for this function.

static constexpr size_t PK::workspace_size#

Size (in bytes) of the global memory workspace reqired for this function.

static constexpr size_t PK::shared_memory_size#

Size (in bytes) of the shared memory workspace required for this function.

Accessors#

static constexpr dim3 PK::BlockDim#

The block size, specified by the BlockDim operator, that the PQC descriptor expects during kernel launch.