đồ án “tích hợp thuật toán mật mã DES trên FPGA”

66 1.2K 3
đồ án “tích hợp thuật toán mật mã DES trê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

LỜI NÓI ĐẦU Cuộc cách mạng về công nghệ thông tin đang tác động sâu sắc đến các lĩnh vực của đời sống xã hội, đặc biệt trong lĩnh vực truyền thông. Một trong các thể hiện là tốc độ truyền thông ngày càng cao, chuyển tải nhiều loại hình thông tin khác nhau. Đặc điểm này đặt ra yêu cầu cho ngành mật là các thiết bị xử lý bảo mật thông tin phải được chuyên dụng hoá và làm việc được trên các luồng thông tin tốc độ lớn. Với những kỹ thuật bảo mật truyền thống, đòi hỏi trên là rất khó khăn, thậm chí không giải quyết được. Do vậy, việc nghiên cứu thiết kế thiết bị bảo mật chuyên dụng, hoạt động với tốc độ lớn là nhu cầu cần thiết và cấp bách. Nhằm góp phần giải quyết vấn đề trên, tôi đã chọn đồ án “Tích hợp thuật toán mật DES trên FPGA”. Đồ án có nhiệm vụ: mô tả thuật toán hóa DES bằng ngôn ngữ mô tả phần cứng VHDL, nắm chắc các giải pháp, công cụ hỗ trợ quá trình tích hợp thuật toán hóa DES trên FPGA. Thực hiện thiết kế modul thuật toán DES trên môi trường phần mềm tích hợp ISE của Xilinx. Nội dung đồ án gồm 3 chương: Chương 1: Thuật toán Mật DES Chương 2: Công nghệ FPGA và ngôn ngữ VHDL Chương 3: Tích hợp thuật toán Mật DES trên FPGA Qua một thời gian nghiên cứu, đồ án đã hoàn thành được nội dung đặt ra. Nhân dịp này, tôi xin bày tỏ lời cảm ơn chân thành đến thầy giáo TS đã tận tình, trực tiếp hướng dẫn và có những ý kiến hết sức quý báu giúp tôi trong quá trình thực hiện đồ án. 1 Do thời gian làm đồ án không được nhiều, trình độ bản thân hạn chế, đồ án không thể tránh được những sai sót, nội dung chưa được sâu sắc. Kính mong nhận được sự đóng góp các thầy giáo. Tôi xin chân thành cảm ơn! 2 MỤC LỤC LỜI NÓI ĐẦU 1 MỤC LỤC 3 DANH MỤC CÁC HÌNH VẼ 5 THUẬT TOÁN HÓA DES 5 1.1 TỔNG QUAN VỀ HỆ THỐNG TRUYỀN TIN MẬT 5 1.1.1 Mô hình hệ thống truyền tin mật 5 1.1.2 Phân loại hệ 8 1.1.3 Đánh giá độ mật của hệ thống truyền tin mật 9 1.1.4 Một số giải pháp kỹ thuật thiết kế khối 11 1.2 CHUẨN DỮ LIỆU DES 13 1.2.1 Mở đầu 13 1.2.2 Thuật toán 13 1.3 KẾT LUẬN CHƯƠNG 1 22 Chương 2 23 CÔNG NGHỆ FPGA VÀ NGÔN NGỮ VHDL 23 2.1 TỔNG QUAN VỀ FPGA 23 2.1.1 Giới thiệu về FPGA 23 2.1.2 Cấu trúc của FPGA 24 2.1.3 Phân loại FPGA 27 2.1.4 Ứng dụng của FPGA 28 2.2 MÔI TRƯỜNG PHẦN MỀM TÍCH HỢP ISE CỦA XILINX 31 2.2.1 Mô tả khái quát về ISE 32 2.2.2 Các giai đoạn thiết kế sử dụng ISE 33 2.2.3 Ngôn ngữ lập trình được dùng trong thiết kế 38 3 2.3 NGÔN NGỮ MÔ TẢ PHẦN CỨNG VHDL 40 2.3.1 Khái quát về VHDL 40 2.3.2 Cấu trúc một mô hình hệ thống mô tả bằng VHDL 41 2.4 KẾT LUẬN CHƯƠNG 2 43 Chương 3 44 TÍCH HỢP THUẬT TOÁN DES TRÊN FPGA 44 3.1 QUY TRÌNH VÀ CÔNG CỤ THIẾT KẾ 44 3.1.1 Quy trình thiết kế 44 3.2 SƠ ĐỒ KHỐI CHỨC NĂNG 45 57 KẾT LUẬN 58 TÀI LIỆU THAM KHẢO 60 PHỤ LỤC 61 4 DANH MỤC CÁC HÌNH VẼ Chương 1 Chương 2 Chương 3 Phụ lục Chương 1 THUẬT TOÁN HÓA DES 1.1 TỔNG QUAN VỀ HỆ THỐNG TRUYỀN TIN MẬT 1.1.1 Mô hình hệ thống truyền tin mật Trong cuộc sống, con người luôn có nhu cầu trao đổi thông tin với nhau có nghĩa là có nhu cầu truyền tin cho nhau. Hình 1.1 biểu diễn mô hình của Hệ thống truyền tin bao gồm: Nguồn tin, kênh tin và nhận tin. 5 Hình 1.1: Mô hình hệ thống truyền tin Trong mô hình này: - Nguồn tin là nơi sản sinh ra các tin tức cần truyền đi trên kênh tin dưới dạng các bản tin. - Kênh tin là môi trường vật lý xác định để truyền các bản tin dưới các dạng tín hiệu điện, quang … - Nhận tin là cơ cấu khôi phục thông tin ban đầu từ tín hiệu lấy ở đầu ra của kênh tin. Do xã hội ngày càng phát triển, nên nhu cầu trao đổi thông tin cũng tăng theo không ngừng. Các nội dung thông tin có liên quan đến lợi ích, quyền lợi của một số người hay một giai cấp nào đó cần được giữ kín, bí mật vì vậy nhu cầu bảo mật nội dung thông tin được truyền đi hình thành và phát triển ngày càng lớn. Hệ thống truyền tin mật là hệ thống trong đó nội dung thông tin phải được bảo vệ và giữ bí mật khi truyền trên kênh tin trước sự tấn công, khám phá bất hợp pháp của thám. Hình 1.2 mô tả một cách tổng quát về mô hình của một hệ thống truyền tin mật. 6 Hình 1.2: Mô hình hệ thống truyền tin mật Trong đó: - hoá là quá trình biến đổi các bản tin rõ R thành các bản tin M bằng thuật toán hoá E và được xem như một hàm : M = E(R,K E ) - Giải là quá trình biến đổi ngược của hoá có nghĩa là biến đổi các bản tin M từ đầu ra của kênh tin thành các bản tin rõ R để đưa tới nhận tin và cũng được xem như một hàm: R = D(M,K D ) - Các khoá K E và khoá dịch K D được gọi là khoá mật tham gia vào các thuật toán hoá E và thuật toán giải D. - thám là các đối tượng có khả năng chặn bắt, thu nhận các bản tin M từ kênh tin, nhưng không biết khoá K E và khoá giải K D nhằm tìm ra bản tin rõ R (thông thường thám sử dụng khoá giải K' D để tìm ra bản rõ R' ≠ R). - Nhiễu là do sự tác động của môi trường truyền dẫn. Đôi khi thường bị đồng nhất hai khái niệm hệ thống truyền tin mật và hệ mật khi đánh giá độ mật của hệ thống. Hệ mật là một bộ 5 (R, M, K, E, D) thoả mãn các điều kiện sau: a. R (không gian các bản tin rõ) là một tập hợp hữu hạn các bản rõ có thể có. b. M (không gian các bản tin mã) là một tập hợp các bản tin có thể có. c. K (không gian khoá) là một tập hợp hữu hạn các khoá mật có thể có. 7 d. Đối với mỗi k ∈ K có một quy tắc hoá e k ∈ E và một thuật toán giải tương ứng d k ∈ D, mỗi e k : R → M và d ∈ k: M → R là những hàm được thoả mãn d k ∈ (e k (x)) = x với mọi bản tin rõ x ∈ R. Điều kiện (d) là quan trọng nhất có nghĩa là nếu có một bản tin rõ x được hoá bằng thuật toán E và bản tin nhận được sau đó được giải bằng thuật toán giải D thì phải thu được bản tin rõ x ban đầu. 1.1.2 Phân loại hệ khối và dòng là hai loại hình hoá cơ bản, thực hiện chức năng dịch thông tin bí mật trong một hệ thống sử dụng mật mã. - dòng: Là một dạng biến đổi loạt, biến đổi tuần tự bản theo bít (ký tự). Bộ tạo dãy khoá hay còn gọi là bộ tạo khoá chạy sinh ra các bít k1, k2,…, ki,…Dãy khoá này được cộng modul 2 với dãy các bít của bản rõ: p1, p2,…, pi,… để thành bản mã: ci = pi ⊕ ki. Tại phía nhận, bản được cộng modulo 2 với dãy khoá đồng nhất để có bản rõ: ci ⊕ ki = pi ⊕ ki ⊕ ki = pi. - khối: Vấn đề đặt ra theo một góc độ khác, mỗi một lần mã, khoá được lấy ngẫu nhiên trong không gian khoá sau đó cố định lại và dùng để hoá cho tất cả các khối bản rõ trong phiên liên lạc đó hoặc trong suốt thời gian ấn định nào đó. Song song với việc nghiên cứu các pháp, các nghiên cứu để tấn công, phân tích, thám các hệ này cũng phát triển. Cho tới nay, có hai phương pháp tấn công mạnh nhất đối với khối là: tấn công vi sai và tấn công tuyến tính. 8 1.1.3 Đánh giá độ mật của hệ thống truyền tin mật Nhiệm vụ chủ yếu của hệ thống truyền tin mật là giữ bí mật của thông tin được truyền trên kênh tin trước sự tấn công, khám phá của thám. Như vậy độ mật của hệ thống truyền tin mật hoàn toàn phụ thuộc vào độ an toàn của hệ mật được dùng trong nó. Có hai quan điểm cơ bản về độ an toàn của một hệ mật: - Thứ nhất là độ an toàn tính toán: Độ đo này liên quan đến khả năng tính toán cần thiết để khám phá, tấn công một hệ mật. Một hệ mậtan toàn về mặt tính toán nếu thuật toán tấn công, khám phá hệ thống đó cần ít nhất N phép toán N là một số rất lớn nào đó. Vấn đề là ở chỗ, không có một hệ mật thực tế đã biết nào có thể chứng tỏ là an toàn theo định nghĩa này. Trên thực tế, người ta gọi một hệ mật là “an toàn về mặt tính toán” nếu có một phương pháp tốt nhất phá hệ này nhưng yêu cầu về mặt thời gian lớn đến mức không thể chấp nhận được. - Thứ hai là an toàn không điều kiện: Độ đo này liên quan đến độ an toàn của các hệ mật khi không có hạn chế nào được đặt ra về khả năng tính toán thám có thể thực hiện. Một hệ mật được xem là an toàn không điều kiện (tuyệt mật hay lý tưởng) nếu nó không thể bị tấn công, khám phá với khả năng tính toán không hạn chế. Tất nhiên ta cũng phải xét đến các kiểu tấn công của thám để xây dựng các hệ thống an toàn hơn nữa. Trong hệ thống truyền tin mật khoá mật quyết định độ bảo mật của toàn bộ hệ thống. Người ta đã đưa ra tiêu chuẩn của hệ thống truyền tin mật như sau: - Độ mật cần thiết sẽ xác định thuật toán phù hợp cho việc hoá và giải mã. Tiêu chuẩn này thể hiện một nguyên lý rất cơ bản là một thuật toán hoá đơn giản cũng có thể đủ mạnh để ngăn chặn các đối tượng 9 thám "chặn bắt tình cờ" hoặc bảo mật truyền tin trong một khoảng thời gian ngắn. - Không gian khoá và thuật toán hoá không được quá phức tạp. Tiêu chuẩn này cho thấy rằng không nên hạn chế sự lựa chọn các khoá hoặc các kiểu bản tin rõ thuật toán hoá làm việc trên đó. Nếu thuật toán hoá chỉ làm việc với các bản tin rõ có cùng độ dài thì đó là một thuật toán yếu, dễ bị khám phá. Tương tự, rất khó lựa chọn khoá tổng các phần tử của khoá là một số nguyên tố. Những hạn chế như vậy sẽ làm cho việc sử dụng thuật toán hoá rất phức tạp. Mặc dù một thuật toán hoá phức tạp sẽ tăng độ bảo mật của hệ thống, nhưng sẽ làm thời gian xử lý, truyền tin tăng lên một cách đáng kể. Nên một thuật toán hoá phù hợpthuật toán tối ưu giảm thiểu những trở ngại cho việc truyền tin. - Các lỗi trong quá trình hoá không được lan truyền và gây ngắt tin trong các bản tin rõ nhận được khi giải mã. hoá có thể gây lỗi cho quá trình truyền tin hoặc làm sai lệch nội dung thông tin từ đó các bản tin cũng bị sai lệch theo hoặc bị gián đoạn toàn bộ quá trình truyền tin. Do đó chúng ta cần hạn chế tối đa việc gây lỗi bởi quá trình hoá. - Kích thước hay độ dài của bản tin không được lớn hơn độ dài của bản tin rõ ban đầu, nếu điều này xảy ra nó sẽ không thể mang được nhiều thông tin như bản tin rõ và thời gian truyền tin trên kênh cũng sẽ bị tăng theo. Nhìn chung các tiêu chuẩn này được đề xuất nhằm đánh giá chất lượng của hệ thống truyền tin mật. Trong điều kiện hiện nay nhờ sự phát triển mạnh mẽ của khoa học và công nghệ đặc biệt là công nghệ FPGA, các thuật toán hoá, giải có thể được thiết kế để cứng hoá trong các thiết bị bảo mật nên việc xây dựng độ mật tối ưu cho từng hệ thống với từng mục đích cụ thể sẽ được thực hiện một cách thuận lợi. 10 [...]... được lựa chọn để nghiên cứu thiết kế modul khối nhằm đáp ứng những yêu cầu trên 12 1.2 CHUẨN DỮ LIỆU DES 1.2.1 Mở đầu DES (Data Encryption Standard) là một kỹ thuật khối, thực hiện hoá một xâu bít x của bản rõ độ dài 64 bằng một khoá 56 bít Bản nhận được cũng là một xâu bít có độ dài 64 Hình 1.4: Thuật toán DES 1.2.2 Thuật toán Thuật toán hoá DES tiến hành theo 3 giai đoạn: 1 Với bản... một cách liên tục để thay đổi các thuật toán khối hoặc thực hiện các thuật toán khác Hiện nay các thuật toán khối chủ yếu được thiết kế bằng các chương trình phần mềm chạy trên máy PC, việc nghiên cứu để có thể cứng hoá các thuật toán khối trên các công cụ phần cứng nhằm đáp ứng các yêu cầu về tốc độ xử lý dữ liệu, tính chủ động, chuyên dụng hoá thiết bị bảo mật cũng như giá thành là một hướng... kỹ thuật thiết kế khối Việc thiết kế các thuật toán khối trong thiết bị bảo mật thông tin hiện nay có thể thực hiện theo các kỹ thuật như mô tả trong hình 1.3 Hình 1.3: Các kỹ thuật thiết kế khối Thiết kế khối bằng chương trình phần mềm Thiết kế thuật toán khối bằng chương trình phần mềm và thực hiện trên các bộ xử lý Intel, RISC hoặc nhúng trong môi trường DSP, Smart-Card , hoặc trên. .. 1.5: Các tham số của phép hoán vị PC-1 20 Bảng 1.6: Các tham số của phép hoán vị PC-2 Như đã nói ở trên, mỗi vòng sử dụng một khoá 48 bít gồm 48 bít nằm trong K Phép giải được thực hiện nhờ dùng cùng thuật toán như phép nếu đầu vào là Y nhưng dùng bảng khoá theo thứ tự ngược lại K 16, K1 Đầu ra của thuật toán sẽ là bản rõ X 21 Hình 1.7: Sơ đồ tính khoá của thuật toán DES 1.3 KẾT LUẬN CHƯƠNG 1 Chương... khoá K (trên thực tế K i là một phép toán chọn hoán vị bít trong K) K 1, K2,… K16 sẽ tạo thành bảng Khóa 3 Áp dụng phép hoán vị ngược IP -1 cho xâu bít R16L16 ta thu được bản y Tức là y = IP-1 ( R16L16) Phép giải được thực hiện nhờ dùng cùng thuật toán như phép nếu đầu vào là y nhưng dùng bảng khoá theo thứ tự ngược lại K16,…,K1 Đầu ra của thuật toán sẽ là bản rõ x Hình 1.5: Một vòng của DES Hàm... bảo mật FPGA tự nó đã mang những thuộc tính thích hợp cho an toàn mật (như cấu trúc chip được đốt vật lý, bảo đảm toàn vẹn, chống tấn công thám thiết kế, không phụ thuộc vào hệ điều hành nào ) Ngoài ra đối với mật thì tính mềm dẻo là một tiêu chí cần phải xếp lên hàng đầu bởi thuật toán sinh khóa /mã hóa có thể thay đổi theo từng phiên liên lạc hoặc khi chuyển mạng Bởi vậy công nghệ thích hợp. .. nên một hệ mật tích 15 Hình 1.6: Hàm f của thuật toán DES Phép hoán vị ban đầu IP Bảng 1.1: Các tham số của phép hoán vị ban đầu IP 16 Bảng này có nghĩa là bít thứ 58 của x là bít đầu tiên của IP(x); bít thứ 50 của x là bít thứ hai của IP(x), v.v Phép hoán vị FP Bảng 1.2: Các tham số của phép hoán vị FP Bảng chọn E bít Bảng 1.3: Các tham số của hàm mở rộng E 17 Hộp thế S-Box 18 Phép hoán vị P trong... trong môi trường DSP, Smart-Card , hoặc trên các máy PC Ưu điểm của kỹ thuật này là không phụ thuộc quá nhiều vào công nghệ thiết kế, cho phép thiết kế nhanh, có tính mềm dẻo cao khi cần thay đổi thuật toán hoá được thực hiện một cách đơn giản Tuy nhiên kỹ thuật này lại bị hạn chế về mặt tốc độ xử lý hoá - giải mã, nó phù hợp với những hệ thống truyền tin có tốc độ không cao Mặt khác, việc sử... đã mô tả một cách khái quát về mô hình của một hệ truyền tin mật, các khái niệm cơ bản về mật Trình bày chi tiết thứ tự các bước thực hiện thuật toán hóa DES 22 Chương 2 CÔNG NGHỆ FPGA VÀ NGÔN NGỮ VHDL 2.1 TỔNG QUAN VỀ FPGA 2.1.1 Giới thiệu về FPGA Công nghệ chế tạo mạch vi điện tử ngày nay đang có một sự thay đổi lớn: từ một mạch tính hợp vi điện tử với cơ sở thiết bị công nghệ tiên tiến chế tạo... toàn về mặt vật lý cao hơn, bảo mật được thiết kế, không phụ thuộc vào hệ điều hành, rất thích hợp trong việc thiết kế những thiết bị bảo mật chuyên dụng và bảo mật trong các hệ thống truyền tin có tốc độ cao Trên thế giới một số hãng sản xuất các thiết bị bảo mật cũng đã nghiên cứu thiết kế các thuật toán khối bằng các công cụ phần cứng như: công nghệ ASIC, công nghệ FPGA , FPGA là một thiết bị . bảo mật chuyên dụng, hoạt động với tốc độ lớn là nhu cầu cần thiết và cấp bách. Nhằm góp phần giải quyết vấn đề trên, tôi đã chọn đồ án “Tích hợp thuật toán mật mã DES trên FPGA”. Đồ án có. tả thuật toán mã hóa DES bằng ngôn ngữ mô tả phần cứng VHDL, nắm chắc các giải pháp, công cụ hỗ trợ quá trình tích hợp thuật toán mã hóa DES trên FPGA. Thực hiện thiết kế modul thuật toán DES. DES trên môi trường phần mềm tích hợp ISE của Xilinx. Nội dung đồ án gồm 3 chương: Chương 1: Thuật toán Mật mã DES Chương 2: Công nghệ FPGA và ngôn ngữ VHDL Chương 3: Tích hợp thuật toán Mật mã

