Cryptographic Number Theory
Mathematica's extensive base of state-of-the-art algorithms, efficient handling of very long integers, and powerful built-in language make it uniquely suited to both research and implementation of cryptographic number theory.
Encryption and Decryption
PowerMod — compute modular powers of integers
PowerModList — compute modular inverses, with negative and fractional powers
RandomPrime — pseudorandom prime
PrimeQ — test for primality
FactorInteger — complete or incomplete integer factorization
MultiplicativeOrder — compute the discrete logarithm
EulerPhi — Euler totient function
Reduce — solve multivariate quadratic polynomials
Tally — find frequencies of elements in a list
Lattice-Oriented Problems
LatticeReduce — find short basis vectors in an integer lattice
LatticeData — properties of named lattices
Hash,
FileHash — compute MD5 and other hash codes
ToCharacterCode,
FromCharacterCode — convert between strings and character codes
Other Forms of Cryptography
CellularAutomaton — efficiently compute general block maps