Quantum cryptography protocol