Fact-checked by Grok 2 weeks ago

Off-the-record messaging

Off-the-Record Messaging (OTR) is a for that implements , , deniability of authorship, and to emulate the and deniability of verbal conversations. Developed in 2004 by Nikita Borisov, , and Eric Brewer as an alternative to protocols like PGP, which produce verifiable long-term transcripts unsuitable for casual exchanges, OTR emphasizes session-specific keys that are discarded after use to prevent decryption of past messages even if long-term keys are compromised. The protocol's core features include malleable enabling message repudiation and forgery for deniability—allowing participants to plausibly deny sending specific content despite —and ephemeral Diffie-Hellman key exchanges for , ensuring no persistent cryptographic evidence ties parties to transcripts. Implemented primarily as plugins for clients like and , OTR achieved niche adoption among privacy advocates but faced limitations in usability, lack of native mobile support, and absence of group messaging, contributing to its displacement by successors like the while influencing modern secure messaging standards. Deniability, a defining yet debated characteristic, permits authenticated receipt without provable authorship attribution, fostering privacy but raising concerns over potential misuse in legal or evidentiary contexts.

History

Initial Development and Release

The Off-the-Record (OTR) messaging protocol emerged from efforts to address limitations in existing cryptographic tools for , particularly the long-term auditability of communications enabled by protocols like PGP, which conflicted with the ephemeral nature of private conversations. Cryptographers Nikita Borisov and , with contributions from Eric Brewer, sought to design a system that provided , , deniability, and perfect during active sessions, while ensuring no persistent evidence of message content or authorship could be reliably attributed post-session. This approach drew inspiration from real-world off-the-record discussions, where participants could deny knowledge of specifics without formal records. Development culminated in the seminal paper "Off-the-Record Communication, or, Why Not to Use PGP," authored by Borisov, Goldberg, and Brewer, which outlined the protocol's core mechanics, including the use of Diffie-Hellman key exchange for session keys and mechanisms for via ephemeral keys. The paper was presented at the ACM Workshop on Privacy in the Electronic Society (WPES) on October 28, 2004, marking the formal introduction of OTR as a viable alternative to signature-based messaging systems. The protocol itself was first released on October 26, 2004, coinciding with the workshop timeframe and enabling early adoption in open-source clients. Initial implementations focused on integrating OTR into existing platforms, with the serving as the foundational C implementation to facilitate development for clients like and . This , tied directly to the protocol's specifications, allowed for and testing of OTR's security properties in real-world messaging environments, though widespread client support evolved gradually in subsequent years.

Evolution of Protocol Versions

The Off-the-Record (OTR) protocol was initially released on October 26, 2004, as , developed by cryptographers and Nikita Borisov to provide , authentication, deniability, and perfect forward secrecy for over protocols like XMPP. This version established the core mechanics, including a Diffie-Hellman for session keys and symmetric for messages, but lacked mechanisms to fully obscure during negotiation. Version 2, published in , reworked the authenticated (AKE) to address vulnerabilities in , such as potential exposure of public keys during negotiation, by incorporating modifications that hid the public from eavesdroppers while maintaining deniability. It introduced improved handling of confirmation and error recovery, ensuring that invalid MAC keys were re-published and verified on both ends to prevent man-in-the-middle attacks. Version 3, documented in drafts around , extended version 2 by supporting both fragmented and unfragmented messages to handle larger payloads over transport limits, along with enhanced padding for message malleability resistance and better integration with Socialist Millionaire Protocol for . These updates improved in bandwidth-constrained environments without compromising core properties. Version 4, specified starting around 2012 with library implementations and further refined through 2019, shifted to () for efficiency, introduced instance tags to distinguish multiple sessions per account, and enabled non-interactive key exchanges for asynchronous messaging where one party could be offline. It also incorporated modern primitives like pairwise Diffie-Hellman for ratcheting, addressing scalability and quantum resistance concerns absent in prior versions.

Core Security Properties

Encryption and Authentication

The Off-the-Record (OTR) protocol secures message confidentiality through end-to-end symmetric encryption using the Advanced Encryption Standard (AES) with 128-bit keys in counter mode. These session keys are derived from a shared secret established via the Diffie-Hellman (DH) key exchange protocol, employing a 1536-bit prime modulus for key agreement. The DH exchange occurs during session initialization, generating ephemeral keys that contribute to perfect forward secrecy, ensuring that compromise of long-term keys does not retroactively expose prior sessions. For message authentication and integrity, OTR employs Hash-based Message Authentication Codes (HMACs) using over the encrypted data and associated . Each message includes a computed with keys derived from the session secret, verifying that messages have not been altered in transit and originate from the authenticated party. This layered approach combines for with MACs for tamper detection, providing robust protection against and modification attacks. Authentication of communicating parties relies on long-term (DSA) public keys, typically 1024-bit, which users exchange out-of-band or via fingerprint verification. During the authenticated (AKE), each party signs their ephemeral DH public value using their private DSA key, allowing the recipient to verify the signature against the sender's known public key. This process mutually authenticates identities without relying on the underlying transport's , though it introduces deniable authentication properties where signatures do not persist beyond the session. Verification of key fingerprints, often displayed as hashed representations of public keys, mitigates man-in-the-middle risks by enabling manual comparison between parties.

