salsa - ActiveState ActiveGo 1.8

Package salsa

import ""

Overview ▾

Package salsa provides low-level access to functions in the Salsa family.


Sigma is the Salsa20 constant for 256-bit keys.

var Sigma = [16]byte{'e', 'x', 'p', 'a', 'n', 'd', ' ', '3', '2', '-', 'b', 'y', 't', 'e', ' ', 'k'}

func Core208

func Core208(out *[64]byte, in *[64]byte)

Core208 applies the Salsa20/8 core function to the 64-byte array in and puts the result into the 64-byte array out. The input and output may be the same array.

func HSalsa20

func HSalsa20(out *[32]byte, in *[16]byte, k *[32]byte, c *[16]byte)

HSalsa20 applies the HSalsa20 core function to a 16-byte input in, 32-byte key k, and 16-byte constant c, and puts the result into the 32-byte array out.

func XORKeyStream

func XORKeyStream(out, in []byte, counter *[16]byte, key *[32]byte)

XORKeyStream crypts bytes from in to out using the given key and counters. In and out may be the same slice but otherwise should not overlap. Counter contains the raw salsa20 counter bytes (both nonce and block counter).