Classical and Quantum Algorithms for Isogeny-based Cryptography