Deniability and Perfect Forward Secrecy

Off-the-Record (OTR) messaging incorporates deniability as a core , enabling participants in a to plausibly repudiate the or authorship of exchanged during a session. This is achieved by eschewing digital signatures or other persistent cryptographic proofs on individual , which contrasts with protocols like PGP that enforce through verifiable signatures tied to long-term keys. In OTR, authentication occurs via mechanisms such as key fingerprints or the Socialist Millionaire Protocol, which confirm identities during the session without generating replayable evidence that could be presented to third parties post-session. Consequently, even the recipient cannot mathematically prove to an external verifier that a specific originated from the purported , simulating the inherent deniability of unrecorded verbal exchanges. OTR distinguishes between two facets of deniability: forward deniability, where past messages remain repudiable due to the ephemerality of session-specific proofs, and deniable authentication, which allows identity verification without compromising future repudiation. The protocol's , introduced in the 2004 paper by Borisov, Goldberg, and Brewer, explicitly prioritizes these properties over transcript authentication, arguing that signed message logs undermine the casual, ephemeral nature of private communications. This approach ensures that compromised devices or coerced disclosures do not yield irrefutable evidence of conversation content or participation, though it relies on users securely managing private keys to prevent broader key compromise. Perfect (PFS) in OTR protects the confidentiality of prior sessions against future compromises of long-term keys, a property realized through ephemeral Diffie-Hellman (DH) exchanges initiated at the start of each conversation. During session establishment, communicating parties generate fresh DH pairs, exchange public components, and derive symmetric session keys from the resulting , which are then used for encrypting and authenticating messages via mechanisms like and . These ephemeral keys are discarded after use, ensuring that even if an adversary later obtains a party's static (used only for optional long-term ), they cannot retroactively decrypt or verify past session traffic. OTR further enhances PFS by via additional DH exchanges during extended sessions, maintaining secrecy across message flows without persistent storage. This implementation, detailed in the original protocol specification, leverages established DH techniques to provide strong guarantees against key exposure scenarios prevalent in environments.

Protocol Mechanics

Key Exchange and Session Establishment

The Off-the-Record (OTR) protocol establishes secure sessions through an Authenticated Key Exchange (AKE) phase, which leverages ephemeral Diffie-Hellman (DH) key agreement to derive shared symmetric keys while providing authentication and forward secrecy. This process begins when one party signals OTR support via a Query Message (e.g., containing "?OTRv3?") or a whitespace tag embedded in plaintext, prompting the recipient to initiate or respond to the AKE if compatible versions are supported. The AKE employs a variant of the SIGMA protocol, using a 1536-bit DH group (as defined in RFC 3526) with generator g = 2, ensuring computational resistance to discrete logarithm attacks. In the AKE sequence for OTR version 3, the initiator (e.g., ) sends a DH Commit Message containing the SHA-256 of its ephemeral g^x (where x is a random private exponent) encrypted under a temporary symmetric key derived from a random value r, preventing premature . The responder (e.g., ) replies with a DH Key Message providing its ephemeral public value g^y, allowing both parties to compute the s = g^{xy}. then transmits a Reveal Signature Message, disclosing r to enable decryption of g^x, along with a signature (using 160-bit keys) over the DH parameters and values, encrypted and authenticated under keys derived from s. verifies this signature against 's long-term DSA public key and responds with her own Signature Message, containing a similarly constructed DSA signature for . From the shared secret s, OTR derives session keys via iterated HMAC-SHA256 constructions: an AES-256 encryption key (or pair for sending/receiving), HMAC-SHA256 MAC keys (again, paired for directions), and an optional extra symmetric key for auxiliary channels like file transfer. A secure session ID, computed as the first 64 bits of SHA-256(s), serves for fingerprint verification. The use of ephemeral DH exponents ensures perfect forward secrecy, as compromise of long-term keys does not expose prior session keys, while signing only ephemeral values (not long-term keys directly in the transcript) supports deniability by allowing forgery of unauthenticated transcripts. Earlier version 2 follows a similar flow but uses SHA-1 for some derivations and AES-128, with minor message formatting differences. Once established, the session supports encrypted message transmission until rekeying or termination, typically triggered periodically or on errors.

