Nonlinear Dyn
DOI 10.1007/s11071-015-1970-z
ORIGINAL PAPER
A structure-based chaotic hashing scheme
A. Kanso · M. Ghebleh
Received: 19 September 2014 / Accepted: 10 February 2015
© Springer Science+Business Media Dordrecht 2015
Abstract We propose a new chaotic keyed hashing
scheme based on the structure of the input message.
The structure of the message is identified with maps of
the appearances of each character throughout the input
message. We use a 2-dimensional generalized cat map
whose chaotic orbits are used to introduce random-
ness to the computation of the hash value and hence
facilitate uniform sensitivity of the hash value to the
input message and the secret key. Our proposed hashing
scheme is fast, efficient, and flexible. Empirical results
verify the high sensitivity of the proposed hash func-
tion to the input message and the secret key. Further
simulations presented demonstrate the strong capabil-
ity of the proposed scheme for confusion, diffusion, and
collision resistance. Compared with existing schemes,
especially those based on chaotic maps, the proposed
scheme is shown to have superior performance.
Keywords Cryptography · Keyed hash function ·
Chaotic maps · Cat map
A. Kanso (B ) · M. Ghebleh
Department of Mathematics, Kuwait University,
P.O. Box 5969, Safat 13060, Kuwait
e-mail: akanso@sci.kuniv.edu.kw
M. Ghebleh
e-mail: mamad@sci.kuniv.edu.kw
1 Introduction
Cryptographic hash functions are essential tools in
information security applications [1–5]. A crypto-
graphic hash function is a one-way algorithm that com-
presses an arbitrary length message M into a fixed-
length output H ( M ), referred to as hash value, mes-
sage digest, fingerprint, checksum, or tag. In a security
setting, the hash value H ( M ) must be highly depen-
dent on its input message M and any parameters of the
hashing process. This includes sensitivity of the hash
value to the secret key in case of a keyed hash func-
tion. A cryptographic hash function ideally possesses
the following properties:
– It is easy to calculate the hash value of a given
message.
– Given a hash value h , it is computationally infeasi-
ble to find a message whose hash value is h .
– Given a message M , it is computationally infeasible
to find a message M
′
= M with H ( M ) = H ( M
′
).
– It is computationally infeasible to find two mes-
sages M = M
′
such that H ( M ) = H ( M
′
).
– In case of a keyed hash function, it is computation-
ally infeasible to find the hash value of a message
without the correct key.
– In case of a keyed hash function, it is computation-
ally infeasible to find the key given a message and
its hash value.
Hashing dates back to the 1950s [6], and ever since
a large number of hashing schemes have been designed
123