Cryptographic Applications of Analytic Number Theory: Complexity Lower Bounds and Pseudorandomness (Progress in Computer Science and Applied Logic)