《電子技術應用》
您所在的位置:首頁 > 其他 > 業界動態 > 可適配模乘運算指令研究

可適配模乘運算指令研究

2008-07-17
作者:戴紫彬, 孟 濤, 朱忠義, 張

??? 摘 ? 要: 在分析DES、AES、IDEA等41種分組密碼算法" title="密碼算法">密碼算法結構的基礎上,研究了常用的不同位寬及不同模數" title="模數">模數的模乘運算。提出了專用的模乘運算指令,通過適配" title="適配">適配兩個參數with與type,可靈活地完成16bit" title="16bit">16bit、32bit算術乘法以及模216+1乘的運算,并且實現了支持其執行的硬件單元。最后,以專用模乘運算指令為基本指令,給出了模232-1乘、模264乘運算的實現方法。
??? 關鍵詞: 分組密碼" title="分組密碼">分組密碼? 可適配? 模乘運算? 專用指令

?

??? 分組密碼具有速度快、易于標準化和便于硬件實現等特點,通常是信息與網絡安全中實現數據加密、數字簽名、認證及密鑰管理的核心體制,而且還可以用來構造流密碼、偽隨機數生成器、MACs(Message Authentication Codes)、Hash函數、簽名方案等。隨著芯片設計技術的發展,處理密碼算法的方式逐漸增多,專用密碼處理器作為一個高速、靈活的實現方式已被廣泛認可,專用密碼處理器的指令集包含較多的運算指令,這些運算指令的靈活性與執行效率,在一定程度上決定了系統處理數據的靈活性與速度。對于專用的分組密碼處理器來說,模乘運算指令使用頻率較高,是其指令集設計的關健。本文在分析DES、AES、IDEA等41種分組密碼算法的基礎上,對分組密碼算法中模乘運算的操作特征進行研究,并提出專用模乘運算操作指令及其擴展的VLIW并行指令模型,同時給出相應模乘運算單元的硬件設計。
1 分組密碼算法中的模乘運算
??? 41種分組密碼算法中有7種算法使用了模乘運算,數據位寬分別為16bit、32bit和64bit,RC6、MARS、TWOFISH、E2四種算法使用了模232乘法運算,DFC算法中使用了模264乘法運算,IDEA算法使用的模數為216+1,MMB算法使用的模數為232-1,如圖1所示。

?????????????????
??? 模264乘法和模232-1乘法在分組密碼處理中使用頻度較少,可通過基本乘法指令組合實現,并且設計其專用電路硬件資源占用大、延時長。而模216+1乘法盡管適用面窄,但考慮到IDEA算法目前廣為應用,因此設計專用模乘指令時應考慮到模216+1乘法運算。
2 專用模乘運算指令設計
??? 通過對分組密碼算法中常用的模乘運算的分析可知,專用模乘運算指令應能夠完成模232、模216、模216+1乘操作;指令的操作數位寬為32bit;每條指令有兩個源操作數和一個目的操作數;指令中包括兩個參數,分別為標識位寬的with以及標識操作類型的type,給兩個參數賦于不同的值,則可完成不同的操作。其格式如下:
MUL.with.type Rd, Rs1, Rs2
2.1 32bit乘法
??? 專用的模乘運算指令能夠實現兩個32bit數據Rs1和Rs2的乘法運算,可由兩條指令分別得到其低32bit和高32bit的運算結果。
??? 低32bit運算即模232乘法指令格式為:MUL32L Rd, Rs1, Rs2,參數with為32bit,參數type為L,該指令將兩個32bit數據進行乘法運算,取低32bit送入目標寄存器,即執行模232乘法運算。圖2(a)給出了該指令操作示意圖。
??? 32bit乘法取其高32bit運算結果的指令為: MUL32H Rd,Rs1,Rs2,該指令將兩個32bit數據進行乘法運算,取高32bit送入目標寄存器。圖2(b)給出了該指令操作示意圖。

????????????????????????
2.2 16bit乘法指令
??? 稱16bit寬的數據為亞字,則實現兩個32bit字運算可按照亞字分別進行乘法運算。
??? 低16bit乘法指令格式為:MUL16L Rd,Rs1,Rs2,該指令將兩個32bit數據的低16bit進行乘法運算,結果送入目標寄存器。圖3(a)給出了該指令操作示意圖。

??? 高16bit乘法指令格式為:MUL16H Rd,Rs1,Rs2,該指令將兩個32bit數據的高16bit進行乘法運算,結果送入目標寄存器。圖3(b)給出了該指令操作示意圖。
?????????????????????????????

2.3 模216+1乘法指令
??? 兩個32bit字按照16bit亞字分別進行模乘運算。32bit字中低16bit乘法指令格式為:MUL16I Rd,Rs1,Rs2,該指令對兩個32bit源操作數的低16bit執行模216+1乘法運算,結果送入目標寄存器低16位,將兩個源操作數的高16bit進行模216+1乘法運算,結果送入目標寄存器高16位。圖4給出了該指令操作示意圖。

??????????????????????????? ???????
3 模乘運算單元的硬件實現
??? 指令的執行需要有相應硬件功能單元的支持。由專用指令所完成的功能可知,模乘運算單元應可配置地完成32bit乘法、16bit乘法及模216+1乘法。下面在研究模216+1乘法實現算法的基礎上,給出模乘運算單元的硬件電路。
3.1 模(2n+1)乘法的實現算法
??? 設a和b為兩個n位二進制數,c=abmod(2n+1), 則模(2n+1)乘法可表達為:
???

式中,0≤cH<2n 為高n位數據,0≤cL<2n為低n位數據。
??? 由上式可以得到:
???

