Hacker News new | ask | show | jobs
by buzzdenver 2518 days ago
For a layman like me it sounds really cool, almost like magic. Consider a trivial operation like finding a maximum value in a list. How is that supposed to work on encrypted values while simultaneously providing strong encryption? So something like adding N to everything in the list is not an acceptable encryption.
3 comments

Just like a Laplace transform maps differential equations into algebraic equations and convolution into multiplication - or Fourier for that matter - it's not so hard to imagine that there are encryption maps (that are hard to invert) but where something like a sum operation becomes a feasible operation in the encrypted domain. A max operation can similarly have an equivalent operation in the encrypted space.

I guess your concern is that the output is "one of the encrypted input" values and hence identified, although not decrypted. Subsequently, all the input values would be fed into the "max" module and their complete order can be determined by the one running the homeomorphic server.

In that case we will need to have an output where all inputs are returned. Perhaps a map with indices and values (all encrypted) as input and as output would be sufficient.

Today is the first time I heard of Homomorphic Encryption so I have 0 knowledge about this. But just to show this is not magic, you can provide N*N number of lists where each list has totally different results and then get the max index for each list as a return. Since you know what original list was the right one, you can keep that result and discard rest
Not sure I'm following you. Would you transmit in plain text N-1 random lists along with the real one? I would not consider that encryption.

I guess one brute force way to do it is making encryption unnecessary. For an input of N bits, have the results calculated/returned for all 2^N possibilities. Does not sound very practical.

You can do polynomial approximation to get a compatible function