Xây dựng mã hóa AES bảo mật thông tin trên nền FPGA

27 3.1K 28
Xây dựng mã hóa AES bảo mật thông tin trên nền FPGA

Đ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

TRƯỜNG ĐẠI HỌC VINH  ĐỒ ÁN  Đề tài:  !" #$%& '()*+(,-'./- 0+1'234--+526-+ *-+7*8-9+:;+*<- 0=>-?-2@-  A,B 0CDE FGHG*-+7*8- 0IJKLIDICKM *8-E+NO 0PIIJPILP NGHỆ AN- 01/2012 QAQ CÁC TỪ VIẾT TẮT TRONG ĐỒ ÁN 4 DANH MỤC HÌNH VẼ .5 DANH MỤC BẢNG BIỂU .7 LỜI MỞ ĐẦU 8 +(R-'L +(R-'B+SBTF+NO 1.1. Giới thiệu về chuẩn hóa nâng cao AES 10 1.2. Các khái niệm và định nghĩa 11 1.2.1. Các khái niệm và ký hiệu .11 1.2.2. Các hàm và các tham số của thuật toán AES .12 1.3. Một số khái niệm toán học AES .14 1.3.1. Phép cộng .14 1.3.2. Phép nhân .14 1.3.3. Đa thức với hệ số trên GF(2 ) .16 1.4. Quy trình hóa AES .17 1.4.1. Phép biến đổi SubBytes .20 1.4.2. Phép biến đổi ShiftRows 22 1.4.3.Phép biến đổi MixColumns .23 1.4.4. Thao tác AddRoundKey .24 1.4.5. Thuật toán sinh khóa (Key Expansion) 25 1.5. Quy trình giải AES .27 1.5.1. Phép biến đổi InvShifRows 28 1.5.2. Phép biến đổi InvSuBytes 28 1.5.3. Phép biến đổi InvMixColumns 30 1.5.4. Thuật toán giải tương đương 33 2 +(R-'P U5V%&WA 2.1. Tổng quan về FPGA .33 2.2. Ứng dụng của FPGA 34 2.3. Kiến trúc FPGA 34 2.3.1. Kiến trúc của chíp FPGA .34 2.3.2. Đặc điểm hoạt động của FPGA 37 2.4. Thiết kế và lập trình FPGA 40 2.4.1. Thiết kế sử dụng sơ đồ .41 2.4.2. Sử dụng ngôn ngữ HDL .43 2.5. Virtex-4 LC System Board .44 2.5.1. Giới thiệu chung .44 2.5.2. Các chức năng của bo phát triển 46 +(R-'X #$%& 3.1. Sơ đồ tổng quan của hệ thống AES 50 3.1.1. Mô tả lưu đồ tổng quát của bộ hóa và giải AES 50 3.1.2. Sơ đồ thuật toán khối Data của bộ hóa .51 3.1.3. Sơ đồ thuật toán của khối KeyExpansion 52 3.1.4. Sơ đồ thuật toán khối CPU .53 3.1.5. Sơ đồ thuật toán khối Data của bộ giải AES 53 3.2. Thiết kế chi tiết các khối chức năng của bộ hóa .54 3.2.1. Khối AddRoundKey .54 3.2.2. Khối SubByte .56 3.2.3. Khối ShiftRow .56 3.2.4. Khối MixColumn .58 3.3. Thiết kế các khối chức năng của bộ giải 60 3 3.3.1. Nhân với 09h 61 3.3.2. Phép nhân với 0Bh .61 3.3.2. Phép nhân với 0Dh .61 3.3.3. Phép nhân với 0Eh .62 3.4. Thiết kế chi tiết cho khối KeyExpansion .63 3.4.1. Khối RotWord 63 3.4.2. Khối SubWord .64 3.4.3. Khối Rcon 64 3.4.4. Khối KeyStorage 65 3.4.5. Khối DemuxKey 66 3.5. Khối diều khiển bộ giải và bộ giao tiếp với máy tính 67 3.5.1. Khối CPU - điều khiển bộ giải .67 3.5.2. Khối giao tiếp với máy tính 69 KẾT LUẬN .71 TÀI LIỆU THAM KHẢO .73 4 YZ[\#]Y ( ^ 7*8 _ 99? _ 9 '+` a O9*8 _ -'-+ '+` a O9*8 _ -'*8 b 9 FPGA Field Programmable Gates Array Mảng cổng lập trình được dạng trường ASIC Application Specific Integrated Circuit Vi mạch tích hợp chuyên dụng CPLD Complex Programmable Logic Device Linh kiện (thiết bị) lôgic phức hợp có thể lập trình AES Advanced Encryption Standard LUT Look Up Table Bảng tra SRAM Static Random Memory Access Ram tĩnh HDL Hardware Description Language Ngôn ngữ mô tả phần cứng VHDL VHSIC Hardware Description Language Ngôn ngữ mô tả phần cứng VHSIC Very High Speed Integrated Circuits Các mạch tích hợp tốc độ cao PLD Programmable Logic Device GPIO General Purpose IO Các chân vào ra thông thường CAD Computer Aided Design Hỗ trợ thiết kế trên máy tính IEEE Institute of Electrical and Electronic Engineers Viện Kĩ thuật điện và điện tử NIST National Institute of Standard and Technology Viện công tiêu chuẩn và công nghệ Hoa Kỳ GF Galois Field Trường Galoa DES Data Encryption Standard Tiêu chuẩn hóa dữ liệu 5 Qcd Hình 1.1. Các trạng thái của AES .18 Hình 1.2. Thao tác SubBytes tác động trên từng byte của trạng thái 21 Hình 1.3. Thao tác ShiftRows tác động trên từng dòng của trạng thái .22 Hình 1.4. Hàm ShiffRows() 23 Hình 1.5. Thao tác MixColumns tác động lên mỗi cột của trạng thái 24 Hình 1.6. Thao tác AddRoundKey tác động lên mỗi cột của trạng thái .25 Hình 1.7. SubWord 26 Hình 1.8. RotWord 26 Hình 1.9. Thao tác InvShiftRows tác động lên từng dòng của trạng thái hiện hành .28 Hình 2.1. Kiến trúc FPGA .29 Hình 2.2. Logic block 35 Hình 2.3. Vị trí các chân của Logic block 36 Hình 2.4. Kết nối các khối logic 37 Hình 2.5. Kết nỗi các khối logic với các chân I/O của FPGA 38 Hình 2.6. Các đường kết nối chuyên dụng tốc dộ cao 38 Hình 2.7. FPGA kết hợp với RAM trong 39 Hình 2.8. RAM hai cổng .39 Hình 2.9. Quá trình thiết kế PLD 42 Hình 2.10. Thiết kế bộ nhân sử dụng Sơ đồ và ngôn ngữ VHDL .43 Hình 2.11. Bo mạch Virtex-4 LC 46 Hình 2.12. Sơ đồ khối chức năng của Virtex-4 LC .47 Hình 2.13. Cổng cấu hình và nạp chương trình cho Virtex-4 . 47 Hình 2.14. Giao tiếp giữa Virtex-4 và cổng RS232 49 Hình 3.1. Sơ đồ khối tổng quát hệ thống AES 50 Hình 3.2. Sơ đồ thuật toán Khối data của bộ hóa 51 Hình 3.3. Sơ đồ thuật toán Khối KeyExpansion .52 6 Hình 3.4. Sơ đồ thuật toán khối CPU 53 Hình 3.5. Sơ đồ thuật toán khối giải - Dạng 1 .54 Hình 3.6. Khối AddRoundKey 55 Hình 3.7. Sơ đồ thuật toán khối giải - Dạng 2 .55 Hình 3.8. Khối SubByte 56 Hình 3.9. Khối ShiftRow .57 Hình 3.10. Khối MixColumn 58 Hình 3.11. Khối Xtime 59 Hình 3.12. Phép biến đổi theo dòng 60 Hình 3.13. Khối SubMixColumn 61 Hình 3.14. Khối nhân 09h .61 Hình 3.15. Khối nhân 0Bh 62 Hình 3.16. Khối nhân 0Dh 62 Hình 3.17. Phép nhân 0Eh .63 Hình 3.18. Khối InverseMixColumn .63 Hình 3.19. Sơ đồ khối KeyExPansion 63 Hình 3.20. Khối RotWord .64 Hình 3.21. Khối SubWord .65 Hình 3.22. Khối Rcon .66 Hình 3.23. Khối KeyStorage .66 Hình 3.24. Khối DemuxKey .67 Hình 3.25. Khối CPU 67 Hình 3.26. Giản đồ thời gian điều khiển vòng key .68 Hình 3.27. Giản đồ thời gian điều khiển vòng data 68 Hình 3.28. Sơ đồ khối giao tiếp với máy tính .70 7 Q ! eV Bảng 1.1. Quy ước một số từ viết tắt và thuật ngữ của AES 12 Bảng 1.2. Các hàm, ký hiệu và các tham số của thuật toán AES 13 Bảng 1.3. Bảng độ dài khóa của AES .19 Bảng 1.4. Bảng thế S-Box của AES 22 Bảng 1.5. Bảng thế cho hàm InvSByte .29 Bảng 2.1. Sơ đồ chân LED 48 Bảng 2.2. Sơ đồ phím bấm 48 Bảng 2.3. Sơ đồ công tắc 48 Bảng 2.4. Giao tiếp với RS232 .48 Bảng 2.5. Màn hình LCD 49 8 AfghV Ngày nay, các ứng dụng hóabảo mật thông tin đang được sử dụng ngày càng phổ biến trong các lĩnh vực khác nhau trên thế giới, từ các lĩnh vực an ninh, quân sự, quốc phòng cho đến các lĩnh vực dân sự như thương mại điện tử, ngân hàng… Với sự phát triển ngày càng nhanh chóng của Internet và các ứng dụng giao dịch điện tử trên mạng, nhu cầu bảo vệ thông tin trong các hệ thống và ứng dụng điện tử ngày càng được quan tâm và có ý nghĩa hết sức quan trọng. Các ứng dụng hóa thông tin cá nhân, trao đổi thông tin kinh doanh, thực hiện các giao dịch điện tử qua mạng . đã trở nên gần gũi và quen thuộc với mọi người. Cùng với sự phát triển của khoa học máy tính và Internet, các nghiên cứu và ứng dụng của các chuẩn hóa ngày càng trở nên đa dạng hơn, Có rất nhiều chuẩn hóa đang được áp dụng trên thế giới như RSA, SHA, RC4/RC5, DES, Triple-DES, .và nhìn chung các chuẩn hóa chỉ có hiệu lực trong một khoảng thời gian nhất định. Chuẩn hóa AES được viện tiêu chuẩn công nghệ Quốc gia Hoa Kì NIST thông qua năm 2001 để thay thế cho DES có nguy cơ bị sụp đổ. Công nghệ hóa có thể được thực hiện trên phần mềm, trên phần cứng hoặc kết hợp cả phần cứng và phần mềm. Các bộ hóa thực hiện trên phần cứng có khả năng chống tấn công cao hơn so với phần mềm do đó nó ngày càng trở nên phổ biến trên thế giới. Mục đích của đồ án là sử dụng vi mạch khả trình FPGA để thực thi bộ hóa tiêu chuẩn nâng cao AES. FPGA được ứng dụng điển hình trong các lĩnh vực như: xử lý tín hiệu số, xử lý ảnh, thị giác máy, nhận dạng giọng nói, hóa, mô phỏng (emulation) . Nô ̣ i dung đô ̀ a ́ n bao gồm 3 chương:  Chương 1 Chuẩn hóa nâng cao AES  Chương 2 Tổng quan về FPGA và VHDL 9  Chương 3 hóa AES trên nền FPGA FPGA đặc biệt mạnh trong các lĩnh vực hoặc ứng dụng kiến trúc của nó yêu cầu một lượng rất lớn xử lý song song, đặc biết là hóa và giải mã. FPGA là một công nghệ ngày càng được phát triển trong khắp các lĩnh vực công nghệ do các ưu điểm nổi trội của nó mang lại. Em xin chân thành cảm ơn thầy giáo Th.s. Nguyễn Anh Quỳnh đã giúp đỡ em tận tình trong quá trình thực hiện đồ án này. Vinh, tháng 1 năm 2012 Trần Văn Huân 10 . L1L1*,*9+*<27j;+2k-TF+NO-@-';Ol Chuẩn mã hóa dữ liệu cao cấp AES (Advanced Encryption Standard) là một hệ mã khóa bị mật có tên là Rijdael (do hai nhà mật mã học người Bỉ là. dài khóa của AES Quy trình mã hóa sử dụng bốn phép biến đổi chính: 1. AddRoundKey: cộng ⊕ mã khóa của chu kỳ vào trạng thái hiện hành. Độ dài của mã khóa

Ngày đăng: 13/12/2013, 23:57

Từ khóa liên quan

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

Tài liệu liên quan