# Index of modules

B
Base64 [Cryptokit] | The `Base64` module supports the encoding and decoding of binary data in base 64 format, using only alphanumeric characters that can safely be transmitted over e-mail or in URLs.
Block [Cryptokit] | The `Block` module provides classes that implements popular block ciphers, chaining modes, and wrapping of a block cipher as a general transform or as a hash function.
C
Cipher [Cryptokit] | The `Cipher` module implements the AES, DES, Triple-DES and ARCfour symmetric ciphers.
Cryptokit | The Cryptokit library provides a variety of cryptographic primitives that can be used to implement cryptographic protocols in security-sensitive applications.
D
DH [Cryptokit] | The `DH` module implements Diffie-Hellman key agreement.
H
Hash [Cryptokit] | The `Hash` module implements unkeyed cryptographic hashes (SHA-1, SHA-256, RIPEMD-160 and MD5), also known as message digest functions.
Hexa [Cryptokit] | The `Hexa` module supports the encoding and decoding of binary data as hexadecimal strings.
M
MAC [Cryptokit] | The `MAC` module implements message authentication codes, also known as keyed hash functions.
P
Padding [Cryptokit] | The `Padding` module defines a generic interface for padding input data to an integral number of blocks, as well as two popular padding schemes.
R
RSA [Cryptokit] | The `RSA` module implements RSA public-key cryptography.
Random [Cryptokit] | The `Random` module provides random and pseudo-random number generators suitable for generating cryptographic keys, nonces, or challenges.
S
Stream [Cryptokit] | The `Stream` module provides classes that implement the ARCfour stream cipher, and the wrapping of a stream cipher as a general transform.
Z
Zlib [Cryptokit] | The `Zlib` module supports the compression and decompression of data, using the `zlib` library.