Diffusion-based Purification