Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 26 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
26
Dung lượng
550,96 KB
Nội dung
1 HỌC VIỆN CƠNG NGHỆ BƯU CHÍNH VIỄN THƠNG - Trần Thị Kim Thùy NGHIÊN CỨU VỀ ỨNG DỤNG CHUẨN MẬT MÃ NÂNG CAO (AES) TRONG XÂY DỰNG HÀM BĂM Chuyên ngành: Kỹ thuật điện tử Mã số: 60.52.70 TÓM TẮT LUẬN VĂN THẠC SĨ HÀ NỘI - 2012 Luận văn hồn thành tại: HỌC VIỆN CƠNG NGHỆ BƯU CHÍNH VIỄN THƠNG Người hướng dẫn khoa học: GS.TS.NGUYỄN BÌNH Phản biện 1: ………………………………………………………… Phản biện 2: ………………………… …………………………… Luận văn bảo vệ trước Hội đồng chấm luận văn thạc sĩ Học viện Cơng nghệ Bưu Viễn thông Vào lúc: ngày tháng năm Có thể tìm hiểu luận văn tại: - Thư viện Học viện Công nghệ Bưu Viễn thơng MỞ ĐẦU Với tốc độ khả xử lý ngày nâng cao vi xử lý nay, phương pháp mã hóa chuẩn (DES - Data Encryption Standard) trở nên khơng an tồn bảo mật thơng tin Do đó, Viện tiêu chuẩn cơng nghệ Hoa kỳ (NIST - National Institute Standards of Technology) định chọn chuẩn mã hóa với độ an tồn cao nhằm phục vụ nhu cầu bảo mật thông tin liên lạc Chính phủ Hoa Kỳ ứng dụng dân Thuật toán Rijndael Vincent Rijmen Joan Daeman thức chọn trở thành chuẩn mã hóa nâng cao (AES - Advanced Encryption Standard) từ ngày 02 tháng 10 năm 2000 Ngày nay, ứng dụng chuẩn mật mã nâng cao sử dụng ngày phổ biến lĩnh vực khác giới Chuẩn mật mã nâng cao không đơn mã hóa giải mã thơng tin mà bao gồm nhiều vấn đề khác cần nghiên cứu giải ứng dụng xây dựng hàm băm phục vụ việc chứng thực nguồn gốc nội dung thông tin (kỹ thuật chữ ký điện tử), xác thực tính nguyên vẹn liệu Với phát triển ngày nhanh chóng Internet ứng dụng giao dịch điện tử mạng, nhu cầu bảo vệ thông tin hệ thống ứng dụng điện tử ngày quan tâm có ý nghĩa quan trọng Vì việc nghiên cứu chuẩn mật mã nâng cao ứng dụng lĩnh vực bảo mật thơng tin cần thiết Ngoài phần mở đầu, kết luận danh mục tài liệu tham khảo luận văn kết cấu thành chương: Chương 1: Sơ lược chuẩn mật mã nâng cao (AES) Chương 2: Hàm băm mật mã Chương 3: Ứng dụng chuẩn mật mã nâng cao để xây dựng vài hàm băm cụ thể Trong trình thực Luận văn, thời gian trình độ tác giả có hạn chế định nên tránh khỏi sai sót Rất mong nhận góp ý thầy, cô giáo bạn để Luận văn hồn thiện Tơi xin chân thành cám ơn hướng dẫn, giúp đỡ tận tình GS.TS Nguyễn Bình, thầy khoa Quốc tế Đào tạo sau đại học – Học viện Cơng nghệ Bưu Viễn thơng giúp đỡ tơi q trình học tập trình làm Luận văn CHƯƠNG 1: SƠ LƯỢC VỀ CHUẨN MẬT MÃ NÂNG CAO 1.1 Đặt vấn đề Hiện với tốc độ khả xử lý vi xử lý ngày nâng cao, phương pháp mã hóa chuẩn DES, Tri DES trở nên khơng an tồn bảo mật thơng tin Vì cần nghiên cứu chuẩn mật mã đáp ứng nhu cầu bảo mật thông tin, chuẩn mật mã nâng cao AES đời Sau thực hai lần tuyển chọn công khai, có năm thuật tốn vào vịng chung kết, gồm có: Mars, RC6, Serpent, Twofish Rijndael Các thuật tốn đạt yêu cầu AES nên gọi chung thuật toán ứng viên AES Các thuật tốn ứng viên AES có độ an tồn cao, chi phí thực thấp Tuy nhiên với thiết kế đẹp đơn giản thuật toán Rijndael hai nhà mật mã học người Bỉ thiết kế chọn thuật toán AES 1.2 Cơ sở toán học AES AES sử dụng trường hữu hạn Galois (GF(28) để thực phép toán: phép cộng, phép trừ, phép nhân, phép chia Các phần tử trường GF(28) xem đa thức 1.3 Các thuật toán ứng viên AES 1.3.1 Thuật toán Marc 1.3.2 Thuật toán RC6 1.3.3 Thuật toán Rijndael 1.3.4 Thuật toán Serpent 1.3.5 Thuật toán TwoFish 1.3.6 Nhận xét thuật tốn ứng viên AES Quy trình mã hóa gồm: khởi tạo, phân bố khóa mã hóa Quy trình giải mã gồm: khởi tạo, phân bố khóa giải mã Phân bố khóa thực dựa khóa người sử dụng cung cấp để phát sinh subkey phục vụ cho việc mã hóa giải mã Dữ liệu vào quy trình mã hóa, giải mã khối liệu 128 bit 1.4 Mô tả AES theo Rijndael 1.4.1 Đầu vào đầu phép mã giải mã AES trường hợp riêng Rijndael AES có độ dài khối 128 bit hỗ trợ độ dài khóa 128, 192, hay 256 bit Đầu vào đầu Rijndael xem mảng chiều byte 8bit Đối với phép mã, đầu vào khối rõ khóa, đầu mã Đối với phép giải mã, đầu vào khối mã khóa, đầu khối rõ Biến đổi vịng Rijndael bước nó, thao tác kết trung gian, gọi trạng thái Trạng thái vẽ mảng chữ nhật byte với dòng Số cột trạng thái ký hiệu Nb độ dài khối chia cho 32 (đối với AES Nb 4) 1.4.2 Cấu trúc AES Rijndael mã khối khóa - lặp: bao gồm việc áp dụng lặp ánh xạ vòng trạng thái Số vòng ký hiệu N r phụ thuộc vào độ dài khối độ dài khóa Hình vẽ 1.8 minh họa cấu trúc sở thuật tốn AES Hình 1.8: Cấu trúc sở thuật toán AES Tầng phi tuyến: Áp dụng song song S - box mà có tính chất phi tuyến trường hợp tồi tối ưu Tầng trộn tuyến tính: Đảm bảo khuyếch tán cao qua nhiều vịng Tầng cộng khóa: Là phép XOR bit Round key trạng thái trung gian Trong thực tế, tầng trộn tuyến tính Rijndael lại bao gồm hai tầng con, ShiftRows MixColumns 1.4.3 Quy trình mã hóa giải mã Quy trình mã hóa giải mã AES sử dụng hàm lặp kết hợp bốn hàm biến đổi (đơn vị xử lý byte) sau: 1) biến đổi thay byte sử dụng bảng (Sbox), 2) dịch hàng mảng trạng thái với số lần dịch hàng khác nhau, 3) kết hợp liệu cột mảng trạng thái 4) cộng khóa RoundKey vào trạng thái Giải mã AES cách thực biến đổi ngược biến đổi phép mã hóa AES cách biến đổi tương đương Các biến đổi minh họa hình vẽ 1.10 đây: Hình 1.10 Quy trình mã hóa giải mã AES 1.4.3.1 Quy trình mã hóa Tồn phép mã hóa mơ tả sau: (1) S = AddRoundKey (P,W0) (2) For i = to Nr -1 S = SubBytes (S) S = ShiftRows (S) S = MixColumns (S) S = AddRoundKey (S, W) (3) S = SubBytes (S), S = ShiftRows (S) (4) C = AddRoundKey (SubBytes, WNr) 1.4.3.2 Giải mã Rijndael Giải mã Rijndael có cách giải mã là: giải mã trực tiếp giải mã thuật toán giải mã tương đương Giải mã trực tiếp: Mọi biến đổi dùng phép tính mã hóa khả nghịch Cài đặt phép tính giải mã giữ nguyên thứ tự biến đổi dùng phép mã hóa, thay phép biến đổi biến đổi ngược chúng Giải mã tương đương: thực cách đảo ngược thứ tự hàm SubByte-1() ShiftRows-1(), thay đổi thứ tự AddRoundKey(), MixColumns-1 () lần lặp sau thay đổi khóa cho giá trị Round = to N r-1 cách sử dụng biến đổi MixColumns() Các word cuối danh sách khóa khơng bị thay đổi ta áp dụng phương pháp 1.4.3.2.Các phép biến đổi mã hóa giải mã AES a) Biến đổi SubBytes() Biến đổi SubBytes() thay byte riêng rẽ state sr,c giá trị s’r,c sử dụng bảng thay (S - box), bảng có ngược Hình 1.13 ảnh hưởng biến đổi SubBytes() state Hình 13 SubBytes() áp dụng S - box cho byte state S - box dùng biến đổi SubBytes() trình bày dạng số 16 bảng 3.1 sau: b) Biến đổi ShiftRows(): Hình 1.14 biến đổi ShiftRows() Hình 1.14 Dịch vịng ShiftRows() ba hàng cuối state Trong biến đổi ShiftRows(), byte ba hàng cuối trạng thái dịch vòng số byte khác (độ lệch) Cụ thể, biến đổi ShiftRows(), xử lý sau: s’rc = sr(c+r)mod 4, với 0