Cipher implementations.