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
RING: added MapSmallDimensionToLargerDimensionNTT method which maps from Y = X^{N/n} to X in the NTT domain.
RING: FastBasisExtender type can now extend the basis of polynomials of any level in base Q to polynomials of any level in base P.
RING: changed RNS division Div[floor/round]BylastModulus[NTT] to Div[floor/round]BylastModulus[NTT]Lvl (the level of the last modulus must always be provided).
RING: RNS division no longer modifies the output polynomial's level, this is to facilitate the usage of memory pools.
RING: added the method MFormVector, which switches a slice of uint64 into the Montgomery domain.
RING: RNS scaler (used in BFV) does not modify the input anymore.
RLWE: GenSwitchingKey now accepts secret-keys of different dimensions and level as input to enable re-encryption between different ciphertext degrees.
RLWE: added SwitchCiphertextRingDegreeNTT and SwitchCiphertextRingDegree to switch ciphertext ring degrees.
RLWE: added the rlwe.RingQP type to represent the extended ring R_qp.
RLWE: added the rlwe.PolyQP type to represent polynomials in the extended ring R_qp.
DRLWE: added the CKGCRP, RKGCRP, RTGCRP and CKSCRP types to represent the common reference polynomials in these protocols.
DRLWE: added the CRS interface for PRNGs that implement a common reference string among the parties.
DRLWE: added the SampleCRP(crs CRS) method to each protocol types to sample their respective CRP type.
BFV: changed the plaintext scaling from floor(Q/T)*m to round((Q*m)/T) to reduce the initial ciphertext noise.
CKKS: added the ckks/advanced sub-package and moved the homomorphic encoding, decoding and modular reduction into it.
CKKS: added the ckks/bootstrapping sub-package and moved the CKKS bootstrapping into it. This package now mostly relies on the ckks/advanced package.
CKKS: renamed the ChebyshevInterpolation type to Polynomial.
CKKS: removed the EvaluateCheby method that was redundant with the EvaluatePoly one.
CKKS: optimized the EvaluatePoly to account for odd/even polynomials and fixed some small imprecisions in scale management occurring for some specific polynomial degrees.
CKKS: some advanced methods related to automorphisms are now public to facilitate their external use.
CKKS: improved the consistency of the API for in-place and [..]New methods.
CKKS: added the method NewCiphertextAtLevelFromPoly, which creates a ciphertext at a specific level from two polynomials.
CKKS: updated precision stats struct, added L2 norm in the statistics and improved the command line prints.
CKKS: improved the algorithmic complexity of MultiplyByDiagMatrixBSGS and updated the bootstrapping parameters accordingly.
CKKS: PermuteNTTHoistedNoModDown now returns [phi(P*c0 + c0'), phi(c1')] instead of [phi(c0'), phi(c1')].
CKKS: Changed RotateHoistedNoModDown to RotateHoistedNoModDownNew for consistency.
DBFV/DCKKS: both now use their respective CRP type for each protocol.
EXAMPLE: added showcase of the ckks/advanced sub-package: a bridge between CKKS and FHEW ciphertexts using homomorphic decoding, ring dimension switching, homomorphic matrix multiplication and homomorphic modular reduction.