// Copyright 2013 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. // +build amd64 amd64p32 arm,!nacl 386 package rc4 func xorKeyStream(dst, src *byte, n int, state *[256]uint32, i, j *uint8) // XORKeyStream sets dst to the result of XORing src with the key stream. // Dst and src must overlap entirely or not at all. func (c *Cipher) XORKeyStream(dst, src []byte) { if len(src) == 0 { return } // Assert len(dst) >= len(src) _ = dst[len(src)-1] xorKeyStream(&dst[0], &src[0], len(src), &c.s, &c.i, &c.j) }