github.com/flyinox/gosm@v0.0.0-20171117061539-16768cb62077/src/crypto/rc4/rc4_asm.go (about) 1 // Copyright 2013 The Go Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style 3 // license that can be found in the LICENSE file. 4 5 // +build amd64 amd64p32 arm,!nacl 386 6 7 package rc4 8 9 func xorKeyStream(dst, src *byte, n int, state *[256]uint32, i, j *uint8) 10 11 // XORKeyStream sets dst to the result of XORing src with the key stream. 12 // Dst and src may be the same slice but otherwise should not overlap. 13 func (c *Cipher) XORKeyStream(dst, src []byte) { 14 if len(src) == 0 { 15 return 16 } 17 xorKeyStream(&dst[0], &src[0], len(src), &c.s, &c.i, &c.j) 18 }