SDK Usage#

This document provides a comprehensive overview of the cuPQC SDK, the NVIDIA® CUDA® Post-Quantum Cryptography Software Development Kit. The cuPQC SDK contains two libraries: cuPQC and cuHash. cuPQC is designed to leverage the parallel processing power of NVIDIA GPUs to offer high-performance, batched, and secure implementations of post-quantum cryptographic algorithms. Specifically, this library includes two of the NIST standardized Post-Quantum Cryptographic algorithms: ML-KEM and ML-DSA. cuHash is a library that provides a set of cryptographic hash functions that are optimized for NVIDIA GPUs. In detail, cuHash provides GPU implementations of SHA-2, SHA-3, SHAKE, and Poseidon2. In addition to these hash functions, cuHash also provides a Merkle Tree API to be performed with any of the hash functions in cuHash. This document illustrates how to utilize each library within the SDK, starting with the cuPQC library, then the cuHash library.

For detailed usage instructions, please refer to the following sections: