client

package
v0.0.1 Latest Latest
Warning

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

Go to latest
Published: Apr 11, 2020 License: ISC Imports: 11 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type CallistoClient

type CallistoClient struct {
	UserID []byte
	// contains filtered or unexported fields
}

func NewCallistoClient

func NewCallistoClient(pHatComputer PHatComputer) (*CallistoClient, error)

NewCallistoClient returns a CallistoClient capabale of performing Callisto client responsibilities

func (*CallistoClient) CreateCallistoTuple

func (c *CallistoClient) CreateCallistoTuple(perpID []byte, entry CallistoEntry, pubKeys LOCPublicKeys) (types.CallistoTuple, error)

CreateCallistoTuple performs the entire Callisto client encryption of a Callisto entry and returns the 6-tuple to be sent to a Callisto database server

type CallistoEntry

type CallistoEntry struct {
	EntryData      types.EntryData
	AssignmentData types.AssignmentData
}

CallistoEntry encapsulates all the information a CallistoClient encrypts

type LOCPublicKeys

type LOCPublicKeys struct {
	LOCPublicKey  *rsa.PublicKey
	DLOCPublicKey *rsa.PublicKey
}

LOCPublicKeys encapsulates the public keys needed by a CallistoClient to create ciphertexts for the LOCs

type PHatComputer

type PHatComputer interface {
	GetPHatValue(perpID []byte) ([]byte, error)
}

PHatComputer can transform a low-entropy perpetrator ID into a pseudorandom value with sufficient entropy

Jump to

Keyboard shortcuts

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