Tìm hiểu và xây dựng chương trình mô phỏng mã hoá rijndael

69 570 0
Tìm hiểu và xây dựng chương trình mô phỏng mã hoá rijndael

Đ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

Tìm hiểu xây dựng chương trình mơ mã húa Rijndael TRờng đại học vinh Khoa công nghệ thông tin === === tìm hiểu xây dựng ch ơng trình mô mà hóa rijndael đồ án tốt nghiệp đại học Ngành kỹ s công nghệ thông tin Giáo viên hớng dẫn: ThS nguyễn thị hồng anh Sinh viên thực hiện: nguyễn đình sơn Lớp: 46K2 - CNTT Vinh, 5/2010 =  = LỜI NÓI ĐẦU Ngày nay, ứng dụng công nghệ thông tin ngày phổ biến rộng rãi ảnh hưởng lớn đến diện mạo đời sống, kinh tế, xã hội Mọi công việc hàng ngày thực từ xa với hỗ trợ Đồ án tốt nghiệp Tìm hiểu xây dựng chương trình mơ mã hóa Rijndael máy vi tính mạng internet (từ việc học tập, mua sắm, gửi thư… đến việc ký kết hợp đồng thương mại) Tất thông tin liên quan đến công việc máy vi tính quản lý truyền hệ thống mạng Đối với thông tin bình thường khơng có ý đến, thơng tin mang tính chất sống cịn số cá nhân (hay tổ chức) vấn đề bảo mật thật quan trọng Nhiều tổ chức, cá nhân tìm kiếm đưa nhiều giải pháp bảo mật; phương pháp mã hóa khóa bí mật (mã hóa đối xứng) đặc biệt phương pháp mã hóa Rijndael xem phương pháp có tính phù hợp cao Chúng ta phải thừa nhận rủi ro gặp phải trình giao dịch, kinh doanh mạng hữu; nguy bị thay đổi, chép liệu lưu trữ chuyền tải hữu Việc đảm bảo tính an tồn tồn vẹn lưu trữ truyền tải liệu vấn đề then chốt cá nhân, tổ chức cộng đồng mạng vấn đề thật cần thiết cấp bách Đề tài “Tìm hiểu xây dựng chương trình mơ mã hóa Rijndael” tơi nghiên cứu tập trung vào hai nội dung chính: (1) Tìm hiểu kỹ thuật mã hóa khóa bí mật Rijndael (2) Vận dụng kỹ thuật mã hoá Rijndael xây dựng chương trình mã hóa giải mã Đề tài nghiên cứu tơi có giúp đỡ nhiều từ giảng viên Nguyễn Thị Hồng Anh bạn lớp Tôi xin gửi lời cảm ơn chân thành tới bạn Tơi mong nhận đóng góp ý kiến từ q thầy bạn Tơi xin chân thành cảm ơn! Sinh viên Nguyễn Đình Sơn Đồ án tốt nghiệp Tìm hiểu xây dựng chương trình mơ mã hóa Rijndael MỤC LỤC Trang LỜI NÓI ĐẦU Chương CÁC PHƯƠNG PHÁP Mà HÓA 1.1 Một số khái niệm liên quan 1.1.1 Mã hóa 1.1.2 Các hệ thống mã hóa 1.1.3 Ứng dụng .6 1.2 Hệ thống mã hóa khóa cơng cộng( mã hóa bất đối xứng) .6 1.2.1 Định nghĩa .6 1.2.2 Phương pháp mã hóa .6 1.2.3 Một số thuật toán mã hóa khóa cơng cộng 1.2.4 Ưu nhược điểm 12 1.3 Hệ thống mã hóa khóa bí mật ( mã hóa đối xứng) 13 1.3.1 Khái niệm .13 1.3.2 Phương pháp mã hóa 13 1.3.3 Một số phương pháp mã hóa khóa bí mật 14 1.3.4 Ưu nhược điểm 27 Chương PHƯƠNG PHÁP Mà HÓA RIJNDAEL 28 2.1 Giới thiệu .28 2.2 Tham số, ký hiệu, thuật ngữ hàm 28 2.3 Một số khái niệm toán học 29 2.3.1 Phép cộng .30 2.3.2 Phép nhân .30 2.4 Phương pháp Rijndael 32 2.4.1 Quy trình mã hóa 32 2.4.2 Kiến trúc thuật toán Rijndael 34 2.4.3 Quy trình giải mã 44 Đồ án tốt nghiệp Tìm hiểu xây dựng chương trình mơ mã hóa Rijndael 2.5 Các vấn đề cài đặt thuật toán .51 2.6 Kết luận 55 2.6.1 Khả an toàn 55 2.6.2 Đánh giá .56 Chương CÀI ĐẶT CHƯƠNG TRÌNH 58 3.1 Tổng quan chương trình 58 3.2 Cài đặt chương trình 58 KẾT LUẬN 63 TÀI LIỆU THAM KHẢO 65 Đồ án tốt nghiệp Tìm hiểu xây dựng chương trình mơ mã hóa Rijndael Chương CÁC PHƯƠNG PHÁP Mà HÓA 1.1 Một số khái niệm liên quan 1.1.1 Mã hóa 1.1.1.1 Định nghĩa Trong mật mã học, ngành tốn học ứng dụng cho cơng nghệ thơng tin, mã hóa phương pháp để biến thơng tin (phim ảnh, văn bản, hình ảnh ) từ định dạng bình thường sang dạng thông tin hiểu phương tiện giải mã Giải mã phương pháp để đưa từ dạng thơng tin mã hóa dạng thơng tin ban đầu, q trình ngược mã hóa 1.1.1.2 Hệ thống mã hóa(cryptosytem) Hệ thống mã hóa (cryptosystem) năm (P, C, K, E, D) thỏa mãn điều kiện sau: Tập nguồn P tập hữu hạn tất mẩu tin nguồn cần mã hóa có Tập đích C tập hữu hạn tất mẩu tin có sau mã hóa Tập khóa K tập hữu hạn khóa sử dụng E D tập luật mã hóa giải mã Với khóa k  K , tồn luật mã hóa ek  E luật giải mã dk  D tương ứng Luật mã hóa : ek : P →C luật giải mã : dk : C →P hai ánh xạ thỏa mãn dk (ek (x)) =x,  x  P Đồ án tốt nghiệp Tìm hiểu xây dựng chương trình mơ mã hóa Rijndael Tính chất tính chất quan trọng hệ thống mã hóa Tính chất bảo đảm mẩu tin x € P mã hóa luật mã hóa e k € E giải mã xác luật dk € D 1.1.1.3 Zm Được định nghĩa tập hợp {0,1, ,m −1} , trang bị phép cộng (ký hiệu +) phép nhân (ký hiệu ×) Phép cộng phép nhân Zm thực tương tự Z , ngoại trừ kết tính theo modulo m 􀂈 Ví dụ: Giả sử ta cần tính giá trị 11×13 Z16 Trong Z , ta có kết phép nhân 11×13 =143 Do 143 ≡ 15 (mod 16) nên 11×13 = 15 Z16 Một số tính chất Zm Phép cộng đóng Zm , a, b  Zm , a + b  Zm Tính giao hốn phép cộng Zm , a, b€ Z , a + b=b+a Tính kết hợp phép cộng Zm , a, b, c  Zm (a + b) + c = a + (b + c) Zm có phần tử trung hịa 0,  a  Zm , a + = + a = a Mọi phần tử a Zm có phần tử đối m − a Phép nhân đóng Zm ,  a, b  Zm , b  Z Tính giao hốn phép nhân Z m , a, b  Zm , a ×b = b× a Tính kết hợp phép nhân Zm, a,b,c  Zm: (a×b)×c = (b×c) Zm có phần tử đơn vị ,  a, b  Zm , a×1 =1×a = a 10 Tính phân phối phép nhân phép cộng, a, b, c  Zm: (a + b)× c = a× c + b× c Đồ án tốt nghiệp Tìm hiểu xây dựng chương trình mơ mã hóa Rijndael Zm có tính chất 1, - nên tạo thành nhóm Do Zm có tính chất nên tạo thành nhóm Abel Zm có tính chất (1) - (10) nên tạo thành vành 1.1.2 Các hệ thống mã hóa Có hệ thống mã hóa đối xứng hệ thống mã hóa bất đối xứng Hai loại mã hóa khác số lượng khóa Mã hóa đối xứng sử dụng khóa để mã hóa/giải mã Trong đó, mã hóa bất đối xứng sử dụng hai khóa khác để mã hóa giải mã thơng tin Mỗi hệ thống mã hóa có ưu nhược điểm riêng Mã hóa đối xứng xử lí nhanh độ an tồn khơng cao Mã hóa bất đối xứng xử lí chậm hơn, độ an tồn tính thn tiện quản lí khóa cao Trong ứng dụng mã hóa người ta thường kết hợp ưu điểm hai loại mã hóa 1.1.3 Ứng dụng Mã hóa có vai trị quan trọng, đặc biệt giao dịch điện tử Nó giúp đảm bảo bí mật, tồn vẹn thơng tin, thơng tin truyền mạng Mã hóa tảng kĩ thuật chữ ký điện tử, hệ thống PKI 1.2 Hệ thống mã hóa khóa cơng cộng( mã hóa bất đối xứng) 1.2.1 Định nghĩa Phương pháp mã hố cơng khai (Public Key Cryptography) sử dụng hai khoá public key private key Phương pháp cịn gọi mã hố bất đối xứng (Asymmetric Cryptography) hệ sử dụng khố mã hố e k khoá giải mã dk khác Trong đó, ek sử dụng để mã hố nên cơng bố, khố giải mã dk phải giữ bí mật Nó sử dụng hai khố khác để mã hoá giải mã liệu Ý tưởng hệ thống mã hóa khóa cơng cộng Martin Hellman, Ralph Merkle Whitfield Diffie Đại học Stanford giới thiệu vào năm 1976 Sau đó,phương pháp Diffie-Hellman Martin Hellman Whitfield Diffie công bố Năm 1977, báo "The Scientific American", nhóm tác giả Đồ án tốt nghiệp Tìm hiểu xây dựng chương trình mơ mã hóa Rijndael Ronald Rivest, Adi Shamir Leonard Adleman công bố phương pháp RSA, phương pháp mã hóa khóa cơng cộng tiếng sử dụng nhiều ứng dụng mã hóa bảo vệ thơng tin RSA nhanh chóng trở thành chuẩn mã hóa khóa cơng cộng tồn giới tính an tồn khả ứng dụng 1.2.2 Phương pháp mã hóa Bảo mật có vai trị quan trọng giao dịch thơng qua mạng máy tính hiểu việc ký kết vào thư đóng dấu lên phong bì Nếu chữ ký chứng minh tin cậy thư, phong bì đóng dấu chứng minh cho bảo mật thư Khi gửi văn điện tử, người gửi muốn có người cần gửi đọc văn văn phải mã hố khố cơng khai người nhận Khi văn gửi văn mã hoá, người nhận muốn đọc cần phải giải mã văn khố bí mật Qui trình gửi nhận văn thể hình Khóa cơng cộng A Văn gốc B mã hóa khóa riêng C D văn giải mã mã hóa văn giải mã Hình Mơ hình mã hóa khóa cơng khai Đồ án tốt nghiệp Tìm hiểu xây dựng chương trình mơ mã hóa Rijndael Khi áp dụng hệ thống mã hóa khóa cơng cộng, người A sử dụng mã khóa cơng cộng để mã hóa thông điệp gửi cho người B Do biết mã khóa riêng nên B giải mã thơng điệp mà A mã hóa Người C phát thông điệp mà A gửi cho B, kết hợp với thơng tin mã khóa cơng cộng cơng bố, khó có khả giải mã thông điệp không nắm mã khóa riêng B 1.2.3 Một số thuật tốn mã hóa khóa cơng cộng 1.2.3.1 Giải thuật RSA Năm 1978, R.L.Rivest, A.Shamir L.Adleman đề xuất hệ thống mã hóa khóa cơng cộng RSA (hay cịn gọi “hệ thống MIT”) Trong phương pháp này, tất phép tính thực Zn với n tích hai số nguyên tố lẻ p q khác Khi đó, ta có φ(n) = (p-1) (q-1) Thuật tốn mã hóa RSA n = pq với p q hai số nguyên tố lẻ phân biệt Cho P = C = Zn định nghĩa: K = {((n, p, q, a, b): n = pq, p, q số nguyên tố, ab ≡ (mod φ(n))} Với k = (n, p, q, a, b)  K, định nghĩa: ek(x) = xb mod n dk(y) = ya mod n, với x, y  Z Giá trị n b công bố, giá trị p, q, a giữ bí mật Dựa định nghĩa phương pháp mã hóa RSA, việc áp dụng vào thực tế tiến hành theo bước sau: Thuật toán sử dụng phương pháp RSA Phát sinh hai số nguyên tố có giá trị lớn p q Tính n = pq φ(n) = (p - 1) (q - 1) Chọn ngẫu nhiên số nguyên b (1 < b < φ(n)) thỏa gcd(b, φ(n)) = Tính giá trị a = b-1 mod φ(n) (bằng thuật toán Euclide mở rộng) Đồ án tốt nghiệp Tìm hiểu xây dựng chương trình mơ mã hóa Rijndael Giá trị n b cơng bố (khóa cơng cộng), giá trị p, q, a giữ bí mật (khóa riêng) Hệ thống RSA có đặc điểm thơng tin khơng phải ln che dấu Giả sử người gởi có e = 17, n = 35 Nếu muốn gởi liệu thuộc tập sau: {1, 6, 7, 8, 13, 14, 15, 20, 21, 22, 27, 28, 29, 34}, kết việc mã hóa lại liệu ban đầu Nghĩa M = M e mod n Còn p = 109, q = 97, e = 865 hệ thống hồn tồn khơng có che dấu thơng tin, vì:  M, M = M865 mod (109*97) Với giá trị n, có trường hợp kết mã hóa liệu nguồn ban đầu Thật vậy: M = Me mod n (1) Hay: M = Me mod p M = Me mod q (2) Với e, (1) có ba giải pháp thuộc tập {0, 1, -1} Để xác định xác số thơng điệp không che dấu (không bị thay đổi sau mã hóa) ta sử dụng định lý sau:“Nếu thơng điệp mã hóa hệ thống RSA xác định số modulus n = p.q (p,q số ngun tố) khóa cơng cộng e có: m = [1+gcd(e-1, p-1)][1+gcd(e-1), q-1] thông điệp không bị che dấu Mấu chốt để giải mã thơng tin có giá trị p q tạo nên giá trị n Khi có hai giá trị này, ta dễ dàng tính φ(n)=(p-1)(q- 1) giá trị : a = b -1 mod φ(n) theo thuật toán Euclide mở rộng Nếu số nguyên n phân tích thừa số ngun tố, tức giá trị p q xác định xem tính an tồn phương pháp RSA khơng cịn bảo đảm Như vậy, tính an tồn phương pháp RSA dựa sở máy tính thời điểm chưa đủ khả giải việc phân tích số nguyên lớn thừa số nguyên tố Tuy nhiên, với phát triển ngày nhanh chóng máy tính bước đột phá lĩnh vực toán học, 10 Đồ án tốt nghiệp ... tài ? ?Tìm hiểu xây dựng chương trình mơ mã hóa Rijndael? ?? tơi nghiên cứu tập trung vào hai nội dung chính: (1) Tìm hiểu kỹ thuật mã hóa khóa bí mật Rijndael (2) Vận dụng kỹ thuật mã hố Rijndael xây. .. giải mã mã hóa văn giải mã Hình Mơ hình mã hóa khóa cơng khai Đồ án tốt nghiệp Tìm hiểu xây dựng chương trình mơ mã hóa Rijndael Khi áp dụng hệ thống mã hóa khóa cơng cộng, người A sử dụng mã khóa... quan chương trình 58 3.2 Cài đặt chương trình 58 KẾT LUẬN 63 TÀI LIỆU THAM KHẢO 65 Đồ án tốt nghiệp Tìm hiểu xây dựng chương trình mơ mã hóa Rijndael Chương

Ngày đăng: 22/12/2013, 13:04

Hình ảnh liên quan

Bảng D1 - Tìm hiểu và xây dựng chương trình mô phỏng mã hoá rijndael

ng.

D1 Xem tại trang 40 của tài liệu.
Bảng D.1 thể hiện bảng thay thế S-box được sử dụng trong phộp biến đổi SubBytes ở dạng thập lục phõn. - Tìm hiểu và xây dựng chương trình mô phỏng mã hoá rijndael

ng.

D.1 thể hiện bảng thay thế S-box được sử dụng trong phộp biến đổi SubBytes ở dạng thập lục phõn Xem tại trang 40 của tài liệu.
Bảng D.2 thể hiện bảng thay thế nghịch đảo được sử dụng trong phộp biến đổi SubBytes - Tìm hiểu và xây dựng chương trình mô phỏng mã hoá rijndael

ng.

D.2 thể hiện bảng thay thế nghịch đảo được sử dụng trong phộp biến đổi SubBytes Xem tại trang 41 của tài liệu.
Bảng D3. Giỏ trị di số shift(r,Nb) - Tìm hiểu và xây dựng chương trình mô phỏng mã hoá rijndael

ng.

D3. Giỏ trị di số shift(r,Nb) Xem tại trang 42 của tài liệu.
1. Mở rộng khúa chớnh thành bảng khúa mở rộng, 2. Chọn khúa cho mỗi chu kỳ từ bảng khúa mở rộng - Tìm hiểu và xây dựng chương trình mô phỏng mã hoá rijndael

1..

Mở rộng khúa chớnh thành bảng khúa mở rộng, 2. Chọn khúa cho mỗi chu kỳ từ bảng khúa mở rộng Xem tại trang 46 của tài liệu.
Bảng D.2 thể hiện bảng thay thế nghịch đảo được sử dụng trong phộp biến đổi InvSubBytes - Tìm hiểu và xây dựng chương trình mô phỏng mã hoá rijndael

ng.

D.2 thể hiện bảng thay thế nghịch đảo được sử dụng trong phộp biến đổi InvSubBytes Xem tại trang 51 của tài liệu.
Định nghĩa cỏc bảng tra cứu T0, T1, T2, T3 như sau: - Tìm hiểu và xây dựng chương trình mô phỏng mã hoá rijndael

nh.

nghĩa cỏc bảng tra cứu T0, T1, T2, T3 như sau: Xem tại trang 58 của tài liệu.
Kỹ thuật sử dụng bảng tra cứu giỳp cải thiện tốc độ mó húa và giải mó một cỏch đỏng kể - Tìm hiểu và xây dựng chương trình mô phỏng mã hoá rijndael

thu.

ật sử dụng bảng tra cứu giỳp cải thiện tốc độ mó húa và giải mó một cỏch đỏng kể Xem tại trang 58 của tài liệu.
Trờn thực tế, cỏc bảng tra cứu cú thể được lưu trữ sẵn hoặc được xõy dựng trực tiếp dựa trờn bảng thay thế S-Box cựng với thụng tin về cỏc khuụn dạng  tương ứng - Tìm hiểu và xây dựng chương trình mô phỏng mã hoá rijndael

r.

ờn thực tế, cỏc bảng tra cứu cú thể được lưu trữ sẵn hoặc được xõy dựng trực tiếp dựa trờn bảng thay thế S-Box cựng với thụng tin về cỏc khuụn dạng tương ứng Xem tại trang 59 của tài liệu.
Bảng tốc độ xử lý của phương phỏp Rijndael được cỏc nhà đỏnh giỏ thử nghiệm:  - Tìm hiểu và xây dựng chương trình mô phỏng mã hoá rijndael

Bảng t.

ốc độ xử lý của phương phỏp Rijndael được cỏc nhà đỏnh giỏ thử nghiệm: Xem tại trang 60 của tài liệu.

Từ khóa liên quan

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

  • Đang cập nhật ...

Tài liệu liên quan