Off-the-Record, in pure OCaml
Off-the-Record (OTR) ( developed by Goldberg et al.) is a cryptographic protocol used in instant messaging. It provides both authentication (using long-term 1024 bit DSA keys), and encryption (using AES 128 in counter mode). An authenticated Diffie-Hellman key exchange (with 1536 bit Oakley5 group) establishes the shared secrets (providing forward secrecy).
The socialist millionaire problem (SMP) allows in-band verification of the long-term DSA keys using a shared secret and zero knowledge proofs.
This implementation covers both protocol
3, and implements the socialist millionairs problem.
defines configuration and types,
Otr.Engine processing of incoming
and outgoing messages as well as initiation and teardown of
sessions and socialist millionairs problem, and
basic fingerprint utilities as defined in the OTR
0.3.5 - homepage
States and types