Skip to Content
CSE442TIntroduction to Cryptography (Lecture 19)

CSE442T Introduction to Cryptography (Lecture 19)

Chapter 5: Authentication

One-Time Secure Digital Signature

Definition 136.2 (Security of Digital Signature)

A digital signature scheme is (Gen,Sign,Ver)(Gen, Sign, Ver) is secure if for all n.u.p.p.t. A\mathcal{A}, there exists a negligible function ϵ(n)\epsilon(n) such that nN\forall n\in\mathbb{N},

P[(pk,sk)Gen(1n);(m,σ)ASignsk()(1n);A did not query m and Verpk(m,σ)=“Accept”]1p(n)+ϵ(n)P[(pk,sk)\gets Gen(1^n); (m,\sigma)\gets\mathcal{A}^{Sign_{sk}(\cdot)}(1^n); \mathcal{A}\textup{ did not query }m\textup{ and } Ver_{pk}(m,\sigma)=\textup{``Accept''}]\leq \frac{1}{p(n)}+\epsilon(n)

A digital signature scheme is one-time secure if it is secure and the adversary makes only one query to the signing oracle.

Lamport’s One-Time Signature

Given a one-way function ff, we can create a signature scheme as follows:

We construct a key pair (sk,pk)(sk, pk) as follows:

sksk is two list of random bits,

where sk0={x1ˉ0,x2ˉ0,,xnˉ0}sk_0=\{\bar{x_1}^0, \bar{x_2}^0, \ldots, \bar{x_n}^0\}

and sk1={x1ˉ1,x2ˉ1,,xnˉ1}sk_1=\{\bar{x_1}^1, \bar{x_2}^1, \ldots, \bar{x_n}^1\}.

pkpk is the image of sksk under ff, i.e. pk=f(sk)pk = f(sk).

where pk0={f(x1ˉ0),f(x2ˉ0),,f(xnˉ0)}pk_0 = \{f(\bar{x_1}^0), f(\bar{x_2}^0), \ldots, f(\bar{x_n}^0)\}

and pk1={f(x1ˉ1),f(x2ˉ1),,f(xnˉ1)}pk_1 = \{f(\bar{x_1}^1), f(\bar{x_2}^1), \ldots, f(\bar{x_n}^1)\}.

To sign a message m{0,1}nm\in\{0,1\}^n, we output the signature Signsk(m=m1m2mn)={x1ˉm1,x2ˉm2,,xnˉmn}Sign_{sk}(m=m_1m_2\ldots m_n) = \{\bar{x_1}^{m_1}, \bar{x_2}^{m_2}, \ldots, \bar{x_n}^{m_n}\}.

To verify a signature σ\sigma on mm, we check if f(σ)=pkmf(\sigma) = pk_m.

This is not more than one-time secure since the adversary can ask oracle for Signsk(0n)Sign_{sk}(0^n) and Signsk(1n)Sign_{sk}(1^n) to reveal list pk0pk_0 and pk1pk_1 to sign any message.

We will show it is one-time secure

Ideas of proof:

Say their query is Signsk(0n)Sign_{sk}(0^n) and reveals pk0pk_0.

Now must sign m0nm\neq 0^n. There must be a 1, somewhere in the message. Say the iith bit is the first 1. then they need to produce xx' such that f(xi)=f(xi)f(x_i)=f(x_i'), which inverts the one-way function.

Proof of one-time security:

Suppose there exists an adversary A\mathcal{A} that can produce a valid signature on a different message after one query to oracle with non-negligible probability μ>1p(n)\mu>\frac{1}{p(n)}.

We will design a function BB which use A\mathcal{A} to invert the one-way function with non-negligible probability.

Let x{0,1}nx\gets \{0,1\}^n be a random variable, y=f(x)y=f(x).

B: input is yy and 1n1^n. Our goal is to find xx' such that f(x)=yf(x')=y.

Create 2 lists:

sk0={x00,x10,,xn10}sk_0=\{x_0^0, x_1^0, \ldots, x_{n-1}^0\}

sk1={x01,x11,,xn11}sk_1=\{x_0^1, x_1^1, \ldots, x_{n-1}^1\}

Then we pick a random (c,i){0,1}n×[n](c,i)\gets \{0,1\}^n\times [n]. (2n2n possibilities)

Replace f(xic)f(x_i^c) with yy.

Return skcsk_c with None.

Run A\mathcal{A} on input yy and 1n1^n. It will query SignskSign_{sk} on some message mm.

Case 1: mi=1cm_i=1-c

We can answer with all of x1m1,x2m2,,x1cm1c,,xnmnx_1^{m_1}, x_2^{m_2}, \ldots, x_{1-c}^{m_{1-c}}, \ldots, x_n^{m_n}

Case 2: mi=cm_i=c

We must abort we don’t know what to do.

Since A\mathcal{A} outputs (m,σ)(m',\sigma) with non-negligible probability, we are hoping that mi=cm_i'=c. Then it’s attempting to provide xyx\to y

Since mm' differs at most 1 bit from mm, we have xyx\to y with probability P[mi=c]1nP[m_i'=c]\geq \frac{1}{n}.

σ=(x11,x21,,xn1)\sigma=(x_1^1,x_2^1,\ldots,x_n^1)

Check if f(σ)=yf(\sigma)=y. If so, output xx'. (all correct with prob 1p(n)\geq \frac{1}{p(n)})

If not, try again.

BB inverts ff with prob 1p(n)\geq \frac{1}{p(n)}

Collision Resistant Hash Functions (CRHF)

We now have one-time secure signature scheme.

We want one-time secure signature scheme that increase the size of messages relative to the keys.

Let H:{hi:DiRi}iIH:\{h_i:D_i\to R_i\}_{i\in I} be a family of CRHF if

Easy to pick:

Gen(1n)Gen(1^n): outputs iIi\in I (p,p,t)

Compression

Ri<Di|R_i|<|D_i| for each iIi\in I

Easy to compute:

Can computer hi(x),i,xDih_i(x),\forall i,x\in D_i with a p.p.t

Collision resistant:

n.u.p.p.tA\forall n.u.p.p.t \mathcal{A}, n\forall n,

P[iGen(1n);(x1,x2)A(1n,i):hi(x1)=hi(x2)x1x2]ϵ(n)P[i\gets Gen(1^n); (x_1,x_2)\gets \mathcal{A}(1^n,i): h_i(x_1)=h_i(x_2)\land x_1\neq x_2]\leq \epsilon(n)

CRHF implies one-way function.

But not the other way around. (CRHF is a stronger notion than one-way function.)

Last updated on