A variety of cryptographic primitives for Objective Caml