This course yields an exhaustive knowledge on old and recent methods in construction of hash functions and message authentication codes. Through different ways of establishing these cryptographic primitives, the students will be able to understand the use of hash functions and message authentication codes in the protocols.