A Survey on Homomorphic Encryption Schemes: Theory and Implementation
arxiv.org
arxiv.org
Whenever I get a free couple weekends, I want to port IBM's HELib to Clojure, so that I can more easily use it for a Java project.
The crypto code was quite fun to write in Clojure; literally yesterday I just got permission to open source it.
If you want to play with it, the code is available here: https://github.com/tombert/scudlib
Since I have the ability work on it in my free time, I'll probably add more schemes.
Awesome to see their work getting attention! These guys all put in long hours and love what they do.
I always thought FHE was only good if you can fully unroll your "fixed-length" computation, and even then you can only use each "program" once without compromising security.
In particular the "Extractable Witness Encryption" conjecture is impossible under a reasonable falsifiable assumption: https://pdfs.semanticscholar.org/8587/dba4ff31e8118e9bd5914a...
Under that assumption, general purpose differing-inputs obfuscation cannot exist.
The way I understand it, FHE being applicable to anything other than "unwrapping a path through a circuit" seems implausible. Any claims of arbitrary encrypted computation should be viewed with the highest dose of skepticism.
Every time you want to run a computation on your FHE-enabled VPS you would need to upload data proportional to the maximum number of operations in the computation. Otherwise, re-running the same computation with a different input gives away information about both of your inputs and about the computation.
Do they actually do better than "factor the RSA key, then compute the output, then re-encrypt"?
There are a million different ways we're imminently hurtling down an empty abyss, and obviously if I was an inundated Texan or a general I might be more concerned about the environmental or nuclear apocalypse, but as a programmer the Cloud apocalypse is what concerns me the most.