The Impact of Quantum Computing on Cryptography: Challenges and OpportunitiesÂ