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.
5 // +build !amd64,!arm,!386
9 // XORKeyStream sets dst to the result of XORing src with the key stream.
10 // Dst and src may be the same slice but otherwise should not overlap.
11 func (c
*Cipher
) XORKeyStream(dst
, src
[]byte) {
13 for k
, v
:= range src
{
16 c
.s
[i
], c
.s
[j
] = c
.s
[j
], c
.s
[i
]
17 dst
[k
] = v
^ byte(c
.s
[byte(c
.s
[i
]+c
.s
[j
])])