Cryptographic hash functions are a basic tool of modern cryptography. Information theoretic concepts apply to cryptography and cryptanalysis. OpenPGP is a non-proprietary protocol for email encryption through public key cryptography. They also had sections devoted to codes, cryptography, and ciphers. Rivest has research interests in algorithms, cryptography and voting. Entanglement is used in some protocols of quantum cryptography. Rule 30 was originally suggested as a possible block cipher for use in cryptography. HSMs support both symmetric and asymmetric (public-key) cryptography. Exponentiation in finite fields has applications in public key cryptography. The keys used in public key cryptography have some mathematical structure. They also find applications in elliptic curve cryptography (ECC) and integer factorization. Quantum cryptography could potentially fulfill some of the functions of public key cryptography. Blockchain security methods include the use of public-key cryptography. Very large numbers often occur in fields such as mathematics, cosmology, cryptography, and statistical mechanics. Dice can be used to generate random numbers for use in passwords and cryptography applications.