🌑

Explore / Study / Computer Science / Cryptography 873 words | 5 minutes

§19 Public-Key Identification Schemes

  1. Identification Experiment Ident⁡A,Π(n)\operatorname{Ident}_{\mathscr{A},\Pi}(n)IdentA,Π​(n)
  2. Security of Identification Scheme
  3. Fiat-Shamir Transform: From Identification schemes to Digital Signatures
  4. Security of Signature Scheme obtained by Fiat-Shamir Transform
  5. Schnorr Digital Signature Scheme
  6. Security of Schnorr Identification Scheme

Identification Experiment IdentA,Π(n)\operatorname{Ident}_{\mathscr{A},\Pi}(n)

  • Fix an Identification scheme Π=(Gen,P1,P2,V)\Pi = (Gen, \mathscr{P}_1, \mathscr{P}_2, V) and define the Identification experiment IdentA,Π(n)\operatorname{Ident}_{\mathscr{A},\Pi}(n) as:
    1. Gen(1n)Gen(1^n) is run to obtain keys (pk,sk)(pk, sk).

    2. Adversary A\mathscr A is given pkpk and oracle access to Transsk\texttt{Trans}_{sk} that it can query as often as it wants.

    3. At any point during the experiment, A\mathscr A outputs a message II.

      A uniform challenge cΩpkc \in \Omega_{pk} is chosen and given to A\mathscr A, who responds with some ss.

      A\mathscr A may continue to query Transsk\texttt{Trans}_{sk} even after receiving cc.

    4. Adversary succeeds and the experiment evaluates to 11 if and only if V(pk,c,s)=IV(pk, c, s) = I.

Security of Identification Scheme

  • Definition. An Identification scheme Π=(Gen,P1,P2,V)\Pi = (Gen, \mathscr{P}_1, \mathscr{P}_2, V) is secure against a passive attack, or just secure, if for all probabilistic polynomial-time adversaries A\mathscr A, there exists a negligible function ϵ(n)\epsilon(n) such that:

    Pr[IdentA,Π(n)=1]ϵ(n)\Pr[\operatorname{Ident}_{\mathscr{A},\Pi}(n)=1]\le\epsilon(n)

Fiat-Shamir Transform: From Identification schemes to Digital Signatures

  • Let (Genid,P1,P2,V)({Gen}_{id}, \mathscr{P}_1, \mathscr{P}_2, V) be an Identification scheme, and construct a Signature scheme as follows:
    • GenGen: On input 1n1^n, run Genid(1n)Gen_{id}(1^n) to obtain pk,skpk, sk.

      The public key specifies a set of challenges Ωpk\Omega_{pk}.

      As part of key generation, a function H:{0,1}ΩpkH : \{0,1\}^* \rightarrow \Omega_{pk} is specified.

    • SignSign: On input a private key sksk and a message m{0,1}m \in \{0,1\}^*.

      1. Compute (I,st)P1(sk)(I, st) \leftarrow \mathscr{P}_1(sk).
      2. Compute c:=H(I,m)c := H(I, m).
      3. Compute s:=P2(sk,st,c)s := \mathscr{P}_2(sk, st, c). Output signature as σ=(c,s)\sigma = (c, s).
    • VrfyVrfy: On input a public key pkpk, a message m{0,1}m \in \{0,1\}^*, and a signature (c,s)(c, s),

      compute I:=V(pk,c,s)I := V(pk, c, s). Output 11 if and only if H(I,m)=cH(I, m) = c.

Security of Signature Scheme obtained by Fiat-Shamir Transform

  • Theorem. Let Π\Pi be an Identification scheme, and let Π\Pi' be the Signature scheme that results by applying the Fiat-Shamir transform to it. If Π\Pi is secure and HH is modeled as a random oracle, then Π\Pi' is secure.

Schnorr Digital Signature Scheme

  • Let G\mathscr G be a PPT algorithm that on input 1n1^n, outputs (G,q,g)(\mathbb{G}, q, g). The Schnorr signature scheme works as:
    • GenGen: On input 1n1^n, run G(1n)\mathscr G(1^n) to obtain (G,q,g)(\mathbb{G}, q, g),

      Choose uniform xZqx \in \mathbb{Z}_q, and set h:=gxh := g^x.

      The public key is (G,q,g,h)(\mathbb{G}, q, g, h) and private key is xx.

      As part of key generation, a function H:{0,1}ZqH : \{0,1\}^* \rightarrow \mathbb{Z}_q is specified.

    • SignSign: On input a private key xx and a message m{0,1}m \in \{0,1\}^*,

      Choose uniform rZqr \in \mathbb{Z}_q, and set I:=grI := g^r. Compute c:=H(I,m)c := H(I, m), and s:=[cx+rmodq]s := [cx + r \bmod q].

      Output the signature as (c,s)(c, s).

    • VrfyVrfy: On input a public key (G,q,g,h)(\mathbb{G}, q, g, h), a message m{0,1}m \in \{0,1\}^*, and a signature (c,s)(c, s), compute I:=gshcI := g^{s} \cdot h^{-c}. Output 11 if and only if H(I,m)=cH(I, m) = c.

Security of Schnorr Identification Scheme

  • Theorem. If the Discrete-Logarithm problem is hard relative to G\mathscr G, then the Schnorr Identification scheme is secure (against passive attacks).
  • Corollary. If the Discrete-Logarithm problem is hard relative to G\mathscr G, and if HH is modelled as a random function, then the Schnorr Digital Signature scheme is secure.

— Apr 18, 2023

Creative Commons License
§19 Public-Key Identification Schemes by Lu Meng is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License. Permissions beyond the scope of this license may be available at About.