標題: RC6 加密器設計與執行
RC6 Encryption-Chip Design and Implementation
作者: 江堆金
Tui-Ching Chiang
葉 義 雄
Yi-Shiung Yeh
資訊學院資訊學程
關鍵字: 密碼;加密;解密;硬體描述語言;RC6;Encryption;Decryption;VHDL;FPGA
公開日期: 2000
摘要: RC6演算法是一個安全及架構完整且簡單的區塊加密法。它提供了良好的測試結果和金鑰字組參數方面相當大的變化彈性。由於它簡單易懂,使得我們可以很快的去做一個完整的硬體結構分析。RC6演算法是符合硬體與軟體的應用的對稱式型快速區塊加密演算法,RC6演算法可以說是近幾年來相當優秀的一種加密法;因此我們要將它設計成為晶片,選擇了以FPGA方式完成設計方式。在此文中採用VHDL(硬體描述語言)去設計RC6演算法,分別以加密方式、解密方式、金鑰產生方式及組合加密/解密電路之演算法程式去著手。然而RC6演算法的主要特色是使用大量的資料相依去做旋轉;另外金鑰字組變數也可以任意調整,其中包括了明文大小,運算回合數及密碼長度。 我們藉其VHDL語言的特性,將其實現在硬體的表現上。我們考慮了其資料的相依性及重複性,盡量使用結構性區塊同時並行去執行;因此會讓RC6晶片的產生最佳化,分析其區塊的內容及使用率。探討加密演算法,解密演算法及金鑰產生演算法做其最長延遲路徑的語法分析。以區塊模組的方式去換取延遲時間,加密演算法及解密演算法做一回合及二時回合執行時間的分析;金鑰產生演算法做一回合及一百三十二回合的執行時間。利用管線方式及平行方式,將RC6晶片執行時間縮短。本文所完成的128位元RC6加密/解密晶片,最高工作頻率為50 MHz,執行完成加密演算法所耗時間為15.96us,執行完成解密演算法所耗時間為16.7523us,執行完成金鑰演算法所耗時間為106.72us。
RC6 algorithm is a complete secure cipher. From the results from cryptanalyses it shows its strength. In key scheduling the way to produce the subkey is flexible. The algorithm is easy to understand. As a result we can ease to analyze its hardware structure. We chose a FPGA to design a RC6 chip. Before designing a chip we use VHDL to describe RC6 algorithm. We design an electric circuit by separating into parts: the encryption, the decryption, the key scheduling, and the combination of the encryption and the decryption. We use the characteristic of VHDL to present on hardware expression. We also consider the data dependence and duplication. Therefore, We try to implement it by using block structure and obtain an optimal solution using pipeline and parallel skill, we can reduce execution time on designing RC6 chip. We can get in the complement of 128-RC6 encryption/decryption chip, the highest operating frequency in 50 MHz. It spends 15.96us for completing encryption, 16.7523us for completing decryption, and 106.72us for completing key scheduling.
URI: http://140.113.39.130/cdrfb3/record/nctu/#NT891706009
http://hdl.handle.net/11536/68032
顯示於類別:畢業論文