Read Wikipedia privately using homomorphic encryption
Read Wikipedia privately using homomorphic encryption
Hi, creator here. This is a demo of our recent work presented at Oakland (IEEE S&P): https://eprint.iacr.org/2022/368 . The server and client code are written in Rust and available here: https://github.com/menonsamir/spiral-rs . The general aim of our work is to show that homomorphic encryption is practical today for real-world applications. The server we use to serve this costs $35/month! A quick overview: the client uses homomorphic encryption to encrypt the article number that they would like to retrieve. The server processes the query and produces an encrypted result containing the desired article, and sends this back to the client, who can decrypt and obtain the article. A malicious server is unable to determine which article the client retrieved. All search and autocomplete is down locally. The technical details are in the paper, but the high level summary is that the client creates a large one-hot vector of encrypted bits (0’s except for the index of the desired article, where they place a 1) and then the server computes something like a ‘homomorphic dot product’ between the query and the plaintext articles. I’d like to caveat that this is an in-browser demo to show it is practical to use homomorphic encryption at this scale. As a real product, you’d probably want to distribute a signed client executable (or Electron app) since otherwise, a malicious server could simply deliver bad client JS on the fly. Happy to answer any questions!
Share cardActual performance
Launch Intel predictions
Analyze your own launch →Correct prediction on native model
Similar products
A Confidential DAO Voting System Using Homomorphic Encryption
Privately resolve “.eth” URLs using homomorphic encryption
Zip It – Encryption Anywhere
Additive Homomorphic Encryption on Ethereum
How to get around the Wikipedia blackout (if you have to)
Crowdsourced incremental Wikipedia improvements
wikiUp - Wikipedia in Tooltips
Legible Wikipedia
Serket – A gem for distributed encryption
WikiBattle – 1v1 races through Wikipedia