BB84 protocol