Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func GfnDouble ¶
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 ¶
RightXor XORs smaller input (assumed Y) at the right of the larger input (assumed X)
func ShiftBytesLeft ¶
ShiftBytesLeft outputs the byte array corresponding to x << 1 in binary.
func ShiftNBytesLeft ¶
ShiftNBytesLeft puts in dst the byte array corresponding to x << n in binary.
func SliceForAppend ¶
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 assumes equal input length, puts X XOR Y into Z
func XorBytesMut ¶
func XorBytesMut(X, Y []byte)
XorBytesMut assumes equal input length, replaces X with X XOR Y
Types ¶
This section is empty.