Quantum Communications and Cryptography