phần mở đầu và 03 chương đề cập tới các nội dung chính như sau: Chƣơng 1: Tổng quan về mật mã Chƣơng 2: Mật mã lượng tử Chƣơng 3: Áp dụng mật mã lượng tử để truyền khóa mật mã Cuối cùng, phần kết luận trình bày một số kết quả đạt được của luận văn và hướng nghiên cứu tiếp theo trong tương lai. LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 7 Chƣơng 1: TỔNG QUAN VỀ MẬT MÃ 1. TỔNG QUAN VỀ MÃ HÓA DỮ LIỆU 1. Khái niệm Mã hóa dữ liệu Để bảo đảm An toàn thông tin (ATTT) lưu trữ trong máy tính (giữ gìn thông tin cố định) hay bảo đảm An toàn thông tin trên đường truyền tin (trên mạng máy tính), người ta phải “Che Giấu” các thông tin này.
“Che” thông tin (dữ liệu) hay “Mã hóa ” thông tin là thay đổi hình dạng thông tin gốc (Giấu đi ý nghĩa nghĩa TT gốc), và người khác “khó” nhận ra. “Giấu” thông tin (dữ liệu) là cất giấu thông tin trong bản tin khác, và người khác cũng “khó” nhận ra (Giấu đi sự hiện diện TT gốc). Trong mục này chúng ta bàn về “Mã hóa ” thông tin. Hệ mã hóa: Việc mã hoá phải theo quy tắc nhất định, quy tắc đó gọi là Hệ mã hóa.
Hệ mã hóa được định nghĩa là bộ năm (P, C, K, E, D), trong đó: P là tập hữu hạn các bản rõ có thể. C là tập hữu hạn các bản mã có thể. K là tập hữu hạn các khoá có thể. E là tập các hàm lập mã.
D là tập các hàm giải mã. Với khóa lập mã ke K, có hàm lập mã eke E, eke: P C, Với khóa giải mã kd K, có hàm giải mã dkd D, dkd: C P, sao cho dkd (eke (x)) = x, x P. Ở đây x được gọi là bản rõ, eke (x) được gọi là bản mã. LUAN VAN CHAT LUONG download : add luanvanchat@agmail.
Mã hóa và Giải mã: Người gửi G eke (T) Người nhận N (có khóa lập mã ke) (có khóa giải mã kd) Tin tặc có thể trộm bản mã eke (T) Người gửi G muốn gửi bản tin T cho người nhận N. Để bảo đảm bí mật, G mã hoá bản tin bằng khóa lập mã ke, nhận được bản mã eke (T), sau đó gửi cho N. Tin tặc có thể trộm bản mã eke (T), nhưng cũng “khó” hiểu được bản tin gốc T nếu không có khoá giải mã kd. Người N nhận được bản mã, họ dùng khoá giải mã kd, để giải mã eke (T), sẽ nhận được bản tin gốc T = dkd (eke (T)).
Phân loại hệ mã hóa Có nhiều mã hoá tùy theo cách phân loại, sau đây xin giới thiệu một số cách. Cách 1: Phân loại mã hoá theo đặc trƣng của khoá. Hệ mã hóa khóa đối xứng (Mã hoá khoá riêng, bí mật). Hệ mã hóa khóa phi đối xứng (Khóa công khai).
Hiện có 2 loại mã hóa chính: mã hóa khóa đối xứng và mã hóa khoá công khai. Hệ mã hóa khóa đối xứng có khóa lập mã và khóa giải mã “đối xứng nhau”, theo nghĩa biết được khóa này thì “dễ” tính được khóa kia. Vì vậy phải giữ bí mật cả 2 khóa. Hệ mã hóa khóa công khai có khóa lập mã khác khóa giải mã (ke kd), biết được khóa này cũng “khó” tính được khóa kia.
Vì vậy chỉ cần bí mật khóa giải mã, còn công khai khóa lập mã. Cách 2: Phân loại mã hoá theo đặc trƣng xử lý bản rõ. Mã hoá khối, Mã hoá dòng Cách 3: Phân loại mã hoá theo ứng dụng đặc trƣng. Mã hoá đồng cấu, mã hóa xác suất, mã hóa tất định 1.
Hệ mã hóa khóa đối xứng Mã hóa khóa đối xứng là Hệ mã hóa mà biết được khóa lập mã thì có thể “dễ” tính được khóa giải mã và ngược lại. Đặc biệt một số Hệ mã hóa có khoá lập mã và khoá giải mã trùng nhau (ke = kd), như Hệ mã hóa “dịch chuyển” hay DES. LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 9 Hệ mã hóa khóa đối xứng còn gọi là Hệ mã hóa khoá bí mật, hay khóa riêng, vì phải giữ bí mật cả 2 khóa. Trước khi dùng Hệ mã hóa khóa đối xứng, người gửi và người nhận phải thoả thuận thuật toán mã hóa và khoá chung (lập mã hay giải mã), khoá phải được giữ bí mật.
Độ an toàn của Hệ mã hóa loại này phụ thuộc vào khoá. Ví dụ: + Hệ mã hóa cổ điển là Mã hóa khóa đối xứng: dễ hiểu, dễ thực thi, nhưng có độ an toàn không cao. Vì giới hạn tính toán chỉ trong phạm vi bảng chữ cái, sử dụng trong bản tin cần mã, ví dụ là Z26 nếu dùng các chữ cái tiếng Anh. Với hệ mã hóa cổ điển, nếu biết khoá lập mã hay thuật toán lập mã, có thể “dễ” xác định được bản rõ, vì “dễ” tìm được khoá giải mã.
+ Hệ mã hóa DES (1973) là Mã hóa khóa đối xứng hiện đại, có độ an toàn cao. Đặc điểm của Hệ mã hóa khóa đối xứng. Ưu điểm: Hệ mã hóa khóa đối xứng mã hóa và giải mã nhanh hơn Hệ mã hóa khóa công khai. Mã hóa khóa đối xứng chưa thật an toàn với lý do sau: Người mã hoá và người giải mã phải có “chung” một khoá.
Khóa phải được giữ bí mật tuyệt đối, vì biết khoá này “dễ” xác định được khoá kia và ngược lại. Vấn đề thỏa thuận khoá và quản lý khóa chung là khó khăn và phức tạp. Người gửi và người nhận phải luôn thống nhất với nhau về khoá. Việc thay đổi khoá là rất khó và dễ bị lộ.
Khóa chung phải được gửi cho nhau trên kênh an toàn. Mặt khác khi hai người (lập mã, giải mã) cùng biết “chung” một bí mật, thì càng khó giữ được bí mật ! b). Nơi sử dụng Hệ mã hóa khóa đối xứng. Hệ mã hóa khóa đối xứng thường được sử dụng trong môi trường mà khoá chung có thể dễ dàng trao chuyển bí mật, chẳng hạn trong cùng một mạng nội bộ.
Hệ mã hóa khóa đối xứng thường dùng để mã hóa những bản tin lớn, vì tốc độ mã hóa và giải mã nhanh hơn Hệ mã hóa khóa công khai. Hệ mã hóa khóa công khai Hệ mã hóa khóa phi đối xứng là Hệ mã hóa có khóa lập mã và khóa giải mã khác nhau (ke kd), biết được khóa này cũng “khó” tính được khóa kia. Hệ mã hóa này còn được gọi là Hệ mã hoá khóa công khai, vì: Khoá lập mã cho công khai, gọi là khoá công khai (Public key). LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 10 Khóa giải mã giữ bí mật, còn gọi là khóa riêng (Private key) hay khóa bí mật.
Một người bất kỳ có thể dùng khoá công khai để mã hoá bản tin, nhưng chỉ người nào có đúng khoá giải mã thì mới có khả năng đọc được bản rõ. Hệ mã hóa khoá công khai hay Hệ mã hóa phi đối xứng do Diffie và Hellman phát minh vào những năm 1970. Đặc điểm của Hệ mã khoá công khai. Hệ mã hóa khóa công khai có ưu điểm chủ yếu sau: Thuật toán được viết một lần, công khai cho nhiều lần dùng, cho nhiều người dùng, họ chỉ cần giữ bí mật khóa riêng của mình.
Khi biết các tham số ban đầu của hệ mã hóa, việc tính ra cặp khoá công khai và bí mật phải là “dễ”, tức là trong thời gian đa thức. Người gửi có bản rõ P và khoá công khai, thì “dễ” tạo ra bản mã C. Người nhận có bản mã C và khoá bí mật, thì “dễ” giải được thành bản rõ P. Người mã hoá dùng khóa công khai, người giải mã giữ khóa bí mật.
Khả năng lộ khóa bí mật khó hơn vì chỉ có một người giữ gìn. Nếu thám mã biết khoá công khai, cố gắng tìm khoá bí mật, thì chúng phải đương đầu với bài toán “khó”. Nếu thám mã biết khoá công khai và bản mã C, thì việc tìm ra bản rõ P cũng là bài toán “khó”, số phép thử là vô cùng lớn, không khả thi. Hạn chế: Hệ mã hóa khóa công khai: mã hóa và giải mã chậm hơn hệ mã hóa khóa đối xứng.
Nơi sử dụng Hệ mã hóa khoá công khai. Hệ mã hóa khóa công khai thường được sử dụng chủ yếu trên các mạng công khai như Internet, khi mà việc trao chuyển khoá bí mật tương đối khó khăn. Đặc trưng nổi bật của hệ mã hoá công khai là khoá công khai (public key) và bản mã (ciphertext) đều có thể gửi đi trên một kênh truyền tin không an toàn. Có biết cả khóa công khai và bản mã, thì thám mã cũng không dễ khám phá được bản rõ.
Nhưng vì có tốc độ mã hóa và giải mã chậm, nên hệ mã hóa khóa công khai chỉ dùng để mã hóa những bản tin ngắn, ví dụ như mã hóa khóa bí mật gửi đi. LUAN VAN CHAT LUONG download : add luanvanchat@agmail. Hệ mã hóa dịch chuyển. Với khóa k K, ta định nghĩa cho x, y Z26 : Mã hóa: ek (x) = (x + k) mod 26 Giải mã: dk (y) = (y - k) mod 26 Ví dụ Chọn khóa k = 3.
* Cần gửi bản rõ chữ: T O I N A Y T H A V I R U S Chuyển sang rõ số:19 14 8 26 13 0 24 26 19 7 0 26 21 8 17 20 18 * Với phép mã hóa ek (x) = (x + k) mod 26, ta nhận được: * Bản mã số: 22 17 11 3 16 3 1 3 22 10 3 3 24 11 20 23 21 * Bản mã chữ: W R L D Q D B D W K D D Y L U X V * Khi nhận được bản mã, dùng phép giải mã dk (x) = (y - k) mod 26, sẽ nhận lại được bản rõ số, sau đó là bản rõ chữ. * Độ an toàn - Tập khóa K chỉ có 26 khóa k = 1, 2, 3,. - Việc lập mã và giải mã dùng chung 1 khóa k. Mà phạm vi tập khóa K chỉ có 26 khóa nên dễ dàng tìm ra.
- Nhiều lần mã hóa và giải mã có thể sử dụng chung một khóa k. LUAN VAN CHAT LUONG download : add luanvanchat@agmail.