[发明专利]一种乘法群上的最优带符号二进制快速计算方法及模幂运算有效
申请号: | 201910501568.4 | 申请日: | 2019-06-11 |
公开(公告)号: | CN112068801B | 公开(公告)日: | 2022-09-09 |
发明(设计)人: | 杨维忠 | 申请(专利权)人: | 云南大学 |
主分类号: | G06F7/523 | 分类号: | G06F7/523;G06F7/72 |
代理公司: | 成都九鼎天元知识产权代理有限公司 51214 | 代理人: | 韩雪 |
地址: | 650091 云*** | 国省代码: | 云南;53 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 乘法 最优 符号 二进制 快速 计算方法 运算 | ||
本发明公开了一种乘法群上的最优带符号二进制快速计算方法包括:将乘法群Mk中k转成原始二进制数值;利用最优带符号二进制快速计算方法,找到k的最优带符号二进制表达式,将最优带符号二进制表达式带入群中所定义的乘法运算得到结果;以及一种最优的带符号二进制模幂快速计算方法,能够根据目标系统的三个基本运算模乘运算MUL、模平方运算SQU和模逆运算INV的运算耗费,对幂指数k进行优化,在O(n)时间复杂度和O(1)空间复杂度下,从k的所有(3/2)n个带符号的二进制表达式中,输出计算量最小的那一个带符号二进制表达式k’,通过计算模幂运算Mk’mod N来得到运算结果。
技术领域
本发明涉及二进制算法领域,尤其是一种乘法群上的最优带符号二进制快速计算方法及模幂运算。
背景技术
在以模幂运算为代表的乘法群上,由于大整数转换的原始二进制还是比较大,造成运算开销大,运算速度慢的问题,需要优化。
在数学中,群表示一个拥有满足封闭性、结合律、有单位元、有逆元的二元运算的代数结构;乘法群是定义在集合和集合上的乘法运算所构成的一种代数结构,群中元素假设为M,那么M的k次乘法M*M*...*M(k个M相乘)可以记为Mk。
模幂运算是计算领域,特别是密码学领域里的一个经典问题,Mkmod N(M,k和N通常都是超过21024的大数),这个问题的优化,在三篇文献A Signed Binary MultiplicationTechnique、Binary Arithmetic、Optimal Left-to-Right Binary Signed-DigitRecoding中,经典的模幂快速运算所使用的算法如下:
以上算法1.1和1.2是二进制快速模幂算法,算法1.3和1.4是带符号二进制(BSD)快速算法,上面的三篇文献中还提出了NAF算法,通过引入-1(为了方便,以下记为),能够降低幂指数的非零值的个数,从而降低计算开销,达到快速计算的目的。在幂指数k,记为(kn,kn-1,...,k0)BSD,and ki∈{-1,0,1},文献On binary signed digitrepresentations of integers中给出了K的所有带符号二进制表达式的总数量为(3/2)n个。
虽然NAF算法加快了模幂算法的计算,但是并不适用于所有的模幂算法,例如:其中是NAF表达式,其中没有任意两个非零的二进制位相邻。假如我们用MUL来表示大数乘法运算(C*S),用SQU来表示大数的平方运算(C*C),以及用INV来表示模逆运算(C-1),以上三个运算都是模N的运算;这时就可以得到:
从以上可以看出,采用NAF算法的NAF表达式(1-1)并不能够得到最优的计算结果,最优的计算结果是(1-3)。
发明内容
本发明的发明目的在于:针对上述存在的问题,提供一种乘法群上的最优带符号二进制快速计算方法,以及最优带符号二进制模幂快速计算方法,其中模幂运算是乘法群上的一种运算;最优带符号二进制模幂快速计算方法,可以根据目标系统的三种基本运算MUL、SQU和INV,在幂指数k的所有带符号的二进制表示中,本发明能在O(n)时间复杂度和O(1)空间复杂度内,找到最优的,计算最快速的带符号二进制表达式。
本发明采用的技术方案如下:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于云南大学,未经云南大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910501568.4/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种农业打药机用清洗装置
- 下一篇:一种带有指示功能的信号灯