Files
crypto/salsa20/salsa/salsa20_amd64.go
T
Adam Langley 62fc357018 go.crypto/salsa20: add package.
Package salsa20 implements the Salsa20 stream cipher as specified in
http://cr.yp.to/snuffle/spec.pdf.

(Reference implementation by dchest.)

R=golang-dev, dchest
CC=golang-dev
https://golang.org/cl/6496083
2012-09-08 10:41:44 -04:00

19 lines
712 B
Go

// Copyright 2012 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
package salsa
// This function is implemented in salsa2020_amd64.s.
func salsa2020XORKeyStream(out, in *byte, n uint64, nonce, key *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).
func XORKeyStream(out, in []byte, counter *[16]byte, key *[32]byte) {
if len(in) == 0 {
return
}
salsa2020XORKeyStream(&out[0], &in[0], uint64(len(in)), &counter[0], &key[0])
}