Finally! After two days of work, I've managed to implement enough of MLS (Messaging Layer Security) to be able to create a new group with a single member, invite another member, then exchange an encrypted message.

I've worked on MLS two years ago, and at the time I got almost all of the test vectors working. This week-end I've fixed the remaining tests, implemented logic required to be an active client (generating groups and various messages), and wired everything up together.

A go-mls test passing with a successfully decrypted message
0

If you have a fediverse account, you can quote this note from your own instance. Search https://hachyderm.io/users/emersion/statuses/115719489607128887 on your instance and quote it. (Note that quoting is not supported in Mastodon.)