Tài liệu HỆ MẬT MÃ KHÓA ĐỐI XỨNG doc

30 823 11
Tài liệu HỆ MẬT MÃ KHÓA ĐỐI XỨNG doc

Đ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

C C h h ư ư ơ ơ n n g g HỆ MẬT KHÓA ĐỐI XỨNG (SYMMETRIC-KEY CRYPTOGRAPHY) Mã khóa đối xứng được dùng để chỉ các hệ trong đó, khi biết khóa lập ta có thể tìm đ ược khóa giải một cách dễ dàng (vì vậy người ta thường coi chúng là một), đồng thời việc giải cũng đòi hỏi thời gian nh ư việc lập mã. Các hệ thuộc loại này có thời gian lập và giải t ương đối nhanh vì thế các hệ đối xứng thường được sử dụng để hóa những dữ liệu lớn. Nh ưng các hệ đối xứng yêu cầu phải giữ bí mật hoàn toàn về khóa lập mã. Nội dung chính I. Các hệ mật cổ điển (Classical ciphers). II. Thám đối với hệ mật cổ điển. III. dòng (Stream Cipher). IV. khối (Block cipher) Trường Đại học Dân lập Hải Phòng Hiện nay tin học đã được áp dụng vào hầu hết các lĩnh vực trong cuộc sống và có một ảnh hưởng rất lớn đối với sự tồn tại và phát triển của các ngành khoa học khác. Trong mọi hệ thống tin học, thông tin luôn là thành phần cơ bản nhất và quan trọng nhất. Chúng ta không ai không gặp phải những trường hợp khi máy tính bị mất hết những thông tin quan trọng do nhiều nguyên nhân khác nhau như bị virus, bị hư hỏng thiết bị, do không biết sử dụng, bị đánh cắp hay xoá thông tin… Nói chung vấn đề an toàn và bảo mật thông tin rất đa dạng và phụ thuộc vào nhiều yếu tố chủ quan và khách quan khác nhau như: con người, môi trường, công nghệ… Hiện nay có rất nhiều công cụ và phần mềm hỗ trợ an toàn cho hệ thống máy tính. Tuy nhiên vấn đề đánh giá và chọn lựa một hệ thống an toàn rất phức tạp và chỉ mang tính tương đối bởi vì một hệ thống được đánh giá là rất an toàn hôm nay có thể không còn an toàn nữa vào ngày mai. Nếu chúng ta thường xuyên theo dõi các thông tin bảo mật trên Internet, chúng ta có thể thấy thông tin về những lỗ hổng bảo mật của các hệ điều hành, các phần mềm bảo mật, các dịch vụ… Vì vậy an toàn và bảo mật thông tin là một trong những thành phần quan trọng nhất cần được quan tâm trong việc duy trì và phát triển của hệ thống. Lê Thụy 2 Chương 2 - Lý thuyết Mật và An toàn thông tin Mật và vấn đề an toàn thông tin ? Mật (Cipher) đã xuất hiện cách đây khoảng 4000 năm tại Ai cập. Khi các cuộc chiến tranh xẩy ra giữa các đế chế. Thông tin của bên A dưới dạng chữ cái (letter), chữ số (number) hay loại nào đó trước khi được gửi đi sẽ được hoá. Bên B nhận được thông tin hoá này thực hiện việc giải để hiểu được nội dung. Một người lấy được bản cũng khó có thể hiểu được nội dung của thông tin vì chỉ có A và B mới có cách giải mã. Thời kì này các thông tin được bảo mật bằng các phương pháp khác nhau, hay còn gọi là các hệ mật cổ điển. Các hệ mật sớm nhất được biết đến như mật Ceazar - mã dich chuyển (Shift Cipher), thế (Substitution Cipher)… Các hệ mật này được sử dụng trong một thời gian dài. Cho đến khi toán học phát triển. Các hệ mới được xây dựng trên các lý thuyết về toán học hiện đại. Một thế hệ mật được xây dựng dựa trên độ phức tạp tính toán, các hệ mật này được gọi là các hệ hiện đại. Các ứng dụng của các hệ mật ngày càng được áp dụng trong nhiều lĩnh vực xã hội. Giúp giải quết hàng loạt các vấn đề về an toàn thông tin trên các kênh thông tin không bảo mật. Mật cung cấp một giải pháp nhằm mục đích thực hiện biến một thông tin cụ thể dễ hiểu thành một dạng khác (khó hiểu) có quan hệ chặt chẽ với thông tin gốc. Giờ đây ta gọi thông tin chưa hoá (tường minh) là “bản rõ”, và thông tin sau khi được hoá là “bản mã”. Vậy mật là gì ? Tại sao nó lại bảo vệ đươc bí mật thông tin ? Cơ sở của nó là gì ? Định nghĩa : Mật học là sự nghiên cứu các phương pháp toán học liên quan đến một số khía cạnh của thông tin như sự an toàn, sự toàn vẹn dữ liệu, sự xác nhận tồn tại và sự xác nhận tính nguyên bản của thông tin. Lê Thụy 3 Trường Đại học Dân lập Hải Phòng I. Các hệ mật cổ điển (Classical ciphers). 1. Mở đầu: - Mong muốn được trao đổi thông tin một cách bí mật là một trong những đòi hỏi của con người xuất hiện từ rất sớm trong l ịch sử. Vì thế lịch sử của việc trao đổi thông tin mật rất phong phú và bao gồm những phát minh độc đáo mang đầy tính giai thoại. Ngành học nghiên cứu cách thức che dấu thông tin đối với những đối tượng không mong muốn được gọi là mật học (cryptography) - Mật (cipher) được dùng để bảo vệ bí mật của thông tin khi thông tin được truyền trên các kênh thông tin không bảo mật như thư tín, điện thoại, mạng truyền thông máy tính… - A muốn gửi cho B một văn bản bằng tiếng Việt (gọi là “bản rõ” - plaintext), muốn được bảo mật thì A phải lập mật cho “bản rõ” đó (gọi là “bản mã” - ciphertext) và gửi “bản mã” cho B. A và B có một khoá mật chung, vừa để A lập “bản mã”, vừa để B giải “bản mã” thành “bản rõ”. Một người khác không có khoá đó, thì dù có lấy được “bản mã” từ kênh truyền tin cũng không thể biến thành “bản rõ” để hiểu được nội dung thông báo A gửi cho B. Bộ hoá Bộ giải Phân tích mật Kênh công cộng Kênh an toàn Bản tin gốc (M) Bản tin gốc (M) Các bản tin m ật m ã M’ A☺ B☺ C / - Các hệ mật cổ điển thực hiện việc bảo mật đó đều dùng một khoá chung cho việc lập và giải mã, các bản rõ và bản thường dùng cơ sở là bảng chữ trong ngôn ngữ tự nhiên. Trong phần này, để tiện trình bầy ta dùng bảng chữ cái tiếng Anh làm ví dụ, và dùng các số liệu thống kê của tiếng Anh để minh hoạ. Lê Thụy 4 Chương 2 - Lý thuyết Mật và An toàn thông tin - Dưới đây là một số định nghĩa toán học về hệ thống mật mã: Định nghĩa 1.1: Một hệ mật là một bộ năm (P, C, K, E, D) thoả mãn các điều kiện sau đây: + P là một tập hữu hạn các bản rõ. + C là một tập hưu hạn các bản mã. + K là một tập hưu hạn các khoá. + Với mỗi k ∈ K, có một hàm lập e k ∈ E, e k : P → C, và một hàm giải d k ∈ D, d k : C → P sao cho d k (e k (x)) = x với mọi x ∈ P. Trong thực tế, P và C thường là bảng chữ cái (hoặc tập các dãy chữ cái có độ dài cố định) Nếu bản rõ là (một xâu chữ cái): x = x 1 x 2 x 3 …x n (x i ∈ P ), và khoá là k ∈ K thì bản sẽ là: y = y 1 y 2 y 3 …y n (y i ∈ C ) Trong đó y i = e k (x i ) (1 ≤ i ≤ n). Nhận được bản y, biết khoá k, sẽ tìm được bản rõ x, vì x i = d k (y i ) Sau đây thay cho bảng chữ cái A, B, C,…,X, Y, Z ta sẽ dùng các con số 0, 1, 2,…, 24, 25 và dùng các phép toán số học theo modulo 26 để diễn tả các phép biến đổi trên bảng chữ cái. A B C D E F G H I J K L M N 0 1 2 3 4 5 6 7 8 9 10 11 12 13 O P Q R S T U V W X Y Z 14 15 16 17 18 19 20 21 22 23 24 25 2. dịch chuyển (Shift Cipher). Kí hiệu ] m là tập các số nguyên từ 0 đến (m-1), ký hiệu đó cũng dùng cho vành các số nguyên từ 0 đến (m-1) với các phép cộng Lê Thụy 5 Trường Đại học Dân lập Hải Phòng và nhân với modulo m. Như vậy, bảng chữ cái tiếng Anh có thể xem là một vành ] 26 với sự tương ứng kể trên. Định nghĩa Mã dịch chuyển: (P, C, K, E, D) P = C = K = ] 26 với k ∈ K, định nghĩa e k (x) = (x + k) mod 26 d k (y) = (y – k) mod 26 (x, y ∈ ] 26 ) Ví dụ: Dùng khoá k = 9 để hoá dòng thư: “hentoithubay” dòng thư đó tương ứng với dòng số: h e n t o i t h u b a y 7 4 13 19 14 8 19 7 20 1 0 24 qua phép hoá e 9 sẽ được: 16 13 22 2 23 17 2 16 3 10 9 7 q n w c x r c q d k j h bản sẽ là: “qnwcxrcqdkjh” Nhận được bản đó, dùng d 9 để nhận được bản rõ. Cách đây 2000 năm dịch chuyển đã được Julius Ceasar sử dụng, với khoá k=3 địch chuyển được gọi là Ceasar. Tập khoá phụ thuộc vào ] m với m là số khoá có thể. Trong tiếng Anh tập khoá chỉ có 26 khoá có thể, việc thám có thể được thực hiện bằng cách duyệt tuần tự 26 khoá đó, vì vậy độ an toàn của dịch chuyển rất thấp. Lê Thụy 6 Chương 2 - Lý thuyết Mật và An toàn thông tin 3. Mã thay thế (Substitution Cipher). Khoá của thay thế là một hoán vị của bảng chữ cái. Gọi S(E) là tập hợp tất cả các phép hoán vị các phần tử của E. Định nghĩa Mã thay thế: (P, C, K, E, D) P = C = ] 26 , K = S ( ] 26 ) Với mỗi л ∈ K, tức là một hoán vị trên ] 26 , ta xác định e л (x) = л(x) d л (y) = л -1 (y) với x, y ∈ ] 26 , л -1 là nghịch đảo của л Ví dụ: л được cho bởi (ở đây ta viết chữ cái thay cho các con số thuộc ] 26 ): a b c d e f g h i j k l m n x n y a h p o g z q w b t s o p q r s t u v w x y z f l r c v m u e k j d i bản rõ: “hentoithubay” sẽ được hoá thành bản (với khoá л): “ghsmfzmgunxd” Dễ xác định được л -1 , và do đó từ bản ta tìm được bản rõ. Mã thay thế có tập hợp khoá khá lớn - bằng số các hoán vị trên bảng chữ cái, tức số các hoán vị trên ] 26 , hay là 26!, lớn hơn 4.10 26 . Việc duyệt toàn bộ các hoán vị để thám là rất khó, ngay cả đối với máy tính. Tuy nhiên, ta sẽ thấy có những phương pháp thám khác dễ dàng thực hiện, và do đó thay thế cũng không thể được xem là an toàn. Lê Thụy 7 Trường Đại học Dân lập Hải Phòng 4. Mã Apphin (Apphin Cipher). Phép lập được cho bởi một hàm Apphin dạng: e(x) = ax + b mod 26 trong đó a, b ∈ ] 26 (chú ý: nếu a = 1 ta có dịch chuyển) Để có được phép giải tương ứng, tức để cho phương trình ax + b = y mod 26 có nghiệm x duy nhất (với bất kỳ y ∈ ] 26 cho trước), hay nói cách khác hàm Apphin phải là đơn ánh. Theo một định lý số học, điều kiện cần và đủ là a nguyên tố với 26, tức là (a, 26) = 1. Ở đây (a, 26) ký hiệu cho ước số chung lớn nhất của a và 26. Khi (a, 26) = 1 thì có số a -1 ∈] 26 sao cho a.a -1 = a -1 .a = 1 mod 26, và do đó, Nếu: y = ax + b mod 26 Ù ax = y – b mod 26 Ù a -1 .ax = a -1 .(y – b) mod 26 Ù (a -1 .a)x = a -1 .(y – b) mod 26 Ù x = a -1 .(y – b) mod 26 ⇒ d(x) = a -1 .(y – b) mod 26 Định nghĩa Mã Apphin: (P, C, K, E, D) P = C = ] 26 , K = { (a, b) ∈ ] 26 x ] 26 : (a, 26) = 1 } với mỗi k = (a, b) ∈ K ta định nghĩa: e k (x) = ax + b mod 26 d k (y) = a -1 (y – b) mod 26 trong đó x, y ∈ ] 26 Lê Thụy 8 Chương 2 - Lý thuyết Mật và An toàn thông tin Có những thuật toán để thử tính chất (a, m) = 1, và tính a -1 mod m khi (a, m) = 1, ta sẽ trình bầy trong phần sau. Tuy nhiên, với m = 26, ta dễ thử rằng các số a sao cho (a, 26) = 1 là: a 1 3 5 7 9 11 15 17 19 21 23 25 a -1 1 9 21 15 3 19 7 23 11 5 17 25 Ví dụ: Lấy k = (5, 6). Bản rõ: “hentoithubay” h e n t o i t h u b a y x 7 4 13 19 14 8 19 7 20 1 0 24 y = 5x + 6 mod 26 y 15 0 19 23 24 20 23 15 2 11 6 22 p a t x y u x p c l g w Bản mã: “patxyuxpclgw” Thuật toán giải trong trường hợp này có dạng: d k (y) = 21(y − 6) mod 26 Với Apphin, số các khoá có thể có bằng (số các số ≤ 26 và nguyên tố với 26) × 26, tức là 12 × 26 = 312. Việc thử tất cả các khoá để thám trong trường hợp này tuy khá mất thì giờ nếu tính bằng Lê Thụy 9 Trường Đại học Dân lập Hải Phòng tay, nhưng không khó khăn gì nếu dùng máy tính. Do vậy, Apphin cũng không phải là an toàn. 5. Mã Vigenēre (Vigenēre Cipher). Mã lấy tên của Blaise de Vigenēre, sống vào thế kỷ 16. Khác với các trước, Vigenēre không thực hiện trên từng ký tự một, mà được thực hiện trên từng bộ m ký tự (m là số nguyên dương). Định nghĩa Mã Vigenēre: (P, C, K, E, D) Cho m là số nguyên dương. P = C = K = ] 26 m với mỗi khoá k = (k 1 , k 2 ,…,k m ) ∈ K có: e k (x 1 , x 2 ,…, x m ) = (x 1 + k 1 , x 2 + k 2 ,…, x m + k m ) d k (y 1 , y 2 ,…, y m ) = (y 1 – k 1 , y 2 – k 2 ,…, y m – k m ) các phép cộng phép trừ điều lấy theo modulo 26 Ví dụ: Giả sử m = 6 và khoá k là từ CIPHER - tức k=(2, 8, 15, 7, 4, 17). Bản rõ: “hentoithubay” h e n t o i t h u b a y x 7 4 13 19 14 8 19 7 20 1 0 24 k 2 8 15 7 4 17 2 8 15 7 4 17 y 9 12 2 0 18 25 21 15 9 8 4 15 j m c a s z v p j i e p Bản mã: Lê Thụy 10 [...]... kinh tế, đặc biệt trong các hệ thống ngân hàng NBS về nguyên tắc cứ khoảng 5 năm lại xét lại hệ một lần, do vậy các hệ chuẩn của Mỹ luôn được nâng cấp Lê Thụy 22 Chương 2 - Lý thuyết Mật và An toàn thông tin DES là một hệ mật khóa đối xứng được sử dụng rộng rãi nhất do tính an toàn cao của nó Như đã biết hệ mật khóa đối xứnghệ quá trình tạo và giải đều sử dụng chung một... l¹i thì dễ thấy rằng Hill với khoá Kπ trùng với hoán vị với khoá π Với m cho trước, số các khoá có thể có của hoán vị là m! Dễ nhận thấy với m = 26 ta có số khóa 26! (mã Thay thế) Lê Thụy 15 Trường Đại học Dân lập Hải Phòng II Thám đối với hệ mật cổ điển Như chúng ta đã biết, hệ cổ điển là những hệ được sử dụng từ rất lâu, lúc khả năng tính toán của các hệ thống chưa phát triển... nhiên việc thám nói chung đều thực hiện qua 4 bước: - Xác định ngôn ngữ được sử dụng (bản rõ – bản mã) - Xác định hệ thống nói chung được sử dụng - Xây dựng lại khoá của mật sử dụng trong hệ thống - Xây dựng lại bản gốc (bản rõ) Các hình thức tấn công vào hệ mã: - Chỉ biết bản mã: Kẻ thám chỉ có trong tay bản - Biết bản rõ: Kẻ thám biết được một mẫu của bản rõ và phần tương ứng của... 100010011010111100010… dòng sinh ra bởi hệ thức truy toán có thể được thực hiện bằng phần cứng khi dùng một thanh ghi chuyển dịch liên hệ ngược tuyến tính Thanh ghi tương ứng với hệ cụ thể nói trên có sơ đồ là: + k1 k2 k3 k4 Chú ý: Vigenēre với độ dài khoá m có thể được coi là dòng, có chu kỳ m với cách lập và giải theo dịch chuyển Ví dụ: Một ví dụ đơn giản của dòng không đồng bộ là Autokey,... rõ đó - Chọn bản rõ: Kẻ thám có thể tạm thời tước quyền điều khiển hệ thống, rồi chọn bản rõ và xây dựng bản tương ứng - Chọn bản mã: Kẻ thám tạm thời điều khiển hệ thống, rồi chọn bản và xây dựng lại bản rõ tương ứng Lê Thụy 17 Trường Đại học Dân lập Hải Phòng III dòng (Stream Cipher) Trong các hệ mật được xét cho đến nay, ta dùng cùng một khoá k để hoá các ký tự (hay các bộ m... cẩn thận của hai quá trình cơ bản của mật là thay thế và hoán vị Mô tả thuật toán DES Thuật toán được thiết kết để lập và giải một khối dữ liệu nhị phân 64 bits với sự kết hợp của một khóa 64 bits Quá trình giải thực hiện theo một sơ đồ như quá trình lập mã, chỉ có khác là trật tự khóa được đảo lại so với quá trình lập Một khối dữ liệu 64 bits được hóa bằng việc cho qua một bảng hoán... DES-1 DES DES-1 DES O Xác định bộ khóa (k1, k2, k3) có thể có các lựa chọn sau: • Lựa chọn 1: khóa k1, k2 và k3 là các khóa độc lập • Lựa chọn 2: khóa k1, k2 độc lập và k3 = k1 • Lựa chọn 3: k1 = k2 = k3 3 AES (Advanced Encryption Standard) Chuẩn này xác định thuật toán Rijnbaen, là một trong những khối đối xứng để xử lý một khối dữ liệu 128 bits, có sử dụng khóa mật có độ dài 128, 192 và 256 bits... khối Mật khối xử lý các khối dữ liệu có độ dài cố định và độ dài bản tin có thể bất kỳ Có bốn phương pháp ứng dụng khối thường gặp trong hệ thống truyền tin và số liệu truyền tin: • Phương pháp dùng từ điển điện tử, còn gọi là mật ECB (Electronic CodeBook) • Phương pháp móc xích các khối đã được hoá, còn gọi là mật CBC (Cipher Block Chaining) • Phương pháp phản hồi bản tin đã hoá,... thế các quy tắc được áp dụng trong các hệ là rất đơn giản Chủ yếu dựa trên hai phương pháp dịch chuyển và thay thế Độ an toàn của các hệ này không chỉ phụ thuộc vào khoá còn phụ thuộc cả vào sơ đồ hoá được sử dụng (dó đó cần giữ bí mật cả sơ đồ hoá và khoá lập mã) Với sáu loại cổ điển chúng ta đã xét, thấy rằng miền giá trị khoá có thể của các hệ đó bị giới hạn, khi đó với khả năng... là mật CFC (Cipher feedblack) • Phương pháp phản hồi đầu ra, còn gọi là OFC (Output Feedblack) Các phương pháp ứng dụng của mật khối trên được phát triển mạnh sau khi xuất hiện DES Trên thưc tế có thể có những phương pháp khác, nhưng bốn phương pháp trên được ứng dụng phổ biến và cũng khá đầy đủ 1 hóa DES (Data Encryptiton Standard) Lê Thụy 21 Trường Đại học Dân lập Hải Phòng Hệ mật . C C h h ư ư ơ ơ n n g g HỆ MẬT MÃ KHÓA ĐỐI XỨNG (SYMMETRIC-KEY CRYPTOGRAPHY) Mã khóa đối xứng được dùng để chỉ các hệ mã mà trong đó, khi biết khóa lập mã ta có thể. thời gian lập mã và giải mã t ương đối nhanh vì thế các hệ mã đối xứng thường được sử dụng để mã hóa những dữ liệu lớn. Nh ưng các hệ mã đối xứng yêu cầu

Ngày đăng: 23/01/2014, 04:20

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

Tài liệu liên quan