private void Reset()
{
for (int i=0; i<256; i++) {
_permutation[i] = (byte) i;
}
_index1 = 0;
_index2 = 0;
for (int i=0, j=0; i<256; i++) {
j = (j + _permutation[i] + _key[i % _key.Length]) % 256;
byte tmp = _permutation[i];
_permutation[i] = _permutation[j];
_permutation[j] = tmp;
}
}