OMEMO

OMEMO是由Andreas Straub开发的XMPP协议的端到端加密扩展程序。Straub 称OMEMO使用双棘轮算法以“提供多端到多端加密，允许在多个客户端之间安全地同步消息，即使其中一些是离线状态”。 "OMEMO 是"OMEMO Multi-End Message and Object Encryption"的递归缩写。 它是一个基于双棘轮算法和个人事件协议（Personal Eventing Protocol, XEP-0163）的开放标准。 OMEMO 提供前向保密、消息同步和离线传达。 与OTR（XMPP的另一个加密扩展）相比，OMEMO协议提供多端到多端加密通信、离线消息队列、前向保密、文件传输和建立在略微更大的消息体积上的可核实性和可否认性。 该协议最初是作为Google编程之夏一个计划，由Andreas Straub于2015年开发，计划的目的是实现使用双棘轮算法的多端到多端加密协议到名为Conversations的Andorid即时通信客户端，该协议于Conversations首次实现并被提交至XMPP标准基金会 (XSF)，并在2016年12月被接受，成为XEP-0384扩展。 2016年7月，ChatSecure计划也宣布其将实现OMEMO。并在2017年1月17日的v4.0版本中支持。 跨平台XMPP客户端Gajim的OMEMO插件在2015年12月26日可用。 2016年6月，非盈利计算机安全咨询公司Radically Open Security发布了对OMEMO协议的分析。 部分支持OMEMO的IM客户端列表: BeagleIM(macOS) ChatSecure (iOS) Conversations (Android) Converse.js (基于浏览器) Dino (Linux, macOS) Gajim 通过官方插件 (Linux, Windows, BSD) Monal (iOS) Movim（英语：Movim） (基于浏览器) Psi 通过官方插件 (Linux, Windows, macOS) Psi+ 通过官方插件 (Linux, Windows, macOS, Haiku, FreeBSD) libpurple客户端Pidgin或Finch等等，通过实验性插件 Adium 通过基于的libpurple插件 Profanity（英语：Profanity (instant messaging client)） 通过实验性插件 (BSD, Linux, macOS, Windows) SiskinIM (iOS) Smack使用两个模组smack-omemo and smack-omemo-signal支持OMEMO。 XMPPFramework (macOS, iOS, tvOS) 通过OMEMOModule扩展支持OEMMO。 [Standards] NEW: XEP-0384 (OMEMO Encryption). 2016-12-07 [2016-12-23]. （原始内容存档于2020-08-08）.  Daniel Gultsch. OMEMO Multi-End Message and Object Encryption. [2015-11-23]. （原始内容存档于2016-04-10）.  OMEMO Multi-End Message and Object Encryption. conversations.im. [2019-01-22]. （原始内容存档于2016-04-10） （英语）.  ChatSecure iOS v3.2.3 - XMPP Push. 2016-07-25 [2016-09-07]. （原始内容存档于2022-05-11）.  ChatSecure v4.0 - OMEMO and Signal Protocol. 2017-01-17 [2017-02-07]. （原始内容存档于2018-06-19）.  Bahtiar Gadimov. Initial OMEMO commit. dev.gajim.org. 2015-12-26 [2017-09-08]. （原始内容存档于2017-09-08）.  OMEMO: Cryptographic Analysis Report (PDF). 2016-06 [2022-08-21]. （原始内容存档 (PDF)于2021-11-09）.  Are we OMEMO yet?. Are we OMEMO yet?. [2019-01-22]. （原始内容存档于2022-08-12） （美国英语）.  BeagleIM and SiskinIM just got OMEMO support. tigase.net. [2019-06-07]. （原始内容存档于2019-07-04）.  ChatSecure v4.0 - OMEMO and Signal Protocol. chatsecure.org. [2017-01-17]. （原始内容存档于2018-06-19）.  XEP-0384: OMEMO Encryption · Issue #497 · conversejs/converse.js. GitHub. [2019-11-20]. （原始内容存档于2022-08-21） （英语）.  Dino - Modern Jabber/XMPP Client using GTK+/Vala. dino.im. [2017-11-06]. （原始内容存档于2022-08-10）.  Bahtiar Gadimov; et al. Omemogajimplugin · Wiki · gajim / gajim-plugins · GitLab. [2016-12-04]. （原始内容存档于2018-06-19）.  End to end encryption in Movim - OMEMO is (finally) there!. mov.im. [2021-12-15]. （原始内容存档于2022-02-19）.  Vyacheslav Karpukhin. OMEMO for Psi · GitHub. [2018-03-04]. （原始内容存档于2022-05-05）.  Vyacheslav Karpukhin. Psi+ snapshots. [2018-03-04].  Richard Bayerle. lurch - OMEMO for libpurple. [2017-02-12]. （原始内容存档于2017-02-18）.  Olivier Mehani. Lurch4Adium - OMEMO Xtra for Adium. [2017-06-08]. （原始内容存档于2022-10-24）.  René Calles. profanity-omemo-plugin: A Python plugin to use (axolotl / Signal Protocol) encryption for the profanity XMPP messenger. [2017-01-10]. （原始内容存档于2018-06-11）.  Schaub, Paul. Ignite Realtime Blog: Smack v4.2 Introduces OME... | Ignite Realtime. community.igniterealtime.org. 6 June 2017 [2017-07-11]. （原始内容存档于2017-07-15） （英语）.  Robbiehanson/XMPPFramework. 2021-10-26 [2022-08-21]. （原始内容存档于2022-08-21）.  Robbiehanson/XMPPFramework. 2021-10-26 [2022-08-21]. （原始内容存档于2022-08-22）.  XEP-0384: OMEMO Encryption （页面存档备份，存于互联网档案馆） 实现OMEMO的Python库 （页面存档备份，存于互联网档案馆） C语言的OMEMO协议实现 （页面存档备份，存于互联网档案馆） OMEMO Top - 各客户端OMEMO支持的排行榜