Message Transmission and Encoding

In the Off-the-Record (OTR) protocol version 3, message transmission occurs after session establishment, where content is prepared for secure delivery over underlying channels that typically support text-based . The sender constructs a message structure, encrypts the payload using AES-128 in () mode with a derived from prior Diffie-Hellman exchanges, and authenticates it via HMAC-SHA1 to ensure and . The CTR mode initialization uses an 8-byte top half of the counter followed by 8 bytes of zeros, enabling stream-like encryption suitable for variable-length messages. The binary data message format begins with a 2-byte protocol version field set to 0x0003, followed by a 1-byte message type of 0x03 indicating a data message. Subsequent fields include 4-byte sender and receiver instance tags for multi-instance support, a 1-byte flags field (e.g., 0x01 to ignore unreadable messages), 4-byte sender and recipient key identifiers, and an optional Multi-Precision Integer (MPI) for the sender's ephemeral Diffie-Hellman public key to facilitate forward secrecy via key ratcheting. The encrypted message follows as a length-prefixed DATA block (4 bytes for length, up to the encrypted payload), appended by a 20-byte HMAC-SHA1 authenticator computed over the preceding message elements excluding the authenticator itself. Optional elements include revealed old MAC keys for deniability and Type-Length-Value (TLV) structures for padding or extensions, with TLV type 0 reserved for padding to obscure message lengths. To transmit over text-oriented protocols like XMPP or IRC, the binary message is encoded in base64, prefixed with the literal string "?OTR:", and suffixed with a period (".") to form a human-readable yet opaque payload. This encoding ensures compatibility without relying on binary transport, though it increases overhead by approximately 33%. For messages exceeding channel limits, OTR supports fragmentation into "?OTR|%x|%x,%hu,%hu,%s." fragments, reassembled by the recipient using sequence numbers and total count, assuming in-order delivery by the underlying network. No built-in compression (e.g., Zlib) is mandated in the core protocol, preserving message authenticity without introducing malleability risks from decompression. Upon receipt, the recipient decodes the base64, verifies the MAC, decrypts the payload, and processes any ratcheting keys to update the session state.

Authentication Methods

Fingerprint Verification

Fingerprint verification in Off-the-Record (OTR) messaging constitutes a manual procedure whereby users compare unique cryptographic identifiers, known as , derived from their respective long-term public keys to authenticate each other's identities and mitigate man-in-the-middle (MITM) attacks. Each user's is a 40-character string generated by applying the to the byte-level representation of their public key, formatted as PUBKEY (type, p, q, g, y), with leading zero bytes omitted for compatibility in DSA keys. The process begins during or after the authenticated key exchange (AKE), a variant of the protocol utilizing over a 1536-bit prime modulus, where parties exchange and sign their ephemeral and long-term public keys. To verify, users initiate the authentication dialog in their OTR-enabled client, selecting options such as "Verify " (in versions prior to 3.1.0) or "Advanced" for manual comparison in later versions. They then exchange fingerprints via an independent authenticated , such as a , in-person meeting, or GPG-signed message, ensuring the displayed purported fingerprint matches the buddy's reported value; successful comparison updates the connection status to "Private," indicating verified . This verification is typically performed once per buddy or upon key changes, such as when switching devices or accounts. By confirming the binding between the claimed identity and the public key used in the session, ensures that the cryptographic keys employed for and message authentication genuinely belong to the intended recipient, rather than an adversary impersonating them during . Failure to verify exposes sessions to MITM , where an attacker could decrypt and relay messages undetected, underscoring the necessity of comparison despite its usability burdens. OTR clients store known fingerprints for buddies, allowing status indicators like "Unverified" or to reflect state across sessions.

Socialist Millionaire Protocol Integration

