欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

雙核公鑰密碼算法運算協(xié)處理器的一種實現(xiàn)方法

文檔序號:7967030閱讀:377來源:國知局
專利名稱:雙核公鑰密碼算法運算協(xié)處理器的一種實現(xiàn)方法
技術領域
本發(fā)明涉及信息安全密碼領域,具體的說,涉及到公鑰密碼運算協(xié)處理器的硬件實現(xiàn)。 主要針對RSA、 ECC公鑰密碼算法中核心運算的硬件實現(xiàn)方法。
背景技術
隨著計算機網(wǎng)絡的普及,大量的電子數(shù)據(jù)通過網(wǎng)絡傳輸?shù)绞澜绺鞯爻蔀榭赡?。但在具?重大的經(jīng)濟價值或關系國家、軍隊的命運等重要數(shù)據(jù)的傳輸過程中,任何一點泄露和差錯都 可能造成不可估量的損失。而密碼技術則是信息安全的保障及核心技術。公鑰密碼算法大多 基于數(shù)學難解問題,目前具有較高的安全性。其中ECC和RSA是己經(jīng)成熟的公鑰密碼算法, 使用也頗為廣泛。
針對最常用的公鑰密碼算法RSA和ECC,基本運算分別如下
RSA:
密鑰對生成隨機大素數(shù)p和q, n=pq, 4> (n) = (p - 1) (q_l),隨機選取整數(shù)e,滿足 gcd(e, d) (n)):l,計算^e — 'mod4) (n),密鑰對(e,d); 加密C=M'; (mod n); 解密M=Cd (mod n);
其中M是明文,待加密數(shù)據(jù),C是密文,加密后數(shù)據(jù),e是私鑰,加密密鑰,d是公鑰, 解密密鑰,n是模數(shù)。
在加解密運算中,模冪運算由一系列模乘運算組成。此外,解密運算時可以使用中國剩 余定理(CRT)使模冪運算大數(shù)的位數(shù)減少一半。
通常實現(xiàn)時,使用蒙哥馬利(Montgomery)模乘算法,在運算過程中有大量大數(shù)需要存 儲,算法安全性依賴于大數(shù)的位數(shù)長度,一般都會選擇512bit長度以上,存儲量極大。關鍵
運算為模乘。 ECC:
密鑰對生成選定橢圓曲線,基點G (Gx, Gy),階為N;在[l, 2,, N-l]中任意選 取隨機數(shù)A作為私鑰;點乘AG:P (Px, Py)為公鑰。
加密(ECIES):取任意隨機數(shù)K在[l, 2,, N-l]中,計算KG二H (Hx, Hy)、 KP=Q (Qx, Qy)和C3:M xor Qx, C={Hx, Hy, C3 }。其中M為明文,待加密數(shù)據(jù)。C為密文,加密后數(shù)
據(jù)。點H、 Q為橢圓曲線上的點。點G為基點,點P為公鑰。隨機整數(shù)A為私鑰。 解密(ECIES): i十算A討(Ix, Iy), M=C3 xor Ix。 可看出,ECC的核心運算是點乘運算。
通常實現(xiàn)時,使用一系列倍點和點加運算組成?;具\算由模乘、模加和模減構成。一
般來說ECC沒有亞指數(shù)攻擊,所以它的密鑰長度大大的減少,256bit即可滿足一般要求。
基于如上分析,ECC和RSA公鑰體制中兼容最基本運算模乘、模加和模減。而且RSA支 持到位寬2048bit, ECC支持到位寬256bit.這樣大數(shù)的存儲和運算速度問題一直是硬件實現(xiàn) 中的難點。
通常情況下,現(xiàn)有的實現(xiàn)一般都采用單核(即單個運算模塊)和單RAM模塊的技術,這 樣在速度和靈活性上無法得到突破性的提高。

