otrv4 VS Xabber

Compare otrv4 vs Xabber and see what are their differences.

otrv4

Off-the-Record Messaging Protocol version 4. -This is a draft- This repository is a mirror of http://bugs.otr.im/otrv4/otrv4 (by otrv4)
Our great sponsors
  • WorkOS - The modern identity platform for B2B SaaS
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • SaaSHub - Software Alternatives and Reviews
otrv4 Xabber
6 1
191 1,809
0.5% 0.0%
0.0 0.0
over 1 year ago over 1 year ago
Java
- GNU General Public License v3.0 or later
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.

otrv4

Posts with mentions or reviews of otrv4. We have used some of these posts to build our list of alternatives and similar projects.
  • OTR Version 4
    1 project | news.ycombinator.com | 5 Dec 2023
  • Off-the-Record Messaging
    1 project | news.ycombinator.com | 20 Feb 2022
    I may have missed something here, but the write-up seems to be missing the main problem with OTR, which is that both parties need to be online at the same time to do the key-exchange to set up the session - at least in OTRv3 (https://otr.cypherpunks.ca/Protocol-v3-4.0.0.html)

    This is why the Double Ratchet Algorithm was created (back in 2013!) where you prepublish a pool of one-time-keys which can be used to establish sessions without you having to be online - as well as defining how to ratchet the message keys forwards both by new DH exchanges and simple hash ratchets (hence the name Double Ratchet).

    OTRv3 has the sole advantage that you can trivially tunnel it over any existing synchronous transport (e.g. an IRC DM), given it doesn't have the concept of setting up sessions asynchronously. However, this is a bit of a moot point these days, given modern messaging systems like Matrix, XMPP and Signal natively support the Double Ratchet via Olm, OMEMO & libsignalprotocol respectively - so OTRv3 really is a bit of a historical curiosity at this point.

    Meanwhile OTRv4 does introduce the idea of offline conversation initialisation (https://github.com/otrv4/otrv4/blob/master/otrv4.md#offline-...), but it doesn't seem to have got much traction, relative to the fairly ubiquitous Double Ratchet. (Has anyone seen it in the wild? It looks like coy.im might speak it? https://github.com/otrv4 seems fairly dead :/)

    Finally, lots of E2EE research is going into efficient shared ratchets for group communication rather than 1:1 sessions - such as MLS (https://datatracker.ietf.org/wg/mls/about/), DMLS (https://matrix.uhoreg.ca/mls/decentralised.html) and DCGKA (https://www.cylab.cmu.edu/news/2021/11/23-group-messaging.ht...).

  • A Stick Figure Guide to the Advanced Encryption Standard (AES)
    1 project | news.ycombinator.com | 3 Feb 2022
    AES gets all the marketing glory. You ask the company how are they doing security? Marketing person says: "It's secure we're using AES.". AES is often the only technical word they use when they say it's secure in product brochures because they know this is going to satisfy a clueless CISO with a purchasing budget to cover their behind.

    But fast forward from 2009 take a look at OTR and their decision[1] to switch from AES to ChaCha20 (see https://github.com/otrv4/otrv4/blob/master/architecture-deci...) - the whole document is very interesting and pretty brief to highlight why AES might not be the best choice:

    > We use ChaCha20 as the encryption stream cipher because it is faster than AES in software-only implementations, it is not sensitive to timing attacks and has undergone rigorous analysis ([3], [4] and [5]). We chose this over AES as future advances in cryptanalysis might uncover security issues with it, its performance on platforms that lack dedicated hardware is slow, and many AES implementations are vulnerable to cache-collision timing attacks [[6]].

    But AES is so much faster because some SSD's can offload it to hardware right? See:

    256-bit AES encryption broken in SandForce SSD controllers: https://techreport.com/news/23096/256-bit-aes-encryption-bro...

    Self-encrypting SSDs can easily be cracked: https://portswigger.net/daily-swig/self-encrypting-ssds-can-...

    Crucial and Samsung SSDs' Encryption Is Easily Bypassed: https://www.tomshardware.com/news/crucial-samsung-ssd-encryp...

    ...

    So it seems to me that if I have a large number of architectures and devices my software might be running on which is outside my control then the ability to predict how my crypto implementation will affect the performance of my device is a good enough reason alone to not use AES. But I might be wrong maybe others can throw in some thoughts here.

  • Off-the-Record Messaging Protocol version 4 draft
    1 project | news.ycombinator.com | 17 Jan 2021
  • Why Jabber reigns across the Russian cybercrime underground
    1 project | news.ycombinator.com | 17 Jan 2021
    OTRv3 is definitely not considered secure now, there is an unimplemented (and possibly unfinished) OTRv4 that updates the crypto though:

    https://github.com/otrv4/otrv4

  • Is there a good reason not to replace PGP with Cryptocurrency based cryptography?
    1 project | /r/privacytoolsIO | 28 Dec 2020
    So you shouldn't be using Cryptocurrency based communication or PGP at all. You should be using modern deniable protocols like The Signal Protocol (in Signal), OTRv4 (work in progress, no implementations yet), OMEMO (e.g. ChatSecure), and MEGOLM (used by Element).

Xabber

Posts with mentions or reviews of Xabber. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2022-01-10.
  • XMPP: The secure communication protocol that respects privacy
    8 projects | news.ycombinator.com | 10 Jan 2022
    Depending on when you last tried xmpp you might have experienced the OTR hell, which was never really codified 100% and spawned subtle incompatibilities between clients leading to weird and nondescript errors that never got addressed. Nowadays the popular clients support omemo (https://conversations.im/omemo/), which makes encryption just work™ out of the box and without hassle. The only exception to this is xabber, who are apparently afraid of law enforcement destroying their lifes should they implement proper encryption and also feel no need to support it anyways: https://github.com/redsolution/xabber-android/issues/540

What are some alternatives?

When comparing otrv4 and Xabber you can also consider the following projects:

end-to-end - End-To-End is a crypto library to encrypt, decrypt, digital sign, and verify signed messages (implementing OpenPGP)

Conversations - Conversations is an open source XMPP/Jabber client for Android

HiddenVM - HiddenVM — Use any desktop OS without leaving a trace.

Smack - A modular and portable open source XMPP client library written in Java for Android and Java (SE) VMs

ChatSecure-iOS - ChatSecure is a free and open source encrypted chat client for iOS that supports OTR and OMEMO encryption over XMPP.

yaxim - yaxim - a lean XMPP/Jabber client for Android

blabber.im - blabber.im basiert auf Conversations und ist ein Open Source XMPP/Jabber Messenger für Android 4.1+

Android-Paho-Mqtt-Service

androidpn - An open source project to provide push notification support for Android -- a xmpp based notification server and a client tool kit.

revolution-irc - A modern Android IRC client. #revolutionirc on Libera.chat

lurch - XEP-0384: OMEMO Encryption for libpurple.

jaxmpp - Java XMPP client library