crypto: Index | Files

package salsa

import ""

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


Package Files

hsalsa20.go salsa208.go salsa20_amd64.go salsa20_ref.go


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

Sigma is the Salsa20 constant for 256-bit keys.

func Core208 Uses

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 Uses

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 Uses

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 must overlap entirely or not at all. Counter contains the raw salsa20 counter bytes (both nonce and block counter).

Package salsa is imported by 82 packages. Updated 2020-12-22. Refresh now. Tools for package owners.