Implement Encrypted Search for Matrix
- Mentors
- Charles Wright
- Organization
- Matrix.org
- Technologies
- python
- Topics
- database, communication, search, encryption, Matrix
Currently, keeping privacy in mind, Matrix uses seshat to store a searchable database on the user’s device itself. As the number of conversations and messages increase, maintaining an index on the client side becomes tougher.
The solution to these problems is a Searchable Symmetric Encryption (SSE) scheme that lets the client safely store an encrypted database on an untrusted server and search through it with full privacy.
This project will implement, in particular, the keyword search scheme outlined in a Demertzis et al. paper titled “Fast Searchable Encryption with Tunable Locality”. I will achieve this by creating a Python library that exposes methods to create, update and search on encrypted indices stored in content repositories in a Matrix homeserver.
As a part of the project I will be demonstratively integrating the library into an existing Matrix client. Additionally, I will submit results of preliminary performance evaluation.