《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 通信與網(wǎng)絡(luò) > 業(yè)界動態(tài) > 基于Benes網(wǎng)絡(luò)結(jié)構(gòu)的比特置換在處理器中的實(shí)現(xiàn)

基于Benes網(wǎng)絡(luò)結(jié)構(gòu)的比特置換在處理器中的實(shí)現(xiàn)

2008-03-31
作者:于學(xué)榮,戴紫彬

  摘 要: 比特置換" title="比特置換">比特置換操作在對稱密碼算法" title="密碼算法">密碼算法中使用頻率非常高,它所采用的非線性變換能夠?qū)崿F(xiàn)高安全性。但現(xiàn)有的可編程處理器對單個比特的操作并不直接支持。就此問題,研究了比特置換操作在處理器上的高效靈活實(shí)現(xiàn)方法,提出了一種基于Benes網(wǎng)絡(luò)結(jié)構(gòu)" title="網(wǎng)絡(luò)結(jié)構(gòu)">網(wǎng)絡(luò)結(jié)構(gòu)的硬件可實(shí)現(xiàn)的比特置換結(jié)構(gòu)及其在不同指令集上的應(yīng)用,并在FPGA上進(jìn)行了驗(yàn)證。
  關(guān)鍵詞: 比特置換 專用指令集微處理器 查找表" title="查找表">查找表 Benes網(wǎng)絡(luò)結(jié)構(gòu)


  目前,通用微處理器大多是以字為單位進(jìn)行操作的,它的指令結(jié)構(gòu)ISA(Instruction-set Architecture)不支持小于一個字的數(shù)據(jù)操作。而單比特的置換操作在分組密碼算法中使用頻率非常高,是提高算法安全性的重要手段;而且比特置換操作在處理器中快速高效的特點(diǎn),也將影響密碼處理的整體性能。但在現(xiàn)有的指令結(jié)構(gòu)處理器中,任意的比特置換通常都采用邏輯操作或查找表的方式實(shí)現(xiàn)[1],即使一個簡單的置換操作(如循環(huán)移位),也需要多條指令才能完成。根據(jù)相關(guān)研究可知,一個n比特的置換操作,它的指令級復(fù)雜度是O(n),處理速度也將隨著n的增大而不斷降低。對于目前實(shí)時的網(wǎng)絡(luò)通信來說,這顯然是不可容忍的。因此,針對這一問題在一些專用指令集微處理器ASIP(Application-Specific Instruction-Set Processor)中,增加了特殊的置換指令,如多媒體處理器PLX中增加了MIX、MUX和Perm等指令[2],但這些指令并不能滿足n-bit數(shù)據(jù)的任意置換操作。本文提出了一種在處理器中實(shí)現(xiàn)比特置換的方法,給出了相應(yīng)的比特置換指令及其操作結(jié)構(gòu)。
1 密碼學(xué)中的比特置換及其一般實(shí)現(xiàn)方式
1.1 密碼學(xué)中的比特置換

  比較置換操作能使輸入數(shù)據(jù)中第i比特置換到輸出數(shù)據(jù)的第j比特上,而且置換過程中各位源數(shù)據(jù)之間不發(fā)生計(jì)算關(guān)系。輸入的n比特?cái)?shù)據(jù)需要log2n比特位置信息或配置信息。
  置換是密碼算法中隱藏明文信息中冗余度的重要手段,通過位置置換可以實(shí)現(xiàn)明文到密文的擴(kuò)散。置換按明密文映射關(guān)系分為三類:直接置換、擴(kuò)展置換和壓縮置換。直接置換指明密文間是一一映射關(guān)系,且明文的每一位都有到密文的映射;擴(kuò)展置換指明密文間為一對多的映射關(guān)系,它使得密文對明文的依賴性傳播得更快;壓縮置換指明密文間是一一映射關(guān)系,但并不是明文的每一位都有到密文的映射。置換輸入和輸出位寬根據(jù)算法和置換類型的不同而有所不同。例如DES算法中有64-bit初始置換IP、末尾置換IP-1以及輪運(yùn)算中的32-bit P置換[3]
1.2 邏輯操作方式
  邏輯操作方式是指采用AND、OR、SHIFT等簡單邏輯操作實(shí)現(xiàn)復(fù)雜的比特置換操作。在此方式下,每對1 bit進(jìn)行置換,處理器需要進(jìn)行四步操作:①產(chǎn)生目標(biāo)比特的MASK參數(shù);②提取相應(yīng)比特值(AND指令);③將該比特移至相應(yīng)位置(SHIFT指令);④存儲到相應(yīng)寄存器中(OR指令)。由上述過程可知,一個n-bit的置換操作需要4n條指令才能完成。盡管一些處理器中針對這一問題有所改進(jìn),將1 bit置換操作的指令壓縮到2條——汲取指令(EXTRACT)和放置指令(DEPOSIT),但n-bit置換操作仍需要2n條指令,處理性能沒有明顯提高。
