[jdev] Announcing the release of python-omemo, with support for the new SCE-based OMEMO

Goffi goffi at goffi.org
Fri Nov 11 18:21:11 UTC 2022


Great, congratulation for this amazing work. Is there any web page with this announce that we can link ?

Le 11 novembre 2022 15:49:17 GMT+01:00, Tim Henkes <syndace at web.de> a écrit :
>After years of development I am stoked to announce the release of
>python-omemo - An open Python implementation of the OMEMO Multi-End
>Message and Object Encryption protocol!
>
>
>python-omemo [1] is an OMEMO implementation written from scratch with
>support for both the currently widespread eu.siacs.conversations.axolotl
>version of OMEMO [2] and the newest, SCE-based version under the
>urn:xmpp:omemo:2 namespace [3].
>
>
>Notably, python-omemo is an implementation of the OMEMO _protocol_ and
>not just the cryptographic primitives, which means that many of the
>small protocol flow details of the OMEMO specification are handled by
>python-omemo as well.
>
>
>Key properties of the library:
>
>- Seamless support for both versions of the OMEMO specification at the
>same time. The library transparently handles compatibility between the
>two versions, i.e. identity keys, device ids and trust are shared
>appropriately. The protocol version to encrypt a message with can either
>be selected explicitly, or given as a priority, to e.g. use the new
>OMEMO if available, and fall back to the old OMEMO if not.
>
>- Handles bundle and device list, making sure the published data is
>always in sync with the local data.
>
>- Handles small protocol flow details, like sending automated empty
>messages in response to a key exchange or to prevent staleness.
>
>- Provides an easy way to integrate any sort of trust system - be it
>simple manual trust, BTBV, TOFU or something more complex.
>
>- Thin and straight-forward public API - OMEMO doesn't have to be
>complicated :)
>
>- Optionally reads/verifies and builds ElementTree XML structures for
>you, so that you can keep your codebase even thinner.
>
>- Clean, modern, fully-typed Python 3 with thorough API documentation.
>
>- Very easy to get started with - provide a simple key-value storage,
>implement some methods to upload/download bundles and device lists from
>PEP, and you're pretty much set!
>
>
>This library aims to enable client developers to equip their clients
>with OMEMO support without understanding all of the nasty cryptography
>or protocol flow details. Please give it a look, send me feedback and
>consider it for your Python-based client :)
>
>
>[1]: https://github.com/Syndace/python-omemo
>
>[2]: https://xmpp.org/extensions/attic/xep-0384-0.3.0.html
>
>[3]: https://xmpp.org/extensions/xep-0384.html
>
>
>_______________________________________________
>JDev mailing list
>Info: https://mail.jabber.org/mailman/listinfo/jdev
>Unsubscribe: JDev-unsubscribe at jabber.org
>_______________________________________________
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://www.jabber.org/jdev/attachments/20221111/959fa8e3/attachment.html>


More information about the JDev mailing list