Main » 2011 » Март » 16 » Hash algorithms
11:31
Hash algorithms
I believe that many people know that since 2007 the National Institute of Standards and Technology (NIST) is holding a competition to develop a hash algorithm to replace SHA-1, and the family of algorithms, SHA-2. However, this issue, for some reason deprived of the attention on the site. Actually, it has led me to you. Bring to your attention a series of articles on hash algorithms. In this series we will study together the basis of hash functions, we consider the most eminent hash algorithms, delve into the atmosphere of competition SHA-3, and consider algorithms that claim to win it, be sure to potestiruem. As well as possible will be considered Russian standards hashing.

About


student information security department.

About hashing


At present, almost no application of cryptography is complete without the use of hashing.
A hash function - a function for the "compression" any message or set of data recorded, usually in a binary alphabet, to a certain bit pattern of fixed length, called a convolution. Hash functions have a variety of applications in statistical experiments for testing logic devices, the construction of fast search and verify the integrity of records in databases. The main requirement for the hash function is a uniform distribution of their values ??with a random choice of values ??of the argument.
Cryptographic hash function is any hash function that is cryptographically strong, ie, satisfying a number of requirements specific to cryptographic applications. In the cryptographic hash function used for the following tasks:
building control systems data integrity during transmission or storage
authentication data source.

A hash function is any function h: X -> Y, easily computable and such that for any message M value h ( M) = H (contraction) has a fixed bit length. X - the set of all messages, Y - the set of binary vectors of fixed length.

Typically a hash function built on the basis of the so-called one-step compression function y = f (x1, x2) two variables, where x1, x2 and y - binary vectors of length m, n and n respectively, and n - length contraction, and m - the length of the message block.
To get the value h (M) message is first divided into blocks of length m (in this case, if the message length is not divisible by m then the last block of a kind specially padded to complete), and then to the received blocks M1, M2, .., MN used the following sequential procedure for calculating the convolution:

Ho = v,
Hi = f (Mi, Hi-1), i = 1, .., N,
h (M) = HN


Here v - a constant often it is called the initialization vector. She selects
from different considerations and may be a constant or a secret set of random data (sample date and time, for example).
With this approach, the properties of the hash function is completely determined by properties of one-step compression function.

There are two important types of cryptographic hash functions - the key and keyless. Key hash function called message authentication codes. They make it possible without additional funding to guarantee the correctness of the data source and data integrity in systems with trusting each other users.
Keyless hash function called the error detection codes. They make it possible by using additional tools (encryption, for example) to ensure data integrity. These hash functions can be applied in systems with trusting and not trusting each other users.

On the statistical properties and requirements



Like I said the main requirement for the hash function is a uniform distribution of their values ??with a random choice of values ??of the argument. For cryptographic hash functions is also important that the slightest change in the value of the argument functions are strongly changed. This is called the avalanche effect.

The key hash function to meet the following requirements:
inability to fabricate,
inability to modifications.

The first requirement means a high complexity of the matching messages with the correct value of the convolution. Second - the high complexity of selection for a given message with a known value of the convolution another message with the correct value of the convolution.

To the keyless features have requirements:
pointedness,
resistance to Conflict,
resistance to find the second prototype.

Under the unidirectionality understand the high complexity of finding the messages for a given value of the convolution. It should be noted that currently there is no hash function used with the proven one-pointedness.
Under the resistance to Conflict understand the complexity of finding a pair of posts with the same values ??of the convolution. Usually it is finding a way of constructing collisions cryptanalyst is the first signal of obsolescence of the algorithm and the need for its emergency replacement.
By the stability to find the second prototype to understand the complexity of finding a second message with the same fold to a given message with a known value of the convolution.

This was the theoretical part, which will be useful to us in the future ...

On the popular hash algorithms



Algorithms CRC16/32 - checksum (not a cryptographic transformation).

Algorithms MD2/4/5/6. is the work of Ron Rayvesta, one of the authors of the algorithm RSA.
The MD5 algorithm was once very popular, but the first signs of cracking appeared in the late nineties, and now his popularity plummeted.
Algorithm MD6 - very interesting from a structural point of view of the algorithm. He was nominated for the competition SHA-3, but, unfortunately, the authors have not managed to bring it to the condition, and the list of candidates that passed the second round of the algorithm is missing.

Algorithms line SHA Widespread now algorithms. There is an active transition from SHA-1 standard version of SHA-2. SHA-2 - the collective name of the algorithm SHA224, SHA256, SHA384 and SHA512. SHA224 and SHA384 are essentially analogous to SHA256 and SHA512, respectively, after calculating the convolution of the information in it is discarded. Using them is only to ensure interoperability with older models.

Russian Standard - GOST 34.11-94.

The following article



Overview of Algorithms MD (MD4, MD5, MD6).

References



AP Alferov, Foundations of cryptography.

Bruce Schneier, Applied Cryptography.
Views: 363 | Added by: w1zard | Rating: 0.0/0
Total comments: 0
Имя *:
Email *:
Код *: