fss

package
v0.0.0-...-7a7f204 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 19, 2024 License: GPL-3.0 Imports: 5 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var PrfKeys [][]byte

Functions

This section is empty.

Types

type CWLt

type CWLt struct {
	// contains filtered or unexported fields
}

type Fss

type Fss struct {
	FixedBlocks []cipher.Block
	N           uint
	NumBits     uint   // number of bits in domain
	Temp        []byte // temporary slices so that we only need to allocate memory at the beginning
	Out         []byte

	BlockLength     int    // block length in number of elements
	OutConvertBlock []byte // to gather random bytes in convertBlock, allocate once for performance
}

func ClientInitialize

func ClientInitialize(blockLength int) *Fss

Initialize client with this function numBits represents the input domain for the function, i.e. the number of bits to check

func ServerInitialize

func ServerInitialize(blockLength int) *Fss

Upon receiving query from client, initialize server with this function. The server, unlike the client receives prfKeys, so it doesn't need to pick random ones

func (Fss) EvaluatePF

func (f Fss) EvaluatePF(serverNum byte, k FssKeyEq2P, x []bool, out []uint32)

func (Fss) GenerateTreePF

func (f Fss) GenerateTreePF(a []bool, b []uint32) []FssKeyEq2P

Generate Keys for 2-party point functions It creates keys for a function that evaluates to vector b when input x = a.

type FssKeyEq2P

type FssKeyEq2P struct {
	SInit   []byte
	TInit   byte
	CW      [][]byte // there are n
	FinalCW []uint32
}

Structs for keys

type ServerKeyLt

type ServerKeyLt struct {
	// contains filtered or unexported fields
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL