One interesting thing about this: You are performing known operations on unknown data. But theoretically you could simulate a generic computer whose program is encrypted data as well, thus enabling unknown operations on unknown data. However, with speeds in the ms per gate we are a long way from that being practical right now.
For a layman like myself, downloading and skimming the reference papers at the bottom of the page, starting with Craig Gentry 2013's paper[1], really helped.<p>[1] <a href="https://eprint.iacr.org/2013/340" rel="nofollow">https://eprint.iacr.org/2013/340</a>
What operations can I do homomorphically with this library? The page says<p>"With the cloud-keyset, the library can evaluate a net-list of binary gates homomorphically at a rate of about 50 gates per second per core, without decrypting its input. It suffices to provide the sequence of gates, as well as ciphertexts of the input bits. And the library computes ciphertexts of the output bits."<p>but what does "evaluating a net list of binary gates" come to in practice? What operations could I expect to be able to perform?
Sounds very interesting!, I'm going to have to look at in more detail. I'm just wondering how it compares to something like <a href="https://github.com/shaih/HElib" rel="nofollow">https://github.com/shaih/HElib</a>
This looks very interesting!<p>However, not being an expert on FHE, is there a way to leverage this on current RDBMS systems for example?<p>It says the library can evaluate binary gates. If we would like to run a SQL query for example, how do we translate it to a series of gates? Is it possible?<p>Or is this so low level that we basically would need to build our own "processor" with binary gates and then build the rest of the stack on top of it so we can, in the end, run a query?<p>Can anyone shed some light on how exactly can we take advantage of this library?
That's a seriously cool thing to have in the toolbox!<p>Does it produce only encrypted output, or can it optionally produce unencrypted results also? Can it optionally use public data as an input?<p>Also I am guessing if it could be accelerated on GPUs. I worked with a guy who accelerated a standard FFT on CUDA 100..1000 times for scientific computations (and later NVidia copied his code, lol). I wonder if something similar can be done here
This looks like the slowest routines are FFT and GEMM (CPU bound).
I wonder if one can find DSPs easily for racked servers. Maybe hardware h264 encoders can be repurposed that way?
I obviously don't know what I am talking about! Would an FPGA implementation accelerate execution?
Will this be useful for machine learning in the same way as this ?<p><a href="https://medium.com/numerai/encrypted-data-for-efficient-markets-fffbe9743ba8" rel="nofollow">https://medium.com/numerai/encrypted-data-for-efficient-mark...</a>