Tìm hiểu, đưa ra ưu và nhược điểm các phiên bản của các thuật toán: DES, Triple DES, AES

MỤC LỤC A.Lời mở đầu B. Nội dung I. Tổng quan về mã hóa dữ liệu 1. Khái niệm mã hóa dữ liệu 2. Quá trình phát triển 3. Các phương pháp mã hóa II. Các thuật toán mã hóa thường dùng 1. Mã hóa DES 1.1 Khái niệm 1.2 Lịch sử phát triển 1.3 Mô tả thuật toán 1.4 Quá trình thay thế 1.5 Đánh giá 1.5.1 ưu điểm 1.5.2 nhược điểm 2. Thuật toán Triple 2.1 Khái niệm 2.2 Lịch sử phát triển 2.3 Mô tả thuật toán 2.4 Quá trình thay thế 2.5 Đánh giá 2.5.1 Ưu điểm 2.5.2 Nhược điểm 3. Thuật toán AES 3.1 Khái niệm 3.2 Lịch sử phát triển 3.3 Mô tả thuật toán 3.4 Quá trình thay thế 3.5 Đánh giá 3.5.1 Ưu điểm 3.5.2 Nhược điểm C. Kết luận

doc20 trang | Chia sẻ: lvcdongnoi | Ngày: 02/07/2013 | Lượt xem: 2675 | Lượt tải: 4download
Bạn đang xem nội dung tài liệu Tìm hiểu, đưa ra ưu và nhược điểm các phiên bản của các thuật toán: DES, Triple DES, AES, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
THẢO LUẬN AN TOÀN DỮ LIỆU (Nhóm 7) Đề tài: Tìm hiểu, đưa ra ưu và nhược điểm các phiên bản của các thuật toán: DES, Triple DES, AES MỤC LỤC A.Lời mở đầu B. Nội dung I. Tổng quan về mã hóa dữ liệu 1. Khái niệm mã hóa dữ liệu 2. Quá trình phát triển 3. Các phương pháp mã hóa II. Các thuật toán mã hóa thường dùng 1. Mã hóa DES 1.1 Khái niệm 1.2 Lịch sử phát triển 1.3 Mô tả thuật toán 1.4 Quá trình thay thế 1.5 Đánh giá 1.5.1 ưu điểm 1.5.2 nhược điểm 2. Thuật toán Triple 2.1 Khái niệm 2.2 Lịch sử phát triển 2.3 Mô tả thuật toán 2.4 Quá trình thay thế 2.5 Đánh giá 2.5.1 Ưu điểm 2.5.2 Nhược điểm 3. Thuật toán AES 3.1 Khái niệm 3.2 Lịch sử phát triển 3.3 Mô tả thuật toán 3.4 Quá trình thay thế 3.5 Đánh giá 3.5.1 Ưu điểm 3.5.2 Nhược điểm C. Kết luận  MỞ ĐẦU Thương mại điện tử đang và sẽ phát triển rất mạnh trên toàn thế giới. Sự xuất hiện và phát triển của TMĐT không chỉ giúp cho việc kinh doanh của các doanh nghiệp thuận lợi hơn mà còn giúp cho người tiêu dùng những lợi ích về mặt tiết kiệm thời gian, công sức… Vậy để sự tồn tại của TMĐT sẽ lâu dài thì sự xuất hiện của An Toàn Dữ Liệu là rất quan trọng và cần thiết. Nó nghiên cứu về những nguy cơ gây mất an toàn dữ liệu và các biện pháp đảm bảo an toàn, tránh khỏi những nguy cơ trong quá trình sử dụng hình thức kinh doanh thương mại điện tử được tốt hơn thì việc nghiên cứu để đưa ra cách cách mã hóa bằng các thuật toán cũng là một trong số những biện pháp đảm bảo an toàn trong dữ liệu như : thuật toán DES, Triple DES, AES. Tuy nhiên, việc mã hóa bằng các thuật toán này không chỉ là có những ưu điểm nhất định mà bên cạnh đó nó còn có những nhược điểm. Vì vậy, việc nhóm chúng tôi tìm hiểu và đưa ra ưu nhược điểm của các thuật toán trên để giúp người sử dụng công nghệ thông tin nói chung và kinh doanh TMDT nói riêng sẽ có cách nhìn và biết cách lựa chọn thuật toán nào phù hợp với từng đặc tính của nó đúng đắn hơn. NỘI DUNG I. Tổng quan về mã hóa dữ liệu 1. Khái niệm mã hóa dữ liệu + Khái niệm: Mã hóa là phương thức biến đổi thông tin từ định dạng thông thường thành một dạng khác ( mã hóa) không giống như ban đầu nhưng có thể khôi phục lại được ( giải mã) ư + Mục đích: Đảm bảo tính bảo mật của thông tin khi chúng được truyền trong những môi trường có độ an toàn không cao Trong quá trình mã hóa thông tin có sử dụng một giá trị đặc biệt gọi là khóa mã (key) 2. Quá trình phát triển + Trước năm 1949: Mã hóa được coi là một nghành mang tính nghệ thuật Các phép mã hóa còn đơn giản, chủ yếu là một phép thay thế ký tự nào đó + Sau năm 1949: Bùng nổ trong lý thuyết về mã hóa, mã hóa đã được coi là một ngành khoa học thực sự Ra đời phương pháp mã hóa công khai Ra đời của khái niệm về chữ ký điện tử 3. Các phương pháp mã hóa + Phương pháp mã hóa đối xứng: Khái niệm: Hệ thống mã hóa mà bên gửi và bên nhận tin cùng sử dụng chung 1 khóa => mã hóa và giải mã đều dùng chung 1 khóa chung Kỹ thuật mã hóa duy nhất trước 1970 và hiện rất phổ biến Còn gọi là mã hóa riêng, khóa bí mật Mô hình mã hóa đối xứng Bẻ khóa Người nhận B Giải mã Mã hóa Người gửi A X Y X K K Kênh truyền Khóa mã + Phương pháp mã hóa khóa công khai: Khái niệm: Mã hóa trong đó sử dụng một cặp khóa, một khóa công khai và một khóa bí mật Khóa công khai: Được sinh ra từ khóa bí mật bởi một phép biến đổi một chiều, nghĩa là biến đổi ngược lại là không thể thực hiện được Khóa công khai ai cũng có thể biết Dùng để mã hóa thông điệp và để thẩm tra chữ ký Khóa bí mật: Chỉ nơi giữ được biết Để giải mã thông điệp và tạo chữ ký Mô hình mã hóa khóa công khai: Bẻ khóa Người nhận B Giải mã Mã hóa Người gửi A X Y X Kc Kr Khóa mã của B B sinh cặp khóa : Khóa công khai Kc và khóa bí mật Kr B gửi Kc cho A và ai cũng có thể biết A dùng Kc mã hóa thông điệp và gửi lại cho B B dùng Kr để giải mã thông điệp của A II. Các thuật toán mã hóa thường dùng 1. Mã hóa DES Khái niệm DES (viết tắt của Data Encryption Standard, hay Tiêu chuẩn Mã hóa Dữ liệu) là một phương pháp mật mã hóa được FIPS (Tiêu chuẩn Xử lý Thông tin Liên bang Hoa Kỳ) chọn làm chuẩn chính thức vào năm 1976. Sau đó chuẩn này được sử dụng rộng rãi trên phạm vi thế giới. Ngay từ đầu, thuật toán của nó đã gây ra rất nhiều tranh cãi, do nó bao gồm các thành phần thiết kế mật, độ dài khóa tương đối ngắn, và các nghi ngờ về cửa sau để Cơ quan an ninh quốc gia Hoa Kỳ (NSA) có thể bẻ khóa. Do đó, DES đã được giới nghiên cứu xem xét rất kỹ lưỡng, việc này đã thúc đẩy hiểu biết hiện đại về mật mã khối (block cipher) và các phương pháp thám mã tương ứng. Lịch sử phát triển Khởi nguyên của thuật toán đã có từ đầu thập niên 1970. Vào năm 1972, sau khi tiến hành nghiên cứu về nhu cầu an toàn máy tính của chính phủ Hoa Kỳ, Cục Tiêu chuẩn Liên bang Hoa Kỳ (National Bureau of Standard - NBS), hiện nay đã đổi tên thành Viện Tiêu chuẩn và Công nghệ Quốc gia Hoa Kỳ (National Institute of Standards and Technology - NIST), đã nhận ra nhu cầu về một tiêu chuẩn của chính phủ dùng để mật mã hóa các thông tin mật/nhạy cảm. Vào ngày 15 tháng 5 năm 1973, sau khi tham khảo với NSA, NBS đưa ra kêu gọi thiết kế một thuật toán mã hóa có thể đáp ứng được các tiêu chuẩn nghiêm ngặt. Tuy nhiên không có đề xuất nào đáp ứng được yêu cầu đề ra. Ngày 27 tháng 8 năm 1974, NBS đưa ra kêu gọi lần thứ hai. Lần này công ty IBM đã đưa ra một đề xuất có thể chấp nhận được. Đề xuất này được phát triển trong những năm 1973-1974 dựa trên một thuật toán đã có từ trước - thuật toán mật mã Lucifer của Horst Feistel. Đội ngũ tại công ty IBM liên quan tới quá trình thiết kế bao gồm: Feistel, Walter Tuchman, Don Coppersmith, Alan Konheim, Carl Meyer, Mike Matyas, Roy Adler, Edna Grossman, Bill Notz, Lynn Smith và Bryant Tuckerman. Mô tả thuật toán DES là thuật toán mã hóa khối, nó xử lý từng khối thông tin của bản rõ có độ dài xác định và biến đổi theo những quá trình phức tạp để trở thành khối thông tin của bản mã có độ dài không thay đổi. Trong trường hợp của DES, độ dài mỗi khối là 64 bit. DES cũng sử dụng khóa để cá biệt hóa quá trình chuyển đổi. Nhờ vậy, chỉ khi biết khóa mới có thể giải mã được văn bản mã. Khóa dùng trong DES có độ dài toàn bộ là 64 bit. Tuy nhiên chỉ có 56 bit thực sự được sử dụng; 8 bit còn lại chỉ dùng cho việc kiểm tra. Vì thế, độ dài thực tế của khóa chỉ là 56 bit. Quá trình thay thế Từ cuối thập niên 1980, đầu thập niên 1990, xuất phát từ những lo ngại về độ an toàn và tốc độ thấp khi áp dụng bằng phần mềm, giới nghiên cứu đã đề xuất khá nhiều thuật toán mã hóa khối để thay thế DES. Những ví dụ tiêu biểu bao gồm: RC5, Blowfish, IDEA (International Data Encryption Algorithm, hay Thuật toán mã hóa dữ liệu quốc tế), NewDES, SAFER, CAST5 và FEAL. Hầu hết những thuật toán này có thể sử dụng từ khóa 64 bit của DES mặc dù chúng thường được thiết kế hoạt động với từ khóa 64 bit hay 128 bit. Ngay bản thân DES cũng có thể được sử dụng một cách an toàn hơn. Những người sử dụng DES trước đây có thể dùng Triple DES (hay TDES). Đây là phương pháp được một trong những người phát minh ra DES miêu tả và kiểm tra (Xem thêm FIPS PUB 46-3). Triple DES sử dụng DES ba lần cho một văn bản với những khóa khác nhau. Hiện nay Triple DES được xem là an toàn mặc dù tốc độ thực hiện khá chậm. Một phương pháp khác ít đòi hỏi khả năng tính toán hơn là DES-X với việc tăng độ dài từ khóa bằng cách thực hiện phép XOR từ khóa với phần thêm trước và sau khi thực hiện DES. Một phương pháp nữa là GDES được đề xuất làm tăng tốc độ mã hóa nhưng nó được chứng tỏ là không an toàn trước tấn công vi sai (differential cryptanalysis). Năm 2001, sau một cuộc thi quốc tế, NIST đã chọn ra một thuật toán mới, AES, để thay thế cho DES. Tác giả của thuật toán được biết dưới tên là Rijndael. Những thuật toán khác có tên trong danh sách cuối cùng của cuộc thi AES bao gồm: RC6, Serpent, MARS và Twofish. Đánh giá 1.5.1 Ưu điểm Nếu dữ liệu đang lựa chọn bảo vệ chỉ có tuổi thọ vài giờ thì lựa chọn DES là hợp lỹ. Phương pháp mã hoá DES nhanh hơn so với thuật toán TDES/AES. 1.5.2 Nhược điểm Hiện nay DES được xem là không đủ an toàn cho nhiều ứng dụng. Nguyên nhân chủ yếu là độ dài 56 bit của khóa là quá nhỏ. Khóa DES đã từng bị phá trong vòng chưa đầy 24 giờ. Đã có rất nhiều kết quả phân tích cho thấy những điểm yếu về mặt lý thuyết của mã hóa có thể dẫn đến phá khóa, tuy chúng không khả thi trong thực tiễn. Thuật toán được tin tưởng là an toàn trong thực tiễn có dạng Triple DES (thực hiện DES ba lần), mặc dù trên lý thuyết phương pháp này vẫn có thể bị phá. Gần đây DES đã được thay thế bằng AES (Advanced Encryption Standard, hay Tiêu chuẩn Mã hóa Tiên tiến). Mặc dù đã có nhiều nghiên cứu về phá mã DES hơn bất kỳ phương pháp mã hóa khối nào khác nhưng phương pháp phá mã thực tế nhất hiện nay vẫn là tấn công kiểu duyệt toàn bộ. Nhiều đặc tính mật mã hóa của DES đã được xác định và từ đó ba phương pháp phá mã khác được xác định với mức độ phức tạp nhỏ hơn tấn công duyệt toàn bộ. Tuy nhiên các phương pháp này đòi hỏi một số lượng bản rõ quá lớn (để tấn công lựa chọn bản rõ) nên hầu như không thể thực hiện được trong thực tế. “NSA(National Standards Association) coi DES là một trong những sai lầm lớn nhất. Nếu họ biết trước rằng chi tiết của thuật toán sẽ được công bố để mọi người có thể viết chương trình phần mềm, họ sẽ không bao giờ đồng ý.” 2. Thuật toán Triple 2.1 khái niệm 3DES (Triple DES), là thuật toán mã hóa khối trong đó thông khối thông tin 64 bit sẽ được lần lượt mã hóa 3 lần bằng thuật toán mã hóa DES với 3 chìa khóa khác nhau. Thuật toán 3DES có thể minh họa như sau: trong đó M là thông điệp cần mã hóa, k1, k2 và k3 là 3 chìa khóa. 2.2 . Mô tả thuật toán Triple DES sử dụng một chìa khóa bó "" trong đó bao gồm ba DES phím , K 1, K 2 và K 3, mỗi 56 bit (không bao gồm các bit chẵn lẻ ). Các thuật toán mã hóa là: bản mã = E K3 (D K2 (E K1 (chữ thô))) . Tức là, DES mã hóa với 1 K, giải mã DES với K 2, sau đó mã hóa DES với K 3. Giải mã là ngược lại: chữ thô = D K1 (E K2 (D K3 (mã hóa))) Tức là giải mã với 3 K, mã hóa với K 2, sau đó giải mã với K 1. . Mỗi mã hóa ba mã hóa một khối 64 bit dữ liệu. . Trong mỗi trường hợp hoạt động giữa là đảo ngược của việc đầu tiên và cuối cùng.Điều này giúp cải thiện sức mạnh của thuật toán khi sử dụng tùy chọn keying 2, và cung cấp tính tương thích ngược với DES với keying tùy chọn 3. 2.3 Lịch sử phát triển Triple DES là thế hệ mới của DES, nó xuất hiện sau DES . Năm 1988 các chuyên gia tìm cách phá khóa cho Triple DES nhưng không rất khó 2.4 Quá trình thay thế Triple ECB (Electronic Code Book) Phiên bản này của Triple DES hoạt động chính xác giống chế độ ECB của DES. Triple ECB là loại mã hóa được sử dụng bởi Private Detective. Đây là phương thức phổ biến nhất đang được sử dụng. Chế độ ECB Dữ liệu được chia thành các khối 64-bit và mỗi khối được mã hóa cùng một lúc. Mã hóa riêng biệt với các khối khác nhau là hoàn toàn độc lập với nhau. Điều này có nghĩa rằng nếu dữ liệu được truyền qua mạng hoặc đường dây điện thoại, lỗi truyền dẫn sẽ chỉ ảnh hưởng đến khối có chứa các lỗi đó . Nó cũng có nghĩa là,các khối có thể được sắp xếp lại. ECB là yếu nhất trong các phương thức khác nhau vì không có các biện pháp an ninh bổ sung được thực hiện bên cạnh các thuật toán DES cơ bản. However, Tuy nhiên, ECB là cách nhanh nhất và dễ nhất để thực hiện, làm cho nó phương thức phổ biến nhất của DES được thấy trong các ứng dụng thương mại. Đây là phương thức hoạt động được sử dụng bởi Private Detective. Triple CBC (Cipher Block Chaining) Phương pháp này rất giống với tiêu chuẩn DES chế độ CBC .. Như với Triple ECB, hiệu quả chính chiều dài là 168 bits và các phím được sử dụng trong cùng một cách thức,..Các bit đầu tiên có hành vi giống như là vector khởi cho DES. Triple ECB sau đó được thực hiện cho một khối 64-bit duy nhất của chữ thô. Các bản mã kết quả là sau đó XORed với khối chữ thô tiếp theo sẽ được mã hóa, và thủ tục được lặp lại.. Phương pháp này cho biết thêm một lớp bảo mật để Triple DES và do đó an toàn hơn Triple ECB, mặc dù nó không được sử dụng rộng rãi như Triple ECB. Chế độ CBC mỗi khối của bản mã được mã hóa ECB là XORed với khối chữ thô tiếp theo sẽ được mã hóa, do đó làm cho tất cả các khối phụ thuộc vào tất cả các khối trước. Điều này có nghĩa rằng để tìm thấy những chữ thô của một khối cụ thể, bạn cần phải biết bản mã, chìa khóa, và các bản mã cho khối trước hối đầu tiên được mật mã không có bản mã trước đây, do đó, chữ thô là XORed với một số 64-bit được gọi là Vector khởi, Vì vậy, nếu dữ liệu được truyền qua mạng hoặc đường dây điện thoại và có một lỗi truyền dẫn (thêm hoặc xóa các bit), lỗi này sẽ được chuyển đến tất cả các khối tiếp theo kể từ khi mỗi khối là phụ thuộc vào cuối. Nếu các bit chỉ là sửa đổi quá cảnh (như là trường hợp phổ biến hơn) các lỗi sẽ chỉ ảnh hưởng đến tất cả các bit trong khối thay đổi, và các bit tương ứng trong khối sau đấy, các lỗi không lan truyền thêm nữa. Phương thức này hoạt động là an toàn hơn ECB vì bước thêm XOR cho biết thêm một lớp nữa vào quá trình mã hóa. 2.5 Đánh giá 2.5.1 Ưu điểm a. Triple DES ECB: Tốc độ mã hóa nhanh đơn giản dễ thực hiện nhưng tính bảo mật yếu. Mỗi khối được mã hóa độc lập với khối khác. Với mỗi khóa là một kí hiệu mã hóa khác nhau Bản rõ được mã hóa thành các khối giống hệt bản mã khối do đó nó không ẩn được các mô hình dữ liệu tốt Nó không cung cấp những gói tin quan trọng cần phải được bảo mật và nó không khuyến khích được sử dụng một giao thức mật mã nào khác Những lỗi mang tính đồng bộ có thể khôi phục được. b. Triple DES CBC 2.5.2 Nhược điểm Có mật mã tuần tự (tức là, nó không thể được song song), và rằng thông điệp phải được thêm vào một bội số của kích thước khối cơ yếu. Một cách để xử lý vấn đề này cuối cùng là thông qua các phương pháp được gọi là ăn cắp bản mã . Chỉ sử dụng một kích thước phản hồi bằng kích thước khối Mẫu chữ thô được che giấu bởi XORing với bản mã khối trước đấy. Dữ liệu cho mã hóa khối là ngẫu nhiên. Một gói tin có thể được mã hóa bởi hơn một khóa. Chữ thô thì khó để thao tác nhưng với khối thì ngược lại. Khối đầu tiên có thể thay đổi được cho phép kiểm soát một số thay đổi trong khối này Một lỗi mã hóa có thể ảnh hưởng đến một khối chứa đầy đủ các chữ thô và bị tương ứng trong khối tiếp theo Phương pháp này thêm một lớp phụ nhằm mục đích bảo mật đối với TDES và do đó nó an toàn hơn triple ECB mặc dù nó không được sử dụng rộng rãi như triple ECB 3. Thuật toán AES 3.1 Khái niệm: AES (viết tắt của từ tiếng Anh: Advanced Encryption Standard, hay Tiêu chuẩn mã hóa tiên tiến) là một thuật toán mã hóa khối được chính phủ Hoa kỳ áp dụng làm tiêu chuẩn mã hóa. Giống như tiêu chuẩn tiền nhiệm DES, AES được kỳ vọng áp dụng trên phạm vi thế giới và đã được nghiên cứu rất kỹ lưỡng. AES được chấp thuận làm tiêu chuẩn liên bang bởi Viện tiêu chuẩn và công nghệ quốc gia Hoa kỳ (NIST) sau một quá trình tiêu chuẩn hóa kéo dài 5 năm. 3.2 Quá trình phát triển. Thông tin chung Tác giả Vincent Rijmen và Joan Daemen Năm công bố 1998 Phát triển từ Square (mã hóa) Các thuật toán dựa trên Crypton (mã hóa), Anubis (mã hóa), GRAND CRU Chi tiết thuật toán Khối dữ liệu 128 bít Độ dài khóa 128, 192 hoặc 256 bít Cấu trúc Mạng thay thế-hoán vị Số chu trình 10, 12 hoặc 14 (tùy theo độ dài khóa) AES ngày nay được sử dụng rộng rãi trong các công nghệ truyền thông mới như trong IEEE 802.11i, WiMAX... bởi tính bảo mật của nó. Vào thời điểm năm 2006, dạng tấn công lên AES duy nhất thành công là tấn công qua kênh phụ. 3.3 Mô tả thuật toán. Khác với với DES sử dụng mạng Feistel, Rijndael sử dụng mạng thay thế-hoán vị. AES có thể dễ dàng thực hiện với tốc độ cao bằng phần mềm hoặc phần cứng và không đòi hỏi nhiều bộ nhớ. Do AES là một tiêu chuẩn mã hóa mới, nó đang được triển khai các phép toán trong thuật toán AES đều thực hiện trong một trường hữu hạn. 3.4 Quá trình thay thế AES làm việc với từng khối dữ liệu 4×4 byte (tiếng Anh: state, khối trong Rijndael có thể có thêm cột). Quá trình mã hóa bao gồm 4 bước: AddRoundKey — mỗi byte của khối được kết hợp với khóa con, các khóa con này được tạo ra từ quá trình tạo khóa con Rijndael. SubBytes — đây là phép thế (phi tuyến) trong đó mỗi byte sẽ được thế bằng một byte khác theo bảng tra (Rijndael S-box). ShiftRows — đổi chỗ, các hàng trong khối được dịch vòng. MixColumns — quá trình trộn làm việc theo các cột trong khối theo một phép biến đổi tuyến tính. Tại chu trình cuối thì bước MixColumns được thay thế bằng bước AddRoundKey Bước AddRoundKey Tại bước này, khóa con được kết hợp với các khối. Khóa con trong mỗi chu trình được tạo ra từ khóa chính với quá trình tạo khóa con Rijndael; mỗi khóa con có độ dài giống như các khối. Quá trình kết hợp được thực hiện bằng cách XOR từng bít của khóa con với khối dữ liệu. Bước SubBytes Các byte được thế thông qua bảng tra S-box. Đây chính là quá trình phi tuyến của thuật toán. Hộp S-box này được tạo ra từ một phép nghịch đảo trong trường hữu hạn GF (28) có tính chất phi tuyến. Để chống lại các tấn công dựa trên các đặc tính đại số, hộp S-box này được tạo nên bằng cách kết hợp phép nghịch đảo với một phép biến đổi affine khả nghịch. Hộp S-box này cũng được chọn để tránh các điểm bất động (fixed point). Bước ShiftRows Các hàng được dịch vòng một số vị trí nhất định. Đối với AES, hàng đầu được giữ nguyên. Mỗi byte của hàng thứ 2 được dịch trái một vị trí. Tương tự, các hàng thứ 3 và 4 được dịch 2 và 3 vị trí. Do vậy, mỗi cột khối đầu ra của bước này sẽ bao gồm các byte ở đủ 4 cột khối đầu vào. Đối với Rijndael với độ dài khối khác nhau thì số vị trí dịch chuyển cũng khác nhau. Bước MixColumns Bốn byte trong từng cột được kết hợp lại theo một phép biến đổi tuyến tính khả nghịch. Mỗi khối 4 byte đầu vào sẽ cho một khối 4 byte ở đầu ra với tính chất là mỗi byte ở đầu vào đều ảnh hưởng tới cả 4 byte đầu ra. Cùng với bước ShiftRows, MixColumns đã tạo ra tính chất khuyếch tán cho thuật toán. Mỗi cột được xem như một đa thức trong trường hữu hạn và được nhân với đa thức c(x) = 3x3 + x2 + x + 2 (modulo x4 + 1). Vì thế, bước này có thể được xem là phép nhân ma trận trong trường hữu hạn.sử dụng đại trà. Thuật toán AES hoạt động trên một khối dữ liệu có độ lớn 128 bit, được tổ chức và trong một ma trận có kích thước 4 x 4 gọi là một state(trạng thái). Kích cỡ của key mã hoá có chiều dài 128,192, hay 256 bit, đặc biệt Wimax sử dụng key 128 bit. Chương trình dưới đây mô tả thuật toán AES này. Cipher(input, output, roundkey) begin state = input round = 0 AddRoundKey (state, roundkey[round]) for round = 1 to 9 in steps of 1 SubBytes(state) ShiftRows(state) MixColumns(state) AddRoundKey(state,roundkey[round]) end for SubBytes(state) ShiftRows(state) AddRoundKey(state, roundkey[round+1]) output = state end Với hàm SubBytes, mỗi byte trong state được thay thế với các byte khác, sử dụng một bảng look-up được gọi là S-box. S-box được dùng bắt nguồn từ hàm ngược trên trường GF(28), có tính chất tuyệt đối không tuyến tính. Hàm này chỉ duy nhất cung cấp tính không tuyến tính cho loại mã hoá này Với hàm ShiftRows, mỗi hàng được chuyển tuần tự với một số lượng bước là cố định. Đặc biệt, các phần tử của hàng đầu tiên sẽ không thay đổi vị trí, hàng thứ hai dịch sang trái một cột, hàng thứ ba dịch sang trái hai cột, hàng cuối cùng sẽ dịch sang trái ba cột. Thao tác này nhằm đảm bảo mỗi cột của bảng đầu ra đều được tạo thành từ các cột của bảng trạng thái đầu vào. 3.5 Đánh giá. 3.5.1 Ưu điểm Thiết kế và độ dài khóa của thuật toán AES (128, 192 và 256 bít) là đủ an toàn để bảo vệ các thông tin được xếp vào loại TỐI MẬT (secret). Các phiên bản thực hiện AES nhằm mục đích bảo vệ hệ thống an ninh hay thông tin quốc gia phải được NSA kiểm Vào tháng 6 năm 2003, chính phủ Hoa kỳ tuyên bố AES có thể được sử dụng cho thông tin mật. Vào thời điểm năm 2006, dạng tấn công lên AES duy nhất thành công là tấn công kênh bên (side channel attack]). Tấn công kênh bên là tấn công tấn cồng trực tiếp vào thuật toán mã hóa, tấn công lên các hệ thống thực hiện thuật toán có sơ hở làm lộ dữ liệu. 3.5.2 Nhược điểm. Về an ninh của AES thì các nhà khoa học đánh giá là chưa cao. Họ cho rằng ranh giới giữa số chu trình của thuật toán và số chu trình bị phá vỡ quá nhỏ. Nếu các kỹ thuật tấn công được cải thiện thì AES có thể bị phá vỡ. Ở đây, phá vỡ có nghĩa chỉ bất cứ phương pháp tấn công nào nhanh hơn tấn công kiểu duyệt toàn bộ. Vì thế một tấn công cần thực hiện 2120 cũng được coi là thành công mặc dù tấn công này chưa thể thực hiện trong thực tế. Tại thời điểm hiện nay, nguy cơ này không thực sự nguy hiểm và có thể bỏ qua. Tấn công kiểu duyệt toàn bộ quy mô nhất đã từng thực hiện là do distributed.net thực hiện lên hệ thống 64 bít RC5 vào năm 2002 (Theo định luật Moore thì nó tương đương với việc tấn công vào hệ thống 66 bít hiện nay). Một vấn đề khác nữa là cấu trúc toán học của AES. Không giống với các thuật toán mã hóa khác, AES có mô tả toán học khá đơn giản. Tuy điều này chưa dẫn đến mối nguy hiểm nào nhưng một số nhà nghiên cứu sợ rằng sẽ có người lợi dụng được cấu trúc này trong tương lai. Một ví dụ điến hình là Vào năm 2002, Nicolas Courtois và Josef Pieprzyk phát hiện một tấn công trên lý thuyết gọi là tấn công XSL và chỉ ra điểm yếu tiềm tàng của AES. Tuy nhiên, một vài chuyên gia về mật mã học khác cũng chỉ ra một số vấn đề trong cơ sở toán học của tấn công này và cho rằng các tác giả đã có sai lầm trong tính toán. Việc tấn công dạng này có thực sự trở thành hiện thực hay không vẫn còn để ngỏ và cho tới nay thì tấn công XSL vẫn chỉ là KẾT LUẬN Không thể phủ nhận là thuật toán DES, Triple DES, AES có nhiều ứng dụng trong viễn thông và công nghệ thông tin, việc làm chủ và cứng hóa các thuật toán rất có ý nghĩa đối với sự an toàn trong các giao dịch trên mạng, nhất là trong ứng dụng TMĐT. Nhìn chung, đối với Việt Nam, việc làm chủ công nghệ cứng hóa thuật toán DES, Triple DES, AES rất có ý nghĩa trong việc đảm bảo an toàn giao dịch trên mạng, đảm bảo an toàn trong truyền tin cho các đơn vị cơ yếu tại Việt Nam. Hiện nay, nhiều chuyên gia đang triển khai cứng hóa thuật toán DES, Triple DES, AES nhờ các công nghệ thiết kế số hiện đại, các chương trình và mạch phần cứng. Trên đây là bài thảo luận của nhóm chúng tôi. Trong quá trình tìm hiểu tài liệu và sự hiểu biết của nhóm chúng tôi về đề tài còn ít nên không thể không tránh khỏi những sai sót. Kính mong cô giáo và các bạn đóng góp ý kiến để bài thảo luận của nhóm chúng tôi được hoàn thiện hơn. CỘNG HOÀ XÃ HỘI CHỦ NGHĨA VIỆT NAM Độc lập - Tự do – Hạnh phúc ---o0o--- BIÊN BẢN HỌP NHÓM 7 (lần 1) 9h Ngày 02.5.2010 tại sân thư viện trường Đại học Thương Mại, các thành viên đi đầy đủ. Công việc: + Xây dựng đề cương + Phân công công việc : Nhóm 1: làm về DES gồm: Nguyễn Hoàng Quý, Nguyễn Thị Mai Phương, Nguyễn Ngọc Phúc ( Quý làm nhóm trưởng) Nhóm 2: làm về Triple DES gồm : Nguyễn Văn Thành I4, Lê Hoàng Sơn, Nguyễn Văn Thanh( Thành làm nhóm trưởng) Nhóm 3: làm về AES gồm: Mai Thị Thắm I1, Vũ Thị Quyên,Nguyễn Thị Thu Thanh ( Thắm I1 làm nhóm trưởng) Trương Thị Minh Phúc làm phần A, phần một trong B, phần C và tổng hợp bài, viết biên bản họp nhóm.. Cuộc họp nhóm kết thúc vào hồi 11h cùng ngày. Xếp loại các thành viên trong nhóm: Họ tên Xếp loại 1. Nguyễn Ngọc Phúc C 2. Trương Thị Minh Phúc A 3. Nguyễn Thị Mai Phương B 4. Nguyễn Hoàng Quý A 5. Vũ Thị Quyên B 6. Lê Hoàng Sơn B 7. Mai Thị Thắm A 8. Nguyễn Thị Thu Thanh B 9. Nguyễn Văn Thanh C 10. Nguyễn Văn Thành (I4) B Nhóm Trưởng Thư ký Trương Thị Minh Phúc Trương Thị Minh Phúc

Các file đính kèm theo tài liệu này:

  • docTìm hiểu, đưa ra ưu và nhược điểm các phiên bản của các thuật toán- DES, Triple DES, AES.doc