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

TÌM HIỂU VÀ XÂY DỰNG ỨNG DỤNG MÃ HÓA KHÓA ĐỐI XỨNG BẰNG THUẬT TOÁN RIJNDAEL

70 50 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 70
Dung lượng 1,19 MB

Nội dung

LỜI CẢM ƠN Để hoàn thành đồ án này, trước hết, em xin gửi lời cảm ơn biết ơn sâu sắc tới thầy giáo Lê Thụy, người tận tình hướng dẫn, bảo giúp đỡ em suốt thời gian nghiên cứu hoàn thành đồ án Em xin chân thành cảm ơn tới thầy cô khoa Công Nghệ Thông Tin thầy trường Đại học dân lập Hải Phịng, người tận tình giảng dậy, tạo điều kiện cho em suốt trình học tập nghiên cứu trường Cuối cùng, em xin cảm ơn gia đình, bạn bè, người thân ln bên động viên nguồn cổ vũ lớn lao, động lực suốt trình học tập nghiên cứu Mặc dù em cố gắng hoàn thành đồ án phạm vi khả Tuy nhiên khơng tránh khỏi điều thiếu sót Em mong nhận cảm thơng tận tình bảo q thầy tồn thể bạn Một lần em xin chân thành cảm ơn ! MỤC LỤC DANH MỤC HÌNH VẼ DANH MỤC BẢNG BIỂU MỞ ĐẦU CHƯƠNG 1: CƠ SỞ TOÁN HỌC 1.1 Các khái niệm toán học 1.1.1 Số nguyên tố số nguyên tố 1.1.1 Khái niệm đồng dư 1.1.2 Định nghĩa Phi Euler 10 1.1.3 Thuật toán Euclide .10 * 1.1.4 Không gian Zn Zn 11 1.1.4.1 Không gian Zn (các số nguyên theo modulo n) 11 1.1.4.2 Không gian Zn* 11 * 1.1.5 Định nghĩa cấp số a Zn 11 1.1.6 Khái niệm Nhóm, Nhóm con, Nhóm Cyclic 12 1.1.6.1 Khái niệm Nhóm 12 1.1.6.2 Nhóm nhóm (G, *) 12 1.1.6.3 Nhóm Cyclic 13 1.1.7 Tập thặng dư bậc hai theo modulo .13 1.1.8 Phần tử nghịch đảo .14 1.2 Khái niệm Độ phức tạp thuật toán 14 1.2.1 Khái niệm Thuật toán 14 1.2.2 Độ phức tạp thuật toán 15 1.2.3 Ví dụ việc xác định độ phức tạp thuật tốn: .16 CHƯƠNG 2: VẤN ĐỀ MÃ HĨA 18 2.1 Mật mã học 18 2.1.1 Giới thiệu chung 18 2.1.2 Định nghĩa 18 2.2 Khái niệm hệ mật mã 19 2.3 Khái niệm mã hóa (Encryption), giải mã (Decryption) 19 2.4 Những tính hệ mã hóa 19 2.5 Các phương pháp mã hóa 20 2.5.1 Phương pháp mã hóa đối xứng 20 2.5.1.1 Mã khối (Block cipher) 21 2.5.1.2 Mã dòng 25 2.5.2 Phương pháp mã hóa công khai 26 2.6 Chữ ký điện tử .28 2.6.1 Giới thiệu 28 2.6.2 Định nghĩa 29 2.6.3 Phân loại chữ ký số 29 2.6.3.1 Phân loại chữ ký theo đặc trưng kiểm tra chữ ký 29 2.6.3.2 Phân loại chữ ký theo mức an toàn .30 2.6.3.3 Phân loại chữ ký theo ứng dụng đặc trưng 30 2.7 Hàm băm mật mã 30 2.7.1 Giới thiệu hàm băm 30 2.7.2 Tính chất hàm băm .31 2.7.3 Cấu trúc hàm băm 33 2.7.4 Một số phương pháp băm .33 2.7.4.1 Hàm băm MD4 .33 2.7.4.2 Hàm băm MD5 .34 2.7.4.3 Hàm băm Chuẩn SHA 36 CHƯƠNG 3: THUẬT TOÁN MÃ HÓA RIJNDAEL VÀ ỨNG DỤNG 39 3.1 Giới thiệu .39 3.2 Tham số, ký hiệu, thuật ngữ hàm 39 3.3 Một số khái niệm toán học 40 3.3.1 Phép cộng .41 3.3.2 Phép nhân GF(2 ) 41 3.3.2.1 Phép nhân với x .41 3.3.2.2 Đa thức với hệ số GF(28) 43 3.4 Phương pháp Rijndael 44 3.4.1 Quá trình mã hóa bao gồm bước: 45 3.4.1.1 Bước SubBytes 47 3.4.1.2 Bước ShiftRows 49 3.4.1.3 Bước MixColumns 50 3.4.1.4 Bước AddRoundKey 51 3.4.1.5 Phát sinh khóa chu kỳ .52 3.4.2 Quy trình giải mã 54 3.4.2.1 Phép biến đổi InvShiftRows 55 3.4.2.2 Phép biến đổi InvSubbytes 56 3.4.2.3 Phép biến đổi InvMixColumns .58 3.4.3 Các vấn đề cài đặt thuật toán 59 3.4.4 Kết thử nghiệm 62 3.4.5 Kết luận 62 3.4.5.1 Khả an toàn 62 3.4.5.2 Đánh giá 63 3.5 Ứng dụng thuật toán .64 3.5.1 Giao diện chương trình .64 3.5.2 Chức chương trình 64 3.5.2.1 Mã hóa 64 3.5.2.2 Giải mã 65 3.5.3 Code thực mã hóa giải mã 65 KẾT LUẬN 70 TÀI LIỆU THAM KHẢO 71 DANH MỤC HÌNH VẼ Hình 2.1: Mơ hình hệ thống mã hõa đối xứng Hình 2.2: Mơ tả sơ đồ chức mật mã CBC(mã hóa giải mã) Hình 2.3: Mơ hình hệ thống mã hóa cơng khai Hình 2.4: Cách thông tin : thông tin truyền từ A đến B Hình 2.5: Thơng tin bị lấy trộm bị thay đổi đường truyền Hình 3.1: Biểu diễn dạng ma trận trạng thái (Nb=6) mã khóa (Nk=4) Hình 3.2: Thao tác SubBytes tác động byte trạng thái Hình 3.3: Thao tác ShiftRows tác động dòng trạng thái Hình 3.4: Thao tác MixColumns tác động lên cột trạng thái Hình 3.5: Thao tác AddRoundKey tác động lên cột trạng thái Hình 3.6: Thao tác InvShiftRows tác động lên dòng trạng thái hành Hình 3.7: Giao diện chương trình DANH MỤC BẢNG BIỂU Bảng 2.1: Các tính chất thuật tốn băm an tồn Bảng 3.1: Bảng thay S-box cho giá trị {xy} dạng thập lục phân Bảng 3.2: Giá trị di số shift(r,Nb) Bảng 3.3: Mã khóa mở rộng cách xác định mã khóa chu kỳ (Nb = Nk = 4) Bảng 3.4: Bảng thay nghịch đảo giá trị {xy} dạng thập lục phân Bảng 3.5: Tốc độ xử lý phương pháp Rijndael MỞ ĐẦU Từ người có nhu cầu trao đổi thơng tin, thư từ với nhu cầu giữ bí mật bảo mật tính riêng tư thơng tin, thư từ nảy sinh Hình thức thơng tin trao đổi phổ biến sớm dạng văn bản, để giữ bí mật thơng tin người ta sớm nghĩ đến cách che dấu nội dung văn cách biến dạng văn để người ngồi đọc khơng hiểu được, đồng thời có cách khôi phục lại nguyên dạng ban đầu để người hiểu được; theo cách gọi ngày dạng biến đổi văn gọi mật mã văn bản, cách lập mã cho văn gọi phép lập mã, cách khôi phục lại nguyên dạng ban đầu gọi phép giải mã Phép lập mã phép giải mã thực nhờ chìa khóa riêng mà người biết gọi khóa lập mã Người ngồi dù có lấy mật mã đường truyền mà khơng có khóa mật mã khơng thể hiểu nội dung văn truyền Có nhiều thuật tốn đưa nhằm mục đích bảo mật thơng tin với độ an tồn cao Và số thuật tốn có thuật tốn mã hóa đối xứng Rijndael Viện Tiêu chuẩn Công nghệ Hoa Kỳ (National Institute of Standards and Technology – NIST) chọn làm chuẩn mã hóa nâng cao (Advanced Encryption Standard) từ 02 tháng 10 năm 2000 Vì mà em chọn đề tài ―Tìm hiểu xây dựng ứng dụng mã hóa đối xứng thuật tốn Rijndael‖ để hiểu rõ bước thực thuật toán mã hóa thơng tin .Luận văn gồm phần mở đầu, kết luận chương với nội dung sau: - Chương 1: Cơ sở lý thuyết tốn học - Chương 2: Nói vấn đề mã hóa bao gồm giới thiệu mật mã, khái niệm mã hóa, phương pháp mã hóa, chữ ký số hàm băm - Chương 3: Tìm hiểu thuật tốn Rijndael mơ chương trình ứng dụng CHƯƠNG 1: CƠ SỞ TOÁN HỌC 1.1 Các khái niệm toán học 1.1.1 Số nguyên tố số nguyên tố - Số nguyên tố số nguyên dương lớn 1chỉ chia hết cho Ví dụ: 2, 3, 5, 7, 11, … số nguyên tố - Hệ mật mã thường sử dụng số nguyên tố lớn 10 - 150 Hai số m n gọi nguyên tố ước số chung lớn chúng Ký hiệu: gcd(m, n) = Ví dụ: 11 13 nguyên tố Định lý số nguyên tố: Với n>=2 phân tích thành lũy thừa e1 e2 e3 + số nguyên tố n = p1 p2 p3 , với pi : số nguyên tố, ei Z Hệ quả: Giả sử a = p1e1.p2e2p3e3…pkek f1 f2 f3 b = p1 p2 p3 pk fk gcd(a,b) = p1min(e1,f1).p2min(e2,f2)…pkmin(ek,fk) (1.1) (1.2) lcm(a,b) = p1max(e1,f1).p2max(e2,f2)…pkmax(ek, fk) Ví dụ: a = 4864=2 19 b = 3458 =2.7.13.19 ta : gcd(a,b)=2.19 lcm(a,b)= 19.7.13 1.1.1 Khái niệm đồng dư Cho n số nguyên dương Nếu a b hai số nguyên, a gọi đồng dư với b theo modulo n, viết a ≡ b (mod n) n│(a – b), n gọi modulo đồng dư Ví dụ: 24 ≡ (mod 5), 17 ≡ (mod 3) Tính chất: (i) a ≡ b (mod n), a b trả số dư đem chia chúng cho n (ii) a ≡ a (mod n)(tính phản xạ) (iii) Nếu a ≡ b (mod n) b ≡ a (mod n) 10 (iv) Nếu a ≡ b (mod n) b ≡ c (mod n) a ≡ c (mod n) (v) Nếu a ≡ a1 (mod n) b ≡ b1 (mod n) a + b ≡ (a1 + b1) (mod n) a.b ≡ a1.b1 (mod n) 1.1.2 Định nghĩa Phi Euler Với n ≥ 1, đặt (n) số số nguyên khoảng [1, n] nguyên tố với n Hàm gọi hàm phi-Euler Tính chất: - Nếu p số nguyên tố (p) = p-1 (1.3) - Nếu gcd(n.m) = 1, (m.n) = (m) (n) (1.4) e1 e2 ek - Nếu n = p1 p2 …pk , dạng khai triển tắc n, (n) = Ví dụ: (1.5) (11) = 11-1 = 10 1.1.3 Thuật toán Euclide Thuật toán: Thuật tốn Euclide, tính ước số chung lớn hai số INPUT: Hai số nguyên không âm a b cho a ≥ b OUTPUT: Ước số chung lớn a b Trong b ≠ 0, thực Đặt r ← a mod b, a ← b, b ← r Kết_quả(a) Ví dụ: Tính gcd(4864, 3458) = 38: 4864 = 1.3458 + 1406 3458 = 2.1406 + 646 1406 = 2.646 + 114 646 = 5.114 + 76 114 = 1.76 + 38 76 = 2.38 + 11 Thuật toán Euclidean mở rộng để khơng tính ước số chung d hai số nguyên a b, mà cịn tính hai số ngun x, y thoả mãn: ax + by = d *Thuật tốn Euclidean mở rộng INPUT: Hai số ngun khơng âm a b với a ≥ b OUTPUT: d = gcd(a, b) hai số x, y thoả mãn ax + by = d Nếu b = 0, đặt d←a , x←1, y←0, Kết_quả(d, x, y) Đặt x2←1, x1←0 , y2 ←0 , y1←1 Trong b > 0, thực hiện: 3.1 q←⎣a/b⎦, r←a–q.b, x←x2–q.x1, y←y2–q.y1 3.2 a←b, b←r, x2←x1, x1←x, y2←y1, y1←y Đặt d←a, x←x2 , y←y2 , Kết_quả(d, x, y) 1.1.4 Không gian Zn Zn* 1.1.4.1 Không gian Zn (các số nguyên theo modulo n) Là tập hợp số nguyên {0, 1, 2, …, n-1} Các phép toán Zn cộng, trừ, nhân, chia thực theo module n Ví dụ: Z21 = {0, 1, 2, 3, …,20} 1.1.4.2 Không gian Zn* Là tập hợp số nguyên a gcd (n, a) =1}, (n) số phần tử * Z , nguyên tố n Tức là: Z = {a n n Z | * Zn * Nếu n số nguyên tố thì: Zn = {a Zn |1 ≤ a ≤ n-1} (1.6) * Ví dụ: Z3 = {0, 1,2} Z3 = {1,2} gcd(1, 3) = 1và gcd(2,3) = 1.1.5 Định nghĩa cấp số a Cho α cho a t * Zn* Zn , cấp a, kí hiệu ord(a) số nguyên dương nhỏ * 1(mod n) Zn n 57 Bảng 3.4: Bảng thay nghịch đảo giá trị {xy} dạng thập lục phân Đoạn mã giả cho phép InvSubBytes 58 3.4.2.3 Phép biến đổi InvMixColumns InvMixColumns biến đổi ngược phép biến đổi MixColumns Mỗi cột trạng thái hành xem đa thức s(x) bậc có hệ số thuộc GF(2 ) -1 nhân với đa thức a (x) nghịch đảo đa thức a(x) (modulo M(x)) sử dụng phép biến đổi MixColumns -1 a (x) = {0b} x + {0d}x + {09}x + {0e} (3.23) Phép nhân s’(x) = a-1(x) ⊗ s(x) biểu diễn dạng ma trận: (3.24) Trong đoạn mã giả sau, hàm Ffmul (x, y) thực phép nhân trường GF(2 ) hai phần tử x y với 59 3.4.3 Các vấn đề cài đặt thuật toán Gọi a trạng thái bắt đầu chu kỳ mã hóa Gọi b, c, d, e trạng thái Kết đầu sau thực phép biến đổi SubBytes, ShiftRows, MixColumns AddRoundKey chu kỳ xét Quy ước: trạng thái s ( s = a,b, c,d, e ), cột thứ j kí hiệu sj, phần tử dịng i cột j kí hiệu si,j Sau biến đổi SubBytes: (3.25) Sau biến đổi ShiftRows: (3.26) Sau biến đổi MixColumns: (3.27) 60 Sau biến đổi AddRoundKey: (3.28) Kết hợp kết trung gian phép biến đổi chu kỳ với ta có: (3.29) Kí hiệu j[r] = (j + shift(r, Nb)) mod Nb ta có: (3.30) Khai triển phép nhân ma trận ta có: (3.31) Định nghĩa bảng tra cứu T0, T1, T2, T3 sau: 61 (3.32) Khi ta viết lại biểu thức (3.32) sau: (3.33) Với round số thứ tự chu kỳ xét Như vậy, cột ej trạng thái kết sau thực chu kỳ mã hóa xác định bốn phép toán XOR số nguyên 32 bit sử dụng bốn bảng tra cứu T0, T1, T2 T3 Công thức (3.33) áp dụng cho Nr-1 chu kì đầu Do chu kỳ cuối khơng thực phép biến đổi MixColumns nên cần xây dựng bảng tra cứu riêng cho chu kì này: (3.34) 62 3.4.4 Kết thử nghiệm Bảng 3.5: Tốc độ xử lý phương pháp Rijndael Kết thử nghiệm thuật toán Rijndael ghi nhận máy Pentium 200 MHz (sử dụng hệ điều hành Microsoft Windows 98), máy Pentium II 400 MHz, Pentium III 733 MHz (sử dụng hệ điều hành Microsoft Windows 2000 Professional), Pentium IV 2,4GHz (sử dụng hệ điều hành Microsoft Windows XP Service Pack 2) 3.4.5 Kết luận 3.4.5.1 Khả an toàn - Việc sử dụng số khác ứng với chu kỳ giúp hạn chế khả tính đối xứng thuật toán - Sự khác cấu trúc việc mã hóa giải mã hạn chế khóa ―yếu‖ (weak key) phương pháp DES - Trong phiên mở rộng, khóa sử dụng thông qua thao tác XOR tất thao tác phi tuyến cố định sẵn S-box mà không phụ thuộc vào giá trị cụ thể mã khóa - Tính chất phi tuyến khả khuếch tán thông tin (diffusion) việc tạo bảng mã khóa mở rộng làm cho việc phân tích mật mã dựa vào khóa tương đương hay khóa có liên quan trở nên khơng khả thi - Trong trường hợp thuật toán Rijndael với số lượng chu kỳ lớn 6, không tồn phương pháp công phá mật mã hiệu phương pháp thử sai - Tính chất phức tạp biểu thức S-box GF(28) với hiệu ứng khuếch tán giúp cho thuật tốn khơng thể bị phân tích phương pháp nội suy 63 3.4.5.2 Đánh giá Phương pháp Rijndael thích hợp cho việc triển khai nhiều hệ thống khác nhau, khơng máy tính cá nhân mà điển hình sử dụng chip Pentium, mà hệ thống thẻ thông minh Trên máy tính cá nhân, thuật tốn AES thực việc xử lý nhanh so với phương pháp mã hóa khác Trên hệ thống thẻ thơng minh, phương pháp phát huy ưu điểm không nhờ vào tốc độ xử lý cao mà nhờ vào mã chương trình ngắn gọn, thao tác xử lý sử dụng nhớ Ngồi ra, tất bước xử lý việc mã hóa giải mã thiết kế thích hợp với chế xử lý song song nên phương pháp Rijndael chứng tỏ mạnh hệ thống thiết bị Do đặc tính việc xử lý thao tác byte liệu nên khơng có khác biệt đặt triển khai hệ thống big-endian hay little-endian Xuyên suốt phương pháp AES, yêu cầu đơn giản việc thiết kế tính linh hoạt xử lý đặt đáp ứng Độ lớn khối liệu mã khóa tùy biến linh hoạt từ 128 đến 256-bit với điều kiện chia hết cho 32 Số lượng chu kỳ thay đổi tùy thuộc vào yêu cầu riêng đặt cho ứng dụng hệ thống cụ thể Tuy nhiên, tồn số hạn chế mà hầu hết liên quan đến trình giải mã Mã chương trình thời gian xử lý việc giải mã tương đối lớn việc mã hóa, thời gian nhanh đáng kể so với số phương pháp khác Khi cài đặt chương trình, q trình mã hóa giải mã không giống nên tận dụng lại tồn đoạn chương trình mã hóa bảng tra cứu cho việc giải mã Khi cài đặt phần cứng, việc giải mã sử dụng lại phần mạch điện tử sử dụng việc mã hóa với trình tự sử dụng khác Phương pháp Rijndael với mức độ an toàn cao ưu điểm đáng ý khác chắn nhanh chóng áp dụng rộng rãi nhiều ứng dụng hệ thống khác 64 3.5 Ứng dụng thuật toán 3.5.1 Giao diện chương trình Hình 3.7: Giao diện chương trình 3.5.2 Chức chương trình 3.5.2.1 Mã hóa Trong q trình mã hóa thực bước: - Chọn file cần mã hóa cách nhấn nút ―ChonFile‖ - Nút ―LuuFile‖ cho phép bạn lưu file cần mã hóa dạng đuôi rij - Nhập PassWord 65 - Khi nhấp nút ―MaHoa‖ file bạn muốn mã hóa thực Kết hiển thị bảng trắng phía Bảng cho phép người dùng thấy thơng tin sau mã hóa, khơng cho phép người dùng nhập thêm vào Dưới progress để biết tiến độ trình mã hóa Các bước thực 3.5.2.2 Giải mã Trong trình giải mã ta cần thực hiện: - Chọn file cần giãi mã cách nhấp ―ChonFile‖ - Sau đó, chương trình tự động load file key dạng XML thư mục - Nếu muốn lưu file thư mục khác bạn nhấn nút ―LuuFile‖ để thực - Nếu file key hợp lệ nút ―GiaiMa‖ cho phép bạn thực trình giải mã file với việc tự động nhập PassWord Dưới progress để biết tiến độ trình giải mã 3.5.3 Code thực mã hóa giải mã // Mã Hóa private void EncryptFile(string scrFileName, string destFileName, byte[] key, byte[] iv) { Stream scrFile = new FileStream(scrFileName, FileMode.Open, FileAccess.Read); Stream rijFile = new FileStream(destFileName, FileMode.Create, FileAccess.Write); using (SymmetricAlgorithm alg = SymmetricAlgorithm.Create("Rijndael")) { alg.Key = key; 66 alg.IV = iv; progressBar1.Minimum = 0; progressBar1.Maximum = Convert.ToInt16(scrFile.Length / 1024) + 1; progressBar1.Value = 1; progressBar1.Step = 1; CryptoStream cryptoStream = new CryptoStream(scrFile, alg.CreateEncryptor(), CryptoStreamMode.Read); int bufferlength; byte[] buffer = new byte[1024]; rijFile.Write(key, 0, 16); rijFile.Write(iv, 0, 16); { bufferlength = cryptoStream.Read(buffer, 0, 1024); rijFile.Write(buffer, 0, bufferlength); ChuoiMaHoa += "\n" + BitConverter.ToString(buffer, bufferlength); progressBar1.PerformStep(); } while (bufferlength > 0); rijFile.Flush(); Array.Clear(key, 0, key.Length); Array.Clear(iv, 0, iv.Length); cryptoStream.Clear(); cryptoStream.Close(); scrFile.Close(); rijFile.Close(); 0, 67 MessageBox.Show("Ma hoa file cong"); } } } // Giải mã private void DecryptFile(string scrFileName, string destFileName, byte[] key, byte[] iv) { Stream scrFile = new FileStream(scrFileName, FileMode.Open, FileAccess.Read); Stream destFile = new FileStream(destFileName, FileMode.Create, FileAccess.Write); using (SymmetricAlgorithm alg = SymmetricAlgorithm.Create("Rijndael")) { alg.Key = key; alg.IV = iv; CryptoStream cryptoStream = new CryptoStream(destFile, alg.CreateDecryptor(), CryptoStreamMode.Write) int bufferlength, i = 0; byte[] buffer = new byte[1024]; progressBar1.Minimum = 0; progressBar1.Maximum = Convert.ToInt16(scrFile.Length/1024) +1; progressBar1.Value = 1; 68 progressBar1.Step = 1; { if (i == 0) { bufferlength = scrFile.Read(buffer, 0, 16); bufferlength = scrFile.Read(buffer, 0, 16); i++; } else { bufferlength = scrFile.Read(buffer, 0, 1024); cryptoStream.Write(buffer, 0, bufferlength); ChuoiGiaiMa += "\n" + BitConverter.ToString(buffer, 0, bufferlength); progressBar1.PerformStep(); } } while (bufferlength > 0); cryptoStream.FlushFinalBlock(); Array.Clear(key, 0, key.Length); Array.Clear(iv, 0, iv.Length); cryptoStream.Clear(); cryptoStream.Close(); scrFile.Close(); destFile.Close(); 69 MessageBox.Show("Giai ma xong", "Thong Bao"); } } } } 70 KẾT LUẬN Hiện nay, với phát triển khoa học đại Công nghệ thông tin, ngành mật mã có bước phát triển mạnh mẽ, đạt nhiều kết lý thuyết sâu sắc tạo sở cho việc phát triển giải pháp bảo mật, an tồn thơng tin lĩnh vực hoạt động người Tìm hiểu qua tài liệu đề tài hệ thống lại kiến thức lĩnh vực mã hóa, tập trung tìm hiểu phương pháp mã hóa khóa đối xứng nghiên cứu bước thực thuật tốn mã hóa Rijndael Bước đầu xây dựng chương trình mã hóa tệp tin thuật toán Rijndael sử dụng thư viện Cryptography Đồ án cịn nhiều điểm cần phải nghiên cứu hồn thiện thời gian trình độ cịn hạn chế nên khơng thể tránh khỏi thiếu xót,nhược điểm Em mong góp ý Thầy, Cơ bạn Em xin chân thành cảm ơn! 71 TÀI LIỆU THAM KHẢO Tài liệu tiếng Việt [1] NHÓM TÁC GIẢ: TS Dương Anh Đức - ThS Trần Minh Triết với đóng góp sinh viên Khoa Công nghệ Thông tin, Trường Đại học Khoa học Tự nhiên, Đại học Quốc gia thành phố Hồ Chí Minh - Book_MaHoaVaUngDung [2] Lê Thụy – ATBMTT1 - Trường Đại học Dân lập Hải Phịng [3] Phan Đình Diệu – Lý thuyết mật mã & an tồn thơng tin – Đại học quốc gia Hà Nội [4] Phạm Trọng Huy – Giáo trình cấu trúc liệu – Khoa Kỹ Thuật trường cao đẳng kinh tế, kĩ thuật Hải Dương [5].An tồn thơng tin mạng máy tính, truyền tin số truyền liệu – PGS,TS.Thái Hồng Nhị & TS Phạm Minh Việt Tài liệu tiếng anh [6] fip – Federal Information Processing Standards Publication 197 Specification for the Advanced Encrytion Standard (November 26,2001) [7] A specification for Rijndael, the AES Algorithm - Dr.Brian Gladman, v3.1, rd March 2001 ... lập mã hay thuật tốn lập mã, ―dễ‖ xác định rõ, ―dễ‖ tìm khóa giải mã + Hệ mã hóa DES (1973) Mã hóa khóa đối xứng đại, có độ an tồn cao Ưu điểm: Hệ mã hóa khóa đối xứng mã hóa giải mã nhanh Hệ mã. .. Nơi sử dụng hệ mã hóa khóa đối xứng Hệ mã hóa khóa đối xứng thường sử dụng môi trường mà khóa chung dễ dàng trao chuyển bí mật, chẳng hạn mạng nội Hệ mã hóa khóa đối xứng thường dùng để mã hóa tin... hóa có khóa lập mã khóa giải mã trùng (ke = kd), hệ mã hóa ―dịch chuyển‖ hay DES Hệ mã hóa khóa đối xứng cịn gọi Hệ mã hóa khóa bí mật, hay khóa riêng, phải giữ bí mật khóa Trước dùng hệ mã hóa

Ngày đăng: 31/08/2020, 14:44

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w