key

package
v2.0.0-...-f066f8d Latest Latest
Warning

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

Go to latest
Published: May 9, 2018 License: MPL-2.0 Imports: 2 Imported by: 24

Documentation

Overview

Package key creates asymmetric key pairs.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Generator

type Generator interface {
	NewKey(random cipher.Stream) kyber.Scalar
}

Generator is a type that needs to implement a special case in order to correctly choose a key.

type Pair

type Pair struct {
	Public  kyber.Point  // Public key
	Private kyber.Scalar // Private key
	Hiding  kyber.Hiding // Hidden encoding of the public key
}

Pair represents a public/private keypair together with the ciphersuite the key was generated from.

func NewHidingKeyPair

func NewHidingKeyPair(suite Suite) *Pair

NewHidingKeyPair creates a secret/public key pair and makes sure the the public key is hiding-encodable.

func NewKeyPair

func NewKeyPair(suite Suite) *Pair

NewKeyPair directly creates a secret/public key pair

func (*Pair) Gen

func (p *Pair) Gen(suite Suite)

Gen creates a fresh public/private keypair with the given ciphersuite, using a given source of cryptographic randomness. If suite implements key.Generator, then suite.NewKey is called to generate the private key, otherwise the normal technique of choosing a random scalar from the group is used.

func (*Pair) GenHiding

func (p *Pair) GenHiding(suite Suite)

GenHiding will generate key pairs repeatedly until one is found where the public key has the property that it can be hidden.

type Suite

type Suite interface {
	kyber.Group
	kyber.Random
}

Suite represents the list of functionalities needed by this package.

Jump to

Keyboard shortcuts

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