implemented encipher (untested)