Skip to content

Megolm cryptographic ratchet, in JavaScript

License

Notifications You must be signed in to change notification settings

jitsi/megolm.js

Repository files navigation

megolm.js

Megolm.js is an implementation of the megolm cryptographic ratchet in JavaScript.

Overview and motivation

Megolm is the current cryptographic ratchet used by libolm for group chat sessions.

Its security features and limitations can be found here.

This library exists because we wanted to use a ratchet with the same properties as megolm, but libolm currently ties its use to group chat messages. There are other use cases, however.

This implementation is a port of the C implementation without too many bells and whistles in order to make checking its correctness easier.

API

See API.md.

Extensions

The import and export methods are extensions to the original implementation, inspired by libolm's session sharing.

Acknowledgements

The Matrix team, for writing libolm and megolm in the first place.