Difference between revisions of "Tech pages/OMEMO"

From XMPP WIKI
Jump to navigation Jump to search
Line 27: Line 27:
 
== Further resources ==
 
== Further resources ==
  
* [[Tech pages/OMEMO/Quickstart|OMEMO Quickstart]]
+
* [[Tech pages/OMEMO/Quickstart|Siacs OMEMO Quickstart]]
 
* [[Tech pages/OMEMO/publish options|Using PEP with a different access model]]
 
* [[Tech pages/OMEMO/publish options|Using PEP with a different access model]]
 
* [[Tech pages/OMEMO/MUC|Usage in MUCs]]
 
* [[Tech pages/OMEMO/MUC|Usage in MUCs]]

Revision as of 17:34, 2 July 2020

XEP-0384: OMEMO Encryption is an end-to-end encryption mechanism for use with XMPP. It is based around the Double Ratchet Algorithm as known from the messaging application Signal.

More background information can be found on Wikipedia.

Mind the Namespace

Unfortunately there are different versions of OMEMO encryption existing, that are incompatible to each other.

"siacs" OMEMO

Protocol specification versions 0.2.0 to 0.3.0 are identified by the namespace of "eu.siacs.conversations.axolotl". Those are the versions with (currently) the greatest adoption in the ecosystem. If you need to have an implementation with compatibility to the status quo, you should implement this version. Note however, that you might end up needing to rework your implementation if the ecosystem moves to the next iteration.

"OMEMO:0"

Identified by the namespace "urn:xmpp:omemo:0", specification versions 0.0.2 and 0.1.0 describe a protocol which has no known implementations. You should not implement this version.

"OMEMO:1"

The specification versions 0.4 up to the most recent version (0.6 at the time of writing) are identified by the namespace of "urn:xmpp:omemo:1" and describe an improved, yet sparsely adopted version of the protocol. If you intend to implement a future proof encryption protocol, you should go with "OMEMO:1".

Further resources