Foundations of cryptography, volume 1 basic tools - Goldreich, Oded (Cambridge Univ. Press, Cambridge, 2001)