[Week 2] Tackling the Beast

Second week of the coding period!

Summary

  • Added tests for calculate_parameters
  • Implemented the Setup algorithm
  • Adapted the paper's algorithm to the Matrix ecosystem.

Details

I received suggested changes in the calculate_parameters PR (#4) I made those changes and finished off the PR with tests for the method. This took a while, because the expected outcomes for these tests needed to be manually calculated.

Once that was done, I spent the rest of the week working on the distribute method, which is direct implementation of the Setup algorithm as given in the Fast Searchable Encryption with Tunable Locality” paper.

Setup algorithm, from “Fast Searchable Encryption with Tunable Locality”
Setup algorithm, from “Fast Searchable Encryption with Tunable Locality”

The paper's algorithm involves encryption and server-side search. For our purposes, we are choosing to rely on the the inbuilt encryption that the Matrix ecosystem provides to room events and content repository files. Additionally, the search algorithm will be run on the client side. What all of this means, for our project, is that there's no additional encryption required. This simplifies the steps quite a bit.

This method is the heart and soul of the encrypted search scheme, so I spent a while optimizing it and making sure the correspondence between code and algorithm was clear.

I've started working on the tests for this method, but I'm waiting on my mentor's guidance before I proceed.

Comments

Popular Posts