vodozemac
vodozemac copied to clipboard
Add interoperability with DR and X3DH based on Signal specs
This implements the delta between Olm and the Signal DR and X3DH specs[1][2] as a new mode (dubbed "Interolm"), intended to enable interoperability with libsignal and similar implementations.
[1]: https://signal.org/docs/specifications/x3dh/ [2]: https://signal.org/docs/specifications/doubleratchet/
Caveats
- [ ] Broken libolm pickling. This currently breaks libolm session unpickling, because the legacy libolm pickle format doesn't contain some information added by the Interolm mode. This means we have one failing test.
- [ ] Missing a bunch of tests.
- [ ] Missing fuzzing.