Help us shape the future of Go! Take the 2026 Go Developer Survey

byteutil

package
v1.5.1 Latest Latest
Warning

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

Go to latest
Published: Sep 23, 2026 License: BSD-3-Clause Imports: 0 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func GfnDouble

func GfnDouble(input []byte) []byte

GfnDouble computes 2 * input in the field of 2^n elements. The irreducible polynomial in the finite field for n=128 is x^128 + x^7 + x^2 + x + 1 (equals 0x87) Constant-time execution in order to avoid side-channel attacks

func RightXor

func RightXor(X, Y []byte) []byte

RightXor XORs smaller input (assumed Y) at the right of the larger input (assumed X)

func ShiftBytesLeft

func ShiftBytesLeft(x []byte) []byte

ShiftBytesLeft outputs the byte array corresponding to x << 1 in binary.

func ShiftNBytesLeft

func ShiftNBytesLeft(dst, x []byte, n int)

ShiftNBytesLeft puts in dst the byte array corresponding to x << n in binary.

func SliceForAppend

func SliceForAppend(in []byte, n int) (head, tail []byte)

SliceForAppend takes a slice and a requested number of bytes. It returns a slice with the contents of the given slice followed by that many bytes and a second slice that aliases into it and contains only the extra bytes. If the original slice has sufficient capacity then no allocation is performed.

func XorBytes

func XorBytes(Z, X, Y []byte)

XorBytes puts X XOR Y into Z. len(Z) and len(X) must be >= len(Y).

func XorBytesMut

func XorBytesMut(X, Y []byte)

XorBytesMut replaces X with X XOR Y. len(X) must be >= len(Y).

Types

This section is empty.

Jump to

Keyboard shortcuts

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