The elliptic curve only hash (ECOH) algorithm was submitted as a candidate for SHA-3 in the
NIST hash function competition
The NIST hash function competition was an open competition held by the US National Institute of Standards and Technology (NIST) to develop a new hash function called SHA-3 to complement the older SHA-1 and SHA-2. The competition was formally ann ...
. However, it was rejected in the beginning of the competition since a
second pre-image attack
The second (symbol: s) is the unit of time in the International System of Units (SI), historically defined as of a day – this factor derived from the division of the day first into 24 hours, then to 60 minutes and finally to 60 seconds eac ...
was found.
The ECOH is based on the
MuHASH hash algorithm
A hash function is any function that can be used to map data of arbitrary size to fixed-size values. The values returned by a hash function are called ''hash values'', ''hash codes'', ''digests'', or simply ''hashes''. The values are usually ...
, 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
In cryptography, a random oracle is an oracle (a theoretical black box) that responds to every ''unique query'' with a (truly) random response chosen uniformly from its output domain. If a query is repeated, it responds the same way every time tha ...
, ECOH applies a
padding
Padding is thin cushioned material sometimes added to clothes. Padding may also be referred to as batting when used as a layer in lining quilts or as a packaging or stuffing material. When padding is used in clothes, it is often done in an attempt ...
function. Assuming random oracles, finding a
collision
In physics, a collision is any event in which two or more bodies exert forces on each other in a relatively short time. Although the most common use of the word ''collision'' refers to incidents in which two or more objects collide with great fo ...
in MuHASH implies solving the
discrete logarithm problem
In mathematics, for given real numbers ''a'' and ''b'', the logarithm log''b'' ''a'' is a number ''x'' such that . Analogously, in any group ''G'', powers ''b'k'' can be defined for all integers ''k'', and the discrete logarithm log''b ...
. 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
In computational complexity theory, NP-hardness ( non-deterministic polynomial-time hardness) is the defining property of a class of problems that are informally "at least as hard as the hardest problems in NP". A simple example of an NP-hard pr ...
, 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 The subset sum problem (SSP) is a decision problem in computer science. In its most general formulation, there is a multiset S of integers and a target-sum T, and the question is to decide whether any subset of the integers sum to precisely T''.'' ...
. 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
Provable security refers to any type or level of computer security that can be proved. It is used in different ways by different fields.
Usually, this refers to mathematical proofs, which are common in cryptography. In such a proof, the capabiliti ...
approach) rather than on classical ad hoc mixing of bits to obtain the hash.
The algorithm
Given
, ECOH divides the message
into
blocks
. If the last block is incomplete, it is padded with single 1 and then appropriate number of 0. Let furthermore
be a function that maps a message block and an integer to an elliptic curve point. Then using the mapping
, each block is transformed to an
elliptic curve
In mathematics, an elliptic curve is a smooth, projective, algebraic curve of genus one, on which there is a specified point . An elliptic curve is defined over a field and describes points in , the Cartesian product of with itself. If ...
point
, and these points are
added together with two more points. One additional point
contains the padding and depends only on the message length. The second additional point
depends on the message length and the XOR of all message blocks. The result is
truncated to get the hash
.
The two extra points are computed by
and
.
adds all the elliptic curve points and the two extra points together. Finally, the result is passed through an output transformation function f to get the hash result
. To read more about this algorithm, se
"ECOH: the Elliptic Curve Only Hash"
Examples
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:
, with parameters (128, 64, 64). ECOH-384 uses the curve B-409:
, with parameters (192, 64, 64). ECOH-512 uses the curve B-571:
, with parameters (256, 128, 128). It can hash messages of bit length up to
.
Properties
* Incrementality: ECOH of a message can be updated quickly, given a small change in the message and an intermediate value in ECOH computation.
* Parallelizability: This means the computation of the
can be done on parallel systems.
* Speed: The ECOH algorithm is about thousand times slower than
SHA-1
In cryptography, SHA-1 (Secure Hash Algorithm 1) is a cryptographically broken but still widely used hash function which takes an input and produces a 160-bit (20- byte) hash value known as a message digest – typically rendered as 40 hexadec ...
. However, given the developments in desktop hardware towards
parallelization
Parallel computing is a type of computation in which many calculations or processes are carried out simultaneously. Large problems can often be divided into smaller ones, which can then be solved at the same time. There are several different f ...
and
carryless multiplication, ECOH may in a few years be as fast as SHA-1 for long messages. For short messages, ECOH is relatively slow, unless extensive tables are used.
Security of ECOH
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 The subset sum problem (SSP) is a decision problem in computer science. In its most general formulation, there is a multiset S of integers and a target-sum T, and the question is to decide whether any subset of the integers sum to precisely T''.'' ...
). 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
In computer science, the time complexity is the computational complexity that describes the amount of computer time it takes to run an algorithm. Time complexity is commonly estimated by counting the number of elementary operations performed by ...
. Functions with these properties are known
provably secure
Provable security refers to any type or level of computer security that can be proved. It is used in different ways by different fields.
Usually, this refers to mathematical proofs, which are common in cryptography. In such a proof, the capabiliti ...
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.
Semaev Summation Polynomial
One way of finding collisions or second pre-images is solving Semaev Summation Polynomials. For a given elliptic curve E, there exists polynomials
that are symmetric in
variables and that vanish exactly when evaluated at abscissae of points whose sum is 0 in
. So far, an efficient algorithm to solve this problem does not exist and it is assumed to be hard (but not proven to be
NP-hard
In computational complexity theory, NP-hardness ( non-deterministic polynomial-time hardness) is the defining property of a class of problems that are informally "at least as hard as the hardest problems in NP". A simple example of an NP-hard pr ...
).
More formally: Let
be a finite field,
be an elliptic curve with
Weierstrass equation
In mathematics, an elliptic curve is a smooth, projective, algebraic curve of genus one, on which there is a specified point . An elliptic curve is defined over a field and describes points in , the Cartesian product of with itself. If t ...
having coefficients in
and
be the point of infinity. It is known that there exists a multivariable polynomial
if and only if there exist <
such that
. This polynomial has degree
in each variable. The problem is to find this polynomial.
Provable security discussion
The problem of finding collisions in ECOH is similar to the
subset sum problem The subset sum problem (SSP) is a decision problem in computer science. In its most general formulation, there is a multiset S of integers and a target-sum T, and the question is to decide whether any subset of the integers sum to precisely T''.'' ...
. Solving a subset sum problem is almost as hard as the
discrete logarithm
In mathematics, for given real numbers ''a'' and ''b'', the logarithm log''b'' ''a'' is a number ''x'' such that . Analogously, in any group ''G'', powers ''b'k'' can be defined for all integers ''k'', and the discrete logarithm log' ...
problem. It is generally assumed that this is not doable in
polynomial time
In computer science, the time complexity is the computational complexity that describes the amount of computer time it takes to run an algorithm. Time complexity is commonly estimated by counting the number of elementary operations performed by ...
. 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 The subset sum problem (SSP) is a decision problem in computer science. In its most general formulation, there is a multiset S of integers and a target-sum T, and the question is to decide whether any subset of the integers sum to precisely T''.'' ...
.
A second pre-image attack exists in the form of generalized birthday attack.
Second pre-image attack
Description of the attack: This is a Wagner’s Generalized
Birthday Attack. It requires 2
143 time for ECOH-224 and ECOH-256, 2
206 time for ECOH-384, and 2
287 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
. Let ''K'' be a natural number. We choose ''K'' different numbers for
and define
by
. We compute the ''K'' corresponding elliptic curve points
and store them in a list. We then choose ''K'' different random values for
, define
, we compute
, and store them in a second list. Note that the target ''Q'' is known.
only depends on the length of the message which we have fixed.
depends on the length and the XOR of all message blocks, but we choose the message blocks such that this is always zero. Thus,
is fixed for all our tries.
If ''K'' is larger than the square root of the number of points on the elliptic curve then
we expect one
collision
In physics, a collision is any event in which two or more bodies exert forces on each other in a relatively short time. Although the most common use of the word ''collision'' refers to incidents in which two or more objects collide with great fo ...
between the two lists. This gives us a message
with:
This means that this message leads to the target value ''Q'' and thus to a second preimage, which was the question. The workload we have to do here is two times ''K'' partial hash computations. For more info, se
"A Second Pre-image Attack Against Elliptic Curve Only Hash (ECOH)"
Actual parameters:
* ECOH-224 and ECOH-256 use the elliptic curve B-283 with approximately
points on the curve. We choose
and get an attack with complexity
.
* ECOH-384 uses the elliptic curve B-409 with approximately
points on the curve. Choosing
gives an attack with complexity
* ECOH-512 uses the elliptic curve B-571 with approximately
points on the curve. Choosing
gives an attack with complexity
ECOH2
The officia
commentson 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.
References
* Daniel R. L. Brown, Matt Campagna, Rene Struik (2008)
"ECOH: the Elliptic Curve Only Hash"
* Michael A. Halcrow, Niels Ferguson (2009)
"A Second Pre-image Attack Against Elliptic Curve Only Hash (ECOH)"
{{Cryptography navbox , hash
Cryptographic hash functions