Giao thức BB84
Giao thức BB84 được công bố vào năm 1983 trên tạp chí Sigact News bởi Bennett và Brassard, những người đã nghiên cứu những ý tưởng về mật mã lượng tử được đưa ra bởi Stephen Weisner, gọi là "Conjugate Coding" từ đầu những năm 70 và phát triển chúng theo cách riêng của mình. BB84 là giao thức mật mã lượng tử đầu tiên ra đời vào năm 1984, nhưng mãi đến tận năm 1991, thí nghiệm đầu tiên về thể thức này mới được thực hiện thành công qua một đường truyền 32 cm. Những hệ thống ngày nay đã được thử nghiệm thành công trên quang sợi ở độ dài hàng trăm km.

Giao thức BB84 cực kì an toàn, dựa trên nguyên lý của sự trao đổi thông tin lượng tử này dựa vào sự quan sát các trạng thái lượng tử. Những photon truyền đi được đặt trong một trạng thái riêng biệt bởi người gửi và sau đó được quan sát bởi người nhận. Những trạng thái lượng tử liên hợp không thể được quan sát cùng một lúc. Tùy theo cách quan sát, giá trị của hệ đo được sẽ khác nhau, nhưng trong một hệ các trạng thái liên hợp duy nhất; ví dụ như phân cực của photon được mô tả bởi một trong ba hệ khác nhau: phân cực phẳng, phân cực cầu hay phân cực elip. Như vậy, nếu người gửi và người nhận không thỏa thuận trước về hệ quan sát được sử dụng, người nhận có thể tình cờ hủy thông tin của người nhận mà không nhận được gì có ích.

Giả sử An muốn gửi một khoá bí mật (private key ) cho Bình. An bắt đầu với hai chuỗi bit formula_1 và formula_2, mỗi chuỗi dài formula_3 bit. Sau đó An mã hoá hai chuỗi này như là một chuỗi formula_3 qubit.
formula_5
formula_6 và formula_7 là bit formula_8 của formula_1 và formula_2 tương ứng. Từ đó formula_11 cho ta một chỉ số đầu vào của 4 trạng thái qubit dưới đây:

formula_12

formula_13

formula_14

formula_15

Cần lưu ý rằng các bit formula_7 sẽ quyết định hệ cơ sở mã hóa của bit formula_6 (hệ cơ sở tính toán hoặc hệ cơ sở Hadamard). Các qubit đang ở trạng thái không trực giao lẫn nhau nên do đó không thể phân biệt được tất cả một cách chắc chắn mà không biết formula_2.
An gửi formula_19 qua một kênh lượng tử công khai cho Bình. Bình nhận được một trạng thái formula_20, trong đó formula_21 là độ nhiễu trong các kênh hay có thể là sự nghe trộm của bên thứ 3, ta gọi là Công. Sau khi Bình nhận được chuỗi các qubit, cả ba bên(An, Bình, Công) đều có trạng thái riêng của mình. Tuy nhiên vì chỉ có An biết formula_2 nên cả Bình và Công đều không thể phân biệt trạng thái của các qubit. Ngoài ra, sau khi Bình nhận được các qubit, chúng ta biết rằng Công không thể có một bản sao các qubit gửi đến Bình, theo định lý không nhân bản, trừ khi anh ta thực hiện các phép đo đạc. Các phép đo của anh ta cũng có tỷ lệ 50% làm xáo trộn các qubit nếu đoán sai hệ cơ sở.
Bình tiến hành tạo ra một chuỗi bit ngẫu nhiên formula_23 chiều dài tương tự formula_2 và sau đó đo chuỗi mà An gửi đến, formula_25. Tại thời điểm này, Bình thông báo công khai rằng anh đã nhận được truyền dẫn của An. Khi đó An có thể gửi formula_2 một cách an toàn. Bình và An giao tiếp với nhau qua một kênh công khai để xác định rằng formula_7 và formula_28 không bằng nhau. Cả An và Bình sẽ tiến hành loại bỏ các qubit trong formula_1 và formula_25, nơi formula_2 và formula_23 không giống nhau.
Từ formula_33 bit còn lại cả An và Bình đo trong cùng 1 cơ sở, An chọn ngẫu nhiên formula_34 bit và thông báo sự lựa chọn của mình với Bình. Cả An và Bình công bố các bit công khai và kiểm tra nếu như có nhiều hơn một số lượng nhất định trong số mà họ đồng ý.
Nếu việc kiểm tra được thông qua, An và Bình tiếp tục sử dụng khuếch đại quyền riêng tư và kỹ thuật hòa giải thông tin để tạo ra một số số khóa chia sẻ bí mật. Nếu không, họ hủy bỏ và bắt đầu lại từ đầu.
