Feistel implementation and tests