NVIDIA cuPQC SDK Documentation#

NVIDIA cuPQC SDK is a set of high-performance libraries for building custom cryptographic applications on GPUs. The SDK integrates directly into your CUDA kernels for maximum performance and efficiency, enabling you to fuse cryptographic operations with your GPU computations. It consists of two major libraries:

cuPQC-PK: A high-performance library for post-quantum cryptography (ML-KEM and ML-DSA)

cuPQC-Hash: A high-performance library for cryptographic hash functions (SHA-2, SHA-3, SHAKE, Poseidon2, and Merkle Trees)

This documentation is organized into four main sections:

Highlights#

cuPQC-PK (Public Key Library)#

The cuPQC-PK library provides:

  • ML-KEM and ML-DSA PQC algorithm functions designed to be embedded into CUDA kernels

  • High performance, no unnecessary data movement from and to global memory

  • Tunability, options to adjust how many threads perform the operations (BlockDim)

  • Ability to fuse PQC operations with other operations

cuPQC-Hash (Cryptographic Hash Library)#

The cuPQC-Hash library provides:

  • SHA-2, SHA-3, SHAKE, and Poseidon2 hash functions designed to be embedded into CUDA kernels

  • Merkle Tree API for efficient proof generation and verification using hash-based tree structures

  • High performance, high throughput hashing algorithms

  • Ability to fuse hashing operations with other operations