發(fā)明內容
針對大數(shù)存儲和運算速度難點,本發(fā)明提供一種公鑰密碼算法協(xié)處理器的實現(xiàn)方法,在 協(xié)處理器中實現(xiàn)ECC和RSA的最基本運算模乘、取模、模加和模減。本發(fā)明能夠在解決大數(shù) 存儲問題的基礎上,同時節(jié)約面積資源,并且能夠提高后端版圖布線利用率。同時,雙核運 算模塊的使用,大大提高了公鑰密碼運算效率。
本發(fā)明公開了一種硬件協(xié)處理器的實現(xiàn)方法雙核,是指協(xié)處理器中包含兩個完全相同 的運算模塊,每個運算模塊都有各自的RAM模塊、算法模塊和控制模塊。這兩個運算模塊既 可以獨立地進行公鑰算法的基本運算,也可以在控制模塊的控制下協(xié)同運算,以滿足不同公 鑰算法協(xié)議的要求。兩個運算模塊之間還可以實現(xiàn)內部相互交換數(shù)據(jù),數(shù)據(jù)不需要讀出即可 以參加下一次運算,大大加快了運算速度。最典型的情況是利用CRT (中國剩余定理)進 行RSA解密運算時,可以利用兩個運算模塊同時進行模乘運算。
本發(fā)明還能夠很好地解決在地址線資源有限的情況下靈活實現(xiàn)公鑰核心運算的問題。實 現(xiàn)該功能的部件是兩個完全相同的運算模塊和接口控制模塊,每個運算模塊包括RAM模塊、 控制模塊和算法模塊。
1>多RAM模塊,用于存儲運算過程中的大數(shù)以及運算過程中數(shù)據(jù)的交互,還方便對不 同地址進行同時讀寫。協(xié)處理器中使用一個雙端口 RAM和一個單端口 RAM。雙端口 RAM用于協(xié)處理器與外部交換數(shù)據(jù)以及緩存運算中間結果,單端口 RAM用于緩存運算 過程中的部分中間結果以及最終結果。這種結構的好處是既可以避免大量寄存器堆
砌造成的面積過大,也可以避免用兩塊雙口 RAM所造成的面積浪費,同時還可以提 高后端的布線利用率。另外使用兩個RAM比單獨使用一個RAM速度上有一定的提高。 對RAM地址空間的讀寫控制可以在運算過程中并行實現(xiàn),并不會增加額外的時間開銷。
2>控制模塊,主要包括接口控制、對RAM的讀寫控制、對專用寄存器的讀寫控制、握
手信號的控制和算法模塊的所有開關控制。 3>算法模塊,包括模乘運算(最高支持2048bit)、模加運算(最高支持256bit)、模
減運算(最高支持256bit)、取模運算(支持2048bit對1024bit取模和1024bit對
512bit取模)。
在不同的應用中,資源的提供也不盡相同,本發(fā)明給出地址線只有1根的情況下方便靈 活實現(xiàn)公鑰密碼基本運算。
一位地址線,在運算過程中標示兩個地址命令寄存器和數(shù)據(jù)寄存器。這樣通過內部命 令或者地址譯碼,進行相關操作或者將數(shù)據(jù)送到相應的RAM空間。在實現(xiàn)運算需要完整的指 令集,包括七類強制終止并復位指令、寫參數(shù)指令、寫數(shù)據(jù)指令、寫命令指令、讀參數(shù)指
令、讀數(shù)據(jù)指令和讀命令指令。為保證協(xié)處理器的正常工作,操作流程包括 1>輸入寫參數(shù)指令(地址線置0);
2〉輸入?yún)?shù)(地址線置l);
3〉輸入寫數(shù)據(jù)指令(地址線置0);
4>輸入數(shù)據(jù)(地址線置1);
5〉輸入運算指令(地址線置0);
6〉等待運算結束,輸出結果數(shù)據(jù)(地址線置l)。
在操作流程中需注意
*若整個公鑰運算中協(xié)處理器的下一次操作流程中所使用輸入?yún)?shù)與剛結束的這
次運算相同,可以不用重復輸入(即1〉和2〉可省略)。
參若整個公鑰運算中協(xié)處理器的下一次操作流程中所使用數(shù)據(jù)是剛結束的這次運 算的結果數(shù)據(jù),那么剛結束的運算結果數(shù)據(jù)可以不用輸出而直接開始下一次操作
流程(7〉可省略)。但需要清楚了解運算結果數(shù)據(jù)在RAM中的存放地址。 本發(fā)明具有以下優(yōu)點-1〉本發(fā)明使用雙核,即兩個運算模塊,既可以同時進行兩個相同的運算,也可以同時進 行兩個不同的運算,便于進行多線程操作,從而大大提高運算效率。
2>本發(fā)明使用RAM模塊存儲算法運算中的大數(shù),這樣不僅節(jié)約了面積資源,還提高后端 版圖布線利用率。雖然增加RAM接口控制部分,但是由于算法本身特性,對RAM的讀寫 可以在運算期間并行實現(xiàn),不會增加時間上的開銷。
3〉本發(fā)明可支持在地址線資源有限的情況下靈活方便地使用指令實現(xiàn)數(shù)據(jù)輸入輸出,運 算控制以及測試。
4>本發(fā)明可兼容實現(xiàn)ECC和RSA兩種通用公鑰密碼體制的基本運算,能滿足不同系統(tǒng)的要 求,可以通過軟件控制來實現(xiàn)不同協(xié)議的公鑰密碼運算。


