Не подскажите ли как правильно ксорить пакеты ?

Тут вот у меня получилось так: берем Нный байт пакета, ксорим его с (Н & 15)ным байтом ключа, и потом ксорим с предидущим отксореным значением.
Т.е. получается что-то типа
result = data[i] xor key[i & 15] xor data[i-1];
но чето нексорит правильно

В смысле сервер матюжицо в ответ )