Package aes implements AES encryption (formerly Rijndael), as defined in
U.S. Federal Information Processing Standards Publication 197.
Package hmac implements the Keyed-Hash Message Authentication Code (HMAC) as
defined in U.S. Federal Information Processing Standards Publication 198.
An HMAC is a cryptographic hash that uses a key to sign a message.
The receiver verifies the hash by recomputing it using the same key.
Package md5 implements the MD5 hash algorithm as defined in RFC 1321.
Package rand implements a cryptographically secure
random number generator.
Package sha1 implements the SHA-1 hash algorithm as defined in RFC 3174.
Package sha256 implements the SHA224 and SHA256 hash algorithms as defined
in FIPS 180-4.
Package subtle implements functions that are often useful in cryptographic
code but require careful thought to use correctly.