seec

package
v0.0.10 Latest Latest
Warning

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

Go to latest
Published: Apr 24, 2024 License: BSD-3-Clause Imports: 6 Imported by: 2

Documentation

Overview

Package SEEC implments the Static-Ephemeral Entropy Combination (SEEC) scheme abstract interface and some predefined implementations.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type GenKey

type GenKey func(io.Reader, int) (GenRand, error)

GenKey is a SEEC instance constructor, that takes an entropy source and a security parameter (lambda).

type GenRand

type GenRand func(int) ([]byte, error)

GenRand is a keyed SEEC instance, that takes a length and returns the random entropy (using a randomly sampled r).

func GenKeyPRFTupleHash

func GenKeyPRFTupleHash(rng io.Reader, lambda int) (GenRand, error)

GenKeyPRFTupleHash constructs a new SEEC-PRF instance, backed by the provided entropy source, using TupleHash as the PRF, and lambda as the security strength in bits. If `rng` is nil, `crypto/rand.Reader` will be used.

func GenKeyPRPAES

func GenKeyPRPAES(rng io.Reader, lambda int) (GenRand, error)

GenKeyPRPAES constructs a new SEEC-PRP instance, backed by the provided entropy source, using AES as the PRP, and lambda as the security strength in bits. If `rng` is nil, `crypto/rand.Reader` will be used.

Warning: This uses EME (ECB-Mix-ECB) under the hood and requires that the output length of each GenRand call be a multiple of the AES block size.

func GenKeyPassthrough

func GenKeyPassthrough(rng io.Reader, lambda int) (GenRand, error)

GenKeyPassthrough constructs a new SEEC-Passthrough instance, backed by the provided entropy source. If `rng` is nil, `crypto/rand.Reader` will be used.

Jump to

Keyboard shortcuts

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