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

lwe-to-polynomial: migrate encrypt/decrypt lowering to support RNS #1199

Open
ZenithalHourlyRate opened this issue Dec 16, 2024 · 1 comment
Labels
dialect: lwe Issues about the LWE dialect dialect: polynomial Issues concerning the polynomial dialect

Comments

@ZenithalHourlyRate
Copy link
Collaborator

PR #1190 migrated most of the types to NewLWEType, however, for lwe-to-polynomial, there are some non-trivial changes that needs to be done.

This also relates to #882

NewLWEPlaintext now has a PlaintextSpace.Ring (for example Z_65537 / (X^N + 1)), which is different from NewCiphertext's CiphertextSpace.Ring (typically RNS)

  • lowering should convert plaintext ring to rns ring
  • lowering should properly handle modulus switching from Z_65537 to Z_qi (ciphertext rns modulus), which needs mod_arith dialect support, and it is non-trivial.
  • lowering should handle scaling factor for CKKS scheme.
@ZenithalHourlyRate ZenithalHourlyRate added dialect: polynomial Issues concerning the polynomial dialect dialect: lwe Issues about the LWE dialect labels Dec 16, 2024
Copy link

github-actions bot commented Dec 16, 2024

This issue has 5 outstanding TODOs:

This comment was autogenerated by todo-backlinks

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
dialect: lwe Issues about the LWE dialect dialect: polynomial Issues concerning the polynomial dialect
Projects
None yet
Development

No branches or pull requests

1 participant