This is an encryption algorithm