1. Trang chủ
  2. » Luận Văn - Báo Cáo

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

69 570 0

Đ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

Thông tin cơ bản

Định dạng
Số trang 69
Dung lượng 1,61 MB

Nội dung

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

Hình 1. Mô hình mã hóa khóa công khai - Tìm hiểu và xây dựng chương trình mô phỏng mã hoá rijndael
Hình 1. Mô hình mã hóa khóa công khai (Trang 9)
Hình 2: mô hình trao đổi khóa bí mật sử dụng Khóa công cộng - Tìm hiểu và xây dựng chương trình mô phỏng mã hoá rijndael
Hình 2 mô hình trao đổi khóa bí mật sử dụng Khóa công cộng (Trang 15)
Hình 3 . Mô hình hệ thống mã hóa quy ước - Tìm hiểu và xây dựng chương trình mô phỏng mã hoá rijndael
Hình 3 Mô hình hệ thống mã hóa quy ước (Trang 16)
Hình 4. Quy trình phát sinh dãy L i  R i  từ dãy L i-1  R i-1  và khóa K i - Tìm hiểu và xây dựng chương trình mô phỏng mã hoá rijndael
Hình 4. Quy trình phát sinh dãy L i R i từ dãy L i-1 R i-1 và khóa K i (Trang 28)
Hình 6: Một chu kỳ mã hóa của phương pháp Rijndael (với Nb = 4) - Tìm hiểu và xây dựng chương trình mô phỏng mã hoá rijndael
Hình 6 Một chu kỳ mã hóa của phương pháp Rijndael (với Nb = 4) (Trang 39)
Bảng D1 - Tìm hiểu và xây dựng chương trình mô phỏng mã hoá rijndael
ng D1 (Trang 40)
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 (Trang 40)
Hình 7: Thao tác SubBytes tác động trên từng byte của trạng thái - Tìm hiểu và xây dựng chương trình mô phỏng mã hoá rijndael
Hình 7 Thao tác SubBytes tác động trên từng byte của trạng thái (Trang 40)
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 (Trang 40)
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 (Trang 41)
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 (Trang 41)
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) (Trang 42)
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) (Trang 42)
Hình 8: Thao tác MixColumns tác động lên mỗi cột của trạng thái - Tìm hiểu và xây dựng chương trình mô phỏng mã hoá rijndael
Hình 8 Thao tác MixColumns tác động lên mỗi cột của trạng thái (Trang 44)
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 (Trang 46)
Hình 9: Thao tác AddRoundKey tác động lên mỗi cột của trạng thái - Tìm hiểu và xây dựng chương trình mô phỏng mã hoá rijndael
Hình 9 Thao tác AddRoundKey tác động lên mỗi cột của trạng thái (Trang 46)
Hình 10. Thao tác InvShiftRows tác động lên từng dòng của trạng thái hiện hành - Tìm hiểu và xây dựng chương trình mô phỏng mã hoá rijndael
Hình 10. Thao tác InvShiftRows tác động lên từng dòng của trạng thái hiện hành (Trang 49)
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 (Trang 51)
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 (Trang 51)
Đị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: (Trang 58)
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ể (Trang 58)
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 (Trang 59)
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: (Trang 60)
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: (Trang 60)

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w