Traits#

cuPQC Library Traits#

Traits can be accessed directly from the descriptor PQC.

Description Traits#

The description traits depend on the Algorithm and SecurityCategory operators.

static constexpr size_t PQC::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 PQC::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 PQC::ciphertext_size#

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

static constexpr size_t PQC::shared_secret_size#

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

static constexpr size_t PQC::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 PQC::entropy_size#

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

static constexpr size_t PQC::workspace_size#

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

static constexpr size_t PQC::shared_memory_size#

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

Accessors#

static constexpr dim3 PQC::BlockDim#

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

cuHash Traits#

static constexpr size_t HASH::digest_size#

Size (in bytes) of the digest for the given hash algorithm. This is valid for all hash algorithms with a fixed digest size (it is not valid for algorithm::SHAKE).