Release Notes#

This section includes significant changes, new features, performance improvements, and various issues. Unless noted, listed issues should not impact functionality. When functionality is impacted, we offer a work-around to avoid the issue (if available).

0.4.1#

This release includes the following updates:

  • Library Naming Changes

    • The cuPQC SDK now encompasses all sub-libraries.

    • The former cuPQC library (ML-KEM and ML-DSA) is now named cuPQC-PK (Public Key).

    • The former cuHash library is now named cuPQC-Hash (Cryptographic Hash Functions).

  • New Features

    • cuPQC-Hash: Hash Functions

      • Poseidon2-KoalaBear: The Poseidon2 hash function now supports the KoalaBear field (231 - 224 + 1), in addition to the BabyBear field (231 - 227 + 1).

    • cuPQC-Hash: Merkle Tree

      • Multi-block Merkle Tree generation: The Merkle Tree API now supports generating subtrees that can be combined to form larger trees, allowing very large Merkle trees to be computed across multiple CUDA blocks for improved performance and lower latency.

      • Merkle Tree Support for N = 222: The Merkle Tree API now supports generating trees with 222 leaves. Note that this can only be computed using the multi-block Merkle Tree generation feature.

  • Performance Improvements

    • Performance improvements for Merkle Tree generation.

    • Performance improvements for Poseidon2 hash function.

  • Bug Fixes

    • Bumped CUDA Toolkit version to 12.8 for better compatibility. This fixes a compilation error when linking with the cuPQC SDK on ARM64 CPUs.

0.4.0#

This release adds the Poseidon2 hash function to cuHash, as well as a Merkle Tree API that uses any of the hash functions in cuHash.

0.3.0#

This release introduces the cuPQC Software Development Kit. The cuPQC SDK is now a single package download that contains libraries for cryptographic processes. The two libraries that are contained in the cuPQC SDK for the 0.3.0 release are: the cuPQC library, as well as a new library, cuHash. The cuHash library contains GPU accelerated SHA-2, SHA-3, SHAKE hashing algorithms.

Additionally, some performance improvements have been made to cuPQC’s ML-KEM and ML-DSA algorithms.

Known Issues#