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
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
Certicom Research
Dan Brown (Certicom) Elliptic Curve Hash (and Sign) ECC 2008 1 / 43
1
2
3
Dan Brown (Certicom) Elliptic Curve Hash (and Sign) ECC 2008 2 / 43
ECOH
Dan Brown (Certicom) Elliptic Curve Hash (and Sign) ECC 2008 3 / 43
ECOH Background
Dan Brown (Certicom) Elliptic Curve Hash (and Sign) ECC 2008 4 / 43
ECOH Background
Dan Brown (Certicom) Elliptic Curve Hash (and Sign) ECC 2008 4 / 43
ECOH Background
Dan Brown (Certicom) Elliptic Curve Hash (and Sign) ECC 2008 4 / 43
ECOH Background
Dan Brown (Certicom) Elliptic Curve Hash (and Sign) ECC 2008 4 / 43
ECOH Background
Dan Brown (Certicom) Elliptic Curve Hash (and Sign) ECC 2008 4 / 43
ECOH Background
Dan Brown (Certicom) Elliptic Curve Hash (and Sign) ECC 2008 4 / 43
ECOH Background
Dan Brown (Certicom) Elliptic Curve Hash (and Sign) ECC 2008 4 / 43
ECOH Background
d−b mod n.
Dan Brown (Certicom) Elliptic Curve Hash (and Sign) ECC 2008 5 / 43
ECOH Background
d−b mod n.
Dan Brown (Certicom) Elliptic Curve Hash (and Sign) ECC 2008 5 / 43
ECOH Background
d−b mod n.
Dan Brown (Certicom) Elliptic Curve Hash (and Sign) ECC 2008 5 / 43
ECOH Background
Dan Brown (Certicom) Elliptic Curve Hash (and Sign) ECC 2008 6 / 43
ECOH Background
Dan Brown (Certicom) Elliptic Curve Hash (and Sign) ECC 2008 7 / 43
ECOH Background
◮ E.g. 384 times faster than CHP.
◮ H′ = H − Pi + P′
i
Dan Brown (Certicom) Elliptic Curve Hash (and Sign) ECC 2008 8 / 43
ECOH Background
◮ 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
ECOH Evolution
◮ Speed. ◮ Parallelizability. ◮ Incrementality.
Dan Brown (Certicom) Elliptic Curve Hash (and Sign) ECC 2008 10 / 43
ECOH Evolution
Dan Brown (Certicom) Elliptic Curve Hash (and Sign) ECC 2008 11 / 43
ECOH Evolution
Dan Brown (Certicom) Elliptic Curve Hash (and Sign) ECC 2008 11 / 43
ECOH Evolution
Dan Brown (Certicom) Elliptic Curve Hash (and Sign) ECC 2008 11 / 43
ECOH Evolution
Dan Brown (Certicom) Elliptic Curve Hash (and Sign) ECC 2008 11 / 43
ECOH Evolution
Dan Brown (Certicom) Elliptic Curve Hash (and Sign) ECC 2008 11 / 43
ECOH Evolution
Dan Brown (Certicom) Elliptic Curve Hash (and Sign) ECC 2008 12 / 43
ECOH Evolution
Dan Brown (Certicom) Elliptic Curve Hash (and Sign) ECC 2008 12 / 43
ECOH Evolution
◮ Scalar multiply? ◮ EECH again? ◮ Pairing? ◮ Checksum in extra block?
Dan Brown (Certicom) Elliptic Curve Hash (and Sign) ECC 2008 13 / 43
ECOH Evolution
Dan Brown (Certicom) Elliptic Curve Hash (and Sign) ECC 2008 14 / 43
ECOH Evolution
Dan Brown (Certicom) Elliptic Curve Hash (and Sign) ECC 2008 15 / 43
ECOH Evolution
Dan Brown (Certicom) Elliptic Curve Hash (and Sign) ECC 2008 16 / 43
ECOH Evolution
Dan Brown (Certicom) Elliptic Curve Hash (and Sign) ECC 2008 16 / 43
ECOH Evolution
Dan Brown (Certicom) Elliptic Curve Hash (and Sign) ECC 2008 16 / 43
ECOH Evolution
◮ ECOH is already slow enough.
◮ encrypt with a fixed key, ◮ do nothing? Dan Brown (Certicom) Elliptic Curve Hash (and Sign) ECC 2008 17 / 43
ECOH Evolution
◮ ECOH is already slow enough.
◮ encrypt with a fixed key, ◮ do nothing? Dan Brown (Certicom) Elliptic Curve Hash (and Sign) ECC 2008 17 / 43
ECOH Evolution
◮ ECOH is already slow enough.
◮ encrypt with a fixed key, ◮ do nothing? Dan Brown (Certicom) Elliptic Curve Hash (and Sign) ECC 2008 17 / 43
ECOH Evolution
◮ ECOH is already slow enough.
◮ encrypt with a fixed key, ◮ do nothing? Dan Brown (Certicom) Elliptic Curve Hash (and Sign) ECC 2008 17 / 43
ECOH Evolution
◮ ECOH is already slow enough.
◮ encrypt with a fixed key, ◮ do nothing? Dan Brown (Certicom) Elliptic Curve Hash (and Sign) ECC 2008 17 / 43
ECOH Evolution
◮ ECOH is already slow enough.
◮ encrypt with a fixed key, ◮ do nothing? Dan Brown (Certicom) Elliptic Curve Hash (and Sign) ECC 2008 17 / 43
ECOH Evolution
◮ ECOH is already slow enough.
◮ encrypt with a fixed key, ◮ do nothing? Dan Brown (Certicom) Elliptic Curve Hash (and Sign) ECC 2008 17 / 43
ECOH Evolution
◮ Detailed version in progress.
Dan Brown (Certicom) Elliptic Curve Hash (and Sign) ECC 2008 18 / 43
ECOH Evolution
Dan Brown (Certicom) Elliptic Curve Hash (and Sign) ECC 2008 19 / 43
ECOH Evolution
Dan Brown (Certicom) Elliptic Curve Hash (and Sign) ECC 2008 20 / 43
ECOH Evolution
Dan Brown (Certicom) Elliptic Curve Hash (and Sign) ECC 2008 21 / 43
ECOH Evolution
Dan Brown (Certicom) Elliptic Curve Hash (and Sign) ECC 2008 21 / 43
ECOH Evolution
Dan Brown (Certicom) Elliptic Curve Hash (and Sign) ECC 2008 21 / 43
ECOH Implementation
◮ B-283, ◮ B-409, ◮ B-571. Dan Brown (Certicom) Elliptic Curve Hash (and Sign) ECC 2008 22 / 43
ECOH Implementation
◮ Use linear half-trace function (not square root) ◮ Use look up tables.
Dan Brown (Certicom) Elliptic Curve Hash (and Sign) ECC 2008 23 / 43
ECOH Implementation
◮ Use linear half-trace function (not square root) ◮ Use look up tables.
Dan Brown (Certicom) Elliptic Curve Hash (and Sign) ECC 2008 23 / 43
ECOH Implementation
◮ Use linear half-trace function (not square root) ◮ Use look up tables.
Dan Brown (Certicom) Elliptic Curve Hash (and Sign) ECC 2008 23 / 43
ECOH Implementation
◮ Use linear half-trace function (not square root) ◮ Use look up tables.
Dan Brown (Certicom) Elliptic Curve Hash (and Sign) ECC 2008 23 / 43
ECOH Implementation
◮ Use linear half-trace function (not square root) ◮ Use look up tables.
Dan Brown (Certicom) Elliptic Curve Hash (and Sign) ECC 2008 23 / 43
ECOH Implementation
◮ Bit lookups for trace function ◮ Table lookups for squaring and half-trace ◮ Basic shift-and-xor polynomial multiply ◮ Affine coordinates
Dan Brown (Certicom) Elliptic Curve Hash (and Sign) ECC 2008 24 / 43
ECOH Implementation
◮ Not predicted to help.
◮ Should help somewhat.
◮ Each solving for y requires inversion. ◮ Each addition requires inversion. ◮ These can be replaced a few inversion and a corresponding
◮ Predicted speedup: maybe five times?
Dan Brown (Certicom) Elliptic Curve Hash (and Sign) ECC 2008 25 / 43
ECOH Implementation
Dan Brown (Certicom) Elliptic Curve Hash (and Sign) ECC 2008 26 / 43
ECOH Implementation
Dan Brown (Certicom) Elliptic Curve Hash (and Sign) ECC 2008 27 / 43
ECOH CFV
Dan Brown (Certicom) Elliptic Curve Hash (and Sign) ECC 2008 28 / 43
ECOH CFV
Dan Brown (Certicom) Elliptic Curve Hash (and Sign) ECC 2008 29 / 43
One-Up Problem for ECDSA
Dan Brown (Certicom) Elliptic Curve Hash (and Sign) ECC 2008 30 / 43
One-Up Problem for ECDSA
Dan Brown (Certicom) Elliptic Curve Hash (and Sign) ECC 2008 31 / 43
One-Up Problem for ECDSA
Dan Brown (Certicom) Elliptic Curve Hash (and Sign) ECC 2008 32 / 43
One-Up Problem for ECDSA
Dan Brown (Certicom) Elliptic Curve Hash (and Sign) ECC 2008 33 / 43
One-Up Problem for ECDSA
Dan Brown (Certicom) Elliptic Curve Hash (and Sign) ECC 2008 34 / 43
One-Up Problem for ECDSA
1
2
3
Dan Brown (Certicom) Elliptic Curve Hash (and Sign) ECC 2008 35 / 43
One-Up Problem for ECDSA
Dan Brown (Certicom) Elliptic Curve Hash (and Sign) ECC 2008 36 / 43
One-Up Problem for ECDSA
Dan Brown (Certicom) Elliptic Curve Hash (and Sign) ECC 2008 37 / 43
One-Up Problem for ECDSA
Dan Brown (Certicom) Elliptic Curve Hash (and Sign) ECC 2008 38 / 43
One-Up Problem for ECDSA
Dan Brown (Certicom) Elliptic Curve Hash (and Sign) ECC 2008 39 / 43
One-Up Problem for ECDSA
Dan Brown (Certicom) Elliptic Curve Hash (and Sign) ECC 2008 40 / 43
One-Up Problem for ECDSA
Dan Brown (Certicom) Elliptic Curve Hash (and Sign) ECC 2008 41 / 43
One-Up Problem for ECDSA
Dan Brown (Certicom) Elliptic Curve Hash (and Sign) ECC 2008 41 / 43
One-Up Problem for ECDSA
Dan Brown (Certicom) Elliptic Curve Hash (and Sign) ECC 2008 41 / 43
One-Up Problem for ECDSA
Dan Brown (Certicom) Elliptic Curve Hash (and Sign) ECC 2008 41 / 43
One-Up Problem for ECDSA
Dan Brown (Certicom) Elliptic Curve Hash (and Sign) ECC 2008 41 / 43
One-Up Problem for ECDSA
Dan Brown (Certicom) Elliptic Curve Hash (and Sign) ECC 2008 42 / 43
Conclusion
Dan Brown (Certicom) Elliptic Curve Hash (and Sign) ECC 2008 43 / 43