蒙哥马利算法在有限域中实现四则运算的硬件实现方法技术

技术编号:38569364 阅读:7 留言:0更新日期:2023-08-22 21:05
本发明专利技术属于主动标识技术领域,公开了一种蒙哥马利算法在有限域中实现四则运算的硬件实现方法,包括如下步骤:步骤1、进行预处理,大整数模数Q和除数y通过stein算法求出其模逆;步骤2、通过蒙哥马利预处理模块的蒙哥马利算法将大整数x、y转化成蒙哥马利型式;步骤3、通过蒙哥马利计算模块的蒙哥马利算法根据外部使能对有限域中的x和y进行四则运算,得出结果。本发明专利技术提出了通过硬件电路的特点实现stein算法和蒙哥马利算法,能有效提高大整数在有限域运算的速度,降低资源的消耗。降低资源的消耗。降低资源的消耗。

【技术实现步骤摘要】
蒙哥马利算法在有限域中实现四则运算的硬件实现方法


[0001]本专利技术属于主动标识
,具体的说是涉及一种蒙哥马利算法在有限域中实现四则运算的硬件实现方法。

技术介绍

[0002]工业主动标识载体是工业互联网架构体系中的重要组成部分,作为支撑工业互联网通信的神经枢纽的同时,还实现了工业互联网数据共享公用。其中,网络通信安全变得尤为重要,为了保障网络通信中载体标识编码、安全证书等信息的安全性,所以对重要数据加密签名成了一个不可多得的选择,可以通过对关键信息进行加密签名来保证信息的安全性。而在加密签名的算法中,大整数在有限域的四则运算是不可避免的,其中除法具有最消耗资源、运算速度慢和难以实现等缺点,通过蒙哥马利算法可以避免在有限域中的除法运算,但在蒙哥马利算法中大整数的运算总会大量地消耗硬件资源,从而影响算法的性能和资源的控制。
[0003]CN115904310A 公开了一种蒙哥马利算法的硬件实现方法和硬件实现装置(公开日2023.04.04日),此方法是通过调整蒙哥马利算法的计算顺序来优化算法,其中有四次乘法运算和一次减法运算,优化方法是将第二个时钟周期置换为乘法运算的时钟周期,通过第一乘法器执行所述第一、二、三乘法运算,通过第二乘法器执行第四乘法运算,从而可以节省乘法器资源。但该技术未对蒙哥马利算法进行优化,没有提升算法的运算效率。

技术实现思路

[0004]为了解决上述技术问题,本专利技术提供了一种蒙哥马利算法在有限域中实现四则运算的硬件实现方法,该方法是逐步分解大位宽数据,通过类似流水线方式迭代实现蒙哥马利算法,再借助于算法求取模逆,从而实现大整数在有限域中的四则运算。
[0005]为了达到上述目的,本专利技术是通过以下技术方案实现的:
[0006]本专利技术是一种蒙哥马利算法在有限域中实现四则运算的硬件实现方法,该硬件实现方法按照如下步骤1

3,计算出两个大数在有限域中四则运算的结果,具体的硬件实现方法包括如下步骤:
[0007]步骤1、 进行预处理,大整数模数Q和除数y通过stein算法求出其模逆;
[0008]步骤2、通过蒙哥马利预处理模块的蒙哥马利算法将大整数x、y转化成蒙哥马利型式;
[0009]步骤3、通过蒙哥马利计算模块的蒙哥马利算法根据外部使能对有限域中的x和y进行四则运算,得出结果。
[0010]本专利技术的进一步改进在于:所述步骤3中,通过蒙哥马利计算模块的蒙哥马利算法根据外部使能对有限域中的x和y进行四则运算,具体为:
[0011]外部加减法使能时,,其中X和Y分别是大整数x、y的蒙哥马利型式,P为参数且满足, k为大位宽;
[0012]外部乘法使能时,,由于该式不符合蒙哥马利型式,再进行一次蒙哥马利运算,即,其中为在的逆元;
[0013]外部除法使能时,,其中为在的逆元,此时将除法转化为乘法。
[0014]本专利技术的进一步改进在于:步骤2和步骤3中,在蒙哥马利预处理模块和蒙哥马利计算模块中的蒙哥马利算法是通过硬件实现的,具体步骤为:
[0015]规定,其中;
[0016]步骤2

1、将上式中参数进行分解位宽处理,令:
[0017],其中,
[0018],其中;
[0019]步骤2

2、参数Z根据蒙哥马利算法和位宽分解处理得到,
[0020],
[0021]其中:是大位宽k分解为m个宽度为n的小位宽后,计算第i个参数,是中间结果的低n位,是满足的正整数,是的低n位,是大位宽k分解为m个宽度为n的小位宽后,计算第i个参数;
[0022]步骤2

3、结果S根据蒙哥马利算法和分布式处理得到中间结果;
[0023];
[0024]其中,,,当迭代m次后。
[0025]本专利技术的进一步改进在于:所述步骤1具体包括如下步骤
[0026]步骤1

1、确定大整数模数和两个大整数x、y;
[0027]步骤1

