Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

DOC SPRINT - CKKS EXAMPLE - Can anyone give me an example about division of ciphertext with CKKS? #59

Open
chengbao-0 opened this issue Oct 24, 2020 · 6 comments
Assignees
Labels
documentation Improvements or additions to documentation enhancement New feature or request

Comments

@chengbao-0
Copy link

chengbao-0 commented Oct 24, 2020

Feature description
Can anyone give me an example about division of ciphertext with CKKS?

I have no idea how to realize it. I tried to use the inverse of multiplication, but I didn't succeed.

Thanks for your help.

@chengbao-0 chengbao-0 changed the title Can anyone give me an example about division of ciphertext with CKKS? I have no idea how to Can anyone give me an example about division of ciphertext with CKKS? Oct 24, 2020
@odellerh
Copy link

odellerh commented Nov 3, 2020

Hi chengbao-0,
division between two ciphertexts is not trivial and would incur significant costs to approximate that division.

If you know the divisor, you can perform division by encoding 1/divisor as CKKS plaintext before performing a multByConstant on the ciphertext. Of course, this would leak the divisor.

@chengbao-0
Copy link
Author

Hi chengbao-0,
division between two ciphertexts is not trivial and would incur significant costs to approximate that division.

If you know the divisor, you can perform division by encoding 1/divisor as CKKS plaintext before performing a multByConstant on the ciphertext. Of course, this would leak the divisor.

@chengbao-0 chengbao-0 reopened this Nov 3, 2020
@chengbao-0
Copy link
Author

I think I understand what you mean. Thank you very much for your help although it's not the answer I want.

@dowem dowem changed the title Can anyone give me an example about division of ciphertext with CKKS? CKKS EXAMPLE - Can anyone give me an example about division of ciphertext with CKKS? Dec 9, 2020
@dowem
Copy link
Contributor

dowem commented Dec 9, 2020

I am updating this title to help plan some sprints to provide better docs and examples

@dowem dowem added this to the Documentation and Examples milestone Dec 9, 2020
@dowem dowem changed the title CKKS EXAMPLE - Can anyone give me an example about division of ciphertext with CKKS? DOC SPRINT - CKKS EXAMPLE - Can anyone give me an example about division of ciphertext with CKKS? Dec 9, 2020
@dowem dowem added documentation Improvements or additions to documentation enhancement New feature or request labels Jan 19, 2021
@dowem
Copy link
Contributor

dowem commented Jan 19, 2021

Hi Dov, I was hoping you or Udi could provide an example we could use to show how we intend for people to do CKKS division. We might even have an example already somewhere to show this. If there is not one in the examples from the most recent PR we merged, could we get one sometime this week? The question comes up a lot and this seems like a place where convenience API and a good, extremely small example, would help a lot.

@dubek
Copy link
Contributor

dubek commented Jan 20, 2021

Unfortunately AFAIK there's no "extremely small example" -- as mentioned above, division by ciphertext is not available in the CKKS scheme. If there's a limit range of known possible ciphertexts, then one could approximate division using a polynomial, and the evaluated the polynomial using normal multiplication and addition operations. We don't have a ready-made example for that. I also looked at the new HElib 2.0 CKKS tutorial and it doesn't include division.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
documentation Improvements or additions to documentation enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

4 participants