Mô phỏng mật mã lượng tử theo giao thức BB84
Tóm tắt Mô phỏng mật mã lượng tử theo giao thức BB84: ... nghệ 24 (2008) 238-247 240 Bước 5: Alice thơng báo cho Bob biết hệ đo nào là đúng. (Hệ đo đúng là hệ đo mà Alice và Bob cùng sử dụng để đo phân cực). Bước 6: Alice và Bob sẽ loại bỏ các dữ liệu từ các phép đo khơng đúng. Các dữ liệu từ phép đo đúng sẽ được chuyển thành chuỗi các bít, ...ng thường xong sẽ thực hiện kiểm tra lỗi một lần nữa với một khối cĩ độ lớn được chọn ngẫu nhiên. Cĩ thể khơng tìm thấy bất cứ lỗi nào trong khối này sau khi hồn tất quá trình kiểm tra. Cửa sổ KET QUA của Alice (Hình 3) L.M. Thanh / Tạp chí Khoa học ĐHQGHN, Khoa học Tự Nhiên và Cơng n...ng trình. Tất cả những gì hiển thị trong cửa sổ này là một hộp thể hiện tổng số tín hiệu được truyền qua kênh. Mỗi một dấu hiệu truyền qua kênh được thể hiện bằng một đơn vị và do đĩ kết quả thu được chính là số tín hiệu mà Alice và Bob truyền cho nhau trong quá trình đàm phán để thiết l...
Tạp chí Khoa học Đại học Quốc gia Hà Nội, Khoa học Tự nhiên và Cơng nghệ 24 (2008) 238-247 238 Mơ phỏng mật mã lượng tử theo giao thức BB84 Lê Minh Thanh* Học viện Cơng nghệ Bưu chính Viễn thơng 122 Hồng Quốc Việt, Hà Nội, Việt Nam Nhận ngày 28 tháng 3 năm 2008 Tĩm tắt. Mơ phỏng mật mã lượng tử theo giao thức BB84 là hệ mơ phỏng cách làm việc thực tế của hệ phân phối khĩa lượng tử. Hệ thực hiện theo giao thức BB84 cho mật mã lượng tử bao gồm việc sử dụng xung phân cực ánh sáng để truyền thơng tin trên kênh lượng tử và điều chỉnh quá trình phân bố thơng tin đĩ bằng cách trao đổi một cách cơng khai trong một mơi trường hồn tồn mở. Phần mềm này cho phép người sử dụng thử nghiệm giao thức và kết quả nghiên cứu này nhằm chứng minh mật mã lượng tử cĩ tính ưu việt hơn mật mã hiện nay [1]. 1. ∗Mục đích mơ phỏng mật mã lượng tử Mật mã lượng tử là loại mật mã dựa vào các tính chất của vật lý lượng tử, do đĩ đây là loại mật mã khơng thể tấn cơng bằng các sức mạnh tính tốn.Vì vậy mật mã lượng tử cĩ thể sẽ trở thành loại mật mã được sử dụng nhiều trong tương lai. Việc kết hợp phương pháp phân tích lí thuyết và cơng cụ lập trình Java để thiết kế chương trình mơ phỏng nhằm kiểm chứng lại lý thuyết, làm cơ sở cho các thí nghiệm đánh giá tính an tồn của giao thức là minh chứng cho khả năng tạo ra sản phẩm mật mã lượng tử [2]. 2. Giao thức truyền khĩa lượng tử [3] Trong mật mã lượng tử, các trạng thái phân cực khác nhau của photon được sử dụng để mã hố và giải mã. Nếu chúng ta đo phân cực của một photon thơng qua hệ đo phân cực theo _______ ∗ ðT: 84-4-8583186. E-mail: minhthanh69@yahoo.com đường thẳng thì các kết quả đo sẽ chỉ ra rằng photon đĩ phân cực thẳng đứng hay nằm ngang. Hồn tồn tương tự như vậy cho hệ phân cực chéo. Ta quy ước các ký hiệu như sau: ⊕ : thiết bị đo phân cực thẳng. վ : phân cực thẳng đứng. ↔ : phân cực thẳng ngang. ⊗ : thiết bị đo phân cực chéo. : phân cực chéo hướng trái. : phân cực chéo hướng phải. Mã hố và giải mã lượng tử thực hiện dựa trên trạng thái phân cực của photon. Trạng thái các photon khi đi qua các hệ đo phân cực khác nhau như sau : - Một photon trong hệ phân cực thẳng thì cĩ thể là phân cực thẳng đứng hoặc ngang Photon 1 ↔ ⊕ ↔ Photon 2 վ ⊕վ L.M. Thanh / Tạp chí Khoa học ĐHQGHN, Khoa học Tự Nhiên và Cơng nghệ 24 (2008) 238-247 239 - Nếu một photon được gửi liên tiếp qua các hệ đo phân cực giống nhau thì cho kết quả khơng đổi. Photon 1: ↔ ⊕ ↔ . ⊕ ↔ ⊕ ↔ Photon 2 : վ ⊕վ ⊕վ ⊕վ Một photon phân cực thẳng hoặc ngang nếu truyền qua hệ đo phân cực chéo sẽ cho kết quả là phân cực chéo trái hoặc phải (վ⊗ hoặc վ⊗ ). Kết quả hồn tồn tương tự như vậy khi ta truyền một photon phân cực chéo qua một thiết bị phân cực thẳng. Giao thức BB84 (do Bennett và Brassard giới thiệu năm 1984) dựa trên tính chất bất định và khơng thể sao chép được các trạng thái lượng tử. Kẻ nghe trộm trên đường truyền (Eve) khơng thể đọc thơng tin mà khơng làm thay đổi các trạng thái lượng tử, vì vậy nếu Eve cố tình đọc thơng tin thì sẽ để lại dấu vết và bị phát hiện. Sau khi truyền khố xong, nếu phát hiện cĩ kẻ nghe trộm thì cĩ thể huỷ bỏ khố đĩ và thực hiện truyền thơng tin với một khố khác, khơng làm ảnh hưởng đến thơng tin cần bảo mật. Quy ước Alice là người gửi thơng tin, Bob là người nhận thơng tin, cịn Eve là người nghe trộm thơng tin. Các bước của giao thức BB84 (bảng 1) để xác định khĩa chung giữa người gửi và người nhận như sau: Bước 1: Alice sẽ chọn ngẫu nhiên các photon theo cả hệ đo phân cực thẳng và hệ đo phân cực chéo. Bảng 1. Minh hoạ giao thức BB84 TT Mơ tả 1 2 3 4 5 6 7 8 9 10 11 12 1 Hệ đo mà Alice sử dụng để đo các photon ⊕ ⊕ ⊗ ⊕ ⊗ ⊗ ⊗ ⊕ ⊕ ⊕ ⊗ ⊗ 2 Kết quả các phép đo của Alice gửi đến վ ↔ ↔ վ վ վ 3a Các hệ đo Bob sử dụng ⊕ ⊕ ⊕ ⊕ ⊗ ⊗ ⊗ ⊗ ⊕ ⊗ ⊗ ⊕ 3b Kết quả phép đo của Bob վ ↔ ↔ ↔ ↔ ↔ 4 Bob thơng báo cho Alice các hệ đo Bob đã sử dụng ⊕ ⊕ ⊕ ⊕ ⊗ ⊗ ⊗ ⊗ ⊕ ⊗ ⊗ ⊕ 5 Alice thơng báo cho Bob biết hệ đo đúng đúng đúng sai đúng đúng đúng đúng sai đúng sai đúng sai 6 Alice và Bob ghi lại dữ liệu từ các phép đo đúng 1 0 X 0 1 0 1 X 0 X 1 X Bước 2: Alice ghi lại các trạng thái của các photon rồi gửi cho Bob. Bước 3 : Bob nhận các photon và đo trạng thái phân cực một cách ngẫu nhiên theo hệ đo phân cực thẳng hoặc hệ đo phân cực chéo. Bob ghi lại hệ đo sử dụng để đo phân cực và kết quả các phép đo phân cực. Chú ý là kết quả này cĩ thể khác kết quả của Alice nếu như hai người khơng sử dụng hệ đo giống nhau. Bước 4: Bob thơng báo cho Alice biết các hệ đo phân cực mà mình đã sử dụng, nhưng khơng thơng báo kết quả các phép đo. L.M. Thanh / Tạp chí Khoa học ĐHQGHN, Khoa học Tự Nhiên và Cơng nghệ 24 (2008) 238-247 240 Bước 5: Alice thơng báo cho Bob biết hệ đo nào là đúng. (Hệ đo đúng là hệ đo mà Alice và Bob cùng sử dụng để đo phân cực). Bước 6: Alice và Bob sẽ loại bỏ các dữ liệu từ các phép đo khơng đúng. Các dữ liệu từ phép đo đúng sẽ được chuyển thành chuỗi các bít, theo các quy ước sau: - Chéo trái : 1 , chéo phải : 0. - Thẳng ngang ↔ : 1, thẳng đứngվ : 0. Bảng 1 là một ví dụ minh hoạ giao thức BB84. Giả thiết Alice gửi đi 12 photon và Bob nhận được đầy đủ. Cuối cùng, Alice và Bob đã cĩ một chuỗi các bit là: 1 0 0 1 0 1 0 1. 3. Các thành phần chính của phần mềm mơ phỏng [4] Phần mềm gồm 3 phần mơ phỏng chính: - Mơ phỏng người gửi và người nhận. - Mơ phỏng người muốn lấy cắp thơng tin. - Mơ phỏng kênh lượng tử. Người gửi và người nhận sẽ trao đổi thơng tin với nhau đúng theo các giao thức mà người gửi và người nhận thơng tin trong thực tế sử dụng. Hiển thị trên màn hình sẽ là các cửa sổ với các thơng số tương ứng của từng nhân vật. Họ sẽ truyền thơng cho nhau một cách trực tiếp trên một kênh lượng tử và với một mơi trường hồn tồn mở. Người sử dụng phần mềm cĩ thể thay đổi các thơng số cho từng nhân vật để tiến hành thí nghiệm bằng các dịng thơng tin cĩ độ dài khác nhau và các khố cĩ độ dài khác nhau. Khi chạy sẽ xuất hiện các cửa sổ như sau: Hình 1. Các cửa sổ thu được khi bắt đầu chạy chương trình. Người nghe trộm thơng tin là Eve cĩ cửa sổ giao diện tương tự như giao diện người gửi (Alice) và người nhận (Bob). Khi sử dụng phần mềm này, cĩ thể thay đổi các thơng số tấn cơng L.M. Thanh / Tạp chí Khoa học ĐHQGHN, Khoa học Tự Nhiên và Cơng nghệ 24 (2008) 238-247 241 Hình 2. Cửa sổ cài đặt các thơng số của Alice. của Eve vào kênh lượng tử. Do đĩ ta dễ dàng thấy được những phản ứng khác nhau của kênh lượng tử nhằm bảo đảm an tồn cho thơng tin truyền trên kênh này trước sự tấn cơng của Eve. Kênh lượng tử được sử dụng để xử lí trong quá trình mã hĩa nhằm hiển thị trạng thái của kênh lượng tử. Ngồi ra nĩ cịn cho phép người sử dụng cĩ thể thí nghiệm trên phần mềm bằng cách cài đặt các thơng số khác nhau cho kênh lượng tử. Qua đĩ chúng ta sẽ biết các mức tấn cơng khác nhau của Eve cùng mức độ mất dữ liệu và nhiễu của hệ thống. 4. Phân tích các chức năng cơ bản trong phần mềm Cửa sổ CAI DAT CAC THONG SO (Hình 2) ðộ dài bản tin truyền: Thơng số nhập vào phần này phải lớn hơn 10000 và nhỏ hơn 1000000. Vai trị của Alice chỉ rõ số lượng bít thơng tin sẽ được truyền qua kênh lượng tử. Số lượng bít này được giới hạn bởi 1000000 bít. Cường độ chùm photon: Thơng số này phải là 1 số thực lớn hơn 0 và nhỏ hơn 1. Nĩ là tỉ lệ giữa số photon mà Bob và Eve đã nhận được trên tổng số photon trong 1 xung. Các khối dùng để kiểm tra lỗi: ðây chính là số bít mà Alice sẽ sử dụng trong quá trình kiểm tra lỗi của chuỗi thơng tin. Với mỗi số k này Alice sẽ kiểm tra từng cụm k bit của chuỗi thơng tin cho đến hết, sau đĩ đem kết quả đĩ để so sánh tính chẵn lẻ với Bob. Cỡ của khối ngẫu nhiên để kiểm tra lỗi: Trường này phải là một số nguyên lớn hơn 0. ðể tăng khả năng giám sát và sửa lỗi thì sau mỗi lần Alice thực hiện kiểm tra lỗi thơng thường xong sẽ thực hiện kiểm tra lỗi một lần nữa với một khối cĩ độ lớn được chọn ngẫu nhiên. Cĩ thể khơng tìm thấy bất cứ lỗi nào trong khối này sau khi hồn tất quá trình kiểm tra. Cửa sổ KET QUA của Alice (Hình 3) L.M. Thanh / Tạp chí Khoa học ĐHQGHN, Khoa học Tự Nhiên và Cơng nghệ 24 (2008) 238-247 242 Hình 3. Hiển thị các kết quả của Alice. Khĩa ban đầu :ðây chính là tĩm tắt về các thơng tin lượng tử mà Alice gửi trên kênh lượng tử mà Bob đọc thành cơng. Nếu như hệ thống cĩ thể đảm bảo Eve khơng nghe trộm được thơng tin thì cĩ thể đây sẽ là khố cuối cùng (Final Key). Khĩa đã chính xác lỗi: ðây là bản tĩm tắt của khố sau khi đã sửa các lỗi, đây là khố được sự đồng ý giữa Alice và Bob. Nĩ cho kết quả giống với kết quả của trường này trong cửa sổ của Bob. Khĩa cuối cùng: ðây là bản tĩm tắt của khố riêng chia sẻ giữa Alice và Bob. Nĩ phải cho kết quả giống như trường này trong cửa sổ của Bob. Số lỗi tìm thấy trong quá trình truyền: ðây là số lỗi mà Alice cĩ thể phát hiện trong quá trình truyền. Tỉ lệ lỗi: Là tỉ lệ của phần thơng tin lượng tử ban đầu bị lỗi. ðây là lỗi gây ra do kênh lượng tử chứ khơng phải do Bob. Tỉ lệ lỗi bít do sự tấn cơng của Eve: Là tỉ số bít lỗi do Eve tấn cơng vào kênh lượng tử trên tổng số bít truyền qua kênh lượng tử. Cỡ khĩa mà Eve mong muốn cĩ được: Là số bít thơng tin chính xác mà Eve mong muốn được sở hữu. ðĩ là số bít tối thiểu mà dựa vào đĩ Eve cĩ thể thu được các thơng tin mà Alice gửi cho Bob. Cửa sổ của Bob (Hình 4) Là cửa sổ hiển thị các kết quả mà Bob thu được. Trong thực tế các trường khĩa ban đầu, khĩa đã chính xác lỗi, khĩa cuối cùng của Bob sẽ cho các kết quả giống như các trường này trong cửa sổ của Alice. Các trường độ dài khĩa ban đầu, độ dài khĩa đã chính xác lỗi, độ dài khĩa cuối cùng đơn giản chỉ là các thơng số thể hiện độ dài của các khố tương ứng. L.M. Thanh / Tạp chí Khoa học ĐHQGHN, Khoa học Tự Nhiên và Cơng nghệ 24 (2008) 238-247 243 Hình 4. Cửa sổ hiển thị các kết quả của Bob. Cửa sổ của Eve (Hình 5) Hệ số tách luồng: Trường này phải cĩ giá trị nằm trong khoảng từ 0 đến 1. Hình 5. Cửa sổ ban đầu của Eve – người nghe trộm thơng tin. Nếu cài đặt giá trị này thấp, ví dụ như bằng 0.1 thì cĩ nghĩa là khả năng phân tách các xung là rất thấp. Ngược lại nếu cài đặt giá trị này là một số lớn, ví dụ như 0,9 thì hầu hết các xung đều sẽ bị phân tách. Trường Kết quả (Hình 6) L.M. Thanh / Tạp chí Khoa học ĐHQGHN, Khoa học Tự Nhiên và Cơng nghệ 24 (2008) 238-247 244 Hình 6. Cửa sổ hiển thị các kết quả mà Eve thu được. Cửa sổ kết quả của Eve cũng giống như cửa sổ kết quả của Bob, ba trường khĩa ban đầu, khĩa đã chính xác lỗi và khĩa cuối cùng đơn giản chỉ là thể hiện các bit mà Eve thu được trong các khố tương ứng. Trong đĩ Eve sẽ thể hiện các bít khố mà mình khơng thu được thơng qua một đường gạch ngang. Các thơng số: các bít khĩa ban đầu, các bít khĩa sau khi đã chính xác lỗi, các bít khĩa cuối cùng đơn giản chỉ thể hiện số lượng các bít mà Eve biết được của các khố tương ứng. Kênh cơng khai (Hình 7) Cửa sổ ‘kênh cơng khai’ là cửa sổ đơn giản nhất trong các cửa sổ của chương trình. Tất cả những gì hiển thị trong cửa sổ này là một hộp thể hiện tổng số tín hiệu được truyền qua kênh. Mỗi một dấu hiệu truyền qua kênh được thể hiện bằng một đơn vị và do đĩ kết quả thu được chính là số tín hiệu mà Alice và Bob truyền cho nhau trong quá trình đàm phán để thiết lập khĩa. Hình 7. Cửa sổ hiển thị các kết quả thu được trên kênh cơng khai (cơng cộng). Kênh lượng tử (Hình 8) Cửa sổ cài đặt các thơng số: Hiệu suất hấp thụ: Trường này cĩ giá trị lớn hơn hoặc bằng 0 và nhỏ hơn hoặc bằng 1. L.M. Thanh / Tạp chí Khoa học ĐHQGHN, Khoa học Tự Nhiên và Cơng nghệ 24 (2008) 238-247 245 Hình 8. Cửa sổ ban đầu của kênh lượng tử. Nếu như giá trị này đặt bằng 1 thì cĩ nghĩa là nĩ sẽ khơng hấp thụ xung nào, ngược lại nếu như giá trị này đặt bằng 0 thì cĩ nghĩa là nĩ sẽ hấp thụ tất cả các xung. Hiệu suất kênh lượng tử: Trường này phải cĩ giá trị lớn hơn hoặc bằng 0 và nhỏ hơn hoặc bằng 1. Trường này chỉ thị khả năng 1 chùm tia qua kênh lượng tử trong điều kiện khơng cĩ nhiễu. Nếu như giá trị này được cài đặt bằng 1 thì cĩ nghĩa là sẽ khơng cĩ bất cứ bít nào bị đảo giá trị. Nếu như giá trị này bằng 0 thì cĩ nghĩa là lỗi tồn kênh lượng tử, khi đĩ tất cả các bít đều bị đảo giá trị. Trường kết quả (Hình 9) . Hình 9. Các kết quả thu được của kênh lượng tử khi chạy chương trình. Tổng số bít truyền qua kênh: Trường này hiển thị tổng số các bít được truyền qua kênh lượng tử. Giá trị này phải giống giá trị của trường Transmission Size trong cửa sổ của Alice. Tổng số lỗi: Thể hiện tổng số lỗi trên kênh lượng tử, nhưng khơng bao gồm lỗi do Eve lập kế hoạch tấn cơng tạo nên. 5. Thử nghiệm và đánh giá kết quả của chương trình mơ phỏng (Hình10) L.M. Thanh / Tạp chí Khoa học ĐHQGHN, Khoa học Tự Nhiên và Cơng nghệ 24 (2008) 238-247 246 Hình 10. Số liệu tương thích giữa 2 màn hình. Thống nhất các thơng số kỹ thuật giữa các màn hình Trên màn hình (hình 10), cửa số Alice và Bob được sánh đơi nhau, dễ dàng cho thấy sự thống nhất về các thơng số quan trọng giữa Alice và Bob như khĩa cuối cùng, độ dài khĩa. . . Khảo sát sự thay đổi của các thơng số kỹ thuật so với lý thuyết Giữa lý thuyết và thực tế hồn tồn tương thích nhau. Thử nghiệm 1: nếu cường độ chùm photon là 0,5 thì độ dài từ mã là 264, nếu chọn cường độ chùm photon là 0,05 thì độ dài từ mã là 41. L.M. Thanh / Tạp chí Khoa học ĐHQGHN, Khoa học Tự Nhiên và Cơng nghệ 24 (2008) 238-247 247 Thử nghiệm 2: nếu độ dài bản tin là 100.000 thì độ dài từ mã là 1215, nếu chọn độ dài bản tin là 10.000 thì độ dài từ mã là 58. Thử nghiệm 3: nếu hiệu suất lượng tử là 0 tức là nhiễu hồn tồn thì độ dài từ mã là 0. 6. Kết luận Từ việc phân tích các giao thức truyền khĩa lượng tử, bằng cơng cụ lập trình Java phiên bản 1.3.1, chúng tơi đã xây dựng phần mềm mơ phỏng mật mã lượng tử theo đúng giao thức BB84 [5]. Kết quả của chương trình phần mềm đã thiết kế được các giao diện chính, cho phép người dùng cĩ thể cài đặt các thơng số của Alice như : độ dài thơng tin truyền đi, độ lớn các khối kiểm tra, các thơng số của Eve như: khả năng tấn cơng kênh lượng tử,... Hệ thống sẽ đưa ra các khố ban đầu và các khố cuối cùng mà Alice và Bob thống nhất với nhau, nhưng quan trọng hơn là hệ thống đưa ra các khố mà Eve thu được. Kết quả nghiên cứu này cĩ thể được dùng cho việc nghiên cứu thử nghiệm về khả năng bảo mật vơ điều kiện của mật mã lượng tử [6]. Tài liệu tham khảo [1] Nguyễn Bình, Giáo trình mật mã học, Học viện Cơng nghệ BCVT, 2005. [2] Vũ ðình Cự, Máy điện tốn lượng tử, xu thế phát triển trong vài thập kỷ tới, Kỷ yếu hội thảo ICT.rda’, 2/2003. [3] ðỗ Quang Hưng, Mật mã lượng tử, một hướng mới trong bảo mật, Tạp chí Bưu chính Viễn thơng, 9/2005. [4] David Cuthbertson, A Quantum Cryptography Simulation, School of Computer Science University of St Andrews, 23rd April 2000. [5] Matthias Scholz, Quantum key Distribution via BB84 An Advanced Lab Experiment. [6] Kyo Inoue - Kaoru Shimizu, Quantum Crytography – Quantum Mechanics Open up a New Trend In Communication Security, 2003. Quantum Cryptography Simulation For BB84 Protocol Le Minh Thanh Post and Telecommunications Institute of Technology 122 Hoang Quoc Viet, Hanoi, Vietnam Quantum Cryptography Simulation For BB84 Protocol (QCS84) is a system to simulate a practical working model of a quantum key distribution system. It implements the BB84 protocol for quantum cryptography involving distribution of information over a quantum channel using pulses of polarised light and reconciliation of that information by public discussion over an open channel.The software allows the user to experiment the protocol and the results show that quantum cryptography has better current Cryptography.
File đính kèm:
- mo_phong_mat_ma_luong_tu_theo_giao_thuc_bb84.pdf