国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      基于Ⅱ型最優(yōu)正規(guī)基的橢圓曲線密碼協(xié)處理器的制作方法

      文檔序號(hào):7700201閱讀:179來(lái)源:國(guó)知局
      專(zhuān)利名稱(chēng):基于Ⅱ型最優(yōu)正規(guī)基的橢圓曲線密碼協(xié)處理器的制作方法
      技術(shù)領(lǐng)域
      本發(fā)明涉及通信技術(shù)領(lǐng)域,更進(jìn)一步涉及信息安全領(lǐng)域中一種基于II型最優(yōu)正規(guī)基的橢圓曲線密碼協(xié)處理器。本發(fā)明的橢圓曲線密碼協(xié)處理器可用于在嵌入式設(shè)備中提供橢圓曲線數(shù)字簽名生成/驗(yàn)證、橢圓加密方案加/解密、橢圓曲線密鑰對(duì)生成、橢圓曲線密鑰對(duì)交換和AES-U8加解密安全服務(wù)。
      背景技術(shù)
      目前,橢圓曲線密碼協(xié)處理器有兩類(lèi),一類(lèi)是由協(xié)處理器完成橢圓曲線算術(shù)運(yùn)算, 主處理器完成橢圓曲線密碼協(xié)議的其它運(yùn)算;另一類(lèi)是由協(xié)處理器完成橢圓曲線密碼協(xié)議的所有運(yùn)算,主處理器只負(fù)責(zé)對(duì)協(xié)處理器的數(shù)據(jù)讀寫(xiě)操作。上海迪申電子科技有限責(zé)任公司提出的專(zhuān)利申請(qǐng)“一種新型橢圓曲線密碼協(xié)處理器”(專(zhuān)利申請(qǐng)?zhí)?200510025913.x ;公開(kāi)號(hào)=CN 1700637A),屬于第一類(lèi)協(xié)處理器,即由協(xié)處理器只完成橢圓曲線算術(shù)運(yùn)算,主處理器完成橢圓曲線密碼協(xié)議的其它運(yùn)算。該協(xié)處理器存在的不足是,主處理器和協(xié)處理器需要進(jìn)行多次數(shù)據(jù)交換,從而使實(shí)現(xiàn)的橢圓曲線密碼系統(tǒng)的運(yùn)算速度下降。清華大學(xué)研制的高速橢圓曲線密碼協(xié)處理器THECC/233-100,是采用第二類(lèi)橢圓曲線密碼協(xié)處理器,即由協(xié)處理器完成橢圓曲線密碼協(xié)議的所有運(yùn)算,主處理器只負(fù)責(zé)對(duì)協(xié)處理器的數(shù)據(jù)讀寫(xiě)操作。該協(xié)處理器只能完成橢圓曲線數(shù)字簽名與驗(yàn)證功能,而面對(duì)嵌入式設(shè)備要求協(xié)處理器能夠提供更為豐富的安全功能時(shí),比如數(shù)字簽名、公鑰加密、密鑰對(duì)交換、密鑰對(duì)生成和對(duì)稱(chēng)加密,這種協(xié)處理器顯然不能滿足這種需求。橢圓曲線密碼協(xié)處理器的運(yùn)算性能不僅與其設(shè)計(jì)結(jié)構(gòu)有關(guān),還取決于橢圓曲線點(diǎn)乘運(yùn)算的算法以及橢圓曲線點(diǎn)乘運(yùn)算所基于的有限域。目前,在點(diǎn)乘算法中,Montgoment點(diǎn)乘算法較其它幾種點(diǎn)乘算法的運(yùn)算速度要快,在有限域中,Π型最優(yōu)正規(guī)基域運(yùn)算的速度要優(yōu)于素?cái)?shù)域運(yùn)算的速度和二進(jìn)制多項(xiàng)式基域運(yùn)算的速度。北京天一集成科技有限公司提供的一款型號(hào)為SSX32-A的高速橢圓曲線密碼算法芯片,該芯片雖然能夠提供豐富的安全功能服務(wù),但是其點(diǎn)乘運(yùn)算所依賴(lài)的有限域運(yùn)算采用了素?cái)?shù)域,使得其運(yùn)算速度下降。

      發(fā)明內(nèi)容
      本發(fā)明的目的在于克服上述現(xiàn)有技術(shù)的不足,給出一種基于II型最優(yōu)正規(guī)基的橢圓曲線密碼協(xié)處理器。該橢圓曲線密碼協(xié)處理器可以完成橢圓曲線密碼協(xié)議的所有運(yùn)算, 提供橢圓曲線數(shù)字簽名/驗(yàn)證、橢圓曲線公鑰加/解密、橢圓曲線密鑰對(duì)生成、橢圓曲線密鑰對(duì)交換和AES-U8加解密安全服務(wù),滿足嵌入式設(shè)備各種安全需求。本發(fā)明包括七個(gè)部分,分別是對(duì)外接口電路、存儲(chǔ)單元、多路數(shù)據(jù)選擇器組、外部指令譯碼器、內(nèi)部指令譯碼器、控制單元和運(yùn)算單元。其中所述的對(duì)外接口電路用于協(xié)處理器和主處理器之間的數(shù)據(jù)傳輸;其數(shù)據(jù)總線、地址總線和讀寫(xiě)信號(hào)線與多路數(shù)據(jù)通路選擇器組相連接。所述的存儲(chǔ)單元由寄存器組和RAM組成,寄存器組用來(lái)存儲(chǔ)外部指令、內(nèi)部指令、 橢圓曲線參數(shù)和運(yùn)算單元的運(yùn)算結(jié)果,RAM用來(lái)存儲(chǔ)AES-U8加/解密數(shù)據(jù)和橢圓曲線數(shù)字簽名消息;存儲(chǔ)單元與多路數(shù)據(jù)選擇器組、外部指令譯碼器、內(nèi)部指令譯碼器和運(yùn)算單元相連接。所述的多路數(shù)據(jù)選擇器組在外部指令譯碼器的輸出信號(hào)的控制下,選通外部指令對(duì)應(yīng)的密碼功能運(yùn)算所需的數(shù)據(jù)通路,在接口電路的地址總線的控制下,為接口電路選通讀寫(xiě)RAM的數(shù)據(jù)通路;多路數(shù)據(jù)選擇器組與接口電路、存儲(chǔ)單元、外部指令譯碼器和運(yùn)算單元相連接。所述的外部指令譯碼器用來(lái)對(duì)外部指令進(jìn)行譯碼,控制協(xié)處理器執(zhí)行外部指令所對(duì)應(yīng)的密碼功能運(yùn)算,外部指令譯碼器的輸出信號(hào)用來(lái)控制多路數(shù)據(jù)選擇器組和控制單元;外部指令譯碼器與控制單元、寄存器組的外部指令寄存器和多路數(shù)據(jù)通路選擇器組相連接。所述的內(nèi)部指令譯碼器用于對(duì)內(nèi)部指令進(jìn)行譯碼,內(nèi)部指令譯碼器的輸出信號(hào)控制寄存器組輸出數(shù)據(jù)給運(yùn)算單元、讀取運(yùn)算單元的運(yùn)算結(jié)果、修改外部指令寄存器的值和輸出協(xié)處理器的中斷信號(hào);內(nèi)部指令譯碼與寄存器組的內(nèi)部指令寄存器和寄存器組相連接。所述的控制單元由八個(gè)控制狀態(tài)機(jī)組成,包括橢圓曲線數(shù)字簽名生成控制狀態(tài)機(jī)、橢圓曲線數(shù)字簽名驗(yàn)證控制狀態(tài)機(jī)、橢圓曲線加密方案加密控制狀態(tài)機(jī)、橢圓曲線解密方案解密控制狀態(tài)機(jī)、橢圓曲線密鑰對(duì)交換控制狀態(tài)機(jī)、橢圓曲線密鑰對(duì)生成控制狀態(tài)機(jī)、 AES-128加密控制狀態(tài)機(jī)和AES-U8解密控制狀態(tài)機(jī);控制單元用于控制存儲(chǔ)器單元和運(yùn)算單元協(xié)同實(shí)現(xiàn)橢圓曲線密碼協(xié)處理器的八個(gè)密碼功能運(yùn)算;控制單元與多路數(shù)據(jù)選擇器組、外部指令譯碼器和運(yùn)算單元相連接。所述的運(yùn)算單元由八個(gè)運(yùn)算模塊組成,包括隨機(jī)數(shù)生成運(yùn)算模塊、橢圓曲線點(diǎn)乘運(yùn)算模塊、橢圓曲線點(diǎn)加運(yùn)算模塊、KDF運(yùn)算模塊、HMAC運(yùn)算模塊、AES-128運(yùn)算模塊、 SHA-256運(yùn)算模塊和集成素?cái)?shù)域運(yùn)算模塊;存儲(chǔ)單元中的RAM經(jīng)多路數(shù)據(jù)通路選擇器組給運(yùn)算模塊輸入數(shù)據(jù),運(yùn)算單元與存儲(chǔ)單元、控制單元和多路數(shù)據(jù)通路選擇器組相連接。與現(xiàn)有技術(shù)相比本發(fā)明具有以下優(yōu)點(diǎn)第一,由于本發(fā)明可以完成橢圓曲線密碼協(xié)議的所有運(yùn)算,主處理器只負(fù)責(zé)對(duì)其進(jìn)行數(shù)據(jù)讀寫(xiě)操作,因此,使用方便,不占用嵌入式主處理器的運(yùn)算資源。第二,由于本發(fā)明橢圓曲線點(diǎn)乘運(yùn)算所依賴(lài)的有限域采用了 II型最優(yōu)正規(guī)基域, 點(diǎn)乘運(yùn)算采用了一種改進(jìn)的Montgoment點(diǎn)乘算法,使得實(shí)現(xiàn)的橢圓曲線密碼協(xié)處理器的運(yùn)算速度得到較大幅度的提高。第三,由于本發(fā)明的橢圓曲線密碼協(xié)處理器能夠提供八種密碼功能運(yùn)算服務(wù),能夠滿足嵌入式設(shè)備的多種安全需求。


      圖1為本發(fā)明的結(jié)構(gòu)方框圖;圖2為本發(fā)明雙端口 RAM的接口控制電路電原理圖3為本發(fā)明內(nèi)部指令寄存器與譯碼器的接口控制電路原理圖;圖4為本發(fā)明的運(yùn)算單元的接口控制電路原理圖。
      具體實(shí)施例方式以下結(jié)合附圖,對(duì)本發(fā)明作進(jìn)一步的說(shuō)明。附圖1中的接口電路的有15位的地址總線、16/32位可配置的數(shù)據(jù)總線、片選信號(hào)nGCS、讀使能信號(hào)nOE、寫(xiě)使能信號(hào)nWE、數(shù)據(jù)總線配置信號(hào)mod、配置16位數(shù)據(jù)總線時(shí)輸入數(shù)據(jù)的高低位輸入使能信號(hào)nLOW、系統(tǒng)復(fù)位信號(hào)nRST、系統(tǒng)時(shí)鐘CLK和中斷返回信號(hào) nDONE。當(dāng)片選信號(hào)nGCS低有效時(shí),每讀/寫(xiě)一組32位數(shù)據(jù)或16位數(shù)據(jù)時(shí),在mod信號(hào)給高時(shí),接口被配置為32位寬,在mod信號(hào)為低時(shí),接口配置成16位總線形式。在mod為低的16位總線模式下,需要考慮nLOW信號(hào),因?yàn)閰f(xié)處理器內(nèi)部所有存儲(chǔ)單元都最低都是32 位,因此在這種模式下對(duì)任何一個(gè)地址讀寫(xiě)數(shù)據(jù)都需要2個(gè)寫(xiě)/讀周期,每次16位,規(guī)定 先寫(xiě)高16位,此時(shí)置nLOW為高,再寫(xiě)低16位,此時(shí)置nLOW為低,并且高16位和低16位的讀寫(xiě)過(guò)程中不允許插入其它讀寫(xiě)操作。附圖1中的存儲(chǔ)單元由寄存器組和RAM組成,寄存器組用來(lái)存儲(chǔ)外部指令、內(nèi)部指令、橢圓曲線參數(shù)和運(yùn)算單元的運(yùn)算結(jié)果,RAM用來(lái)存儲(chǔ)AES-U8加/解密數(shù)據(jù)和橢圓曲線數(shù)字簽名的消息,RAM的數(shù)據(jù)總線、地址總線和寫(xiě)信號(hào)線與多路數(shù)據(jù)選擇器組相連接;寄存器組的數(shù)據(jù)總線、地址總線和讀寫(xiě)信號(hào)線與接口電路輸入的數(shù)據(jù)總線、地址總線和讀寫(xiě)信號(hào)線相連接;寄存器組的外部指令寄存器的輸出與外部指令譯碼器相連接;寄存器組的內(nèi)部指令寄存器的輸出與內(nèi)部指令譯碼器相連接;寄存器組的內(nèi)部指令寄存器的輸入與數(shù)據(jù)通路選擇器相連接;寄存器組的參數(shù)寄存器的輸出與運(yùn)算單元的輸入相連接;寄存器組的其它輸入數(shù)據(jù)總線與運(yùn)算單元的輸出相連接。存儲(chǔ)器單元的雙端口 RAM的地址總線為14 位,數(shù)據(jù)總線為32位,地址為4H,0000 4H,3FFF,每個(gè)地址對(duì)應(yīng)的存儲(chǔ)空間為32bit,一次最大為65536個(gè)字節(jié),即512K,存儲(chǔ)器單元的寄存器組的地址總線為15位,數(shù)據(jù)總線為 32位,內(nèi)部多數(shù)為191位的寄存器,內(nèi)存地址為4H,4000 4H,40AB,每個(gè)地址對(duì)應(yīng)的存儲(chǔ)空間為32bit。其中,外部指令寄存器的地址為4H,4000 ;參數(shù)寄存器的存地址為4001 408D ;寄存器組還包括內(nèi)部指令寄存器,是一個(gè)6位寬的寄存器,不可讀寫(xiě)。外部指令寄存器位寬為32位,如下給出了外部指令寄存器存儲(chǔ)的值和對(duì)應(yīng)的協(xié)處理器的密碼功能運(yùn)算及其說(shuō)明8H,0000,0000空操作,空閑。
      8H,χχχχ,ΟΟΟΙ橢圓曲線數(shù)字簽名生成功能運(yùn)算
      8H,χχχχ,0002橢圓曲線數(shù)字簽名驗(yàn)證功能運(yùn)算
      8H,0000,0003橢圓曲線加密方案加密功能運(yùn)算
      8H,0000,0004橢圓曲線加密方案解密功能運(yùn)算
      8H,0000,0005橢圓曲線密鑰對(duì)交換功能運(yùn)算
      8H,χχχχ,0006:AES-128加密功能運(yùn)算
      8H,χχχχ,0007:AES-128解密功能運(yùn)算
      8H,0000,0008 橢圓曲線密鑰對(duì)生成其中高十六位“XXXX”表示RAM中存儲(chǔ)的消息的字節(jié)數(shù),低16位中0_3位用于寫(xiě)命令,第4位為返回的橢圓曲線數(shù)字簽名驗(yàn)證的結(jié)果標(biāo)識(shí)(“1”接受,“0”拒絕),第五位為橢圓曲線加密方案解密的結(jié)果標(biāo)識(shí)(“1”接受,“0”拒絕)。附圖1中的多路數(shù)據(jù)選擇器組是由多個(gè)多路數(shù)據(jù)選擇器組成,受接口電路的地址總線的輸入、外部指令譯碼器的譯碼結(jié)果和控制單元控制,根據(jù)指令譯碼結(jié)果選擇外部指令對(duì)應(yīng)的密碼功能運(yùn)算所需的數(shù)據(jù)通路,根據(jù)接口電路的地址總線的輸入來(lái)控制接口電路讀寫(xiě)RAM的數(shù)據(jù)通路,多路數(shù)據(jù)選擇器組與接口電路輸入的數(shù)據(jù)總線、地址總線和寫(xiě)信號(hào)線相連接;多路數(shù)據(jù)選擇器組與RAM輸入的數(shù)據(jù)總線、地址總線、和寫(xiě)信號(hào)線相連接;多路數(shù)據(jù)選擇器組與內(nèi)部指令寄存器相連接;多路數(shù)據(jù)選擇器組與寄存器組輸出給外部主處理器的數(shù)據(jù)總線和RAM輸出給外部主處理器的輸出數(shù)據(jù)總線相連接;多路數(shù)據(jù)選擇器組與外部指令譯碼器相連接。附圖1中的外部指令譯碼器用來(lái)對(duì)外部指令進(jìn)行譯碼,控制協(xié)處理器執(zhí)行外部指令所對(duì)應(yīng)的密碼功能運(yùn)算,外部指令譯碼器的結(jié)果用來(lái)控制多路數(shù)據(jù)選擇器組和控制單元,外部指令譯碼器的輸出與控制單元和多路數(shù)據(jù)通路選擇器組相連接;外部指令譯碼器的輸入與寄存器組的外部指令寄存器的輸出相連接。附圖1中的內(nèi)部指令譯碼器用來(lái)對(duì)內(nèi)部指令進(jìn)行譯碼,譯碼結(jié)果用來(lái)控制寄存器組輸出數(shù)據(jù)給運(yùn)算單元、讀取運(yùn)算單元的運(yùn)算結(jié)果、修改外部指令寄存器的值和輸出協(xié)處理器的中斷信號(hào),它的輸入與寄存器組的內(nèi)部指令寄存器的輸出相連接,輸出與寄存器組相連接。附圖1中的控制單元由八個(gè)控制狀態(tài)機(jī)組成,包括橢圓曲線數(shù)字簽名生成控制狀態(tài)機(jī)、橢圓曲線數(shù)字簽名驗(yàn)證控制狀態(tài)機(jī)、橢圓曲線加密方案加密控制狀態(tài)機(jī)、橢圓曲線解密方案加密控制狀態(tài)機(jī)、橢圓曲線密鑰對(duì)交換控制狀態(tài)機(jī)、橢圓曲線密鑰對(duì)生成控制狀態(tài)機(jī)、AES-U8加密控制狀態(tài)機(jī)和AES-U8解密控制狀態(tài)機(jī),這些狀態(tài)機(jī)用來(lái)控制存儲(chǔ)器單元和運(yùn)算單元協(xié)同實(shí)現(xiàn)橢圓曲線密碼協(xié)處理器的八個(gè)密碼功能運(yùn)算,控制單元輸出的內(nèi)部指令與多路數(shù)據(jù)選擇器組相連接;控制狀態(tài)機(jī)的使能信號(hào)與外部指令譯碼器的輸出相連接; 控制狀態(tài)機(jī)的其他輸入與運(yùn)算模塊的中斷輸出相連接;控制狀態(tài)機(jī)輸出的控制運(yùn)算單元的控制信號(hào)與多路數(shù)據(jù)通路選擇器相連接。附圖1中的運(yùn)算單元由八個(gè)運(yùn)算模塊組成,包括隨機(jī)數(shù)生成運(yùn)算模塊、橢圓曲線點(diǎn)乘運(yùn)算模塊、橢圓曲線點(diǎn)加運(yùn)算模塊、KDF運(yùn)算模塊、HMAC運(yùn)算模塊、AES-128運(yùn)算模塊、 SHA-256運(yùn)算模塊和集成素?cái)?shù)域運(yùn)算模塊,運(yùn)算單元的輸入數(shù)據(jù)總線與寄存器組的參數(shù)寄存器組和RAM的端口 2輸出相連接;運(yùn)算單元的使能信號(hào)與數(shù)據(jù)通路選擇器相連接;運(yùn)算單元輸出的中斷信號(hào)與控制單元的輸入相連接;運(yùn)算單元的輸出與數(shù)據(jù)通路選擇器和寄存器組的輸入相連接。附圖2中的雙端口 RAM的端口 1輸入的二選一數(shù)據(jù)通路選擇器用來(lái)控制端口 1輸入數(shù)據(jù)總線、地址總線和讀寫(xiě)使能信號(hào)的的選擇,其數(shù)據(jù)通路選擇信號(hào)與一個(gè)二輸入或門(mén)的輸出相連接,或門(mén)的兩個(gè)輸入信號(hào)是AES-U8加密功能運(yùn)算使能信號(hào)和AES-U8解密功能運(yùn)算使能信號(hào),雙端口 RAM的端口 1輸入的二選一數(shù)據(jù)通路選擇器的四個(gè)輸入總線分別為接口電路輸入的數(shù)據(jù)總線、地址總線和AES-U8加解密結(jié)果寫(xiě)RAM時(shí)的數(shù)據(jù)總線、地址總線,剩余的兩個(gè)信號(hào)線,一個(gè)與接口電路寫(xiě)信號(hào)經(jīng)過(guò)一個(gè)反相器的輸出相連接,另一個(gè)是 AES-128加解密結(jié)果寫(xiě)信號(hào)。當(dāng)數(shù)據(jù)通路選擇信號(hào)高電平時(shí),二選一數(shù)據(jù)通路選擇器選通 AES-128加解密結(jié)果寫(xiě)入RAM時(shí)的數(shù)據(jù)總線、地址總線和寫(xiě)信號(hào),即二選一數(shù)據(jù)通路選擇器的三個(gè)輸出為AES-U8加解密結(jié)果寫(xiě)入RAM時(shí)的數(shù)據(jù)總線、地址總線和寫(xiě)信號(hào);當(dāng)數(shù)據(jù)通路選擇信號(hào)低電平時(shí),二選一數(shù)據(jù)通路選擇器選通接口電路寫(xiě)MM時(shí)的數(shù)據(jù)總線、地址總線和寫(xiě)信號(hào),即二選一數(shù)據(jù)通路選擇器的三個(gè)輸出為接口電路寫(xiě)RAM時(shí)的數(shù)據(jù)總線、地址總線和寫(xiě)信號(hào)。此外,端口 1的使能信號(hào)與一個(gè)三輸入或門(mén)相連接,或門(mén)的一個(gè)輸出與一個(gè)非門(mén)相連接,這個(gè)非門(mén)的輸入是接口電路輸入的地址總線的第15位,三輸入或門(mén)的另外兩個(gè)輸入分別為外部指令譯碼器的譯碼結(jié)果用來(lái)控制AES-U8加密和解密密碼功能運(yùn)算的使能信號(hào)。在端口 1的讀寫(xiě)使能信號(hào)上方的是端口 1的時(shí)鐘信號(hào),它與系統(tǒng)時(shí)鐘相連接。
      附圖2中的雙端口 RAM的端口 2輸入的五選一數(shù)據(jù)通路選擇器用來(lái)控制端口 2輸入的地址總線和讀寫(xiě)使能信號(hào)的選擇,其數(shù)據(jù)通路選擇信號(hào)共有4根信號(hào)線,它們是端口 2輸入的四選一數(shù)據(jù)通路選擇器輸入的前四個(gè)輸入,第一個(gè)數(shù)據(jù)通路選擇信號(hào)與AES-128 解密功能運(yùn)算使能信號(hào)相連接,第二個(gè)數(shù)據(jù)通路選擇信號(hào)與AES-U8加密功能運(yùn)算使能信號(hào),第三個(gè)數(shù)據(jù)通路選擇信號(hào)與一個(gè)而輸入或門(mén)的輸出相連接,或門(mén)的兩個(gè)輸入分別是橢圓曲線數(shù)字簽名生成和橢圓曲線數(shù)字簽名驗(yàn)證控制狀態(tài)機(jī)輸出的控制信號(hào),第四個(gè)數(shù)據(jù)通路選擇信號(hào)與橢圓曲線數(shù)字簽名生成功能運(yùn)算使能信號(hào)相連接,雙端口 RAM的端口 2輸入的五選一數(shù)據(jù)通路選擇器的五個(gè)輸入總線分別為AES-U8解密控制狀態(tài)機(jī)輸出的寫(xiě)RAM的地址總線、AES-U8加密控制狀態(tài)機(jī)輸出的讀RAM的地址總線、SHA-256運(yùn)算模塊讀RAM的地址總線、橢圓曲線數(shù)字簽名生成控制狀態(tài)輸出的讀RAM的地址總線和橢圓曲線數(shù)字簽名驗(yàn)證控制狀態(tài)輸出的讀RAM的地址總線,剩余的五個(gè)輸入信號(hào)線分別為AES-U8解密控制狀態(tài)機(jī)輸出的讀RAM的讀使能信號(hào)、AES-U8加密控制狀態(tài)機(jī)輸出的讀RAM的讀使能信號(hào)、 SHA-256運(yùn)算模塊寫(xiě)RAM的讀使能信號(hào)、橢圓曲線數(shù)字簽名生成控制狀態(tài)輸出的讀RAM的讀使能信號(hào)和橢圓曲線數(shù)字簽名驗(yàn)證控制狀態(tài)輸出的讀RAM的讀使能信號(hào)。當(dāng)?shù)谝粋€(gè)數(shù)據(jù)通路選擇信號(hào)為高電平時(shí),五選一數(shù)據(jù)通路選擇器選通AES-U8解密控制狀態(tài)機(jī)讀RAM時(shí)的地址總線和讀使能信號(hào),即五選一數(shù)據(jù)通路選擇器的兩個(gè)輸出為AES-U8解密控制狀態(tài)機(jī)讀RAM時(shí)的地址總線和讀使能信號(hào);當(dāng)?shù)谝粋€(gè)數(shù)據(jù)通路選擇信號(hào)為低電平,第二個(gè)數(shù)據(jù)通路選擇信號(hào)為高電平時(shí),五選一數(shù)據(jù)通路選擇器選通AES-U8加密控制狀態(tài)機(jī)讀RAM時(shí)的地址總線和讀使能信號(hào),即五選一數(shù)據(jù)通路選擇器的兩個(gè)輸出為AES-U8加密控制狀態(tài)機(jī)讀RAM時(shí)的地址總線和讀使能信號(hào);當(dāng)前兩個(gè)數(shù)據(jù)通路選擇信號(hào)為低電平,第三個(gè)數(shù)據(jù)通路選擇信號(hào)為高電平時(shí),五選一數(shù)據(jù)通路選擇器選通SHA-256運(yùn)算模塊寫(xiě)RAM時(shí)的地址總線和讀使能信號(hào),即五選一數(shù)據(jù)通路選擇器的兩個(gè)輸出為SHA-256運(yùn)算模塊寫(xiě)RAM時(shí)的地址總線和讀使能信號(hào);當(dāng)前三個(gè)數(shù)據(jù)通路選擇信號(hào)為低電平,第四個(gè)數(shù)據(jù)通路選擇信號(hào)為高電平時(shí),五選一數(shù)據(jù)通路選擇器選通橢圓曲線數(shù)字簽名生成控制狀態(tài)輸出的讀RAM時(shí)的地址總線和讀使能信號(hào),即五選一數(shù)據(jù)通路選擇器的兩個(gè)輸出為橢圓曲線數(shù)字簽名生成控制狀態(tài)輸出的讀RAM時(shí)的地址總線和讀使能信號(hào);當(dāng)四個(gè)數(shù)據(jù)通路選擇信號(hào)都為低電平時(shí),五選一數(shù)據(jù)通路選擇器選通橢圓曲線數(shù)字簽名驗(yàn)證控制狀態(tài)輸出的讀RAM時(shí)的地址總線和讀使能信號(hào),即五選一數(shù)據(jù)通路選擇器的兩個(gè)輸出為橢圓曲線數(shù)字簽名驗(yàn)證控制狀態(tài)輸出的讀RAM時(shí)的地址總線和讀使能信號(hào)。此外,端口 2還有三個(gè)輸入,分別是32位數(shù)據(jù)總線、時(shí)鐘信號(hào)和端口 2使能信號(hào),其中數(shù)據(jù)總線與SHA-256運(yùn)算模塊寫(xiě)RAM時(shí)的數(shù)據(jù)總線相連接,時(shí)鐘信號(hào)與系統(tǒng)時(shí)鐘信號(hào)相連接,端口 2是能信號(hào)與高電平相連接。附圖2中的對(duì)外輸出的二選一數(shù)字通路選擇器用來(lái)控制接口電路輸出的數(shù)據(jù)總線的選擇,其數(shù)據(jù)通路選擇信號(hào)與接口電路的地址總線的第15位相連接,外輸出的二選一數(shù)字通路選擇器的另外兩個(gè)輸入數(shù)據(jù)總線分別為雙端口 RAM端口 1的輸出數(shù)據(jù)總線和寄存器組的輸出數(shù)據(jù)總線。當(dāng)數(shù)據(jù)通路選擇信號(hào)高電平時(shí),二選一數(shù)字通路選擇器選通寄存器組的輸出數(shù)據(jù)總線,即二選一數(shù)字通路選擇器輸出為寄存器組的輸出數(shù)據(jù)總線;當(dāng)數(shù)據(jù)通路選擇信號(hào)低電平時(shí),輸出的二選一數(shù)字通路選擇器選通雙端口 RAM端口 1的輸出數(shù)據(jù)總線,即二選一數(shù)字通路選擇器輸出為雙端口 RAM端口 1的輸出數(shù)據(jù)總線。內(nèi)部指令譯碼器與寄存器組相連接,多路數(shù)據(jù)通路選擇器組在外部指令譯碼器的控制下,控制單元中的八個(gè)控制狀態(tài)機(jī)分別通過(guò)多路數(shù)據(jù)通路選擇器組輸出內(nèi)部指令給內(nèi)部指令寄存器。附圖3中內(nèi)部指令的八選一數(shù)據(jù)通路選擇器用來(lái)控制控制單元中的8個(gè)控制狀態(tài)機(jī)輸出內(nèi)部指令給寄存器組的內(nèi)部指令寄存器的數(shù)據(jù)總線的選擇,其數(shù)據(jù)通路選擇信號(hào)共有7根信號(hào)線,它們是內(nèi)部指令的八選一數(shù)據(jù)通路選擇器的前7個(gè)輸入信號(hào)線,從上至下,第一個(gè)數(shù)據(jù)通路選擇信號(hào)與橢圓曲線數(shù)字簽名生成功能運(yùn)算使能信號(hào)相連接,第二個(gè)數(shù)據(jù)通路選擇信號(hào)與橢圓曲線數(shù)字簽名驗(yàn)證功能運(yùn)算使能信號(hào)相連接,第三個(gè)數(shù)據(jù)通路選擇信號(hào)與橢圓曲線加密方案加密功能運(yùn)算使能信號(hào)相連接,第四個(gè)數(shù)據(jù)通路選擇信號(hào)與橢圓曲線加密方案解密功能運(yùn)算使能信號(hào)相連接,第五個(gè)數(shù)據(jù)通路選擇信號(hào)線與橢圓曲線密鑰對(duì)交換功能運(yùn)算使能信號(hào)相連接,第六個(gè)數(shù)據(jù)通路選擇信號(hào)線與AES-U8加密功能運(yùn)算使能信號(hào)相連接,第七個(gè)數(shù)據(jù)通路選擇信號(hào)線與AES-U8解密功能運(yùn)算使能信號(hào)相連接。 內(nèi)部指令的八選一數(shù)據(jù)通路選擇器剩余8個(gè)6位寬輸入數(shù)據(jù)總線分別是橢圓曲線數(shù)字簽名生成控制狀態(tài)機(jī)輸出的內(nèi)部指令總線、橢圓曲線數(shù)字簽名驗(yàn)證控制狀態(tài)機(jī)輸出的內(nèi)部指令總線、橢圓曲線加密方案加密控制狀態(tài)機(jī)輸出的內(nèi)部指令總線、橢圓曲線加密方案解密控制狀態(tài)機(jī)輸出的內(nèi)部指令總線、橢圓曲線密鑰對(duì)交換控制狀態(tài)機(jī)輸出的內(nèi)部指令總線、 AES-128加密控制狀態(tài)機(jī)輸出的內(nèi)部指令總線、AES-128解密控制狀態(tài)機(jī)輸出的內(nèi)部指令總線和橢圓曲線密鑰對(duì)生成控制狀態(tài)機(jī)輸出的內(nèi)部指令總線。當(dāng)?shù)谝粋€(gè)數(shù)據(jù)通路選擇信號(hào)為高電平時(shí),八選一數(shù)字通路選擇器選通橢圓曲線數(shù)字簽名生成控制狀態(tài)機(jī)輸出的內(nèi)部指令總線,即八選一數(shù)字通路選擇器輸出為橢圓曲線數(shù)字簽名生成控制狀態(tài)機(jī)輸出的內(nèi)部指令總線;當(dāng)?shù)谝粋€(gè)數(shù)據(jù)通路選擇信號(hào)為低電平,第二個(gè)數(shù)據(jù)通路選擇信號(hào)為高電平時(shí),八選一數(shù)字通路選擇器選通橢圓曲線數(shù)字簽名驗(yàn)證控制狀態(tài)機(jī)輸出的內(nèi)部指令總線,即八選一數(shù)字通路選擇器輸出為橢圓曲線數(shù)字簽名驗(yàn)證控制狀態(tài)機(jī)輸出的內(nèi)部指令總線;當(dāng)前兩個(gè)數(shù)據(jù)通路選擇信號(hào)為低電平,第三個(gè)數(shù)據(jù)通路選擇信號(hào)為高電平時(shí),八選一數(shù)字通路選擇器選通橢圓曲線加密方案加密控制狀態(tài)機(jī)輸出的內(nèi)部指令總線,即八選一數(shù)字通路選擇器輸出為橢圓曲線加密方案加密控制狀態(tài)機(jī)輸出的內(nèi)部指令總線;當(dāng)前三個(gè)數(shù)據(jù)通路選擇信號(hào)為低電平,第四個(gè)數(shù)據(jù)通路選擇信號(hào)為高電平時(shí),八選一數(shù)字通路選擇器選通橢圓曲線解密方案加密控制狀態(tài)機(jī)輸出的內(nèi)部指令總線,即八選一數(shù)字通路選擇器輸出為橢圓曲線解密方案加密控制狀態(tài)機(jī)輸出的內(nèi)部指令總線;當(dāng)前四個(gè)數(shù)據(jù)通路選擇信號(hào)為低電平, 第五個(gè)數(shù)據(jù)通路選擇信號(hào)為高電平時(shí),八選一數(shù)字通路選擇器選通橢圓曲線密鑰對(duì)交換控制狀態(tài)機(jī)輸出的內(nèi)部指令總線,即八選一數(shù)字通路選擇器輸出為橢圓曲線密鑰對(duì)交換控制狀態(tài)機(jī)輸出的內(nèi)部指令總線;當(dāng)前五個(gè)數(shù)據(jù)通路選擇信號(hào)為低電平,第六個(gè)數(shù)據(jù)通路選擇信號(hào)為高電平時(shí),八選一數(shù)字通路選擇器選通AES-U8加密控制狀態(tài)機(jī)輸出的內(nèi)部指令總線,即八選一數(shù)字通路選擇器輸出為AES-U8加密控制狀態(tài)機(jī)輸出的內(nèi)部指令總線;當(dāng)前六個(gè)數(shù)據(jù)通路選擇信號(hào)為低電平,第七個(gè)數(shù)據(jù)通路選擇信號(hào)為高電平時(shí),八選一數(shù)字通路選擇器選通AES-U8解密控制狀態(tài)機(jī)輸出的內(nèi)部指令總線,即八選一數(shù)字通路選擇器輸出為AES-U8解密控制狀態(tài)機(jī)輸出的內(nèi)部指令總線;當(dāng)所有數(shù)據(jù)通路選擇信號(hào)為低電平時(shí), 八選一數(shù)字通路選擇器選通橢圓曲線密鑰對(duì)生成控制狀態(tài)機(jī)輸出的內(nèi)部指令數(shù)據(jù)總線,即八選一數(shù)字通路選擇器輸出為通橢圓曲線密鑰對(duì)生成控制狀態(tài)機(jī)輸出的內(nèi)部指令數(shù)據(jù)總線。附圖3中內(nèi)部指令的八選一數(shù)據(jù)通路選擇器的輸出的6位寬數(shù)據(jù)輸入給寄存器組的內(nèi)部指令寄存器,在指令寄存器存儲(chǔ)內(nèi)部指令的八選一數(shù)據(jù)通路選擇器的輸出的新指令并輸出給內(nèi)部指令譯碼器后,內(nèi)部指令譯碼器對(duì)新指令進(jìn)行譯碼,并將譯碼結(jié)果輸出給寄存器組,用來(lái)控制寄存器組輸出數(shù)據(jù)給運(yùn)算單元的運(yùn)算模塊。運(yùn)算單元中所述的運(yùn)算模塊與多路數(shù)據(jù)通路選擇器組相連接,多路數(shù)據(jù)通路選擇器在外部指令譯碼器的控制下,運(yùn)算模塊能為不同的密碼功能運(yùn)算提供相同的運(yùn)算服務(wù)。附圖4中模塊使能信號(hào)的η選一數(shù)據(jù)通路選擇器用來(lái)控制控制單元輸出的運(yùn)算模塊的使能信號(hào)的選擇,模塊使能信號(hào)的η選一數(shù)據(jù)通路選擇器的選擇信號(hào)是外部指令譯碼輸出的密碼功能運(yùn)算使能信號(hào),輸入是控制單元輸出的運(yùn)算模塊的使能信號(hào),通過(guò)密碼功能運(yùn)算使能信號(hào)來(lái)選擇輸入運(yùn)算模塊的運(yùn)算使能信號(hào)。AES-U8和SHA-256運(yùn)算模塊在讀寫(xiě)RAM時(shí),需要控制狀態(tài)機(jī)協(xié)同給出讀寫(xiě)總線地址和讀寫(xiě)信號(hào)。下面介紹主處理器在使用橢圓曲線密碼協(xié)處理器時(shí),協(xié)處理器的七個(gè)組成部分之間的相互動(dòng)態(tài)控制關(guān)系主處理器給協(xié)處理器一個(gè)系統(tǒng)復(fù)位信號(hào),將協(xié)處理器內(nèi)部所有寄存器置零,此時(shí), 外部指令譯碼器輸出的八個(gè)密碼功能運(yùn)算使能信號(hào)均為低電平。按照上述接口電路總線寫(xiě)操作規(guī)則,先寫(xiě)RAM,再寫(xiě)參數(shù)寄存器,最后寫(xiě)外部指令寄存器,在接口電路總線模式為16位寬時(shí),外部指令寄存器先寫(xiě)高16位,后寫(xiě)低16位。寫(xiě)寄存器組時(shí),地址線的第15位為高電平,由附圖2知,此時(shí)RAM端口 1的使能信號(hào)為低電平, 因此,數(shù)據(jù)無(wú)法寫(xiě)入RAM,只能寫(xiě)入寄存器組,相反,在寫(xiě)RAM時(shí),RAM端口 1使能信號(hào)有效, 接口電路寫(xiě)信號(hào)經(jīng)過(guò)一個(gè)反相器,為高電平,此時(shí)RAM端口 1的寫(xiě)使能信號(hào)有效,接口電路可以將數(shù)據(jù)寫(xiě)入RAM。外部指令譯碼器對(duì)寫(xiě)入外部指令寄存器的新指令進(jìn)行譯碼,譯碼結(jié)果將新指令對(duì)應(yīng)的密碼功能運(yùn)算的使能信號(hào)置為高電平,其余的密碼功能運(yùn)算的使能信號(hào)置為低電平。 這樣譯新指令對(duì)應(yīng)的密碼功能運(yùn)算的使能信號(hào)選通參與此次密碼功能運(yùn)算所需的數(shù)據(jù)通路,并觸發(fā)控制單元中對(duì)應(yīng)此次密碼功能運(yùn)算的控制狀態(tài)機(jī)??刂茽顟B(tài)機(jī)通過(guò)數(shù)據(jù)通路選擇器控制存儲(chǔ)單元和運(yùn)算單元完成密碼功能運(yùn)算。在做橢圓曲線數(shù)字簽名生成和橢圓曲線數(shù)字簽名驗(yàn)證功能運(yùn)算時(shí),控制狀態(tài)機(jī)還控制附圖2 中雙端口 RAM端口 2輸入的五選一數(shù)字通路選擇器,運(yùn)算時(shí)打開(kāi)第三路數(shù)據(jù)通路,運(yùn)算結(jié)束后關(guān)閉數(shù)據(jù)通路。如附圖4所示,控制單元輸出內(nèi)部指令給數(shù)據(jù)通路選擇器,將新指令存儲(chǔ)至內(nèi)部指令寄存器,內(nèi)部指令譯碼器對(duì)新指令進(jìn)行譯碼,并用譯碼結(jié)果控制寄存器組輸出數(shù)據(jù)給運(yùn)算單元,之后控制單元輸出運(yùn)算模塊的使能信號(hào),通過(guò)模塊使能信號(hào)的η選一數(shù)據(jù)通路選擇器傳輸給運(yùn)算模塊,運(yùn)算模塊進(jìn)入運(yùn)算狀態(tài),此時(shí),控制單元的控制狀態(tài)機(jī)進(jìn)入等待狀態(tài),等運(yùn)算模塊運(yùn)算結(jié)束后,輸出中斷信號(hào)給控制單元的控制狀態(tài)機(jī),這時(shí),控制單元的控制狀態(tài)機(jī)輸出內(nèi)部指令給數(shù)據(jù)通路選擇器,將新指令存儲(chǔ)至內(nèi)部指令寄存器,內(nèi)部指令譯碼器對(duì)新指令進(jìn)行譯碼,并用譯碼結(jié)果控制寄存器組存儲(chǔ)運(yùn)算單元的運(yùn)算結(jié)果。
      當(dāng)控制狀態(tài)機(jī)判定功能運(yùn)算結(jié)束后,給內(nèi)部狀態(tài)寄存器寫(xiě)入指令,內(nèi)部指令譯碼譯碼結(jié)束后,控制外部指令寄存器自動(dòng)改寫(xiě)其值,并輸出協(xié)處理器的中斷信號(hào),等待嵌入式微處理器讀取協(xié)處理器的功能運(yùn)算結(jié)果。
      權(quán)利要求
      1.一種基于II型最優(yōu)正規(guī)基域的橢圓曲線密碼協(xié)處理器,包括對(duì)外接口電路、存儲(chǔ)單元、多路數(shù)據(jù)選擇器組、外部指令譯碼器、內(nèi)部指令譯碼器、控制單元和運(yùn)算單元;其中所述的對(duì)外接口電路用于協(xié)處理器和主處理器之間的數(shù)據(jù)傳輸;其數(shù)據(jù)總線、地址總線和讀寫(xiě)信號(hào)線與多路數(shù)據(jù)通路選擇器組相連接;所述的存儲(chǔ)單元由寄存器組和RAM組成,寄存器組用來(lái)存儲(chǔ)外部指令、內(nèi)部指令、橢圓曲線參數(shù)和運(yùn)算單元的運(yùn)算結(jié)果,RAM用來(lái)存儲(chǔ)AES-U8加/解密數(shù)據(jù)和橢圓曲線數(shù)字簽名消息;存儲(chǔ)單元與多路數(shù)據(jù)選擇器組、外部指令譯碼器、內(nèi)部指令譯碼器和運(yùn)算單元相連接;所述的多路數(shù)據(jù)選擇器組在外部指令譯碼器的輸出信號(hào)的控制下,選通外部指令對(duì)應(yīng)的密碼功能運(yùn)算所需的數(shù)據(jù)通路,在接口電路的地址總線的控制下,為接口電路選通讀寫(xiě) RAM的數(shù)據(jù)通路;多路數(shù)據(jù)選擇器組與接口電路、存儲(chǔ)單元、外部指令譯碼器和運(yùn)算單元相連接;所述的外部指令譯碼器用來(lái)對(duì)外部指令進(jìn)行譯碼,控制協(xié)處理器執(zhí)行外部指令所對(duì)應(yīng)的密碼功能運(yùn)算,外部指令譯碼器的輸出信號(hào)用來(lái)控制多路數(shù)據(jù)選擇器組和控制單元;外部指令譯碼器與控制單元、寄存器組的外部指令寄存器和多路數(shù)據(jù)通路選擇器組相連接;所述的內(nèi)部指令譯碼器用于對(duì)內(nèi)部指令進(jìn)行譯碼,內(nèi)部指令譯碼器的輸出信號(hào)控制寄存器組輸出數(shù)據(jù)給運(yùn)算單元、讀取運(yùn)算單元的運(yùn)算結(jié)果、修改外部指令寄存器的值和輸出協(xié)處理器的中斷信號(hào);內(nèi)部指令譯碼與寄存器組的內(nèi)部指令寄存器和寄存器組相連接;所述的控制單元由八個(gè)控制狀態(tài)機(jī)組成,包括橢圓曲線數(shù)字簽名生成控制狀態(tài)機(jī)、 橢圓曲線數(shù)字簽名驗(yàn)證控制狀態(tài)機(jī)、橢圓曲線加密方案加密控制狀態(tài)機(jī)、橢圓曲線解密方案解密控制狀態(tài)機(jī)、橢圓曲線密鑰對(duì)交換控制狀態(tài)機(jī)、橢圓曲線密鑰對(duì)生成控制狀態(tài)機(jī)、 AES-128加密控制狀態(tài)機(jī)和AES-U8解密控制狀態(tài)機(jī);控制單元用于控制存儲(chǔ)器單元和運(yùn)算單元協(xié)同實(shí)現(xiàn)橢圓曲線密碼協(xié)處理器的八個(gè)密碼功能運(yùn)算;控制單元與多路數(shù)據(jù)選擇器組、外部指令譯碼器和運(yùn)算單元相連接;所述的運(yùn)算單元由八個(gè)運(yùn)算模塊組成,包括隨機(jī)數(shù)生成運(yùn)算模塊、橢圓曲線點(diǎn)乘運(yùn)算模塊、橢圓曲線點(diǎn)加運(yùn)算模塊、KDF運(yùn)算模塊、HMAC運(yùn)算模塊、AES-128運(yùn)算模塊、SHA-256 運(yùn)算模塊和集成素?cái)?shù)域運(yùn)算模塊;存儲(chǔ)單元中的RAM經(jīng)多路數(shù)據(jù)通路選擇器組給運(yùn)算模塊輸入數(shù)據(jù),運(yùn)算單元與存儲(chǔ)單元、控制單元和多路數(shù)據(jù)通路選擇器組相連接。
      2.根據(jù)權(quán)利要求1所述的基于II型最優(yōu)正規(guī)基域的橢圓曲線密碼協(xié)處理器,其特征在于所述的內(nèi)部指令譯碼器與寄存器組相連接,多路數(shù)據(jù)通路選擇器組在外部指令譯碼器的控制下,控制單元中的八個(gè)控制狀態(tài)機(jī)分別通過(guò)多路數(shù)據(jù)通路選擇器組輸出內(nèi)部指令給內(nèi)部指令寄存器。
      3.據(jù)權(quán)利要求1所述的基于II型最優(yōu)正規(guī)基域的橢圓曲線密碼協(xié)處理器,其特征在于運(yùn)算單元中所述的運(yùn)算模塊與多路數(shù)據(jù)通路選擇器組相連接,多路數(shù)據(jù)通路選擇器在外部指令譯碼器的控制下,運(yùn)算模塊能為不同的密碼功能運(yùn)算提供相同的運(yùn)算服務(wù)。
      全文摘要
      本發(fā)明公開(kāi)一種基于Ⅱ型最優(yōu)正規(guī)基域的橢圓曲線密碼協(xié)處理器,包括對(duì)外接口電路、存儲(chǔ)單元、多路數(shù)據(jù)選擇器組、外部指令譯碼器、內(nèi)部指令譯碼器、控制單元以及運(yùn)算單元,其中接口電路通過(guò)多路數(shù)據(jù)選擇器組用來(lái)完成主處理器對(duì)協(xié)處理器的存儲(chǔ)單元的讀寫(xiě)操作,外部指令譯碼器對(duì)存儲(chǔ)單元中的外部指令寄存器的值進(jìn)行譯碼,其輸出用來(lái)觸發(fā)外部指令對(duì)應(yīng)的控制單元中的控制狀態(tài)機(jī)和選通運(yùn)算所需的數(shù)據(jù)通路,控制狀態(tài)機(jī)通過(guò)數(shù)據(jù)通路選擇器組控制運(yùn)算單元、內(nèi)部指令譯碼器和存儲(chǔ)單元完成指令對(duì)應(yīng)的密碼功能運(yùn)算,本發(fā)明可以提供八種密碼功能運(yùn)算服務(wù),使用方便,不占用主處理器的運(yùn)算資源,協(xié)處理器的運(yùn)算速度較快。
      文檔編號(hào)H04L9/32GK102307090SQ201110167820
      公開(kāi)日2012年1月4日 申請(qǐng)日期2011年6月21日 優(yōu)先權(quán)日2011年6月21日
      發(fā)明者劉彥明, 張志強(qiáng), 李小平, 董慶寬, 謝楷, 趙蕾, 黎劍兵 申請(qǐng)人:西安電子科技大學(xué)
      網(wǎng)友詢(xún)問(wèn)留言 已有0條留言
      • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
      1