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

2022-11-13 Thread JC Brand
Congratulations Tim! And thanks for contributing to the diversity of libraries 
in our little ecosystem.


On November 11, 2022 3:49:17 PM GMT+01:00, Tim Henkes  wrote:
>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-unsubscr...@jabber.org
>___
___
JDev mailing list
Info: https://mail.jabber.org/mailman/listinfo/jdev
Unsubscribe: jdev-unsubscr...@jabber.org
___


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

2022-11-11 Thread Goffi
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  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-unsubscr...@jabber.org
>___
___
JDev mailing list
Info: https://mail.jabber.org/mailman/listinfo/jdev
Unsubscribe: jdev-unsubscr...@jabber.org
___


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

2022-11-11 Thread Paul Schaub

Awesome work Tim!

Congratulations on the release!

Paul

Am 11.11.22 um 15:49 schrieb Tim Henkes:

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-unsubscr...@jabber.org
___

___
JDev mailing list
Info: https://mail.jabber.org/mailman/listinfo/jdev
Unsubscribe: jdev-unsubscr...@jabber.org
___