Nghiên cứu và đánh giá độ an toàn của chuẩn mã hóa dữ liệu DES

39 1.9K 4
Nghiên cứu và đánh giá độ an toàn của chuẩn mã hóa dữ liệu DES

Đ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

Luận Văn: Nghiên cứu và đánh giá độ an toàn của chuẩn mã hóa dữ liệu DES

Nghiên cứu, thực hiện một số test để đánh giá độ an toàn của DESLời mở đầu Máy tính đợc phát minh vào năm 1942, lúc đó nó nằm ngoài tầm tay của các tổ chức, cá nhân vì nó yêu cầu cao về chi phí, kích cỡ, năng lợng Ngày nay, máy tính đã rất phổ biến ngời ta không sử dụng một máy tính đơn lẻ nữa kết nối các máy tính với nhau nhằm tăng khả năng làm việc, trao đổi cập nhật thông tin. Các máy tính đợc kết nối với nhau đợc gọi là mạng.Trên phạm vi toàn cầu ngời ta dung mạng Internet, ở mỗi quốc gia đều có những mạng riêng của minh (Intranet) với rất nhiều những mạng mang tính bộ phận( có thể là LAN( Local Area Network- Mạng cục bộ) hoặc WAN( Wide Area Network- Mạng diện rộng) hoặc MAN(Metropolitan Area Network- Mạng vùng Thành phố)). Nhiều dịch vụ của mạng nh : th điện tử, chuyển nhận tiền, thơng mại điện tử đã đợc sử dụng rộng rãi.Khi tham gia vào mạng, vấn đề quan trọng đặt ra là làm thế nào để bảo mật thông tin, dữ liệu. Thông tin trên mạng đang chuyển hay đợc lu trữ đều cần đợc bảo vệ. Hoặc các thông tin đó cần đợc giữ bí mật hoặc chúng phải cho phép ngời ta kiểm tra để tin tởng rằng chúng không bị sửa đổi so với dạng nguyên thuỷ của mình. Trớc yêu cầu đó một số giải pháp kỹ thuật đã đợc xây dựng nhằm đảm bảo tính an toàn dữ liệu tại nơi lu trữ cũng nh dữ liệu đợc truyền qua mạng. Các giải pháp đó là ngời ta sử dụng các hệ mật. Có các hệ mật cổ điển nh : mật thay thế, mật dịch chuyển, mật Affine, mật Vigenere , các hệ mật hiện đại 1 Nghiên cứu, thực hiện một số test để đánh giá độ an toàn của DESnh : mật khoá công khai RSA, chữ ký số, chuẩn dữ liệu DES Nh ng khi sử dụng các hệ mật để hoá dữ liệu cần phải quan tâm đến độ an toàn của các hệ mật mình đã sử dụng.Trong đề tài này tôi nghiên cứu về cách đánh giá độ an toàn của chuẩn dữ liệu DES . Để kiểm tra đánh giá độ an toàn của DES ta có hai cách. Đó là phơng pháp tấn công DES phơng pháp đánh giá các tính chất của DES. Sự khác nhau giữa hai phơng pháp này là một phơng pháp thì tấn công trực tiếp vào DES, nếu phá vỡ DES thì ta có thể nói rằng DES không an toàn ngợc lại; phơng pháp đánh giá tính chất thì kiểm tra các tính chất của DES, nếu thoả mãn điều kiện thì có thể nói là an toàn ngợc lại. tôi đi sâu nghiên cứu phơng pháp đánh giá các tính chất của DES. 2 Nghiên cứu, thực hiện một số test để đánh giá độ an toàn của DESChơng ITổNG QUAN Về NGÔN NGữ CI.1. Lịch sử hình thành phát triển Ngôn ngữ C do Brian W.Kernighan Dennis M.Ritchie phát triển vào đầu những năm 70 tại phòng thí nghiệm BELL ( Hoa Kỳ) với mục đích ban đầu là để phát triển hệ điều hành UNIX. Bối cảnh ra đời xuất phát từ nhu cầu cần phải có một ngôn ngữ lập trình hệ thống thay thế cho hợp ngữ (Assembly) vốn nặng nề, độ tin cậy thấp khó chuyển đổi giữa các hệ máy tính khác nhau. Ngoài việc C đợc dùng để viết hệ điều hành UNIX, ngời ta nhanh chóng nhận ra sức mạnh của C trong việc xử lý các vấn đề hiện đại của tin học: xử lý số, văn bản, cơ sở dữ liệu, lập trình hớng đối tợng. C đã trở thành một chuẩn mặc nhiên. Liên quan đến sự hình thành phát triển của ngôn ngữ, có thể kể đến một số sự kiện sau: - Năm 1978, cuốn giáo trình dạy lập trình bằng ngôn ngữ C The C programming langguage do chính 2 tác giả của ngôn ngữ Brian W.Kernighan Dennis M.Ritchie biên soạn đã đợc xuất bản đợc phổ biến rộng rãi. - Năm 1983 một tiểu ban của viện tiêu chuẩn quốc gia Mỹ (ANSI) đợc thành lập nhằm đề xuất ra một chuẩn cho ngôn ngữ C. - Năm 1988 chuẩn ANSI C chính thức đợc ban hành. Chuẩn này bao gồm các mô tả về ngôn ngữ theo Brian W.Kernighan Dennis M.Ritchie quy định các th viện chuẩn của ngôn ngữ C, nhờ đó tăng tính khả chuyển của chơng trình viết bằng C. 3 Nghiên cứu, thực hiện một số test để đánh giá độ an toàn của DES - Trong thế giới máy vi tính có các hệ chơng trình dịch C nổi tiếng nh: Turbo C, Borland C của Borland Inc; MSC, VC của Microsoft Corp; Lattice C của Lattice.I. 2. Các tính chất đặc trng của ngôn ngữ C là một ngôn ngữ lập trình vạn năng đợc dùng để viết các hệ điều hành nh UNIX cũng nh các chơng trình ứng dụng nh quản lý văn bản, cơ sở dữ liệu. C là một ngôn ngữ có mức độ thích nghi cao, gọn không nhất thiết phải cần tới hợp ngữ. C độc lập với bất kỳ kiến trúc máy đặc thù nào với một chút thận trọng vẫn dễ dàng viết đợc các chơng trình khả chuyển (portability) tức là những chơng trình có thể chạy không cần phải thay đổi gì khi có sự thay đổi về phần cứng. C đợc sử dụng rộng rãi trong các lĩnh vực chuyên nghiệp vì đáp ứng đợc các yêu cầu: hiệu quả cao trong soạn thảo chơng trình dịch ra máy; tiếp cận trực tiếp với các thiết bị phần cứng. C không đa ra các phép toán xử lý trực tiếp các đối tợng hợp thành nh là đối tợng toàn vẹn; không xác định bất kỳ một phơng tiện cấp phát bộ nhớ nào khác ngoài cấp phát tĩnh, cấp phát động theo nguyên tắc xếp chồng cho các biến cục bộ của hàm; không cung cấp cơ chế I/O, không có phơng pháp truy nhập tệp. Tất cả các cơ chế này đợc thực hiện bằng những lời gọi hàm trong th viện. C đa ra các kết cấu điều khiển cơ bản cần cho các chơng trình có cấu trúc nh: nhóm tuần tự các câu lệnh, chọn quyết định (if); chu trình với phép kiểm tra kết thúc ở đầu (for, while), hoặc ở cuối (do .while); việc lựa chọn một trong các tr-ờng hợp có thể (switch). C cung cấp con trỏ khả năng định địa chỉ số học. Các đối của hàm đợc truyền bằng cách sao chép giá trị đối hàm đợc gọi không thể thay đổi đợc giá trị của đối hiện tại. C cho phép hàm đợc gọi đệ quy các biến cục bộ của hàm sẽ tự động sinh ra hoặc tạo mới với mỗi lần gọi mới. Các định nghĩa hàm không đợc lồng nhau 4 Nghiên cứu, thực hiện một số test để đánh giá độ an toàn của DESnhng các biến có thể đợc khai báo theo kiểu cấu trúc khối. Các hàm có thể dịch tách biệt. Các biến có thể trong hoặc ngoài hàm. Hàm chỉ biết đợc các biến ngoài trong cùng một tệp gốc, hoặc biến tổng thể extern. Các biến tự động có thể đặt trong các thanh ghi để tăng hiệu quả, nhng việc khai báo thanh ghi chỉ là một hớng dẫn cho chơng trình dịch không liên quan gì đến các thanh ghi đặc biệt của máy.C không phải là một ngôn ngữ có kiểu mạnh mẽ theo nghĩa của PASCAL hoặc ALGOL/68. Nó tơng đối thoải mái trong chuyển đổi dữ liệu nhng không tự động chuyển các kiểu dữ liệu một cách phóng túng nh của PL/I. Các chơng trình dịch hiện có đều không đa ra cơ chế kiểm tra chỉ số mảng, kiểu đối sốMặc vậy, C vẫn còn tồn tại một số nhợc điểm nh một số phép toán có thứ tự thực hiện cha đúng; một số phần cú pháp có thể làm tốt hơn; hiện có nhiều phiên bản của ngôn ngữ, chỉ khác nhau ở một vài chi tiết.Tóm lại, C vẫn tỏ ra là một ngôn ngữ cực kỳ hiệu quả đầy sức diễn cảm đối với nhiều lĩnh vực ứng dụng lập trình. Hơn nữa, ta biết rằng hệ mật chuẩn hay chữ ký số luôn cần một bộ số rất lớn tức là kích cỡ của không gian khoá rất lớn khoảng trên 300 số thập phân. Do đó, ngôn ngữ C đủ mạnh để có thể đáp ứng đợc điều đó.Chơng IICác hệ mật cổ điển 5 Nghiên cứu, thực hiện một số test để đánh giá độ an toàn của DESII.1 Các hệ mậtMục tiêu cơ bản của mật là cho phép hai ngời, thờng đợc đề cập đến nh Alice Bob, liên lạc trên kênh không an toàn theo cách đối thủ nh Oscar không thể hiểu cái gì đang đợc nói. Kênh này có thể là đờng điện thoại hoặc máy tính chẳng hạn.Định nghĩa : Hệ mật là một bộ năm thành phần (P,C,K,E,D) thoả mãn các điều kiện sau:1) P là tập hữu hạn các bản rõ có thể2) C là tập hữu hạn các bản có thể3) K là tập hữu hạn các khoá có thể4) Với mỗi k K, tồn tại một quy tắc ek E một quy tắc giải tơng ứng dk D. Mỗi ek : P C dk : C P thoả mãn : dk(ek(x)) = x với mỗi bản rõ x PĐiều kiện 4 là điều kiện chính. Nó có nghĩa là nếu bản rõ x ( plaintext ) đợc hoá sử ek sau đó bản ( ciphertext ) kết quả đợc giải sử dụng dk thu đợc kết quả là bản rõ nguyên bản x.Giả sử, Alice muốn gửi cho Bob một thông báo nào đấy không cho ngời khác xem, thông báo đó có thể là bài tiếng Anh, dữ liệu sô v.v có cấu trúc tuỳ ý. Thông tin đó đợc gọi là bản rõ. Alice Bob phải thống nhất chọn một hệ mật chọn khoá ngẫu nhiên k K. Họ làm điều này một cách an toàn, chẳng hạn khi họ ở cùng một chỗ không bị Oscar quan sát hoặc họ dùng kênh an toàn khi ở xa nhau.Sau đó, giả sử Alice muốn gửi thông báo cho Bob trên kênh không an toàn. Thông báo đó là dòng: 6 Nghiên cứu, thực hiện một số test để đánh giá độ an toàn của DESx = x1, x2, , xn với n 1, xi P, 1 i nMỗi xi đợc hoá sử dụng quy tắc ek đợc định rõ bởi khoá định trớc K. Từ đó, Alice tính:yi = ek( xi), với 1 i n, bản thu đợc là dòng:y = y1, y2, , ynAlice gửi nó trên kênh, Oscar thấy bản này trên kênh không an toàn cũng không thể xác định đợc bản rõ là gì. Khi Bob nhận đợc y = y1, y2, , yn, sẽ sử dụng dk để giả mã, thu đợc bản rõ ban đầu x = x1,x2, ,xn.Rõ ràng, với x1 x2 thì ek(x1) ek(x2). Nếu y = ek(x1)= ek(x2) khi x1 = x2 thì Bob không biết đợc y phải gải cho x1 hay x2. Chú ý rằng P = C thì mỗi hàm hoá ek là một phép hoán vị. Có nghĩa là, nếu tập các bản rõ bản là tơng tự thì mỗi hàm hóa chỉ sắp xếp ( hay hoán vị ) lại các phần tử của tập này. X y y x k kSau đây là các hệ mật Alice Bob có thể dùng.II.1.1 Mật dịch chuyểnĐịnh nghĩa : Cho P = C = K = Z26 Với 0 k 25, xác định : ek(x) = x + k mod 26và dk(y) = y + k mod 26 với x,y Z26Ví dụ : Giả sử khoá k = 11 bản rõ là : 7OscarAlice Bộ hoá Bộ giải BobKênh an toànNguồn khoá Nghiên cứu, thực hiện một số test để đánh giá độ an toàn của DESWEWILLMEETATMIDNIGHTTrớc hết, phải số hoá nó thu đợc nh sau22 4 22 8 11 11 12 4 4 190 19 12 8 3 13 8 6 7 19 Tiếp theo, cộng 11 vào mỗi giá trị, rút gọn mỗi tổng theo modulo 267 15 7 19 22 22 23 15 15 411 4 23 19 14 24 19 17 18 4Cuối cùng chuyển dãy số thành dãy chữH P H T W W X T P E L E X T O Y T R S EĐể giải mã, Bob thực hiện theo trình tự ngợc lại. Trớc hết chuyển bản thành dãy các số, tiếp theo trừ mỗi giá trị cho 11( rút gọn cho modulo 26) cuối cùng chuyển dãy số thành dãy chữ.Một hệ mật đợc sử dụng trong thực tế, nó phải thoả mãn hai tính chất sau:1) ek dk khi tác động vào x hoặc y là có hiệu quả tính toán2) Một đối thủ khi có bản y, sẽ không thể xác định khoá k đợc sử dụng hoặc bản rõ xII.1.2 Mật thay thếĐịnh nghĩa : Cho P = C = Z26 , K gồm tất cả các hoán vị trên tập 26 phần tử từ 0,1, ,25. Với mỗi hoán vị K, xác định :e(x) = (x) d(y) = -1(y) với -1 là hoán vị ngợc củadụ : = 8Abcdefghij Klmnopqrst UvwxyzXnyahpogzq Wbtsflrcvm Uekjdi Nghiên cứu, thực hiện một số test để đánh giá độ an toàn của DESe(a) = (a) = xe(b) = (b) = n -1 = d(x) = -1(x) = a d(n) = -1(n) = bII.1.3 Mật AffineMật dịch chuyể là trờng hợp đặc biệt của mật thay thế. Mật affine cũng là một trờng hợp của mật thay thế.Trong mật affine, hàm có dạng :E(x) = ax + b mod 26 với a,b Z26Hàm này đợc gọi là hàm affineKhi a = 1 ta đợc mật dịch chuyển.Để giải đợc, hàm affine phải song ánh, nghĩa là với mọi y Z26 , phơng trình ax + b = y (mod 26) phải có nghiệm duy nhất. Đồng d thức này tơng đối với : ax = y b (mod 26). Phơng trình này có nghiệm duy nhất khi chỉ khi (a,26) = 1.Để tìm nghiệm x, trớc tiên ta tìm số a-1 a26 thoả mãn : a.a-1 = 1 mod 26 . Khi đó d(y) = a-1(y - b) mod (26)Định nghĩa : Cho P = C = Z26 K = {(a,b) Z26 * Z26 : (a,26) = 1} với k = (a,b) K, xác định :ek(x) = ax + b mod 26 dk(y) = a-1(y - b) mod 26 với x,y Z26II.1.4 Mật Vigenere 9Abcdefghij Klmnopqrst UvwxyzDlryvohezx Wptbgfjqnm Uskaci Nghiên cứu, thực hiện một số test để đánh giá độ an toàn của DESMật Vigenere là mật đa biểu, tức là một ký tự có thể đợc ánh xạ thành nhiều ký tự khác.Định nghĩa : Cho m là số nguyên dơng cố định, P = C = K = (Z26)m với khoá K = (k1,k2, .,km), chúng ta xác định :ek(x1,x2, .,xm) = (x1+k1,x2+k2, .,xm+km) dk(y1,y2, .,ym) = (y1- k1,y2- k2, .,ym- km) tất cả các hoạt động đợc tiến hành trong Z26Ví dụ : m = 6, khoá k = CIPHER = (2,8,15,7,4,17)Thông báo : THISCRIPTOSYSTEMISNOTSECURETa chuyển thành số :2 8 18 13 14 19 18 4 20 17 47 4 17 2 8 15 7 4 2 8 1519 12 19 15 22 8 25 8 22 25 19Đa về chữ : V P X Z G I A X I V W P U B T T M J P W I Z I T W Z TII.1.5 Mật hoán vị 1019 7 8 18 2 17 24 15 19 14 19 18 19 42 8 15 7 4 17 2 8 15 7 4 2 8 1521 15 23 25 6 8 0 23 8 21 23 20 1 19 [...]... DES cũng vậy, khi hoá các thông tin đồng thời ta cũng phải 23 Nghiên cứu, thực hiện một số test để đánh giá độ an toàn của DES kiểm tra độ an toàn của nó Có hai cách để kiểm tra độ an toàn của DES, đó là : phơng pháp tấn công DES phơng pháp đánh giá các tính chất của DES Tuy nhiên trong đề tài nay tập trung nghiên cứu phơng pháp đánh giá các tính chất của DES để kiểm tra độ an toàn IV.1 Phơng... điển, đặc biệt là về Chuẩn dữ liệu DES Trong báo cáo này giới thiệu chung về các hệ mật, về chuẩn dữ liệu DES, về thuật toán kiểm tra độ an toàn của DES Giới thiệu về hai phơng pháp kiểm tra độ an toàn của DES đó là phơng pháp lợng sai tấn công DES 3 vòng phơng pháp đánh giá các tính chất của DES đề tài này đi sâu nghiên cứu phơng pháp đánh giá các tính chất của DES đó là các tính chất:... điển thờng đợc dùng để hoá thông tin khi muốn gửi đi trên các kênh không an toàn hay thông tin đang đợc lu trữ cố định Chơng III 13 Nghiên cứu, thực hiện một số test để đánh giá độ an toàn của DES Chuẩn dữ liệu DES ( Data Ecryption STandard ) Chuẩn dữ liệu ( Data Ecryption Standard ) đợc uỷ ban tiêu chuẩn quốc gia Hoa Kỳ ( the National Bureau ò Standard ) chấp nhận đợc công bố lần đầu... một bit vào - Mức độ đầy đủ - Mức độ hiệu quả dồn nén - Mức độ tiêu chuẩn dồn nén chặt Với số các vòng khác nhau, từ số đầy đủ các vòng đến đúng một vòng 35 Nghiên cứu, thực hiện một số test để đánh giá độ an toàn của DES Kết luận Sau khi nghiên cứu về việc kiểm tra độ an toàn của chuẩn dữ liệu DES ( Data Encription Standards ) tôi đã có đợc những hiểu biết sâu hơn về các hệ mật cổ điển, đặc... 46 42 50 36 29 32 Nghiên cứu, thực hiện một số test để đánh giá độ an toàn của DES Nh vậy ta đã có một thuật toán hoàn chỉnh về hoá dữ liệu theo tiêu chuẩn DES III.2 Giải DES Tơng tự nh hoá, để giải một dãy kí tự đã bị hoá ta cũng làm theo trình tự các bớc nh trên Tuy nhiên, hệ thống khoá lúc này đã đợc tạo theo chiều ngợc lại III.2.1 Thuật toán giải Có bản y khoá K y0 = IP(y)... đúng là của khoá cần tìm Vì DES không dùng đến các bit kiểm tra để hoá cho nên khoá tìm ra vẫn là đúng ( đúng chính xác 56 bit ) IV.2 Phơng pháp đánh giá tính chất của DES Để đánh giá độ an toàn của DES ta có thể kiểm tra các tính chất của DES, nếu thoả mãn điều kiện thì kết luận là an toàn Các tính chất đó là: - Số trung bình các bit ra thay đổi khi thay đổi một bit vào - Mức độ đầy đủ - Mức độ hiệu... hoá các số nhận dạng cá nhân ( PINs ) văn bản về tàI khoản đợc máy thu ngân thực hiện ( ATMs ) III.3.2 Các mẫu hoạt động của DES 21 Nghiên cứu, thực hiện một số test để đánh giá độ an toàn của DES Đầu vào của DES chỉ có 8 byte, vậy văn bản cần hoá lại có thể rất dài, cỡ vài Kbyte chẳng hạn Để giải quyết vấn đề này, ngời ta đẫ đề ra bốn mẫu hoạt động cho DES là : Electronic CodeBook mode (... z1 z2 dòng rõ x = x1 x2 theo cách : y = y1 y2 = ez1(x1) ez2(x2) 11 Nghiên cứu, thực hiện một số test để đánh giá độ an toàn của DES Mật dòng hoạt động nh sau : giả sử k là khoá x1 x2 là dòng rõ, fi là hàm của k i là một đặc trng rõ zi = fi(k,x1,.,xi-1) (xi đợc chon trớc của hai bên) yi = ezi(xi) i = 2,3, Do đó, để dòng rõ x1 x2 ta tính liên tiếp : z1,y1,z2,y2, Việc giải đợc... đợc dsa theo công thức đã cho Để hàm f có mức độ đầy đủ, mức độ hiệu quả dồn nén mức độ tiêu chuẩn dồn nén chặt tốt thì các số dc , da dsa phải thoả mãn dc = 1, da 1, dsa 1 34 Nghiên cứu, thực hiện một số test để đánh giá độ an toàn của DES Theo tài liệu Pascale Serf _ Siemén AG, ZI IK 3, với 5 ứng cử viên của AES là Mars, RC6, Rijndael, Serpent Twofish ngời ta cũng đã kiểm tra các tính... nói rằng XOR đầu vào của Sj là Bj ^ Bj* XOR đầu ra của Sj là Sj (Bj ) ^ Sj (Bj*) 24 Nghiên cứu, thực hiện một số test để đánh giá độ an toàn của DES Chú ý rằng XOR đầu vào là một dãy bit có độ dài là 6 còn XOR đầu ra là dãy có độ dài 4 bit b Định nghĩa 2 : Với mọi Bj {Z2}6 ta định nghĩa (Bj) = {(Bj, Bj*) : Bj ^ Bj* = Bj } Với mỗi cặp trong (Bj), có thể tính XOR đầu ra của Sj lập bảng kết quả . test để đánh giá độ an toàn của DESChuẩn mã dữ liệu DES( Data Ecryption STandard )Chuẩn mã dữ liệu ( Data Ecryption Standard ) đợc uỷ ban tiêu chuẩn quốc. toàn của các hệ mật mà mình đã sử dụng.Trong đề tài này tôi nghiên cứu về cách đánh giá độ an toàn của chuẩn mã dữ liệu DES . Để kiểm tra đánh giá độ an toàn

Ngày đăng: 10/12/2012, 10:45

Hình ảnh liên quan

Hà mf đợc thể hiện trong hình dới đâ y:A - Nghiên cứu và đánh giá độ an toàn của chuẩn mã hóa dữ liệu DES

mf.

đợc thể hiện trong hình dới đâ y:A Xem tại trang 16 của tài liệu.
Cho 56 bit này hoán vị theo bảng PC-1 ta sẽ tìm đợc C0D0 với C0 là 28 bit đầu tiên - Nghiên cứu và đánh giá độ an toàn của chuẩn mã hóa dữ liệu DES

ho.

56 bit này hoán vị theo bảng PC-1 ta sẽ tìm đợc C0D0 với C0 là 28 bit đầu tiên Xem tại trang 19 của tài liệu.

Từ khóa liên quan

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

Tài liệu liên quan