Phân phối, đo lƣờng và biến đổi bit:
1/. Alice chọn ngẫu nhiên mỗi chuỗi bit X” có độ dài 4(n+), với >0 và nN. Tại mỗi vị trí của chuỗi bit X”, Alice chọn ngẫu nhiên một cơ sở hoặc để mã hóa bit đó vào một trạng thái của qubit trong cơ sở đó.
2/. Sau khi nhận được chuỗi (4+)n qubit từ Alice, Bob thực hiện đo lường chúng trong cơ sở hoặc một cách ngẫu nhiên. Nếu kết quả của phép đo lường là |0 hoặc |+, chúng ta thu được giá trị của bit là 0. Ngược lại, nếu kết quả của phép đo lường là |1 hoặc |- thì thu được giá trị của bit là 1. Như vậy Bob cũng thu được một chuỗi bit Y” có độ dài (4+)n.
So sánh cơ sở, thiết lập chuỗi bit kiểm tra và chuỗi bit khóa
3/. Alice và Bob sử dụng kênh truyền công khai để trao đổi thông tin, Bob chứng thực đã nhận được những qubit. Alice và Bob thông báo cho nhau về những cơ sở đã sử dụng.
4/. Alice và Bob loại bỏ những bit ở vị trí mà họ không cùng cơ sở. Nếu chuỗi bit còn lại nhỏ hơn 2n bit, họ hủy phiên truyền khóa. Nếu chuỗi bit còn lại lớn hơn 2n, Alice và Bob thực hiện chọn 2n bit theo một quy ước nào đó để sử dụng cho giao thức. Tiếp đó, Alice thiết lập chuỗi bit kiểm tra X’ bằng cách chọn ngẫu nhiên n bit trong số 2n, chuỗi bit kiểm tra này sẽ được sử dụng để kiểm tra sự có mặt của Eve, n bit còn lại sẽ được dùng làm khóa ban đầu X. Tiếp đó, Alice thông báo cho Bob cách tạo chuỗi bit kiểm tra và chuỗi bit khóa. Bob thực hiện thiết lập chuỗi bit kiểm tra Y’ và chuỗi bit khóa Y.
Xác định tỷ lệ lỗi
5/. Alice và Bob trao đổi với nhau về chuỗi bit kiểm tra X’ và Y’ của họ. Từ hai chuỗi bit đó họ so sánh giá trị của bit ở từng vị trí. Nếu tỷ lệ lỗi e lớn hơn giới hạn lỗi , họ sẽ hủy phiên truyền khóa. Ngược lại, họ tiếp tục phiên truyền khóa mà không quan tâm có sự tham gia của Eve vào giao thức hay không?
làm mịn khóa và tăng tính bảo mật
6/. Lúc này hai chuỗi khóa X và Y còn lại của Alice và Bob là gần như nhau. Chúng ta có thể đồng nhất chúng bằng kỹ thuật làm mịn khóa.
7/. Sau khi làm mịn khóa, hai chuỗi bit của Alice và Bob là hoàn toàn đồng nhất nhưng chính quá trình làm mịn khóa lại làm lộ một số thông tin về chuỗi bit con của khóa nhận được. Do vậy để làm giảm thông tin về khóa đã truyền trên kênh truyền công khai chúng ta sử dụng kỹ thuật tăng tính bảo mật.
Chú ý: Trong bước 5 của giao thức, nếu tỷ lệ lỗi e nhỏ hơn ngưỡng giới hạn, Alice và Bob không cần quan tâm đến sự xuất hiện của Eve, vì nếu Eve có tham gia vào giao thức thì sự hiểu biết của Eve cũng là không đáng kể và có thể bỏ qua. Hai bước tăng tính bảo mật và làm mịn khóa sẽ được trình bày chi tiết ở phần sau.
Giả sử không có lỗi trên đường truyền, giao thức BB84 được thể hiện dưới dạng mã sau:
+ Đầu vào: n là độ dài chuỗi bit X”
+ Đầu ra: Khóa ban đầu Key=k1 k2 …. kc trong đó c>=2n m=0
h=(4+)n while m<h do
Alice thực hiện mã hóa bm vào tm được |btm; Bob chọn cơ sở t’m ngẫu nhiên trong {,}; Alice gửi |btm cho Bob
Bob đo lường |btm trong cơ sở t’m được b’m; m++; done; c=0; while m<h do if (bm = b’m) then Kc = bm; m++; c++; done;
Như vậy dãy bit chung thu được sẽ là Key= k1 k2 ….kc.
Ví dụ: với n=2 và =1, như vậy chuỗi bit mà Alice cần mã hóa có độ dài (4+)n=10.
- Giả sử chuỗi bit ngẫu nhiên có độ dài 10 bit do Alice tạo ra là: 1101110101 - Alice chọn 10 cơ sở ngẫu nhiên là:
- Chuỗi qubit mà Alice mã hóa là: |1|-|0|1|-|1|+|-|0|1 - Cơ sở ngẫu nhiên của Bob là:
- Kết quả phép đo lường của Bob là: |1|-|-|+|1|1|+|-|0|- - Sau khi so sánh ta được chuỗi qubit chung của Alice và Bob là:
Ta có thể mô tả bởi bảng sau:
Bit ngẫu nhiên của Alice 1 1 0 1 1 1 0 1 0 1
Cơ sở ngẫu nhiên của Alice
Qubit mà Alice chuẩn bị |1 |- |0 |1 |- |1 |+ |- |0 |1
Cơ sở ngẫu nhiên của Bob
Bit mà Bob nhận được 1 1 1 0 0 1 0 1 0 0
Kết quả phép đo lường của Bob |1 |- |- |+ |1 |1 |+ |- |0 |-
Dãy bit thu được 1 1 x x x 1 0 1 0 x
* Khả năng tấn công của Eve trong BB84
Bởi vì Eve không thể sao chép các qubit mà Alice gửi cho Bob, nên cách duy nhất để có thông tin về khóa mà Alice gửi cho Bob là chặn những qubit đó và đo lường chúng trong một cơ sở nào đó và gửi một trạng thái lượng tử khác cho Bob. Theo cách này, Eve muốn Bob nghĩ rằng anh ta nhận được trạng thái lượng tử này trực tiếp từ Alice. Để tránh bị phát hiện sự có mặt của mình trong phiên trao đổi khóa, Eve phải gửi cho Bob những trạng thái, sao cho tỷ lệ lỗi mà Alice và Bob tìm được là nhỏ nhất. Trong phần này chúng ta sẽ nghiên cứu một vài khả năng có thể xảy ra khi Eve cố gắng lấy thông tin về khóa.
Eve đo lƣờng trong cơ sở hoặc
Khả năng này, Eve chặn các trạng thái được gửi từ Alice rồi đo lường những trạng thái này trong cơ sở hoặc . Chúng ta sẽ chỉ ra rằng, khả năng lớn nhất khi Alice và Bob có cùng giá trị của bit sau đo lường nếu họ sử dụng cùng cơ sở là ¾.
+ Eve gửi cho Bob trạng thái của qubit sau đo lƣờng của anh ta: Giả sử rằng Eve gửi cho Bob trạng thái sau đo lường trên qubit |. Có hai khả năng có thể xảy ra là:
+ Khả năng Eve đo lường | đúng cơ sở là ½. Như vậy sau phép đo lường, Eve có được giá trị của bit trùng với Alice và trạng thái của qubit sau đo lường vẫn là |. Eve gửi tiếp | cho Bob, Bob đo lường | trong cùng cơ sở và nhận được giá trị của bit trùng với Alice với xác suất là 1. Như vật trong trường hợp này, xác suất mà Alice và Bob thu được cùng một giá trị của bit là 1.
+ Khả năng Eve đo lường | không đúng cơ sở là ½. Như vậy sau phép đo lường, trạng thái của qubit sau phép đo lường |’ phân cực trong cơ sở mà Eve đo lường. Tiếp đó Eve gửi |’ cho Bob, vì Bob đo lường cùng cơ sở với Alice nên một lần nữa qubit bị đo lường sai cơ sở. Sau phép đo lường của Bob, giá trị của bit mà Bob nhận được trùng với Alice là ½. Như vậy trong trường hợp này, xác suất mà Alice và Bob thu được cùng một giá trị của bit là ½.
=> Xác suất trung bình mà Alice và Bob thu được cùng một giá trị của bit trong trường hợp này là ½(1+1/2)=3/4
Ví dụ: Giả sử Alice gửi một trạng thái |=|0 cho Bob. Eve chặn trên đường truyền lượng tử và đo lường qubit này.
- Nếu đo lường trong cơ sở . Kết quả phép đo lường sẽ cho Eve giá trị của bit 0 với xác suất là 1 và trạng thái của qubit sau đo lường vẫn là |0. Eve gửi trạng thái |0 cho Bob. Bob cũng đo lường trong cơ sở . Anh ta sẽ nhận được giá trị của bit là 0 với xác suất là 1.
- Nếu đo lường trong cơ sở . Kết quả phép đo lường sẽ cho Eve giá trị của bit 0 hoặc 1 với xác suất là như nhau và trạng thái của qubit sau đo lường là |+ hoặc |-. Eve gửi trạng thái đó cho Bob. Bob cũng đo lường trong cơ sở . Anh ta sẽ nhận được giá trị của bit là 0 hoặc 1 với xác suất là như nhau.
Ví dụ về giao thức khi có sự tham gia của Eve
Bit ngẫu nhiên của Alice 1 1 0 1 1 1 0 1 0 1 Cơ sở ngẫu nhiên của Alice Qubit mà Alice chuẩn bị |1 |- |0 |1 |- |1 |+ |- |0 |1
Cơ sở của Eve
Kết quả phép đo lường của Eve |1 |- |- |1 |- |1 |0 |- |- |1 Cơ sở ngẫu nhiên của Bob Kết quả phép đo lường của Bob |1 |- |- |+ |1 |1 |+ |- |1 |-
Bit mà Bob nhận được 1 1 1 0 1 1 0 1 1 0
Những vị trí có cùng cơ sở nhưng lại thu được những giá trị của bit khác nhau sẽ được tìm thấy qua quá trình đánh giá tỷ lệ lỗi(vị trí được đánh dấu). Từ đó Alice và Bob sẽ quyết định xem phiên truyền khóa có an toàn không.
2/. Giao thức B92
Giao thức B92 được đề xuất năm 1992 bởi Charles Bennet là một trong 2 tác giả của giao thức BB84. Giao thức được thiết kế dựa trên ý tưởng của BB84, với hy vọng mang lại sự đơn giản hơn cho việc cài đặt giao thức phân phối khóa lượng tử.
Trong giao thức B92, mỗi bên nhận và gửi chỉ dùng một cặp đôi không trực chuẩn để mã hóa và giải mã giá trị của bit. Alice và Bob cùng thỏa thuận trước cặp đôi mà mỗi người sử dụng cùng quy ước chuyển đổi qubit và giá trị của bit.
Qubit Giá trị bit của Alice Giá trị bit của Bob
|0 0 ?
|+ 1 ?
|1 Không sử dụng 1
|- Không sử dụng 0
Như vậy, Alice sử dụng cặp trạng thái không trực chuẩn là |0 và |+; |0 để mã hóa bit 0 và |+ để mã hóa bit 1. Nghĩa là khi nào Alice muốn gửi cho Bob bit 0 anh ta sẽ chuẩn bị |0 và khi nào muốn gửi bit 1 anh ta sẽ chuẩn bị |+. Sau đó Alice gửi các trạng thái này cho Bob thông qua kênh truyền lượng tử.