Hash function that is suitable for use in cryptography
This article needs additional citations for verification. Please help improve this article by adding citations to reliable sources. Unsourced material may be challenged and removed. Find sources: "Cryptographic hash function" – news · newspapers · books · scholar · JSTOR(May 2016) (Learn how and when to remove this message)
Secure Hash Algorithms
Concepts
hash functions, SHA, DSA
Main standards
SHA-0, SHA-1, SHA-2, SHA-3
v
t
e
A cryptographic hash function (CHF) is a hash algorithm (a map of an arbitrary binary string to a binary string with a fixed size of bits) that has special properties desirable for a cryptographic application:[1]
the probability of a particular -bit output result (hash value) for a random input string ("message") is (as for any good hash), so the hash value can be used as a representative of the message;
finding an input string that matches a given hash value (a pre-image) is unfeasible, assuming all input strings are equally likely. The resistance to such search is quantified as security strength, a cryptographic hash with bits of hash value is expected to have a preimage resistance strength of bits, unless the space of possible input values is significantly smaller than (a practical example can be found in § Attacks on hashed passwords);
A second preimage resistance strength, with the same expectations, refers to a similar problem of finding a second message that matches the given hash value when one message is already known;
finding any pair of different messages that yield the same hash value (a collision) is also unfeasible, a cryptographic hash is expected to have a collision resistance strength of bits (lower due to the birthday paradox).
Cryptographic hash functions have many information-security applications, notably in digital signatures, message authentication codes (MACs), and other forms of authentication. They can also be used as ordinary hash functions, to index data in hash tables, for fingerprinting, to detect duplicate data or uniquely identify files, and as checksums to detect accidental data corruption. Indeed, in information-security contexts, cryptographic hash values are sometimes called (digital) fingerprints, checksums, or just hash values, even though all these terms stand for more general functions with rather different properties and purposes.[2]
Non-cryptographic hash functions are used in hash tables and to detect accidental errors, their construction frequently provides no resistance to a deliberate attack. For example, a denial-of-service attack on hash tables is possible if the collisions are easy to find, like in the case of linear cyclic redundancy check (CRC) functions.[3]
^Menezes, van Oorschot & Vanstone 2018, p. 33.
^Schneier, Bruce. "Cryptanalysis of MD5 and SHA: Time for a New Standard". Computerworld. Archived from the original on 2016-03-16. Retrieved 2016-04-20. Much more than encryption algorithms, one-way hash functions are the workhorses of modern cryptography.
^Aumasson 2017, p. 106.
and 21 Related for: Cryptographic hash function information
general and technical information for a number of cryptographichashfunctions. See the individual functions' articles for further information. This article...
negative applications of hash collisions in data management and computer security (in particular, cryptographichashfunctions), collision avoidance has...
of message authentication code (MAC) involving a cryptographichashfunction and a secret cryptographic key. As with any MAC, it may be used to simultaneously...
The Secure Hash Algorithms are a family of cryptographichashfunctions published by the National Institute of Standards and Technology (NIST) as a U.S...
password, or a passphrase using a pseudorandom function (which typically uses a cryptographichashfunction or block cipher). KDFs can be used to stretch...
to a spate of "hash flooding" denial-of-service attacks (HashDoS) in late 2011. SipHash is designed as a non-cryptographichashfunction. Although it can...
In cryptography and computer science, a hash tree or Merkle tree is a tree in which every "leaf" node is labelled with the cryptographichash of a data...
not limited to, one-way hashfunctions and encryption functions. When creating cryptographic systems, designers use cryptographic primitives as their most...
a cryptographichashfunction; however it has been found to suffer from extensive vulnerabilities. It remains suitable for other non-cryptographic purposes...
MAC algorithms can be constructed from other cryptographic primitives, like cryptographichashfunctions (as in the case of HMAC) or from block cipher...
In cryptography, cryptographichashfunctions can be divided into two main categories. In the first category are those functions whose designs are based...
initialization vectors and in cryptographichashfunctions. A nonce is an arbitrary number used only once in a cryptographic communication, in the spirit...
known attacks against cryptographichashfunctions. Note that not all entries may be up to date. For a summary of other hashfunction parameters, see comparison...
Sponge functions have both theoretical and practical uses. They can be used to model or implement many cryptographic primitives, including cryptographic hashes...
In cryptography, security level is a measure of the strength that a cryptographic primitive — such as a cipher or hashfunction — achieves. Security level...
In cryptography, the avalanche effect is the desirable property of cryptographic algorithms, typically block ciphers and cryptographichashfunctions, wherein...