1.3 查找表方式
  查找表方式是另一種實(shí)現(xiàn)比特置換的方法,它在速度上與邏輯操作相比有所提高,但需要大量的存儲空間放置控制信息。完成一個n-bit的置換操作需要m個查找表,每個表的容量為2n/m×nbit。以64-bit輸入數(shù)據(jù)為例,當(dāng)m=1時,完成一次任意置換需要一個264×64bit的查找表,這在現(xiàn)有微處理器結(jié)構(gòu)中是無法實(shí)現(xiàn)的;當(dāng)m=8時,完成一次任意置換需要8個容量為28×64bit的查找表。每個表代表源操作數(shù)中連續(xù)8-bit的置換,表中除了8-bit置換的目標(biāo)位置外,其他位置均為0,此時共需要23條指令來完成64-bit置換:8條Extract指令獲得表的索引值、8條Load指令置換相應(yīng)比特、7條OR指令鏈接8個8-bit置換后的數(shù)據(jù)。這種方法相對于邏輯操作方式來說指令條數(shù)減少了很多,但它在實(shí)際執(zhí)行中,Load指令往往遇到未命中Cache的情況,所以實(shí)現(xiàn)n-bit的置換操作需要的復(fù)雜度一般為O(n)。
2 比特置換操作的優(yōu)化實(shí)現(xiàn)
2.1 Butterfly結(jié)構(gòu)

  目前,Butterfly結(jié)構(gòu)[4]及其他一些相似的結(jié)構(gòu)都廣泛應(yīng)用于信息處理領(lǐng)域中,如數(shù)字信號處理中的快速傅里葉變換(FFT)等。圖1(a)中給出了8-bit輸入的Butterfly結(jié)構(gòu),圖1(b)中給出了相應(yīng)的Inverse Butterfly結(jié)構(gòu)。


2.2 Benes網(wǎng)絡(luò)結(jié)構(gòu)
  Benes網(wǎng)絡(luò)結(jié)構(gòu)由一個Butterfly結(jié)構(gòu)鏈接一個Inverse Butterfly結(jié)構(gòu)組成,它是一種可重排網(wǎng)絡(luò),能實(shí)現(xiàn)輸入端到輸出端的所有置換。完成n-bit置換操作需log2n級Butterfly變換和log2n級Inverse Butterfly變換。對于一個64-bit置換,則需要2log2n=12級變換,且每一級需要n/2-bit配置信息。在處理器中執(zhí)行置換操作需要一條Butterfly指令和一條Inverse Butterfly指令及l(fā)og2n個n-bit配置信息。
  圖2給出了一個8-bit輸入的Benes網(wǎng)絡(luò)結(jié)構(gòu),能完成(abcdefgh)到(cfghbdea)的置換。根據(jù)配置信息,它的置換過程如下:Butterfly指令完成(abcdefgh)->(abgdefch)->(gdabehcf)->(dgabehfc);Inverse Butterfly指令完成(dgabehfc)->(gcbaehcf)->(bdgacfeh)->(cfghbdea)。


2.3 比特置換指令
  比特置換單元內(nèi)部設(shè)置了一定的緩存區(qū),用于存儲配置信息,如圖3所示的B1、B2、B3和I1、I2、I3。由于不同ASIP中指令格式存在差異,這些內(nèi)部緩存區(qū)是可選擇的。由于Inverse Butterfly指令類似于Butterfly指令,下面以Butterfly指令為例進(jìn)行說明。對于超長指令字格式(VLIW),支持多操作數(shù)方式,不需要內(nèi)部寄存器存儲配置信息,其指令可描述為:Butterfly Rd,Rs,B1,B2,B3。其中Rd為置換數(shù)據(jù)目的地址,Rs為置換數(shù)據(jù)源地址,B1、B2、B3為配置信息的外部存儲地址,即一條Butterfly指令包括Rs、B1、B2、B3四個源操作數(shù)。對于精簡指令格式(RISC),最多支持兩個源操作,相應(yīng)指令可描述為:Butterfly Rd,Rs,B3。即需要將配置信息B1、B2、I1、I2在進(jìn)行置換操作前裝入到置換單元內(nèi)部緩存區(qū)中,而B3、I3則從外部存儲器中獲得。對于超標(biāo)量結(jié)構(gòu)處理器,假設(shè)其有兩路并行處理通路,則Butterfly指令與Inverse Butterfly指令可并行執(zhí)行。對于所采用的不同指令格式,具體操作指令數(shù)也不同。


