Useful functions for Cryptography and Number Theory. Currently includes determining the number of B-smooth numbers, B-smooth sieving, Pollard's p-1 factorization method, and Quadratic Sieving.