新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 利用FPGA來實現RC6算法的設計與研究

        利用FPGA來實現RC6算法的設計與研究

        作者: 時間:2011-01-13 來源:網絡 收藏


          式中:e一2.782 818 284 59…(自然對數);φ=1.618 033 988 749…(黃金分割)

          當w分別為16、32、64時,常數Pw、Qw分別如表1所列。在本中,w=16,輸入為128位的主密鑰,得到的是44個32位子密鑰。

        常數Pw

          2 加解密協處理器

          2.1 協處理器的頂層結構

          協處理器包含以下3個模塊:加解密模塊,加解密函數模塊和ROM模塊。頂層結構如圖1所示。

        頂層結構

          加解密模塊:包括輸入和輸出、加/解密選擇、狀態機,以及函數調用聲明和ROM調用取址。用于輸入128位明文或密文,并且一個狀態機定義程序順序執行和保證循環控制,對ROM的44個子密鑰讀取,以及將數據輸入函數中進行處理。由于輸入ROM的地址是在一個時鐘控制下,子密鑰數據的輸出有一定的延時,所以一個控制變量cnt地址提前一個時鐘左右輸入ROM,ROM接收到后輸出子密鑰,使在進行數據加解密處理時,已經有準備好的子密鑰調用。

          加解密函數模塊:work用戶自定義函數庫,定義中用到的函數。其中包括5個函數,分別是:RFunct、afunct、cfunct、lshift、rshift。頂層文件循環調用此函數21次,進行加解密運算。

          ROM模塊:先在QuartusII里面將預定義的子密鑰輸入rc6keyrom.mif文件中,調用QuartusII的MegaWizardPlug—In Manager,自動生成ROM,供頂層文件調用。需要提前利用QuartusII建立一個.mif文件,將子密鑰的數據輸入。

          2.2 RC6協處理器的頂層原理圖

          如圖2所示,基于的RC6協處理器分3個模塊:頂層模塊、RC6加解密函數模塊和ROM模塊。共有260個I/0口,包括131輸入端口和129個輸出端口。

        RC6協處理器的頂層原理圖

         2.3 各模塊的功能及

          2.3.1 ROM模塊

          圖3為QuartusII自動生成的ROM模塊。ROM取址需要由加解密模塊提供地址輸入,然后輸出子密鑰。輸入地址為address[4..0],輸出為q[63..0]兩個子密鑰一起輸出到主程序中進行。

        QuartusII自動生成的ROM模塊



        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 潜江市| 都匀市| 盐池县| 澄城县| 汝南县| 老河口市| 乌拉特中旗| 金坛市| 富宁县| 汉阴县| 右玉县| 开鲁县| 玛多县| 潮州市| 沛县| 双峰县| 海宁市| 前郭尔| 武鸣县| 邢台市| 拉萨市| 崇礼县| 南乐县| 冀州市| 洮南市| 永兴县| 芦山县| 囊谦县| 寻甸| 新闻| 巨鹿县| 凌源市| 北安市| 桐乡市| 仙居县| 正定县| 阿克陶县| 麻阳| 岑溪市| 肥东县| 呼图壁县|