...

Package xof

import "github.com/cloudflare/circl/xof"
Overview
Index
Subdirectories

Overview ▾

Package xof provides an interface for eXtendable-Output Functions.

Available Functions

SHAKE functions are defined in FIPS-202, see https://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.202.pdf. BLAKE2Xb and BLAKE2Xs are defined in https://www.blake2.net/blake2x.pdf.

Index ▾

Package files

xof.go

type ID

type ID uint
const (
    SHAKE128 ID = iota + 1
    SHAKE256
    BLAKE2XB
    BLAKE2XS
    K12D10
)

func (ID) New

func (x ID) New() XOF

type XOF

XOF defines the interface to hash functions that support arbitrary-length output.

type XOF interface {
    // Write absorbs more data into the XOF's state. It panics if called
    // after Read.
    io.Writer

    // Read reads more output from the XOF. It returns io.EOF if the limit
    // has been reached.
    io.Reader

    // Clone returns a copy of the XOF in its current state.
    Clone() XOF

    // Reset restores the XOF to its initial state and discards all data appended by Write.
    Reset()
}

Subdirectories

Name Synopsis
..
k12 k12 implements the KangarooTwelve XOF.