Ngày đăng: 18/06/2014, 22:13

Từ khóa liên quan

Mục lục

  • LỜI NÓI ĐẦU

  • MỤC LỤC

  • DANH MỤC CÁC HÌNH VẼ

  • THUẬT TOÁN MÃ HÓA DES

    • 1.1 TỔNG QUAN VỀ HỆ THỐNG TRUYỀN TIN MẬT

      • 1.1.1 Mô hình hệ thống truyền tin mật

      • 1.1.2 Phân loại hệ mã

      • 1.1.3 Đánh giá độ mật của hệ thống truyền tin mật

      • 1.1.4 Một số giải pháp kỹ thuật thiết kế mã khối

      • 1.2 CHUẨN MÃ DỮ LIỆU DES

        • 1.2.1 Mở đầu

        • 1.2.2 Thuật toán

          • Hàm F trong thuật toán DES

          • 1.3 KẾT LUẬN CHƯƠNG 1

          • Chương 2

          • CÔNG NGHỆ FPGA VÀ NGÔN NGỮ VHDL

            • 2.1 TỔNG QUAN VỀ FPGA

              • 2.1.1 Giới thiệu về FPGA

              • 2.1.2 Cấu trúc của FPGA

              • 2.1.3 Phân loại FPGA

              • 2.1.4 Ứng dụng của FPGA

              • 2.2 MÔI TRƯỜNG PHẦN MỀM TÍCH HỢP ISE CỦA XILINX

                • 2.2.1 Mô tả khái quát về ISE

                • 2.2.2 Các giai đoạn thiết kế sử dụng ISE

                • 2.2.3 Ngôn ngữ lập trình được dùng trong thiết kế

                • 2.3 NGÔN NGỮ MÔ TẢ PHẦN CỨNG VHDL

                  • 2.3.1 Khái quát về VHDL

                  • 2.3.2 Cấu trúc một mô hình hệ thống mô tả bằng VHDL

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

Tài liệu liên quan