<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 手機與無(wú)線(xiàn)通信 > 設計應用 > 多規格S盒的硬件實(shí)現方法

多規格S盒的硬件實(shí)現方法

作者: 時(shí)間:2006-07-17 來(lái)源:網(wǎng)絡(luò ) 收藏
引言

在信息領(lǐng)域中,密碼算法用于保護信息的保密性、完整性和安全性,簡(jiǎn)單地說(shuō)就是防止信息的偽造與竊取。密碼算法可分為對稱(chēng)密碼算法和非對稱(chēng)密碼算法。對稱(chēng)密碼算法的特點(diǎn)是速度快、安全強度高,主要用作數據加密算法。對稱(chēng)密碼算法根據加密模式又可分為分組密碼算法和序列密碼算法。分組密碼算法目前在商業(yè)領(lǐng)域使用較多,廣泛應用于信息的保密傳輸和加密存儲。S盒是大多數分組密碼算法中唯一的非線(xiàn)性結構,它的密碼強度直接決定了密碼算法的好壞。

本文介紹用的兩種的S盒變換,它能88和64兩種S盒的任意布爾函數變化。文中最后給出了電路仿真結果及其電路規模和延時(shí)估計。

S盒的設計原理

S盒的功能就是一種簡(jiǎn)單的“代替”操作。一個(gè)n輸入、m輸出的S盒所的功能是從二元域F2上的n維向量空間F2n到二元域F2上的m維向量空間F2m的映射:F2n――>F2m,該映射被稱(chēng)為S盒代替函數。構造S盒常用的有如下3種:隨機選擇、人為構造和數學(xué)構造。為保證S盒的密碼強度,S盒應越大越好。一般來(lái)講,n和m越大,隨機性越好,S盒的密碼強度就越大。但n和m越大,S盒的規模和可控編碼的寬度也就越大。S盒的隨機性可以通過(guò)可控編碼來(lái)實(shí)現,通過(guò)改變可控編碼,一個(gè)nm的S盒能夠實(shí)現:F2n――>F2m的所有的代替函數。
輸入為

的nm S盒布爾函數的通式為

其中,系數ci∈{0,1},

通項記為



從式中可以看出,輸入數據后,pi(x)作為最小項就確定下來(lái)了,對輸出f(x)產(chǎn)生影響的只有最小項系數ci,通過(guò)改變ci就可以使S盒實(shí)現任意布爾函數的變換。

S盒的實(shí)現

S盒代替變換實(shí)際上就是一組布爾邏輯函數,S盒的輸入X就是布爾邏輯函數的自變量,S盒的輸出f(x)就是函數值。不同的加/解密算法所使用的S盒代替變換是不同的,為了S盒能夠支持不同的加/解密算法,必須能夠通過(guò)編程改變S盒模塊實(shí)現的函數關(guān)系。在電路規模允許的條件下,應該使S盒模塊實(shí)現的函數個(gè)數盡可能多,最好能夠實(shí)現輸入變量任意的布爾函數。下面給出一個(gè)n輸入m輸出的可編程S盒的設計方法,該S盒能夠實(shí)現n個(gè)輸入變量的任意布爾函數。

設x1,x2,…,xn是n個(gè)布爾變量,f1(x1,x2,…,xn)、f2(x1,x2,…,xn)、…、fm(x1,x2,…,xn)是x1,x2,…,xn的m個(gè)布爾函數,則f1(x1,x2,…,xn)、f2(x1,x2,…,xn)、…、fm(x1,x2,…,xn)都可以表示為下列最小項之和的形式:

其中,是n個(gè)變量的2n個(gè)最小項,kij∈{0,1},i=1,2,…,m,j=1,2,…2n。

對于任意的布爾函數fi(x1,x2,…,xn)(1≤i≤m),其2n個(gè)最小項(n項之積)是固定不變的,其表達式的結構(2n項之和)也是不變的,其函數關(guān)系的改變完全依賴(lài)于最小項系數(即控制編碼)ki=(ki1,ki2,…ki2n)(1≤i≤m)的改變。因此,在設計邏輯電路時(shí),應該把“n項之積”和“2n項之和”作為固定的電路結構,而把控制編碼所對應的電路結構作為可變結構。通過(guò)給ki=(ki1,ki2,…ki2n)(1≤i≤m)賦以不同的值,就可以實(shí)現不同的布爾邏輯函數。該子模塊的電路圖如圖1所示。

