Crypto Hashes and Collisions

Hash Collisions

A **collision** means the same hash value for two different inputs. For simple hash functions it is easy to reach a collision. For example, assume a hash function **collision-resistant** hash functions.

`h(text)`

sums of all character codes in a text. It will produce the same hash value (collision) for texts holding the same letters in different order, i.e. `h('abc') == h('cab') == h('bca')`

. To avoid collisions, cryptographers have designed Cryptographic Hash Functions: No Collisions

Cryptographic hash functions are **one-way hash functions**, which are **infeasible to invert**. The chance to find a collision (by brute force) for a strong cryptographic hash function (like SHA-256) is extremely little. Let's define this in more details:

Let's have hash value

`h`

=`hash(p)`

for certain strong cryptographic hash function `hash`

.It is expected to be **extremely hard** to find an input

`p'`

, such that `hash(p')`

=`h`

.For most modern strong cryptographic hash functions there are **no known collisions**.

The **ideal cryptographic hash function** should have the following properties:

Modern cryptographic hash functions (like SHA2 and SHA3) match the above properties and are used widely in cryptography.

Last modified 11d ago

Copy link