Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 81 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
81
Dung lượng
1,57 MB
Nội dung
Đồ án tốt nghiệp Mã hóa lượng tử ứng dụng MỤC LỤC LỜI CẢM ƠN MỞ ĐẦU .4 CHƯƠNG 1: CÁC KHÁI NIỆM CƠ BẢN 1.1 Một số khái niệm toán học 1.1.1 Số nguyên tố nguyên tố 1.1.2 Đồng dư thức * 1.1.3 Không gian Zn Zn 1.1.4 Phần tử nghịch đảo .7 1.1.5 Khái niệm nhóm, nhóm con, nhóm Cyclic 1.1.6 Bộ phần tử sinh (Generator-tuple) 1.1.7 Bài toán đại diện (Presentation problem) 1.1.8 Hàm băm 10 1.2 Các khái niệm mã hóa .11 1.2.1 Khái niệm mã hóa 11 1.2.1.1 Hệ mã hóa 11 1.2.1.2 Những khả hệ mật mã 12 1.2.2 Các phương pháp mã hóa 12 1.2.2.1 Mã hóa đối xứng 12 1.2.2.2 Mã hóa phi đối xứng (Mã hóa cơng khai) 13 1.2.3 Một số hệ mã hoá cụ thể 14 1.2.3.1 Hệ mã hoá RSA 14 1.2.3.2 Hệ mã hoá ElGamal 14 1.2.3.3 Mã hoá đồng cấu .15 1.2.3.4 Mã nhị phân 16 1.3.1 Định nghĩa 17 1.3.2 Phân loại sơ đồ chữ ký điện tử 18 1.3.3 Một số sơ đồ ký số 18 1.3.3.1 Sơ đồ chữ ký Elgamal 18 1.3.3.2 Sơ đồ chữ ký RSA 19 1.3.3.3 Sơ đồ chữ ký Schnorr 19 1.4 Phân phối khóa thỏa thuận khóa 20 1.4.1 Phân phối khóa 21 1.4.1.1 Sơ đồ phân phối khoá trước Blom 21 1.4.2 Thỏa thuận khóa .31 1.4.2.1 Sơ đồ trao đổi khoá Diffie-Hellman 31 1.4.2.2 Giao thức thoả thuận khoá trạm tới trạm 33 1.4.2.3 Giao thức thoả thuận khoá MTI 36 2.1 Ký hiệu Bra-Ket 43 2.2 Nguyên lý học lượng tử 44 2.3.1 Khái niệm Qubit .46 2.3.2 Khái niệm ghi lượng tử 47 Nguyễn Thanh Tùng Đồ án tốt nghiệp Mã hóa lượng tử ứng dụng 2.4 Nguyên lý rối lượng tử (Nguyên lý Entanglement) 50 2.5 Nguyên lý song song lượng tử 50 2.7 Mạch Cổng logic lượng tử 52 2.7.1 Cổng qubit .54 2.7.2 Cổng qubit .56 CHƯƠNG MÃ HÓA LƯỢNG TỬ .61 3.1 Giao thức phân phối khoá lượng tử BB84 62 3.1.1 Giao thức BB84 trường hợp không nhiễu 62 3.1.1.1 Giai đoạn 1: Giao tiếp qua kênh lượng tử 63 3.1.1.2 Giai đoạn 2: Giao tiếp qua kênh công cộng 64 3.1.1.3 Ví dụ 66 3.1.2 Giao thức phân phối khố lượng tử BB84 trường hợp có nhiễu 66 3.1.2.2 Giai đoạn 2: Giao tiếp qua kênh công cộng 66 3.1.3 Một số nhược điểm giao thức BB84 68 3.1.4 Về độ an toàn giao thức phân phối khoá BB84 69 3.1.4.1 Tạo bảng tham chiếu 70 3.1.4.3 Kết luận độ an toàn giao thức BB84 72 3.2 Kết luận mã hoá lượng tử thám mã lượng tử 72 CHƯƠNG MÔ PHỎNG GIAO THỨC BB84 73 KẾT LUẬN 77 TÀI LIỆU THAM KHẢO 78 Nguyễn Thanh Tùng Đồ án tốt nghiệp Mã hóa lượng tử ứng dụng LỜI CẢM ƠN Người xưa có câu: “Uống nước nhớ nguồn, ăn nhớ kẻ trồng cây” Với em sinh viên khoá trường Đại Học Dân Lập Hải Phịng ln ln ghi nhớ công lao to lớn thầy giáo, cô giáo Những người dẫn dắt chúng em từ bước chân vào giảng đường đại học kiến thức, lực đạo đức chuẩn bị hành trang bước vào sống để xây dựng đất nước trường sau năm học Em xin hứa lao động đem kiến thức học phục vụ cho Tổ quốc Em xin chân thành cảm ơn đến: Cha, mẹ người sinh thành dưỡng dục con, hỗ trợ điều kiện vật chất tinh thần cho đường học tập lòng biết ơn sâu sắc Thầy cô trường thầy cô Ban giám hiệu, thầy cô Bộ môn CNTT trường Đại học Dân lập Hải Phịng tận tình giảng dạy tạo điều kiện cho chúng em học tập suốt thời gian học tập trường Thầy Trần Ngọc Thái– Giáo viên hướng dẫn tiểu án tốt nghiệp tận tình, hết lịng hướng dẫn em suốt q trình nghiên cứu để hoàn thành đồ án tốt nghiệp Em mong thầy luôn mạnh khoẻ để nghiên cứu đào tạo nguồn nhân lực cho đất nước Một lần em xin chân thành cảm ơn Hải Phòng, ngày tháng năm 2019 Sinh viên thực Nguyễn Thanh Tùng Đồ án tốt nghiệp Mã hóa lượng tử ứng dụng MỞ ĐẦU Hiện nay, kết hợp vật lý lượng tử sở toán học đại tạo móng cho việc xây dựng máy tính lượng tử tương lai Theo dự báo máy tính lượng tử xuất vào khoảng năm 2010-2020 Isaac L Chuang, người đứng đầu nhóm nghiên cứu IBM máy tính lượng tử khẳng định “Máy tính lượng tử bắt đầu định luật Moore kết thúc – vào khoảng năm 2020, mạch dự báo đạt đến kích cỡ nguyên tử phân tử”) Với khả xử lý song song tốc độ tính tốn nhanh, mơ hình máy tính lượng tử đặt vấn đề lĩnh vực CNTT Vào năm 1994, Peter Shor đưa thuật tốn phân tích số thừa số nguyên tố máy tính lượng tử với độ phức tạp thời gian đa thức Như máy tính lượng tử xuất dẫn đến hệ mã coi an toàn RSA khơng cịn an tồn Điều đặt vấn đề nghiên cứu hệ mật để đảm bảo an tồn máy tính lượng tử xuất Đồng thời, máy tính lượng tử xuất phịng thí nghiệm, nhu cầu mơ thuật tốn lượng tử máy tính thơng thường tất yếu Ở Việt Nam nay, nhà tốn học bước đầu có nghiên cứu tính tốn lượng tử mơ tính tốn lượng tử máy tính thơng thường Ví dụ nhóm Quantum trường Đại học Bách Khoa Hà Nội Tuy nhiên nhiều vấn đề để mở, việc cần có đầu tư thích đáng, tìm tịi, thực nghiệm sở thành tựu lý thuyết kinh nghiệm sẵn có giới, đồng thời áp dụng vào thực tế Nguyễn Thanh Tùng Đồ án tốt nghiệp Mã hóa lượng tử ứng dụng Mục đích, đối tượng nội dung luận văn Trong khuôn khổ luận văn này, sở thành tựu có giới nước em trình bày tổng quan nghiên cứu lý thuyết tính tốn lượng tử, đồng thời mơ thuật tốn mã hóa lượng tử BB84 Luận văn gồm có phần mở đầu, kết luận 04 chương đề cập tới nội dung sau: Chương 1: Giới thiệu tổng quan an tồn bảo mật thơng tin,các khái niệm tốn học, hệ mã cổ điển,các chữ ký số Chương 2: Các khái niệm mã hóa lượng tử, đặc trưng số vấn đề liên quan Chương 3: Mã hóa lượng tử giao thức phân phối khóa BB84 Chương 4: Mơ giao thức BB84 Nguyễn Thanh Tùng Đồ án tốt nghiệp Mã hóa lượng tử ứng dụng CHƯƠNG 1: CÁC KHÁI NIỆM CƠ BẢN 1.1 Một số khái niệm toán học 1.1.1 Số nguyên tố nguyên tố Số nguyên tố số nguyên dương chia hết cho Ví dụ: 2, 3, 5, 7, 17, … số nguyên tố 150 Hệ mật mã thường sử dụng số nguyên tố lớn 10 Hai số m n gọi nguyên tố ước số chung lớn chúng Ký hiệu: gcd(m, n) = Ví dụ: 14 nguyên tố 1.1.2 Đồng dư thức Cho a b số nguyên tố, n số nguyên dương a gọi đồng dư với b theo modulo n n|a-b (tức a - b chia hết cho n, hay chia a b cho n số dư nhau) Số nguyên n gọi modulo đồng dư Kí hiệu: a ≡ b (mod n) Ví dụ: 67 ≡ 11 (mod 7), 67 (mod 7) = 11 (mod 7) = Tính chất đồng dư: Cho a, a1, b, b1, c Z Ta có tính chất: a ≡ b mod n a b có số dư chia cho n Tính phản xạ: a ≡ a mod n Tính đối xứng: Nếu a ≡ b mod n b ≡ a mod n Tính giao hốn: Nếu a ≡ b mod n b ≡ c mod n a ≡ c mod n Nếu a ≡ a1 mod n, b ≡ b1 mod n a + b ≡ (a1 + b1) mod n ab ≡ a1b1 mod n Nguyễn Thanh Tùng Đồ án tốt nghiệp Mã hóa lượng tử ứng dụng 1.1.3 Khơng gian Zn Zn * Không gian Zn (các số nguyên theo modulo n) Là tập hợp số nguyên {0, 1, 2, …, n-1} Các phép toán Zn cộng, trừ, nhân, chia thực theo module n Ví dụ: Z11 = {0, 1, 2, 3, …, 10} Trong Z11: + = 2, + = 13≡ (mod 11) Không gian Zn * Là tập hợp số nguyên p Tức là: Zn* = {p Zn, nguyên tố n Zn | gcd (n, p) =1}, Nếu n số nguyên tố thì: Zn* = {p (n) số phần tử Zn * Zn |1 ≤ p ≤ n-1} Ví dụ: Z2 = {0, 1} Z2* = {1} gcd(1, 2) = 1.1.4 Phần tử nghịch đảo Định nghĩa: Cho a Zn Nghịch đảo a theo modulo n số nguyên x Zn cho ax ≡ (mod n) Nếu x tồn giá trị nhất, a gọi khả -1 nghịch, nghịch đảo a ký hiệu a Tính chất: Cho a, b Zn Phép chia a cho b theo modulo n tích a b-1 theo modulo n, xác định b có nghịch đảo theo modulo n a khả nghịch gcd(a, n) = Cho a Zn, Giả sử d=gcd (a, n) Phương trình đồng dư ax ≡ b mod n có nghiệm x d chia hết cho b, trường hợp nghiệm d nằm khoảng đến n - nghiệm đồng dư theo modulo n/d -1 Ví dụ: = (mod 9) 4.7 ≡ (mod 9) Nguyễn Thanh Tùng Đồ án tốt nghiệp Mã hóa lượng tử ứng dụng 1.1.5 Khái niệm nhóm, nhóm con, nhóm Cyclic Nhóm phần tử (G, *) thỏa mãn tính chất: Kết hợp: ( x * y ) * z = x * ( y * z ) Tồn phần tử trung lập e G: e * x= x * e = x , x Tồn phần tử nghịch đảo x’ G G: x’ * x = x * x’ = e Nhóm nhóm (G,*) phần tử (S,*) thỏa mãn tính chất: S x, y G, phần tử trung lập e S => x * y S S Nhóm Cyclic: Là nhóm mà phần tử sinh từ phần tử đặc biệt g G Phần tử gọi phần tử sinh (nguyên thủy), tức là: n Với x G: n N mà g = x + Ví dụ: (Z , *) nhóm cyclic có phần tử sinh Định nghĩa: Ta gọi Cấp nhóm số phần tử nhóm Như vậy, nhóm Zn* có cấp (n) Nếu p số ngun tố nhóm Zp* có cấp p-1 Định nghĩa: * Cho a Zn , cấp a ký hiệu ord(a) t định nghĩa số nguyên dương nhỏ t thoả mãn: a ≡ (mod n) * * ={1, 2, 4, 5, 8, 10, 11, 13, 16, 17, 19, 20}, Ví dụ: Z (21) = 12 = |Z | 21 21 cấp thành phần Z21 a * là: Z21 * 10 11 13 16 17 19 20 Cấp a 6 6 6 Nguyễn Thanh Tùng Đồ án tốt nghiệp Mã hóa lượng tử ứng dụng 1.1.6 Bộ phần tử sinh (Generator-tuple) {g1, , gk} gọi phần tử sinh gi phần tử sinh phần tử khác (gi ≠ gj i ≠ j) Ví dụ: {3, 5} phần tử sinh Z7*, vì: 6 = mod = mod = mod = mod = mod = mod 4 = mod = mod 3 = mod = mod = mod = mod * phần tử sinh Z7 , vì: {2, , , , , } = {2,4,1,2,4,1} {1,2,4} Tuy nhiên {1,2,4} tập {1, 2, 3, 4, 5, 6} = Z7*, số gọi “phần tử sinh nhóm G(3)”, G(3) nhóm có thành phần {1,2,4} 1.1.7 Bài toán đại diện (Presentation problem) Gọi g phần tử sinh nhóm G(q) thuộc Zn* Bài tốn logarit rời rạc liên quan đến việc tìm số mũ a, cho: a = loggh mod n (với h G(q)) Cho k>= 2, 1