Tiểu luận Mật mã và An toàn thông tin Hệ mã hóa khóa đối xứng

13 1.7K 13
Tiểu luận Mật mã và An toàn thông tin Hệ mã hóa khóa đối xứng

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Tiểu luận Mật mã và An toàn thông tin Hệ mã hóa khóa đối xứng Ngày nay, công nghệ thông tin ngày càng phát triển, mạng lưới Internet ngày càng mở rộng. Sự trao đổi thông tin qua mạng ngày càng phổ biến. Yêu cầu bảo đảm an toàn thông tin trở thành nhu cầu chung của mọi hoạt động truyền thông trong kinh tế, xã hội và giao lưu giữa người và người.

ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ Tiểu luận Môn: Mật mã và An toàn thông tin Đề tài: Hệ mã hóa khóa đối xứng Giáo viên hướng dẫn: PGS.TS Trịnh Nhật Tiến Học viên thực hiện: Nguyễn Thị Tươi HÀ NỘI - 2014 Mục lục Mở đầu 1 Chương 1 Hệ mã hóa 2 1.1 Định nghĩa hệ mã hóa 2 1.2 Hệ mã hóa khóa đối xứng 2 1.2.1 Khái niệm 2 1.2.2 Ưu và nhược điểm của hệ mã hóa khóa đối xứng 3 1.2.2.1 Ưu điểm: 3 1.2.2.2 Hạn chế: 3 1.2.3 Môi trường sử dụng 4 Chương 2 Một số hệ mã hóa khóa đối xứng cổ điển 5 2.1 Hệ mã hóa: Dịch chuyển 5 2.1.1 Sơ đồ 5 2.1.2 Độ an toàn 5 2.2 Hệ mã hóa: Thay thế (Hoán vị toàn cục) 6 2.2.1 Sơ đồ 6 2.2.2 Độ an toàn 6 2.3 Hệ mã hóa: AFFINE 7 2.3.1 Sơ đồ 7 2.3.2 Độ an toàn 7 2.4 Hệ mã hóa : VIGENERE 8 2.4.1 Sơ đồ 8 2.4.2 Độ an toàn 8 2.5 Hệ mã hóa: Hoán vị cục bộ. 9 2.5.1 Sơ đồ 9 2.5.2 Độ an toàn 9 2.6 Hệ mã hóa: HILL 10 2.6.1 Sơ đồ 10 2.6.2 Độ an toàn 10 Chương 3 Chương trình thực nghiệm 11 3.1 Giới thiệu chương trình 11 3.2 Cài đặt và hướng dẫn chạy chương trình 11 1 Mở đầu Ngày nay, công nghệ thông tin ngày càng phát triển, mạng lưới Internet ngày càng mở rộng. Sự trao đổi thông tin qua mạng ngày càng phổ biến. Yêu cầu bảo đảm an toàn thông tin trở thành nhu cầu chung của mọi hoạt động truyền thông trong kinh tế, xã hội và giao lưu giữa người và người. Để có thể bảo vệ các thông tin trên đường truyền, các nhà khoa học đã đưa ra các hệ mã hóa giúp mã hóa và giải mã sử dụng khóa mà chỉ người có quyền mới biết, đảm bảo “che giấu” được thông tin với người không có quyền. Hiện nay có rất nhiều hệ mã hóa. Các hệ mã hóa được phân loại theo nhiều cách khác nhau. Dựa theo tính chất của khóa, các hệ mã hóa chia làm hai loại: hệ mã hóa khóa đối xứng (hệ mã hóa khóa riêng) và hệ mã hóa khóa bất đối xứng (hệ mã hóa khóa công khai). Dựa theo đặc trưng bản rõ, các hệ mã hóa chia thành hai loại: mã hóa khối và mã hóa dòng. Ngoài ra, các hệ mã hóa còn được phân loại dựa theo ứng dụng mã hóa,… Mỗi hệ mã hóa phù hợp với các mục đích sử dụng riêng, có những ưu và nhược điểm khác nhau. Hệ mã hóa khóa riêng thực hiện mã hóa và giải mã nhanh hơn hệ mã hóa công khai, nhưng độ an toàn không cao. Hệ mã hóa này phù hợp với môi trương dễ trao chuyển bí mật. Hệ mã hóa khóa công khai có ưu điểm chỉ cần viết thuật toán một lần, công khai cho nhiều lần dùng, nhiều người sử dụng,… nhưng thời gian thực hiện lâu hơn hệ mã hóa khóa riêng. Trong phạm vi của tiểu luận, chúng tôi sẽ trình bày về hệ mã hóa khóa riêng và một số loại hệ mã hóa khóa riêng cụ thể. Bài tiểu luận bao gồm các phần: Chương 1: Những nét cơ bản về hệ mã hóa khóa riêng. Chương 2: Một số hệ mã hóa khóa riêng cụ thể. Chương 3: Cài đặt chương trình thử nghiệm một số hệ mã hóa khóa riêng. 2 Chương 1 Hệ mã hóa 1.1 Định nghĩa 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ã e ke  E, e ke : P C, Với khóa giải mã kd  K, có hàm giải mã d kd  D, d kd : C  P, sao cho d kd (e ke (x)) = x,  x  P. Ở đây x được gọi là bản rõ, e ke (x) được gọi là bản mã. 1.2 Hệ mã hóa khóa đối xứng 1.2.1 Khái niệm 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. 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á. oscar 3 Alice và Bob truyền tin cho nhau sử dụng hệ mã hóa khóa đối xứng. Trước tiên, họ chọn ngẫu nhiên khóa k  K. Việc chọn khóa này được thực hiện bí mật, chỉ riêng Alice và Bob biết (Oscar hay bất cứ ai khác đều không biết). Giả sử Alicce gửi tin nhắn cho Bob trên môt kênh truyền không mật và ta xem tin nhắn này là một chuỗi x = x 1 , x 2 , …x n với số nguyên n  1 nào đó. Ở đây, mỗi một ký hiệu của bản rõ x  P, 1  i  n. Mỗi x i sẽ được mã hóa bằng quy tắc mã e k với khóa k xác định trước đó. Bởi vậy, Alice sẽ tính y = e k (x i ). 1  i  n, thu được chuỗi bản mã: y = y 1 y 2 ……y n sẽ được gửi trên kênh. Khi Bob nhận được được bản mã y, Bob sẽ giải mã bằng hàm giải mã d k và thu được bản rõ x. 1.2.2 Ưu và nhược điểm của hệ mã hóa khóa đối xứng 1.2.2.1 Ưu điểm: Hệ mã hóa khóa đối xứng đơn giản hơn và quá trình mã hóa, giải mã nhanh hơn Hệ mã hóa khóa công khai. 1.2.2.2 Hạn chế: 1). 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. Alice Bộ mã hóa Bộ giải mã Bob Kênh truyền Nguồn khóa 4 2). 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. 1.2.3 Môi trường sử dụ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. 5 Chương 2 Một số hệ mã hóa khóa đối xứng cổ điển 2.1 Hệ mã hóa: Dịch chuyển 2.1.1 Sơ đồ Đặt P = C = K = Z 26 . Bản mã y và bản rõ x  Z 26 . Với khóa k  K, ta định nghĩa: Hàm Mã hóa: y = e k (x) = (x + k) mod 27 Hàm Giải mã: x = d k (y) = (y – k) mod 27 Ví dụ * Bản rõ chữ: T O I N A Y T H A V I R U S * Chọn khóa k = 3. * Bản 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 y = e k (x) = (x + k) mod 26 = (x + 3) 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  Với phép giải mã x = d k (y) = (y – k) mod 26 = (y – 3) mod 26, ta nhận lại được bản rõ số, sau đó là bản rõ chữ. 2.1.2 Độ an toàn Độ an toàn của mã dịch chuyển: Rất thấp. Tập khóa K chỉ có 26 khóa, nên việc phá khóa (thám mã) có thể thực hiện dễ dàng bằng cách thử kiểm tra từng khóa: k = 1, 2, 3, , 26. 6 2.2 Hệ mã hóa: Thay thế (Hoán vị toàn cục) 2.2.1 Sơ đồ Đặt P = C = Z 26 . Bản mã y và bản rõ x  Z 26 . Tập khóa K là tập mọi hoán vị trên Z 26 . Với khóa k =   K, tức là 1 hoán vị trên Z 26 , ta định nghĩa: Mã hóa: y = e  (x) =  (x) Giải mã: x = d  (y) =  -1 (y) Ví dụ * Bản rõ chữ: T O I N A Y T H A V I R U S * Chọn khóa k =  là hoán vị: A B C D E F G H I J K L M N O P Q R S T U V X Y Y X V U T S R Q P O N M L K J I H G F E D C B A Z * Mã hóa theo công thức y = e  (x) =  (x): * Bản mã chữ: E J P Z K Y V Z E Q Y Z C P G D F * Giải mã theo công thức x = d  (y) =  -1 (y), ta nhận lại được bản rõ chữ. 2.2.2 Độ an toàn Độ an toàn của mã thay thế: Thuộc loại cao. Tập khóa K có 26 ! khóa ( > 4. 10 26 ), nên việc phá khóa (thám mã) có thể thực hiện bằng cách duyệt tuần tự 26 ! hoán vị của 26 chữ cái. Để kiểm tra tất cả 26 ! khóa, tốn rất nhiều thời gian ! Hiện nay với hệ mã này, người ta có phương pháp thám mã khác nhanh hơn. 7 2.3 Hệ mã hóa: AFFINE 2.3.1 Sơ đồ Đặt P = C = Z 26 . Bản mã y và bản rõ x  Z 26 . Tập khóa K = {(a, b), với a, b Z 26 , UCLN(a, 26) = 1} Với khóa k = (a, b) K, ta định nghĩa: Phép Mã hóa y = e k (x) = (a x + b) mod 26 Phép Giải mã x = d k (y) = a -1 ( y - b) mod 26 Ví dụ * Bản rõ chữ: CHIEUNAYOVUONHOA * Chọn khóa k = (a, b) = (3, 6). * Bản rõ số: x = 2 7 8 4 20 13 0 24 14 21 20 14 13 7 14 0 Mã hóa theo công thức y = e k (x) = (a x + b) mod 26 = (3 x + 6) mod 26 * Bản mã số: y = 12 1 4 18 14 19 6 0 22 17 14 22 19 1 22 6 * Bản mã chữ: MBESOTGAWROWTBWG Giải mã theo công thức x = d k (y) = a -1 (y – b) mod 26 = 3 -1 (y – 6) mod 26 = 9 * (y – 6) mod 26. 2.3.2 Độ an toàn Độ an toàn của Hệ mã hóa Affine: Rất thấp. + Điều kiện UCLN(a, 26) = 1 để bảo đảm a có phần tử nghịch đảo a –1 mod 26, tức là thuật toán giải mã d K luôn thực hiện được. + Số lượng a  Z 26 nguyên tố với 26 là (26) = 12 , đó là 1, 3, 5, 7 ,9, 11, 15, 17, 19, 21, 23, 25 Các số nghịch đảo theo (mod 26) tương ứng: 1, 9, 21, 15, 3, 19, 7, 23, 11, 5, 17, 25 + Số lượng b  Z 26 là 26 . + Số các khoá (a, b) có thể là 12 * 26 = 312. Rất ít ! Như vậy việc dò tìm khóa mật khá dễ dàng. 8 2.4 Hệ mã hóa : VIGENERE 2.4.1 Sơ đồ Đặt P = C = K = (Z 26 ) m , m là số nguyên dương, các phép toán thực hiện trong Z 26 . Bản mã Y và bản rõ X  (Z 26 ) m . Khoá k = (k 1 , k 2 , …., k m ) gồm m phần tử. Mã hóa Y =(y 1 , y 2 , …, y m )= e k (x 1 , x 2 , …, x m )=(x 1 + k 1 , x 2 + k 2 , …, x m + k m ) mod m. Giải mã X =(x 1 , x 2 , …, x m )= d k (y 1 , y 2 , …, y m )=(y 1 - k 1 , y 2 - k 2 , …, y m – k m ) mod 26. Ví dụ * Bản rõ chữ: THISISACRYPTOSYSTEM Chọn khoá: k = “KWORD” = {10, 22, 14, 17, 3} với độ dài m=5. * Bản rõ số: SX = 19 7 8 18 8 18 0 2 17 24 15 19 14 18 24 18 19 4 12 * Mã hóa: Chia bản rõ SX thành các đoạn, mỗi đoạn gồm m =5 số. Với mỗi đoạn, áp dụng công thức mã hóa, ta nhận được bản mã số. 19 10 7 22 8 14 18 17 8 3 18 10 0 22 2 14 17 17 24 3 3 3 22 9 11 2 22 16 8 1 15 10 19 22 14 14 18 17 24 3 18 10 19 22 4 14 12 17 25 15 2 9 1 2 15 18 3 * Bản mã số: SY = 3 3 22 9 11 2 22 16 8 1 25 15 2 9 1 2 15 18 3 * Bản mã chữ: DDWJL CWQIB ZPCJB CPSD 2.4.2 Độ an toàn Độ an toàn của mã VIGENERE: Tương đối cao. Nếu khoá gồm m ký tự khác nhau, mỗi ký tự có thể được ánh xạ vào 1 trong m ký tự có thể, do đó hệ mật này được gọi là hệ thay thế đa biểu. Như vậy số khoá (độ dài m) có thể có trong mật Vigenere là 26 m . Nếu dùng phương pháp “tấn công vét cạn”, thám mã phải kiểm tra 26 m khóa. [...]...  26 Hiện nay với hệ mã này, người ta có phương pháp thám mã khác nhanh hơn 9 2.6 Hệ mã hóa: HILL 2.6.1 Sơ đồ Lester S Hill đưa ra năm 1929 Đặt P = C = Z26 m , m là số nguyên dương Bản mã Y và bản rõ X  (Z26)m K = {K Tập khóa  Z 26 m*m (det (K), 26) = 1} (K phải có K -1 ) / Mỗi khóa K là một “Chùm chìa khóa (một Ma trận “Các chìa khóa ) Với mỗi K  K , định nghĩa: * Hàm lập mã: Y = (y1, y2, …,... nay với hệ mã này, người ta có phương pháp thám mã khác nhanh hơn 2.5 Hệ mã hóa: Hoán vị cục bộ 2.5.1 Sơ đồ Đặt P = C = Z26 m , m là số nguyên dương Bản mã Y và bản rõ X  (Z26)m Tập khóa K là tập tất cả các hoán vị của {1, 2, …., m} Với mỗi khoá k =   K , k = (k1, k2, …., km) gồm m phần tử, ta định nghĩa: * Mã hóa Y = (y1, y2, …, ym) = ek (x1, x2, …, xm) = (xk(1), xk(2) , … , xk(m)) * Giải mã X =... chữ: 6 | 23 y2 = 8 * x1 + 7 * x2 18 FGXS 2.6.2 Độ an toàn Nếu dùng phương pháp “tấn công vét cạn”, thám mã phải kiểm tra số khóa có thể với m lần lượt là 2, 3, 4, … trong đó m lớn nhất là bằng độ dài bản rõ 10 Chương 3 Chương trình thực nghiệm Để mô phỏng quá trình mã hóa, giải mã của một số hệ mã hóa khóa công khai như dịch chuyển, hoán vị, affine và vigenere, chương trình demo được xây dựng với ngôn... Window 3.1 Giới thiệu chương trình Chương trình mô phỏng quá trình mã hóa và giải mã các file text của 4 hệ mã hóa: Dịch chuyển, Thay thế, Affine và Vigenere qua giao diện với 4 tab, mỗi tab là mô phỏng một hệ mã hóa 3.2 Cài đặt và hướng dẫn chạy chương trình Hướng dẫn cài đặt và sử dụng chương trình được mô tả trong file Hướng dẫn cài đặt và chạy chương trình.pdf 11 ... là : * Mã hóa: Tách bản rõ thành từng nhóm 6 kí tự: SHESEL | ISSEAS | HELLSB | YTHESE | ASHORE Với mỗi nhóm 6 ký tự, sắp xếp lại các chữ theo hoán vị , ta nhận được: EESLSH | SALSES | LSHBLE | HSYEET | HRAEOS * Bản mã chữ: CY = EESLSHSALSES LSHBLEHSYEETHRAE * Dùng hoán vị ngược -1, ta sẽ thu được bản rõ CX 2.5.2 Độ an toàn Nếu dùng phương pháp “tấn công vét cạn”, thám mã phải kiểm tra số khóa có... xm) * K * Hàm giải mã: X = (x1, x2, …, xm) = dk (y1, y2, …, ym) = (y1, y2, …, ym) * K -1 Ví dụ * Bản rõ chữ: TUDO 7 18 11 8   , bảo đảm UCLN (det (K), 26) = 1, tính K -1 =   3 7 Chọn m = 2, khóa K =   23 * Bản rõ số: 19 20 | 3 14 x1 x2 | x1 11 x2 Với mỗi bộ rõ số (x1 , x2), theo hàm lập mã (y1 , y2) = (x1 , x2) * K, ta tính được: y1 = 11 * x1 + 3 * x2 , * Bản mã số: 9 * Bản mã chữ: 6 | 23 y2 . hệ mã hóa khóa đối xứng (hệ mã hóa khóa riêng) và hệ mã hóa khóa bất đối xứng (hệ mã hóa khóa công khai). Dựa theo đặc trưng bản rõ, các hệ mã hóa chia thành hai loại: mã hóa khối và mã hóa. bản mã. 1.2 Hệ mã hóa khóa đối xứng 1.2.1 Khái niệm 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. 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. 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

