Versions in this module Expand all Collapse all v4 v4.1.0 Nov 22, 2022 v4.0.0 Oct 4, 2022 Changes in this version + type CKGCRP ringqp.Poly + type CKGProtocol struct + func NewCKGProtocol(params rlwe.Parameters) *CKGProtocol + func (ckg *CKGProtocol) AggregateShares(share1, share2, shareOut *CKGShare) + func (ckg *CKGProtocol) AllocateShare() *CKGShare + func (ckg *CKGProtocol) GenPublicKey(roundShare *CKGShare, crp CKGCRP, pubkey *rlwe.PublicKey) + func (ckg *CKGProtocol) GenShare(sk *rlwe.SecretKey, crp CKGCRP, shareOut *CKGShare) + func (ckg *CKGProtocol) SampleCRP(crs CRS) CKGCRP + func (ckg *CKGProtocol) ShallowCopy() *CKGProtocol + type CKGShare struct + Value ringqp.Poly + func (share *CKGShare) MarshalBinary() (data []byte, err error) + func (share *CKGShare) UnmarshalBinary(data []byte) (err error) + type CKSCRP ring.Poly + type CKSProtocol struct + func NewCKSProtocol(params rlwe.Parameters, sigmaSmudging float64) *CKSProtocol + func (cks *CKSProtocol) AggregateShares(share1, share2, shareOut *CKSShare) + func (cks *CKSProtocol) AllocateShare(level int) *CKSShare + func (cks *CKSProtocol) GenShare(skInput, skOutput *rlwe.SecretKey, c1 *ring.Poly, shareOut *CKSShare) + func (cks *CKSProtocol) KeySwitch(ctIn *rlwe.Ciphertext, combined *CKSShare, ctOut *rlwe.Ciphertext) + func (cks *CKSProtocol) SampleCRP(level int, crs CRS) CKSCRP + func (cks *CKSProtocol) ShallowCopy() *CKSProtocol + type CKSShare struct + Value *ring.Poly + func (ckss *CKSShare) MarshalBinary() (data []byte, err error) + func (ckss *CKSShare) UnmarshalBinary(data []byte) (err error) + type CRS interface + type Combiner struct + func NewCombiner(params rlwe.Parameters, own ShamirPublicPoint, others []ShamirPublicPoint, ...) *Combiner + func (cmb *Combiner) GenAdditiveShare(activesPoints []ShamirPublicPoint, ownPoint ShamirPublicPoint, ...) + type PCKSProtocol struct + func NewPCKSProtocol(params rlwe.Parameters, sigmaSmudging float64) (pcks *PCKSProtocol) + func (pcks *PCKSProtocol) AggregateShares(share1, share2, shareOut *PCKSShare) + func (pcks *PCKSProtocol) AllocateShare(levelQ int) (s *PCKSShare) + func (pcks *PCKSProtocol) GenShare(sk *rlwe.SecretKey, pk *rlwe.PublicKey, ct1 *ring.Poly, shareOut *PCKSShare) + func (pcks *PCKSProtocol) KeySwitch(ctIn *rlwe.Ciphertext, combined *PCKSShare, ctOut *rlwe.Ciphertext) + func (pcks *PCKSProtocol) ShallowCopy() *PCKSProtocol + type PCKSShare struct + Value [2]*ring.Poly + func (share *PCKSShare) MarshalBinary() (data []byte, err error) + func (share *PCKSShare) UnmarshalBinary(data []byte) (err error) + type RKGCRP [][]ringqp.Poly + type RKGProtocol struct + func NewRKGProtocol(params rlwe.Parameters) *RKGProtocol + func (ekg *RKGProtocol) AggregateShares(share1, share2, shareOut *RKGShare) + func (ekg *RKGProtocol) AllocateShare() (ephSk *rlwe.SecretKey, r1 *RKGShare, r2 *RKGShare) + func (ekg *RKGProtocol) GenRelinearizationKey(round1 *RKGShare, round2 *RKGShare, evalKeyOut *rlwe.RelinearizationKey) + func (ekg *RKGProtocol) GenShareRoundOne(sk *rlwe.SecretKey, crp RKGCRP, ephSkOut *rlwe.SecretKey, shareOut *RKGShare) + func (ekg *RKGProtocol) GenShareRoundTwo(ephSk, sk *rlwe.SecretKey, round1 *RKGShare, shareOut *RKGShare) + func (ekg *RKGProtocol) SampleCRP(crs CRS) RKGCRP + func (ekg *RKGProtocol) ShallowCopy() *RKGProtocol + type RKGShare struct + Value [][][2]ringqp.Poly + func (share *RKGShare) MarshalBinary() ([]byte, error) + func (share *RKGShare) UnmarshalBinary(data []byte) (err error) + type RTGCRP [][]ringqp.Poly + type RTGProtocol struct + func NewRTGProtocol(params rlwe.Parameters) *RTGProtocol + func (rtg *RTGProtocol) AggregateShares(share1, share2, shareOut *RTGShare) + func (rtg *RTGProtocol) AllocateShare() (rtgShare *RTGShare) + func (rtg *RTGProtocol) GenRotationKey(share *RTGShare, crp RTGCRP, rotKey *rlwe.SwitchingKey) + func (rtg *RTGProtocol) GenShare(sk *rlwe.SecretKey, galEl uint64, crp RTGCRP, shareOut *RTGShare) + func (rtg *RTGProtocol) SampleCRP(crs CRS) RTGCRP + func (rtg *RTGProtocol) ShallowCopy() *RTGProtocol + type RTGShare struct + Value [][]ringqp.Poly + func (share *RTGShare) MarshalBinary() (data []byte, err error) + func (share *RTGShare) UnmarshalBinary(data []byte) (err error) + type ShamirPolynomial struct + Coeffs []ringqp.Poly + type ShamirPublicPoint uint64 + type ShamirSecretShare struct + func (s *ShamirSecretShare) MarshalBinary() ([]byte, error) + func (s *ShamirSecretShare) UnmarshalBinary(b []byte) error + type Thresholdizer struct + func NewThresholdizer(params rlwe.Parameters) *Thresholdizer + func (thr *Thresholdizer) AggregateShares(share1, share2, outShare *ShamirSecretShare) + func (thr *Thresholdizer) AllocateThresholdSecretShare() *ShamirSecretShare + func (thr *Thresholdizer) GenShamirPolynomial(threshold int, secret *rlwe.SecretKey) (*ShamirPolynomial, error) + func (thr *Thresholdizer) GenShamirSecretShare(recipient ShamirPublicPoint, secretPoly *ShamirPolynomial, ...) Other modules containing this package github.com/tuneinsight/lattigo/v3