Versions in this module Expand all Collapse all v0 v0.0.2 Dec 20, 2024 v0.0.1 Oct 31, 2024 Changes in this version + const Custom + const DecodeThenModUp + const ModUpThenEncode + var F8192 = map[int]float64 + func FailureProbability(Xs *ring.Ternary, K, logN, logSlots int) (logfailure float64) + func FindSuitableK(Xs *ring.Ternary, logN, logSlots int, logfailure float64) (K int) + func ModifiedIrwinHall(K, h, logSlots int) (logfailure float64) + type CircuitOrder int + type EvaluationKeys struct + EvkCmplxToReal *rlwe.EvaluationKey + EvkDenseToSparse *rlwe.EvaluationKey + EvkN1ToN2 *rlwe.EvaluationKey + EvkN2ToN1 *rlwe.EvaluationKey + EvkRealToCmplx *rlwe.EvaluationKey + EvkSparseToDense *rlwe.EvaluationKey + func (b EvaluationKeys) BinarySize() (dLen int) + type Evaluator struct + C2SDFTMatrix *hefloat.DFTMatrix + C2SDFTMatrixBypass *hefloat.DFTMatrix + HoistingBuffer rlwe.HoistingBuffer + Mod1Parameters hefloat.Mod1Parameters + S2CDFTMatrix *hefloat.DFTMatrix + SkDebug *rlwe.SecretKey + func NewEvaluator(btpParams Parameters, evk *EvaluationKeys) (eval *Evaluator, err error) + func (eval *Evaluator) CoeffsToSlotsBypass(ctIn *rlwe.Ciphertext) (real0, imag0 *rlwe.Ciphertext, err error) + func (eval *Evaluator) ComplexToRealNew(ctCmplx *rlwe.Ciphertext) (real0 *rlwe.Ciphertext) + func (eval *Evaluator) EvalMod(ctIn *rlwe.Ciphertext) (ctOut *rlwe.Ciphertext, err error) + func (eval *Evaluator) Evaluate(ctIn *rlwe.Ciphertext) (ctOut *rlwe.Ciphertext, err error) + func (eval *Evaluator) EvaluateConjugateInvariant(ctLeftN1Q0, ctRightN1Q0 *rlwe.Ciphertext) (ctLeftN1QL, ctRightN1QL *rlwe.Ciphertext, err error) + func (eval *Evaluator) ModUp(ctIn *rlwe.Ciphertext) (ctOut *rlwe.Ciphertext, err error) + func (eval *Evaluator) PackAndSwitchN1ToN2(cts []rlwe.Ciphertext) ([]rlwe.Ciphertext, error) + func (eval *Evaluator) RealToComplexNew(real0 *rlwe.Ciphertext) (ctCmplx *rlwe.Ciphertext) + func (eval *Evaluator) ScaleDown(ctIn *rlwe.Ciphertext) (*rlwe.Ciphertext, *rlwe.Scale, error) + func (eval *Evaluator) SwitchRingDegreeN1ToN2New(ctN1 *rlwe.Ciphertext) (ctN2 *rlwe.Ciphertext) + func (eval *Evaluator) SwitchRingDegreeN2ToN1New(ctN2 *rlwe.Ciphertext) (ctN1 *rlwe.Ciphertext) + func (eval *Evaluator) UnpackAndSwitchN2Tn1(cts []rlwe.Ciphertext, LogSlots, Nb int) ([]rlwe.Ciphertext, error) + func (eval Evaluator) Bootstrap(ct *rlwe.Ciphertext) (*rlwe.Ciphertext, error) + func (eval Evaluator) BootstrapMany(cts []rlwe.Ciphertext) ([]rlwe.Ciphertext, error) + func (eval Evaluator) CoeffsToSlots(ctIn *rlwe.Ciphertext) (ctReal, ctImag *rlwe.Ciphertext, err error) + func (eval Evaluator) Depth() int + func (eval Evaluator) MinimumInputLevel() int + func (eval Evaluator) OutputLevel() int + func (eval Evaluator) Pack(cts []rlwe.Ciphertext, params hefloat.Parameters, xPow2 []ring.RNSPoly) ([]rlwe.Ciphertext, error) + func (eval Evaluator) ShallowCopy() *Evaluator + func (eval Evaluator) SlotsToCoeffs(ctReal, ctImag *rlwe.Ciphertext) (ctOut *rlwe.Ciphertext, err error) + func (eval Evaluator) UnPack(cts []rlwe.Ciphertext, params hefloat.Parameters, LogSlots, Nb int, ...) ([]rlwe.Ciphertext, error) + type Iterations struct + BootstrappingPrecision structs.Vector[float64] + ReservedPrimeBitSize int + type Parameters struct + BootstrappingParameters hefloat.Parameters + C2S hefloat.DFTMatrixLiteral + CircuitOrder CircuitOrder + EphemeralSecretWeight int + EvalRound bool + Iterations Iterations + Mod1 hefloat.Mod1ParametersLiteral + ResidualParameters hefloat.Parameters + S2C hefloat.DFTMatrixLiteral + func NewParametersFromLiteral(residualParameters hefloat.Parameters, btpLit ParametersLiteral) (Parameters, error) + func (p Parameters) C2SDepth() (depth int) + func (p Parameters) Depth() (depth int) + func (p Parameters) Equal(other *Parameters) (res bool) + func (p Parameters) GaloisElements(params hefloat.Parameters) (galEls []uint64) + func (p Parameters) GenEncapsulationEvaluationKeysNew(skDense *rlwe.SecretKey) (EvkDenseToSparse, EvkSparseToDense *rlwe.EvaluationKey) + func (p Parameters) GenEvaluationKeys(skN1 *rlwe.SecretKey) (btpkeys *EvaluationKeys, skN2 *rlwe.SecretKey, err error) + func (p Parameters) GetC2SBypass() hefloat.DFTMatrixLiteral + func (p Parameters) LogMaxDimensions() ring.Dimensions + func (p Parameters) LogMaxSlots() int + func (p Parameters) Mod1Depth() (depth int) + func (p Parameters) S2CDepth() (depth int) + type ParametersLiteral struct + C2S structs.Matrix[int] + DoubleAngle int + EphemeralSecretWeight int + EvalRound bool + Initialized bool + Iterations Iterations + LogMessageRatio int + LogN int + LogP structs.Vector[int] + LogSlots int + Mod1Degree int + Mod1Interval int + Mod1InvDegree int + Mod1LogScale int + Mod1Type hefloat.Mod1Type + S2C structs.Matrix[int] + Xe ring.DistributionParameters + Xs ring.DistributionParameters + func NewParametersLiteral() (p ParametersLiteral) + func (p *ParametersLiteral) ReadFrom(r io.Reader) (n int64, err error) + func (p *ParametersLiteral) UnmarshalBinary(data []byte) (err error) + func (p ParametersLiteral) BinarySize() (size int) + func (p ParametersLiteral) BitConsumption() (logQ int, err error) + func (p ParametersLiteral) FailureProbability() (logfailure float64) + func (p ParametersLiteral) GetCircuitParametersLiteral(params hefloat.Parameters) (C2S, S2C hefloat.DFTMatrixLiteral, Mod1 hefloat.Mod1ParametersLiteral) + func (p ParametersLiteral) MarshalBinary() (data []byte, err error) + func (p ParametersLiteral) WriteTo(w io.Writer) (n int64, err error) + type SecretKeyBootstrapper struct + Counter int + MinLevel int + Values []bignum.Complex + func NewSecretKeyBootstrapper(params hefloat.Parameters, sk *rlwe.SecretKey) *SecretKeyBootstrapper + func (d *SecretKeyBootstrapper) Bootstrap(ct *rlwe.Ciphertext) (*rlwe.Ciphertext, error) + func (d SecretKeyBootstrapper) BootstrapMany(cts []rlwe.Ciphertext) ([]rlwe.Ciphertext, error) + func (d SecretKeyBootstrapper) Depth() int + func (d SecretKeyBootstrapper) MinimumInputLevel() int + func (d SecretKeyBootstrapper) OutputLevel() int