xoodyak

package
v1.0.1 Latest Latest
Warning

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

Go to latest
Published: Oct 24, 2025 License: MIT Imports: 3 Imported by: 0

Documentation

Index

Constants

View Source
const (
	KeySize          = 16
	NonceSize        = 16
	TagSize          = 16
	FBPrime          = 48
	HashRate         = 16
	KeyRate          = 44
	KeyedSqueezeRate = 24
	LRatchet         = 16
)

Variables

This section is empty.

Functions

This section is empty.

Types

type Instance

type Instance struct {
	// contains filtered or unexported fields
}

func (*Instance) Absorb

func (x *Instance) Absorb(data []byte)

func (*Instance) Advance

func (x *Instance) Advance()

Advance executes a zero-length Down step, preparing for additional squeezing.

func (*Instance) Clear

func (x *Instance) Clear()

Clear zeroes the internal state and resets control flags.

func (*Instance) Crypt

func (x *Instance) Crypt(in, out []byte, decrypt bool)

func (*Instance) Initialize

func (x *Instance) Initialize(key, id, counter []byte) error

initialize initializes the Xoodyak instance with the given key, id, and counter.

func (*Instance) Squeeze

func (x *Instance) Squeeze(dst []byte)

squeeze is a wrapper around squeezeAny that uses the Cyclist domain separator for keyed squeezing (tags).

func (*Instance) SqueezeAny

func (x *Instance) SqueezeAny(dst []byte, cu byte)

squeezeAny is a wrapper around the Xoodyak-Squeezing mode that allows the caller to specify the control byte.

Jump to

Keyboard shortcuts

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