optimized decryption