Elliptic curve only hash (ECOH) | |
Designers: | Daniel R. L. Brown, Matt Campagna, Rene Struik |
Publish Date: | 2008 |
Derived From: | MuHASH |
Digest Size: | 224, 256, 384 or 512 |
Cryptanalysis: | Second Pre-Image |
The elliptic curve only hash (ECOH) algorithm was submitted as a candidate for SHA-3 in the NIST hash function competition. However, it was rejected in the beginning of the competition since a second pre-image attack was found.
The ECOH is based on the MuHASH hash algorithm, that has not yet been successfully attacked. However, MuHASH is too inefficient for practical use and changes had to be made. The main difference is that where MuHASH applies a random oracle, ECOH applies a padding function. Assuming random oracles, finding a collision in MuHASH implies solving the discrete logarithm problem. MuHASH is thus a provably secure hash, i.e. we know that finding a collision is at least as hard as some hard known mathematical problem.
ECOH does not use random oracles and its security is not strictly directly related to the discrete logarithm problem, yet it is still based on mathematical functions. ECOH is related to the Semaev's problem of finding low degree solutions to the summation polynomial equations over binary field, called the Summation Polynomial Problem. An efficient algorithm to solve this problem has not been given so far. Although the problem was not proven to be NP-hard, it is assumed that such an algorithm does not exist. Under certain assumptions, finding a collision in ECOH may be also viewed as an instance of the subset sum problem. Besides solving the Summation Polynomial Problem, there exists another way how to find second pre-images and thus collisions, Wagner's generalized birthday attack.
ECOH is a good example of hash function that is based on mathematical functions (with the provable security approach) rather than on classical ad hoc mixing of bits to obtain the hash.
Given
n
M
n
M0,\ldots,Mn-1
P
P
Pi
X1
X2
H
\begin{align} Pi&{}:=P(Mi,i)\\ X1&{}:=P'(n)\\ X2&{}:=
*(M | |
P | |
i, |
n)\\ Q&{}:=
n-1 | |
\sum | |
i=0 |
Pi+X1+X2\\ R&{}:=f(Q) \end{align}
The two extra points are computed by
P'
P*
Q
R
Four ECOH algorithms were proposed, ECOH-224, ECOH-256, ECOH-384 and ECOH-512. The number represents the size of the message digest. They differ in the length of parameters, block size and in the used elliptic curve. The first two uses the elliptic curve B-283:
X283+X12+X7+X5+1
X409+X87+1
X571+X10+X5+X2+1
2128
Pi's
The ECOH hash functions are based on concrete mathematical functions. They were designed such that the problem of finding collisions should be reducible to a known and hard mathematical problem (the subset sum problem). It means that if one could find collisions, one would be able to solve the underlying mathematical problem which is assumed to be hard and unsolvable in polynomial time. Functions with these properties are known provably secure and are quite unique among the rest of hash functions. Nevertheless, second pre-image (and thus a collision) was later found because the assumptions given in the proof were too strong.
One way of finding collisions or second pre-images is solving Semaev Summation Polynomials. For a given elliptic curve E, there exists polynomials
fn
n
E
More formally: Let
F
E
F
O
fn(X1,\ldots,XN)
y1,\ldots,yn
(x1,y1)+\ldots+(xn,yn)=O
2n-2
The problem of finding collisions in ECOH is similar to the subset sum problem. Solving a subset sum problem is almost as hard as the discrete logarithm problem. It is generally assumed that this is not doable in polynomial time. However a significantly loose heuristic must be assumed, more specifically, one of the involved parameters in the computation is not necessarily random but has a particular structure. If one adopts this loose heuristic, then finding an internal ECOH collision may be viewed as an instance of the subset sum problem.
A second pre-image attack exists in the form of generalized birthday attack.
Description of the attack: This is a Wagner’s Generalized Birthday Attack. It requires 2143 time for ECOH-224 and ECOH-256, 2206 time for ECOH-384, and 2287 time for ECOH-512. The attack sets the checksum block to a fixed value and uses a collision search on the elliptic curve points. For this attack we have a message M and try to find a M that hashes to the same message. We first split the message length into six blocks. So
M'=(M1,M2,M3,M4,M5,M6)
(M0,M1)
M2
M2:=M0+M1
P(M0,0)+P(M1,1)+P(M2,2)
(M3,M4)
M5:=M3+M4
Q-X1-X2-P(M3,3)-P(M4,4)-P(M5,5)
X1
X2
X2
If K is larger than the square root of the number of points on the elliptic curve thenwe expect one collision between the two lists. This gives us a message
(M1,M2,M3,M4,M5,M6)
Q=
5 | |
\sum | |
i=0 |
P(Mi,i)+X1+X2
Actual parameters:
2283
K=2142
2143
2409
K=2205
2206.
2571
K=2286
2287.
The official comments on ECOH included a proposal called ECOH2 that doubles the elliptic curve size in an effort to stop the Halcrow-Ferguson second preimage attack with a prediction of improved or similar performance.