Security of cryptographic hash functions: Difference between revisions

Content deleted Content added
IQAndreas (talk | contribs)
Types of security of hash functions: Added Oxford Comma for clarity, and expanded <math> brackets to clearly define the difference between the math and sentence
Line 5:
 
==Types of security of hash functions==
Generally, the ''basic'' security of [[cryptographic hash functions]] can be seen from three different angles: pre-image resistance, second pre-image resistance, and collision resistance.
 
* '''Pre-image resistance''': given a hash <math>h</math> it should be ''hard'' to find any message <math>m</math> such that <math>h = hash(m)</math>. This concept is related to that of onethe [[one-way function]]. Functions that lack this property are vulnerable to [[pre-image attack]]s.
* '''Second pre-image resistance''': given an input <math>m_1</math>, it should be ''hard'' to find another input, <math>m_2</math> (not equal to <math>m_1</math>) such that hash(<math>hash(m_1</math>) = hash(<math>m_2)</math>). This property is sometimes referred to as weak collision resistance. Functions that lack this property are vulnerable to [[second pre-image attack]]s.
* '''Collision resistance''': it should be ''hard'' to find two different messages <math>m_1</math> and <math>m_2</math> such that hash(<math>hash(m_1</math>) = hash(<math>m_2)</math>). Such a pair is called a (cryptographic) hash collision. This property is sometimes referred to as strong collision resistance. It requires a hash value at least twice as long as what is required for pre-image resistance, otherwise collisions may be found by a [[birthday attack]].
 
===The meaning of "hard"===