Security of the Decentralized Anonymous Credentials

Authors define their system in terms of an ideal functionality implemented by a trusted party TPT_P that plays the role that system’s cryptographic constructions play in the real system. All communication takes place through this ideal trusted party. Security and correctness for the system come from a proof that this ideal model is indistinguishable from the real model provided the cryptographic assumptions hold.

Theorem 6.1 The basic distributed anonymous credential system described above is secure in the random oracle model under the Strong RSA and the Discrete Logarithm (DL) assumptions.

The approach is to show that for every real-world adversary A\mathcal{A} against the credential system, we can construct an ideal-world adversary S\mathcal{S} against the ideal-world system such that the transcript of A\mathcal{A} interacting with the real system is computationally indistinguishable from the transcript produced by A\mathcal{A} interacting with S\mathcal{S}.

A. Description of the Simulator:

Minting a credential:

Showing a credential:

The simulation works in similar to the Minting a credential, instead, the simulator S\mathcal{S} runs ShowOnNym(NymUO,NymUV,O,V,C)ShowOnNym(Nym^O_U , Nym^V_U , O, V, C), where CC is generated through a call to GetCredList(O)GetCredList(O). Here, S\mathcal{S} extracts the private information from the knowledge extractor to the πS\pi_S created by the user (who was controlled by the adversary A\mathcal{A})

Proof (sketch) of a successful simulation:

Under the Discrete Logarithm assumption, πM\pi_M is a computational ZKSoK on auxaux of the values (sk,r,r)(sk, r, r') such that the nym NymUONym^O_U and the credential cc both belong to the same master secret sksk. An attacker might forge this message by identifying a collision on the commitments, which occurs with negligible probability under DL assumption.

Under the Strong RSA and Discrete Logarithm assumptions, πS\pi_S is a statistical NI-ZKPoK of the values (sk,w,c,NymUV,r,r)(sk , w, c, Nym^V_U , r, r') s.t. ww is a witness that cc is in the accumulator AA and nym NymUVNym^V_U and the credential cc both belong to the same master secret sksk. An attacker might forge this, by finding a collision on the commitment which occurs with negligible probability under DL assumption or forging the accumulator membership proof which occurs with negligible probability under the strong RSA assumption (collision-resistant property of the accumulator).

The simulator will fail at most with negligible property, as it deals with the ZKSoK and ZKPoK which have efficient extractors and simulators. The proofs πM\pi_M and πS\pi_S have knowledge extractors that succeed with probability 1negl(λ)1 - negl(\lambda). Since signatures and proofs are the sole point of failure for our simulator S\mathcal{S} described above, it fails with negligible probability.