thiết kế hệ thống mã khối bằng công nghệ fpga

126 432 1
thiết kế hệ thống mã khối bằng công nghệ 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

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn ĐẠI HỌC THÁI NGUYÊN TRƯỜNG ĐẠI HỌC KỸ THUẬT CÔNG NGHIỆP  LỤC VŨ KHANH THIẾT KẾ HỆ THỐNG MÃ KHỐI BẰNG CÔNG NGHỆ FPGA LUẬN VĂN THẠC SĨ KỸ THUẬT ĐIỆN TỬ THÁI NGUYÊN 2010 Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn ĐẠI HỌC THÁI NGUYÊN TRƯỜNG ĐẠI HỌC KỸ THUẬT CÔNG NGHIỆP  LUẬN VĂN THẠC SĨ KỸ THUẬT ĐIỆN TỬ Ngành: KỸ THUẬT ĐIỆN TỬ Mã số: 60 52 70 Học viên: Lục Vũ Khanh Người hướng dẫn Khoa học: PGS.TS. Đỗ Xuân Tiến THÁI NGUYÊN 2010 Tên đề tài: THIẾT KẾ HỆ THỐNG MÃ KHỐI BẰNG CÔNG NGHỆ FPGA Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn 1 MỤC LỤC Trang Trang phụ bìa Lời cam đoan Lời cảm ơn MỤC LỤC 1 DANH MỤC CÁC TỪ VIẾT TẮT 5 DANH MỤC CÁC BẢNG 7 DANH MỤC CÁC HÌNH VẼ 8 MỞ ĐẦU 10 CHƢƠNG 1 HỆ TRUYỀ N TIN MẬ T VÀ CƠ SỞ LÝ THUYẾ T MÃ KHỐ I 13 1.1. TỔ NG QUAN VỀ HỆ TRUYỀ N TIN MẬ T. 13 1.1.1. Mô hì nh hệ thố ng truyề n tin mậ t. 13 1.1.2. Cc phƣơng php m mật cơ bản. 15 1.1.2.2. Phƣơng phá p thay thế . 15 1.1.3. Mô hì nh hệ mậ t. 16 1.1.3.1. Hệ mậ t đố i xƣ́ ng (Hệ mậ t khoá bí mậ t). 16 1.1.3.2. Hệ mậ t không đố i xƣ́ ng (Hệ mậ t khoá công khai). 17 1.1.4. Phân loạ i hệ mã 18 1.1.5. Đá nh gi đ mật của hệ thống truyền tin mật. 20 1.2. CƠ SỞ LÝ THUYẾ T VỀ MÃ KHỐ I. 21 1.2.1. Khi niệm về m khối. 21 1.2.2. Nguyên lý thiế t kế mã khố i. 22 1.2.2.1. Nguyên lý thiế t kế chung về độ an toà n 22 1.2.2.2. Nguyên lý thiế t kế cho ƣ́ ng dụ ng 23 1.2.3. Cc tham số của m khối. 23 1.2.3.1. Đ di khối m. 23 1.2.3.2. Đ di kha k v c kha đng k t . 24 1.2.4. Cc cấu trc m khối cơ bản. 24 1.2.4.1. Cấ u trú c mã Feistel. 24 1.2.4.2. Cấ u trú c cộ ng - nhân. 26 1.2.5. Cc m lp. 27 1.2.5.1. M lp v hm vng 27 1.2.6. Đ an ton của cc hệ m khối. 28 1.3. GIỚ I THIỆ U MỘ T SỐ KỸ THUẬ T MÃ KHỐ I. 29 1.3.1. Chuẩ n mã dƣ̃ liệ u DES 29 1.3.2. Chuẩ n mã dƣ̃ liệ u Xô-Viế t. 30 Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn 2 1.3.3. Thuậ t toá n mã hoá dƣ̃ liệ u IDEA. 32 1.3.3.1. Qu trình mã hoá củ a IDEA. 32 1.3.3.3. Qu trình giải m của IDEA. 35 1.3.4. Cc chế đ ứng dụng của m khối. 35 1.3.5. Mt số giải php kỹ thuật thiết kế m khối. 38 1.3.5.1. Thiết kế m khối bằng chƣơng trình phần mềm. 38 1.3.5.2. Thiết kế m khối bằng công cụ phần cứng. 39 1.3.5.3. Lựa chọn giải php thiết kế module m khối ở Việt Nam. 40 1.4. Kết luận chƣơng. 40 CHƢƠNG 2: CÔNG NGHỆ FPGA 42 2.1. TỔNG QUAN VỀ CÔNG NGHỆ FPGA. 42 2.1.1. Giới thiệu về công nghệ FPGA. 42 2.1.1.1. Sự phát triển của các thiết bị lập trình đƣợc. 42 2.1.1.2. Cấu trúc cơ bản của FPGA. 45 2.1.1.3. Phân loại FPGA. 49 2.1.1.4. Ứng dụng của FPGA. 52 2.1.2. Quá trình thiết kế cơ bản trên FPGA. 52 2.1.2.1. Giới thiệu về quá trình thiết kế. 52 2.1.2.2. Tối ƣu lô gic. 54 2.1.2.3. Ánh xạ công nghệ. 54 2.1.2.4. Sắp xếp các phần tử (Placement). 55 2.1.2.5. Định tuyến trên FPGA (rounting) 56 2.1.2.6. Tải nạp chƣơng trình. 57 2.1.3. Giới thiệu về FPGA của hãng ALTERA. 57 2.1.3.1. Các loại FPGA trên thị trƣờng. 57 2.1.3.2. Đc điểm thiết bị FPGA của hãng Altera. 58 2.1.3.3. Các họ FPGA của hãng Altera. 59 2.1.4. Các công cụ thiết kế. 60 2.1.4.1. Giới thiệu về EDA. 60 2.1.4.2. Giới thiệu công cụ thiết kế Quartus II. 61 2.1.4.3. Giới thiệu công cụ thiết kế MAX + PLUS II. 63 2.1.5. Các ngôn ngữ mô tả phần cứng. 65 2.2. NGÔN NGỮ MÔ TẢ PHẦN CỨNG VHDL. 66 2.2.1. Giới thiệu chung về ngôn ngữ VHDL. 66 2.2.1.1. Mô tả cấu trúc. 66 2.2.1.2. Mô tả hoạt đng. 67 Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn 3 2.2.1.3. Mô hình thời gian theo các sự kiện rời rạc. 68 2.2.2. Mô hình tổ chức. 69 2.2.2.1. Thƣ viện thiết kế. 69 2.2.2.2. Các cấu hình. 70 2.3 Kết luận chƣơng. 70 CHƢƠNG 3: THIẾT KẾ HỆ THỐNG MÃ KHỐI 71 3.1. CẤU TRÚC CỦA MODULE MÃ KHỐI. 71 3.1.1. Cấu trc chung. 71 3.1.2. Mt số yêu cầu đối với module m khối 71 3.2. LỰA CHỌN THUẬT TOÁN CHO MÔ PHỎNG THIẾT KẾ. 72 3.2.1. Lựa chọn thuật ton. 72 3.2.2. Mô tả thuật ton DES. 72 3.2.2.1. Hm F trong thuật ton DES. 73 3.2.2.2. Lƣợc đồ tạo kho m dịch. 78 3.3. PHƢƠNG PHÁP THIẾT KẾ MODULE DES TRÊN FPGA. 80 3.3.1. Quy trình v công cụ thiết kế. 80 3.3.1.1. Quy trình thiết kế. 80 3.3.1.2. Công cụ thiết kế. 81 3.3.2. Sơ đồ khối chức năng của module m khối DES trên FPGA. 81 3.3.2.1. Sơ đồ khối tổng qut. 81 3.3.2.3. Sơ đồ khối chức năng của module DES. 83 3.3.3. Mô tả hoạt đng của cc khối trong module DES bằng VHDL. 85 3.3.3.1. Khối cc phép hon vị 86 3.3.3.2. Mô tả khối DES16. 87 3.3.3.3. Khối deskey (tính ton kho). 92 3.3.3.4. Khối Control (điều khiển). 93 3.3.3.5. Khối Converter (lấy dữ liệu vo/ra) 94 3.3.3.6. Tổng hợp cc khối chức năng của module DES. 95 3.3.3.7. Kiểm tra thiết kế. 96 3.3.4. Phần cứng mô phỏng module DES 96 3.3.4.1. Khối xử lý chính (m ho/giải m). 97 3.3.4.2. Khối cấu hình cho FPGA. 97 3.3.4.3. Cc phần mạch khc. 99 3.3.5. Kiểm tra sự hoạt đng của DES trong module m khối. 99 3.4. KẾT QUẢ THIẾT KẾ MODULE MÃ KHỐI DES. 101 3.4.1. Kết quả thiết kế. 101 Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn 4 3.4.1.1. Sơ đồ phần cứng của module. 101 3.4.1.2. Kiểm tra kết quả thiết kế. 104 3.4.2. Đnh gi kết quả thiết kế module m khối. 105 3.5 Kết luận chƣơng. 106 3.6 Kết luận chung 106 TÀI LIỆU THAM KHẢO 108 PHỤ LỤC 1 110 PHỤ LỤC 2: CHƢƠNG TRÌNH MÔ TẢ DES BẰNG VHDL 113 Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn 5 DANH MỤC CÁC TỪ VIẾT TẮT Viết tắt Tiếng Anh Tiếng VIệt APEX Advanced ProgrammablE logic matriX Ma trận logic lập trình đƣợc ASIC Application-Specific Integrated Circuit Vi mạch tích hợp chuyên dụng CAE Computer-Aided Electronics Công cụ thiết kế mạch điện tử có hỗ trợ máy tính CBC Cipher Block Channing mode Phƣơng thƣ́ c mó c xí ch khố i mã CPLD Complex Programmable Logic Devices Thiết bị lôgíc lập trình phức hợp CDL Computer Design Language Ngôn ngữ mô tả dòng dữ liệu phát triển trong qúa trình đào tạo CFB Cipher Freed Back Chế đ phản hồi m CSM Component & Supplier Management Hệ thống quản trị nhà cung cấp và thành phần ECB Electronic Code Book Chế đ sch m điện tử DES Data Encryption Standard Chuẩn m ho dữ liệu DSP Digital Signal Processing Xử lý tín hiệu số EDA Electronic Design Automation Thiết kế điện tử tự đng ho FPGA Field-Programmable Gate Array Vi mạch dùng cấu trc mảng phần tử logic m ngƣời dùng c thể lập trình đƣợc FLEX Flexible Logic Element MatriX Ma trận phần tử logic linh hoạt GOST Gosudarstvennyy Standart Hệ m dữ liệu Xô Viết IDEA International Data Encryption Algorithm Thuật ton m ho dữ liệu quốc tế IC Integrated Circuit Mạch tích hợp IEEE Institude of Electrical and Electronic Engineers Học Viện kỹ nghệ Điện v Điện Tử LAB Logic Array Block Mảng lớn các Block lập trình đƣợc LUT Look-Up Table Bảng tìm kiếm LB Logic Block Khối Logic LC Logic Cell Tế bo Logic Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn 6 MAX Multiple Array matriX Ma trận chuỗi đa phần tử MCM Multi-Chip Module Mô đun đa chip MCAD Mechanical Computer-Aided Design Hệ thống thiết kế cơ khí có trợ giúp của máy tính OFB Output Freed Back Chế đ phản hồi đầu ra OTP One - Time Programmable Loại SRAM lập trình mt lần PES Proposed Encryption Standard Chuẩn m ha dữ liệu PLD Programmable Logic Device Thiết bị logic lập trình đƣợc PAL Programmable Array Logic Mảng logic lập trình đƣợc PLA Programmable Logic Array Mảng logic lập trình đƣợc PROM Programmable Read Only Memory Chíp b nhớ chỉ đọc lập trình đƣợc RSA RSA l mt thuật ton mật m ha kha công khai. Thuật ton đƣợc Ron Rivest, Adi Shamir và Len Adleman mô tả lần đầu tiên vo năm 1977 tại Học viện Công nghệ Massachusetts (MIT). Tên của thuật ton lấy từ 3 chữ ci đầu của tên 3 tc giả. RISC Reduced Instructions Set Computer My tính với tập lệnh đơn giản ha SRAM Static Random Access Memory B nhớ truy cập ngẫu nhiên tĩnh SSI Small Scale Integrated Vi mạch tích hợp c nhỏ VLSI Very Large-Scale Integration Vi mạch tích hợp c lớn VHDL Very high speed integrated circuits HDL Ngôn ngữ mô tả các hệ thống điện tử số Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn 7 DANH MỤC CÁC BẢNG Bảng Nội dung 2.1 Mt số loại FPGA trên thị trƣờng 2.2 Số cổng sử dụng và các chân I/O của các họ FPGA Altera 3.1 Cc tham số của phép hon vị ban đầu IP 3.2 Cc tham số của phép hon vị FP 3.3 Cc tham số của hm mở rng E 3.4 Tham số của cc hp S-Box 3.5 Cc tham số của phép hon vị P 3.6 Cc tham số của phép hon vị PC-1 3.7 Cc tham số của phép hon vị PC-2 3.8 Mô tả cc tín hiệu vo ra của modul DES 3.9 Danh sch cc tệp tin của module DES 3.10 Chức năng cc tín hiệu vo/ra của EPC2 LC20 Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn 8 DANH MỤC CÁC HÌNH VẼ Hình vẽ Nội dung 1.1 Mô hì nh hệ thố ng truyề n tin 1.2 Mô hì nh hệ thố ng truyề n tin mậ t 1.3 Mô hình hệ mật kho bí mật 1.4 Mô hình hệ mật kho công khai 1.5 Sơ đồ cấu trc cng-nhân 1.6 Mt m lp r vng với hm vng f 1.7 Mô tả mt vng của DES 1.8 Sơ đồ mt vng lp của GOST 1.9 Sơ đồ cấu trc của IDEA 1.10 Chi tiết mỗi vng đơn của IDEA 1.11 Phép biến đổi ra của qu trình m ho IDEA 1.12 Cc chế đ hoạt đng của m khối 1.13 Cc kỹ thuật thiết kế m khối 2.1 Cấu trc của PLA 2.2 Cấu trc của PAL 2.3 Cấu trc của CPLD 2.4 Mô tả mô hình của mt FPGA 2.5 Cấu trc Logic Cell trong FPGA 2.6 Cấu trc của FPGA 2.7 Bốn loại FPGA điển hình 2.8 Cấu trc SRAM FPGA (SRAM Logic Cell) 2.9 Cấu trc của OTP FPGA (OTP Logic Cell) 2.10 Qu trình thiết kế trên FPGA 2.11 Kiến trc tổng qut của Altera FPGA MAX 7000 3.1 Cấu trc chung của Module m khối 3.2 Lƣợc đồ của thuật ton DES 3.3 Mt vng của DES 3.4 Hm F trong thuật ton DES 3.5 Sơ đồ tính kho của thuật ton DES 3.6 Sơ đồ khối tổng qut của Module m khối DES trên FPGA 3.7 Qu trình m ho/giải m DES 3.8 Mô tả chức năng module m ho DES [...]... Chng 2: Cụng nghờ FPGA va ngụn ng mụ ta phõn cng VHDL Trỡnh bay cac vn liờn quan n cụng ngh FPGA, cu truc chc nng ca FPGA, phõn loi cng nh cac ng dng thc t ca cụng ngh FPGA Gii thiu FPGA ca hang Altera va cac cụng c thit k i kốm ca hang cựng vi ngụn ng mụ t phn cng VHDL Chng 3: Thit k h thng ma khi Chng nay trỡnh bay v phng phap thiờt kờ module ma khụi trờn cụng nghờ FPGA, phn cng mụ phng... thanh cac bn tin ma M bng thut toan ma hoa E K va c xem nh mụt ham : M = E(R,KE) S húa bi Trung tõm Hc liu i hc Thỏi Nguyờn http://www.lrc-tnu.edu.vn 14 nhiễu mã thám nguồn tin mã hoá kênh tin giải mã nhận tin khoá mật mã khoá mật mã Hinh 1.4: Mụ hi nh hờ thụng truyờn tin mõt Gii ma la qua trỡnh bin i ngc ca ma hoa co ngha la bin i cac bn tin ma M t õu ra cua kờnh tin thanh cac ban tin ro... nghiờn cu ca tai s gop phn lam rừ tớnh u vit ca cụng ngh FPGA c ng dng trong thit k h chuyn i mó mt tc ụ cao, ap ng c yờu cõu v tc ụ x lý d liu, tớnh ch ụng, chuyờn dng hoa thit b bo mt la mụt s võn dung , nghiờn cu phu hp vi iờu kiờn thc t v cụng ngh va yờu cõu s dung Viờt Nam Nụi dung ca tai Thit k h thng mó khi bng cụng ngh FPGA bao gm: Chng 1: H truyn tin mt va c s lý thuyt ma... lp ca DES S thit k ca mụt vong lp S thc th hụp S-BOX S khi to khoa con Mụ t khi vao/ra d liu S liờn kt gia cac khi trong module DES S khi phn cng ca module ma khi DES S ghộp ni gia FPGA va cap MV S ghộp ni gia FPGA va linh kin cu hỡnh S khi phn cng mụ phng Hỡnh nh module ma khi DES a c thit k S húa bi Trung tõm Hc liu i hc Thỏi Nguyờn http://www.lrc-tnu.edu.vn 10 M U Khi nhu cu trao i thụng... khi o hiờn nay a co nhiờu cụng nghờ hiờn ai ờ x ly bai toan nay nh cụng ngh ASIC (Application-Specific Integrated Circuit) hay FPGA (FieldProgrammable Gate Array ) Xut phat t cac vn trờn, tac gi tp trung nghiờn cu Thit k H thng mó khi bng cụng ngh FPGA cng hoa cac thut toan ma khi Viờc nghiờn cu ờ co thờ cng hoa cac thuõt toan ma khụi trờn c ac cụng c phn cng nhm ap ng cac... ng mụ t phn cng VHDL Chng 3: Thit k h thng ma khi Chng nay trỡnh bay v phng phap thiờt kờ module ma khụi trờn cụng nghờ FPGA, phn cng mụ phng module DES va cac kt qu thit k module ma khi DES trờn FPGA S húa bi Trung tõm Hc liu i hc Thỏi Nguyờn http://www.lrc-tnu.edu.vn 13 CHNG 1 Hấ TRUYấN TIN MT VA C S LY THUYấT MA KHễI 1.1 TễNG QUAN Vấ Hấ TRUYấN TIN MT 1.1.1 Mụ hi nh hờ thụng truyờn... trong o ham ma hoa khụng nh c ap vao tụng XOR cua khụi ro va khụi ma trc o Phộp ma luc nay co kiu cach k thut nh ma dong ap dung ụi vi cac khụi "ln" Thỏm mó Ngun rừ X X X Mó hoỏ Mã hoá EK (.) Y Z Z Gii ma DK (.) Nhn tin X Z Kờnh an ton Ngun khoỏ Hỡnh 1.3: Mụ hinh h mt khoỏ bớ mt 1.1.3.2 Hờ mõt khụng ụi xng (Hờ mõt khoa cụng khai) Nm 1976, Diffie va Hellman trng ai hoc... bi tng theo Nhỡn chung cac tiờu chun nay c xut nhm anh gia cht lng ca h thụng truyờn tin mõt Trong iờu kiờn hiờn nay nh s phat triờn manh me cua khoa hc va cụng ngh c bit la cụng nghờ FPGA , cac thut toan ma hoa , gii ma co thờ c thiờt kờ ờ cng hoa trong cac thiờt bi bao mõt nờn viờc xõy dng ụ mõt tụi u cho tng hờ thụng vi tng muc i ch cu thờ se c thc hiờn mụt cach thuõn... hng ti mụi bit ma 1.2.2.2 Nguyờn ly thiờt kờ cho ng dung Mụt hờ ma khụi co thờ ng dung ca phõn cng va phõn mờ m Trong ng dung cng thng c thc hiờn bi cac chi p VLSI , FPGA co tục ụ cao Trong ng dng mm phi co tớnh mm deo va gia thanh thp Trờn c s c ti nh khac nhau ca phn cng va phn mm , cac nguyờn lý thi t kờ ma khụi cung chia thanh hai phõn - Nguyờn... cach s dung khoa mõt sao cho cung mụt thiờt bi co thờ s dng c cho c phộp ma hoa va phộp gii ma Cõu truc ờu : Hờ ma khụi nờn co cõu truc ờu ờ co thờ dờ ng dung cụng nghờ VLSI, FPGA trong viờc thiờt kờ 1.2.3 Cac tham s cua ma khi 1.2.3.1 ụ dai khi m ờ mụt hờ ma khụi la an toan , ụ dai khụi m cua no phai u ln ngn can cac tõn cụng phõn ti ch thụng kờ , tc . chọn giải php thiết kế module m khối ở Việt Nam. 40 1.4. Kết luận chƣơng. 40 CHƢƠNG 2: CÔNG NGHỆ FPGA 42 2.1. TỔNG QUAN VỀ CÔNG NGHỆ FPGA. 42 2.1.1. Giới thiệu về công nghệ FPGA. 42 2.1.1.1 đ ứng dụng của m khối. 35 1.3.5. Mt số giải php kỹ thuật thiết kế m khối. 38 1.3.5.1. Thiết kế m khối bằng chƣơng trình phần mềm. 38 1.3.5.2. Thiết kế m khối bằng công cụ phần cứng PHÁP THIẾT KẾ MODULE DES TRÊN FPGA. 80 3.3.1. Quy trình v công cụ thiết kế. 80 3.3.1.1. Quy trình thiết kế. 80 3.3.1.2. Công cụ thiết kế. 81 3.3.2. Sơ đồ khối chức năng của module m khối

Ngày đăng: 04/10/2014, 03:27

Từ khóa liên quan

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

Tài liệu liên quan