大数模乘器电路制造技术

技术编号:6990651 阅读:292 留言:0更新日期:2012-04-11 18:40
本发明专利技术公开了一种大数模乘器电路,包括:一个二输入与门,一个数据左移1位模块,三个二选一选择器MUX1,MUX2,MUX3;一个N+2位大数加法器;选择与控制模块,包括一个N+2位比较器,用于控制所述三个二选一选择器,以及整个运算过程的数据流向和运算过程,保证整个电路正常工作;在所述选择与控制模块的控制和协调,使得整个电路在满足模乘功能的前提下,实现N+2位比较器和N+2位加法器的复用。本发明专利技术能节省大量芯片面积,降低功耗,而且实现过程简单,可用于设计ECC,RSA等加密处理器,适用于在FPGA及ASIC中实现。

【技术实现步骤摘要】

本专利技术涉及密码学领域,特别是涉及一种加密解密算法中的重要模块---大数模 乘器的电路结构。
技术介绍
近年来,随着信息化社会的发展和密码学商业应用的普及,人们对信息安全和保 密的重要性认识不断提高,密码学受到前所未有的重视。除传统的密码应用系统外,密码 学还应用于提供加密,签名,认证,密钥管理,分配等领域。加解密算法也层出不穷,如 ECC (Elliptic CurvesCryptography,椭圆曲线加密算法),RSA (RSA公开密钥加密算法), DSA (数字签名算法)等。1985年N. Koblitz和Miller提出将椭圆曲线用于密码算法,其根据是有限域 上的椭圆曲线上的点群中的离散对数问题ECDLP (EllipticCurve Discrete Logarithm ftxAlem)。破解椭圆曲线密码体制的时间复杂度是完全指数阶的。与其他加密算法相比,有 抗攻击性强,计算量小,处理速度快,占用资源少,带宽要求低等特点,使得其在保密通信, 数字签名,无线网络等领域有广泛的应用前景。大数模乘运算作为ECC加密算法中的基本运算单元,贯穿ECC算法整个流程。大 数模乘器的性能直接影响到整个ECC处理器的面积和功耗,所以对大数模乘器的改进显得 尤为重要。
技术实现思路
本专利技术要解决的技术问题是提供一种大数模乘器电路,能够提高资源利用率,节 省芯片面积。为解决上述技术问题,本专利技术的大数模乘器电路包括—个二输入与门,其两个输入端分别输入N位数据A和B的第i位数 据B,输出端连接到第三个二选一选择器MUX3的输入端;将B的第i位数据B与 A中的每一位数据做与运算,S卩如果B为1时,直接将A作为二输入与 门的运算结果输出到MUX3 ;如果B为0时,则将0作为二输入与门的运算结果输出到 MUX3 ;数据左移1位模块,其输入端连接到N+2位加法器的输出端Dout_c,其输出端连 接到第一个二选一选择器MUXl的输入端;将N+2位加法器的输出结果C左移一位输出到 MUXl ;第一个二选一选择器MUX1,两个输入端分别连接到N+2位加法器的输出端Dout_c 以及数据左移1位模块的输出端,其输出端连接到第二个二选一选择器MUX2的输入端;在 选择与控制模块的控制下,选择N+2位加法器的输出C或者数据左移1位模块的输出2C输 出到第二个二选一选择器MUX2 ;第二个二选一选择器MUX2,其一个输入端连接到第一个二选一选择器MUXl的输出端,另一个输入端输入常数0,其输出端连接到N+2位加法器的输入端Din_a ;在选择与控 制模块的控制下,选择第一个二选一选择器MUXl的输出C或者0输出到N+2位加法器;第三个二选一选择器MUX3,其一个输入端连接到二输入与门的输出端,另一个输 入端输入常数负P(即-P),其输出端连接到N+2位加法器的输入端Din_b ;在选择与控制 模块的控制下,选择二输入与门的输出结果或者常数-P输出到N+2位加法器;N+2位大数加法器,其两个输入端中,Din_a端连接到第二个二选一选择器MUX2的 输出端,0丨11_13端连接到第三个二选一选择器MUX3的输出端,其输出端Dout_c同时连接到 第一个二选一选择器MUXl的输入端、左移1位模块的输入端和大数模乘器的输出端C ;对 其输入的数据进行加法运算,产生的结果由Dout_c端输出;选择与控制模块,包含一个N+2位比较器,用于控制所述三个二选一选择器,以及 整个运算过程的数据流向和运算过程,保证整个电路正常工作;其中,0≤i≤N-I ;A, B,P均是位宽为N的二进制无符号大数。采用Blakley算法实现大数模乘器时,需要用到多个大数加法器来参与运算。随 着安全性要求提高,使得大数位数N增加,由此带来的资源消耗越来越大。本专利技术的大数模乘器电路能节省两个N+2位加法器和一个N+2位比较器资源 ’传 统电路实现Blakley算法时至少需要三个N+2位大数加法器和两个N+2位比较器;而本发 明的电路结构通过资源复用,只需要一个N+2位大数加法器和一个N+2位比较器,从而节省 了大量芯片面积,降低了功耗;本专利技术实现过程简单,可用于设计ECC,RSA等加密处理器, 适用于在FPGA及ASIC中实现。附图说明下面结合附图与具体实施方式对本专利技术作进一步详细的说明图1是大数模乘器电路一实施例结构图;图2是大数模乘器运算流程图。具体实施例方式如图1所示,在一实施例中,所述的大数模乘器电路包括一个二输入与门,一个数 据左移1位模块,三个二选一选择器MUXl,MUX2和MUX3,一个N+2位加法器以及选择与控 制模块。其中,选择与控制模块包含一个用来比较C与P大小的N+2位比较器,一个下标i 与1相减的电路以及一个用于判断i是否小于0的比较器,用于控制所述三个二选一选择 器,以及整个运算过程的数据流向和运算过程,保证整个电路正常工作。在所述选择与控制 模块的控制和协调,使得整个电路在满足模乘功能的前提下,实现N+2位比较器和N+2位加 法器的复用。模乘一般表示为C = (A*B)mod P 0 ≤ A,B < P其中A,B, P都是位宽为N的二进制无符号大数。模乘器由两部分运算组成,先对 A和B作乘法运算,然后再模以P。1983年Blakley基于该计算式提出了一种加法型模乘算法,其设计思想是将模乘 转换为一系列加法运算。为使最终结果C小于P,每次计算的中间结果都需做求模运算。Blakley 算法如下输入A= {An_1 An^2-A1, A0IB = {Bn_1 Bn^2-B1, B0Iρ = {Ph,Pn^P1,p0}C = O输出C=(A*B)modP其中,C= UwCnCcJ运算过程如下UC = O;2、For i = Oto(N-I);3、 {4、C = 2〇+Α*Βν_η ;5、If (C 彡 P);6、C = C_P;7、If (C 彡 P);8、C = C_p;9、}10、Return C。由上面的Blakley算法可知,在第4步,第6步和第8步都需要进行加法运算,需 要3个N+2位加法器;在第5步和第7步都需要进行比较操作,需要2个N+2位比较器。由 于Blakley算法中的所有运算都是串行的,故能通过加法器的复用来节省系统资源。本发 明就是采取第6步和第8步的加法运算复用第4步所使用的N+2位加法器,同时第5步和 第7步共用同一个N+2位比较器。N+2位加法器的两个输入端分别为Din_a,Din_b,输出端为Dout_c,则在选择与控制模块的控制下,不同时期加法器的输入输出情况如下表所示Din aDin bDout c第4步i = 00A*BA*Bi乒02CA*B2C + A*B第6/8步C-PC+ (-P)当A,B到达时,A的值直接输入模乘器,而B的值由高到低按位输入模乘器,C的 初始值为0,计数器i的初始值为N-1,在选择与控制模块的控制下大数模乘器电路开始运 算,最终的运算结果由大数模乘器电路的输出端C输出。参见图2,所述大数模乘器运算流程是大数模乘器初始化时,A = {A,… A,A},B = {B , -B,B},P = {P ,…P ,P },累计变量 C 也是 N位数,值为0,下标i的值为N-I ;第一次本文档来自技高网...

【技术保护点】
1.一种大数模乘器电路,其特征在于,包括:一个二输入与门,其两个输入端分别输入N位数据A[N-1:0]和B的第i位数据B[i],输出端连接到第三个二选一选择器MUX3的输入端;将B的第i位数据B[i]与A[N-1:0]中的每一位数据做与运算;数据左移1位模块,其输入端连接到N+2位加法器的输出端Dout_c,其输出端连接到第一个二选一选择器MUX1的输入端;将N+2位加法器的输出结果C左移一位输出到MUX1;第一个二选一选择器MUX1,两个输入端分别连接到N+2位加法器的输出端Dout_c以及数据左移1位模块的输出端,其输出端连接到第二个二选一选择器MUX2的输入端;在选择与控制模块的控制下,选择N+2位加法器的输出C或者数据左移1位模块的输出2C输出到第二个二选一选择器MUX2;第二个二选一选择器MUX2,其一个输入端连接到第一个二选一选择器MUX1的输出端,另一个输入端输入常数0,其输出端连接到N+2位加法器的输入端Din_a;在选择与控制模块的控制下,选择第一个二选一选择器MUX1的输出C或者常数0输出到N+2位加法器;第三个二选一选择器MUX3,其一个输入端连接到二输入与门的输出端,另一个输入端输入常数-P,其输出端连接到N+2位加法器的输入端Din_b;在选择与控制模块的控制下,选择二输入与门的输出结果或者常数-P输出到N+2位加法器;N+2位大数加法器,其两个输入端中,Din_a端连接到第二个二选一选择器MUX2的输出端,Din_b端连接到第三个二选一选择器MUX3的输出端,其输出端Dout_c同时连接到第一个二选一选择器MUX1的输入端、左移1位模块的输入端和大数模乘器的输出端C;对其输入的数据进行加法运算,产生的结果由Dout_c端输出;选择与控制模块,包括一个N+2位比较器,用于控制所述三个二选一选择器,以及整个运算过程的数据流向和运算过程,保证整个电路正常工作;其中,0≤i≤N-1;A,B,P均是位宽为N的二进制无符号大数。...

【技术特征摘要】

【专利技术属性】
技术研发人员:左耀华
申请(专利权)人:上海华虹集成电路有限责任公司
类型:发明
国别省市:31

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1