Introduction to modern cryptography - Katz, Jonathan (Chapman & Hall/CRC, 2008)
This work provides a rigorous yet accessible treatment of modern (post-1980's) cryptography, which is distinguished from classical cryptography by its focus on formal definitions, precise assumptions, and rigorous proofs. The first half of the book introduces core principles, discusses private-key encryption and message authentication, and illustrates design principles for block ciphers. The second half of the book focuses on public-key cryptography, beginning with a self-contained introduction to number theory necessary for understanding cryptosystems, and then covering digital signatures and the random oracle model. The book is intended to serve as a textbook for undergraduate or graduate courses in cryptography in computer science or mathematics departments, as a general introduction for self-study (especially for beginning graduate students), and as a reference for students, researchers, and practitioners.