Re: Announcing the release of python-omemo, with support for the new SCE-based OMEMO
Goffi <[email protected]> Fri, 11 Nov 2022 19:21:11 +0100
| Newsgroups | gmane.network.jabber.devel |
|---|---|
| Message-ID | <[email protected]> |
--===============1228410096== Content-Type: multipart/alternative; boundary=----UR1MOZYFH8KSOL4YPM10ACCTCAC78W Content-Transfer-Encoding: 7bit ------UR1MOZYFH8KSOL4YPM10ACCTCAC78W Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Great, congratulation for this amazing work=2E Is there any web page with t= his announce that we can link ? Le 11 novembre 2022 15:49:17 GMT+01:00, Tim Henkes <syndace@web=2Ede> a = =C3=A9crit=C2=A0: >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=2Esiacs=2Econversations=2Eax= olotl >version of OMEMO [2] and the newest, SCE-based version under the >urn:xmpp:omemo:2 namespace [3]=2E > > >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=2E > > >Key properties of the library: > >- Seamless support for both versions of the OMEMO specification at the >same time=2E The library transparently handles compatibility between the >two versions, i=2Ee=2E identity keys, device ids and trust are shared >appropriately=2E The protocol version to encrypt a message with can eithe= r >be selected explicitly, or given as a priority, to e=2Eg=2E use the new >OMEMO if available, and fall back to the old OMEMO if not=2E > >- Handles bundle and device list, making sure the published data is >always in sync with the local data=2E > >- Handles small protocol flow details, like sending automated empty >messages in response to a key exchange or to prevent staleness=2E > >- Provides an easy way to integrate any sort of trust system - be it >simple manual trust, BTBV, TOFU or something more complex=2E > >- 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=2E > >- Clean, modern, fully-typed Python 3 with thorough API documentation=2E > >- 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=2E Please give it a look, send me feedback and >consider it for your Python-based client :) > > >[1]: https://github=2Ecom/Syndace/python-omemo > >[2]: https://xmpp=2Eorg/extensions/attic/xep-0384-0=2E3=2E0=2Ehtml > >[3]: https://xmpp=2Eorg/extensions/xep-0384=2Ehtml > > >_______________________________________________ >JDev mailing list >Info: https://mail=2Ejabber=2Eorg/mailman/listinfo/jdev >Unsubscribe: JDev-unsubscribe@jabber=2Eorg >_______________________________________________ ------UR1MOZYFH8KSOL4YPM10ACCTCAC78W Content-Type: text/html; charset=utf-8 Content-Transfer-Encoding: quoted-printable <html><head></head><body>Great, congratulation for this amazing work=2E Is = there any web page with this announce that we can link ?<br><br><div class= =3D"gmail_quote">Le 11 novembre 2022 15:49:17 GMT+01:00, Tim Henkes <syn= dace@web=2Ede> a =C3=A9crit=C2=A0:<blockquote class=3D"gmail_quote" styl= e=3D"margin: 0pt 0pt 0pt 0=2E8ex; border-left: 1px solid rgb(204, 204, 204)= ; padding-left: 1ex;"> <pre dir=3D"auto" class=3D"k9mail">After years of development I am stoked = to announce the release of<br>python-omemo - An open Python implementation = of the OMEMO Multi-End<br>Message and Object Encryption protocol!<br><br><b= r>python-omemo [1] is an OMEMO implementation written from scratch with<br>= support for both the currently widespread eu=2Esiacs=2Econversations=2Eaxol= otl<br>version of OMEMO [2] and the newest, SCE-based version under the<br>= urn:xmpp:omemo:2 namespace [3]=2E<br><br><br>Notably, python-omemo is an im= plementation of the OMEMO _protocol_ and<br>not just the cryptographic prim= itives, which means that many of the<br>small protocol flow details of the = OMEMO specification are handled by<br>python-omemo as well=2E<br><br><br>Ke= y properties of the library:<br><br>- Seamless support for both versions of= the OMEMO specification at the<br>same time=2E The library transparently h= andles compatibility between the<br>two versions, i=2Ee=2E identity keys, d= evice ids and trust are shared<br>appropriately=2E The protocol version to = encrypt a message with can either<br>be selected explicitly, or given as a = priority, to e=2Eg=2E use the new<br>OMEMO if available, and fall back to t= he old OMEMO if not=2E<br><br>- Handles bundle and device list, making sure= the published data is<br>always in sync with the local data=2E<br><br>- Ha= ndles small protocol flow details, like sending automated empty<br>messages= in response to a key exchange or to prevent staleness=2E<br><br>- Provides= an easy way to integrate any sort of trust system - be it<br>simple manual= trust, BTBV, TOFU or something more complex=2E<br><br>- Thin and straight-= forward public API - OMEMO doesn't have to be<br>complicated :)<br><br>- Op= tionally reads/verifies and builds ElementTree XML structures for<br>you, s= o that you can keep your codebase even thinner=2E<br><br>- Clean, modern, f= ully-typed Python 3 with thorough API documentation=2E<br><br>- Very easy t= o get started with - provide a simple key-value storage,<br>implement some = methods to upload/download bundles and device lists from<br>PEP, and you're= pretty much set!<br><br><br>This library aims to enable client developers = to equip their clients<br>with OMEMO support without understanding all of t= he nasty cryptography<br>or protocol flow details=2E Please give it a look,= send me feedback and<br>consider it for your Python-based client :)<br><br= ><br>[1]: <a href=3D"https://github=2Ecom/Syndace/python-omemo">https://git= hub=2Ecom/Syndace/python-omemo</a><br><br>[2]: <a href=3D"https://xmpp=2Eor= g/extensions/attic/xep-0384-0=2E3=2E0=2Ehtml">https://xmpp=2Eorg/extensions= /attic/xep-0384-0=2E3=2E0=2Ehtml</a><br><br>[3]: <a href=3D"https://xmpp=2E= org/extensions/xep-0384=2Ehtml">https://xmpp=2Eorg/extensions/xep-0384=2Eht= ml</a><hr>JDev mailing list<br>Info: <a href=3D"https://mail=2Ejabber=2Eorg= /mailman/listinfo/jdev">https://mail=2Ejabber=2Eorg/mailman/listinfo/jdev</= a><br>Unsubscribe: JDev-unsubscribe@jabber=2Eorg<hr></pre></blockquote></di= v></body></html> ------UR1MOZYFH8KSOL4YPM10ACCTCAC78W-- --===============1228410096== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: inline X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSkRldiBtYWls aW5nIGxpc3QKSW5mbzogaHR0cHM6Ly9tYWlsLmphYmJlci5vcmcvbWFpbG1hbi9saXN0aW5mby9q ZGV2ClVuc3Vic2NyaWJlOiBKRGV2LXVuc3Vic2NyaWJlQGphYmJlci5vcmcKX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18K --===============1228410096==--