Samuel King Opoku, International Journal of Computer Science and Mobile Computing, Vol.5 Issue.5, May- 2016, pg. 531-539
© 2016, IJCSMC All Rights Reserved 531
Available Online at www.ijcsmc.com
International Journal of Computer Science and Mobile Computing
A Monthly Journal of Computer Science and Information Technology
ISSN 2320–088X
IMPACT FACTOR: 5.258
IJCSMC, Vol. 5, Issue. 5, May 2016, pg.531 – 539
A Hash Function System Based on
Quadratic Function
Samuel King Opoku
Computer Science Department, Kumasi Polytechnic, Ghana
samuelk.opoku@kpoly.edu.gh, samuel.k.opoku@gmail.com
Abstract— A hash function is a function that takes a set of characters called plaintext and converts it to a
form that is very difficult to revert back to the original set of characters. Hash functions play very important
role in computer security, computer vision, bloom filters and search algorithms. The current cryptographic
hash functions such as Hashed Message Authentication Code (HMAC), Message Digest (MD) and Secure
Hash Algorithm (SHA) including their various variations generate large values for small data and are
therefore not appropriate for encrypting large number of small data – such as passwords of organizational
members – that need to be stored and retrieved in a database. This paper presents a robust mechanism for
implementing a hash function that returns eight characters irrespective of the length of the input string. The
mechanism is based on quadratic function. The model is implemented in JavaSE and available for
downloading freely at http://www.api.skopoku.org/QuadraticHash.jar
Keywords— Block size, Computer Security, Cryptography, Digital Signature, Hash, Quadratic root
I. INTRODUCTION
The ability to secure information has been a predominant concern for system developers and administrators.
Many mechanisms have been proposed with each having its strengths and limitations [1]. One of the
mechanisms is hash function. A hash function is a function that takes a set of characters called plaintext and
converts it to a form that is very difficult to revert back to the original set of characters [2], [3]. The values
returned by a hash function are called hash values, hash codes, hash sums or simply hashes. Hash functions may
be used with or without a key. If a key is used, both symmetric (single secret key) and asymmetric keys
(public/private key pairs) may be used [3]. Hash functions have numerous applications. It can be used to index
and retrieve items in a database with a short hashed key [2]. It can also be used to detect altered and forged
documents by providing message integrity [3]. It accelerates table lookup by detecting duplicated record in a
large file such as finding similar stretches in DNA sequences [4]. Geometric hashing [5] is used in computer
vision for the detection of classified objects in arbitrary scenes by selecting a region of interest, computing its
normalized hash values and then measure the distance between the multiple hash values. Another area of
application of hash function is the implementation of bloom filters which are usually applied in applications
such as spell-checker, string matching algorithms, network packet analysis tools and network/internet caches
through the use of membership query which uses multiple distinct hash functions by allowing the result of a
membership query for the existence of a particular value to have a certain probability of error [6].
Cryptographic hash functions are used to hash user‟s passwords. The hashed passwords are stored in a system
rather than storing the actual password [7], [8]. The current systems of cryptographic hashing are Hashed
Message Authentication Code (HMAC), Message Digest (MD) and Secure Hash Algorithm (SHA). Hashed
Message Authentication Code (HMAC) combines authentication and a shared secret key in hashing. HMAC is