Skip to content

NVIDIA/cuPQC

cuPQC SDK Applications

License CUDA Platform

This repository contains examples demonstrating the capabilities of NVIDIA cuPQC SDK.

What's included:

  • Example applications with build configs
  • Reference implementations

About cuPQC SDK

NVIDIA cuPQC is a GPU-accelerated cryptography SDK containing specialized libraries for building high-performance cryptographic applications:

  • cuPQC-HASH - Hash functions & Merkle Trees
  • cuPQC-PK - Public-Key Cryptography (ML-KEM & ML-DSA)

Applications & Examples

Applications: Browse applications/ directory for application implementations.

Examples: Browse examples/ directory for examples demonstrating individual SDK primitives:

  • Hash Functions (SHA-2, SHA-3, Poseidon2, Merkle Trees)
  • Public-Key Cryptography (ML-KEM, ML-DSA)

Quick Start

Prerequisites

Requirement Specification
GPU Compute Capability 7.0+ (SM 70, 75, 80, 86, 87, 89, 90)
CUDA 12.8 or newer
Compiler C++17 (GCC 7+, Clang 9+)
CMake 3.20+ (optional)
SDK cuPQC 0.4.1+

Download cuPQC SDK

Download the SDK

Install cuPQC SDK

x86_64:

wget https://developer.download.nvidia.com/compute/cupqc/redist/cupqc/cupqc-sdk-0.4.1-x86_64.tar.gz
tar -xzf cupqc-sdk-0.4.1-x86_64.tar.gz

ARM aarch64:

wget https://developer.download.nvidia.com/compute/cupqc/redist/cupqc/cupqc-sdk-0.4.1-aarch64.tar.gz
tar -xzf cupqc-sdk-0.4.1-aarch64.tar.gz

Configure SDK Path

Set the CUPQC_SDK_DIR environment variable to point to the extracted SDK directory:

# Option 1: Use extracted directory directly
export CUPQC_SDK_DIR=/path/to/cupqc-sdk-0.4.1-x86_64

# Option 2: Install to standard location
sudo mv cupqc-sdk-0.4.1-x86_64 /usr/local/cupqc-sdk
export CUPQC_SDK_DIR=/usr/local/cupqc-sdk

Default path: If CUPQC_SDK_DIR is not set, applications will look for the SDK at /usr/local/cupqc-sdk

Make path persistent: Add the export command to your ~/.bashrc or ~/.zshrc

Verify installation:

ls $CUPQC_SDK_DIR/include  # Should show header files
ls $CUPQC_SDK_DIR/lib      # Should show library files

For detailed installation, see the Getting Started Guide.

Documentation & Resources

Official Resources

Community

Citation If you use cuPQC SDK in a publication, please cite it. Click the "Cite this repository" button in the About section above, or see CITATION.cff for details.

License

This project is licensed under Apache 2.0. See LICENSE for details.

Note: These samples require the NVIDIA cuPQC SDK. By downloading and using the cuPQC SDK, you agree to fully comply with the terms and conditions of the NVIDIA Software License Agreement.

Contributing

See CONTRIBUTING.md for contribution guidelines and CODE_OF_CONDUCT.md for community standards.

About

cuPQC SDK Developer Hub: samples, integration guides, and technical/release blogs

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors