You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
With the modreduce/relinearize strategy introduced in #1126, we can analyse the EvalAddCount and KeySwitchCount, hence determining the noise growth and enabling HEIR to select ring dimension N and the moduli chain qi according to the paper.
The first step could be using the analysis to determine these counts and when configuring the OpenFHE CryptoContext we can pass these parameters and let OpenFHE determine N and qi.
Further step could introduce a pass to use these counts to populate N/qi inside HEIR, which allows more information inside HEIR, allows us to SetFirstModSize/SetScalingModSize for OpenFHE and could benefit the new Lattigo backend (#1159) which allows the user/compiler to specify N/qi in a more fine grained way.
Further more, instead of OpenFHE specifying only the first/scaling modulus size, the compiler can specify each level modulus size because we can get the AddCount/KeySwitchCount for each level (instead of a global one). This often means a smaller Q.
Also, we can optimize the size of special moduli pi, and may possibly reduce the ring dimension N as the total QP is smaller. This mainly refers to Section 6 of "Optimisations and tradeoffs for HElib"
The text was updated successfully, but these errors were encountered:
Main reference: "Revisiting Homomorphic Encryption Schemes for Finite Fields" and OpenFHE pke examples readme
With the modreduce/relinearize strategy introduced in #1126, we can analyse the EvalAddCount and KeySwitchCount, hence determining the noise growth and enabling HEIR to select ring dimension
N
and the moduli chainqi
according to the paper.The first step could be using the analysis to determine these counts and when configuring the OpenFHE CryptoContext we can pass these parameters and let OpenFHE determine
N
andqi
.Further step could introduce a pass to use these counts to populate
N
/qi
inside HEIR, which allows more information inside HEIR, allows us to SetFirstModSize/SetScalingModSize for OpenFHE and could benefit the new Lattigo backend (#1159) which allows the user/compiler to specifyN
/qi
in a more fine grained way.Further more, instead of OpenFHE specifying only the first/scaling modulus size, the compiler can specify each level modulus size because we can get the AddCount/KeySwitchCount for each level (instead of a global one). This often means a smaller
Q
.Also, we can optimize the size of special moduli
pi
, and may possibly reduce the ring dimensionN
as the totalQP
is smaller. This mainly refers to Section 6 of "Optimisations and tradeoffs for HElib"The text was updated successfully, but these errors were encountered: