• Keine Ergebnisse gefunden

Digital Signature Scheme

N/A
N/A
Protected

Academic year: 2022

Aktie "Digital Signature Scheme"

Copied!
35
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Topics in Algebra: Cryptography

Univ.-Prof. Dr. Goulnara ARZHANTSEVA

WS 2019

(2)

Digital Signature Scheme

To ensure thenon-repudiationof data over an insecure channel:

Definition: Signature schemeis a 5-tuple (P,A,K,S,V), satisfying:

P is a finite set of possiblemessages;

Ais a finite set of possiblesignatures;

K, thekeyspace, is a finite set of possiblekeys;

S ={sigk :k ∈ K}consists of polynomialsigning algorithms sigk:P → A;

V ={verk :k ∈ K}consists of polynomialverification algorithms verk:P × A → {true, false};

∀x ∈ P ∀y ∈ A:

(true, ify =sigk(x)

(3)

Handwritten signature vs Digital signature

Usual Signature Digital Signature

A part of the document Transmitted and stored separately Verified by comparison Anyone can verify, efficiently with the original

A copy is distinguished A copy is identical from the original to the original

Easy to forge Computationally hard to forge Efficient signing process Efficient signing process

(4)

Public-key Cryptosystem vs Digital signature

Public-key cryptosystem Digital Signature Encrypt withEk Sign withDk Decrypt withDk Verify withEk

Mathematics: Is swapping ofDk andEk a valid operation? Practice: Is swapping of the corresponding primitives a valid operation?

Key management: not same keys for distinct applications.

(5)

Public-key Cryptosystem vs Digital signature

Public-key cryptosystem Digital Signature Encrypt withEk Sign withDk Decrypt withDk Verify withEk

Mathematics: Is swapping ofDk andEk a valid operation?

Practice: Is swapping of the corresponding primitives a valid operation?

Key management: not same keys for distinct applications.

(6)

RSA Digital signature

Definition: RSA Signature schemeis a 5-tuple (P,A,K,S,V) such that:

n=pq, wherep,q are primes,P =A=Z/nZand K={(n,p,q,d,e) : de= 1 modφ(n)}

Fork = (n,p,q,d,e), we define

sigk(x) =xd modn and

verk(x,y) =

(true, ifx =yemodn false, otherwise.

(7)

Test questions

Question 15

1 The DSS requires thatS={sigk :k ∈ K}consists of polynomial signing algorithmssigk:P → A but the RSA Signature scheme involves the exponentiation. Is there a contradiction?

2 The DSS definesverk(x,y) = true,ify =sigk(x) but the RSA Signature scheme definessigk(x) =xd modn and

verk(x,y) = true,ifx =yemodn.Is there a contradiction?

(8)

Attacks on DSS and their goals

Attacks on DSS

Key-only:The attacker knows the public verification key, hence,verk. Known message:The attacker knows some messages (not selected by him) and their signatures.

Chosen message:The attacker knows some messages (selected by him) and their signatures.

Goals of attacks on DSS

Total break:The attacker determines Alice’s private key, hence,sigk. Selective forgery:With a non-negligible probability, the attacker creates a valid signature on a message chosen by someone else.

Existential forgery:Forge a signature for some message (without the ability to do this for any message).

Universal forgery:Forge signatures of any message.

(9)

Attacks on DSS and their goals

Attacks on DSS

Key-only:The attacker knows the public verification key, hence,verk. Known message:The attacker knows some messages (not selected by him) and their signatures.

Chosen message:The attacker knows some messages (selected by him) and their signatures.

Goals of attacks on DSS

Total break:The attacker determines Alice’s private key, hence,sigk. Selective forgery:With a non-negligible probability, the attacker creates a valid signature on a message chosen by someone else.

Existential forgery:Forge a signature for some message (without the ability to do this for any message).

Universal forgery:Forge signatures of any message.

(10)

DSS goal

DSS goal: strongest variant

The resistance against universal forgery under a chosen message attack.

RSA Signature scheme is not resistant

Choose an arbitrary signaturey ∈Z/nZ, then compute the message x =yemodn; Thus,y is a valid signature on the messagex (because y =xd modn; note thatd is private).

(11)

Attacks on DSS: Examples

Existential forgeryusing key-only attack is always possible: Choose an arbitrary signaturey, then compute the messagex given byx :=Ek(y).

To prevent existential forgery: messageredundancyorhashing.

If the corresponding one-way function with trapdoor is multiplicative (e.g. in the RSA case: (xy)e=xe·ye), then theuniversal forgery under a chosen message attackis possible. Indeed, to signx decompose it asx =x1x2withx16=x 6=x2. Get the signaturesyi ofxi (this is possible as we are under a chosen message attack). Compute (x,y) = (x,y1y2). The RSA case (and the other one-way functions with trapdoor case): The signature has same length as the message.

(12)

Attacks on DSS: Examples

Existential forgeryusing key-only attack is always possible: Choose an arbitrary signaturey, then compute the messagex given byx :=Ek(y).

To prevent existential forgery: messageredundancyorhashing.

If the corresponding one-way function with trapdoor is multiplicative (e.g. in the RSA case: (xy)e=xe·ye), then theuniversal forgery under a chosen message attackis possible. Indeed, to signx decompose it asx =x1x2withx16=x 6=x2. Get the signaturesyi ofxi (this is possible as we are under a chosen message attack). Compute (x,y) = (x,y1y2).

The RSA case (and the other one-way functions with trapdoor case): The signature has same length as the message.

(13)

Attacks on DSS: Examples

Existential forgeryusing key-only attack is always possible: Choose an arbitrary signaturey, then compute the messagex given byx :=Ek(y).

To prevent existential forgery: messageredundancyorhashing.

If the corresponding one-way function with trapdoor is multiplicative (e.g. in the RSA case: (xy)e=xe·ye), then theuniversal forgery under a chosen message attackis possible. Indeed, to signx decompose it asx =x1x2withx16=x 6=x2. Get the signaturesyi ofxi (this is possible as we are under a chosen message attack). Compute (x,y) = (x,y1y2).

The RSA case (and the other one-way functions with trapdoor case):

The signature has same length as the message.

(14)

DSS + Hashing = Hash-then-sign

Definition: DSS with hashingis a DSS 5-tuple (P,A,K,S,V) such that:

P ={0,1} andA={0,1}` for some`∈N;

h:P → Aa publichash functiongiven by a polynomial algorithm;

sigk(x) =fk−1(h(x)), wherefk:A → Ais a one-way function with trapdoor.

∀x ∈ P,∀y ∈ A:verk(x,y) =

(true, iffk(y) =h(x) false, otherwise.

To avoid the attackshmust be a one-way non-multiplicative function.

(15)

Hash algorithm in practice: Example

TheSHA= Secure Hash Algorithms are cryptographic hash functions published by the National Institute of Standards and Technology (NIST) as a U.S. Federal Information Processing Standard (FIPS).

In 2017 CWI Amsterdam and Google announced they had performed a collision attack against SHA-1. Since 2017 Microsoft, Google, Apple and Mozilla have all announced that their respective browsers stop accepting SHA-1 SSL certificates.

Collisions allow two files to produce the same signature, so a signature may appear valid even though that file was never actually signed.

Current use: SHA-2, Future: SHA-3 (both have various specifications).

(16)

Hash algorithm in practice: Concept

Astream cipher:onebit or byte at a time (e.g. Caesar, Vernam).

Ablock cipher: blocksof bits at a time (e.g. Vigenère, Feistel) Symmetrickey algorithms: DES’1975 (64-bits blocks),

3DES=TDES’1998 (64-bits blocks), AES’2000 (128-bits blocks)

Definition: Hash functions from block ciphers

LetP =K=C ={0,1}` for some`∈NandE be a block cipher: E:P × K → C,(x,e)7→Ee(x).

Defineh(x1, . . . ,xr)∈ {0,1}`withxi ∈ {0,1}` recursively, byh(∅) = 0, and

h(x1, . . . ,xr) =Eeh(xr) +eh, whereeh=h(x1, . . . ,xr−1). SHA-1 :{0,1} → {0,1}160is such example.

(17)

Hash algorithm in practice: Concept

Astream cipher:onebit or byte at a time (e.g. Caesar, Vernam).

Ablock cipher: blocksof bits at a time (e.g. Vigenère, Feistel) Symmetrickey algorithms: DES’1975 (64-bits blocks),

3DES=TDES’1998 (64-bits blocks), AES’2000 (128-bits blocks) Definition: Hash functions from block ciphers

LetP =K=C={0,1}` for some`∈NandE be a block cipher:

E:P × K → C,(x,e)7→Ee(x).

Defineh(x1, . . . ,xr)∈ {0,1}` withxi ∈ {0,1}` recursively, byh(∅) = 0, and

h(x1, . . . ,xr) =Eeh(xr) +eh, whereeh=h(x1, . . . ,xr−1).

SHA-1 :{0,1} → {0,1}160is such example.

(18)

Hash algorithm in practice: Concept

Astream cipher:onebit or byte at a time (e.g. Caesar, Vernam).

Ablock cipher: blocksof bits at a time (e.g. Vigenère, Feistel) Symmetrickey algorithms: DES’1975 (64-bits blocks),

3DES=TDES’1998 (64-bits blocks), AES’2000 (128-bits blocks) Definition: Hash functions from block ciphers

LetP =K=C={0,1}` for some`∈NandE be a block cipher:

E:P × K → C,(x,e)7→Ee(x).

Defineh(x1, . . . ,xr)∈ {0,1}` withxi ∈ {0,1}` recursively, byh(∅) = 0, and

(19)

DSS + Public-key cryptosystem

Alice sends asignedencryptedmessage to Bob

1 Givenx ∈ P, she computes her signaturey =sigd

Alice(x).

2 She encrypts bothx andy using Bob’s public keyz =EeBob(x,y).

3 She sendsz to Bob, who decrypts itDdBob(z) = (x,y).

4 He uses her public verification function to check whether vereAlice(x,y) = true.

First signed, then encrypted.

Question 16

What if in the DSS + Public-key cryptosystem scheme we inverse the order of operations: what if Alice first encryptsx, and then signs the result?

(20)

DSS + Public-key cryptosystem

Alice sends asignedencryptedmessage to Bob

1 Givenx ∈ P, she computes her signaturey =sigd

Alice(x).

2 She encrypts bothx andy using Bob’s public keyz =EeBob(x,y).

3 She sendsz to Bob, who decrypts itDdBob(z) = (x,y).

4 He uses her public verification function to check whether vereAlice(x,y) = true.

First signed, then encrypted.

Question 16

(21)

ElGamal variant of Digital Signature

Definition: ElGamal Signature scheme

Letpbe a prime andga primitive element modp.

LetP = (Z/pZ)×,A= (Z/pZ)××(Z/(p−1)Z) and define K={(p,g,d,y) :y =gd modp}.

Fork = (p,g,d,y),and for a secrete randomr ∈(Z/(p−1)Z)×, define sigk(x;r) = (y1,y2), where

y1=gr modp, and y2= (x−dy1)r−1modp−1.

Forx,y1∈(Z/pZ)×andy2∈Z/(p−1)Z, define

verk(x,(y1,y2)) = true⇔yy1(y1)y2 ≡gx modp Public key is(p,g,y)and private key isd.

(22)

ElGamal variant of Digital Signature

Verification step: a signature will be accepted by the verifier

yy1(y1)y2 ≡(gd)y1gr(x−dy1)r−1 modp≡gx modp Reminder(a consequence of Fermat’s little theorem):

Sincegis primitive modpit has orderp−1.

Therefore,ga−b≡1 modp⇔a≡bmodp−1.

(23)

ElGamal variant of Digital Signature

Security assumptions: computationally hard to forge a signature

To forge a signature of a given messagex without knowingd an attacker chooses an arbitraryy1and then tries to findy2:

y2≡logy

1gxy−y1 modp, so he must solve the DLP in (Z/pZ)×.

Alternatively, he chooses an arbitraryy2and then tries to findy1: yy1y1y2 ≡gx modp,

so he must solve this equation with the unknowny1. Assumption: Both problems6∈BPP

(24)

ElGamal variant of Digital Signature

Security assumptions: computationally hard to forge a signature

To forge a signature of a given messagex without knowingd an attacker chooses an arbitraryy1and then tries to findy2:

y2≡logy

1gxy−y1 modp, so he must solve the DLP in (Z/pZ)×.

Alternatively, he chooses an arbitraryy2and then tries to findy1: yy1y1y2 ≡gx modp,

Assumption: Both problems6∈BPP

(25)

ElGamal variant of Digital Signature

Security assumptions: computationally hard to forge a signature

To forge a signature of a given messagex without knowingd an attacker chooses an arbitraryy1and then tries to findy2:

y2≡logy

1gxy−y1 modp, so he must solve the DLP in (Z/pZ)×.

Alternatively, he chooses an arbitraryy2and then tries to findy1: yy1y1y2 ≡gx modp,

so he must solve this equation with the unknowny1. Assumption: Both problems6∈BPP

(26)

ElGamal signature scheme: Example of misuse

Proposition: samer twice

The total break holds whenever the samer is used at least twice.

Proof: Let (y1,y2) a signature ofx1and (y1,z2) a signature ofx2. Then yy1y1y2 ≡gx1 modp, yy1y1z2 ≡gx2 modp, thus,gx1−x2 ≡y1y2−z2 modp.

Sincey1=gr modp, we have anequationwith theunknownr: gx1−x2 ≡gr(y2−z2)modp, which is equivalent (see the Reminder), to

(27)

ElGamal signature scheme: Example of misuse

We want to solve: x1−x2≡r(y2−z2) modp−1.

Lets=gcd(y2−z2,p−1). Thens|(x1−x2) and we define x0 = x1−x2

s ,y0 = y2−z2

s ,p0 = p−1 s .

Then the equation becomes: x0 ≡ry0 modp0. Sincegcd(y0,p0) = 1, we computez0 = (y0)−1modp0.Thenr =x0z0 modp0.This givess

candidates forr:

r =x0z0+ip0 modp−1, for 06i 6s−1. We determine the unique correct value by testing the condition y1≡gr modp.

Now thatr is known, the attacker can computed. Indeed,if gcd(y1,p−1) = 1, then

d = (x −ry2)(y1)−1modp−1.

Otherwise, testgcd(y1,p−1) solutions untild withy =gd modp.

(28)

ElGamal signature scheme: Example of misuse

We want to solve: x1−x2≡r(y2−z2) modp−1.

Lets=gcd(y2−z2,p−1). Thens|(x1−x2) and we define x0 = x1−x2

s ,y0 = y2−z2

s ,p0 = p−1 s .

Then the equation becomes: x0 ≡ry0 modp0. Sincegcd(y0,p0) = 1, we computez0 = (y0)−1modp0.Thenr =x0z0 modp0.This givess

candidates forr:

r =x0z0+ip0 modp−1, for 06i 6s−1.

We determine the unique correct value by testing the condition y1≡gr modp.

Now thatr is known, the attacker can computed. Indeed,if gcd(y1,p−1) = 1, then

d = (x −ry2)(y1)−1modp−1.

Otherwise, testgcd(y1,p−1) solutions untild withy =gd modp.

(29)

ElGamal signature scheme: Example of misuse

We want to solve: x1−x2≡r(y2−z2) modp−1.

Lets=gcd(y2−z2,p−1). Thens|(x1−x2) and we define x0 = x1−x2

s ,y0 = y2−z2

s ,p0 = p−1 s .

Then the equation becomes: x0 ≡ry0 modp0. Sincegcd(y0,p0) = 1, we computez0 = (y0)−1modp0.Thenr =x0z0 modp0.This givess

candidates forr:

r =x0z0+ip0 modp−1, for 06i 6s−1.

We determine the unique correct value by testing the condition y1≡gr modp.

Now thatr is known, the attacker can computed. Indeed,if gcd(y1,p−1) = 1, then

d = (x −ry2)(y1)−1modp−1.

Otherwise, testgcd(y1,p−1) solutions untild withy =gd modp.

(30)

EC variant of Digital Signature

EIGamal Signature Scheme: a suitable signature scheme, not just use of the ElGamal cryptosystem in the DSS.

Schnorr Signature Scheme: ElGamal Signature in a subgroup of size q of (Z/pZ)× (DLP in a subgroup6∈BPP) and the hashing is integrated in the signing (opposite to the hash-and-sign).

Digital Signature Algorithm(DSA): Schnorr Signature Scheme + hash-and-sign (SHA-1)

(31)

ECDSA: EC variant of Digital Signature

pprime,k=Z/pZ,E =E(k),P∈E of prime orderq.

Definition: ECDSA, hash-and-sign P ={0,1},A= (Z/qZ)××(Z/qZ)×and

K ={(p,q,E,P,d,Q) : Q =dP}, where 06d 6q−1.

Fork = (p,q,E,P,d,Q), and a secrete randomr, 16r 6q−1, define sigk(x,r) = (t,s), whererP = (u,v) with

t =umodq

s =r−1(h(x) +dt) modq

If eithert = 0 ors= 0, a new random value ofr is chosen.

The public key is(p,q,E,P,Q)and the private key isd.

(32)

ECDSA: EC variant of Digital Signature

pprime,k=Z/pZ,E =E(k),P∈E of prime orderq

Definition: ECDSA, verification

Forx ∈ {0,1}andt,s ∈(Z/qZ)×, we compute w =s−1modq

i =wh(x) modq j =wt modq (u,v) =iP+jQ

verk(x,(t,s)) = true⇔u modq=t.

(33)

ElGamal Signature scheme versus ECDSA

d = logPQthe discrete log: similar toy =gd modpin the ElGamal SS The order ofP is a large primeq: similar to the order of a primitiveg Computation ofrP: similar to computation ofgr in the ElGamal SS Computation oft, the first coordinate of the elliptic curve pointrP, modq: similar to computation ofgr modpto gety1, the first component of the signature (y1,y2)

s is computed fromt,d,r,x: similar to computation ofy2from y1,d,r,x.

(34)

Test questions

Question 17

1 What if in the argument showing that the Existential forgery is always possible we first choose an arbitraryx and then compute the corresponding signaturey?

2 Assume that the hash function is not collision-resistant. Is an existential forgery using a known message attack possible?

(35)

Test questions

Question 18

Why is the ElGamal signature scheme not just the use of the ElGamal cryptosysytem in the DSS? Compare with the RSA signature scheme.

Question 19

Does the ElGamal Signature scheme provide the authentication?

Compare to the ECDSA.

Referenzen

ÄHNLICHE DOKUMENTE

Der Adressat des Briefes, der Marquis de l’Hˆ opital, hat es in der Wissen- schaftsgeschichte durch einen wohl einmaligen Vorgang zu zweifelhaftem Ruhm ge- bracht.. Die von

qTESLA is a direct successor of this scheme, with several modifications aimed at improving its secu- rity, correctness, and implementation, the most important of which are:

Betrachte Beispiel 3.12 von Folie 169, die Arithmetik der

Betrachte Beispiel 3.12 von Folie 169, die Arithmetik der

Axel Gr¨ unrock.. UBUNGEN ZUR ANALYSIS

(1) Man beachte, dass die partiellen Ableitungen im Gegensatz zu den gew¨ ohn- lichen Ableitungen nicht durch Striche (oder Punkte im Falle der zeitlichen Ableitung)

Wir werden in diesem Abschnitt einige wichtige Anwendungen der Taylorschen Formel behandeln: Das totale Differenzial als lineare N¨ aherung, die Fehlerrechnung, die Theorie der

Existential forgery using key-only attack is always possible: Choose an arbitrary signature y, then compute the message x given by x := E k (y ).. To prevent existential