圖1為協(xié)處理器的整體結構示意圖; 圖2為運算模塊的結構示意圖; 圖3使用協(xié)處理器的操作流程圖。
具體實施例方式
本發(fā)明的具體實施基本和說明書中所闡述的結構和原理一致,以下結合附圖,具體說明 本發(fā)明。
本發(fā)明公開了一種公鑰算法協(xié)處理器的硬件實現(xiàn)方法,能夠很好的解決由于公鑰密碼運 算中大數(shù)位數(shù)過長造成存儲量過大問題。實現(xiàn)該功能的部件是兩個完全相同的運算模塊和接 口控制模塊,每個運算模塊包括RAM模塊、控制模塊和算法模塊。
請參閱圖l,其為本發(fā)明硬件協(xié)處理器的整體結構示意圖,根據(jù)本示意圖,本硬件部件由
運算模塊l、運算模塊2和接口及控制模塊部分構成。
其中,所述接口及控制模塊,是把兩個運算模塊的接口合并為一個10,根據(jù)指令來選擇 是操作單個運算模塊,還是兩個運算模塊同時操作。注意,除非輸入數(shù)據(jù)相同,兩個運算模 塊的數(shù)據(jù)不能同時輸入。
運算模塊,請參閱圖2,其為運算模塊的結構示意圖。
圖2中所述RAM模塊,包括一個雙端口 RAM和一個單口 RAM,圖中單口 RAM是在運算期間
算法模塊存儲中間數(shù)據(jù),圖中雙口 RAM是存儲協(xié)處理器輸入輸出數(shù)據(jù)以及部分中間結果。 圖2中所述控制模塊,包括對2個RAM的讀寫控制、對專用寄存器的讀寫控制、握手信
號的控制和算法模塊的所有開關控制。在結構示意圖中沒有標識出專用寄存器,大概有模長
N、模乘參數(shù)MC等。
圖2中所述IF,指運算模塊的一些接口轉換。
請參閱圖3,該圖描述了使用上述說明的硬件部件,操作協(xié)處理器的流程,具體步驟如