2、通过模数,确定P=2^k且P>Q;
[0028]步骤1

3、通过stein算法求出模数和除数y的模逆。
[0029]本专利技术的进一步改进在于:所述步骤1

3通过stein算法求出模数和除数y的模逆,即和,所述stein算法流程如下:
[0030]规定,令,
[0031]步骤1

1、判断r是否为1;
[0032]步骤1

2、当r为偶数时,;
[0033]当x为偶数时,,否则;
[0034]步骤1

3、当q为偶数时,;
[0035]当y为偶数时,,否则;
[0036]步骤1

4、当r>q时,;
[0037]否则;
[0038]步骤1

5、当r为1时,算法结束,此时,其中r、d是任意的正整数,并且满足dr=1modq。
[0039]本专利技术的进一步改进在于:所述步骤2通过蒙哥马利预处理模块将大整数x、y转化成蒙哥马利型式的过程为:
[0040]由蒙哥马利算法得
[0041],
[0042]令,则通过蒙哥马利算法得。
[0043]本专利技术的进一步改进在于:所述实现方法包括stein算法模块、蒙哥马利预处理模块和蒙哥马利计算模块三个模块,stein算法模块是通过stein算法实现大整数的模逆运算,用来求取大整数模数Q和除数y的模逆,蒙哥马利预处理模块是通过蒙哥马利算法对大整数x和y进行预处理,转化成进行蒙哥马利运算的蒙哥马利型式,蒙哥马利算法模块是对大整数x和y的蒙哥马利型式进行四则运算,最终得到大整数x和y在有限域中的四则运算的结果,通过分解位宽,形成流水线型式的迭代运算,通过分解大整数x的位宽,降低运算的资源消耗。
[0044]本专利技术的有益效果是:
[0045]本专利技术通过位宽分解的方法实现蒙哥马利算法,减少了硬件资源消耗;通过使用流水线方式提高了算法的运算效率;同时将有限域中四则运算集成在一个模块中。
[0046]本专利技术平衡了计算时间和硬件的资源消耗,具有较好的可移植性和通用性。
[0047]本专利技术方法简单,易于实现,能够解决在公钥加解密系统中大整数运算问题。
[0048]该方法提出了通过硬件电路的特点实现stein算法和蒙哥马利算法,能有效提高大整数在有限域运算的速度,降低资源的消耗。
附图说明
[0049]图1是本专利技术算法硬件实现的流程图。
[0050]图2是本专利技术算法硬件实现的结构图。
[0051]图3是本专利技术的stein算法的流程图。
[0052]图4是本专利技术的蒙哥马利算法硬件实现结构图。
[0053]图5是本专利技术的蒙哥马利算法单运算模块结构图。
...

【技术保护点】

【技术特征摘要】
1.一种蒙哥马利算法在有限域中实现四则运算的硬件实现方法,其特征在于:按照如下步骤1

3,计算出两个大数在有限域中四则运算的结果,具体的硬件实现方法包括如下步骤:步骤1、 进行预处理,大整数模数Q和除数y通过stein算法求出其模逆;步骤2、通过蒙哥马利预处理模块的蒙哥马利算法将大整数x、y转化成蒙哥马利型式;步骤3、通过蒙哥马利计算模块的蒙哥马利算法根据外部使能对有限域中的x和y进行四则运算,得出结果。2.根据权利要求1所述的蒙哥马利算法在有限域中实现四则运算的硬件实现方法,其特征在于:所述步骤3中,通过蒙哥马利计算模块的蒙哥马利算法根据外部使能对有限域中的x和y进行四则运算,具体为:外部加减法使能时,,其中X和Y分别是大整数x、y的蒙哥马利型式,P为参数且满足, k为大位宽;外部乘法使能时,,由于式不符合蒙哥马利型式,再进行一次蒙哥马利运算,即,其中为在的逆元;外部除法使能时,,其中为在的逆元,此时将除法转化为乘法。3.根据权利要求1或2所述的蒙哥马利算法在有限域中实现四则运算的硬件实现方法,其特征在于:步骤2和步骤3中,在蒙哥马利预处理模块和蒙哥马利计算模块中的蒙哥马利算法是通过硬件实现的,具体步骤为:规定,其中;步骤2

1、将上式中参数进行分解位宽处理,令:,其中,,其中;步骤2

2、参数Z根据蒙哥马利算法和位宽分解处理得到,,其中,是大位宽k分解为m个宽度为n的小位宽后,计算第i个参数,是中间结果的低n位,是满足的正整数,是的低n位,是大位宽k分解为m个宽度为n的小位宽后,计算第i个参数;步骤2

3、结果S根据蒙哥马利算法和分布式处理得到中间结果;;
其中,,,当迭代m次后。4.根据权利要求1所述的蒙哥马利算法在有限域中实现四则运算的硬件实现方法,其特征在于:所述步骤1具体包括如下...

【专利技术属性】
技术研发人员:郝学元朱友康李佳乐许宸瑞包刚
申请(专利权)人:南京邮电大学
类型:发明
国别省市:

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

1