elliptic curve hash and sign
play

Elliptic Curve Hash (and Sign) ECOH (and the 1-up problem for ECDSA) - PowerPoint PPT Presentation

Elliptic Curve Hash (and Sign) ECOH (and the 1-up problem for ECDSA) Daniel R. L. Brown Certicom Research ECC 2008, Utrecht, Sep 22-24 2008 Dan Brown (Certicom) Elliptic Curve Hash (and Sign) ECC 2008 1 / 43 Outline ECOH 1 Background


  1. Elliptic Curve Hash (and Sign) ECOH (and the 1-up problem for ECDSA) Daniel R. L. Brown Certicom Research ECC 2008, Utrecht, Sep 22-24 2008 Dan Brown (Certicom) Elliptic Curve Hash (and Sign) ECC 2008 1 / 43

  2. Outline ECOH 1 Background Evolution Implementation CFV One-Up Problem for ECDSA 2 Conclusion 3 Dan Brown (Certicom) Elliptic Curve Hash (and Sign) ECC 2008 2 / 43

  3. ECOH Elliptic Curve Only Hash Definition (High level) Pad message block M i into a point P i . � T = P i (1) i Do the same for T . Truncate to get hash H . Dan Brown (Certicom) Elliptic Curve Hash (and Sign) ECC 2008 3 / 43

  4. ECOH Background Motivation: SHA-3 Wang, Feng, Lai, Yu: collision FOUND in MD5. Wang, Yin, Yu: 2 69 collision algorithm for SHA-1 Wang, Yao, Yao: 2 63 collision algorithm for SHA-1 NIST: please use SHA-2 NIST: is SHA-2 ok? NIST: SHA-3 competition, AES-style Some like to call “AHS” Dan Brown (Certicom) Elliptic Curve Hash (and Sign) ECC 2008 4 / 43

  5. ECOH Background Motivation: SHA-3 Wang, Feng, Lai, Yu: collision FOUND in MD5. Wang, Yin, Yu: 2 69 collision algorithm for SHA-1 Wang, Yao, Yao: 2 63 collision algorithm for SHA-1 NIST: please use SHA-2 NIST: is SHA-2 ok? NIST: SHA-3 competition, AES-style Some like to call “AHS” Dan Brown (Certicom) Elliptic Curve Hash (and Sign) ECC 2008 4 / 43

  6. ECOH Background Motivation: SHA-3 Wang, Feng, Lai, Yu: collision FOUND in MD5. Wang, Yin, Yu: 2 69 collision algorithm for SHA-1 Wang, Yao, Yao: 2 63 collision algorithm for SHA-1 NIST: please use SHA-2 NIST: is SHA-2 ok? NIST: SHA-3 competition, AES-style Some like to call “AHS” Dan Brown (Certicom) Elliptic Curve Hash (and Sign) ECC 2008 4 / 43

  7. ECOH Background Motivation: SHA-3 Wang, Feng, Lai, Yu: collision FOUND in MD5. Wang, Yin, Yu: 2 69 collision algorithm for SHA-1 Wang, Yao, Yao: 2 63 collision algorithm for SHA-1 NIST: please use SHA-2 NIST: is SHA-2 ok? NIST: SHA-3 competition, AES-style Some like to call “AHS” Dan Brown (Certicom) Elliptic Curve Hash (and Sign) ECC 2008 4 / 43

  8. ECOH Background Motivation: SHA-3 Wang, Feng, Lai, Yu: collision FOUND in MD5. Wang, Yin, Yu: 2 69 collision algorithm for SHA-1 Wang, Yao, Yao: 2 63 collision algorithm for SHA-1 NIST: please use SHA-2 NIST: is SHA-2 ok? NIST: SHA-3 competition, AES-style Some like to call “AHS” Dan Brown (Certicom) Elliptic Curve Hash (and Sign) ECC 2008 4 / 43

  9. ECOH Background Motivation: SHA-3 Wang, Feng, Lai, Yu: collision FOUND in MD5. Wang, Yin, Yu: 2 69 collision algorithm for SHA-1 Wang, Yao, Yao: 2 63 collision algorithm for SHA-1 NIST: please use SHA-2 NIST: is SHA-2 ok? NIST: SHA-3 competition, AES-style Some like to call “AHS” Dan Brown (Certicom) Elliptic Curve Hash (and Sign) ECC 2008 4 / 43

  10. ECOH Background Motivation: SHA-3 Wang, Feng, Lai, Yu: collision FOUND in MD5. Wang, Yin, Yu: 2 69 collision algorithm for SHA-1 Wang, Yao, Yao: 2 63 collision algorithm for SHA-1 NIST: please use SHA-2 NIST: is SHA-2 ok? NIST: SHA-3 competition, AES-style Some like to call “AHS” Dan Brown (Certicom) Elliptic Curve Hash (and Sign) ECC 2008 4 / 43

  11. ECOH Background Discrete Log Hash: CHP Definition (Chaum, van Heijst, Pfitzmann (1991)) H ( m , n ) = mP + nQ Theorem A collision in H gives log P ( Q ) . Proof. If H ( a , b ) = H ( c , d ), then aP + bQ = cP + dQ (2) and solving log P ( Q ) = a − c d − b mod n . Dan Brown (Certicom) Elliptic Curve Hash (and Sign) ECC 2008 5 / 43

  12. ECOH Background Discrete Log Hash: CHP Definition (Chaum, van Heijst, Pfitzmann (1991)) H ( m , n ) = mP + nQ Theorem A collision in H gives log P ( Q ) . Proof. If H ( a , b ) = H ( c , d ), then aP + bQ = cP + dQ (2) and solving log P ( Q ) = a − c d − b mod n . Dan Brown (Certicom) Elliptic Curve Hash (and Sign) ECC 2008 5 / 43

  13. ECOH Background Discrete Log Hash: CHP Definition (Chaum, van Heijst, Pfitzmann (1991)) H ( m , n ) = mP + nQ Theorem A collision in H gives log P ( Q ) . Proof. If H ( a , b ) = H ( c , d ), then aP + bQ = cP + dQ (2) and solving log P ( Q ) = a − c d − b mod n . Dan Brown (Certicom) Elliptic Curve Hash (and Sign) ECC 2008 5 / 43

  14. ECOH Background CHP Pros and Cons Provably secure assuming ECDLP hard. 3 m / 2 EC adds per 2 m bits. Compression factor 2, must be iterated. Dan Brown (Certicom) Elliptic Curve Hash (and Sign) ECC 2008 6 / 43

  15. ECOH Background Discrete Log Hash 2: MuHASH Definition (Bellare and Micciancio (1997)) Let P i = F ( i � M i ), where F is a “random oracle”. Let � H = P i (3) i Dan Brown (Certicom) Elliptic Curve Hash (and Sign) ECC 2008 7 / 43

  16. ECOH Background MuHASH Advantages One EC add per m bits. ◮ E.g. 384 times faster than CHP. Parallelizable. Incremental: ◮ H ′ = H − P i + P ′ i Provably secure, assuming ECDLP hard and F random oracle. Dan Brown (Certicom) Elliptic Curve Hash (and Sign) ECC 2008 8 / 43

  17. ECOH Background MuHASH Disadvantages Assumes F is a random oracle. Insecure if F insecure. ◮ Must already have a collision-resistant F . ◮ SHA-1? SHA-2? SHA-3? Dan Brown (Certicom) Elliptic Curve Hash (and Sign) ECC 2008 9 / 43

  18. ECOH Evolution ECOH’s Design Rationale Leverage from MuHASH: ◮ Speed. ◮ Parallelizability. ◮ Incrementality. Avoid reliance on pre-existing F . Dan Brown (Certicom) Elliptic Curve Hash (and Sign) ECC 2008 10 / 43

  19. ECOH Evolution EECH Replace F by fixed key block cipher: � H = F ( i � M i ) (4) i Encrypted Elliptic Curve Hash (EECH) born. No collisions in F , guaranteed. Model F by ideal cipher. Rehash Bellare and Micciancio’s security proof. Dan Brown (Certicom) Elliptic Curve Hash (and Sign) ECC 2008 11 / 43

  20. ECOH Evolution EECH Replace F by fixed key block cipher: � H = F ( i � M i ) (4) i Encrypted Elliptic Curve Hash (EECH) born. No collisions in F , guaranteed. Model F by ideal cipher. Rehash Bellare and Micciancio’s security proof. Dan Brown (Certicom) Elliptic Curve Hash (and Sign) ECC 2008 11 / 43

  21. ECOH Evolution EECH Replace F by fixed key block cipher: � H = F ( i � M i ) (4) i Encrypted Elliptic Curve Hash (EECH) born. No collisions in F , guaranteed. Model F by ideal cipher. Rehash Bellare and Micciancio’s security proof. Dan Brown (Certicom) Elliptic Curve Hash (and Sign) ECC 2008 11 / 43

  22. ECOH Evolution EECH Replace F by fixed key block cipher: � H = F ( i � M i ) (4) i Encrypted Elliptic Curve Hash (EECH) born. No collisions in F , guaranteed. Model F by ideal cipher. Rehash Bellare and Micciancio’s security proof. Dan Brown (Certicom) Elliptic Curve Hash (and Sign) ECC 2008 11 / 43

  23. ECOH Evolution EECH Replace F by fixed key block cipher: � H = F ( i � M i ) (4) i Encrypted Elliptic Curve Hash (EECH) born. No collisions in F , guaranteed. Model F by ideal cipher. Rehash Bellare and Micciancio’s security proof. Dan Brown (Certicom) Elliptic Curve Hash (and Sign) ECC 2008 11 / 43

  24. ECOH Evolution Oops: Not 1-way Unlike MuHASH, F now invertible. If adversary knows M 1 and M 3 but not M 2 , then 2 � M 2 = F − 1 ( H ( M 1 , M 2 , M 3 ) − F (1 � M 1 ) − F (3 � M 3 )) (5) Dan Brown (Certicom) Elliptic Curve Hash (and Sign) ECC 2008 12 / 43

  25. ECOH Evolution Oops: Not 1-way Unlike MuHASH, F now invertible. If adversary knows M 1 and M 3 but not M 2 , then 2 � M 2 = F − 1 ( H ( M 1 , M 2 , M 3 ) − F (1 � M 1 ) − F (3 � M 3 )) (5) Dan Brown (Certicom) Elliptic Curve Hash (and Sign) ECC 2008 12 / 43

  26. ECOH Evolution Fix it up. Post-process with one-way function? ◮ Scalar multiply? ◮ EECH again? ◮ Pairing? ◮ Checksum in extra block? Seems to thwart block inversion attack. Interferes with incrementality. Dan Brown (Certicom) Elliptic Curve Hash (and Sign) ECC 2008 13 / 43

  27. ECOH Evolution Ouch: Not collision resistant! Let 2 � D = F − 1 ( F (1 � A ) + F (2 � B ) − F (1 � C )) (6) Probability of index 2 appearing depends its bit length. Try that many C values, until it works. Then F (1 � A ) + F (2 � B ) = F (1 � C ) + F (2 � D ) , (7) i.e. a collision H ( A , B ) = H ( C , D ). Second preimage attack! Dan Brown (Certicom) Elliptic Curve Hash (and Sign) ECC 2008 14 / 43

  28. ECOH Evolution Fix it again. Pad M i , before applying F . If F random enough, inverting will not give requisite padding. Dan Brown (Certicom) Elliptic Curve Hash (and Sign) ECC 2008 15 / 43

  29. ECOH Evolution ECOH Now that EECH is all fixed ... just set F to the identity function. Elliptic Curve Only Hash. Dan Brown (Certicom) Elliptic Curve Hash (and Sign) ECC 2008 16 / 43

  30. ECOH Evolution ECOH Now that EECH is all fixed ... just set F to the identity function. Elliptic Curve Only Hash. Dan Brown (Certicom) Elliptic Curve Hash (and Sign) ECC 2008 16 / 43

  31. ECOH Evolution ECOH Now that EECH is all fixed ... just set F to the identity function. Elliptic Curve Only Hash. Dan Brown (Certicom) Elliptic Curve Hash (and Sign) ECC 2008 16 / 43

  32. ECOH Evolution ECOH vs. EECH Purity of ECOH. No dependence on ideal cipher model. No performance cost of enciphering. ◮ ECOH is already slow enough. Is it more crazy to: ◮ encrypt with a fixed key, ◮ do nothing? Dan Brown (Certicom) Elliptic Curve Hash (and Sign) ECC 2008 17 / 43

Recommend


More recommend