A Short History of Computational Complexity
Recognizing primes in random polynomial time