1>用戶發(fā)送置數(shù)指令,此時地址線addFO。此指令中相關位應包括要置的數(shù)據(jù)是送
入專用寄存器,還是送入RAM中,如果是送入RAM,還需要標明在RAM中的位置,
RAM中只用來存放大數(shù); 2〉用戶輸入數(shù)據(jù),此時地址線addr-l。數(shù)據(jù)包括運算的操作數(shù)和參數(shù),以模乘運算
X*Y(mod M)為例,操作數(shù)X和Y,參數(shù)有模數(shù)M、模長N和運算需要數(shù)據(jù)MC。其
他運算根據(jù)算法類推; 3>用戶發(fā)送運算指令,此時地址線addr-0。運算類型有模乘、模加、模減和取模運
算。指令中應該表明兩個運算模塊各自的操作。注意,在發(fā)送運算指令之前,運
算所需要的操作數(shù)和參數(shù)必須已經(jīng)輸入; 4>協(xié)處理器進行運算;
5>判斷運算是否結束, 一般情況下應該有一個握手信號表明運算是否結束,這個信
號既可以作為中斷也可以作為查詢。 6〉用戶讀取結果數(shù)據(jù)。 在整個流程中,根據(jù)協(xié)議決定運算的順序,如果相鄰兩次運算有相同的操作數(shù)或參數(shù), 可以不重復輸入;如果下一次運算的操作數(shù)是此次運算的結果數(shù)據(jù),用戶也可以不讀出結果 數(shù)據(jù),在內部直接運算即可。
權利要求
1.一種公鑰密碼算法協(xié)處理器的實現(xiàn)方法,其硬件是由兩個相同的運算模塊組成,每個運算模塊包括RAM模塊、算法模塊和控制模塊,其特征在于協(xié)處理器包括雙核、多RAM模塊、控制模塊和一位地址線,使用該協(xié)處理器需要完整的指令集,并按一定的操作流程執(zhí)行。
2. 如權利要求1所述多RAM模塊,其特征在于協(xié)處理器中使用一個雙端口 RAM和一 個單端口 RAM。
3. 如權利要求1所述雙核,其特征是指協(xié)處理器中包含兩個完全相同的運算模塊,每 個運算模塊都有各自的RAM模塊、算法模塊和控制模塊。
4. 如權利要求1所述控制模塊,其特征是主要包括接口控制、對RAM的讀寫控制、 對專用寄存器的讀寫控制、握手信號的控制和算法模塊的所有開關控制。
5. 如權利要求1所述一位地址線,其特征是在運算過程中標示兩個地址命令寄存器 和數(shù)據(jù)寄存器。
6. 如權利要求1所述為保證協(xié)處理器正常工作的操作流程,其步驟如下-1>輸入寫參數(shù)指令(地址線置0);2>輸入?yún)?shù)(地址線置l);3>輸入寫數(shù)據(jù)指令(地址線置0);4>輸入數(shù)據(jù)(地址線置1);5>輸入運算指令(地址線置0);6>等待運算結束,輸出結果數(shù)據(jù)(地址線置l)。
7. 如權利要求1所述算法模塊中包括模乘運算、模加運算、模減運算、取模運算。
全文摘要
本發(fā)明提供一種雙核公鑰密碼算法協(xié)處理器的實現(xiàn)方法,能夠很好的解決由于運算中大數(shù)寬度過長導致的存儲量過大問題。通過本發(fā)明描述的方式,只需增加必要的控制部分,并且不增加額外時間開銷,就能達到在一定程度上節(jié)約面積資源,并提高后端版圖布線利用率。同時雙核運算模塊的使用,大大提高了公鑰密碼運算效率。一位地址線的設計,不僅可適應在資源有限的情況下使用協(xié)處理器,還便于簡化整個公鑰密碼算法流程的運算。在流程中協(xié)處理器的結果數(shù)據(jù)可以不從接口輸出,只需根據(jù)算法需要直接參與下一個運算。實現(xiàn)該功能的部件是兩個完全相同的運算模塊和接口控制模塊,每個運算模塊包括RAM模塊、控制模塊和算法模塊。
文檔編號H04L9/30GK101170406SQ20061011409
公開日2008年4月30日 申請日期2006年10月27日 優(yōu)先權日2006年10月27日
發(fā)明者余秋芳, 關紅波, 勇 田, 胡曉波, 陳學振, 陳立志 申請人:北京中電華大電子設計有限責任公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
类乌齐县| 台湾省| 石棉县| 确山县| 油尖旺区| 石景山区| 溆浦县| 上高县| 宜昌市| 汕尾市| 涡阳县| 宣武区| 琼结县| 新兴县| 林州市| 古蔺县| 尼玛县| 西吉县| 东莞市| 宜君县| 富宁县| 井陉县| 项城市| 咸丰县| 来宾市| 璧山县| 崇文区| 繁峙县| 句容市| 琼结县| 嘉峪关市| 永新县| 集安市| 普定县| 镇赉县| 饶阳县| 岐山县| 襄垣县| 翁牛特旗| 沐川县| 安化县|