Comments (4)
Could you paste a minimal example code snippet? I'm not sure what you mean by putting ciphertext first / loaded ciphertext.
from pyfhel.
Code_demo:
ctxt1 = HE.encryptInt(integer1)
ctxt1.save("ctxt")
loaded = PyCtxt()
loaded.load("ctxt")
sum1 = loaded + loaded
print(HE.decryptInt(sum1))
Bug:
AttributeError: 'NoneType' object has no attribute 'add'
from pyfhel.
Yeah I see.
The __add__
function that is used when applying the +
operator uses an internal reference to the Pyfhel object it is associated with, _pyfhel
.
By saving a ciphertext to a file, the Pyfhel reference is lost. This is okay, because after restoring the ciphertext from the file, the Pyfhel object might have been restored from a file as well and the old reference won't be correct anymore.
We have two ways of solving this problem:
- Using Pyfhel.add instead of Ciphertext's + operator
ctxt1 = HE.encryptInt(integer1)
ctxt1.save("ctxt")
loaded = PyCtxt()
loaded.load("ctxt")
sum1 = HE.add(loaded, loaded)
print(HE.decryptInt(sum1))
- Manually assigning the
_pyfhel
reference
ctxt1 = HE.encryptInt(integer1)
ctxt1.save("ctxt")
loaded = PyCtxt()
loaded.load("ctxt")
loaded._pyfhel = HE
sum1 = loaded + loaded
print(HE.decryptInt(sum1))
I hope this helps and I agree that this is not made as clear as it should be by the documentation.
from pyfhel.
Thank you very much for helping me solve the big problem.
from pyfhel.
Related Issues (20)
- Does the library support bootstrapping for ckks HOT 1
- ImportError occurs when executing "import Pyfhel" HOT 6
- How to calculate squared euclidean distance? HOT 3
- ValueError: encrypted_ntt and plain_ntt parameter mismatch HOT 4
- How to duplicate the same number or set of numbers across an encrypted array?
- How to avoid `scale out of bounds` error in repeated multiplication? HOT 6
- Loading Saved ciphertext and decrypting it HOT 1
- ERROR: Could not build wheels for Pyfhel, which is required to install pyproject.toml-based projects HOT 3
- ValueError: encrypted_ntt and plain_ntt parameter mismatch in evaluate_polynomial HOT 1
- Installation error of Pyfhel HOT 2
- [up to 10 words short bug description]: [one-line error message] HOT 1
- How to print the ciphertext for BFV/CKKS scheme? HOT 4
- Not able to install Pyfhel module in Windows 10 HOT 6
- unable to install on windows11 HOT 2
- unable to install on WSL ubuntu
- License ambiguity: GPL or Apache 2.0? HOT 2
- pip Pyfhel went wrong HOT 2
- `ImportError` when running `from Pyfhel import Pyfhel` HOT 2
- How to pickle an Ptxt? HOT 2
- scale mismatch HOT 3
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 pyfhel.