Documentation
¶
Index ¶
- type CKG
- type CKS
- type CRPGenerator
- type EkgProtocol
- func (ekg *EkgProtocol) Aggregate(sk *ring.Poly, samples [][][]*ring.Poly, crp [][]*ring.Poly) (h [][][2]*ring.Poly)
- func (ekg *EkgProtocol) ComputeEVK(h1 [][][]*ring.Poly, h [][][2]*ring.Poly) (collectiveEVK [][][2]*ring.Poly)
- func (ekg *EkgProtocol) GenSamples(u, sk *ring.Poly, crp [][]*ring.Poly) (h [][]*ring.Poly)
- func (ekg *EkgProtocol) KeySwitch(u, sk *ring.Poly, samples [][][2]*ring.Poly) (h1 [][]*ring.Poly)
- func (ekg *EkgProtocol) NewEphemeralKey() *ring.Poly
- func (ekg *EkgProtocol) Sum(samples [][][][2]*ring.Poly) (h [][][2]*ring.Poly)
- type EkgProtocolNaive
- func (ekg *EkgProtocolNaive) Aggregate(sk *ring.Poly, pk [2]*ring.Poly, samples [][][][2]*ring.Poly) (h [][][2]*ring.Poly)
- func (ekg *EkgProtocolNaive) Finalize(h [][][][2]*ring.Poly) (evaluationKey [][][2]*ring.Poly)
- func (ekg *EkgProtocolNaive) GenSamples(sk *ring.Poly, pk [2]*ring.Poly) (h [][][2]*ring.Poly)
- type PCKS
- type PRNG
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type CRPGenerator ¶
type CRPGenerator struct {
// contains filtered or unexported fields
}
Common Reference Polynomial Generator
func NewCRPGenerator ¶
func NewCRPGenerator(key []byte, context *ring.Context) (*CRPGenerator, error)
func (*CRPGenerator) Clock ¶
func (crpgenerator *CRPGenerator) Clock() *ring.Poly
func (*CRPGenerator) GetClock ¶
func (crpgenerator *CRPGenerator) GetClock() uint64
func (*CRPGenerator) GetSeed ¶
func (crpgenerator *CRPGenerator) GetSeed() []byte
func (*CRPGenerator) Seed ¶
func (crpgenerator *CRPGenerator) Seed(seed []byte)
func (*CRPGenerator) SetClock ¶
func (crpgenerator *CRPGenerator) SetClock(n uint64) error
type EkgProtocol ¶
type EkgProtocol struct {
// contains filtered or unexported fields
}
func NewEkgProtocol ¶
func NewEkgProtocol(context *ring.Context, bitDecomp uint64) *EkgProtocol
func (*EkgProtocol) Aggregate ¶
func (ekg *EkgProtocol) Aggregate(sk *ring.Poly, samples [][][]*ring.Poly, crp [][]*ring.Poly) (h [][][2]*ring.Poly)
Round 2
func (*EkgProtocol) ComputeEVK ¶
func (*EkgProtocol) GenSamples ¶
Ephemeral Key u (needs to be stored among the 3 first round)
func (*EkgProtocol) NewEphemeralKey ¶
func (ekg *EkgProtocol) NewEphemeralKey() *ring.Poly
Ephemeral Key u (needs to be stored among the 3 first round)
type EkgProtocolNaive ¶
type EkgProtocolNaive struct {
// contains filtered or unexported fields
}
func NewEkgProtocolNaive ¶
func NewEkgProtocolNaive(context *ring.Context, bitDecomp uint64) *EkgProtocolNaive
func (*EkgProtocolNaive) Finalize ¶
func (ekg *EkgProtocolNaive) Finalize(h [][][][2]*ring.Poly) (evaluationKey [][][2]*ring.Poly)
func (*EkgProtocolNaive) GenSamples ¶
type PRNG ¶
type PRNG struct {
// contains filtered or unexported fields
}
func NewPRNG ¶
NewPRNG creates a new instance of PRNG Accepts an optional key, if no key, call with key=nill
func (*PRNG) Clock ¶
Clock returns the right part of the digest value of the current PRNG state and reseeds the PRNG with the left part of the digest value. Increases the clock cycle by 1.
Click to show internal directories.
Click to hide internal directories.