[發明專利]ECC協處理器無效
| 申請號: | 201110257450.5 | 申請日: | 2011-09-01 |
| 公開(公告)號: | CN102279725A | 公開(公告)日: | 2011-12-14 |
| 發明(設計)人: | 李政東 | 申請(專利權)人: | 北京華大信安科技有限公司 |
| 主分類號: | G06F7/72 | 分類號: | G06F7/72 |
| 代理公司: | 北京弘權知識產權代理事務所(普通合伙) 11363 | 代理人: | 郭放;許偉群 |
| 地址: | 100015 北京市朝陽區*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | ecc 處理器 | ||
技術領域
本發明涉及公鑰密碼算法的實現技術,更具體而言涉及大整數模乘、模加/模減、模冪以及素數域上橢圓曲線的點加/點倍運算的硬件實現。
背景技術
當前主流的公鑰密碼算法有RSA和橢圓曲線密碼(ECC)兩種,RSA是基于大整數運算實現的,ECC一般基于兩種有限域:二元擴域和素數域(Fp),其中Fp上ECC的實現也基于大整數運算,這使得RSA和Fp上的ECC很方便用同一個協處理器實現,因此Fp上的ECC協處理器大都同時支持ECC和RSA算法。ECC協處理器一般為一個集成電路(IC)模塊,最典型的型態是IP核。
為了滿足應用對于ECC性能的要求,一般采用軟硬件協同的方式實現ECC算法:將一些耗時的關鍵運算用ECC協處理器實現,其余部分用外部控制器的軟件實現。實現ECC算法涉及到的運算包括大整數運算(模乘、模加/模減、模逆)和有限域上的橢圓曲線點運算(點加、點倍、點乘),而ECC協處理器選擇實現哪些運算將導致其功能定義和實現結構的差異。
根據現有的ECC協處理器的功能定義可分為兩大類:1、不實現橢圓曲線點運算;2、實現橢圓曲線點運算。
不實現點運算的ECC協處理器僅實現大整數運算,需要外部控制器用軟件實現橢圓曲線點運算,再實現完整的ECC算法,這導致ECC算法的實現效率不高。但是這種ECC協處理器的優點在于外部控制器中ECC實現軟件的靈活性很大。
對于實現點運算的ECC協處理器,ECC算法中用外部控制器軟件實現的部分較少,因此ECC算法的實現效率較高。這類ECC協處理器對外提供的點運算功能(點加、點倍、點乘)、點的坐標形式(仿射坐標、投影坐標、雅可比坐標),都會影響外部控制器中ECC實現軟件的靈活性。現有實現點運算的ECC協處理器一般都實現點乘運算,對外提供點加、點倍、點乘功能,雖然在ECC協處理器的內部運算過程中,點的坐標會采用投影坐標或雅可比坐標,但在所有點運算的對外接口中,橢圓曲線點的坐標選擇為仿射坐標,這會限制外部控制器中用軟件實現點乘及整個ECC算法的靈活性。
因此,需要設計一款運算效率高、電路面積小,且能支持外部控制器靈活實現多種點乘運算(包括各種特殊點乘)的ECC協處理器,同時支持RSA算法。
發明內容
本發明從ECC協處理器的功能定義、實現算法設計、電路結構設計三方面綜合考慮,提出一種Fp上的ECC協處理器,具有運算效率高、電路面積小、實用性強(支持外部控制器用軟件靈活實現多種點乘算法)的優點,本協處理器還支持RSA算法。
根據本發明的一個實施例,提供一種ECC協處理器,對外提供橢圓曲線點加/點倍運算功能,點加和點倍運算的對外接口中橢圓曲線點的坐標采用雅可比坐標以支持外部控制器靈活實現多種點乘運算。
另外,上述ECC協處理器還對外提供大整數模乘、模加/模減和模冪運算功能。
另外,上述ECC協處理器外部需要連接外部控制器,內部包含復雜運算控制單元和模運算單元。另外,上述復雜運算控制單元可以包括模冪控制單元、點加控制單元和點倍控制單元;模運算單元包括大整數運算控制單元和基本運算單元,其中大整數運算控制單元包括模加/模減控制單元和模乘控制單元,基本運算單元包括乘法器和累加器,其中,復雜運算控制單元基于相應的運算命令被啟動,產生運算控制信號序列給模運算單元以完成相應的運算;模運算單元基于相應的運算命令或從復雜運算控制單元接收的運算控制信號序列來完成相應的運算。
另外,當運算命令為點加運算命令時,點加控制單元被啟動,產生點加運算控制信號序列并提供給大整數運算控制單元以完成點加運算;當運算命令為點倍運算命令時,點倍控制單元被啟動,產生點倍運算控制信號序列并提供給大整數運算控制單元以完成點倍運算;當運算命令為模冪運算命令時,模冪控制單元被啟動,產生模冪運算控制信號序列并提供給模乘控制單元以完成模冪運算。
另外,模乘控制單元在當運算命令為模乘運算命令或者當從復雜運算控制單元接收到點加、點倍或模冪運算控制信號序列時被啟動,產生模乘運算控制信號序列并提供給基本運算單元以完成模乘運算;模加/模減控制單元在當運算命令為模加運算命令或模減運算命令或者當從復雜運算控制單元接收到點加或點倍運算控制信號序列時被啟動,產生模加/模減運算控制信號序列并提供給累加器以完成模加/模減運算。
另外,乘法器響應模乘運算控制信號序列中的乘法信號來執行乘法運算并輸出乘法運算結果;累加器響應模乘運算控制信號序列和模加/模減運算控制信號中的累加信號來執行累加運算并輸出累加運算結果。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于北京華大信安科技有限公司,未經北京華大信安科技有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201110257450.5/2.html,轉載請聲明來源鉆瓜專利網。





