Comments (9)
I recently used a binary adder and multiplier for some experiments
The formatting is pretty bad, can you fix it? I would like to give it a look.
from nufhe.
If you mean implementing these operations via logic gates, there is an example implementation in numeric_functions.py
. The problem is that even not considering the overheads, it turns out to be quite slow. The other way is to increase message space in ciphertexts, or connect with another FHE scheme working on integers - we are investigating the possibilities here, but there is nothing definite yet.
from nufhe.
I recently used a binary adder and multiplier for some experiments
from nufhe.
I created a more efficient binary adder here: https://github.com/InnovativeInventor/homomorphic-encryption/blob/master/poc.py (should take less steps).
from nufhe.
@InnovativeInventor What is the speed of modular addition of a long (2^15) vector of 32-64-bit integers?
from nufhe.
@jon-chuang Are you talking about addition modulo n, for a natural number n? I'm not quite understanding what you're asking me to benchmark here.
from nufhe.
@InnovativeInventor I was talking about modular addition. However, I have run your code and noted its still too slow even though GPU accelerated (5s for a single add). This must be the cost of bootstrapping on the gate level.
from nufhe.
@InnovativeInventor Actually, how certain are you that the code you wrote is the best performance you could get? For instance, could you get better performance if you used circuit rather than gate bootstrapping?
Actually, your circuit has depth n, but presumably you should be able to get a depth log n evaluation, am I right? Isn't there a more efficient alternative to ripple-carry addition as is implemented in your script? For instance, carry-lookahead adder?
Although, I am not too familiar with the underlying TFHE scheme.
from nufhe.
@jon-chuang A carry-lookahead adder will leak information, I think.
I'm not completely sure, but I think any efficiency improvements at the algorithm level will leak information or take longer (it may be possible to prove this, idk). Let me know if I'm wrong.
from nufhe.
Related Issues (20)
- python3 ./gate_nand.py Traceback (most recent call last): File "./gate_nand.py", line 2, in <module> import nufhe ModuleNotFoundError: No module named 'nufhe' HOT 2
- Some detail about TLWE sample HOT 2
- Performance evaluation HOT 2
- how to compile library locally after cloning from git HOT 2
- Exception: No supported GPGPU APIs found HOT 1
- key genration error HOT 1
- Can we decomp tlwe in Galios Field?
- speed of gate bootstrapping
- how to parallize nufhe code like openmp style for loops
- 80-bit security key instead of 128 HOT 1
- Precision in binary gates, how to use binary gates in sequence HOT 1
- Connect TFHE to other HE schemes HOT 2
- how to use nufhe without bootstrapping only using leveled homomorphic encryption. comparison of with and without bootstrapping of homomorphic encryption time and error HOT 1
- gate_mux with the OverflowError :"Python int too large to convert to C long"
- Some of the details about FFTs in `implementation_details.rst` are incorrect HOT 1
- βsecret_key, cloud_key = ctx.make_key_pair()β raise error
- mux gate not working in program
- installing nufhe in raspberry pi4 model b computer.
- nufhe not integrating with gradio
- which tools supporting for deployment of nufhe app
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
π Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. πππ
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google β€οΈ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from nufhe.