cryptography

package
v0.0.0-...-8cd5e98 Latest Latest
Warning

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

Go to latest
Published: Feb 18, 2024 License: MIT Imports: 10 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Decapsulate

func Decapsulate(source Decapsulatable, key []byte) (interface{}, error)

func Decrypt

func Decrypt(data []byte, key []byte) ([]byte, error)

func Encapsulate

func Encapsulate(source Encapsulatable, key []byte) (dst []byte, err error)

func Encrypt

func Encrypt(data []byte, key []byte) ([]byte, error)

Types

type AlgolioCircuit

type AlgolioCircuit struct {
	Address frontend.Variable
	Data    frontend.Variable
	Weight  frontend.Variable
}

func (*AlgolioCircuit) Define

func (c *AlgolioCircuit) Define(api frontend.API) error

type Decapsulatable

type Decapsulatable interface {
	FromBytes(data []byte) (interface{}, error)
	Bytes() []byte
	Decapsulated() interface{}
}

type DefaultKeyManager

type DefaultKeyManager struct{}

func (*DefaultKeyManager) Decrypt

func (km *DefaultKeyManager) Decrypt(privateKey kyber.Scalar, cipherText []byte) ([]byte, error)

func (*DefaultKeyManager) Encrypt

func (km *DefaultKeyManager) Encrypt(publicKey kyber.Point, message []byte) ([]byte, error)

func (*DefaultKeyManager) GenerateKeys

func (km *DefaultKeyManager) GenerateKeys() (kyber.Scalar, kyber.Point)

func (*DefaultKeyManager) SignMessage

func (km *DefaultKeyManager) SignMessage(privateKey kyber.Scalar, message []byte) ([]byte, error)

type Encapsulatable

type Encapsulatable interface {
	ToBytes() []byte
}

type Encapsulation

type Encapsulation interface {
	Encrypt(data []byte, key []byte) ([]byte, error)
	Decrypt(data []byte, key []byte) ([]byte, error)
}

type KeyManager

type KeyManager interface {
	GenerateKeys() (kyber.Scalar, kyber.Point)                           // Generates a private and public key pair
	SignMessage(privateKey kyber.Scalar, message []byte) ([]byte, error) // Signs a message using Schnorr signature
	/*GenerateProof(circuit frontend.API, witness frontend.Circuit) ([]byte, error) // Generates a ZKP
	VerifyProof(circuit frontend.API, proof []byte) (bool, error)    */ // Verifies a ZKP
	Encrypt(publicKey kyber.Point, message []byte) ([]byte, error)
	Decrypt(privateKey kyber.Scalar, cipherText []byte) ([]byte, error)
}

KeyManager defines the interface for key management, signing, and ZKP.

func NewKeyManager

func NewKeyManager() KeyManager

Jump to

Keyboard shortcuts

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