Ngày đăng: 20/10/2014, 00:13

Từ khóa liên quan

Mục lục

  • Mở đầu

  • Chương 1 Hệ mã hóa

    • 1.1 Định nghĩa hệ mã hóa

    • 1.2 Hệ mã hóa khóa đối xứng

      • 1.2.1 Khái niệm

      • 1.2.2 Ưu và nhược điểm của hệ mã hóa khóa đối xứng

        • 1.2.2.1 Ưu điểm:

        • 1.2.2.2 Hạn chế:

        • 1.2.3 Môi trường sử dụng

        • Chương 2 Một số hệ mã hóa khóa đối xứng cổ điển

          • 2.1 Hệ mã hóa: Dịch chuyển

            • 2.1.1 Sơ đồ

            • 2.1.2 Độ an toàn

            • 2.2 Hệ mã hóa: Thay thế (Hoán vị toàn cục)

              • 2.2.1 Sơ đồ

              • 2.2.2 Độ an toàn

              • 2.3 Hệ mã hóa: AFFINE

                • 2.3.1 Sơ đồ

                • 2.3.2 Độ an toàn

                • 2.4 Hệ mã hóa : VIGENERE

                  • 2.4.1 Sơ đồ

                  • 2.4.2 Độ an toàn

                  • 2.5 Hệ mã hóa: Hoán vị cục bộ.

                    • 2.5.1 Sơ đồ

                    • 2.5.2 Độ an toàn

                    • 2.6 Hệ mã hóa: HILL

                      • 2.6.1 Sơ đồ

                      • 2.6.2 Độ an toàn

                      • Chương 3 Chương trình thực nghiệm

                        • 3.1 Giới thiệu chương trình

                        • 3.2 Cài đặt và hướng dẫn chạy chương trình

Tài liệu cùng người dùng

Tài liệu liên quan