4 ms·
Could something explain to me how FHE could allow for arbitrary computation? For example, how could a server using FHE possibly execute any algorithm whose ste
by wfunction 11y ago
Could something explain to me how FHE could allow for arbitrary computation?
For example, how could a server using FHE possibly execute any algorithm whose steps are data-dependent? Like, if the client gives the server an encrypted number and asks it to "return 'good' if the number is even and 'bad' if the number is odd", how could the server possibly do that without actually knowing what it's returning? Heck, even knowing the LENGTH of the return string would be enough to tell the server what the input was!
- ghgr 11y agoThe thing is the server doesn't even know what it's returning (or, more precisely, what "means" its response). In your example, the "encrypted algorithm" could be "If the last byte of the input module 0xab is greater than 0x04, then answer 0xff, else answer 0xaa". The server just follows the steps but had no idea what is happening.
- wfunction 11y agoSo you're saying only some algorithms can be implemented this way? i.e., an algorithm whose output size isn't fixed beforehand can't be implemented this way, correct?
- ghgr 11y agoWell, imagine that after "encrypting" the algorithm, its output always become fixed length. Of course, this is all a big metaphor, not the exact way FHE works.
- wfunction 11y agoI don't get how something like that could ever be practical though, even on a theoretical level. Like say you ask a server for a list of all flights from airport A to airport B. The only way this could work without making the server "know" what is happening is if the output size accommodated the list of ALL flights in ALL databases globally. So you'd have to return the client gigabytes(?) of data even though the answer probably fit in a kilobyte. Basically, fundamentally I just can't see how computation could be efficient with FHE (and this has nothing to do with the efficiency of FHE itself).