專利名稱:一種基于ram共享技術(shù)的可重構(gòu)s盒電路結(jié)構(gòu)的制作方法
技術(shù)領(lǐng)域:
本 發(fā)明涉及信息安全技術(shù)和集成電路技術(shù)領(lǐng)域,具體地,涉及一種基于RAM共享技術(shù)的可重構(gòu)S盒電路結(jié)構(gòu),用于實(shí)現(xiàn)分組密碼算法中的S盒替換操作。
背景技術(shù):
隨著現(xiàn)代社會(huì)的日益信息化、數(shù)字化與網(wǎng)絡(luò)化,人們對(duì)信息安全技術(shù)的需求越來越廣泛和深入。信息安全技術(shù)的應(yīng)用領(lǐng)域,已從傳統(tǒng)的軍事、政治部門,逐步擴(kuò)展到社會(huì)經(jīng)濟(jì)生活的各個(gè)角落;信息安全產(chǎn)品成為整個(gè)社會(huì)良性運(yùn)轉(zhuǎn)的重要保障,保護(hù)信息的安全也已經(jīng)成為科學(xué)技術(shù)領(lǐng)域的重要課題。信息安全體系中,密碼算法是信息安全的基礎(chǔ)和核心技術(shù),在密碼算法中分組密碼占有重要的地位,并廣泛的被應(yīng)用于各個(gè)領(lǐng)域。通過對(duì)大量的分組密碼算法進(jìn)行分析和研究,發(fā)現(xiàn)分組密碼算法具有一個(gè)顯著的特征很多不同的分組密碼算法具有相同或相近的基本操作,對(duì)DES、AES、RC6等27種典型的分組密碼算法的基本操作及其使用頻度做了統(tǒng)計(jì),發(fā)現(xiàn)S盒變換的使用頻度達(dá)到50%。S 盒是許多分組密碼算法的核心組成部分,提供分組密碼算法所必需的混淆作用。在不同的分組密碼算法中,S盒的內(nèi)部結(jié)構(gòu)和構(gòu)建方式也有所不同。S盒是許多分組密碼算法中的唯一非線性模塊,因此它的密碼強(qiáng)度對(duì)整個(gè)分組密碼算法的安全強(qiáng)度產(chǎn)生直接影響?,F(xiàn)有技術(shù)中的密碼處理器中,S盒的實(shí)現(xiàn)方式主要有2種(1)基于邏輯電路的實(shí)現(xiàn)方式,即用硬件邏輯電路來實(shí)現(xiàn)S盒操作所包含的布爾函數(shù),其占用資源較少,但運(yùn)算速度較慢,而對(duì)于多種不同類型的S盒操作來說,不具可配置性,不能并行處理數(shù)據(jù);(2)基于查找表(Look Up Table, LUT)的實(shí)現(xiàn)方式,將S盒替換表存儲(chǔ)在存儲(chǔ)器(如RAM或ROM)中, S盒的輸入作為存儲(chǔ)器的地址輸入,對(duì)應(yīng)的地址空間中存放的數(shù)據(jù)就是S盒的輸出值,這種方法占用較多存儲(chǔ)單元,電路實(shí)現(xiàn)面積大,但運(yùn)算速度快,并且具有可配置性,能實(shí)現(xiàn)多種分組密碼運(yùn)算的S盒操作,并且當(dāng)處理器不工作時(shí),存儲(chǔ)器不帶有任何算法信息,使得處理器具有更好的安全性。另一方面,目前許多的密碼處理器中采用流水線技術(shù),可以大幅提升處理器的運(yùn)行速度。但由于通用S盒模塊不具備并行處理數(shù)據(jù)的能力,所以在η級(jí)流水線結(jié)構(gòu)的密碼處理器中,每1級(jí)的運(yùn)算模塊中都需要包含一個(gè)通用S盒和其他相應(yīng)運(yùn)算單元,此時(shí)處理器速度增加η倍,同時(shí)面積也增加η倍,處理器的效率并沒有得到改善。綜上所述,現(xiàn)有技術(shù)中,基于邏輯電路實(shí)現(xiàn)的S盒存在運(yùn)算速度慢,不具有可配置性的缺陷;基于查找表實(shí)現(xiàn)的S盒存在占用存儲(chǔ)單元多,電路實(shí)現(xiàn)面積大,不具備并行處理數(shù)據(jù)能力的缺陷。
發(fā)明內(nèi)容
本發(fā)明的目的在于,針對(duì)上述問題,提出一種基于RAM共享技術(shù)的可重構(gòu)S盒電路結(jié)構(gòu),以實(shí)現(xiàn)運(yùn)算速度快,配置靈活,可并行處理數(shù)據(jù),占用存儲(chǔ)單元少,電路實(shí)現(xiàn)面積小的優(yōu)點(diǎn)。
為實(shí)現(xiàn)上述目的,本發(fā)明采用的技術(shù)方案如下一種基于RAM共享技術(shù)的可重構(gòu)S盒電 路結(jié)構(gòu),包括配置單元和替換單元,其特征是所述替換單元包括η個(gè)替換基元和一塊RAM,各個(gè)替換基元并行工作共享一個(gè)RAM ;本S盒的工作模式包括配置模式和運(yùn)算模式兩種在配置模式下,配置單元首先接收輸入的控制信號(hào),存儲(chǔ)配置信息,然后根據(jù)配置信息對(duì)RAM進(jìn)行初始化配置;替換單元不工作,RAM在配置單元的控制下進(jìn)行初始化;在運(yùn)算模式下,根據(jù)存儲(chǔ)的配置信息控制替換單元的運(yùn)算狀態(tài);替換單元接收輸入數(shù)據(jù),完成S盒的替換操作,輸出處理后數(shù)據(jù);所述替換單元采用基于查找表的方法實(shí)現(xiàn)S盒;替換單元有對(duì)應(yīng)η組輸入數(shù)據(jù),分別對(duì)應(yīng)η個(gè)替換基元;每個(gè)替換基元和RAM組合都實(shí)現(xiàn)S盒的替換功能,并行實(shí)現(xiàn)η個(gè)S盒的流水線操作;RAM包括m個(gè)相同的單元RAMm ;每個(gè)替換基元包括輸入數(shù)據(jù)控制電路和輸出數(shù)據(jù)選擇電路;輸入信號(hào)DATA_INm輸入給輸入數(shù)據(jù)控制電路,輸入信號(hào)處理電路處理得到內(nèi)部信號(hào)Ainm,Ainm輸出給RAM作為RAM的輸入地址信號(hào),分別對(duì)應(yīng)輸出給相應(yīng)的單元RAMm, 由單元RAMm把相應(yīng)的輸出數(shù)據(jù)信號(hào)Aoutm返回輸入到替換基元中,輸出數(shù)據(jù)選擇電路對(duì)返回的數(shù)據(jù)信號(hào)進(jìn)行處理,輸出最終的數(shù)據(jù)信號(hào),即完成S盒替換的數(shù)據(jù)信號(hào)。由運(yùn)算狀態(tài)控制信號(hào)M0DE_IN控制替換基元的運(yùn)算狀態(tài),由配置狀態(tài)控制信號(hào) C0NFIG_IN對(duì)替換基元的配置狀態(tài)進(jìn)行控制,M0DE_IN和C0NFIG_IN來控制由輸入數(shù)據(jù)控制電路以及輸出數(shù)據(jù)選擇電路的工作狀態(tài)。所述的替換單元,由16個(gè)替換基元和一塊RAM構(gòu)成,用于接收輸入數(shù)據(jù)信號(hào),完成 S盒的替換操作,輸出處理后數(shù)據(jù)信號(hào)。替換單元采用RAM共享技術(shù),使16個(gè)替換基元共享一個(gè)RAM,能夠并行工作,實(shí)現(xiàn)16個(gè)S盒的流水線操作。所述的替換基元包括輸入數(shù)據(jù)控制電路和輸出數(shù)據(jù)選擇電路構(gòu)成。替換基元有三種運(yùn)算狀態(tài)(1)4X4替換(2)6X4替換(3)8X8替換。替換基元和RAM組合使用可以實(shí)現(xiàn)S盒的功能,配置單元中存儲(chǔ)的配置信息控制替換基元的工作狀態(tài),輸入數(shù)據(jù)控制電路對(duì)輸入替換基元的數(shù)據(jù)信號(hào)做相應(yīng)的處理,輸出到RAM,作為RAM的輸入地址信號(hào)。RAM輸出對(duì)應(yīng)地址的數(shù)據(jù)信號(hào)返回到替換基元,輸出數(shù)據(jù)選擇電路對(duì)返回的數(shù)據(jù)信號(hào)進(jìn)行處理,輸出最終的數(shù)據(jù)信號(hào),即完成S盒替換的數(shù)據(jù)信號(hào)。在配置模式下,替換單元不工作,RAM在配置單元的控制下進(jìn)行初始化。在運(yùn)算模式下,替換單元接收輸入數(shù)據(jù)信號(hào),完成S盒的替換操作,輸出處理后數(shù)據(jù)信號(hào)。替換單元采用基于查找表的方法實(shí)現(xiàn)S盒。根據(jù)配置的不同,能夠?qū)崿F(xiàn)多種分組密碼算法中的S盒替換操作。所述的RAM由8個(gè)大小為64X4位的RAMO,RAMI,......,RAM7組成。輸入為6位
的地址信號(hào),輸出為4位的數(shù)據(jù)信號(hào)。RAM能同時(shí)被16個(gè)替換基元驅(qū)動(dòng),實(shí)現(xiàn)16個(gè)替換基元的并行工作。本發(fā)明的原理說明如下S盒本質(zhì)上可以被看做映射S(X) = (f\(X),fffl(X))巧“―F2m,n為S盒輸入X的位數(shù),m為S盒輸出的S(X)位數(shù),^Xhf2(X),. ..,fm(X)為輸出S(X)的第1,2,… m位。f\,f2,...,fm為輸入X對(duì)應(yīng)的輸出S⑴各個(gè)位的映射函數(shù),通常簡(jiǎn)稱S是一個(gè)nXm的S盒。S盒通常采用查找表的方式實(shí)現(xiàn),表的存儲(chǔ)量為mX2n位。本發(fā)明的S盒在4X4 替換、6X4替換、8X8替換三種運(yùn)算狀態(tài)中,最多需要8X28位的RAM,所以本發(fā)明中采用由 8個(gè)64X4位的RAMO,RAMI, ......,RAM7組成的總大小為8X28位的RAM。本發(fā)明的有益效果是本發(fā)明具有運(yùn)算速度快,配置靈活,可并行處理數(shù)據(jù),占用存儲(chǔ)單元少,電路實(shí)現(xiàn)面積小的優(yōu)點(diǎn)。
圖1為本發(fā)明的基于RAM共享技術(shù)的可重構(gòu)S盒電路結(jié)構(gòu)示意圖;圖2為本發(fā)明的基于RAM共享技術(shù)的可重構(gòu)S盒電路結(jié)構(gòu)的替換單元的結(jié)構(gòu)示意圖;圖3為本發(fā)明的基于RAM共享技術(shù)的可重構(gòu)S盒電路結(jié)構(gòu)的替換單元的替換基元的結(jié)構(gòu)示意圖;圖4 (a)為本發(fā)明的基于RAM共享技術(shù)的可重構(gòu)S盒電路結(jié)構(gòu)在流水線結(jié)構(gòu)的DES 密碼處理器中的使用說明圖;圖4(b)為流水線結(jié)構(gòu)的DES密碼處理器中輪運(yùn)算的結(jié)構(gòu)圖。表1為本發(fā)明的基于RAM共享技術(shù)的可重構(gòu)S盒電路結(jié)構(gòu)的替換單元的替換基元
的信號(hào)定義
權(quán)利要求
1.一種基于RAM共享技術(shù)的可重構(gòu)S盒電路結(jié)構(gòu),包括配置單元和替換單元,其特征是所述替換單元包括η個(gè)替換基元和一塊RAM,各個(gè)替換基元并行工作共享一個(gè)RAM ;本S盒的工作模式包括配置模式和運(yùn)算模式兩種在配置模式下,配置單元首先接收輸入的控制信號(hào),存儲(chǔ)配置信息,然后根據(jù)配置信息對(duì)RAM進(jìn)行初始化配置;替換單元不工作,RAM在配置單元的控制下進(jìn)行初始化;在運(yùn)算模式下,根據(jù)存儲(chǔ)的配置信息控制替換單元的運(yùn)算狀態(tài);替換單元接收輸入數(shù)據(jù),完成S盒的替換操作,輸出處理后數(shù)據(jù);所述替換單元采用基于查找表的方法實(shí)現(xiàn)S盒;替換單元有對(duì)應(yīng)η組輸入數(shù)據(jù),分別對(duì)應(yīng)η個(gè)替換基元;每個(gè)替換基元和RAM組合都實(shí)現(xiàn)S盒的替換功能,并行實(shí)現(xiàn)η個(gè)S盒的流水線操作;RAM包括m個(gè)相同的單元RAMm ;每個(gè)替換基元包括輸入數(shù)據(jù)控制電路和輸出數(shù)據(jù)選擇電路;輸入信號(hào)DATA_INm輸入給輸入數(shù)據(jù)控制電路,輸入信號(hào)處理電路處理得到內(nèi)部信號(hào) Ainm,Ainm輸出給RAM作為RAM的輸入地址信號(hào),分別對(duì)應(yīng)輸出給相應(yīng)的單元RAMm,由單元 RAMm把相應(yīng)的輸出數(shù)據(jù)信號(hào)Aoutm返回輸入到替換基元中,輸出數(shù)據(jù)選擇電路對(duì)返回的數(shù)據(jù)信號(hào)進(jìn)行處理,輸出最終的數(shù)據(jù)信號(hào),即完成S盒替換的數(shù)據(jù)信號(hào)。由運(yùn)算狀態(tài)控制信號(hào)M0DE_IN控制替換基元的運(yùn)算狀態(tài),由配置狀態(tài)控制信號(hào) C0NFIG_IN對(duì)替換基元的配置狀態(tài)進(jìn)行控制,M0DE_IN和C0NFIG_IN來控制由輸入數(shù)據(jù)控制電路以及輸出數(shù)據(jù)選擇電路的工作狀態(tài)。
2.根據(jù)權(quán)利要求1所述的S盒電路結(jié)構(gòu),其特征是所述替換單元由16個(gè)替換基元和一塊RAM構(gòu)成;所述RAM由8個(gè)大小為64X4位的單元RAM單元組成;RAM能同時(shí)被16個(gè)替換基元驅(qū)動(dòng),實(shí)現(xiàn)16個(gè)替換基元的并行工作。
3.根據(jù)權(quán)利要求2所述的S盒電路結(jié)構(gòu),其特征是替換基元在配置模式下不工作,在運(yùn)算模式下有三種運(yùn)算狀態(tài)4X4替換、6X4替換、8X8替換;表1為替換單元的替換基元的信號(hào)定義
全文摘要
本發(fā)明公開了一種基于RAM共享技術(shù)的可重構(gòu)S盒電路結(jié)構(gòu),可以實(shí)現(xiàn)多種分組密碼算法中的S盒替換操作,適用于各種分組密碼處理器。該S盒電路結(jié)構(gòu)由配置單元電路和替換單元電路構(gòu)成。其中配置單元,用于接收輸入的控制信號(hào),進(jìn)行存儲(chǔ),配置并控制替換單元的運(yùn)算狀態(tài);所述替換單元包括n個(gè)替換基元和一塊RAM,各個(gè)替換基元并行工作共享一個(gè)RAM;本發(fā)明具有運(yùn)算速度快,配置靈活,可并行處理數(shù)據(jù),占用存儲(chǔ)單元少,電路實(shí)現(xiàn)面積小的優(yōu)點(diǎn)。
文檔編號(hào)H04L9/06GK102347833SQ201110284750
公開日2012年2月8日 申請(qǐng)日期2011年9月22日 優(yōu)先權(quán)日2011年9月22日
發(fā)明者余云帆, 單偉偉, 時(shí)龍興, 朱佳梁, 田朝軒, 陸寅超 申請(qǐng)人:東南大學(xué)