專利名稱:可重構(gòu)密碼協(xié)處理器電路的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種電路方案,具體地是實(shí)現(xiàn)可重構(gòu)密碼協(xié)處理器的電路設(shè)計(jì)。
背景技術(shù):
目前隨著網(wǎng)絡(luò)信息技術(shù)的發(fā)展和應(yīng)用,日常辦公和生活越來(lái)越依賴于網(wǎng)絡(luò)環(huán)境進(jìn)行通信和信息共享,因而網(wǎng)絡(luò)通訊過程中的信息準(zhǔn)確傳遞和進(jìn)行有效保密成為安全使用網(wǎng)絡(luò)的重要課題。
密碼芯片是構(gòu)建信息安全產(chǎn)品的關(guān)鍵核心部件,國(guó)內(nèi)外現(xiàn)在廣泛使用的密碼芯片都是針對(duì)特定密碼算法設(shè)計(jì)的專用器件。芯片的體系結(jié)構(gòu)是固定的和不易改變的,所應(yīng)用的密碼算法也是固定不變的。因而存在以下缺點(diǎn)和不足1、專用密碼芯片在使用過程中僅能實(shí)現(xiàn)其特定算法,用戶只能使用這種預(yù)先確定的密碼算法進(jìn)行加密/解密數(shù)據(jù)而不能隨意更換;2、專用密碼芯片自身適應(yīng)性差,無(wú)法滿足不同用戶或同一用戶對(duì)不同密碼算法的要求。若需更換算法,則必須更換芯片,這就造成設(shè)計(jì)成本的提高和延長(zhǎng)設(shè)計(jì)周期;3、任何密碼算法都有被攻破的可能,一旦密碼算法被攻破或由于其它原因造成密碼算法不能繼續(xù)使用,則需要升級(jí)原有的密碼算法,而專用密碼芯片則不可能實(shí)現(xiàn)升級(jí),因而沒有擴(kuò)展性、安全性較差。
如上所述,密碼芯片實(shí)現(xiàn)可重構(gòu)密碼算法是解決上述問題的關(guān)鍵因素。但是現(xiàn)有技術(shù)中未中在先公開披露,實(shí)現(xiàn)可重構(gòu)密碼芯片的電路設(shè)計(jì)也屬空白。
發(fā)明內(nèi)容
本發(fā)明所述的可重構(gòu)密碼協(xié)處理器電路,其目的即克服上述問題和不足而提供可重構(gòu)密碼協(xié)處理器的電路設(shè)計(jì),以實(shí)現(xiàn)一種可根據(jù)用戶需要隨機(jī)重構(gòu)密碼的協(xié)處理器,從而實(shí)現(xiàn)多種密碼算法間的切換,提高整體系統(tǒng)的適應(yīng)性和安全性。
現(xiàn)有專用密碼芯片的電路的邏輯結(jié)構(gòu)和功能是固定不變的,本發(fā)明所述的電路的邏輯結(jié)構(gòu)和功能可以改變,通過改變電路配置而可提供不同的密碼部件和數(shù)據(jù)通路,從而支持多種不同密碼算法。
所述的可重構(gòu)密碼協(xié)處理器電路,主要包括有存儲(chǔ)模塊、控制模塊和可重構(gòu)密碼處理單元。其中,存儲(chǔ)模塊,用于存儲(chǔ)密碼算法程序、種子密鑰和待加/解密數(shù)據(jù)等;控制模塊,用于控制程序的存儲(chǔ)和執(zhí)行;可重構(gòu)密碼處理單元,用于對(duì)數(shù)據(jù)進(jìn)行加/解密處理。
所述的可重構(gòu)密碼協(xié)處理器電路與外部設(shè)備接口主要包括有時(shí)鐘信號(hào)端,用于為可重構(gòu)密碼協(xié)處理器提供工作時(shí)鐘;復(fù)位信號(hào)端,用于對(duì)可重構(gòu)密碼協(xié)處理器的內(nèi)部寄存器賦初值;程序裝載使能信號(hào)端,用于將密碼程序中的指令逐條、按順序?qū)懭胫噶畲鎯?chǔ)器中;程序執(zhí)行使能信號(hào)端,用于啟動(dòng)程序的自動(dòng)執(zhí)行過程。當(dāng)該信號(hào)有效時(shí),可重構(gòu)密碼協(xié)處理器將自動(dòng)地從指令存儲(chǔ)器中逐條取出指令、加以譯碼并執(zhí)行,直至密碼程序運(yùn)行完畢;數(shù)據(jù)或密鑰裝載使能信號(hào)端,用于將待加/解密數(shù)據(jù)或密鑰寫入數(shù)據(jù)/密鑰緩沖存儲(chǔ)器中;結(jié)果傳輸使能信號(hào)端,用于將加/解密結(jié)果傳輸?shù)酵獠吭O(shè)備中;處理器狀態(tài)標(biāo)志信號(hào)端,有效時(shí)表明可重構(gòu)密碼協(xié)處理器已經(jīng)完成加/解密處理,可以向外輸出處理結(jié)果了;數(shù)據(jù)輸入總線,用于輸入指令、數(shù)據(jù)和密鑰;數(shù)據(jù)輸出總線,用于輸出加/解密結(jié)果;其它信號(hào)端,用于其它必要的控制功能或數(shù)據(jù)傳輸功能。
所述可重構(gòu)密碼協(xié)處理器電路的存儲(chǔ)模塊,主要包括有指令存儲(chǔ)器、數(shù)據(jù)/密鑰緩沖存儲(chǔ)器、以及專用或通用寄存器。其中,指令存儲(chǔ)器,用來(lái)保存加密或解密程序,它具有一個(gè)寫端口和一個(gè)讀端口。
寫端口,用于將密碼程序由外部寫入到可重構(gòu)密碼協(xié)處理器內(nèi)部的指令存儲(chǔ)器中。為了減少可重構(gòu)密碼協(xié)處理器的外部引腳數(shù),指令存儲(chǔ)器寫端口的數(shù)據(jù)寬度可以比指令長(zhǎng)度低。這樣可重構(gòu)密碼協(xié)處理器的一條指令可能需要分多次才能寫入到指令存儲(chǔ)器中。由于密碼程序裝載操作只發(fā)生在密碼算法初建或更新的時(shí)刻,而通常一個(gè)密碼算法能夠保持一個(gè)較長(zhǎng)的時(shí)間不變,在這段時(shí)間內(nèi)只需進(jìn)行一次密碼程序裝載操作,因此它所花費(fèi)的時(shí)間長(zhǎng)一點(diǎn)無(wú)關(guān)緊要。
讀端口,用于讀出保存在指令存儲(chǔ)器內(nèi)的指令,經(jīng)過譯碼后控制加/解密過程的執(zhí)行。通常將指令存儲(chǔ)器讀端口的數(shù)據(jù)寬度定義為指令長(zhǎng)度,這樣能夠保證每個(gè)時(shí)鐘周期讀取一條指令執(zhí)行,有效地加快了加/解密的處理速度。
數(shù)據(jù)/密鑰緩沖存儲(chǔ)器,用來(lái)保存種子密鑰和待加/解密的數(shù)據(jù),通??梢栽O(shè)計(jì)成先進(jìn)先出的隊(duì)列形式(FIFO)。其寫入端口接外部數(shù)據(jù)輸入總線,輸出端口接可重構(gòu)密碼處理單元。輸入端口和輸出端口的數(shù)據(jù)寬度可以不同。
為了進(jìn)一步節(jié)省可重構(gòu)密碼協(xié)處理器的外部引腳數(shù),數(shù)據(jù)/密鑰緩沖存儲(chǔ)器和指令存儲(chǔ)器可以共享同一條數(shù)據(jù)輸入總線。由于密碼程序裝載操作只發(fā)生在密碼算法初建或更新的時(shí)刻,而在其余時(shí)間內(nèi)只進(jìn)行數(shù)據(jù)裝載操作,因此共享數(shù)據(jù)輸入總線不會(huì)影響數(shù)據(jù)傳輸速率。
專用或通用寄存器,用于保存一些專門數(shù)據(jù)或中間計(jì)算結(jié)果。
所述可重構(gòu)密碼協(xié)處理器電路的控制模塊,主要包括指令/數(shù)據(jù)裝載控制邏輯模塊、程序執(zhí)行控制邏輯模塊和指令譯碼邏輯模塊。
指令/數(shù)據(jù)裝載控制邏輯模塊,用于將密碼程序中的指令或數(shù)據(jù)按順序裝載到指令存儲(chǔ)器中或數(shù)據(jù)/密鑰緩沖寄存器中。
程序執(zhí)行控制邏輯模塊,用于控制可重構(gòu)密碼協(xié)處理器自動(dòng)地、不斷地從指令存儲(chǔ)器中取出指令、進(jìn)行譯碼并加以執(zhí)行,直至所有指令執(zhí)行完畢。主處理器只需對(duì)可重構(gòu)密碼協(xié)處理器發(fā)出一個(gè)控制信號(hào),就可以啟動(dòng)指令自動(dòng)執(zhí)行過程,然后在整個(gè)過程中不再需要主處理器的干預(yù),這大大減少了主處理器的控制開銷和可重構(gòu)密碼協(xié)處理器訪問外部設(shè)備的開銷,提高了加/解密的處理速度。指令自動(dòng)執(zhí)行過程結(jié)束以后,可重構(gòu)密碼協(xié)處理器將給出標(biāo)志信號(hào),主處理器在收到標(biāo)志信號(hào)后,就可以驅(qū)動(dòng)可重構(gòu)密碼協(xié)處理器進(jìn)行新的操作了。
指令譯碼邏輯模塊,用于對(duì)指令進(jìn)行分析,確定指令中所包含的操作,并給出相應(yīng)的控制信號(hào),驅(qū)動(dòng)相應(yīng)的模塊完成所需的操作。
所述可重構(gòu)密碼協(xié)處理器電路的可重構(gòu)密碼處理單元,主要包括有若干個(gè)基本功能模塊、以及內(nèi)部互聯(lián)網(wǎng)絡(luò)模塊。其中,基本功能模塊,用于實(shí)現(xiàn)密碼算法所需要的基本操作。主要具有以下3種類型,即密碼運(yùn)算模塊、通用算術(shù)邏輯模塊、通用寄存器模塊。
內(nèi)部互聯(lián)網(wǎng)絡(luò)模塊,用于實(shí)現(xiàn)不同密碼運(yùn)算模塊之間的數(shù)據(jù)傳送。
為了提高可重構(gòu)密碼處理單元的靈活性,許多基本功能模塊的功能和模塊之間的數(shù)據(jù)傳輸路徑都是可配置的,即可以通過指令來(lái)靈活設(shè)置基本模塊的功能和模塊之間的數(shù)據(jù)傳輸路徑,從而可以通過編程來(lái)靈活地實(shí)現(xiàn)不同的密碼算法。
針對(duì)所述可重構(gòu)密碼處理單元,其內(nèi)含的密碼運(yùn)算模塊主要是能夠被不同的密碼算法頻繁使用的密碼運(yùn)算模塊。這主要是為了提高系統(tǒng)性能和處理速度。
通過對(duì)DES、IDEA、AES等50余種典型密碼算法的對(duì)比分析,下述密碼運(yùn)算在不同密碼算法中出現(xiàn)的頻率很高,如異或、移位、置換、S盒代替、模乘/加運(yùn)算、反饋移位運(yùn)算等。
所述的密碼運(yùn)算模塊,主要是指實(shí)現(xiàn)這些使用頻率高的密碼運(yùn)算的基本功能模塊。
所述可重構(gòu)密碼處理單元還設(shè)置有通用計(jì)算模塊,如算術(shù)邏輯運(yùn)算模塊等,以便處理那些特殊的、使用頻率不高的密碼運(yùn)算。
所述可重構(gòu)密碼處理單元還設(shè)置有通用寄存器,比如寄存器堆等,以實(shí)現(xiàn)保存工作子密鑰和中間計(jì)算結(jié)果。
所述可重構(gòu)密碼處理單元的同一類型的基本功能模塊可以設(shè)置有多個(gè),以實(shí)現(xiàn)在密碼算法中多個(gè)相同類型基本操作可以同時(shí)進(jìn)行,以提高加/解密的處理速度。
所述可重構(gòu)密碼處理單元的基本功能模塊,每一個(gè)基本功能模塊所實(shí)現(xiàn)的具體操作功能的個(gè)數(shù)應(yīng)盡可能的多,這樣可使每一個(gè)基本功能模塊能夠盡可能多的被不同的密碼算法重復(fù)使用。如下表所述是部分常用基本功能模塊的功能定義
為實(shí)現(xiàn)上述某一個(gè)基本功能模塊實(shí)現(xiàn)具體操作功能盡可能多,在所述的基本功能模塊中設(shè)置若干個(gè)可控節(jié)點(diǎn),通過指令界面對(duì)可控節(jié)點(diǎn)賦以不同的控制編碼,可實(shí)現(xiàn)不同的操作功能。
所述可控節(jié)點(diǎn)的控制編碼通常被保存在寄存器中,通過指令改寫寄存器的值,就可以改變電路所實(shí)現(xiàn)的具體功能??刂凭幋a通常被稱為配置文件,而保存配置文件的寄存器通常被稱為配置文件寄存器。
如上所述,基本功能模塊所實(shí)現(xiàn)的具體操作功能越多,則可重構(gòu)密碼協(xié)處理器的靈活性就越大、所支持的密碼算法就越多。但是,電路的靈活性和規(guī)模是密切相關(guān)的,靈活性越大則規(guī)模越大。在設(shè)計(jì)所述電路時(shí),還需在電路的靈活性和規(guī)模之間做一個(gè)折衷選擇。
所述可重構(gòu)電路模塊的規(guī)模,通過所需控制編碼的位數(shù)來(lái)衡量。因?yàn)樗杩刂凭幋a的位數(shù)越多,則意味電路中需要設(shè)置的可控節(jié)點(diǎn)數(shù)量越多,電路規(guī)模就越大。
下面對(duì)幾種典型的基本功能模塊的靈活性和所需控制編碼的規(guī)模進(jìn)行定量分析。
定理1,設(shè)一個(gè)n位的移位模塊能夠?qū)崿F(xiàn)循環(huán)左移、循環(huán)右移、邏輯左移、邏輯右移4種移位操作,而且移位的位數(shù)在1~n之間任意可變,則該移位模塊需要2+[log2n]位二進(jìn)制控制編碼,而且其能夠?qū)崿F(xiàn)的移位變換的個(gè)數(shù)為4n。推理過程如下,該移位模塊要實(shí)現(xiàn)的移位操作類型有4種不同的情況,移位位數(shù)有n種不同的情況,因此該移位模塊能夠?qū)崿F(xiàn)4n種不同的移位變換,就需要[log24n]=2+[log2n]位二進(jìn)制控制編碼。
如一個(gè)128位的移位模塊需要9位控制編碼,能夠?qū)崿F(xiàn)512個(gè)不同的移位變換。
定理2,設(shè)一個(gè)n×m置換模塊能夠?qū)崿F(xiàn)其輸入變量到輸出變量的所有的選擇變換,則該置換模塊需要m[log2n]位控制編碼,能夠?qū)崿F(xiàn)nm個(gè)不同的選擇變換。推理過程如下,當(dāng)且僅當(dāng),n×m置換模塊的每個(gè)輸出的選擇狀態(tài)都確定以后,其所實(shí)現(xiàn)的選擇變換才能確定。因?yàn)槊總€(gè)輸出可選擇n個(gè)輸入中的任何一個(gè),因此,每個(gè)輸出有n種不同的選擇狀態(tài),又因?yàn)楣灿衜個(gè)輸出,根據(jù)乘法法則,該置換模塊能夠?qū)崿F(xiàn)n×n×...×n=nm個(gè)不同的選擇變換。為表示這nm個(gè)不同的選擇變換,就需要[log2nm]=m[log2n]位二進(jìn)制控制編碼。
如一個(gè)64×64的置換模塊需要384位控制編碼,能夠?qū)崿F(xiàn)6464≈3.94×10115個(gè)不同的選擇變換。顯然,循環(huán)移位變換是一種特殊的選擇變換,因此,一個(gè)n×n置換模塊能夠?qū)崿F(xiàn)字長(zhǎng)小于或等于n的任意的循環(huán)移位變換。
定理3,設(shè)一個(gè)n×mS盒能夠?qū)崿F(xiàn)F2n→F2m的所有的代替函數(shù),則該S盒需要m2n位可控編碼,而且其能夠?qū)崿F(xiàn)的代替函數(shù)的個(gè)數(shù)為2的m*2n次方。推理過程如下當(dāng)且僅當(dāng),F(xiàn)2n中的所有向量元素所對(duì)應(yīng)的F2m中的向量元素確定以后,才能確定F2n→F2m的一個(gè)特定的代替函數(shù)。F2n中的每個(gè)向量元素可以選擇F2m中的任何一個(gè)向量元素作為它的映像,而F2m中有2m個(gè)向量元素,因此F2n中的每個(gè)向量元素有2m個(gè)不同的選擇方式確定其映像,又因?yàn)镕2n中有2n個(gè)向量元素,所以,根據(jù)組合數(shù)學(xué)中的乘法法則,共有2m×2m×...×2m(2n個(gè)2m相乘)=2的m*2n次方個(gè)F2n→F2m的代替函數(shù),為了表示這些不同的代替函數(shù),需要[log2(2的m*2n次方)]=m2n位二進(jìn)制控制編碼。
如一個(gè)8×8的S盒需要8×28=2048位控制編碼,能夠?qū)崿F(xiàn)2的8*28次方22048≈3.23*10616個(gè)不同的代替函數(shù)。由定理3可見,n×mS盒所需的控制編碼寬度m2n隨輸入個(gè)數(shù)n的增加而按指數(shù)級(jí)增長(zhǎng),其增長(zhǎng)速度是驚人的,例如6×4的S盒需要256位控制編碼,8×8的S盒需要2048位控制編碼,而9×9的S盒則需要4608位控制編碼,所以S盒的輸入和輸出數(shù)不能太大,否則,會(huì)造成規(guī)模和控制編碼的寬度太大而難以實(shí)現(xiàn)。
所述可重構(gòu)密碼處理單元的內(nèi)部互聯(lián)網(wǎng)絡(luò)模塊,是實(shí)現(xiàn)可重構(gòu)密碼處理單元的基本功能模塊之間的數(shù)據(jù)傳輸。保證互聯(lián)網(wǎng)絡(luò)模塊的連通性、數(shù)據(jù)傳輸效率、規(guī)模等特性,對(duì)可重構(gòu)密碼處理單元的靈活性和擴(kuò)展性、性能、規(guī)模具有至關(guān)重要的意義。
互聯(lián)網(wǎng)絡(luò)的連通性,在很大程度上決定了對(duì)于利用基本密碼運(yùn)算模塊構(gòu)建密碼算法所能夠提供的支持程度。這是因?yàn)?,可重?gòu)密碼處理單元所實(shí)現(xiàn)的任何一個(gè)密碼算法都是由基本功能模塊以某種組合方式和連接關(guān)系構(gòu)成的。如果一個(gè)互聯(lián)網(wǎng)絡(luò)是連通的,則可以以任意的組合方式、任意的連接關(guān)系使用基本功能模塊,從而使可重構(gòu)密碼處理單元實(shí)現(xiàn)最多的密碼算法。反之,如果一個(gè)互聯(lián)網(wǎng)絡(luò)模塊不是連通的,則基本功能模塊的某些組合方式和連接關(guān)系不能實(shí)現(xiàn),就無(wú)法使用這些組合方式和連接關(guān)系構(gòu)造算法,從而使得可重構(gòu)密碼處理單元所能夠適應(yīng)的算法減少。
所以,可重構(gòu)密碼處理單元的互聯(lián)網(wǎng)絡(luò)模塊的首要設(shè)計(jì)原則是滿足連通性。
所述網(wǎng)絡(luò)模塊具有3個(gè)特征參數(shù),即引腳數(shù)(pins)、線網(wǎng)數(shù)(nets)、以及多路開關(guān)數(shù)量。其中,引腳數(shù)(pins)和線網(wǎng)數(shù)(nets)越多,則連線所占的硅片的面積越大、線延遲越大、布局布線的難度也越大;開關(guān)數(shù)量越多,則連接網(wǎng)絡(luò)所占的規(guī)模越大、數(shù)據(jù)傳輸路徑的延時(shí)就越大、需控制的可控節(jié)點(diǎn)就越多。
數(shù)據(jù)傳輸效率和網(wǎng)絡(luò)規(guī)模是相互矛盾的,一般來(lái)說數(shù)據(jù)傳輸效率越高,則網(wǎng)絡(luò)規(guī)模越大,而網(wǎng)絡(luò)規(guī)模越小,則數(shù)據(jù)傳輸效率越低。
因此,在設(shè)計(jì)可重構(gòu)密碼處理單元的內(nèi)部互聯(lián)網(wǎng)絡(luò)時(shí)應(yīng)綜合考慮上述各個(gè)因素。首先滿足連通性,然后在滿足一定規(guī)模約束的條件下,盡可能達(dá)到最大的數(shù)據(jù)傳輸效率。
所述可重構(gòu)密碼處理單元的內(nèi)部互聯(lián)網(wǎng)絡(luò)模塊,具有4種結(jié)構(gòu)類型全互聯(lián)結(jié)構(gòu)、單總線結(jié)構(gòu)、多總線結(jié)構(gòu),局部總線與全局總線相結(jié)合的結(jié)構(gòu)。
所謂全互聯(lián)結(jié)構(gòu),是指互聯(lián)網(wǎng)絡(luò)中的任意兩個(gè)基本功能模塊都直接相連,即任一基本功能模塊的輸出直接連接到所有基本功能模塊的所有輸入端口,或者說任一基本功能模塊的任一輸入端口直接與所有的基本功能模塊的輸出相連。全互聯(lián)結(jié)構(gòu)的互聯(lián)網(wǎng)絡(luò),具有連通性和很高的數(shù)據(jù)傳輸效率,但其網(wǎng)絡(luò)規(guī)模隨基本功能模塊個(gè)數(shù)增長(zhǎng)的速度很快。因此在基本功能模塊個(gè)數(shù)較多的情況下不宜采用。
所謂單總線結(jié)構(gòu),是指互聯(lián)網(wǎng)絡(luò)中的任意基本功能模塊的輸出都連接到一條數(shù)據(jù)總線,而所有的基本功能模塊的輸入也都來(lái)自于這條數(shù)據(jù)總線。單總線結(jié)構(gòu)的互聯(lián)網(wǎng)絡(luò)具有連通性和很小的規(guī)模,但其數(shù)據(jù)傳輸效率也很低。
所謂多總線結(jié)構(gòu),是指互聯(lián)網(wǎng)絡(luò)中的所有基本功能模塊的輸出連接到多條獨(dú)立的數(shù)據(jù)總線上,而所有的基本功能模塊的輸入也來(lái)自于這些數(shù)據(jù)總線。多總線結(jié)構(gòu)的互聯(lián)網(wǎng)絡(luò)具有連通性、較高的數(shù)據(jù)傳輸效率和可以接受的網(wǎng)絡(luò)規(guī)模,因此是可重構(gòu)密碼處理單元互聯(lián)網(wǎng)絡(luò)的比較理想的結(jié)構(gòu)模式。
所謂局部總線與全局總線相結(jié)合的結(jié)構(gòu),是指在局部范圍內(nèi)設(shè)置局部總線,負(fù)責(zé)該局部范圍內(nèi)的所有的基本功能模塊之間的數(shù)據(jù)傳輸,而在全局范圍內(nèi)設(shè)置全局總線,負(fù)責(zé)不屬于同一局部范圍的基本功能模塊之間的數(shù)據(jù)傳輸。局部總線與全局總線相結(jié)合的結(jié)構(gòu)的互聯(lián)網(wǎng)絡(luò)具有連通性、較高的數(shù)據(jù)傳輸效率和較小的網(wǎng)絡(luò)規(guī)模,也是可重構(gòu)密碼處理單元互聯(lián)網(wǎng)絡(luò)的常用的結(jié)構(gòu)模式。
以上即是本發(fā)明所述的可重構(gòu)密碼協(xié)處理器電路的主要設(shè)計(jì)內(nèi)容。
如上所述,應(yīng)用本發(fā)明所述電路設(shè)計(jì)方案具有以下優(yōu)點(diǎn)和有益效果1、具有較大的靈活性,可重構(gòu)密碼協(xié)處理器能夠?qū)崿F(xiàn)多種不同的密碼算法,用戶可以很方便地隨時(shí)更換算法而不必更換芯片;2、具有相當(dāng)強(qiáng)的適應(yīng)性,可重構(gòu)密碼協(xié)處理器能夠?qū)崿F(xiàn)多種不同的密碼算法、不同的密碼用戶或者同一密碼用戶在不同的時(shí)間段內(nèi),可選擇使用不同的密碼算法;3、具有良好的擴(kuò)展性,一旦密碼算法被攻破或由于其它原因造成密碼算法不能繼續(xù)使用,可以基于可重構(gòu)密碼協(xié)處理器設(shè)計(jì)新的密碼算法,以取代原來(lái)的密碼算法;4、具有較高的安全性,可重構(gòu)密碼協(xié)處理器在芯片設(shè)計(jì)和生產(chǎn)過程中不含有特定的密碼算法,所實(shí)現(xiàn)的密碼算法是由密碼用戶在使用之前通過編程確定的,因此在設(shè)計(jì)和生產(chǎn)過程中不存在算法泄漏的隱患。另外,用戶也可以隨時(shí)更換算法,使密碼攻擊的難度增加,提高了密碼系統(tǒng)的安全性。
圖1是本發(fā)明所述的可重構(gòu)密碼協(xié)處理器電路的總體結(jié)構(gòu)示意圖。
圖2是所述的存儲(chǔ)模塊結(jié)構(gòu)示意圖。
圖3是所述的控制模塊結(jié)構(gòu)示意圖。
圖4是所述的可重構(gòu)密碼處理單元結(jié)構(gòu)示意圖。
圖5是所述的實(shí)現(xiàn)不同邏輯函數(shù)的可重構(gòu)邏輯電路實(shí)例示意圖。
圖6是所述的實(shí)現(xiàn)不同連接關(guān)系的可重構(gòu)邏輯電路實(shí)例示意圖。
圖7是所述的全互聯(lián)結(jié)構(gòu)的互聯(lián)網(wǎng)絡(luò)模塊示意圖。
圖8是所述的單總線結(jié)構(gòu)的互聯(lián)網(wǎng)絡(luò)模塊示意圖。
圖9是所述的多總線結(jié)構(gòu)的互聯(lián)網(wǎng)絡(luò)模塊示意圖。
圖10是所述的局部總線與全局總線相結(jié)合的互聯(lián)網(wǎng)絡(luò)模塊示意圖。
具體實(shí)施例方式
如圖1-圖4所示,本發(fā)明所述的可重構(gòu)密碼協(xié)處理器電路,主要包括有存儲(chǔ)模塊、控制模塊和可重構(gòu)密碼處理單元。其中,所述的存儲(chǔ)模塊,包括指令存儲(chǔ)器、數(shù)據(jù)/密鑰緩沖寄存器和指令條數(shù)寄存器。具體地,指令存儲(chǔ)器的存儲(chǔ)容量為256個(gè)208位的指令字,即6.5K字節(jié)。指令存儲(chǔ)器寫端口的數(shù)據(jù)寬度為8位,讀端口的數(shù)據(jù)寬度定為208位。
數(shù)據(jù)/密鑰緩沖寄存器是一個(gè)128位的寄存器,其輸入端口的數(shù)據(jù)寬度為8位,輸出端口的數(shù)據(jù)寬度為64位。
指令條數(shù)寄存器是一個(gè)12位的寄存器,用來(lái)保存密碼程序中所含的指令的條數(shù),該數(shù)據(jù)參與控制程序裝載操作的結(jié)束,其輸入端口的數(shù)據(jù)寬度為8位,輸出端口的數(shù)據(jù)寬度為12位。
指令存儲(chǔ)器、數(shù)據(jù)/密鑰緩沖寄存器和指令條數(shù)寄存器共享同一條數(shù)據(jù)輸入總線,數(shù)據(jù)輸入總線寬度為8位。
所述的控制模塊,包括指令裝載控制邏輯模塊、程序執(zhí)行控制邏輯模塊和指令譯碼邏輯模塊。具體地,指令裝載控制邏輯模塊,用于產(chǎn)生指令存儲(chǔ)地址,以便將指令按順序裝載到指令存儲(chǔ)器中。
程序執(zhí)行控制邏輯模塊,用于產(chǎn)生指令的讀使能信號(hào)和地址,以控制可重構(gòu)密碼協(xié)處理器自動(dòng)地、不斷地從指令存儲(chǔ)器中取出指令。
指令譯碼邏輯模塊,用于對(duì)指令進(jìn)行分析,確定指令中所包含的操作,并給出相應(yīng)的控制信號(hào),驅(qū)動(dòng)相應(yīng)的模塊完成所需的操作,指令長(zhǎng)度為208位。
所述可重構(gòu)密碼處理單元的基本功能模塊,其名稱、功能和數(shù)量如下表所示
最好迅速冷卻至木瓜酒的溫度高于其冰點(diǎn)1.0℃,冷處理時(shí)間在-4℃,冷處理6天,趁冷過濾。
七、灌裝檢測(cè)結(jié)果略表1木瓜酒微量元素含量
表2木瓜酒中的氨基酸含量(mg/100ml)
該可重構(gòu)密碼協(xié)處理器的結(jié)果輸出總線的數(shù)據(jù)寬度為8位。
權(quán)利要求
1.一種可重構(gòu)密碼協(xié)處理器電路,其特征在于所述電路主要包括有存儲(chǔ)模塊、控制模塊和可重構(gòu)密碼處理單元,所述電路與外部設(shè)備接口主要包括有時(shí)鐘信號(hào)端、復(fù)位信號(hào)端、程序裝載使能信號(hào)端、程序執(zhí)行使能信號(hào)端、數(shù)據(jù)或密鑰裝載使能信號(hào)端、結(jié)果傳輸使能信號(hào)端、處理器狀態(tài)標(biāo)志信號(hào)端、數(shù)據(jù)輸入總線和數(shù)據(jù)輸出總線。
2.根據(jù)權(quán)利要求1所述的可重構(gòu)密碼協(xié)處理器電路,其特征在于所述的存儲(chǔ)模塊主要包括有指令存儲(chǔ)器、數(shù)據(jù)/密鑰緩沖存儲(chǔ)器、以及專用或通用寄存器。
3.根據(jù)權(quán)利要求2所述的可重構(gòu)密碼協(xié)處理器電路,其特征在于所述的指令存儲(chǔ)器具有一個(gè)寫端口和一個(gè)讀端口。
4.根據(jù)權(quán)利要求2所述的可重構(gòu)密碼協(xié)處理器電路,其特征在于所述的數(shù)據(jù)/密鑰緩沖存儲(chǔ)器,其結(jié)構(gòu)是先進(jìn)先出的隊(duì)列形式(FIFO);而且所述的數(shù)據(jù)/密鑰緩沖存儲(chǔ)器和指令存儲(chǔ)器共享同一條數(shù)據(jù)輸入總線。
5.根據(jù)權(quán)利要求1或4所述的可重構(gòu)密碼協(xié)處理器電路,其特征在于所述的控制模塊,主要包括指令/數(shù)據(jù)裝載控制邏輯模塊、程序執(zhí)行控制邏輯模塊和指令譯碼邏輯模塊。
6.根據(jù)權(quán)利要求1或4所述的可重構(gòu)密碼協(xié)處理器電路,其特征在于所述的可重構(gòu)密碼處理單元,主要包括有若干個(gè)基本功能模塊、以及內(nèi)部互聯(lián)網(wǎng)絡(luò)模塊。
7.根據(jù)權(quán)利要求6所述的可重構(gòu)密碼協(xié)處理器電路,其特征在于所述的基本功能模塊類型有密碼運(yùn)算模塊、通用算術(shù)邏輯模塊和通用寄存器模塊。
8.根據(jù)權(quán)利要求7所述的可重構(gòu)密碼協(xié)處理器電路,其特征在于基本功能模塊中設(shè)置若干個(gè)可控節(jié)點(diǎn),所述可控節(jié)點(diǎn)的控制編碼(即配置文件)被保存在配置文件寄存器中,可用指令改寫配置文件寄存器的值。
9.根據(jù)權(quán)利要求6所述的可重構(gòu)密碼協(xié)處理器電路,其特征在于所述的內(nèi)部互聯(lián)網(wǎng)絡(luò)模塊的結(jié)構(gòu)類型包括全互聯(lián)結(jié)構(gòu)、單總線結(jié)構(gòu)、多總線結(jié)構(gòu)、局部總線與全局總線相結(jié)合的結(jié)構(gòu)。
全文摘要
本發(fā)明所述的可重構(gòu)密碼協(xié)處理器電路,可以實(shí)現(xiàn)根據(jù)用戶需要隨機(jī)重構(gòu)密碼的協(xié)處理器,從而實(shí)現(xiàn)多種密碼算法間的切換,提高整體系統(tǒng)的適應(yīng)性和安全性。所述的可重構(gòu)密碼協(xié)處理器電路,主要包括有存儲(chǔ)模塊、控制模塊和可重構(gòu)密碼處理單元。所述的可重構(gòu)密碼協(xié)處理器電路,具有較大的靈活性,可重構(gòu)密碼協(xié)處理器能夠?qū)崿F(xiàn)多種不同的密碼算法;具有相當(dāng)強(qiáng)的適應(yīng)性,可重構(gòu)密碼協(xié)處理器能夠?qū)崿F(xiàn)多種不同的密碼算法、不同的密碼用戶或者同一密碼用戶在不同的時(shí)間段內(nèi),選擇使用不同的密碼算法;具有良好的擴(kuò)展性,一旦密碼算法被攻破或由于其它原因造成密碼算法不能繼續(xù)使用,可以基于可重構(gòu)密碼協(xié)處理器設(shè)計(jì)新的密碼算法,以取代原來(lái)的密碼算法;具有較高的安全性。
文檔編號(hào)H04L9/16GK1635731SQ20031011456
公開日2005年7月6日 申請(qǐng)日期2003年12月27日 優(yōu)先權(quán)日2003年12月27日
發(fā)明者曲英杰, 劉衛(wèi)東, 戰(zhàn)嘉瑾, 劉志恒, 何云鵬, 丁勇, 張世友 申請(qǐng)人:海信集團(tuán)有限公司