package xof

import "github.com/cloudflare/circl/xof"

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

Types

type ID

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

func (ID) New

func (x ID) New() XOF

type XOF

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()
}

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

Source Files

xof.go

Directories

PathSynopsis
xof/k12k12 implements the KangarooTwelve XOF.
Version
v1.6.1 (latest)
Published
Apr 9, 2025
Platform
linux/amd64
Imports
5 packages
Last checked
2 days ago

Tools for package owners.