The Socialist Millionaire Protocol (SMP), adapted for Off-the-Record (OTR) messaging, enables two parties to authenticate each other by verifying whether they share a specific piece of private information—such as a mutual secret question and answer—without revealing the information itself or the outcome of the comparison to any third party. This integration addresses limitations in public-key fingerprint verification by providing a mechanism resistant to man-in-the-middle attacks that rely on social engineering, as an impostor would lack knowledge of the pre-shared secret. The adaptation, proposed by Ian Goldberg and colleagues in 2007, modifies the original SMP (originally formulated to solve Yao's "millionaires' problem" of privately comparing wealth equality) to operate within OTR's encrypted sessions, using the parties' established session keys for secure exchange. In OTR protocol versions supporting (including version 3 and later), authentication begins when one user initiates the process via a dedicated containing the first SMP payload, prompting the recipient to input their secret corresponding to a question like "What is the name of our first pet?" or another mutually known fact. The protocol unfolds over a sequence of up to six encrypted messages exchanged as Type-Length-Value (TLV) structures within OTR data messages: the initiator sends an initial commitment, the responder replies with their commitment and blinded secret, followed by iterative Diffie-Hellman-like exponentiations and zero-knowledge proofs to compute equality checks homomorphically without decryption of the secret. Success is confirmed if the computed values match, yielding a outcome visible only to the participants; failure aborts the process without disclosing details. This design ensures deniability, as the messages appear as generic encrypted traffic and do not log the authentication event. SMP's integration enhances OTR's model by layering atop , but it requires users to have established shared knowledge beforehand, limiting its utility to trusted relationships with verifiable common history. Implementations in libraries like libotr (as of 4.1.0 in 2012) and OTRv4 (finalized around 2018) refine the protocol for efficiency, reducing message rounds where possible while preserving against passive eavesdroppers and active adversaries lacking the secret. Analyses confirm SMP's resistance to chosen-secret attacks within OTR's authenticated channels, though it assumes the underlying OTR session remains uncompromised. Clients such as Pidgin-OTR and support this feature, displaying progress indicators during the exchange to guide users without exposing sensitive data.

Limitations and Criticisms

Technical and Usability Constraints

The Off-the-Record (OTR) protocol supports only pairwise communications and lacks native mechanisms for multi-user group chats, restricting its use to one-on-one exchanges despite extensions like multi-party OTR (mpOTR) that attempt to address this but introduce additional complexities. Its session-oriented design, reliant on synchronous Diffie-Hellman key exchanges, requires both parties to be online simultaneously to establish and maintain encrypted sessions, rendering it incompatible with asynchronous environments like or disrupted networks without custom modifications. This constraint arises from the protocol's emphasis on real-time key agreement for and deniability, potentially leading to message loss or session interruptions in connectionless systems. Usability challenges stem primarily from authentication procedures, which demand out-of-band verification of key fingerprints or shared secrets—methods that users frequently mishandle, such as transmitting secrets insecurely via unencrypted instant messages or skipping mutual confirmation. A controlled user study with eight participants using the OTR plugin revealed widespread confusion over initiating , misleading interface cues (e.g., unclear right-click options), and one-way pitfalls, resulting in incomplete or erroneous setups that undermined . These issues, compounded by the need to interrupt normal messaging to start OTR sessions, deter sustained adoption, as initial failures often discourage repeated attempts. Key management adds further technical strain, as achieving perfect necessitates discarding prior session keys upon new agreements, yet asynchronous delays may force temporary retention, creating brief vulnerability windows if replies are not promptly received. While OTR's design prioritizes casual, ephemeral security over persistent storage, this can complicate integration with logging features or recovery mechanisms common in modern clients, exacerbating usability for non-expert users.

Known Security Analyses and Vulnerabilities

A formal of the initial Off-the-Record (OTR) protocol revealed vulnerabilities in its authenticated (AKE) mechanism, including susceptibility to an unknown share (UKS) , where an adversary could impersonate parties to each other by relaying modified messages without needing to know session keys, leading to misbinding while allowing shared computation. Additionally, a freshness-impersonation permits indefinite impersonation if an ephemeral Diffie-Hellman value is compromised, as attackers can replay signed ephemeral public keys without exposing long-term secrets, exploiting the absence of or freshness checks in signatures. These flaws undermine guarantees, though the protocol's deniability goal conflicts with stronger AKE designs like or HMQV, which provide better security but may reduce by including explicit bindings. A finite-state analysis of OTR version 2 using verified core properties such as message secrecy and against passive adversaries but identified failures in and . Specifically, the permits man-in-the-middle attacks where an active attacker convinces one party of a successful AKE with the intended peer while forging sessions, and allows undetected message modifications using expired (MAC) keys due to delayed key publication. Version rollback attacks were also possible, enabling downgrade to insecure earlier versions like lacking . Strong deniability was not achieved, as attackers could replace published MAC keys to prevent third-party forgery of messages, though weak deniability held under the protocol's assumptions. Suggested mitigations included adding explicit version negotiation checks, identity references in AKE, and publishing MAC keys from two prior generations to protect current . Subsequent versions, such as OTRv3, incorporated changes like improved to address v2 shortcomings, including better handling of data and reduced reliance on vulnerable signature schemes, though comprehensive formal verifications remain limited compared to modern protocols like Signal. OTRv4 proposals aim for enhanced deniability and multi-device support but have faced implementation-specific issues, such as integer overflows leading to potential remote code execution in libraries like libotr, rather than core protocol flaws. Model-checking efforts, including those using tools like Murphi on v2, confirmed protocol-level weaknesses amenable to but highlighted the challenges of verifying deniability properties, which resist standard secrecy models due to their reliance on post-compromise assumptions. Overall, while OTR pioneered deniable messaging, its security relies heavily on proper fingerprint verification to mitigate man-in-the-middle risks, with unverified implementations introducing additional vulnerabilities like format string flaws in plugins such as pidgin-otr prior to version 3.2.1.

Adoption and Implementation

Client Software Support

Support for the Off-the-Record Messaging (OTR) protocol is available in a range of clients, often via plugins or native integration, enabling encrypted conversations with and deniability over supported networks like XMPP or IRC. typically requires users to generate and verify cryptographic fingerprints manually, with plugins handling and session management. While functional in legacy setups, OTR support has diminished in newer clients due to preferences for protocols like OMEMO, which offer multi-device synchronization and group chat capabilities absent in standard OTR. Prominent clients include , a cross-platform application that integrates OTR through the pidgin-otr plugin (version 4.0.2 as of 2023 packages), supporting encryption over multiple protocols such as XMPP, , and . This plugin remains actively packaged in distributions like and , allowing private conversations with auto-detection of OTR-capable contacts. , a macOS client, provides native OTR support out-of-the-box, compatible with protocols including XMPP and requiring no additional installation for basic functionality. ChatSecure, an open-source mobile app for and , implements OTR over XMPP for , though it also supports OMEMO as a modern alternative.
ClientPlatformsSupport TypeKey Details
Windows, , macOSPlugin (pidgin-otr)Multi-protocol; active in 2025 distros
macOSNativeBuilt-in for XMPP and others
ChatSecureiOS, AndroidNativeXMPP-focused; pairs with OMEMO
Kopete (KDE)NativeSupports auto-detection
mcabber/Unix (console)NativeText-based; lightweight
Console-based options like mcabber and climm offer native OTR for systems, suitable for users prioritizing over graphical interfaces. Mobile support includes IM+ for with multi-protocol OTR integration. Discontinued clients such as Messenger previously provided OTR but are no longer maintained, underscoring the protocol's shift toward niche or archival use. Developers must compile plugins against libotr library versions 4.x for compatibility with OTRv3 features like .

Integration Challenges and Alternatives

Integrating the Off-the-Record (OTR) protocol into clients presents several technical hurdles, primarily stemming from its reliance on session-based cryptographic exchanges that must align with diverse underlying transport protocols. OTR requires implementation of Diffie-Hellman key agreement, signatures, and encryption, which demands robust libraries like libotr, but developers often encounter issues with handling asynchronous messaging flows in connectionless protocols such as XMPP or IRC, potentially leading to indefinite session establishment attempts during message interleaving. Furthermore, client integration necessitates custom user interfaces for fingerprint and session status indicators, which, if poorly designed, result in user confusion, such as unclear feedback on whether a supports OTR, thereby reducing effective adoption. Usability constraints exacerbate integration difficulties, as OTR's plugin-based architecture—for instance, in clients like or —introduces in low-bandwidth environments and requires manual intervention for , contrasting with seamless native in modern applications. A 2008 user study of OTR implementations revealed flaws like inadequate buddy compatibility detection and overly complex , which diminished perceived security and led to abandonment by users unfamiliar with cryptographic concepts. Broader adoption barriers include network effects, where low penetration in popular clients discourages developers from investing in maintenance, as evidenced by OTR's stagnant uptake compared to protocols with built-in . Alternatives to OTR address these integration pain points by prioritizing asynchronous operation, group support, and automated key ratcheting. OMEMO, an extension for XMPP clients, incorporates OTR's deniability and authentication while adding double-ratchet forward secrecy derived from the Signal protocol, enabling easier multi-device synchronization and group messaging without OTR's session persistence issues; it has seen integration in clients like Conversations for Android since 2015. The Messaging Layer Security (MLS) protocol, standardized by the IETF in 2023, offers a modular framework for end-to-end encryption in heterogeneous systems, supporting asynchronous groups and asynchronous ratcheting to mitigate OTR's latency sensitivities, with implementations emerging in libraries for scalable deployment. These alternatives reduce developer burden through higher-level abstractions and better interoperability, though they may sacrifice some of OTR's perfect forward secrecy for forward secrecy in practice.

Comparisons and Legacy

Relation to Protocols like Signal

The Off-the-Record (OTR) protocol, introduced in 2004, pioneered cryptographic features such as (PFS) and deniability for , enabling messages to remain confidential even if long-term keys are compromised and allowing plausible denial of authorship without persistent digital signatures. The , first published in 2013 as an evolution of , directly builds on OTR's mechanisms to achieve PFS, initially adapting OTR's approach with modifications for transport constraints like while retaining core elements of generation and . Signal extends OTR by introducing the , which combines symmetric key ratcheting with Diffie-Hellman ratcheting to support asynchronous messaging—a limitation in OTR's synchronous design, where sessions typically require interaction and risk key compromise during offline periods. This improvement enhances usability for modern applications, as users can securely exchange messages without simultaneous online presence, while maintaining PFS through continuous, independent advancement of encryption keys. In terms of deniability, Signal simplifies OTR's model by eliminating discrete logarithm-based DSA signatures, which added complexity and potential forgery risks in OTR, and instead relies on an authenticated key exchange that achieves repudiability without verifiable proofs of origin, reducing computational overhead and vulnerability to certain attacks. Both protocols prioritize non-repudiable authentication during sessions but enable post-session deniability; however, Signal's streamlined forging of transcripts provides stronger protection against coerced disclosure compared to OTR's more limited mechanisms. These advancements in Signal, while rooted in OTR's innovations, contributed to its widespread adoption in applications like WhatsApp and Facebook Messenger by 2016, contrasting OTR's narrower implementation in plugins for clients like Pidgin.

Broader Impact on Privacy and Surveillance Resistance

The Off-the-Record (OTR) protocol's implementation of perfect forward secrecy (PFS) ensures that session keys are ephemeral and discarded after use, rendering previously exchanged messages undecryptable even if an adversary later compromises long-term private keys. This property directly counters retroactive decryption threats from bulk programs that store encrypted traffic for future cracking, as seen in analyses of government interception capabilities post-2013 disclosures. By design, OTR generates unique keys per session via the Socialist Millionaire Protocol, preventing the linkage of past communications to current key material and thereby limiting the scope of to real-time interception only. OTR's deniable authentication further bolsters resistance to evidentiary demands in surveillance contexts, as messages lack persistent digital signatures verifiable by third parties, mimicking the plausible deniability of verbal conversations. Unlike protocols with long-lived signatures, such as PGP, OTR authenticates participants only during active sessions without generating court-admissible proofs of authorship or participation. This feature has practical utility for users in high-risk environments, including journalists protecting sources and activists evading authoritarian monitoring, where provable records could lead to legal repercussions. Collectively, these mechanisms have elevated standards for privacy in , demonstrating that can incorporate and deniability to frustrate both technical and forensic surveillance tactics. OTR's open-source availability since has enabled integration into clients like , fostering grassroots adoption for secure communication resistant to centralized oversight. However, its reliance on synchronous sessions limits applicability to asynchronous threats, underscoring the need for evolved protocols in modern surveillance landscapes.

References

  1. [1]
    Off-the-Record Messaging
    Off-the-Record (OTR) Messaging allows you to have private conversations over instant messaging by providing: Encryption. No one else can read your instant ...Gaim-otr on Windows · Software · Pidgin-otr on gentoo · Setting up OTR on Ubuntu
  2. [2]
    [PDF] Off-the-Record Communication, or, Why Not To Use PGP
    The off-the-record messaging protocol maintains a virtual session that lasts until the IM client is terminated, or until some period of inactivity.
  3. [3]
    Noodling about IM protocols – A Few Thoughts on Cryptographic ...
    Jul 26, 2014 · OTR was originally developed by Borisov, Goldberg and Brewer and has rapidly come to dominate its niche. Mostly this is because Borisov et al.
  4. [4]
    Off-The-Record Messaging part 2: deniability and forward secrecy
    Feb 15, 2022 · In this post (part 2) we're going to look at two more important properties - deniability and forward secrecy - and see that many protocols fail to achieve them.
  5. [5]
    SoK: An Analysis of End-to-End Encryption and Authentication ...
    Dec 25, 2022 · Fur- thermore, the OTR protocol does not support asynchronous mes- saging environments or group messaging because it was designed for ...Missing: controversies | Show results with:controversies
  6. [6]
    Signal >> Blog >> Simplifying OTR deniability.
    Jul 27, 2013 · One of OTR's primary features is a property called deniability. If someone receives an OTR message from you, they can be absolutely sure you sent it.<|separator|>
  7. [7]
    Deniable Encrypted Messaging: User Understanding after Hands-on ...
    Nov 20, 2024 · According to OTR [7], deniability means participants can deny the authenticity or authorship of specific messages, even if the content is ...
  8. [8]
    Off-the-record communication, or, why not to use PGP
    Off-the-record communication, or, why not to use PGP. Authors: Nikita Borisov ... In this paper, we argue that most social communications online should ...
  9. [9]
    What is Off-the-Record Messaging (OTR)? - ProcessOne
    Apr 20, 2019 · OTR protocol was created by cryptographers Ian Goldberg and Nikita Borisov, first released on 26 October 2004. Version 4 of OTR is currently ...Missing: development history
  10. [10]
    off-the-record/libotr: C library that implements the OTR protocol.
    Off-the-Record Messaging Library and Toolkit v4.1.0, 21 Oct 2014 This is a library and toolkit which implements Off-the-Record (OTR) Messaging.<|separator|>
  11. [11]
    Secure off-the-record messaging - ACM Digital Library
    "Off the Record Messaging" (OTR), a protocol designed to add end-to-end security and privacy to Instant Messaging protocols.
  12. [12]
    [PDF] Improved User Authentication in Off-The-Record Messaging
    OTR MESSAGING PROTOCOL​​ In this section we describe the evolution of the Off-the-Record Messaging protocol, from its inception to the present day.
  13. [13]
    [PDF] Finite-State Security Analysis of OTR Version 2 - Joseph Bonneau
    Furthermore, an improved protocol description should make explicit that published MAC keys shall be checked for validity on both ends, and either re-published ...
  14. [14]
    Off-the-Record Messaging Protocol version 3 - DRAFT
    This document describes version 3 of the Off-the-Record Messaging protocol. The main changes over version 2 include: Both fragmented and unfragmented messages ...Missing: history | Show results with:history
  15. [15]
    Off-the-Record Messaging / libotr / [3172d7] - SourceForge
    Read Me. Off-the-Record Messaging Library and Toolkit v4.0.0, 4 Sep 2012 This is a library and toolkit which implements Off-the-Record (OTR) Messaging.<|control11|><|separator|>
  16. [16]
    OTR: Encrypted Instant Messaging - Tek's Domain
    Jun 30, 2021 · OTR, or Off-the-Record Messaging, is a protocol for establishing end-to-end encrypted messaging between two participants over a standard instant messaging ...Missing: initial history
  17. [17]
    upgrading - Off-the-Record Messaging
    This section describes the new features in OTR 4.0.0 along with a short history or motivation for each. 2.1. Instance Tags Clients generate instance tags that ...Missing: date | Show results with:date
  18. [18]
    Off-the-Record messaging version 4 - NLnet Foundation
    OTRv4 is the newest version of the Off-The-Record messaging protocol. It is a protocol where the newest academic research intertwines with real-world ...Missing: features | Show results with:features
  19. [19]
    OTRv4 - GitHub
    This is the protocol specification for Off-the-Record Messaging Protocol version 4. Funding. The work made hare was partially supported by the NlNet Foundation.
  20. [20]
    OTR - Web Encrypt
    Off-the-Record Messaging (OTR) is a cryptographic protocol that provides encryption for instant messaging conversations.
  21. [21]
    Off-the-Record Messaging Protocol version 2 - DRAFT
    OTR users have long-lived public keys that they use for authentication (but not encryption). ... OTR uses Diffie-Hellman to calculate shared secrets in the usual ...Missing: algorithm | Show results with:algorithm
  22. [22]
    [PDF] Secure Off-the-Record Messaging - Mario Di Raimondo
    At the 2004 Workshop on Privacy in the Electronic Society. (WPES), Borisov, Goldberg and Brewer, presented “Off the. Record Messaging” (OTR), a protocol ...
  23. [23]
    Off-the-Record Messaging Protocol version 3
    An extra symmetric key is derived during AKE. This may be used for secure communication over a different channel (e.g., file transfer, voice chat).
  24. [24]
    Authentication - Off-the-Record Messaging
    Off-the-Record Messaging. Authentication · Fingerprints · Privacy Levels · Multiple Sessions. Authentication. You've probably received email from people ...
  25. [25]
    Off-the-Record Messaging: Fingerprints
    ### OTR Fingerprints Summary
  26. [26]
    [PDF] Improved User Authentication in Off-The-Record Messaging
    Aug 16, 2007 · OTR MESSAGING PROTOCOL​​ In this section we describe the evolution of the Off-the-Record Messaging protocol, from its inception to the present ...
  27. [27]
    How is OTR messaging with Socialist Millionaire Protocol (SMP ...
    Aug 20, 2013 · Alice wants to initiate OTR instant messaging session with Bob but Joe is Man In The Middle. Alice negotiates a shared secret 'X' with Joe ( ...Missing: Record integration
  28. [28]
    OTR4J: Off-The-Record messaging encryption written in pure Java
    ✓ Socialist Millionaire's Protocol for OTRv4. ✓ Migrate OTRv4 DAKE state ... Verify OTR-protocol obligations of other party: ☑ Verify that revealed ...<|separator|>
  29. [29]
    [PDF] Multi-party Off-the-Record Messaging - Cypherpunks Canada
    It is non-trivial to extend OTR to allow for multi- party conversations, as OTR uses cryptographic primitives designed for two parties. For example, OTR uses ...Missing: controversies | Show results with:controversies
  30. [30]
    [PDF] Multi-party Off-the-Record Messaging
    Two-party entity au- thentication has been studied in the setting of OTR by. Alexander and Goldberg [1, §4 and §5]; their solution is suitable for pairwise ...
  31. [31]
    [PDF] A User Study of Off-the-Record Messaging - University of Waterloo
    OTR was introduced by Borisov, Goldberg, and Brewer in. 2004 as a protocol that provides privacy in low-latency on- line social communications [3]. The trend ...Missing: original | Show results with:original<|control11|><|separator|>
  32. [32]
    A user study of off-the-record messaging - ACM Digital Library
    As a result of this study we have identified a variety of usability flaws remaining in the design of OTR. These flaws that we have discovered have the ...
  33. [33]
    Project 03 - Stanford Security Lab
    This analysis uncovers vulnerabilities in OTR and discusses appropriate fixes. The analysis is done using the model checker Murphi. Project report: pdf.
  34. [34]
    News - Off-the-Record Messaging
    Versions 3.2.0 and earlier of the pidgin-otr plugin contain a format string security flaw. This flaw could potentially be exploited by a remote attacker.Missing: OTRv4 | Show results with:OTRv4
  35. [35]
    OTR - XMPP WIKI
    Jan 13, 2025 · Off-the-Record Messaging, commonly referred to as OTR, is a cryptographic protocol that provides strong encryption for instant messaging conversations.
  36. [36]
    pidgin-otr 4.0.2-5 (x86_64) - Arch Linux
    Architecture: x86_64. Repository: Extra. Description: Off-the-Record Messaging plugin for Pidgin. Upstream URL: https://www.cypherpunks.ca/otr/.Missing: support Adium ChatSecure
  37. [37]
    pidgin-otr package : Ubuntu - Launchpad
    Off-the-Record (OTR) Messaging plugin for pidgin . OTR allows you to have private conversations over IM by providing: - Encryption - No one else can read your ...
  38. [38]
    OTR-Enabled Software - Off-the-Record Messaging
    IM clients which support Off-the-Record Messaging "out of the box" · Adium · IM+, a multi-protocol IM client for Android · climm · mcabber · CenterIM · Kopete ...
  39. [39]
    ChatSecure
    ChatSecure is a free and open source messaging app that features OMEMO encryption and OTR encryption over XMPP. You can connect to your existing Google ...About · Blog · Frequently Asked Questions · SupportMissing: list | Show results with:list<|control11|><|separator|>
  40. [40]
    What is Off-The-Record (OTR) Messaging? - Private Internet Access
    Jan 31, 2024 · To verify the other person, you can establish a shared secret between you two. Or you can also use fingerprint verification. Once the ...
  41. [41]
    [PDF] Obstacles to the Adoption of Secure Communication Tools
    OTR [16], originally released in 2004, was designed for low-latency messaging environments like chat clients, introducing additional security features (e.g., ...
  42. [42]
    OTR versus OMEMO - Development - Whonix Forum
    Jun 29, 2022 · OTR is based on OpenPGP, mainly for 1-to-1 chat, with easier key verification. OMEMO is "homemade", mainly for group chat, with complex key ...
  43. [43]
    A Playbook for End-to-End Encrypted Messaging Interoperability
    Jan 24, 2025 · A main drawback to the DMA is the power handed to gatekeepers, which is even more pronounced in the case of messaging in which there is only one ...
  44. [44]
    O2TR: Offline OTR messaging system under network disruption
    O 2 TR provides end-to-end security between users without requiring the assumption that they are persistently connected to each other.
  45. [45]
    Signal >> Blog >> Advanced cryptographic ratcheting
    Nov 26, 2013 · The TextSecure protocol was originally a derivative of OTR, with minor changes to accommodate it for transports with constraints like SMS or ...
  46. [46]
    Deniable Key Exchanges for Secure Messaging - ACM Digital Library
    In the wake of recent revelations of mass government surveillance, secure messaging protocols have come under renewed scrutiny. A widespread weakness of ...Missing: controversies | Show results with:controversies
  47. [47]
  48. [48]
    Forward Secrecy for Asynchronous Messages - Signal
    Aug 22, 2013 · This property is often referred to as Perfect Forward Secrecy. Asynchronous Life. OTR was designed for synchronous transports. It works well for ...Missing: surveillance | Show results with:surveillance