??? 當cL-cH≥0,有c=cL-cH;
??? 當cL-cH≥0,有c=cL-cH+1+2n
??? 由此,可以得到模(2n+1)乘法的算法如下:
???? ?

3.2 單元電路
??? 由于32bit的乘法運算可以分解為16bit的乘法與16bit加法運算,而模216+1乘法可以通過上述算法得以實現,因此乘法電路以16bit的乘法運算電路為核心,輔助以16bit加法運算、數據選擇器和模修正電路實現,如圖5所示。

????????????????????????????
4 其他模乘運算實現研究
4.1 模(2n-1)乘法運算
??? 設a、b為兩個n位二進制數,c=abmod(2n-1),則模(2n-1)乘法可表達為:
???

式中,0≤cH<2n為高n位數據,0≤cL<2n為低n位數據。
??? 由上式可得:
???

??? 當cL+cH>2n-1,有c=cL+cH+1-2n;
??? 當cL+cH=2n-1,有c=0;
??? 當cL+cH<2n-1,有c=cL+cH
??? 據此,可以得到模(2n-1)乘法的算法如下:
??? Input:n-bit數據 a,b
???

??? 因此,模232-1乘法需要首先執行一次MUL32L指令和一次MUL32H指令,然后執行兩次32bit模加指令,另外還需要分支判斷指令,共計需要5~6條基本指令。
4.2 模264乘法運算
??? 進行模264乘法運算時,電路以32bit的乘法器為基本單元,通過組合實現64bit的模乘運算。實現基本原理如下:
??? ?

式中, A和B均為64bit,AH為A的高32bit,AL為A的低32bit;BH為B的高32bit,BL為B的低32bit。由于兩數相乘后要進行模264操作,所以有:
???

??? 進一步的分析可以看出,(AH×BL+BH×AL)×232的結果要進行模264操作,只需將AH×BL和BH×AL相乘的低32位相加即,然后再與AL×BL的高32位相加,結果就是A×B mod 264的高32位。AL×BL的低32位就是A×B mod 264的低32bit。
??? 因此,模264乘法需要首先執行三次MUL32L指令和三次MUL32H指令,然后連續執行兩次32比特模加指令,共計需要8條基本指令。
??? 在分析DES、AES、IDEA等41種分組密碼算法結構的基礎上,總結出算法用到的所有模乘操作,其中包括232、264、232-1、216+1四種模數的運算,然后就其在分組密碼算法中的使用情況進行了分析與研究。綜合考慮資源及時延,提出了可高效、靈活完成232、216算術乘法及模216+1乘操作的專用模乘運算指令,它能完成兩個字及兩個亞字的算術乘法操作,并且能夠并行執行兩組模216+1乘操作。設計、實現了支持專用模乘運算指令執行的硬件單元。最后,在專用指令的基礎上,給出了模232-1乘、模264乘運算的具體實現。
參考文獻
[1]?MA Yu Tai. A simplified architecture for modulo(2n+1)?multiplication. IEEE TRANSACTIONS ON COMPUTERS,
?1998,47(3).
[2]?ELBIRT A J. Reconfigurable computing for symmetrickey?algorithms. PhD thesis, Electrical and Computer Engineering Department University of Massachusetts Lowell, April?22, 2002.
[3]?SINGH H, LEE M H, LU Guamig Ming, et al. MorphoSys:An integrated reconfigurable system for data-parallel and?Computation-Intensive Applications[J]. IEEE Transactions?on Computers,2000,49(5):465-481.
[4]?嵩天,湯志忠,汪東升.可重構計算相關研究綜述.中國:2004?年全國博士生學術論壇論文集, 2004.
[5]?多磊.分組密碼的設計與分析.國防科學技術大學研究生院,2002.

?

本站內容除特別聲明的原創文章之外,轉載內容只為傳遞更多信息,并不代表本網站贊同其觀點。轉載的所有的文章、圖片、音/視頻文件等資料的版權歸版權所有權人所有。本站采用的非本站原創文章及圖片等內容無法一一聯系確認版權者。如涉及作品內容、版權和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經濟損失。聯系電話:010-82306118;郵箱:aet@chinaaet.com。
主站蜘蛛池模板: 国产精品一区在线免费观看 | 午夜男人网 | 免费视频精品一区二区 | 国产成人三级 | 亚洲无线码在线一区观看 | caonila国产在线观看 | 黄a视频在线观看 | 日韩欧美中文字幕在线播放 | 吃奶呻吟打开双腿做受动态图 | 天天射天天舔 | 成人9久久国产精品品 | 又爽又黄有又色的视频 | 日韩欧美中国a v | 2022国产成人福利精品视频 | 国产日韩精品欧美一区色 | 91精品久久久久久久99蜜桃 | 免费人成视网站在线不卡 | 无边泳池在线观看 | 婷婷操 | 国产 麻豆 欧美亚洲综合久久 | 欧美一级黄色片视频 | 黄色在线观看视频免费 | 免费福利午夜影视网 | 色香蕉在线| 国产一区二区三区在线看 | 欧美性一级交视频 | 国产91在线|亚洲 | 做a视频大全 | 国产精品欧美在线不卡 | 粉色视频成年免费人15次 | 国内精品久久久久久影院老狼 | 日韩18视频在线观看 | 特级黄色毛片视频 | 亚洲国产精久久小蝌蚪 | 免费aⅴ视频 | 91视频聊天网| 午夜免费福利影院 | 91丝袜足控免费网站xx | 一本到视频在线观看 | 亚洲专区路线一路线二 | 奇米影视一区二区三区 |