Cryptographic Hash Function

Why
Cryptographic hash functions are important because they allow us to have an encryption function for many cryptographic purposes

Mixing-Transformation
This property comes up a lot and it means that a small initial region can be mapped into a larger space

Collision Resistance
It should be computationally infeasible to find two inputs $$x,y$$ such that $$h(x)=h(y)$$ when $$x \neq y$$

Pre-image Resistance
It should be computationally infeasible that given a hashed value $$v$$, we can find a value $$x$$ such that $$v = h(x)$$. This assumption requires that we have a large enough space

Computational Efficiency
Given input string $$x$$, the computation of $$h(x)$$ can be done in time bounded by a small degree polynomial in $$x$$. Ideally this polynomial will be linear.