【技术实现步骤摘要】
对素数取模、素域中模乘运算的实现方法和装置
本说明书涉及数据处理
,尤其涉及一种对素数取模的实现方法和装置、一种素域中模乘运算的实现方法和装置。
技术介绍
取模运算是计算机领域十分重要的运算方式,其中对素数取模在哈希算法、加解密算法等场景中都有着广泛的应用。在对时效要求较高的场合,经常采用专门的硬件来更快的完成这些算法,如基于FPGA(FieldProgrammableGateArray,可编程逻辑阵列)、或ASIC(ApplicationSpecificIntegratedCircuit,专用集成电路)的硬件加速卡。随着互联网金融的发展和普及,对网络安全服务的要求越来越高,加解密算法中使用的二进制位数越来越大。而取模运算的位数越大,硬件完成运算所需的时间越长,对网络服务时效有着不容忽视的不利影响。
技术实现思路
有鉴于此,本说明书提供一种对素数取模的实现方法,用于计算AmodP,其中A是最大位数为BA的二进制数,P为BP位二进制数素数、并且P满足Nm=(BP+mod(BP,BWm))/BWm;m为非负整数;n为从0到(Nm-1)的整数;ωNm+m,n为整数;BWm为自然数;所述方法包括:将ai输入Nm个BWm位的取模加法器,计算Ns个Nm*BWm位的加数项St的加权和ai为A的第i*BWm位到第((i+1)*BWm-1)位;i为从0到(Na-1)的整数;Na=(BA+mod(BA,BWm))/BWm;Ns为自然数;t为从1到Ns的自然数;σt为整数,σt和st,n满足st,n为St的第n*BWm位到第((n+1)*BWm-1)位,st,n或者等于某个a ...
【技术保护点】
1.一种对素数取模的实现方法,用于计算A mod P,其中A是最大位数为BA的二进制数,P为BP位二进制数素数、并且P满足
【技术特征摘要】
1.一种对素数取模的实现方法,用于计算AmodP,其中A是最大位数为BA的二进制数,P为BP位二进制数素数、并且P满足Nm=(BP+mod(BP,BWm))/BWm;m为非负整数;n为从0到(Nm-1)的整数;ωNm+m,n为整数;BWm为自然数;所述方法包括:将ai输入Nm个BWm位的取模加法器,计算Ns个Nm*BWm位的加数项St的加权和ai为A的第i*BWm位到第((i+1)*BWm-1)位;i为从0到(Na-1)的整数;Na=(BA+mod(BA,BWm))/BWm;Ns为自然数;t为从1到Ns的自然数;σt为整数,σt和st,n满足st,n为St的第n*BWm位到第((n+1)*BWm-1)位,St,n或者等于某个ai或者等于0;将加权和SumS对P取模。2.根据权利要求1所述的方法,所述将加权和SumS对P取模,包括:采用减法运算,将加权和SumS对P取模。3.根据权利要求1所述的方法,所述取模加法器为采用并行进位链的加法器。4.一种素域中模乘运算的实现方法,用于计算(C*D)modP,其中C、D为所述素域中的元素;P为所述素域的特征、为BP位二进制数、并且P满足Nm=(BP+mod(BP,BWm))/BWm;m为非负整数;n为从0到(Nm-1)的整数;ωNm+m,n为整数;BWm为自然数;所述方法包括:采用乘法器阵列和乘积加法器阵列,计算C与D的乘积A;将ai输入Nm个BWm位的加法器,计算Ns个Nm*BWm位的加数项St的加权和ai为A的第i*BWm位到第((i+1)*BWm-1)位;i为从0到(Na-1)的整数;Na=(BA+mod(BA,BWm))/BWm;BA=2*BP;Ns为自然数;t为从1到Ns的自然数;σs为整数,σs和st,n满足st,n为St的第n*BWm位到第((n+1)*BWm-1)位,St,n或者等于某个ai或者等于0;将加权和SumS对P取模。5.根据权利要求4所述的方法,所述乘法器阵列包括Nc×Nd个输入位宽为BWpC×BWpD的乘法器;BWpC和BWpD均为正整数;Nc=(BP+mod(BP,BWpC)/BWpC,Nd=(BP+mod(BP,BWpD))/BWpD;所述乘积加法器阵列包括Na个位宽为BWm的乘积加法器;所述采用乘法器阵列和乘积加法器阵列,计算C与D的乘积A,包括:将cu和dv输入第(u,v)个乘法器,得到部分积PPu,v;u为从0到(Nc-1)的整数;v为从0到(Nd-1)的整数;cu为C的第u*BWpC位到第((u+1)*BWpC-1)位;dv为D的第v*BWpD位到第((v+1)*BWpD-1)位;将Nc×Nd个PPu,v分别输入乘积加法器阵列,每个乘积加法器的输出为一个ai,Na个乘积加法器的输出为A。6.根据权利要求4所述的方法,所述将加权和SumSS对P取模,包括:采用减法运算,将加权和SumS对P取模。7.根据权利要求4所述的方法,所述取模加法器为采用并行进位链的加法器;和/或,所述乘积加法器为采用并行进位链的加法器。8.一种对素数取模的实现装置,用于计算AmodP,其中A是最大位数为BA的二进制数,P为BP位二进制数素数、并且P满足Nm=(BP+mod(BP,BWm))/BWm;m为非负整数;n为从0到(Nm-1)的整数;ωNm+m,n为整数;BWm为自然数;所述装置包括:加权和运算单元,用于将ai输入Nm个BWm位的取模加法器,计算Ns个...
【专利技术属性】
技术研发人员:徐建国,潘国振,朱冠胤,廖恬瑜,杨艺宾,
申请(专利权)人:阿里巴巴集团控股有限公司,
类型:发明
国别省市:开曼群岛,KY
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。