Matrix/Riot with encrypted private messages by default

Company New Vector, whose staff also leads the non-profit protocol organization Matrix, announced the release of a number of Matrix clients of the family Riot.

Matrix is ​​a free protocol for implementing a federated network based on a linear history of events (events) within an acyclic graph (DAG). The main implementation of this protocol is a messenger with support for VoIP signaling, but other things are possible as it is a general purpose protocol.

The main change for released clients for browser and Electron wrapper (1.6.0), Android (0.19.0) ΠΈ iOS (0.11.1-0.11.2) was to enable end-to-end encryption for private conversations by default. Encryption is possible thanks to the protocol Olm, based on the Signal messenger protocol. Encryption of group conversations uses a protocol extension called Megolm, which allows the message to be decrypted multiple times.


For the first time, optional encryption was presented in 2016. Enabling by default in experimental builds happened during FOSDEM 2020.

Since the first release of the encryption implementation, the following features have appeared:

  • the client can request keys to decrypt messages from other clients of the user or from clients of interlocutors;
  • a server storage for client encryption keys appeared, encrypted with a secret phrase;
  • in addition to verifying devices by fingerprint (fingerprint), verification using emoji characters has also appeared.

In the future, it is planned to enable encryption by default not only for private conversations, but also for non-public rooms in general, including group ones.

Also mentioned:

Search for encrypted rooms is already available with Firefox extensions Radical.


To make it easier to work with encryption keys, the developers of the Matrix protocol introduced a mechanism called "cross-signing". It allows, using an already verified device, to automatically verify other devices of the user. When this mechanism works, two interlocutors need to verify their devices only once, and not each device separately. mechanism specification can be read on github.


In addition to Riot, other clients support encryption: FluffyChat, nheko Reborn, customers on libQuotient (WIP), clients on mautrix-go (gomuks), clients on matrix-nio (The Mirage, ΠΈ weechat), sea ​​glass (abandoned). Other implementations are in development. For clients without encryption support, an E2EE proxy daemon is offered βˆ’ pantalaimon.

Source: linux.org.ru

Add a comment