3 性能比較
  如果一個處理器可以支持比特置換操作,則其比特置換操作的延時必須與邏輯運(yùn)算單元(ALU)的時鐘頻率相匹配。在ALU中主要是乘法器[5]延時較大,通常占用3~5個時鐘周期" title="時鐘周期">時鐘周期,因此只有使比特置換操作延時小于乘法運(yùn)算延時,才能在不影響處理器整體性能的前提下,使處理器支持比特置換操作。而邏輯操作方式與查找表方式的比特置換實(shí)現(xiàn)方法所占用的時鐘周期都遠(yuǎn)遠(yuǎn)大于3個時鐘周期,如表1所示。當(dāng)采用Benes網(wǎng)絡(luò)結(jié)構(gòu)時,僅執(zhí)行兩次Butterfly指令,在性能上得到了很大提高,使n-bit 的比特置換操作的復(fù)雜度從O(n)降至O(log(n))。


  比特置換是現(xiàn)代對稱密碼算法中的一個基本操作,但由于它比其他操作延時大且需要大量的控制信息,使得目前的通用處理器并不支持比特置換操作。本文針對上述兩個問題提出的解決方案,使其可以在處理器中快速實(shí)現(xiàn),并以64-bit置換為例,在FPGA上對這一結(jié)構(gòu)進(jìn)行了驗(yàn)證,結(jié)果僅占用700個邏輯單元,最高時鐘頻率達(dá)到了220MHz。采用ASIC實(shí)現(xiàn)時,其性能還將在此基礎(chǔ)上顯著提高,從而滿足網(wǎng)絡(luò)通信等方面的需求。
參考文獻(xiàn)
1 R B Lee,Z Shi,X Yang.Efficient permutation instructions for fast software cryptography[J].IEEE Micro,2001;21(6):56~69
2 Ruby B Lee,A Murat Fiskiran.PLX:A fully subword parallel instruction set architecture for fast scalable multimedia pro-cessing.Supported in part by HP,NSF and Kodak:2~3
3 Bruce Schneier著,吳世忠,祝世雄,張文政譯.應(yīng)用密碼學(xué)[M].北京:機(jī)械工業(yè)出版社,2000:225~233
4 Xiao Yang,Manish Vachharajani,Ruby B Lee.Fast Subword Permutation Instruction Based on Butterfly Networks[J].In:Proceedings of SPIE,Media Processor 2000,January 2000:80~86
5 Zhijie Shi,Xiao Yang,Ruby B Lee.Arbitrary Bit Permuta-tions in One or Two Cycles[J].In:Proceedings of the IEEE 14th International Conference on Application-Specific Systems,Architectures and Processors,June 2003

