contents of the cover object can produce different
stego-objects. The hash value of a different stego-
object M
S
’ would be different from H
S
and so would
be the final Σ-Hash value.
We argue here that a steganographic algorithm
fed with the same key and secret message but
slightly different input should produce alternate
outputs. In detail, inputs should different
significantly enough to be regarded as two separate
objects. If significant bits in cover objects are
different then steganography will produce different
outputs. Especially in text based steganography,
where two different cover objects are most likely
expected to also vary in length, the stego-object will
always be different. This fact also ensures that H
S
will also be different from H since M
S
is similarly
significantly different from M.
Similarly, an attacker may choose to find a
collision for H
S
by carefully choosing a different
stego-object M
S
’ so that: f
h
(M
S
’) = H
S
. In that case
the inverse steganographic operation on M
S
’ will
give off a different secret message than the expected
hash value H. As the stego-object will be different
from the original one, the steganographic algorithm
will fail to provide the original hidden message.
Evidently, an attacker should be able to
overcome the difficulties set by steganography in
order to successfully attack Σ-Hash. Efficient
steganographic algorithms ensure that alterations to
cover-objects result in different stego-objects and
alterations to stego-objects make original hidden
messages impossible to retrieve. An attacker would
have to find a collision for H that also produces the
same stego-object M
S
, something that is considered
hard, having in mind the attacks we described in
section 2. It should also be mentioned that it is hard
even to extract M from M
S
as most steganographic
functions are not reversible.
4.3 Applications
Naturally, Σ-Hash can be used to enforce hash
function security. Its use can be applied to all known
applications of hashing algorithms as long as the
verification process is altered to match the one
required by Σ-Hash. As we have already mentioned,
Σ-Hash was originally designed as a solution to
source code tampering. An attacker able to modify
the source code will also be able to modify the hash
that will be used to verify its integrity. However, if
Σ-Hash is used, the attacker will not be able to
successfully compute the new Σ-Hash value as he
does not have knowledge of the cover object. In
detail, the attacker can only alter the stego object as
M
S
is only published. Suppose that he has also found
a collision for H
S
. When a user will try to verify Σ-
Hash, he will not be able to extract the correct
information from M
S
, and thus verification will fail.
5 REMARKS
In this paper we introduced Σ-Hash, a novel mode of
operation for hashing algorithms that uses
steganography to achieve better collision resistance.
We presented the details of our scheme, which can
be used with any existing or future hash function,
and analyzed how collisions are avoided.
Currently we are working on a proof of concept
implementation of Σ-Hash that will enable us to
experiment with further applications. We have
demonstrated that our scheme can be used to avoid
source code tampering, or phishing attacks. We
intend to present further applications of Σ-Hash,
using a real world implementation with commonly
used hash algorithms. Finally, we will provide
suggestions for specific steganographic algorithms
which are optimal for using with Σ-Hash.
REFERENCES
NIST, 1995. Secure hash standard. Federal Information
Processing Standard, FIPS-180-1.
R. Rivest, 1992. The MD5 Message-Digest Algorithm.
RFC 1321, IETF.
X. Y. Wang, 1997. The Collision attack on SHA-0. In
Chinese, to appear on www.infosec.edu.cn, 1997.
R.C. Merkle, 1989. A Certified Digital Signature. In
Advances in Cryptology - CRYPTO '89. Springer-
Verlag.
I. Damgård, 1989. A Design Principle for Hash Functions.
In Advances in Cryptology - CRYPTO '89. Springer-
Verlag.
S. M. Bellovin and E. K. Rescorla, 2005. Deploying a
New Hash Algorithm. In NIST Hash Function
Workshop.
S. Halevi and H. Krawczyk, 2005. Strengthening Digital
Signatures via Randomized Hashing, Internet Draft,
IETF.
E. Biham, R. Chen, A. Joux, P. Carribault, W. Jalby and
C. Lemuet, 2005. Collisions in SHA-0 and Reduced
SHA-1. In Advances in Cryptology–Eurocrypt’05.
Springer-Verlag.
X. Wang, D. Feng, X. Lai, and H. Yu, 2004. Collisions for
hash functions md4, md5, haval-128 and ripemd.
Cryptology ePrint Archive, Report 2004/199.
Available at: http://eprint.iacr.org/
B. den Boer and A. Bosselaers, 1993, Collisions for the
Compression Function of MD5. Advances in
Cryptology–Eurocrypt’03. Springer-Verlag.
X. Wang, Y. Yin, H. Yu, 2005. Finding Collisions in the
Full SHA-1. In Advances in Cryptology - CRYPTO '05.
M. Bellare, T. Kohno, 2004. Hash Function Balance and
its Impact on Birthday Attacks. In Advances in
Cryptology-EUROCRYPT 04. Springer-Verlag.
SECRYPT 2007 - International Conference on Security and Cryptography
340