Welcome to Scribd, the world's digital library. Read, publish, and share books and documents. See more
Standard view
Full view
of .
Look up keyword
Like this
0 of .
Results for:
No results containing your search query
P. 1


Ratings: (0)|Views: 129 |Likes:
Published by IJCNSVol2NO10

More info:

Published by: IJCNSVol2NO10 on Nov 05, 2010
Copyright:Attribution Non-commercial


Read on Scribd mobile: iPhone, iPad and Android.
download as PDF, TXT or read online from Scribd
See more
See less





(IJCNS) International Journal of Computer and Network Security,Vol. 2, No. 10, 2010
Design of Cryptographic Hash Algorithm usingGenetic Algorithms
Siva Prashanth J
, Vishnu Murthy G
and Praneeth Kumar Gunda
Dept. of Computer Science and Engineering,CVSR College of Engineering,Ghatkesar, Andhra Pradesh, India
siva_prashanth86@yahoo.com, gvm189@gmail.com, praneethkumar@live.com
 Hash functions play a prominent role in signing the digital documents. The classical one being SHA-1 is used even now which is very costly in the terms of space and time complexities. Here in this paper, we propose a new One way,Collision Resistant and an Economic Hash function , which isequivalently secure and efficient as SHA-1, designed usingGenetic algorithms and a pseudo random number generatorwhich makes it secure against Timing attacks. A Comparison study with the classical hash functions such as MD5 and SHA-1 are also given.
