发明名称 大数模幂系统的硬件高基实现方法
摘要 本发明公开一种大数模幂系统的硬件高基实现方法,涉及公钥密码系统中的模幂运算硬件实现方法,是为了解决现有技术中处理高基(2<SUP>H</SUP>)数据的效率不高、实现频率较低、缺乏通用性的问题而提出,本发明将高基数据的模幂运算分为初始化处理单元、并行加法处理单元、模乘运算单元、模幂主体运算单元、数据输出恢复单元五个单元,通过构造动态并行加法并配用初始化存储数据表,采用简单逻辑实现模乘运算和模幂主体运算处理公钥密码系统中的高基数据,与现有技术相比,模幂主体运算仅使用或、异或、与等简单逻辑,实现频率高,相对二进制为基的数据处理方法,可提高硬件处理数据能力H倍,可应用于公钥密码系统的模幂运算硬件处理当中。
申请公布号 CN1811698A 申请公布日期 2006.08.02
申请号 CN200610020386.8 申请日期 2006.03.01
申请人 成都卫士通信息产业股份有限公司 发明人 王金波
分类号 G06F7/72(2006.01) 主分类号 G06F7/72(2006.01)
代理机构 成都九鼎天元知识产权代理有限公司 代理人 刘世权
主权项 1、大数模幂系统的硬件高基实现方法,将数据输入可编程逻辑器件或ASIC芯片进行模幂运算,其特征在于:所述的实现方法分为五个单元,分别是初始化处理单元、并行加法处理单元(CSA并行加法)、模乘运算单元、模幂主体运算单元、数据输出恢复单元,其中,a.初始化处理单元:模幂运算的模数N按基β=2H的展开式为N=(np-1...n1n0)β,其中各数字ni(i=0,...,p-1)按低位至高位排列,取n′=β-n0-1modβ,R=2p+2mod N,R2=R2mod NM=n′×N=(mp...m1m0)β,Mj=j×M(j=0,...,β-1)在ROM中按二进制形式存储下面数据:n′,N,R,R2,{Mj,j=0,...,β-1}b.模乘运算单元:把MX={Mj,j=0,...,β-1}存储在ROM中,输入数据有(A1,A2),(B1,B2)以及循环次数l,输出数据(CY,SY),模乘运算单元经历l(≤p+3)次循环过程,循环运算被分成三个模块,(1)预计算模块(2)动态并行加法模块(3)循环反馈运算模块c.模幂主体运算单元:模幂运算的模数为N,计算Y=XE mod N,输入指数E=(eh-1,eh-2,...,e1,e0)2,最高位eh-1=1(0≤h<p×H),输入明文X=(xp-1,xp-2,...,x1,x0)β<N,设模幂主体运算输出值为W,其运行过程分成三个阶段,(1)初始阶段,模幂主体运算含两个并列的模乘运算单元,单元-1和单元-2,分别对应两组输出变量CZ和SZ,以及CP和SP;(2)循环阶段,完成初始阶段后进入h次循环运算过程,每次循环时,并行同步运行单元-1和单元-2,取l=p+3,单元-1输入数据为CZ、SZ、CZ、SZ,输出数据为CZ和SZ,单元-2输入数据为CP、SP、CZ、SZ,输出数据为CP和SP;(3)末尾阶段,完成循环阶段后,取l=p+2,运行单元-2,其输入数据为CP、SP、0、1,输出数据为CP和SP;d.数据输出恢复单元:计算W=CP+SP,然后利用W=(wp-1,wp-2,...,w1,w0)β以及q=n′×w0modβ,计算Y:=(W+q×N)/β,得到Y=XE mod N。
地址 610041四川省成都市高新区创业路6号