Principles of Quantum Cryptography