Comments (4)
The SEAL 3.4.5 does check the context while loading the ciphertext or other keys, which means it needs two parameters as input, so it's hard to work in python pickle. I'm trying to solve this.
https://github.com/microsoft/SEAL/blob/9fc376c19488be2bfd213780ee06789754f4b2c2/native/src/seal/ciphertext.h#L562
but you can save the ciphertext or keys like this:
old = Ciphertext()
old.save('path')
...
new = Ciphertext()
new.load(context, 'path')
from seal-python.
Yeah, that's exactly one of what I thought. I can write the context parameters and the ciphertext into one pickle, but my concern is the different parameters between the BFV and CKKS schemes and some cpp code details.
If no problem, don't forget to close this issue.
from seal-python.
Thank you for the prompt reply! :) It works!
I was thinking of performing the computation in another process that does not have access to the context or keys but only the encoder and the evaluator. Doesn't it beat the purpose to require the context when copying? What do you think?
from seal-python.
I played around with the new version and it seems that even with the same context, the keys generated will be different. Therefore it is not possible to recreate the keys and decrypt even with all information about the context. In fact a new context created with the same parameters can be passed on for loading Ciphertext in the next process. A new evaluator generated in the same way works as well. No need to pickle them either. Thank you! :)
from seal-python.
Related Issues (20)
- 请问不支持整数编码吗? HOT 7
- "relinearize_inplace" doesn‘t work HOT 1
- Problem recreating 5_CKKS_Basics.py HOT 1
- How to calculate Polynomial Multiplication? HOT 10
- TypeError: cannot pickle 'seal.Ciphertext' object HOT 4
- encrypted1 and encrypted2 parameter mismatch HOT 7
- Not found the seal lib file, check the `SEAL/build/lib` HOT 14
- AttributeError: module 'seal' has no attribute 'EncryptionContext' HOT 2
- NameError: name 'EncryptionParameters' is not defined HOT 1
- Multiplication Depth analysis HOT 3
- LNK2001 with LNK1120: 88 unresolved externals
- seal-python docs HOT 3
- how to conda install after build HOT 1
- IntegerEncoder HOT 1
- 为什么样例文件夹中没有ckks方案的例子呢?如何快速上手此库呢? HOT 1
- 'seal.Ciphertext' object attribute 'scale' is read-only HOT 5
- Logistic Regression over Encrypted Data with BFV Scheme HOT 6
- How to get the coefficient of ciphertext? HOT 5
- I/O Error when trying to decrypt a loaded cipher text HOT 1
- Encountered problems during setup HOT 2
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 seal-python.