對每個(gè)fi(x1,x2,…,xn)(1≤i≤m),通過(guò)改變控制編碼能夠實(shí)現n個(gè)變量的全部(共22n個(gè))布爾邏輯函數,因此上述電路能夠實(shí)現任意的n輸入、m輸出的函數:f(x1,x2,…,xn)=(f1(x1,x2,…,xn),f2(x1,x2,…,xn),…fm(x1,x2,…,xn)),其個(gè)數為2m2n。

當取n=8、m=8,上述電路就能實(shí)現1組88的S盒代替變換。通過(guò)電路設計,這套電路資源可以兼容4組64 的S盒代替變換。

電路功能描述與VHDL實(shí)現

功能描述

本文用VHDL描述語(yǔ)言在ModelSim上實(shí)現了1組88的S盒,并在MAXPLUSII上通過(guò)了功能仿真。

S盒的外觀(guān)電路如圖2所示。X是輸入,OP是功能選擇輸入,K0、K1、K2、K3、K4、K5、K6、K7是控制編碼,Y是輸出。當OP=1時(shí),電路實(shí)現1組88的S盒;當OP=0時(shí),電路能同時(shí)實(shí)現4組64的S盒。通過(guò)改變控制編碼K1、K2……K7,S盒就可以實(shí)現88、64的任意布爾函數的變化,實(shí)現不同算法中要求不同的S盒功能。用表格說(shuō)明更能清晰地看出它的功能和實(shí)現方式,如表1所示。

VHDL實(shí)現方法

S盒電路是一個(gè)組合電路, 1組88的S盒有256個(gè)最小項,而1組64的S盒有64個(gè)最小項,因此1組88 S盒的資源可以實(shí)現4組64的S盒,這就是設計中的資源復用,即一套資源實(shí)現多種規格的S盒功能。上面給出了具體的電路實(shí)現單元,如圖3所示。

在電路實(shí)現中,共分為4組,1組有64個(gè)最小項,由64個(gè)相同的電路單元實(shí)現。op=1時(shí),實(shí)現1組88 S盒的最小項構造;OP=0時(shí),實(shí)現4組64 S盒的最小項構造。之后將最小項與靜態(tài)編碼相應位進(jìn)行與操作,再將結果按位進(jìn)行或操作,就得到輸出Y。

S盒功能仿真結果

S盒的功能仿真在MAXPLUSII上進(jìn)行,在仿真過(guò)程中,S盒的輸入數據通過(guò)激勵賦值,分別針對88規格和64規格給定數據。OP=1時(shí),預期要實(shí)現1組88的S盒變換;OP=0時(shí),預期要實(shí)現4組64的S盒變換,最終得到的仿真結果與預期結果相吻合。

S盒電路規模和延時(shí)估計

S盒的電路規模和延時(shí)依賴(lài)于實(shí)現工藝和生產(chǎn)廠(chǎng)家工藝庫,在本設計中,基于臺積電0.25um工藝庫對上述可編程S盒的電路規模和延時(shí)進(jìn)行了估計,規模約是3300門(mén),延時(shí)約是10.73ns。主頻在90MHz以下可以在單周期內完成一次S盒變換。

但由于8組256位的靜態(tài)編碼輸入在硬件實(shí)現上引腳太多,不切實(shí)際,上述S盒不能單獨以硬件實(shí)現,可作為一個(gè)IP使用在密碼算法可重組系統中。在系統設計中,S盒的輸入數據可以從存儲器中讀取,或承接另一個(gè)IP的輸出數據。由于此S盒可以兼容1組88規格的S盒和4組64規格的S盒,那么在密碼算法可重組系統中,所有用到這兩種規格S盒的算法只要這一個(gè)S盒就可以滿(mǎn)足,節省了整個(gè)系統的電路規模,但系統相應的數據處理速度會(huì )比較慢。此S盒可以進(jìn)一步改進(jìn),使其在原來(lái)基礎上再兼容16組44規格的S盒,同時(shí)也可以尋找更好的組合邏輯實(shí)現方法,把其速度提高,令主頻達到100MHz以上。

結語(yǔ)

通過(guò)實(shí)驗,本文用VHDL硬件描述語(yǔ)言實(shí)現了1組88的S盒,并兼容4組64的S盒。電路通過(guò)了功能仿真及電路性能評估,可以作為相應密碼算法可重組系統設計的通用IP來(lái)使用,實(shí)現了密碼算法設計的靈活性,增強了抗攻擊能力。



關(guān)鍵詞: 方法 實(shí)現 硬件 規格

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>