Library
Module
Module type
Parameter
Class
Class type
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 version 2 and version 3, and implements the socialist millionairs problem. State
defines configuration and types, Engine
processing of incoming and outgoing messages as well as initiation and teardown of sessions and socialist millionairs problem, and Utils
provides basic fingerprint utilities as defined in the OTR specification.
module State : sig ... end
States and types
module Engine : sig ... end
Message processing
module Utils : sig ... end
Utilities