国产精品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>

      一種橢圓曲線公鑰密碼sm2算法的硬件加速協(xié)處理器的制造方法

      文檔序號(hào):8265258閱讀:647來(lái)源:國(guó)知局
      一種橢圓曲線公鑰密碼sm2算法的硬件加速協(xié)處理器的制造方法
      【技術(shù)領(lǐng)域】
      [0001] 本發(fā)明涉及一種橢圓曲線公鑰密碼SM2算法所需的核心運(yùn)算單元,特別是一種橢 圓曲線公鑰密碼SM2算法的硬件加速協(xié)處理器。
      【背景技術(shù)】
      [0002] 2010年12月17日,國(guó)家密碼管理局公布了 SM2橢圓曲線公鑰密碼算法,然后在要 求在2011年7月后投入運(yùn)行并使用公鑰密碼的信息系統(tǒng)中應(yīng)使用SM2橢圓曲線密碼算法, 并為現(xiàn)有基于RSA算法的電子認(rèn)證系統(tǒng)、密鑰管理系統(tǒng)、應(yīng)用系統(tǒng)進(jìn)行升級(jí)改造,在我國(guó)商 用密碼體系中使用SM2橢圓曲線密碼算法來(lái)替換RSA算法。
      [0003] 隨著我國(guó)信息技術(shù)的發(fā)展,物聯(lián)網(wǎng)進(jìn)程逐漸加快,信息安全工作顯得尤為重要,國(guó) 家密碼管理局頒布的國(guó)密算法具有安全性和制度性兩方面優(yōu)勢(shì)。SM2算法是橢圓曲線算法 (ECC)的一種,屬于公鑰密碼算法,具有橢圓曲線密碼算法的多種優(yōu)點(diǎn),同時(shí)也是一種更加 先進(jìn)、更加復(fù)雜的算法。因此,設(shè)計(jì)一個(gè)SM2算法硬件加速協(xié)處理器,作為IP核集成到安全 SoC芯片中,對(duì)于在實(shí)際應(yīng)用中發(fā)揮橢圓曲線密碼算法的靈活性、安全性和高運(yùn)算速度都具 有重要的意義。橢圓曲線密碼算法著重關(guān)注以下四個(gè)性能指標(biāo):
      [0004] (1)速度,運(yùn)算速度是評(píng)價(jià)橢圓曲線密碼算法實(shí)現(xiàn)方案的一個(gè)重要指標(biāo)。一般來(lái) 說(shuō),運(yùn)算速度與實(shí)現(xiàn)代價(jià)是矛盾的;(2)實(shí)現(xiàn)代價(jià):實(shí)現(xiàn)代價(jià)包括存儲(chǔ)器占用空間、芯片面 積、功率消耗等。在計(jì)算資源受限的應(yīng)用場(chǎng)合,如智能卡、RFID等,實(shí)現(xiàn)代價(jià)是首要考慮的 指標(biāo);(3)安全性:密碼算法的實(shí)現(xiàn)有別于其他程序或芯片的設(shè)計(jì),為信息提供保護(hù)的密碼 模塊本身必須是安全的,防護(hù)措施的施行將影響實(shí)現(xiàn)模塊的速度與實(shí)現(xiàn)代價(jià);(4)靈活性: 由于橢圓曲線密碼體制標(biāo)準(zhǔn)眾多、不同安全級(jí)別下的橢圓曲線參數(shù)可選擇性強(qiáng),因此橢圓 曲線算法實(shí)現(xiàn)的靈活性近些年成為研宄的熱點(diǎn)。

      【發(fā)明內(nèi)容】

      [0005] 本發(fā)明解決的技術(shù)問(wèn)題是:克服現(xiàn)有技術(shù)的不足,提供了一種橢圓曲線公鑰密碼 SM2算法的硬件加速協(xié)處理器。
      [0006] 本發(fā)明的技術(shù)解決方案是:一種橢圓曲線公鑰密碼SM2算法的硬件加速協(xié)處理 器,包括控制模塊、寄存器堆、模乘模塊、模逆模塊、模加減模塊、SM3模塊,其中
      [0007] 控制模塊,接收主處理器發(fā)送的一級(jí)指令后進(jìn)行譯碼并判斷,如果是存儲(chǔ)指令,則 將當(dāng)前數(shù)據(jù)存儲(chǔ)到寄存器堆中,如果是SM3運(yùn)算指令,則控制寄存器堆按照SM3運(yùn)算指令將 數(shù)據(jù)讀出并送至SM3模塊,如果是點(diǎn)加或倍點(diǎn)運(yùn)算指令,則將點(diǎn)加或倍點(diǎn)運(yùn)算指令進(jìn)行譯 碼得到模乘運(yùn)算指令或模逆運(yùn)算指令或模加減運(yùn)算指令,對(duì)于模乘運(yùn)算指令,則按照模乘 運(yùn)算指令控制寄存器堆將數(shù)據(jù)讀出并送至模乘運(yùn)算模塊和寄存器堆進(jìn)行模乘運(yùn)算,對(duì)于模 逆運(yùn)算指令,則按照模逆運(yùn)算指令控制寄存器堆將數(shù)據(jù)讀出并送至模逆運(yùn)算模塊和寄存器 堆進(jìn)行模逆運(yùn)算,對(duì)于模加減運(yùn)算指令,則按照模加減運(yùn)算指令控制寄存器堆將數(shù)據(jù)讀出 并送至模加減模塊和寄存器堆進(jìn)行模加減運(yùn)算;所述一級(jí)指令包括存儲(chǔ)指令、SM3運(yùn)算指 令、點(diǎn)加或倍點(diǎn)運(yùn)算指令;
      [0008] 寄存器堆,預(yù)先存儲(chǔ)待模乘運(yùn)算的數(shù)據(jù)m和η、待模逆運(yùn)算的數(shù)據(jù)X、待模加減運(yùn)算 的數(shù)據(jù)ζ和V、消息分組B (ii)、模%、模數(shù)ρ、模%參數(shù)q ;按照模乘運(yùn)算指令將域選擇控制 信號(hào)field、模%,模%參數(shù)q送至模乘運(yùn)算模塊,接收并存儲(chǔ)模乘運(yùn)算模塊發(fā)送的模乘計(jì) 算結(jié)果,將模乘計(jì)算結(jié)果中的C j送至模乘運(yùn)算模塊用于模乘運(yùn)算;按照模逆運(yùn)算指令將域 選擇控制信號(hào)field、加減控制信號(hào)sel、待模逆運(yùn)算的數(shù)據(jù)X、模數(shù)p送至模逆運(yùn)算模塊, 接收并存儲(chǔ)模逆運(yùn)算模塊發(fā)送的模逆計(jì)算結(jié)果;按照模加減運(yùn)算指令將域選擇控制信號(hào) field、加減選擇控制信號(hào)sel、模數(shù)p和待模加減運(yùn)算的數(shù)據(jù)z和V送至模加減模塊,接收 并存儲(chǔ)模加減模塊發(fā)送的模加減計(jì)算結(jié)果;按照SM3運(yùn)算指令將消息分組Β ω送至SM3模 塊,接收并存儲(chǔ)SM3模塊發(fā)送的SM3計(jì)算結(jié)果;
      [0009] 模乘模塊,接收寄存器堆發(fā)送的域選擇控制信號(hào)field、模%,模%參數(shù)q后進(jìn)行 模乘運(yùn)算并將計(jì)算得到的模乘計(jì)算結(jié)果送至寄存器堆存儲(chǔ);
      [0010] 模逆模塊,接收寄存器堆發(fā)送的域選擇控制信號(hào)field、加減控制信號(hào)sel、待模 逆運(yùn)算的數(shù)據(jù)X、模數(shù)P后進(jìn)行模逆運(yùn)算并將摸逆計(jì)算結(jié)果送至寄存器堆存儲(chǔ);
      [0011] 模加減模塊,接受寄存器堆發(fā)送的域選擇控制信號(hào)field、加減選擇控制信號(hào) sel、模數(shù)P和待模加減運(yùn)算的數(shù)據(jù)z和V后進(jìn)行模加減運(yùn)算并將模加減計(jì)算結(jié)果送至寄存 器堆存儲(chǔ);
      [0012] SM3模塊,接收寄存器堆發(fā)送的消息分組B(ii)后進(jìn)行SM3運(yùn)算并將計(jì)算得到SM3計(jì) 算結(jié)果送至寄存器堆存儲(chǔ)。
      [0013] 所述的模乘模塊包括第一控制單元、運(yùn)算處理單元A、運(yùn)算處理單元B、運(yùn)算處理 單元C、運(yùn)算處理單元D、運(yùn)算處理單元E,其中
      [0014] 第一控制單元,接收寄存器堆發(fā)送的待模乘運(yùn)算的數(shù)據(jù)m和n、模%、模%參數(shù)q、 域選擇控制信號(hào)field,使用
      【主權(quán)項(xiàng)】
      1. 一種橢圓曲線公鑰密碼SM2算法的硬件加速協(xié)處理器,其特征在于包括控制模塊、 寄存器堆、模乘模塊、模逆模塊、模加減模塊、SM3模塊,其中 控制模塊,接收主處理器發(fā)送的一級(jí)指令后進(jìn)行譯碼并判斷,如果是存儲(chǔ)指令,則將當(dāng) 前數(shù)據(jù)存儲(chǔ)到寄存器堆中,如果是SM3運(yùn)算指令,則控制寄存器堆按照SM3運(yùn)算指令將數(shù)據(jù) 讀出并送至SM3模塊,如果是點(diǎn)加或倍點(diǎn)運(yùn)算指令,則將點(diǎn)加或倍點(diǎn)運(yùn)算指令進(jìn)行譯碼得 到模乘運(yùn)算指令或模逆運(yùn)算指令或模加減運(yùn)算指令,對(duì)于模乘運(yùn)算指令,則按照模乘運(yùn)算 指令控制寄存器堆將數(shù)據(jù)讀出并送至模乘運(yùn)算模塊和寄存器堆進(jìn)行模乘運(yùn)算,對(duì)于模逆運(yùn) 算指令,則按照模逆運(yùn)算指令控制寄存器堆將數(shù)據(jù)讀出并送至模逆運(yùn)算模塊和寄存器堆進(jìn) 行模逆運(yùn)算,對(duì)于模加減運(yùn)算指令,則按照模加減運(yùn)算指令控制寄存器堆將數(shù)據(jù)讀出并送 至模加減模塊和寄存器堆進(jìn)行模加減運(yùn)算;所述一級(jí)指令包括存儲(chǔ)指令、SM3運(yùn)算指令、點(diǎn) 加或倍點(diǎn)運(yùn)算指令; 寄存器堆,預(yù)先存儲(chǔ)待模乘運(yùn)算的數(shù)據(jù)m和n、待模逆運(yùn)算的數(shù)據(jù)X、待模加減運(yùn)算的數(shù) 據(jù)z和V、消息分組B(ii)、模%、模數(shù)p、模%參數(shù)q;按照模乘運(yùn)算指令將域選擇控制信號(hào) field、模%,模%參數(shù)q送至模乘運(yùn)算模塊,接收并存儲(chǔ)模乘運(yùn)算模塊發(fā)送的模乘計(jì)算結(jié) 果,將模乘計(jì)算結(jié)果中的Cj送至模乘運(yùn)算模塊用于模乘運(yùn)算;按照模逆運(yùn)算指令將域選擇 控制信號(hào)field、加減控制信號(hào)sel、待模逆運(yùn)算的數(shù)據(jù)X、模數(shù)p送至模逆運(yùn)算模塊,接收并 存儲(chǔ)模逆運(yùn)算模塊發(fā)送的模逆計(jì)算結(jié)果;按照模加減運(yùn)算指令將域選擇控制信號(hào)field、 加減選擇控制信號(hào)sel、模數(shù)P和待模加減運(yùn)算的數(shù)據(jù)z和v送至模加減模塊,接收并存儲(chǔ) 模加減模塊發(fā)送的模加減計(jì)算結(jié)果;按照SM3運(yùn)算指令將消息分組B(i)送至SM3模塊,接收 并存儲(chǔ)SM3模塊發(fā)送的SM3計(jì)算結(jié)果; 模乘模塊,接收寄存器堆發(fā)送的域選擇控制信號(hào)field、模%,模%參數(shù)q后進(jìn)行模乘 運(yùn)算并將計(jì)算得到的模乘計(jì)算結(jié)果送至寄存器堆存儲(chǔ); 模逆模塊,接收寄存器堆發(fā)送的域選擇控制信號(hào)field、加減控制信號(hào)sel、待模逆運(yùn) 算的數(shù)據(jù)X、模數(shù)P后進(jìn)行模逆運(yùn)算并將摸逆計(jì)算結(jié)果送至寄存器堆存儲(chǔ); 模加減模塊,接受寄存器堆發(fā)送的域選擇控制信號(hào)field、加減選擇控制信號(hào)sel、模 數(shù)P和待模加減運(yùn)算的數(shù)據(jù)z和v后進(jìn)行模加減運(yùn)算并將模加減計(jì)算結(jié)果送至寄存器堆存 儲(chǔ); SM3模塊,接收寄存器堆發(fā)送的消息分組B(ii)后進(jìn)行SM3運(yùn)算并將計(jì)算得到SM3計(jì)算 結(jié)果送至寄存器堆存儲(chǔ)。
      2. 根據(jù)權(quán)利要求1所述的一種橢圓曲線公鑰密碼SM2算法的硬件加速協(xié)處理器,其特 征在于:所述的模乘模塊包括第一控制單元、運(yùn)算處理單元A、運(yùn)算處理單元B、運(yùn)算處理單 元C、運(yùn)算處理單元D、運(yùn)算處理單元E,其中 第一控制單元,接收寄存器堆發(fā)送的待模乘運(yùn)算的數(shù)據(jù)m和n、模%、模%參數(shù)q、域選 擇控制信號(hào)field,使用
      計(jì)算得到apbj,令i= 0并判斷, 若i小于等于7,將%、h送至運(yùn)算處理單元A計(jì)算得到cJPTi,接收運(yùn)算處理單元A發(fā)送 的(^和T,并送至運(yùn)算處理單元B更新c^直至i大于7 ;將a,、T,送至運(yùn)算處理單元 C,令i= 0,j= 1并判斷,若i小于等于7,調(diào)用運(yùn)算處理單元C計(jì)算sum數(shù)值,并接收運(yùn) 算處理單元C發(fā)送的sum后與上一外層循環(huán)的Cj一起送至運(yùn)算處理單元D計(jì)算cj且j=j+1,判斷j,若j小于等于7,則重復(fù)調(diào)用運(yùn)算處理單元C計(jì)算sum數(shù)值,并接收運(yùn)算處理單 元C發(fā)送的sum后與上一外層循環(huán)的Cj一起送至運(yùn)算處理單元D計(jì)算c」且j=j+1,直至 j大于7后i=i+1并判斷,若i小于等于7,則重復(fù)調(diào)用運(yùn)算處理單元C計(jì)算sum數(shù)值,并 接收運(yùn)算處理單元C發(fā)送的sum后與Cj一起送至運(yùn)算處理單元D計(jì)算c」且j=j+1,判斷 j,若j小于等于7,則重讀調(diào)用運(yùn)算處理單元C計(jì)算sum數(shù)值,并接收運(yùn)算處理單元C發(fā)送 的sum后與上一外層循環(huán)的Cj一起送至運(yùn)算處理單元D計(jì)算c」且j=j+1,直至j大于7 后i=i+1直至i大于7,接收運(yùn)算處理單元C發(fā)送的Cj,得到{cpCpC^CpC^CyCpC。}, 若;^1(1=1,則將{〇7、〇6、〇 5、〇4
      當(dāng)前第1頁(yè)1 2 
      網(wǎng)友詢問(wèn)留言 已有0條留言
      • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
      1