Hash algorithm, Genetic functions
A cryptographic hash function is a deterministic procedurethat takes an arbitrary block of data and returns a fixed-sizebit string, the (cryptographic) hash value, such that anaccidental or intentional change to the data will change thehash value. The data to be encoded is often called the"message", and the hash value is sometimes called themessage digest or simply digest.Cryptographic hash functions have many informationsecurity applications, notably in digital signatures, messageauthentication codes (MACs), and other forms of authentication. They can also be used as ordinary hashfunctions, to index data in hash tables, for fingerprinting, todetect duplicate data or uniquely identify files, and aschecksums to detect accidental data corruption. Indeed, ininformation security contexts, cryptographic hash values aresometimes called (digital) fingerprints, checksums, or justhash values, even though all these terms stand for functionswith rather different properties and purposes.An important application of secure hashes is verificationof message integrity. Determining whether any changeshave been made to a message (or a file), for example, can beaccomplished by comparing message digests calculatedbefore, and after, transmission (or any other event).A message digest can also serve as a means of reliablyidentifying a file; several source code management systems,including Git, Mercurial and Monotone, use the sha1sum of various types of content (file content, directory trees,ancestry information, etc) to uniquely identify them. Hashesare used to identify files on peer-to-peer filesharingnetworks. For example, in an ed2k link, an MD4-varianthash is combined with the file size, providing sufficientinformation for locating file sources, downloading the fileand verifying its contents. Magnet links are anotherexample. Such file hashes are often the top hash of a hashlist or a hash tree which allows for additional benefits.Hash functions can also be used in the generation of pseudorandom bits, or to derive new keys or passwords froma single, secure key or password.Rest of this paper is organized as follows: Section 2 dealswith the description of Blum Blum Shub CryptographicallySecure Pseudo Random Bit Generator (CSPRBG), Section 3presents the algorithm and finally Section 4 deals with thesecurity aspect of proposed algorithm and finally, section 5shows the juxtaposition of the algorithm with SHA-1, MD 5and RIPEMD-160 respectively. Section 6 and 7 concludesand proposes future enhancements.
Literature Survey
2.1 Blum Blum Shub Random Bit Generator
A popular approach for generating secure pseudorandomnumber is known as the Blum, Blum, Shub (BBS)generator, named for its developers [3]. The procedure is asfollows. First, choose two large prime numbers, p and q,such that both have remainder of 3 when divided by 4.i.e., p
3 (mod 4)means that (p mod 4)= (q mod 4)= 3. Let n = p X q. Next,choose a random number s, such that s is relatively prime ton; this is equivalent to saying that neither p nor q is factor of s. Then the BBS generator produces a sequence of numbersXi according to the following algorithm:X0 = s
mod n.for i =1 to infiniteXi= (X
mod nThe BBS is referred to as a cryptographically securepseudorandom bit generator (CSPRBG). A CSPRBG isdefined as one that passes the next- bit test , Which isdefined as follows:
A Pseudo random bit generator is saidto pass the next-bit test if there is not a polynomial-timealgorithm that, an on input of the first k bits of an outputsequence, can predict the (k+1)
bit with probabilitysignificantly greater than 1/2
.An interesting characteristic of the Blum Blum Shubgenerator is the possibility to calculate any xi value directly(via Euler's Theorem):The security of BBS is based on the difficulty of factoring
(IJCNS) International Journal of Computer and Network Security,Vol. 2, No. 10, 2010
134n. That is, it is hard to determine its two prime factors p andq. If integer factorization is difficult (as is suspected) thenB.B.S. with large n should have an output free from anynonrandom patterns that can be discovered with anyreasonable amount of calculation. Thus it appears to be assecure as other encryption technologies tied to thefactorization problem, such as RSA encryption.In the proposed algorithm we use two genetic functions
. Crossover is a geneticfunction which can be described by the following figure: AsIllustrated in the Figure 1 the Binary representation of keyand plain text are Crossected. We have two forms of crossover: Single and Double Crossover. Where we take,one breaking point for single crossover and two breakingpoints for double crossover.Figure 1: CrossoverMutation is a genetic function where the bit at a givenposition is inversed (i.e., 0 to 1 and vice versa). Mutationcan be of a single point or at multiple points.
Proposed Algorithm
The algorithm consists of two phases where the firstphase is of generating keys and the other is of hashing.
3.1. Key Generation
The algorithm uses a 3-tuple key {p, q, s} where p andq are large prime numbers, s is a chosen random numberwhich is relatively prime to n, the product of p and q. Then,the algorithm uses the Blum, Blum, Shub Generator forgenerating the random numbers (Section 2.1) which areused as keys in each iteration for generating hash value. Anexample is given ahead which tells the working of thealgorithm1. Choose p=7 and q=192. Implies, n= 7 X 19 = 1333. Choose s=100, relatively prime with 1334. Then, X0=s2mod n= (100)2 mod 133= 25X1=(X0)2 mod n= (25)2 mod 133= 93. .. .Here, the key is represented as {7, 19, 100}.
Hash Algorithm
1 . Read the message and store it in array X.2 . Obtain the ASCII value for each element in X[ ]and convert into binary format and3. while y[i] != null or y[i+2]!=null doIf the number is even perform right shift by p%8 bits.Else, perform left shift X
% 8.( i )Perform CROSSOVER betweeny[i] and y[i+2].( ii ) Perform mutation on the resultantand store it in array Z .end.4.copy the elements of Z[ ] into res[ ]5. for i = 0 to N where N is number of elements in the array reshash = res[N+1] = res[0] res[1]....res[N]6. Append the hash to Z[ ] .
Table 1 shows the comparison of GHA-1 with SHA-1,RIPEMD-160 and MD5 in the aspects of there features andTable 2 distinguishes how prone the algorithm GHA-1 iswhen compared to the above said algorithms.Table 1: Comaprision of Various algorithms in terms of processing
FunctionWordComputationValuesEndianoperationRIPEMD-16032 320 Little A B SMD 5 32 512 Little A B SSHA-1 32 160 Big A B SProposed64 2 Big B
In the above table, the representations used are:A(Addition),B(Bitwise operations), S(Shift, Rotation).From the above, we infer that the processing of algorithm iseconomic in all the aspects when compared with the otheralgorithms.

You're Reading a Free Preview

/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->