Chapter 12 of 'Cryptography and Network Security' discusses message authentication codes (MACs), emphasizing their role in ensuring message integrity, validating the originator's identity, and providing non-repudiation. It covers various MAC implementations, including HMAC and CMAC, the importance of cryptographic hash functions, and the security considerations necessary for effective message authentication. Additionally, the chapter explains different methodologies for combining encryption and MACs to achieve authenticated encryption, along with pseudorandom number generation using hash functions.