tóm tắt luận văn thạc sĩ kỹ thuật thiết kế hệ thống mã khối bằng công nghệ FPGA

24 323 0
tóm tắt luận văn thạc sĩ kỹ thuật 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

MỞ ĐẦU Khi nhu cầu trao đổi thông tin dữ liệu ngày càng lớn và đa dạng, các tiến bộ về điện tử - viễn thông và công nghệ thông tin không ngừng được phát triển ứng dụng để nâng cao chất lượng và lưu lượng truyền tin thì các quan niệm về ý tưởng và biện pháp bảo vệ thông tin dữ liệu cũng được đổi mới. Bảo vệ an toàn thông tin dữ liệu là một chủ đề rộng, có liên quan đến nhiều lĩnh vực và trong thực tế có thể có rất nhiều phương pháp được thực hiện để bảo vệ an toàn thông tin dữ liệu. Các phương pháp bảo vệ an toàn thông tin dữ liệu có thể được quy tụ vào ba nhóm chính: - Bảo vệ an toàn thông tin bằng các biện pháp hành chính. - Bảo vệ an toàn thông tin bằng các biện pháp kỹ thuật (phần cứng). - Bảo vệ an toàn thông tin bằng các biện pháp thuật toán (phần mềm). Ba nhóm trên có thể được ứng dụng riêng rẽ hoặc phối kết hợp. Môi trường khó bảo vệ an toàn thông tin nhất và cũng là môi trường đối phương dễ xâm nhập nhất đó là môi trường mạng và truyền tin. Biện pháp hiệu quả nhất và kinh tế nhất hiện nay trên mạng truyền tin và mạng máy tính là biện pháp thuật toán. Để bảo mật thông tin trên đường truyền người ta sử dụng các phương pháp mã hoá. Dữ liệu được biến đổi từ dạng nhận thức được sang dạng không nhận thức được theo một thuật toán nào đó và sẽ được biến đổi ngược lại ở trạm nhận. Mật mã là một ngành khoa học chuyên nghiên cứu các phương pháp truyền tin bí mật. Mật mã bao gồm : Lập mã và phá mã. Lập mã bao gồm hai quá trình: mã hóa và giải mã. Để bảo vệ thông tin trên đường truyền người ta thường biến đổi nó từ dạng nhận thức được sang dạng không nhận thức được trước khi truyền đi trên mạng, quá trình này được gọi là mã hoá thông tin (encryption), ở trạm nhận phải thực hiện quá trình ngược lại, tức là biến đổi thông tin từ dạng không nhận thức được (dữ liệu đã được mã hoá) về dạng nhận thức được (dạng gốc), quá trình này được gọi là giải mã. Đây là một lớp bảo vệ thông tin rất quan trọng và được sử dụng rộng rãi trong môi trường mạng. Trong kỹ thuật mật mã, hệ mã khối được đánh giá là hệ mật có nhiều ưu điểm, phù hợp cho các hoạt động bảo mật tốc độ cao. Tuy nhiên, từ trước đến nay ở nước ta, việc thực hiện mã khối mới chỉ thực hiện bằng phần mềm trên máy tính PC và chỉ áp dụng được cho các hệ truyền tin có tốc độ không cao, do vậy khả năng ứng dụng mã khối vào bảo mật cho các luồng thông tin tốc độ cao còn gặp nhiều khó khăn. Bài toán bảo mật luồng dữ liệu tốc độ cao chỉ có thể giải quyết được trên 1 cơ sở “cứng hoá” được các thuật toán mã khối, theo nghĩa việc thực hiện các thuật toán mã khối được thiết kế bằng phần cứng. Do tính chất phức tạp của các thuật toán mã khối, việc cứng hoá mã khối theo phương pháp thiết kế mạch điện tử truyền thống trong điều kiện nền khoa học và công nghệ ở Việt Nam còn hạn chế là rất khó khăn, trong khi đó hiện nay đã có nhiều công nghệ hiện đại để xử lý bài toán này như công nghệ ASIC (Application-Specific Integrated Circuit) hay FPGA (Field- Programmable Gate Array ). Xuất phát từ các vấn đề trên, tác giả tập trung nghiên cứu “Thiết kế Hệ thống mã khối bằng công nghệ FPGA” để cứng hoá các thuật toán mã khối. Việc nghiên cứu để có thể cứng hoá các thuật toán mã 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 nghiên cứu mới. Kết quả nghiên cứu của đề tài sẽ góp phần làm rõ tính ưu việt của công nghệ FPGA được ứng dụng trong thiết kế hệ chuyển đổi mã mật tốc độ cao, đáp ứng đượ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 là một sự vận dụng, nghiên cứu phù hợp với điều kiện thực tế về công nghệ và yêu cầu sử dụng ở Việt Nam . Nội dung của đề tài “Thiết kế hệ thống mã khối bằng công nghệ FPGA” bao gồm: Chương 1: Hệ truyền tin mật và cơ sở lý thuyết mã khối. Trình bày các vấn đề cơ bản về lý thuyết truyền tin, lý thuyết mã và mã mật kết hợp với sự phát triển của kỹ thuật vi xử lý hiện đại; Giới thiệu tổng quan về hệ truyền tin mật và cơ sở lý thuyết mã khối. Chương 2: Công nghệ FPGA và ngôn ngữ mô tả phần cứng VHDL. Trình bày các vấn đề liên quan đến công nghệ FPGA, cấu trúc chức năng của FPGA, phân loại cũng như các ứng dụng thực tế của công nghệ FPGA. Giới thiệu FPGA của hãng Altera và các công cụ thiết kế đi kèm của hãng cùng với ngôn ngữ mô tả phần cứng VHDL. Chương 3: Thiết kế hệ thống mã khối. Chương này trình bày về phương pháp thiết kế module mã khối trên công nghệ FPGA, phần cứng mô phỏng module DES và các kết quả thiết kế module mã khối DES trên FPGA. 2 CHƯƠNG 1 HỆ TRUYỀN TIN MẬT VÀ CƠ SỞ LÝ THUYẾT MÃ KHỐI 1.1. TỔNG QUAN VỀ HỆ 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. Hình 1.1: Mô hình hệ thống truyền tin. Hệ thống truyền tin mật là hệ thống mà 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 mã 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. Hình 1.2: Mô hình hệ thống truyền tin mật. Các hệ mật hiện nay được chia thành hai loại: hệ mật khóa bí mật và hệ mật khóa công khai. Trong hệ mật khóa bí mật, những người sử dụng hợp pháp (người gửi và người nhận) phải chia sẻ một khóa bí mật chung và khóa đó không được biết đối với thám mã đối phương. Trong hệ mật khóa công khai, người sử dụng hợp pháp chỉ cần các thông tin trung thực công khai nào đó. Trong luận văn chỉ đề cập đến việc ứng dụng các hệ mật khoá bí mật. + Mô hình của hệ mật khoá bí mật: 3 m ho¸· kªnh tin nhËn tin gi¶i m · nguån tin kho¸ mËt m · m th¸m· kho¸ mËt m · nhiÔu nguån tin kªnh tin nhËn tin Hệ mã được phân thành hai loại là mã khối và mã dòng, trong đó: Mã dòng: Là một dạng biến đổi loạt, biến đổi tuần tự bản mã 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 k 1 , k 2 ,…, k i ,…Dãy khoá này được cộng mô đun 2 với dãy các bít của bản rõ: p 1 , p 2 ,…, p i ,… để thành bản mã: c i = p i ⊕ k i . Tại phía nhận, bản mã được cộng mô đun 2 với dãy khoá đồng nhất để có bản rõ: c i ⊕ k i = p i ⊕ k i ⊕ k i = p i . Mã 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 để mã 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 đó. 1.2. CƠ SỞ LÝ THUYẾT VỀ MÃ KHỐI. Mã pháp khối là họ các biến đổi thuận nghịch các khối (phần độ dài xác định) của bản rõ. Thực tế, mã pháp khối là hệ mật thay thế trên bộ chữ cái các khối (phép thế có thể một hoặc nhiều bộ chữ cái tuỳ thuộc vào điều kiện của mã pháp khối). Các mã pháp khối hiện nay được sử dụng rất phổ biến. Nguyên lý thiết kế mã khối được dựa trên nguyên lý chung về độ an toàn và nguyên lý thiết kế cho ứng dụng. 1.3. GIỚI THIỆU CHUẨN MÃ HOÁ DỮ LIỆU DES. Chuẩn mã dữ liệu DES là một kỹ thuật mã khối có cấu trúc dạng Feistel, thực hiện mã 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 mã nhận được cũng là một xâu bít có độ dài 64. 4 Thuật toán tiến hành theo 3 giai đoạn: 1. Với bản rõ cho trước x, một xâu bít x 0 sẽ được xây dựng bằng cách hoán vị các bít của x theo phép hoán vị cố định ban đầu IP. Ta viết: x 0 = IP(X) = L 0 R 0 , trong đó L 0 gồm 32 bít đầu và R 0 là 32 bít cuối. 2. Sau đó tính toán 16 lần lặp theo một hàm xác định. Ta sẽ tính L i R i , 1≤ i ≤16 theo quy tắc sau: L i = R i-1 R i = L i-1 ⊕ f(R i-1 ,K i ) trong đó ⊕ kí hiệu phép hoặc loại trừ của hai xâu bít (cộng theo modulo 2). f là một hàm bao gồm các phép hoán vị, phép thế, phép cộng modun 2, còn K 1 , K 2 , . . . , K 16 là các xâu bít độ dài 48 được tính như hàm của khoá K (trên thực tế mỗi K i là một phép chọn hoán vị bít trong K). K 1 , . . ., K 16 sẽ tạo thành bảng khoá. Một vòng của phép mã hoá được mô tả trên hình 1.7. 3. Áp dụng phép hoán vị FP cho xâu bít R 16 L 16 , ta thu được bản mã y. Tức là y= FP (R 16 L 16 ). Hãy chú ý thứ tự đã đảo của L 16 và R 16 Phép giải mã được thực hiện nhờ dùng cùng thuật toán như phép mã nếu đầu vào là y nhưng dùng bảng khoá theo thứ tự ngược lại K 16 ,…,K 1 . Đầu ra của thuật toán sẽ là bản rõ x. 1.4. GIẢI PHÁP KỸ THUẬT THIẾT KẾ MÃ KHỐI. Việc thiết kế các thuật toán mã 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.13. 5 + Thiết kế mã khối bằng chương trình phần mềm. Thiết kế thuật toán mã 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 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 mã 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ý mã hoá- giải mã, nó phù hợp với những hệ thống truyền tin có tốc độ không cao. + Thiết kế mã khối bằng công cụ phần cứng. Phần lớn các kỹ thuật mã khối thông dụng hiện nay đang được dùng để bảo mật thông tin trong các hệ truyền tin mật là có cấu trúc Feistel, đây là một cấu trúc mã khối rất thích hợp cho việc thiết kế bằng phần cứng. 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 mã khối bằng các công cụ phần cứng như: công nghệ ASIC, công nghệ FPGA Công nghệ ASIC cho phép thiết kế thuật toán mã khối với hầu hết các ưu điểm của giải pháp phần cứng, và tốc độ mã hoá - giải mã dữ liệu khi thiết kế thuật toán mã khối bằng công nghệ ASIC có thể lên tới vài Gigabít/s. Công nghệ FPGA là một sự phát triển của công nghệ ASIC, tuy tốc độ xử lý dữ liệu có thấp hơn một chút nhưng nó đã thừa hưởng được những tính năng ưu việt, khắc phục được mặt hạn chế của ASIC. Người thiết kế sử dụng phần mềm để tiến hành thiết kế với các phần tử logic cơ bản và tạo các giản đồ kết nối. FPGA là một thiết bị logic có thể được người sử dụng lập trình trực tiếp mà không phải sử dụng bất kỳ một công cụ chế tạo mạch tích hợp nào. Điều này cho phép chế tạo ngay thiết bị và vì vậy giá thành sản phẩm thấp. FPGA được ứng dụng rộng rãi và khá lý tưởng vì chúng có mức độ tích hợp cao trên chip, đáp ứng yêu cầu phức tạp và đa dạng. Thay vì các IC nguyên mẫu để lắp ghép vào hệ thống người thiết kế có thể tạo các kết nối theo các phần trong FPGA của mình bằng phần mềm. Mặt khác chúng ta có thể nạp lại chương trình một cách liên tục để thay đổi các thuật toán mã khối hoặc thực hiện các thuật toán khác. CHƯƠNG 2: CÔNG NGHỆ FPGA 6 2.1. TỔNG QUAN VỀ CÔNG NGHỆ FPGA. FPGA (Field-Programmable Gate Array), là mạch tích hợp cỡ lớn trong đó cho phép người lập trình thay đổi các thiết kế của mình mà không phải sử dụng bất kỳ một công cụ chế tạo mạch tích hợp nào. FPGA là công nghệ tiên tiến nhất hiện nay của ngành công nghệ chế tạo IC (Integrated Circuit) chuyên biệt. 2.1.1 Cấu trúc cơ bản của FPGA. FPGA gồm một dãy các phần tử rời rạc có thể được kết nối với nhau bằng các nguồn kết nối chung. Các kết nối giữa các phần tử có thể lập trình được. Hình 2.4 giới thiệu về mô hình tổng quát của một FPGA. Nó gồm dãy 2 chiều các logic block có thể được kết nối bằng các nguồn kết nối chung. Nguồn kết nối là các đoạn dây (segment) có thể có chiều dài khác nhau, bên trong các kết nối là các chuyển mạch lập trình được dùng để nối các logic block với các segment hoặc giữa các segment với nhau. Mạch lôgíc được cài đặt trong FPGA bằng cách ánh xạ lôgíc vào các logic block riêng rẽ và sau đó nối các logic block cần thiết qua các chuyển mạch. Trong đó có các khối: - Các khối logic (logic block): cấu trúc và nội dung của logic block được gọi là kiến trúc của nó. Kiến trúc của khối logic có thể được thiết kế theo nhiều cách khác nhau. Một số khối logic có thể chỉ là các cổng NAND 2 đầu vào, tuy nhiên cũng có thể nó là một bộ dồn kênh (multiplexer), hay các bảng tìm kiếm LUT (Look-Up Table). Trong một số loại FPGA các khối logic có thể có cấu trúc hoàn toàn giống như PAL. Hầu hết các khối logic chứa một số loại flip-flop để hỗ trợ cho việc thực hiện các mạch tuần tự. - Các nguồn tài nguyên kết nối: Cấu trúc và nội dung của các nguồn kết nối trong FPGA được gọi là kiến trúc routing (routing architecture). Kiến trúc routing gồm các đoạn dây nối và các chuyển mạch lập trình được. Các chuyển mạch lập trình được có thể có nhiều cấu tạo khác nhau. Kiến trúc routing gồm các đoạn dây nối và các chuyển mạch lập trình được. Các chuyển mạch này có thể cấu tạo khác nhau như: Transitor truyền (pass - transitor) được điều khiển bởi cell SRAM, cầu chì nghịch (anti - fuse), EPROM transitor và EEPROM transitor 7 - Các cổng vào/ra: Các đặc tính I/OB của các đầu vào và đầu ra được hỗ trợ tới 19 các chuẩn tín hiệu khác nhau bao gồm: LVDS, BLVDS, LVPECL, LVCMOS, HSTL, SSTL và GTL. Các khối cơ bản của LB (Logic Block) của FPGA chính là Logic Cell (LC: gọi là tế bào logic). - Mỗi một Logic Cell bao gồm một bộ tạo chức năng (hay bộ tạo hàm) 4 đầu vào, logic nhớ và phần tử lưu trữ (Flip-Flop loại D). Đầu ra bộ tạo chức năng của mỗi Logic Cell điều khiển cả đầu ra LB hoặc đầu vào D của Flip-Flop. Mỗi một LB có chứa bốn Logic Cell và được tổ chức thành hai Slice tương tự nhau. - Look-Up Tables (LUT): Các bộ tạo chức năng của FPGA thực hiện như LUT có bốn đầu vào. Để hoạt động như một bộ tạo chức năng, mỗi một LUT có thể cung cấp một RAM 16x1bit đồng bộ. Hơn nữa hai LUT trong một Slice có thể được kết hợp để tạo RAM 16x2 bit hoặc 32x1 bit đồng bộ . - Storage Element: Các phần tử lưu trữ trong slice của FPGA có thể được xắp đặt như một Flip-Flop loại D kích hoạt bằng sườn, hoặc như một bộ chốt nhạy mức. - Block RAM: Trong FPGA hợp nhất một vài bộ nhớ RAM theo khối thành khối lớn hơn (gọi là SelectRAM +), điều này cần bổ xung các LUT RAM đã được phân phối và kiến trúc bộ nhớ không bền vững này được thực hiện trong các LB, các khối bộ nhớ Block RAM được tổ chức theo các cột. 8 2.1.2. Ứng dụng của FPGA. FPGA có thể sử dụng trong hầu hết các ứng dụng hiện đang dùng CPLD, PLD và các mạch tích hợp nhỏ. Dưới đây là các ứng dụng điển hình của FPGA: 1. Các mạch tích hợp ứng dụng đặc biệt: FPGA là một phương tiện tổng quát nhất để thực hiện các mạch logic số. 2. Thiết kế mạch ngẫu nhiên: Mạch logic ngẫu nhiên thường được thực hiện bằng PAL. Nếu tốc độ của mạch không đòi hỏi khắt khe thì mạch có thể thực hiện thay thế bằng FPGA. 3. Thay thế các chíp tích hợp nhỏ cho mạch ngẫu nhiên: Các mạch trong các sản phẩm thương mại thường chứa nhiều chíp SSI (Small Scale Integrated). Trong nhiều trường hợp các chip SSI này có thể được thay thế bằng FPGA và kết quả là giảm diện tích của bo mạch đi đáng kể. 4. Chế tạo mẫu: FPGA rất lý tưởng cho các ứng dụng tạo sản phẩm mẫu. Giá thành thực hiện thấp, thời gian ngắn. 5. Máy tính dựa trên FPGA: Một loại máy tính mới có thể được chế tạo với các FPGA có thể tái lập trình ngay trên mạch FPGA. Các máy này có một bo mạch chứa các FPGA mà các chân nối với các chip lân cận giống như thông thường. 2.1.3. Quá trình thiết kế cơ bản trên FPGA. Quá trình thiết kế trên FPGAs sử dụng hệ thống CAD (Computer Aided Design). Hình 2.10 biểu diễn các bước trong hệ thống CAD tiêu biểu để tạo ra một mạch FPGA. Từ trên hình vẽ ta thấy, điểm bắt đầu cho mạch thiết kế là mạch lôgic ban đầu. Bước này cần một sơ đồ biểu diễn mạch, hay một mô tả VHDL hoặc một đặc tả các biểu thức Boolean. Từ các đầu vào như vậy, chúng được chuyển thành dạng chuẩn như là các biểu thức Boolean. Các biểu thức Boolean này được xử lý bằng công cụ tối ưu lôgíc (rút gọn các biểu thức), mục đích của việc này là để tối ưu về diện tích và tốc độ của mạch thiết kế. Sau khi đã được tối ưu, các biểu thức Boolean được chuyển tới mạch lôgíc block của FPGA thông qua chương trình ánh xạ công nghệ (technology mapping), bộ ánh xạ sẽ tối thiểu số khối được dùng và giảm đường dẫn để tối ưu về giữ chậm. Sau khi ánh xạ mạch vào các logic block thì cần phải quyết định đặt mỗi khối ở đâu, công việc này do chương trình Placement giải quyết. Bước cuối cùng trong hệ thống CAD là nối kết do phần mềm Rounting thực hiện, chúng ấn định các đoạn dây FPGA và chọn các chuyển mạch có thể lập trình phù hợp với các kết nối trong logic block. Sau khi thực hiện xong bước này, kết quả của CAD sẽ được nạp vào đơn vị lập trình tạo ra chip FPGA cuối cùng. 9 Sau đây ta sẽ nghiên cứu chi tiết từng giai đoạn của quá trình thiết kế CAD: + Tối ưu lô gic. Đây chính là công việc sửa lại cấu trúc để giảm sự phức tạp của mạch ban đầu. Trong giai đoạn này không chú ý đến kiểu của các phần tử sẽ được dùng sau này nên được gọi là tối ưu không phụ thuộc vào công nghệ (technology-independent). Tiến hành tối ưu chính là làm giảm sự dư thừa hoặc loại bỏ những biểu thức con chung. Mạch sau khi được tối ưu có chức năng tương đương với mạch ban đầu. + Ánh xạ công nghệ. Sau khi tối ưu logic, ánh xạ công nghệ sẽ biến đổi mạng này thành mạch cuối cùng. Điều này sẽ được làm bằng cách chọn lựa từng phần của mạng và mỗi cái sẽ được thực hiện bởi một trong những phần tử của mạch có sẵn, và xác định những mạch này sẽ được nối với nhau như thế nào. + Sắp xếp các phần tử (Placement). Giai đoạn này của thiết kế gồm các công việc chính như sau: 10 [...]... đảo của L16 và R16 3.3 PHƯƠNG PHÁP THIẾT KẾ MODULE DES TRÊN FPGA Phương pháp thiết kế nhằm áp dụng DES trên công nghệ FPGA hoàn toàn tuân thủ theo qui trình thiết kế một ứng dụng trên công nghệ FPGA Quá trình thiết kế được thực hiện theo các bước sau: a) Xây dựng các khối hàm cơ bản của thuật toán mã khối DES bằng ngôn ngữ mô tả phần cứng b) Biên dịch và kiểm tra từng khối chức năng ở mức RTL (Register... định đường đi cho các thiết bị chuyên dụng e) Kiểm tra thiết kế f) Nạp cấu hình cho phần cứng 18 Các bước b, c, d chủ yếu do công cụ thiết kế thực hiện một cách tự động + Công cụ thiết kế a) Công cụ phần mềm: - Thiết kế các khối hàm cơ bản của DES bằng ngôn ngữ VHDL - Hệ công cụ phát triển cho thiết kế logic Quartus II của ALTERA b) Công cụ phần cứng: FPGA được sử dụng trong thiết kế là dòng linh kiện... sau: - Đã thiết kế chế tạo 2 module mã khối với thuật toán DES trên công nghệ FPGA - Toàn bộ thuật toán DES được thiết kế đóng gói trên chíp FPGA, hoạt động chính xác so với mô tả về lý thuyết, đảm bảo được các yêu cầu về bảo mật thiết kế, kết cấu vật lý và tính ổn định khi hoạt động - Về tốc độ mã hoá/giải mã dữ liệu: Phương pháp thiết kế trên sử dụng số chu kỳ xung nhịp cho một quá trình mã hoá là... của ALTERA + Sơ đồ khối chức năng của module mã khối DES trên FPGA Từ cấu trúc chung của moduê mã khối và thuật toán DES, sơ đồ khối tổng quát của module mã khối gồm các thành phần mô tả trên hình 3.6 - Khối vào/ra dữ liệu: Vào/Ra dữ liệu rõ /mã; vào khoá mã; độ dài khối dữ liệu là 64 bít - Khối FPGA DES: Tính toán khoá con; thực hiện các hàm mã hoá, giải mã theo thuật toán DES - Khối điều khiển: Các... thuật toán mã khối đã được trình bày trong chương 1 của luận văn Trên cơ sở đó, cấu trúc của module mã khối được xây dựng như sơ đồ hình 3.1 15 Trong đó: - Khối dữ liệu vào (ra) là bản tin rõ (mã) có độ dài M bít - Khối xử lý mã hoá/giải mã dữ liệu là khối đóng vai trò chức năng chính của modul mã khối, có nhiệm vụ mã hoá hay giải mã dữ liệu theo thuật toán mã khối được chọn lựa - Khoá mã độ dài K... thiết kế sẽ phải tính toán và lựa chọn chíp FPGA thích hợp về tốc độ xử lý dữ liệu, hiệu suất sử dụng chíp KẾT LUẬN Với sự phát triển vượt bậc của Khoa học kỹ thuật, đặc biệt là kỹ thuật mật mã, trong đó phải kể đến hệ mã khối là hệ mật có nhiều ưu điểm phù hợp hơn cho các hoạt động bảo mật tốc độ cao Việc cứng hoá các thuật toán mã khối bằng công nghệ FPGA để giải quyết bài toán đáp ứng tốc độ xử... CHỌN THUẬT TOÁN CHO MÔ PHỎNG THIẾT KẾ 3.2.1 Lựa chọn thuật toán Việc lựa chọn thuật toán mã khối để mô phỏng thiết kế có ý nghĩa chứng minh về khả năng cũng như cách thức tiến hành khi thiết kế một hệ mã khối trên FPGA nên nó phải đáp ứng được các tiêu chí: - Mang đầy đủ đặc trưng cơ bản của cấu trúc Feistel - Đã được phổ biến rộng rãi và được kiểm chứng trên thực tế Trong số các thuật toán mã khối. .. vào kết quả đạt được, nó cho phép một bản thiết kế có thể mô phỏng được trước khi đưa vào sản xuất, vì vậy các nhà thiết kế có thể so sánh một cách nhanh chóng việc thay thế và kiểm tra để điều chỉnh chính xác mà không mất thời gian và chi phí vào việc chế tạo mẫu thử đầu tiên CHƯƠNG 3: THIẾT KẾ HỆ THỐNG MÃ KHỐI 3.1 CẤU TRÚC CỦA MODULE MÃ KHỐI 3.1.1 Cấu trúc chung Nguyên lý thiết kế và cấu trúc của thuật. .. tiếp thu, nghiên cứu và sử dụng được đào tạo kỹ lưỡng và có trình độ cao 2.1.5 Giới thiệu công cụ thiết kế Quartus II Công cụ thiết kế Quartus II là hệ thống phát triển thứ tư của hãng ALTERA cho các linh kiện lập trình được Nó đưa ra các đặc trưng rất mạnh để rút ngắn chu trình thiết kế và tăng năng suất thiết kế Sử dụng chủ yếu cho thiết kế các họ chíp FPGA có dung lượng lớn như APEX 20K, STATIC ... bít có nhiệm vụ kết hợp với các hàm toán học của thuật toán mã khối để thực hiện mã hoá hay giải mã khối dữ liệu - Khối điều khiển thực hiện nhiệm vụ điều khiển toàn bộ hoạt động của modul 3.1.2 Một số yêu cầu đối với module mã khối Module mã khối dùng trong hệ truyền tin mật phải thoả mãn một số yêu cầu cơ bản sau: - Về mặt mật mã: Phải đảm bảo yêu cầu bảo mật, yêu cầu nghiệp vụ mật mã tuỳ theo các . mật cũng đã nghiên cứu thiết kế các thuật toán mã khối bằng các công cụ phần cứng như: công nghệ ASIC, công nghệ FPGA Công nghệ ASIC cho phép thiết kế thuật toán mã khối với hầu hết các ưu. KỸ THUẬT THIẾT KẾ MÃ KHỐI. Việc thiết kế các thuật toán mã 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.13. 5 + Thiết kế mã khối bằng. phần cứng, và tốc độ mã hoá - giải mã dữ liệu khi thiết kế thuật toán mã khối bằng công nghệ ASIC có thể lên tới vài Gigabít/s. Công nghệ FPGA là một sự phát triển của công nghệ ASIC, tuy tốc độ

Ngày đăng: 19/08/2015, 09:45

Từ khóa liên quan

Mục lục

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

  • 1.4. GIẢI PHÁP KỸ THUẬT THIẾT KẾ MÃ KHỐI.

    • + Thiết kế mã khối bằng chương trình phần mềm.

    • CHƯƠNG 3: THIẾT KẾ HỆ THỐNG MÃ KHỐI

    • 3.1. CẤU TRÚC CỦA MODULE MÃ KHỐI.

      • 3.1.1. Cấu trúc chung.

      • 3.1.2. Một số yêu cầu đối với module mã khối.

      • 3.2. LỰA CHỌN THUẬT TOÁN CHO MÔ PHỎNG THIẾT KẾ.

        • 3.2.1. Lựa chọn thuật toán.

        • 3.2.2. Mô tả thuật toán DES.

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

Tài liệu liên quan