But what fully homomorphic encryption allows you to is to perform arbitrary computations on encrypted data.
So you send your encrypted data to a machine, it performs the computation, and sends it back to you still encrypted. Like the password list example you mentioned.
What is cool about this is that is solves the problem with privacy in cloud computing platforms. You don't expose your data.
NOTE: I'm not a cryptographer nor haven't read the article yet. Just writing what I can remember.
Would homomorphic encryption make it possible for cloud hosting to run a website without knowing the code that is being ran?
But if you are to perform heavy computing on server side, you have to be homomorphic. Or other amazing opportunities like decentralized key management, content tokenization (DRM) etc appear from this homomorphic work (even if the speed is 100 times slower than unencrypted)
Or at least having skimmed the white paper, and having some background in this, that was my take away.
EDIT: Your explanation of homomorphic encryption is a good way to explain it at a level people can understand just what a breakthrough a workable implementation would be.
Is there at least proof that it is possible? This would be amazing technology.
Since the paper states that all nodes must collude to recover (not decrypt) the data I would assume that the pieces are encrypted asymmetrically for each node to ensure a sufficiently powerful man in the middle (cough NSA) doesn't just reassemble the pieces.
8.10 Bitcoin Wallet
1. Decentralized private key generation – Multiple Enigma nodes locally create a segment of the key, whereas the full key is only ever assembled by the user. No trail of evidence is left anywhere.
2. Decentralized transaction signing – Transactions signed without ever exposing the private key or leaving a trail.
3. Decentralized controls - Set spending limits, multi-sig, CHECKLOCKTIMEVERIFY like controls, and more with a private script. Lock time,
We have some ideas on how to do it, but we're hoping gifted developers out there would use our platform to develop such highly-needed applications (that would probably be much better than what we have in mind).
Or more like I can send an encrypted list of passwords and they can tell me what the most common letter is in all the passwords without ever knowing any of the passwords?
If these things aren't possible, can someone provide a useful example of this being used to solve a problem? I'm having a bit of trouble actually understanding what this is/does.