21 lines
933 B
Plaintext
21 lines
933 B
Plaintext
The Cryptokit library for Objective Caml provides a variety of
|
|
cryptographic primitives that can be used to implement cryptographic
|
|
protocols in security-sensitive applications. The primitives
|
|
provided include:
|
|
|
|
- Symmetric-key ciphers: AES, DES, Triple-DES, ARCfour,
|
|
in ECB, CBC, CFB and OFB modes.
|
|
- Public-key cryptography: RSA encryption, Diffie-Hellman key
|
|
agreement.
|
|
- Hash functions and MACs: SHA-1, MD5, and MACs based on
|
|
AES and DES.
|
|
- Random number generation.
|
|
- Encodings and compression: Base64, hexadecimal, Zlib compression.
|
|
|
|
Additional ciphers and hashes can easily be used in conjunction
|
|
with the library. In particular, basic mechanisms such as chaining
|
|
modes, output buffering, and padding are provided by generic classes
|
|
that can easily be composed with user-provided ciphers. More
|
|
generally, the library promotes a "Lego"-like style of constructing
|
|
and composing transformations over character streams.
|