informatics
P. Stoianov, G. Bebrov, M. Ivanov, N. Dimitrov, Comparative Analysis of the Advanced Cryptographic Hash Functions

Key Words: Cryptographic; hash-function; comparative analysis; MDC MAC; collision resistance; Message Digest.

Abstract. The paper presents the fundamental role of hash functions in modern cryptography and Network security. To control the integrity of stored or exchanged data, cryptographic hash functions, also called OWHF (OWHF – One Way Hash Functions), are most often used. These functions are not used to protect the data, but to verify its identity.Hash Functions compresses a message of arbitrary length to a message of fixed length called hashcode or Message Digest (MD). According to the purpose they serve, there are two main types of hash functions – MDC and MAC. Keyed hash functions use secret key for computing the digest and these are also known as MAC (Message Authentication Code). The purpose of MAC is to authenticate the data source. MDC (Message Detection Codes) are un-keyed functions and serve to authenticate the data integrity. The three distinctive properties of hash functions are discussed: 1. Preimage resistance – for essentially all pre-specified outputs, it is computationally infeasible to find any input which hashes to that output. 2. 2nd-preimage resistance – it is computationally infeasible to find any second input which has the same output as any specified input. 3. Collision resistance – it is computationally infeasible to find any two distanct inputs whish result to the same output. Defined the fields of application of the hash functions: 1. Data integrity check when exchanging data (file, string, database, etc.). 2. Storing access passwords on sites. 3. Digital signature. 4. Search for identical files and match of data. This paper presents a comparative analysys of hash functions that are curentlu used. The most frequently used functions (MD, SHA, WHIRLPOOL, RIPEMD, MASH-2 etc.) are presented in tabular form. A comparison was made according to some basic characteristics: input message size, output value, conversion method, logical operations used, operations used, etc. On this basis, can be made a decision to use a particular hash function for one purpose or another, according to the specific requirements for input message dimensionality, speed, and degree of security.