Theory of Cryptography - Canetti, Ran (Springer Berlin Heidelberg, 2008)