Lecture 9 Public Key Cryptography: Encryption + Signatures 1 El - - PowerPoint PPT Presentation

lecture 9
SMART_READER_LITE
LIVE PREVIEW

Lecture 9 Public Key Cryptography: Encryption + Signatures 1 El - - PowerPoint PPT Presentation

Lecture 9 Public Key Cryptography: Encryption + Signatures 1 El Gamal PK cryptosystem (83) - p large prime - b base, primitive element, generator - x private exponent - x y public residue y b p ; mod = P Z * p =


slide-1
SLIDE 1

1

Lecture 9

Public Key Cryptography: Encryption + Signatures

slide-2
SLIDE 2

2

El Gamal PK cryptosystem (83)

m p mb b c k m' p k compute p k compute : Decryption c} {k, ciphertext p mb p my c : compute p b k compute Z r random generate Encryption x : secrets y b p publics Z Z C Z P p b y residue public y exponent private x generator element, primitive base, b prime large p

xr rx x x x xr r r p p p p x

= = = = = = = Î ´ = = º

  • mod

) ( . 3 mod ) ( . 2 mod . 1 . 4 mod mod . 3 mod : . 2 . 1 : , , : mod ;

1 1 1 * * *

slide-3
SLIDE 3

3

El Gamal (example)

11mod13 24 12 * 2 12 mod13 1 12 12 mod13 9 10 : Decryption {10,2} ciphertext 2 mod13 10 5 * 11 c 10 mod13 10 2 k 10 r 11 m : Encryption 5 mod13 9 2 y 9 x 2 b 13 p º = =

  • =

= = = = = = = = = = = =

slide-4
SLIDE 4

4

Digital Signatures

I did not have intimate relations with that woman,…,

  • Ms. Lewinsky
  • Integrity
  • Authentication
  • Non-repudiation
  • Time-stamping
  • Causality
  • Authorization

If you like your current health insurance plan, you can keep it!

slide-5
SLIDE 5

5

Digital Signatures

A signature scheme: (P,A,K,Sign,Verify) P - plaintext (msgs) A - signatures K - keys Sign - signing function: (P*K)->A Verify - verification function: (P*A*K)  {0,1}

Usually message hash

slide-6
SLIDE 6

6

RSA Signature Scheme

??? ) ( : ) , ( :

  • n

Verificati : ) ( : Signing , : , , : mod 1 and mod and primes (large) two are q p where pq n Let

1 * ) ( e d n

y m m y Verify y signature n mod m y m Sign m message e n Publics d q p Secrets 1) 1)(q (p (n) Φ(n) ed Φ(n) d e Z e             

 

Use the fact that, in RSA, encryption reverses “decryption”

slide-7
SLIDE 7

7

RSA Signature Scheme (contd)

  • The good:
  • Verification can be cheap (like RSA encryption)
  • Mechanically same as RSA decryption function
  • Security based on RSA encryption
  • Signing is harder but #verify-s > 1…
  • Deterministic
  • The bad:
  • Recall that RSA is malleable: signatures can be

“massaged”

  • Phony “random” signatures
  • compute Y=RSA(e,X)=Xe mod n
  • X is a signature of Y because Yd=X mod n
  • The ugly:
  • Signing requires integrity!
  • How to sign multiple blocks?
  • Deterministic – needs additional randomization!
slide-8
SLIDE 8

8

El Gamal Signature Scheme

m xb m xb r xk r m r xb c k m c k r p p p p x

b b b b k y that notice p b p k y Verifying c} {k, e signatur p r xk m c : compute p b k compute Z r random generate Signing x : secrets y b p publics Z Z A Z P p b y residue public y exponent private x generator base, b prime large p

r r r

= = = = =

  • =

= Î ´ = = º

  • +
  • )

/ / ( 1 1 * * *

) ( : ??? mod mod : . 4 1 mod ) ( . 3 mod : . 2 . 1 : , , : mod ;

slide-9
SLIDE 9

9

El Gamal PK Cryptosystem

m p mb b c k m' p k compute p k compute : Decryption c} {k, ciphertext p mb p my c : compute p b k compute Z r random generate Encryption x : secrets y b p publics Z Z C Z P p b y residue public y exponent private x generator element, primitive base, b prime large p

xr rx x x x xr r r p p p p x

= = = = = = = Î ´ = = º

  • mod

) ( . 3 mod ) ( . 2 mod . 1 . 4 mod mod . 3 mod : . 2 . 1 : , , : mod ;

1 1 1 * * * *

m xb m xb r xk r m r xb c k m c k r p p p p x

b b b b k y that notice p b p k y Verifying c} {k, e signatur p r xk m c : compute p b k compute Z r random generate Signing x : secrets y b p publics Z Z A Z P p b y residue public y exponent private x generator base, b prime large p

r r r

= = = = =

  • =

= Î ´ = = º

  • +
  • )

/ / ( 1 1 * * * *

) ( : ??? mod mod : . 4 1 mod ) ( . 3 mod : . 2 . 1 : , , : mod ;

El Gamal Signature Scheme

slide-10
SLIDE 10

10

El Gamal Signature Scheme (contd) The good:

  • Signing is cheap(er)
  • Designed as a signature function
  • Non-deterministic (randomized)

The bad:

  • Need GOOD source of random numbers
  • Randomizers cannot be revealed (trace)
  • Randomizers cannot be reused
slide-11
SLIDE 11

11

The Digital Signature Standard (DSS)

  • Why DSS?
  • RSA issues: patents, malleability, etc.
  • A variant of El Gamal
  • Originally for |p|=512 bits, now up to 1024
  • Optimized for signature size (320- vs. 1024-bit)
  • Signing - 1 exp, verification - 2 exps
  • No attacks thus far
slide-12
SLIDE 12

12

DSS (contd)

??? mod mod : . 4 1 mod ) ( . 3 mod : . 2 . 1 : , , : , mod ;

1 1 * * * *

p b p k y Verifying c} {k, e signatur p r xk m c : compute p b k compute Z r random generate Signing x : ets y secr b p publics Z Z A Z P p b y residue public y exponent private x generator base, b prime large p

m c k r p p p p x

= =

  • =

= Î ´ = = º

  • p - 512 - bit prime

q - 160 - bit prime, (p - 1)%q = 0 b - base, bq º1mod p (b = d ( p-1)/q ) x - private exponent y - public residue; y º bx mod p P = Z p

*, A = Zq ´ Zq

publics : p, q, b, y secrets : x Signing :

  • 1. generate random r Î Z *

q-1

  • 2. compute : k = (br mod p)mod q
  • 3. compute : c = (m + xk)r-1 mod q
  • 4. signature = {k,c}

Verifying : (bmc-1k kc-1 mod p)mod q = bk mod p ??? notice that : bmc-1ykc-1 = bmr/(m+xbr )(b x )(brr/(m+xbr ) = b(mr+xbrr)/(m+xbr ) = br

slide-13
SLIDE 13

13

Identification

  • Public key cryptography can be also used for

IDENTIFICATION

  • Identification is an interactive protocol

whereby one party: “prover” (who claims to be, say, Alice) convinces the other party: “verifier” (Bob) that she is indeed Alice

  • Identification can be accomplished with public

key digital signatures

  • However, signatures reveal information…
  • Also, signatures are “transferable”, i.e., anyone

can verify them

slide-14
SLIDE 14

14

Fiat-Shamir Identification Scheme

  • In Fiat-Shamir, prover has an RSA modulus

n = pq (factorization is secret).

  • Factors themselves are not used in the

protocol.

  • Unlike RSA, a trusted center can generate a

global n, used by everyone, as long as nobody knows its factorization. Trusted center can “forget” the factorization after computing n.

slide-15
SLIDE 15

15

Fiat-Shamir Identification Scheme

  • Secret Key: Prover (P) chooses a random value

1 < S < n (to serve as the key) such that gcd(S,n) = 1

  • Public Key: P computes I=S2 mod n, publishes (I,n) as

his public key.

  • Purpose of the protocol: P has to convince verifier (V)

that he knows the secret S corresponding to the public key (I,n),

– i.e., to prove that he knows a square root of I mod n, without revealing S or any portion thereof

slide-16
SLIDE 16

16

Fiat-Shamir Prover (Alice) Verifier (Bob) n, I, S n

pick random R; set x=R2 mod n

I, x query = 0 1 R R * S mod n

Check that: R2 = x mod n (RS)2 = xI mod n

slide-17
SLIDE 17

17

Fiat-Shamir Identification Scheme

V wants to authenticate identity of P, who claims to have a public key I. Thus, V asks P to convince him that P knows the secret key S corresponding to I . 1. P chooses at random 1 < R < n and computes: X = R2 mod n 2. P sends X to V 3. V randomly requests from P one of two things (0 or 1):

(a) R

  • r

(b) RS mod n

4. P sends requested information

slide-18
SLIDE 18

18

Fiat-Shamir ZK Identification Scheme

  • 5. V checks the correct answer:

a) R2 ?= X (mod n)

  • r

b) (R*S)2 ?= X*I (mod n)

  • 6. If verification fails, V concludes that P

does not know S

  • 7. Protocol is repeated t (usually 20, 30,
  • r log n) times, and, if each one

succeeds, V concludes that P is the claimed party.

slide-19
SLIDE 19

19

What if Prover knows the challenge ahead of time: Case 0

n, I (doesn’t know S) n

pick random R; set x=R2 mod n

I, x query = 0 R

Check that: R2 = x mod n

slide-20
SLIDE 20

20

What if Prover knows the challenge ahead of time: Case 1

n, I (doesn’t know S) n

pick random R; set x=R2*I mod n

I, x=R2*I query = 1 R*I mod n (Instead of: R*S mod n)

Check that: (R*I)2 = x*I mod n

slide-21
SLIDE 21

21

Fiat-Shamir Identification Scheme

CLAIM: Protocol does not reveal ANY information about S or Protocol is ZERO-KNOWLEDGE Proof: We show that no information on S is revealed:

  • Clearly, when P sends X or R, he does not reveal any information
  • n S.
  • When P sends RS mod n:

– RS mod n is random, since R is random and gcd(S, n) = 1. – If adversary can compute any information on S from

I, n, X and RS mod n

he can also compute the same information on S from I and n, since he can choose a random T = R’S mod n and compute:

X’ = T2I-1 = (R’)2S2I-1 = (R’)2

slide-22
SLIDE 22

22

Security

Clearly, if P knows S, then V is convinced of his identity. If P does not know S, he can either:

1. know R, but not RS mod n. Since he is choosing R, he cannot multiply it by the unknown value S

  • r

2. choose RS mod n, and thus can answer the second question: RS mod n. But, in this case, he

cannot answer the first question R, since he needs to divide by the unknown S.

slide-23
SLIDE 23

23

Security

  • In any case, adversary cannot answer both questions, since
  • therwise he can compute S as the ratio between the two

answers.

  • But, we assumed that computing S is hard, equivalent to

factoring n.

  • Since P does not know in advance (when choosing R or RS mod

n) which question that V will ask, he cannot foresee the required choice. He can succeed in guessing V’s question with probability 1/2 for each question.

  • The probability that V fails to catch P in all runs is thus: 2-t

(e.g., 1 in 1,000,000,000 for t=20)

slide-24
SLIDE 24

24

How to explain ZK to your children

Point B Point A: entry Locked door

  • n both sides

Prover

Claims to have the key

V cannot follow P into the cave

Verifier

Claustrophobic and afraid of the dark

slide-25
SLIDE 25

25

How to explain ZK to your children

The Protocol:

1) V asks someone he trusts to check that the door is locked on both sides. 2) P goes into the maze past point B (heading either right or left) 3) V looks into the cave (while standing at point A) 4) V randomly picks right or left 5) V shouts (very loudly!) for P to come

  • ut from the picked direction

6) If P doesn’t come out from the picked direction, V knows that P is a liar and protocol terminates REPEAT (2)-(6) n TIMES Point B Point A