Shor's algorithm and the foundations of quantum computing