Generalities of the hash functions (Part I)