IBM Z and LinuxONE - Group home

Protecting your data’s integrity with a Quantum-safe hybrid digital signature scheme

  

Authors: Gregg Arquero, John Craig

What is a digital signature?

A digital signature is a cryptographic mechanism used to verify the integrity and authenticity of data. The validity of a digital signature gives the recipient confidence that the message has come from a trusted known sender and that it has not been tampered with in transit. Digital messages verified by signatures can range from short pieces of text to large files such as programs or multimedia.

What is CRYSTALS-Dilithium?

CRYSTALS-Dilithium is a Quantum-Safe Digital Signature Algorithm selected by the National Institute of Standards and Technology (NIST) for Post-Quantum Cryptography (PQC) standardization. When the CRYSTALS-Dilithium standard is finalized later in 2024, it will be known as the Module-Lattice-Based Digital Signature Standard (ML-DSA). According to NIST, lattice-based algorithms such as CRYSTALS-Dilithium are the most promising general-purpose algorithms for public-key encryption, key encapsulation mechanisms, and digital signatures.

What is a hybrid (dual) signature scheme?

A hybrid signature scheme consists of two or more signatures on a common message. This signature scheme would combine a traditional asymmetric algorithm (RSA, ECC) with a Quantum-Safe Digital Signature Algorithm (ML-DSA). As quantum-safe digital signature algorithms become available, a hybrid scheme is a good approach to start experimenting with Quantum-Safe algorithms.

Hybrid signature schemes provide the opportunity to future-proof an application’s data authentication and integrity. As traditional asymmetric algorithms remain trusted and secure with existing security platforms, quantum-safe algorithms look towards the future in anticipation of a maturing quantum-aware security landscape.

Setting up a hybrid signature scheme with Integrated Cryptographic Service Facility (ICSF) services

With the IBM z16 and a Crypto Express8 Coprocessor (IBM 4770 Cryptographic Coprocessor), a hybrid signature scheme can be setup using the CRYSTALS-Dilithium algorithm (PQC competition draft #2 and draft #3, ML-DSA support pending). ICSF provides callable services that can perform digital signature generation and verification for both the CCA and PKCS #11 interfaces. 

For CCA, the following sample demonstrates how to perform a Hybrid Signature Scheme using the ECDSA and CRYSTALS-Dilithium signature algorithms with the Digital Signature Generate (CSNDDSG & CSNFDSG) and Digital Signature Verify (CSNDDSV & CSNFDSV) ICSF callable services.

For PKCS #11, the following sample demonstrates how to perform a Hybrid Signature Scheme using the ECDSA and CRYSTALS-Dilithium signature algorithms with the PKCS #11 Private Key Sign (CSFPPKS & CSFPPKS6) and PKCS #11 Public Key Verify (CSFPPKV & CSFPPKV6) ICSF callable services.

Notes:

1.    EP11 & CCA Crystals-Dilithium support requires a Crypto Express 8S Coprocessor and ICSF FMID HCR77D1 or later with the PTF for APAR OA61609 applied.