El algoritmo de Shor y las bases de la computación cuántica