|XMPP Servers:||Servers Category|
|XMPP Clients:||Clients Category|
|User Guides:||User Guide Category|
OMEMO is an extension to the Extensible Messaging and Presence Protocol (XMPP, "Jabber") for multi-client end-to-end encryption developed by Andreas Straub. According to Straub, OMEMO uses the Double Ratchet Algorithm "to provide multi-end to multi-end encryption, allowing messages to be synchronized securely across multiple clients, even if some of them are offline". The name "OMEMO" is a recursive acronym for "OMEMO Multi-End Message and Object Encryption". It is an open standard based on the Double Ratchet Algorithm and the Personal Eventing Protocol (PEP, XEP-0163). OMEMO offers future and forward secrecy and deniability with message synchronization and offline delivery.
History[edit | edit source]
The protocol was developed and first implemented by Andreas Straub as a Google Summer of Code project in 2015. The project's goal was to implement a double-ratchet-based multi-end to multi-end encryption scheme into an Android XMPP-based instant messaging client called Conversations. It was introduced in Conversations and submitted to the XMPP Standards Foundation (XSF) as a proposed XMPP Extension Protocol (XEP) in the autumn of 2015 and got accepted as XEP-0384 in December 2016.
In June 2016, the non-profit computer security consultancy firm Radically Open Security published an analysis of the OMEMO protocol.
Client Support[edit | edit source]
- ChatSecure (iOS)
- Conversations (Android)
- Cryptocat - No open XMPP client, works only with Cryptocat server (Linux, OS X, Windows)
- Gajim via plugin (BSD, Linux, Windows)
- libpurple clients such as Pidgin or Finch via experimental plugin 
- Adium via an Xtra based on the libpurple plugin
- Profanity via plugin (BSD, Linux, macOS, Windows)
Library Support[edit | edit source]
- Smack supports OMEMO using the two modules smack-omemo and smack-omemo-signal
References[edit | edit source]
- Andreas Straub (2015-10-25). "OMEMO Encryption". XMPP Standards Foundation website. Retrieved 2015-11-23.
- Daniel Gultsch. "OMEMO Multi-End Message and Object Encryption". Retrieved 2015-11-23.
- "[Standards] NEW: XEP-0384 (OMEMO Encryption)". 2016-12-07. Retrieved 2016-12-23.
- "ChatSecure iOS v3.2.3 - XMPP Push". 2016-07-25. Retrieved 2016-09-07.
- "ChatSecure v4.0 - OMEMO and Signal Protocol". 2017-01-17. Retrieved 2017-02-07.
- Bahtiar Gadimov (2015-12-26). "Release 0.1 – kalkin/gajim-omemo". GitHub. Retrieved 2016-01-19.
- OMEMO: Cryptographic Analysis Report. June 2016
- "ChatSecure v4.0 - OMEMO and Signal Protocol". chatsecure.org. Retrieved 2017-01-17.
- "Cryptocat - Security". crypto.cat. Retrieved 2016-05-24.
- Bahtiar Gadimov; et al. "Omemogajimplugin · Wiki · gajim / gajim-plugins · GitLab". Retrieved 2016-12-04.
- Richard Bayerle. "lurch - OMEMO for libpurple". Retrieved 2017-02-12.
- Olivier Mehani. "Lurch4Adium - OMEMO Xtra for Adium". Retrieved 2017-06-08.
- René Calles. "profanity-omemo-plugin: A Python plugin to use (axolotl / Signal Protocol) encryption for the profanity XMPP messenger". Retrieved 2017-01-10.
- Schaub, Paul. "Ignite Realtime Blog: Smack v4.2 Introduces OME... | Ignite Realtime". community.igniterealtime.org. Retrieved 2017-07-11.
[edit | edit source]
- XEP-0384: OMEMO Encryption (Experimental)
- Python library for implementing OMEMO in other clients
- OMEMO protocol implementation in C
|This page uses content from Wikipedia. The original article was at OMEMO. The list of authors can be seen in the page history. As with MattWiki, the text of Wikipedia is available under the Creative Commons Attribution-ShareAlike 3.0 Unported License.|