本站內(nèi)容除特別聲明的原創(chuàng)文章之外,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀點(diǎn)。轉(zhuǎn)載的所有的文章、圖片、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無法一一聯(lián)系確認(rèn)版權(quán)者。如涉及作品內(nèi)容、版權(quán)和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當(dāng)措施,避免給雙方造成不必要的經(jīng)濟(jì)損失。聯(lián)系電話:010-82306118;郵箱:aet@chinaaet.com。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
亚洲激情成人| 香蕉久久精品日日躁夜夜躁| 欧美特黄一区| 欧美a级片一区| 久久午夜视频| 欧美在线网址| 欧美一区二区黄| 亚洲综合色丁香婷婷六月图片| 亚洲精品护士| 亚洲成色777777女色窝| 久久se精品一区二区| 性8sex亚洲区入口| 亚洲自拍偷拍网址| 亚洲自拍啪啪| 亚洲男人影院| 亚洲人成网站在线观看播放| 亚洲福利在线视频| 亚洲电影免费| 国产精品日韩专区| 国产精一区二区三区| 国产精品夜夜夜一区二区三区尤| 欧美视频国产精品| 国产精品观看| 国产精品日韩二区| 国产欧美一区二区三区久久| 国产亚洲一级高清| 精东粉嫩av免费一区二区三区| 韩日成人在线| 在线免费精品视频| 最近中文字幕日韩精品| 亚洲人体1000| 一区二区三区欧美视频| 在线一区二区三区四区| 亚洲综合999| 欧美一区二区视频97| 久久成人免费网| 亚洲国产一区二区视频| 亚洲日本成人| 亚洲精品在线免费| 亚洲一区国产一区| 校园春色国产精品| 久久久精品一区| 欧美国产第二页| 国产精品对白刺激久久久| 国产午夜精品视频| 亚洲国产高清自拍| 一区二区日韩精品| 欧美在线黄色| 日韩视频免费在线观看| 亚洲免费在线观看| 久久精品国产亚洲一区二区| 免费中文字幕日韩欧美| 欧美色道久久88综合亚洲精品| 国产精品一区三区| 亚洲第一黄网| 中国成人在线视频| 亚洲二区免费| 亚洲尤物视频网| 久久一二三国产| 欧美午夜精品理论片a级按摩| 国产午夜精品福利| 亚洲精品视频一区| 先锋影音国产一区| 日韩天堂在线观看| 欧美在线免费视屏| 欧美成人精品在线| 国产精品久久久久婷婷| 激情综合色丁香一区二区| 国产精品永久在线| 亚洲国产精品va在线观看黑人| 在线综合亚洲欧美在线视频| 亚洲视频在线免费观看| 亚洲三级电影在线观看 | 亚洲一区国产一区| 亚洲福利视频网站| 中文日韩在线视频| 久久精品视频在线| 米奇777在线欧美播放| 国产免费亚洲高清| 亚洲电影在线看| 亚洲影视综合| 亚洲精品久久久久久下一站| 亚洲欧美在线免费| 欧美高清视频在线播放| 国产精品亚洲综合色区韩国| 在线观看日韩专区| 这里只有精品丝袜| 亚洲第一中文字幕在线观看| 亚洲视频观看| 蜜桃av久久久亚洲精品| 国产精品久久午夜| 亚洲激情一区| 欧美一区二区黄色| 亚洲午夜三级在线| 免费人成网站在线观看欧美高清| 国产精品免费视频xxxx| 亚洲黑丝一区二区| 久久国产精品99精品国产| 99精品视频一区| 久久精品国产清高在天天线 | 欧美精品久久一区二区| 国产欧美日韩在线| 国产精品一区久久久| 一区二区黄色| 日韩视频一区| 久久夜色精品国产亚洲aⅴ| 国产精品久久久久天堂| 亚洲精品日韩久久| 亚洲国内精品在线| 久久久精品久久久久| 欧美日韩一区二区视频在线| 91久久精品久久国产性色也91| 午夜免费日韩视频| 亚洲一级片在线观看| 欧美成熟视频| 激情校园亚洲| 欧美与黑人午夜性猛交久久久| 亚洲在线不卡| 欧美日韩国产色视频| 国产一区再线| 亚洲欧美电影院| 午夜久久久久久| 欧美天天综合网| 亚洲精品中文在线| 亚洲精品欧美激情| 久久综合伊人| 黄色影院成人| 欧美一级久久久| 久久精品一区二区三区四区 | 99re热这里只有精品视频| 亚洲精品久久久久久久久久久久久| 久久精品亚洲一区| 国产欧美日韩一区二区三区在线观看 | 国产一区二区三区黄| 亚洲一区高清| 在线视频一区观看| 欧美日韩国产免费| 亚洲精品一区二区三| 99re8这里有精品热视频免费 | 国产麻豆精品theporn| 亚洲男人影院| 欧美在线黄色| 国产一区二区视频在线观看| 性亚洲最疯狂xxxx高清| 久久99在线观看| 国产欧美在线看| 午夜激情一区| 久久久久久久网| 国内成人精品视频| 亚洲精品一区二区三区福利| 欧美国产日本| 亚洲精选一区二区| 一本色道久久综合亚洲精品不| 欧美日韩国产三区| 一区二区三区精品| 午夜国产精品视频免费体验区| 国产精品免费福利| 香蕉久久夜色精品国产使用方法| 久久青青草原一区二区| 伊人天天综合| 亚洲伦理网站| 欧美日韩国产欧美日美国产精品| 亚洲免费观看在线观看| 亚洲一区二区三区视频播放| 国产精品国产a| 午夜精品美女自拍福到在线| 99综合视频| 国产精品久久久久影院色老大 | 久久天天躁狠狠躁夜夜爽蜜月| 国内外成人免费激情在线视频| 亚洲高清激情| 欧美激情一区| 亚洲视频福利| 久久人人爽人人| 一区二区三区精品国产| 久久久99国产精品免费| 亚洲第一页在线| 亚洲一线二线三线久久久| 国产女优一区| 91久久综合亚洲鲁鲁五月天| 欧美91福利在线观看| 亚洲美女电影在线| 午夜电影亚洲| 亚洲人成在线观看| 欧美亚洲视频在线观看| 在线观看日韩一区| 亚洲午夜女主播在线直播| 国产日韩欧美夫妻视频在线观看| 久久精品五月婷婷| 欧美日韩在线精品| 欧美一区二区三区精品| 欧美~级网站不卡| 亚洲视频电影在线| 久久亚洲欧洲| 夜夜嗨av一区二区三区四季av| 欧美在线视频一区| 亚洲国产精品一区二区尤物区| 亚洲一区二区三区乱码aⅴ| 国内精品久久久久影院薰衣草| 在线视频亚洲欧美|