On Cryptographic Mechanisms for the Selective Disclosure of Verifiable Credentials
Andrea Flamini, Giada Sciarretta, Mario Scuro, Amir Sharif, Alessandro Tomasi, Silvio Ranise
TL;DR
The paper tackles privacy-preserving selective disclosure of verifiable credentials in digital identity ecosystems, motivated by eIDAS 2 and GDPR considerations. It surveys six mechanisms based on hiding commitments and non-interactive zero-knowledge proofs, including two novel approaches (BBS and PS), and formalizes VC/VP structures and issuing/presentation workflows. The authors analyze standard maturity, cryptographic agility, and quantum safety while evaluating features like presentation unlinkability, predicate proofs, and threshold issuance; they also provide an experimental evaluation across multiple Rust-based implementations and hardware platforms. The results reveal that hash-based hiding commitments (cmtList, merTree) offer high performance and agility with quantum-safe options, while SDSig approaches (CL, BBS/BBS+, PS) provide compact proofs and predicate capabilities at higher computational cost; the work also discusses trade-offs and guidance for practical instantiation in privacy-preserving credential systems.
Abstract
Verifiable credentials are a digital analogue of physical credentials. Their authenticity and integrity are protected by means of cryptographic techniques, and they can be presented to verifiers to reveal attributes or even predicates about the attributes included in the credential. One way to preserve privacy during presentation consists in selectively disclosing the attributes in a credential. In this paper we present the most widespread cryptographic mechanisms used to enable selective disclosure of attributes identifying two categories: the ones based on hiding commitments - e.g., mdl ISO/IEC 18013-5 - and the ones based on non-interactive zero-knowledge proofs - e.g., BBS signatures. We also include a description of the cryptographic primitives used to design such cryptographic mechanisms. We describe the design of the cryptographic mechanisms and compare them by performing an analysis on their standard maturity in terms of standardization, cryptographic agility and quantum safety, then we compare the features that they support with main focus on the unlinkability of presentations, the ability to create predicate proofs and support for threshold credential issuance. Finally we perform an experimental evaluation based on the Rust open source implementations that we have considered most relevant. In particular we evaluate the size of credentials and presentations built using different cryptographic mechanisms and the time needed to generate and verify them. We also highlight some trade-offs that must be considered in the instantiation of the cryptographic mechanisms.
