121
edits
Vanitasvitae (talk | contribs) |
Vanitasvitae (talk | contribs) |
||
Line 1: | Line 1: | ||
[https://xmpp.org/extensions/xep-0384.html 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 [https://de.wikipedia.org/wiki/OMEMO 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 [https://xmpp.org/extensions/attic/xep-0384-0.3.0.html 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 [https://xmpp.org/extensions/attic/xep-0384-0.4.0.html 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 == | |||
* [[Tech pages/OMEMO/Quickstart|OMEMO Quickstart]] | * [[Tech pages/OMEMO/Quickstart|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]] | ||
edits