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:
Overview: Learn about SDK Features and System Requirements
User Guides: Follow the Getting Started guide and explore cuPQC-PK and cuPQC-Hash usage
API Reference: Complete API documentation for cuPQC-PK and cuPQC-Hash libraries
Additional Information: Release Notes, Security Considerations, and License Information
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