CN200990078Y - 快速rsa密码和大数模指数运算的电路 - Google Patents
快速rsa密码和大数模指数运算的电路 Download PDFInfo
- Publication number
- CN200990078Y CN200990078Y CN 200620024847 CN200620024847U CN200990078Y CN 200990078 Y CN200990078 Y CN 200990078Y CN 200620024847 CN200620024847 CN 200620024847 CN 200620024847 U CN200620024847 U CN 200620024847U CN 200990078 Y CN200990078 Y CN 200990078Y
- Authority
- CN
- China
- Prior art keywords
- arithmetic
- processor
- modular
- dsp
- exponent
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Multi Processors (AREA)
Abstract
快速RSA密码和大数模指数运算的电路,它是实现大数模指数运算和RSA密码算法的并行处理及快速模运算的集成电路组件。采用DSP处理器执行用乘法实现模运算的算法,能使模运算的速度提高8倍;把模指数运算分解为两个DSP处理器并行操作的模数平方运算和模乘法运算;用四个处理器并行执行两个模指数运算同时每个处理器都用乘法实现模运算,能使RSA密码算法的解密速度提高30倍。本组件应用于通信保密、数字签名、数字认证、电子商务提高系统的效率,并支持采用大数密钥提高安全性。四个并行处理器在主处理器控制下亦可分别进行其他运算和数据处理。
Description
所属技术领域
本实用新型涉及实现大数模指数运算和RSA密码算法的并行处理和快速模运算方法的集成电路组件。
背景技术
大数下的模指数运算和RSA密码算法以及需要大量计算的大数模运算,使数据处理,保密通讯和数字认证的速度和效率难以提高。运算速度并且限制RSA算法采用大数密钥从而影响应用系统的安全性。
发明内容
要解决的技术问题提出一种大数模运算快速计算的实现方法,提出实现大数模指数运算并行处理的方法,用硬件实现RSA密码算法内在的并行性提高运算速度,提出能综合实现这些目的的硬件方法及具体组件。
本实用新型所采用的技术方案:
一、一种快速RSA密码和大数模指数运算的电路,它由算法程序存贮器、参数数据存贮器、主处理器、两个模指数运算模块所组成,其特征是:算法程序存贮器和参数数据存贮器与主处理器连接,主处理器经过接口并行连接两个构造相同的模指数运算模块,每个模指数运算模块由两个从处理器组成。
二、提出一种大数下实现模运算B=A mod M的快速计算方法。Ah=A>>>( n-1)即A右移n-1位舍去移出位,n是模M的bit长度,r=INT(Ah×δ),Q0=A-r×M,参数δ是模M的函数,满足0<Q0-B≤3M,循环计算QI=QI-1-M,I=1,2,3,4,如果Q1<0则结束循环,得到余数B=QI-1,(商S=r+I-1)。该算法把模运算变换为快速乘法运算,其程序用PROG1表示。本设计用处理器的乘法功能实现模运算。
三、把模指数运算b=Dcmod p的运算过程分解为可并行操作的两个程序段PROG2.1和PROG2.2。其中C=CICI-1…C1C0,Ci∈[0,1],i=0,1,…,I,I=n-1,n是C以bit为单位的长度。
程序段PROG2.1:初值D0=D mod p,循环计算Di=(Di-1×Di-1)mod p,i=1,2,…,n-1。每一个Di即时传送给程序段PROG2.2。
程序段PROG2.2:若C0=0则初值X0=1,否则X0=D mod p;循环执行分支程序,若Ci=1则Xi=(Xi-1×Di)mod p,否则Xi=Xi-1,i=1,2,…,n-1,求出b=Xn-1。本实用新型用两个处理器并行执行两个程序段,由硬件接口实现数据传送和速度匹配。
四、以并行方式执行RSA密码算法。已知解密算法ALGO1:b1=Dβ1mod p,b2=Dβ2mod q,明文M=(X1q×b1+X2p×b2)mod N。
加密算法ALGO2:b1′=Memod p,b2′=Memod q,密文D=(Xiq×b1′+X2p×b2′)mod N。
其中算法参数p、q、N、β1、β2、e、乘积X1q和乘积X2p都可以由预计算求出备用。e取值很小时,亦可直接计算D=Memod N。ALGO1中已知b1、b2求M时,运算次数很少,大量的运算时间消耗在b1和b2的计算上,本实用新型采用两个硬件模块并行计算b1和b2。
五、采用五个数字信号处理器,一个主处理器与四个从处理器组成主从结构。四个从处理器为并行结构,并分为两个模块,同步分别执行求解b1、b2的模指数运算。每个模块中两个处理器同步分别执行模平方运算PROG2.1和模乘法运算PROG2.2。模指数运算模块的两个从处理器,由相同的数字信号处理器构成,相互用硬件接口连接,两个从处理器经过接口并行与主处理器连接。主处理器执行参数预计算和由b1、b2求明文M的计算。所有的处理器都用PROG1实现模运算,使得本组件中模指数运算和RSA密码算法可由并行乘法运算实现。
主处理器由数字信号处理器构成,程序存贮器由具有参数δ算法和模运算快速计算法的集成电路构成,数据存贮器由具有算法参数和密钥的集成电路构成。
本实用新型的有益效果是 同样的RSA密码算法,采用同样的程序设计语言编程,在同一个PC机上运行程序,应用RPOG1将模运算变换为快速乘法运算与不用PROG1相比较,能使运算速度提高8倍,同时采用四个处理器并行操作,运算速度能提高30倍。只用一个模块能使大数模指数运算的速度提高16倍。本组件采用商品化的DSP器件组成,很容易实现。
本组件运算单元简单,以乘法和少量加减法实现复杂运算,便于开发更大规模的单个集成电路芯片,从而可进一步提高运算速度和保密性、降低成本。本组件可推广应用于其他数据处理和公钥体制的密码技术领域。
附图说明:
图1是快速RSA密码和大数模指数运算的电路图。
下面结合附图说明本实用新型的硬件组成结构。
本组件由数字信号处理器DSPM,DSP1∽DSP4,接口INTS、INT1、INT2,集成电路程序存贮器ME-P和数据存贮器ME-d组成。主处理器DSPM与外部接口INTh和外部存贮器ME-e连接,通过INTh与PC机交换数据和信息。从处理器DSP1∽DSP4并行操作,它们通过内部的乘法单元MU运用PROG1以乘法实现模运算。DSP1和DSP2组成模块MO1,DSP3和DSP4组成模块MO2,并行执行两个模指数运算。
具体实施方式
下面结合RSA密码算法说明附图所示组件的工作流程。
[1]主处理器DSPM执行以下功能:
生成密钥和算法中的各种参数,包括确定两个大素数p和q、求p、q之积N、求两个乘积X1q、X2P和加密密钥e、由解密密钥求出β1和β2(加密时β1’=β2’=e)、求出β1、β2和e的长度n1、n2和ne,求出对应于p、q和 N的参数δp、δq和 δN。
通过外部接口INTh输入已知的密文D或明文M。
把输入数据D或M和除N、X1q、X2p、δN以外的密钥和参数传送给从处理器DSP1∽DSP4,控制四个从处理器并行操作,得到中间结果b1、b2或b1’、b2’。
接收来自从处理器DSP2和DSP4的b1、b2(加密时为b1’、b2’),解密时求出明文M,加密时求出密文D,通过接口INTh输出M或D。
[2]程序存贮器ME-P存放程序PROG1及其δ算法程序。
[3]数据存贮器ME-d存放所有的参数和密钥,以备重复使用。RSA算法密钥的更新周期较长。
[4]接口INTS连接DSPM和四个从处理器:(1)把DSPM输出的D或M传送给四个从处理器,(2)把密钥和算法运算的参数分配给相应的从处理器,(3)把来自从处理器的中间结果b1、b2或b1’、b2’传送给DSPM。
[5]模块MO1进行b1=Dβ1mod p或b1′=Memod p的运算。
[6]模块MO2进行b2=Dβ2 mod q或b2’=Memod q的运算,MO2与MO1并行操作。
[7]从处理器DSP1执行程序PROG2.1,进行模数平方运算,接收D、n1或M、nc,接收p和δp,生成一系列Di,i=1,2,…,n1-1(或ne-1),通过接口INT1把Di的每一个数即时传送给DSP2。
[8]从处理器DSP2执行程序PROG2.2,进行模乘法运算,接收D、n1、β1(二进制数)或M、ne、e(二进制数),接收p和δp,接收D1,生成b1或b1’。DSP1和DSP2并行操作。
[9]从处理器DSP3执行程序PROG2.1,进行模数平方运算,接收D、n2或M、ne,接收q和δq,生成一系列D1′,i=1,2,…,n2-1(或ne-1),通过接口INT2把Di′的每一个数即时传送给DSP4。
[10]从处理器DSP4执行程序PROG2.2,进行模乘法运算,接收D、n2、β2(二进制数)或M、ne、e(二进制数),接收q和δq,接收Di′,生成b2或b2’。DSP3和DSP4并行操作。
传输线O1和O3为DSP1和DSP3向主处理器DSPM直接传送输出数据。
Claims (2)
1.一种快速RSA密码和大数模指数运算的电路,它由算法程序存贮器、参数数据存贮器、主处理器、两个模指数运算模块所组成,其特征是:算法程序存贮器和参数数据存贮器与主处理器连接,主处理器经过接口并行连接两个构造相同的模指数运算模块,每个模指数运算模块由两个从处理器组成。
2.根据权利要求1所述的快速RSA密码和大数模指数运算电路,其特征是:主处理器(DSPM)由数字信号处理器构成,模指数运算模块的两个从处理器,由相同的数字信号处理器构成,相互用硬件接口连接,两个从处理器经过接口(JNTS)并行与主处理器连接。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200620024847 CN200990078Y (zh) | 2006-07-03 | 2006-07-03 | 快速rsa密码和大数模指数运算的电路 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200620024847 CN200990078Y (zh) | 2006-07-03 | 2006-07-03 | 快速rsa密码和大数模指数运算的电路 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN200990078Y true CN200990078Y (zh) | 2007-12-12 |
Family
ID=38941113
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 200620024847 Expired - Fee Related CN200990078Y (zh) | 2006-07-03 | 2006-07-03 | 快速rsa密码和大数模指数运算的电路 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN200990078Y (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101471839B (zh) * | 2007-12-29 | 2011-05-04 | 北京天融信网络安全技术有限公司 | 多核异步实现IPSec vpn的方法 |
CN102117195A (zh) * | 2009-12-30 | 2011-07-06 | 上海华虹集成电路有限责任公司 | 大数模乘器电路 |
CN106411519A (zh) * | 2016-11-01 | 2017-02-15 | 北京百度网讯科技有限公司 | 用于rsa解密的处理器及用于rsa解密处理器的控制方法 |
CN106569778A (zh) * | 2015-10-13 | 2017-04-19 | 华为技术有限公司 | 一种数据处理的方法及电子设备 |
CN112527514A (zh) * | 2021-02-08 | 2021-03-19 | 浙江地芯引力科技有限公司 | 基于逻辑扩展的多核心安全芯片处理器及其处理方法 |
-
2006
- 2006-07-03 CN CN 200620024847 patent/CN200990078Y/zh not_active Expired - Fee Related
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101471839B (zh) * | 2007-12-29 | 2011-05-04 | 北京天融信网络安全技术有限公司 | 多核异步实现IPSec vpn的方法 |
CN102117195A (zh) * | 2009-12-30 | 2011-07-06 | 上海华虹集成电路有限责任公司 | 大数模乘器电路 |
CN102117195B (zh) * | 2009-12-30 | 2013-05-01 | 上海华虹集成电路有限责任公司 | 大数模乘器电路 |
CN106569778A (zh) * | 2015-10-13 | 2017-04-19 | 华为技术有限公司 | 一种数据处理的方法及电子设备 |
CN106569778B (zh) * | 2015-10-13 | 2019-06-07 | 华为技术有限公司 | 一种数据处理的方法及电子设备 |
CN106411519A (zh) * | 2016-11-01 | 2017-02-15 | 北京百度网讯科技有限公司 | 用于rsa解密的处理器及用于rsa解密处理器的控制方法 |
CN112527514A (zh) * | 2021-02-08 | 2021-03-19 | 浙江地芯引力科技有限公司 | 基于逻辑扩展的多核心安全芯片处理器及其处理方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102207847B (zh) | 基于蒙哥马利模乘运算的数据加解密处理方法及装置 | |
CN102509036B (zh) | 一种可重构密码处理器及抗功耗攻击方法 | |
CN112865954B (zh) | 用于Paillier解密的加速器、芯片及系统 | |
CN101216754B (zh) | 基于模乘运算的数据加解密处理的方法及装置 | |
CN103903047B (zh) | 一种适用于rfid安全通信的椭圆曲线加密协处理器 | |
KR20030081348A (ko) | 암호화 프로세서 | |
JP4682852B2 (ja) | 暗号処理装置、および暗号処理方法、並びにコンピュータ・プログラム | |
CN109039640A (zh) | 一种基于rsa密码算法的加解密硬件系统及方法 | |
CN200990078Y (zh) | 快速rsa密码和大数模指数运算的电路 | |
Liu et al. | Design and implementation of an ECC-based digital baseband controller for RFID tag chip | |
CN101834723A (zh) | 一种rsa算法及其ip核 | |
CN101221491B (zh) | 椭圆曲线密码系统的点加系统 | |
CN100583757C (zh) | 一种ecc\rsa加解密协处理器 | |
CN100470464C (zh) | 基于改进的蒙哥马利算法的模乘器 | |
CN105871552A (zh) | 双核并行rsa密码处理方法及协处理器 | |
CN110049013A (zh) | 一种基于sm2和rsa加密算法的加解密系统及工作方法 | |
JP2002229445A (ja) | べき乗剰余演算器 | |
CN109214213A (zh) | 一种大整数模乘加算法的实现电路及方法 | |
CN101819519B (zh) | 多功能数字签名电路 | |
CN102739396B (zh) | 一种应用于信息安全的协处理器 | |
CN101304312B (zh) | 一种适用于精简指令集处理器的加密单元 | |
CN1841443B (zh) | 计算方法和计算设备 | |
CN101436932A (zh) | 一种抵抗简单电耗攻击的模幂计算方法 | |
JP2004054128A (ja) | 暗号化装置 | |
WO2007129197A1 (en) | Cryptographic apparatus and process |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C17 | Cessation of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20071212 |