Added encryption and decryption and algorithms