Versions in this module Expand all Collapse all v5 v5.0.5 May 3, 2024 Changes in this version + const DefaultNoise + const DefaultNoiseBound + const GaloisGen + const MaxLogN + const MaxModuliSize + const MinLogN + const ScalePrecision + const XsUniformTernary + var DefaultXe = ring.DiscreteGaussian + var DefaultXs = ring.Ternary + var ExampleParametersLogN14LogQP438 = ParametersLiteral + var ScalePrecisionLog10 = int(math.Ceil(float64(ScalePrecision) / math.Log2(10))) + func AddPolyTimesGadgetVectorToGadgetCiphertext(pt ring.Poly, cts []GadgetCiphertext, ringQP ringqp.Ring, buff ring.Poly) (err error) + func CheckModuli(q, p []uint64) error + func ExtendBasisSmallNormAndCenterNTTMontgomery(rQ, rP *ring.Ring, polQ, buff, polP ring.Poly) + func GaloisElementsForExpand(params ParameterProvider, logN int) (galEls []uint64) + func GaloisElementsForInnerSum(params ParameterProvider, batch, n int) (galEls []uint64) + func GaloisElementsForPack(params ParameterProvider, logGap int) (galEls []uint64) + func GaloisElementsForReplicate(params ParameterProvider, batch, n int) (galEls []uint64) + func GaloisElementsForTrace(params ParameterProvider, logN int) (galEls []uint64) + func GenModuli(LogNthRoot int, logQ, logP []int) (q, p []uint64, err error) + func GenXPow2(r *ring.Ring, logN int, div bool) (xPow []ring.Poly) + func NTTSparseAndMontgomery(r *ring.Ring, metadata *MetaData, pol ring.Poly) + func NoiseEvaluationKey(evk *EvaluationKey, skIn, skOut *SecretKey, params Parameters) float64 + func NoiseGadgetCiphertext(gct *GadgetCiphertext, pt ring.Poly, sk *SecretKey, params Parameters) float64 + func NoiseGaloisKey(gk *GaloisKey, sk *SecretKey, params Parameters) float64 + func NoisePublicKey(pk *PublicKey, sk *SecretKey, params Parameters) float64 + func NoiseRelinearizationKey(rlk *RelinearizationKey, sk *SecretKey, params Parameters) float64 + func Norm(ct *Ciphertext, dec *Decryptor) (std, min, max float64) + func NormStats(vec []*big.Int) (float64, float64, float64) + func PopulateElementRandom(prng sampling.PRNG, params ParameterProvider, ct *Element[ring.Poly]) + func ResolveEvaluationKeyParameters(params Parameters, evkParams []EvaluationKeyParameters) (levelQ, levelP, BaseTwoDecomposition int) + func SwitchCiphertextRingDegree(ctIn, opOut *Element[ring.Poly]) + func SwitchCiphertextRingDegreeNTT(ctIn *Element[ring.Poly], ringQLargeDim *ring.Ring, opOut *Element[ring.Poly]) + type Ciphertext struct + func NewCiphertext(params ParameterProvider, degree int, level ...int) (ct *Ciphertext) + func NewCiphertextAtLevelFromPoly(level int, poly []ring.Poly) (*Ciphertext, error) + func NewCiphertextRandom(prng sampling.PRNG, params ParameterProvider, degree, level int) (ciphertext *Ciphertext) + func (ct Ciphertext) Copy(ctxCopy *Ciphertext) + func (ct Ciphertext) CopyNew() *Ciphertext + func (ct Ciphertext) Equal(other *Ciphertext) bool + type CiphertextMetaData struct + IsMontgomery bool + IsNTT bool + func (m *CiphertextMetaData) BinarySize() int + func (m *CiphertextMetaData) Equal(other *CiphertextMetaData) (res bool) + func (m *CiphertextMetaData) ReadFrom(r io.Reader) (int64, error) + func (m *CiphertextMetaData) UnmarshalBinary(p []byte) (err error) + func (m *CiphertextMetaData) UnmarshalJSON(p []byte) (err error) + func (m *CiphertextMetaData) WriteTo(w io.Writer) (int64, error) + func (m CiphertextMetaData) MarshalBinary() (p []byte, err error) + func (m CiphertextMetaData) MarshalJSON() (p []byte, err error) + type Decryptor struct + func NewDecryptor(params ParameterProvider, sk *SecretKey) *Decryptor + func (d Decryptor) Decrypt(ct *Ciphertext, pt *Plaintext) + func (d Decryptor) DecryptNew(ct *Ciphertext) (pt *Plaintext) + func (d Decryptor) GetRLWEParameters() *Parameters + func (d Decryptor) ShallowCopy() *Decryptor + func (d Decryptor) WithKey(sk *SecretKey) *Decryptor + type Distribution struct + AbsBound float64 + Std float64 + func NewDistribution(params ring.DistributionParameters, logN int) (d Distribution) + type DistributionLiteral interface + type Element struct + Value structs.Vector[T] + func GetSmallestLargest[T ring.Poly | ringqp.Poly](el0, el1 *Element[T]) (smallest, largest *Element[T], sameDegree bool) + func NewElement(params ParameterProvider, degree int, levelQ ...int) *Element[ring.Poly] + func NewElementAtLevelFromPoly(level int, poly []ring.Poly) (*Element[ring.Poly], error) + func NewElementExtended(params ParameterProvider, degree, levelQ, levelP int) *Element[ringqp.Poly] + func (op *Element[T]) Copy(opCopy *Element[T]) + func (op *Element[T]) El() *Element[T] + func (op *Element[T]) ReadFrom(r io.Reader) (n int64, err error) + func (op *Element[T]) Resize(degree, level int) + func (op *Element[T]) UnmarshalBinary(p []byte) (err error) + func (op Element[T]) BinarySize() (size int) + func (op Element[T]) CopyNew() *Element[T] + func (op Element[T]) Degree() int + func (op Element[T]) Equal(other *Element[T]) bool + func (op Element[T]) Level() int + func (op Element[T]) LevelP() int + func (op Element[T]) LevelQ() int + func (op Element[T]) MarshalBinary() (data []byte, err error) + func (op Element[T]) WriteTo(w io.Writer) (n int64, err error) + type ElementInterface interface + Degree func() int + El func() *Element[T] + Level func() int + type EncryptionKey interface + type Encryptor struct + func NewEncryptor(params ParameterProvider, key EncryptionKey) *Encryptor + func (enc *Encryptor) WithPRNG(prng sampling.PRNG) *Encryptor + func (enc Encryptor) Encrypt(pt *Plaintext, ct interface{}) (err error) + func (enc Encryptor) EncryptNew(pt *Plaintext) (ct *Ciphertext, err error) + func (enc Encryptor) EncryptZero(ct interface{}) (err error) + func (enc Encryptor) EncryptZeroNew(level int) (ct *Ciphertext) + func (enc Encryptor) GetRLWEParameters() *Parameters + func (enc Encryptor) ShallowCopy() *Encryptor + func (enc Encryptor) WithKey(key EncryptionKey) *Encryptor + type EvaluationKey struct + func NewEvaluationKey(params ParameterProvider, evkParams ...EvaluationKeyParameters) *EvaluationKey + func (evk EvaluationKey) CopyNew() *EvaluationKey + func (evk EvaluationKey) Equal(other *EvaluationKey) bool + type EvaluationKeyParameters struct + BaseTwoDecomposition *int + LevelP *int + LevelQ *int + type EvaluationKeySet interface + GetGaloisKey func(galEl uint64) (evk *GaloisKey, err error) + GetGaloisKeysList func() (galEls []uint64) + GetRelinearizationKey func() (evk *RelinearizationKey, err error) + type Evaluator struct + BasisExtender *ring.BasisExtender + Decomposer *ring.Decomposer + func NewEvaluator(params ParameterProvider, evk EvaluationKeySet) (eval *Evaluator) + func (eval *Evaluator) GetRLWEParameters() *Parameters + func (eval Evaluator) ApplyEvaluationKey(ctIn *Ciphertext, evk *EvaluationKey, opOut *Ciphertext) (err error) + func (eval Evaluator) Automorphism(ctIn *Ciphertext, galEl uint64, opOut *Ciphertext) (err error) + func (eval Evaluator) AutomorphismHoisted(level int, ctIn *Ciphertext, c1DecompQP []ringqp.Poly, galEl uint64, ...) (err error) + func (eval Evaluator) AutomorphismHoistedLazy(levelQ int, ctIn *Ciphertext, c1DecompQP []ringqp.Poly, galEl uint64, ...) (err error) + func (eval Evaluator) AutomorphismIndex(galEl uint64) []uint64 + func (eval Evaluator) CheckAndGetGaloisKey(galEl uint64) (evk *GaloisKey, err error) + func (eval Evaluator) CheckAndGetRelinearizationKey() (evk *RelinearizationKey, err error) + func (eval Evaluator) DecomposeNTT(levelQ, levelP, nbPi int, c2 ring.Poly, c2IsNTT bool, decompQP []ringqp.Poly) + func (eval Evaluator) DecomposeSingleNTT(levelQ, levelP, nbPi, BaseRNSDecompositionVectorSize int, ...) + func (eval Evaluator) Expand(ctIn *Ciphertext, logN, logGap int) (opOut []*Ciphertext, err error) + func (eval Evaluator) GadgetProduct(levelQ int, cx ring.Poly, gadgetCt *GadgetCiphertext, ct *Ciphertext) + func (eval Evaluator) GadgetProductHoisted(levelQ int, BuffQPDecompQP []ringqp.Poly, gadgetCt *GadgetCiphertext, ...) + func (eval Evaluator) GadgetProductHoistedLazy(levelQ int, BuffQPDecompQP []ringqp.Poly, gadgetCt *GadgetCiphertext, ...) + func (eval Evaluator) GadgetProductLazy(levelQ int, cx ring.Poly, gadgetCt *GadgetCiphertext, ct *Element[ringqp.Poly]) + func (eval Evaluator) GetBuffCt() *Ciphertext + func (eval Evaluator) GetBuffDecompQP() []ringqp.Poly + func (eval Evaluator) GetBuffQP() [6]ringqp.Poly + func (eval Evaluator) GetEvaluatorBuffer() *EvaluatorBuffers + func (eval Evaluator) InitOutputBinaryOp(op0, op1 *Element[ring.Poly], opInTotalMaxDegree int, ...) (degree, level int, err error) + func (eval Evaluator) InitOutputUnaryOp(op0, opOut *Element[ring.Poly]) (degree, level int, err error) + func (eval Evaluator) InnerFunction(ctIn *Ciphertext, batchSize, n int, f func(a, b, c *Ciphertext) (err error), ...) (err error) + func (eval Evaluator) InnerSum(ctIn *Ciphertext, batchSize, n int, opOut *Ciphertext) (err error) + func (eval Evaluator) ModDown(levelQ, levelP int, ctQP *Element[ringqp.Poly], ct *Ciphertext) + func (eval Evaluator) ModDownQPtoQNTT(levelQ, levelP int, p1Q, p1P, p2Q ring.Poly) + func (eval Evaluator) Pack(cts map[int]*Ciphertext, inputLogGap int, zeroGarbageSlots bool) (ct *Ciphertext, err error) + func (eval Evaluator) Relinearize(ctIn *Ciphertext, opOut *Ciphertext) (err error) + func (eval Evaluator) Replicate(ctIn *Ciphertext, batchSize, n int, opOut *Ciphertext) (err error) + func (eval Evaluator) ShallowCopy() *Evaluator + func (eval Evaluator) Trace(ctIn *Ciphertext, logN int, opOut *Ciphertext) (err error) + func (eval Evaluator) WithKey(evk EvaluationKeySet) *Evaluator + type EvaluatorBuffers struct + BuffBitDecomp []uint64 + BuffCt *Ciphertext + BuffDecompQP []ringqp.Poly + BuffInvNTT ring.Poly + BuffQP [6]ringqp.Poly + func NewEvaluatorBuffers(params Parameters) *EvaluatorBuffers + type GadgetCiphertext struct + BaseTwoDecomposition int + Value structs.Matrix[VectorQP] + func NewGadgetCiphertext(params ParameterProvider, Degree, LevelQ, LevelP, BaseTwoDecomposition int) *GadgetCiphertext + func (ct *GadgetCiphertext) ReadFrom(r io.Reader) (n int64, err error) + func (ct *GadgetCiphertext) UnmarshalBinary(p []byte) (err error) + func (ct GadgetCiphertext) BaseRNSDecompositionVectorSize() int + func (ct GadgetCiphertext) BaseTwoDecompositionVectorSize() (base []int) + func (ct GadgetCiphertext) BinarySize() (dataLen int) + func (ct GadgetCiphertext) CopyNew() (ctCopy *GadgetCiphertext) + func (ct GadgetCiphertext) Equal(other *GadgetCiphertext) bool + func (ct GadgetCiphertext) LevelP() int + func (ct GadgetCiphertext) LevelQ() int + func (ct GadgetCiphertext) MarshalBinary() (data []byte, err error) + func (ct GadgetCiphertext) WriteTo(w io.Writer) (n int64, err error) + type GadgetPlaintext struct + Value structs.Vector[ring.Poly] + func NewGadgetPlaintext(params Parameters, value interface{}, levelQ, levelP, baseTwoDecomposition int) (pt *GadgetPlaintext, err error) + type GaloisKey struct + GaloisElement uint64 + NthRoot uint64 + func NewGaloisKey(params ParameterProvider, evkParams ...EvaluationKeyParameters) *GaloisKey + func (gk *GaloisKey) ReadFrom(r io.Reader) (n int64, err error) + func (gk *GaloisKey) UnmarshalBinary(p []byte) (err error) + func (gk GaloisKey) BinarySize() (size int) + func (gk GaloisKey) CopyNew() *GaloisKey + func (gk GaloisKey) Equal(other *GaloisKey) bool + func (gk GaloisKey) MarshalBinary() (p []byte, err error) + func (gk GaloisKey) WriteTo(w io.Writer) (n int64, err error) + type KeyGenerator struct + func NewKeyGenerator(params ParameterProvider) *KeyGenerator + func (kgen *KeyGenerator) GenSecretKeyWithHammingWeightNew(hw int) (sk *SecretKey) + func (kgen KeyGenerator) GenEvaluationKey(skInput, skOutput *SecretKey, evk *EvaluationKey) + func (kgen KeyGenerator) GenEvaluationKeyNew(skInput, skOutput *SecretKey, evkParams ...EvaluationKeyParameters) (evk *EvaluationKey) + func (kgen KeyGenerator) GenEvaluationKeysForRingSwapNew(skStd, skConjugateInvariant *SecretKey, evkParams ...EvaluationKeyParameters) (stdToci, ciToStd *EvaluationKey) + func (kgen KeyGenerator) GenGaloisKey(galEl uint64, sk *SecretKey, gk *GaloisKey) + func (kgen KeyGenerator) GenGaloisKeyNew(galEl uint64, sk *SecretKey, evkParams ...EvaluationKeyParameters) (gk *GaloisKey) + func (kgen KeyGenerator) GenGaloisKeys(galEls []uint64, sk *SecretKey, gks []*GaloisKey) + func (kgen KeyGenerator) GenGaloisKeysNew(galEls []uint64, sk *SecretKey, evkParams ...EvaluationKeyParameters) (gks []*GaloisKey) + func (kgen KeyGenerator) GenKeyPairNew() (sk *SecretKey, pk *PublicKey) + func (kgen KeyGenerator) GenPublicKey(sk *SecretKey, pk *PublicKey) + func (kgen KeyGenerator) GenPublicKeyNew(sk *SecretKey) (pk *PublicKey) + func (kgen KeyGenerator) GenRelinearizationKey(sk *SecretKey, rlk *RelinearizationKey) + func (kgen KeyGenerator) GenRelinearizationKeyNew(sk *SecretKey, evkParams ...EvaluationKeyParameters) (rlk *RelinearizationKey) + func (kgen KeyGenerator) GenSecretKey(sk *SecretKey) + func (kgen KeyGenerator) GenSecretKeyNew() (sk *SecretKey) + func (kgen KeyGenerator) GenSecretKeyWithHammingWeight(hw int, sk *SecretKey) + type MemEvaluationKeySet struct + GaloisKeys structs.Map[uint64, GaloisKey] + RelinearizationKey *RelinearizationKey + func NewMemEvaluationKeySet(relinKey *RelinearizationKey, galoisKeys ...*GaloisKey) (eks *MemEvaluationKeySet) + func (evk *MemEvaluationKeySet) ReadFrom(r io.Reader) (n int64, err error) + func (evk *MemEvaluationKeySet) UnmarshalBinary(p []byte) (err error) + func (evk MemEvaluationKeySet) BinarySize() (size int) + func (evk MemEvaluationKeySet) GetGaloisKey(galEl uint64) (gk *GaloisKey, err error) + func (evk MemEvaluationKeySet) GetGaloisKeysList() (galEls []uint64) + func (evk MemEvaluationKeySet) GetRelinearizationKey() (rk *RelinearizationKey, err error) + func (evk MemEvaluationKeySet) MarshalBinary() (p []byte, err error) + func (evk MemEvaluationKeySet) WriteTo(w io.Writer) (n int64, err error) + type MetaData struct + func (m *MetaData) Equal(other *MetaData) (res bool) + func (m *MetaData) ReadFrom(r io.Reader) (int64, error) + func (m *MetaData) UnmarshalBinary(p []byte) (err error) + func (m *MetaData) UnmarshalJSON(p []byte) (err error) + func (m MetaData) BinarySize() int + func (m MetaData) CopyNew() *MetaData + func (m MetaData) MarshalBinary() (p []byte, err error) + func (m MetaData) MarshalJSON() (p []byte, err error) + func (m MetaData) WriteTo(w io.Writer) (int64, error) + type Operand interface + type ParameterProvider interface + GetRLWEParameters func() *Parameters + type Parameters struct + func NewParameters(logn int, q, p []uint64, xs, xe DistributionLiteral, ringType ring.Type, ...) (params Parameters, err error) + func NewParametersFromLiteral(paramDef ParametersLiteral) (params Parameters, err error) + func (p *Parameters) ReadFrom(r io.Reader) (int64, error) + func (p *Parameters) UnmarshalBinary(data []byte) (err error) + func (p *Parameters) UnmarshalJSON(data []byte) (err error) + func (p Parameters) BaseRNSDecompositionVectorSize(levelQ, levelP int) int + func (p Parameters) BaseTwoDecompositionVectorSize(levelQ, levelP, Base2Decomposition int) (base []int) + func (p Parameters) BinarySize() int + func (p Parameters) DefaultScale() Scale + func (p Parameters) Equal(other *Parameters) (res bool) + func (p Parameters) GaloisElement(k int) uint64 + func (p Parameters) GaloisElementOrderTwoOrthogonalSubgroup() uint64 + func (p Parameters) GaloisElements(k []int) (galEls []uint64) + func (p Parameters) GetRLWEParameters() *Parameters + func (p Parameters) LogN() int + func (p Parameters) LogNthRoot() int + func (p Parameters) LogP() (logp float64) + func (p Parameters) LogPi() (logpi []int) + func (p Parameters) LogQ() (logq float64) + func (p Parameters) LogQP() (logqp float64) + func (p Parameters) LogQi() (logqi []int) + func (p Parameters) MarshalBinary() ([]byte, error) + func (p Parameters) MarshalJSON() ([]byte, error) + func (p Parameters) MaxBit(levelQ, levelP int) (c int) + func (p Parameters) MaxLevel() int + func (p Parameters) MaxLevelP() int + func (p Parameters) MaxLevelQ() int + func (p Parameters) ModInvGaloisElement(galEl uint64) uint64 + func (p Parameters) N() int + func (p Parameters) NTTFlag() bool + func (p Parameters) NewScale(scale interface{}) Scale + func (p Parameters) NoiseBound() float64 + func (p Parameters) NoiseFreshPK() (std float64) + func (p Parameters) NoiseFreshSK() (std float64) + func (p Parameters) NthRoot() int + func (p Parameters) P() []uint64 + func (p Parameters) PBigInt() *big.Int + func (p Parameters) PCount() int + func (p Parameters) ParametersLiteral() ParametersLiteral + func (p Parameters) PiOverflowMargin(level int) int + func (p Parameters) Q() []uint64 + func (p Parameters) QBigInt() *big.Int + func (p Parameters) QCount() int + func (p Parameters) QP() []uint64 + func (p Parameters) QPBigInt() *big.Int + func (p Parameters) QPCount() int + func (p Parameters) QiOverflowMargin(level int) int + func (p Parameters) RingP() *ring.Ring + func (p Parameters) RingQ() *ring.Ring + func (p Parameters) RingQP() *ringqp.Ring + func (p Parameters) RingType() ring.Type + func (p Parameters) SolveDiscreteLogGaloisElement(galEl uint64) (k int) + func (p Parameters) StandardParameters() (pci Parameters, err error) + func (p Parameters) UnpackLevelParams(args []int) (levelQ, levelP int) + func (p Parameters) WriteTo(w io.Writer) (int64, error) + func (p Parameters) Xe() ring.DistributionParameters + func (p Parameters) Xs() ring.DistributionParameters + func (p Parameters) XsHammingWeight() int + type ParametersLiteral struct + DefaultScale Scale + LogN int + LogNthRoot int + LogP []int + LogQ []int + NTTFlag bool + P []uint64 + Q []uint64 + RingType ring.Type + Xe ring.DistributionParameters + Xs ring.DistributionParameters + func (p *ParametersLiteral) UnmarshalJSON(b []byte) (err error) + type Plaintext struct + Value ring.Poly + func NewPlaintext(params ParameterProvider, level ...int) (pt *Plaintext) + func NewPlaintextAtLevelFromPoly(level int, poly ring.Poly) (pt *Plaintext, err error) + func NewPlaintextRandom(prng sampling.PRNG, params ParameterProvider, level int) (pt *Plaintext) + func (pt *Plaintext) ReadFrom(r io.Reader) (n int64, err error) + func (pt *Plaintext) UnmarshalBinary(p []byte) (err error) + func (pt Plaintext) Copy(other *Plaintext) + func (pt Plaintext) CopyNew() (ptCpy *Plaintext) + func (pt Plaintext) Equal(other *Plaintext) bool + type PlaintextMetaData struct + IsBatched bool + LogDimensions ring.Dimensions + Scale Scale + func (m *PlaintextMetaData) Equal(other *PlaintextMetaData) (res bool) + func (m *PlaintextMetaData) ReadFrom(r io.Reader) (int64, error) + func (m *PlaintextMetaData) UnmarshalBinary(p []byte) (err error) + func (m *PlaintextMetaData) UnmarshalJSON(p []byte) (err error) + func (m PlaintextMetaData) BinarySize() int + func (m PlaintextMetaData) LogScale() float64 + func (m PlaintextMetaData) LogSlots() int + func (m PlaintextMetaData) MarshalBinary() (p []byte, err error) + func (m PlaintextMetaData) MarshalJSON() (p []byte, err error) + func (m PlaintextMetaData) Slots() int + func (m PlaintextMetaData) WriteTo(w io.Writer) (int64, error) + type PublicKey struct + Value VectorQP + func NewPublicKey(params ParameterProvider) (pk *PublicKey) + func (p *PublicKey) ReadFrom(r io.Reader) (n int64, err error) + func (p *PublicKey) UnmarshalBinary(b []byte) error + func (p PublicKey) BinarySize() int + func (p PublicKey) CopyNew() *PublicKey + func (p PublicKey) Equal(other *PublicKey) bool + func (p PublicKey) LevelP() int + func (p PublicKey) LevelQ() int + func (p PublicKey) MarshalBinary() ([]byte, error) + func (p PublicKey) WriteTo(w io.Writer) (n int64, err error) + type RelinearizationKey struct + func NewRelinearizationKey(params ParameterProvider, evkParams ...EvaluationKeyParameters) *RelinearizationKey + func (rlk RelinearizationKey) CopyNew() *RelinearizationKey + func (rlk RelinearizationKey) Equal(other *RelinearizationKey) bool + type Scale struct + Mod *big.Int + Value big.Float + func NewScale(s interface{}) Scale + func NewScaleModT(s interface{}, mod uint64) Scale + func (s *Scale) UnmarshalJSON(p []byte) (err error) + func (s Scale) BigInt() (sInt *big.Int) + func (s Scale) BinarySize() int + func (s Scale) Cmp(s1 Scale) (cmp int) + func (s Scale) Div(s1 Scale) Scale + func (s Scale) Equal(s1 Scale) bool + func (s Scale) Float64() float64 + func (s Scale) InDelta(s1 Scale, log2Delta float64) bool + func (s Scale) Log2Delta(s1 Scale) float64 + func (s Scale) MarshalBinary() (p []byte, err error) + func (s Scale) MarshalJSON() (p []byte, err error) + func (s Scale) Max(s1 Scale) (max Scale) + func (s Scale) Min(s1 Scale) (max Scale) + func (s Scale) Mul(s1 Scale) Scale + func (s Scale) Uint64() uint64 + func (s Scale) UnmarshalBinary(p []byte) (err error) + type SecretKey struct + Value ringqp.Poly + func NewSecretKey(params ParameterProvider) *SecretKey + func (sk *SecretKey) ReadFrom(r io.Reader) (n int64, err error) + func (sk *SecretKey) UnmarshalBinary(p []byte) (err error) + func (sk SecretKey) BinarySize() (dataLen int) + func (sk SecretKey) CopyNew() *SecretKey + func (sk SecretKey) Equal(other *SecretKey) bool + func (sk SecretKey) LevelP() int + func (sk SecretKey) LevelQ() int + func (sk SecretKey) MarshalBinary() (p []byte, err error) + func (sk SecretKey) WriteTo(w io.Writer) (n int64, err error) + type TestParametersLiteral struct + BaseTwoDecomposition int + type VectorQP []ringqp.Poly + func NewVectorQP(params ParameterProvider, size, levelQ, levelP int) (v VectorQP) + func (p *VectorQP) ReadFrom(r io.Reader) (n int64, err error) + func (p *VectorQP) UnmarshalBinary(b []byte) error + func (p VectorQP) BinarySize() int + func (p VectorQP) CopyNew() *VectorQP + func (p VectorQP) Equal(other *VectorQP) (equal bool) + func (p VectorQP) LevelP() int + func (p VectorQP) LevelQ() int + func (p VectorQP) MarshalBinary() ([]byte, error) + func (p VectorQP) WriteTo(w io.Writer) (n int64, err error)