Very Smooth Hash (VSH) | |
Designers: | Scott Contini, Arjen K. Lenstra, Ron Steinfeld |
Publish Date: | 2005 |
Derived To: | VSH* |
Digest Size: | 1024 bits and up |
In cryptography, Very Smooth Hash (VSH) is a secure cryptographic hash function invented in 2005 by Scott Contini, Arjen Lenstra and Ron Steinfeld.Provably secure means that finding collisions is as difficult as some known hard mathematical problem. Unlike other secure collision-resistant hashes, VSH is efficient and usable in practice. Asymptotically, it only requires a single multiplication per log(n) message-bits and uses RSA-type arithmetic. Therefore, VSH can be useful in embedded environments where code space is limited.
Two major variants of VSH were proposed. For one, finding a collision is as difficult as finding a nontrivial modular square root of a very smooth number modulo n. The other one uses a prime modulus p (with no trapdoor), and its security proof relies on the hardness of finding discrete logarithms of very smooth numbers modulo p. Both versions have similar efficiency.
VSH is not suitable as a substitute for a random oracle, but can be used to build a secure randomized trapdoor hash function. This function can replace the trapdoor function used in the Cramer–Shoup signature scheme, maintaining its provable security while speeding up verification time by about 50%.
All cryptographic hash functions that are now widely used are not based on hard mathematical problems. Those few functions that are constructed on hard mathematical problems are called provably secure. Finding collisions is then known to be as hard as solving the hard mathematical problem. For the basic version of Very Smooth Hash function, this hard problem is to find modular square roots (VSSR) of certain special numbers (VSN). This is assumed to be as hard as factoring integers.
For a fixed constant c and n an integer m is a Very Smooth Number (VSN) if the largest prime factor of m is at most (log n)c.
An integer b is a Very Smooth Quadratic Residue modulo n if the largest prime in bs factorization is at most (log n)c and there exists an integer x such that
b\equivx2\modn
We are interested only in non-trivial square roots, those where x2 ≥ n. If x2 < n, the root can be easily computed using algorithms from fields of characteristics 0, such as real field. Therefore, they are not suitable in cryptographic primitives.
Very Smooth Number Nontrivial Modular Square Root (VSSR) is the following problem: Let n be the product of two unknown primes of approximately the same size and let
k\le(logn)c
p1=2,p2=3,p3=5,...
x\in
* | |
Z | |
n |
stylex2\equiv
k | |
\prod | |
i=0 |
ei | |
p | |
i |
The VSSR assumption is that there is no probabilistic polynomial (in
logn
s
s
n
Let the parameters be fixed as follows:
c=5
n=31
Then
m1=35=5 ⋅ 7
(log
| |||
31) |
~7.37
m1
m2=55=5 ⋅ 11
c=5
n=31
The integer
b1=9
n
c,n
x1=3
2 | |
x | |
1 |
=b1
n
32\not\geqn
The integer
b2=15
n
x2=20
202=400\equiv15
n
x2
b2
n
n
Let
n
p1=2,p2=3,\ldots
k
k | |
style\prod | |
i=1 |
pi<n
m
\ell
(m1,\ldots,m\ell)
\ell<2k
m
L
l/k
mi=0
l<i\leqLk
style\ell=
k | |
\sum | |
i=1 |
li2i-1
\elli\in\{0,1\}
\ell
mLk+i=\elli
1\leqi\leqk
xj+1=
2 | |
x | |
j |
k | |
\prod | |
i=1 |
mjk+i | |
p | |
i |
\modn
The function in step 4 is called the compression function.
\Omega(logn/loglogn)
Several improvements, speedups and more efficient variants of VSH have been proposed. None of them changes the underlying concept of the function. These improvements are called:
The VSH-DL is a discrete logarithm variant of VSH that has no trapdoor, its security depends on the difficulty of finding discrete logarithm modulo a prime p.
Very Smooth Number Discrete Logarithm (VSDL) is a problem where given a very smooth number, we want to find its discrete logarithm modulo some number n.
Similarly as in previous section, by
pi
i
c
p
q
p=2q+1
k\leq(logp)c
p
e1,...,ek
e1 | |
2 |
\equiv
k | |
\prod | |
i=2 |
ei | |
p | |
i |
\modp
|ei|<q
i=1,...,k
e1,...,ek
The VSDL assumption is that there is no probabilistic polynomial (in
logp
p
Strong collision resistance is the only property proven for VSH. This does not imply preimage-resistance or otherimportant hash function properties, and the authors state that "VSH should not be used to model random oracles," and cannot be substituted into constructions that depend upon them (RSA signatures, some MACs). VSH should not be considered a general-purpose hash function as usually understood in security engineering.
VSH is multiplicative: Let x, y, and z be three bit strings of equal length, where zconsists only of zero bits and the strings satisfy x AND y = z. It is easy to see thatH(z)H(x OR y) ≡ H(x)H(y) (mod n). As a result, VSH succumbs to a classical time-memory trade-off attack that applies to multiplicative and additive hashes.
This fact can be used to construct a preimage attack against VSH of
\ell
2\ell/2
2\ell
VSH produces a very long hash (typically 1024 bits). There are no indications thata truncated VSH hash offers security that is commensurate with the hash length.
There exists a partial collision attack on VSH truncated to least significant l bits.
The complexity of this attack against VSH is:
2\ell/3
2\ell/3
2\ell/3
2\ell/2
This probably rules out the applicability of VSH in digital signature schemes which produce signatures shorter than the VSH hash result, such as elliptic-curve signature schemes.