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

Ứng dụng fpga trong bảo mật thông tin

71 2 0
Tài liệu đã được kiểm tra trùng lặp

Đ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 71
Dung lượng 1,08 MB

Nội dung

MỤC LỤC Trang Trang phụ bìa…………………………………………………………………… Mục lục…………………………………………………………………………… Danh mục ký hiệu, chữ viết tắt…………………………………………… Danh mục bảng……………………………………………………………… Danh mục hình vẽ…………………………………………………………… MỞ ĐẦU Chương TỔNG QUAN VỀ FPGA VÀ VHDL 1.1 Khái niện FPGA 1.2 Lịch sử đời FPGA 1.3 Ý nghĩa vai trò FPGA 1.4 Kiến trúc FPGA 1.4.1 Kiến trúc chíp FPGA 1.4.2 Đặc điểm hoạt động FPGA 1.5 Qúa trình thiết kế FPGA 10 1.5.1 Thiết kế sử dụng sơ đồ 11 1.5.2 Sử dụng ngôn ngữ HDL 12 1.6 Virtex-4 LC System Board 14 1.6.1 Giới thiệu chung 14 1.6.2 Các chức bo phát triển 16 Chương CHUẨN MÃ HÓA NÂNG CAO AES 2.1 Lịch sử chuẩn mã hóa AES 21 2.2 Cơ sở toán học xây dựng AES 22 2.2.1 Phép cộng 22 2.2.2 Phép nhân………………………………………………………………….23 2.3 Các phép biến đổi 26 2.3.1 Phép byte – SubBytes( ) 28 2.3.2 Phép dịch hàng – ShiftRows( ) 29 2.3.3 Phép trộn cột – MixColumns( ) 30 2.3.4 Cộng với khóa vịng - AddRoundKey( ) 31 2.3.5 InverseSubBytes( ) 32 2.3.6 InverseMixColumns( ) 33 2.3.7 InverseShiftRows( ) 34 2.4 Quy trình sinh khóa ( Key Expansion) 35 2.4.1 SubWord ( ) 36 2.4.2 RotWord ( ) 36 2.4.3 Xor với RCon[i] 36 2.5 Mã hóa 37 2.6 Giải mã ( Inverse Cipher ) 38 Chương MÃ HÓA AES TRÊN NỀN FPGA 3.1 Sơ đồ tổng quan hệ thống AES 41 3.1.1 Mô tả lưu đồ tổng quát mã hóa giải mã AES 41 3.1.2 Sơ đồ thuật toán khối Data mã hóa 42 3.1.3 Sơ đồ thuật toán khối KeyExpansion 43 3.1.4 Sơ đồ thuật toán khối CPU 44 3.1.5 Sơ đồ thuật toán khối Data giải mã AES 44 3.2 Thiết kế chi tiết khối chức mã hóa 46 3.2.1 Khối AddRoundKey 46 3.2.2 Khối SubByte 47 3.2.3 Khối ShiftRow 48 3.2.4 Khối MixColumn 50 3.4 Thiết kế khối chức giải mã 52 3.4.1 Nhân với 09h 53 3.4.2 Phép nhân với 0Dh 53 3.4.3 Phép nhân với 0Eh 54 3.4 Thiết kế chi tiết cho khối KeyExpansion 55 3.4.1 Khối RotWord 55 3.4.2 Khối SubWord 56 3.4.3 Khối Rcon 56 3.4.4 Khối KeyStorage 57 3.4.5 Khối DemuxKey 59 3.5 Khối diều khiển giải mã giao tiếp với máy tính 59 3.5.1 Khối CPU - điều khiển giải mã 59 3.5.2 Khối giao tiếp với máy tính 62 KẾT LUẬN 63 TÀI LIỆU THAM KHẢO 64 FPGA ASIC CÁC TỪ VIẾT TẮT TRONG ĐỒ ÁN Field Programmable Gates Array Application Specific Integrated Circuit CPLD AES Complex Programmable Logic Device Advanced Encryption Standard LUT Look Up Table SRAM Bảng tra Static Random Memory Access HDL VHDL VHSIC Ram tĩnh Hardware Description Language Ngôn ngữ mô tả phần cứng VHSIC Hardware Description Language Very High Speed Integrated Circuits Các mạch tích hợp tốc độ cao PLD GPIO Programmable Logic Device General Purpose IO CAD Các chân vào thông thường Computer Aided Design IEEE NIST GF DES DPA Hỗ trợ thiết kế máy tính Institute of Electrical and Electronic Engineers Viện Kĩ thuật điện điện tử National Institute of Standard and Technology Viện công tiêu chuẩn công nghệ Hoa Kỳ Galois Field Trường Galoa Data Encryption Standard Tiêu chuẩn mã hóa liệu Difference Power Attack DANH MỤC CÁC BẢNG BIỂU Trang Bảng 1.1 Sơ đồ chân LED 18 Bảng 1.2 Sơ đồ phím bấm 18 Bảng 1.3 Sơ đồ công tắc 18 Bảng 1.4 Giao tiếp với RS232 19 Bảng 1.5 Màn hình LCD 20 Bảng 2.1 Các chuẩn AES 27 Bảng 2.2 S-box 29 Bảng 2.2 Bảng Inverse S-Box 33 C.33.44.55.54.78.65.5.43.22.2.4 22.Tai lieu Luan 66.55.77.99 van Luan an.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.C.33.44.55.54.78.655.43.22.2.4.55.22 Do an.Tai lieu Luan van Luan an Do an.Tai lieu Luan van Luan an Do an DANH MỤC CÁC HÌNH VẼ Trang Hình 1.1 Kiến trúc FPGA Hình 1.2 Logic block Hình 1.3 Vị trí chân Logic block Hình 1.4 Liên kết Logic block với kênh định tuyến Hình 1.5 Kết nối khối logic Hình 1.6 Kết nỗi khối logic với chân I/O FPGA Hình 1.7 Các đường kết nối chuyên dụng tốc dộ cao Hình 1.8 FPGA kết hợp với RAM Hình 1.9 RAM hai cổng Hình 1.10 Quá trình thiết kế PLD 12 Hình 1.11 Thiết kế nhân sử dụng Sơ đồ ngôn ngữ VHDL 13 Hình 1.12 Bo mạch Virtex-4 LC 16 Hình 1.13 Sơ đồ khối chức Virtex-4 LC 17 Hình 1.14 Cổng cấu hình nạp chương trình cho Virtex-4 17 Hình 1.15 Giao tiếp Virtex-4 cổng RS232 19 Hình 2.1 Trạng thái đầu vào, đầu trung gian 26 Hình 2.2 SubBytes 29 Hình 2.3 ShifRows 30 Hình 2.4 MixColumn 31 Hình 2.5 AddRoundKey 32 Hình 2.6 ShiftRow 34 Hình 2.7 SubWord 36 Hình 2.8 RotWord 36 Hình 3.1 Sơ đồ khối tổng quát hệ thống AES 41 Hình 3.2 Sơ đồ thuật tốn Khối data mã hóa 42 Hình 3.3 Sơ đồ thuật toán Khối KeyExpansion 43 Hình 3.4 Sơ đồ thuật tốn khối CPU 45 Hình 3.5 Sơ đồ thuật toán khối giải mã - Dạng 46 Hình 3.6 Khối AddRoundKey 46 Hình 3.7 Sơ đồ thuật toán khối giải mã - Dạng 47 Hình 3.8 Khối SubByte 48 Stt.010.Mssv.BKD002ac.email.ninhd 77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77t@edu.gmail.com.vn.bkc19134.hmu.edu.vn.Stt.010.Mssv.BKD002ac.email.ninhddtt@edu.gmail.com.vn.bkc19134.hmu.edu.vn C.33.44.55.54.78.65.5.43.22.2.4 22.Tai lieu Luan 66.55.77.99 van Luan an.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.C.33.44.55.54.78.655.43.22.2.4.55.22 Do an.Tai lieu Luan van Luan an Do an.Tai lieu Luan van Luan an Do an Hình 3.9 Khối ShiftRow 49 Hình 3.10 Khối MixColumn 50 Hình 3.11 Khối Xtime 51 Hình 3.12 Phép biến đổi theo dòng 52 Hình 3.13 Khối SubMixColumn 53 Hình 3.14 Khối nhân 09h 53 Hình 3.15 Khối nhân 0Bh 53 Hình 3.16 Khối nhân 0Dh 54 Hình 3.17 Phép nhân 0Eh 54 Hình 3.18 Khối InverseMixColumn 55 Hình 3.19 Sơ đồ khối KeyExPansion 55 Hình 3.20 Khối RotWord 56 Hình 3.21 Khối SubWord 56 Hình 3.22 Khối Rcon 57 Hình 3.23 Khối KeyStorage 57 Hình 3.24 Khối DemuxKey 59 Hình 3.25 Khối CPU 59 Hình 3.26 Giản đồ thời gian điều khiển vòng key 60 Hình 3.27 Giản đồ thời gian điều khiển vịng data 60 Hình 3.28 Sơ đồ khối giao tiếp với máy tính 62 LỜI NÓI ĐẦU Thông tin di động ngày trở thành ngành công nghiệp viễn thông phát triển nhanh mang lại nhiều lợi nhuận cho nhiều nhà khai thác Sự phát triển thị trường viễn thông di động thúc đẩy mạnh mẽ việc nghiên cứu triển khai hệ thống thông tin di động tương lai Các dịch vụ mạng thông tin di động ngày phong phú hơn, dịch vụ thoại truyền thống, hệ thống thông tin di động đại cịn cung cấp thêm nhiều loại hình dịch vụ số liệu khác với tốc độ cao Stt.010.Mssv.BKD002ac.email.ninhd 77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77t@edu.gmail.com.vn.bkc19134.hmu.edu.vn.Stt.010.Mssv.BKD002ac.email.ninhddtt@edu.gmail.com.vn.bkc19134.hmu.edu.vn C.33.44.55.54.78.65.5.43.22.2.4 22.Tai lieu Luan 66.55.77.99 van Luan an.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.C.33.44.55.54.78.655.43.22.2.4.55.22 Do an.Tai lieu Luan van Luan an Do an.Tai lieu Luan van Luan an Do an Bên cạnh đó, vấn đề lớn hệ thống truyền thông vô tuyến di động đảm bảo tính bảo mật thông tin người sử dụng Kiến trúc mạng thông tin di động, thế, ngồi thành phần nhằm thực truyền thơng tin người dùng cịn u cầu thêm thành phần khác để bảo mật thông tin Do đó, có nhiều thuật tốn bảo mật đời, thay nhằm đảm bảo tốt tính an tồn thơng tin, đề tài thú vị thu hút nhiều quan tâm nhà nghiên cứu Đã có nhiều đề tài nghiên cứu khoa học đưa vấn đề bảo mật thơng tin, qua tìm hiểu em biết chuẩn mã hóa AES Viện tiêu chuẩn cơng nghệ Quốc gia Hoa Kì (NIST) thông qua năm 2001 đề tài đánh giá cao bảo mật thơng tin Chính mục đích đồ án em sử dụng vi mạch khả trình FPGA để thực thi mã hóa tiêu chuẩn nâng cao AES FPGA cơng nghệ ngày phát triển khắp lĩnh vực công nghệ ưu điểm trội Em xin chân thành cảm ơn thầy giáo ThS.Nguyễn Anh Quỳnh giúp đỡ em tận tình trình thực đồ án Em xin chân thành cảm ơn Thầy tổ Điều Khiển Tự Động nói riêng Thầy Cơ mơn khoa Điện Tử Viễn Thông trường Đại Học Vinh giúp đỡ em suốt trình học tập làm đồ án Tốt Nghiệp Vinh, tháng 12 năm 2011 Sinh viên thực : Hoàng Song Hào CHƯƠNG 1: TỔNG QUAN VỀ FPGA VÀ VHDL 1.1 Khái niện FPGA FPGA thiết bị bán dẫn bao gồm thành phần logic lập trình đường nối chúng Các thành phần lập trình để tạo cổng logic AND, OR, XOR, NOT hàm phức hợp giải mã Stt.010.Mssv.BKD002ac.email.ninhd 77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77t@edu.gmail.com.vn.bkc19134.hmu.edu.vn.Stt.010.Mssv.BKD002ac.email.ninhddtt@edu.gmail.com.vn.bkc19134.hmu.edu.vn C.33.44.55.54.78.65.5.43.22.2.4 22.Tai lieu Luan 66.55.77.99 van Luan an.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.C.33.44.55.54.78.655.43.22.2.4.55.22 Do an.Tai lieu Luan van Luan an Do an.Tai lieu Luan van Luan an Do an hàm toán học Trong hầu hết FPGA, thành phần logic lập trình ( cịn gọi khối logic ) bao gồm phần tử nhớ flip-flop đơn giản khối nhớ hoàn chỉnh Hệ thống đường nối cho phép khối logic chip FPGA kết nối với mong muốn người thiết kê hệ thống FPGA nhìn chung có tốc độ xử lí chậm so với ASIC, khơng thể đáp ứng thiết kế phức tạp tiêu tốn nhiều lượng Tuy nhiên có ưu điểm trội thời gian nghiên cứu ngắn, có khả lập trình lại chip nên sửa chữa lỗi dễ dàng, nhanh chóng đưa sản phẩm thị trường Để tiết kiệm thời gian chi phí sản xuất, hạn giá thành sản phẩm thiết kế phát triển chíp FPGA thơng thường, sau chuyển sang phiên cố định, thường ASIC 1.2 Lịch sử đời FPGA Các chip FPGA bắt nguồn từ chip gọi CPLD (Complex Programmable Logic Device) vào năm 1980 Ross Freeman Xilinx hai nhà đồng phát minh FPGA vào năm 1984 CPLD FPGA bao gồm số phần tử logic Các chip CPLD có mật độ tích hợp khoảng vài ngàn đến vài chục ngàn cổng logic Các chip FPGA có mật độ tích hợp cao hơn, từ vài chục ngàn đến vài triệu cổng logic Điểm khác CPLD FPGA cấu trúc chúng.Cấu trúc chip CPLD có phần hạn chế mềm dẻo song lại dễ dàng tính tốn độ trễ thời gian có tỉ lệ logic block số kết nối cao Ngược lại kiến trúc FPGA kết nối chiếm đa số Điều làm cho linh hoạt nhiều so với CPLD ngồi thiết kế phức tạp thường sử dụng FPGA Một điểm khác biệt đáng ý hầu hết chức embedded mức cao nhớ embedded sử dụng FPGA (ví dụ cộng nhân ) Điều nhiều chip FPGA có hỗ trợ việc cấu hình lại toàn phần phần hệ thống giống hệ điều hành vậy, chí vài dịng chip cho phép thay đổi thiết kế hệ thống hoạt động Stt.010.Mssv.BKD002ac.email.ninhd 77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77t@edu.gmail.com.vn.bkc19134.hmu.edu.vn.Stt.010.Mssv.BKD002ac.email.ninhddtt@edu.gmail.com.vn.bkc19134.hmu.edu.vn C.33.44.55.54.78.65.5.43.22.2.4 22.Tai lieu Luan 66.55.77.99 van Luan an.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.C.33.44.55.54.78.655.43.22.2.4.55.22 Do an.Tai lieu Luan van Luan an Do an.Tai lieu Luan van Luan an Do an 1.3 Ý nghĩa vai trò FPGA Ứng dụng FPGA bao gồm Các hệ thống xử lí tín hiệu số DSP, hệ thống Radio mềm, công nghệ hàng khơng vũ trụ hệ thống quốc phịng Ngồi cịn sử dụng làm mẫu ASIC, xử lí ảnh Y tế, nhận dạng giọng nói, mã hóa, cơng nghệ sinh học, mơ phonge phần cứng máy tính nhiều lĩnh vực khác phát triển ứng dụng FPGA FPGA khởi đầu đối thủ cạnh tranh CPLD lĩnh vực chip khả trình Nhưng với khả tốc độ phát triển nhanh chóng bắt đầu đảm nhiệm hệ thống ngày lớn phức tạp cao thị trường mà chip SOC chiếm giữ Có thể dễ dàng bắt gặp ứng dụng FPGA lĩnh vực hay thuật toán mà yêu cầu tính tốn song song xử lí phức tạp thuật tốn mã hóa chẳng hạn FPGA ngày sử dụng nhiều ứng dụng đòi hỏi tốc độ tính tốn cao nơi mà lõi tính toán FFT hay Convolution thực FPGA thay cho vi xử lí Việc sử dụng FPGA cho nhiệm vụ tính tốn biết đến Reconfigurable Computing Cấu trúc song song vốn có logic block FPGA cho phép lưu lượng tính tốn lớn chí xung nhịp 500 Mhz Ví dụ Thế hệ FPGA thực thi khoảng 100 đơn vị floating point có độ xác đơn, tất chúng đưa kết sau xung nhịp đồng hồ Sự linh hoạt FPGA cho phép tốc độ tính tốn chí cịn nhanh hi sinh độ xác giảm số chữ số sau dấu thập phân để tăng đơn vị tính tốn song song Với FPGA khơng rút ngắn thời gian thời gian thực ASIC mà cịn giảm chi phí tối đa q trình kiểm ta thiết kế , khơng kiểm tra phần mền mô mà cịn chạy chip thực mơi trường có thẻ nói gần với mơi trường ASIC thực Khả tái cấu hình cho phép sửa sửa lại nhiều thiết kế đạt yêu cầu Stt.010.Mssv.BKD002ac.email.ninhd 77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77t@edu.gmail.com.vn.bkc19134.hmu.edu.vn.Stt.010.Mssv.BKD002ac.email.ninhddtt@edu.gmail.com.vn.bkc19134.hmu.edu.vn C.33.44.55.54.78.65.5.43.22.2.4 22.Tai lieu Luan 66.55.77.99 van Luan an.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.C.33.44.55.54.78.655.43.22.2.4.55.22 Do an.Tai lieu Luan van Luan an Do an.Tai lieu Luan van Luan an Do an S20

Ngày đăng: 21/08/2023, 02:00