OCaml library of cryptographic and hash functions
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 cryptography: AES, Chacha20, DES, Triple-DES, Blowfish, ARCfour, in ECB, CBC, CFB OFB and counter modes. * Public-key cryptography: RSA encryption and signature; Diffie-Hellman key agreement. * Hash functions and MACs: SHA-3, SHA-2, BLAKE2b, RIPEMD-160, and MACs based on AES and DES. (SHA-1 and MD5, despite being broken, are also provided for historical value.) * Random number generation. * Encodings and compression: base 64, 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.
You can contact the maintainers of this package via email at
ocaml-cryptokit dash maintainers at fedoraproject dot org.