Cryptography has generated number theory, algebraic geometry over finite fields, algebra, combinatorics and computers.