Introduction to Modern Cryptography - Jonathan Katz & Yehuda Lindell