System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种基于低复杂度模乘算法的Paillier同态加密方法及系统技术方案_技高网

一种基于低复杂度模乘算法的Paillier同态加密方法及系统技术方案

技术编号:40637327 阅读:4 留言:0更新日期:2024-03-13 21:20
一种基于低复杂度模乘算法的Paillier同态加密方法及系统,涉及硬件信息安全密码加密技术领域,为解决现有的加密系统模乘算法运算复杂、大位宽模乘的运行周期长的问题而提出的,技术要点:包括输入为512bit操作数为64bit的Karatsuba乘法算法、输入为2048bit操作数为512bit的全字模乘算法。使用输入为512bit操作数为64bit的Karatsuba乘法算法用于减少所需的乘法次数,适合用来降低加密算法中大位宽乘法的复杂度。输入为2048bit操作数为512bit的全字模乘算法用于将大位宽乘法操作分解为小位宽乘法操作,降低硬件复杂度。本发明专利技术可以保证在同态加密Paillier算法的实现过程中模乘算法的复杂度更低,提高效率。

【技术实现步骤摘要】

本专利技术涉及硬件信息安全密码加密,具体涉及一种基于低复杂度模乘算法的paillier同态加密方法及系统。


技术介绍

1、随着网络技术的飞速发展以及智能终端的大规模普及,信息安全问题也逐渐引起人们的重视,网络安全主要是信息安全,而密码学是信息安全领域的核心研究问题,同态加密是一种基于公钥密码体制的加密算法,它可以通过对密文进行运算得到加密结果,解密后与明文运算的结果一致。因此,可以在数据保密的情况下解决密文的检索和比较等操作。同态加密算法分为全同态加密算法和部分同态加密算法,但是现有全同态加密算法为保证数据安全性,普遍效率低下,难以被实际应用。部分同态加密算法出现较早,加解密速度很快,被广泛应用于消息传输、数字签名中。部分同态加密方案是指具有单一的加法同态性或乘法同态性,例如rsa算法、elgamal算法和paillier算法等。其中paillier同态加密的加性同态性质在保密安全计算、加密数据库和加密数据的机器学习等应用中得到了广泛的应用。在仅需要密文加法计算的场合极具竞争力。

2、同态加密paillier算法为保证加密的安全性,往往选取大位宽的密钥,而大位宽密钥直接导致了运算复杂度大幅增加,模乘算法是加密系统的核心部分,因此降低大位宽模乘的运算复杂度,减少大位宽模乘的运行周期,是至关重要的一步,往往是打破加密系统瓶颈的关键。使用基本的模乘算法会使得乘法次数过多、运算复杂度变高,或者乘法器面积过大、大大增加硬件复杂度。

3、现有的加密系统关于如何降低模乘算法运算复杂度,减少大位宽模乘的运行周期并没有给出解决方案。因此需要设计一种低复杂度模乘算法来降低大位宽密钥导致的运算复杂度增加的问题。


技术实现思路

1、本专利技术提供一种基于低复杂度模乘算法的paillier同态加密方法及系统,以解决现有的加密系统的大位宽模乘的运算复杂、大位宽模乘的运行周期长的问题。

2、为了实现上述目的,本专利技术通过优化大整数乘法,利用karatsuba算法将原需要64次小位宽乘法运算的大整数乘法减少至27次,降低了模乘所需的乘法运算次数;提出了改进后的karatsuba算法,并使用karatsuba算法改进了模乘算法,最终实现低复杂度同态加密paillier运算。

3、本专利技术为解决上述技术问题所采用的技术方案如下:

4、本专利技术提供一种基于低复杂度模乘算法的paillier同态加密方法,应用于同态加密paillier的低复杂度模乘算法的硬件架构包括输入为512bit操作数为64bit的karatsuba乘法算法、输入为2048bit操作数为512bit的全字ka-fp模乘算法。

5、所述的输入为512bit操作数为64bit的karatsuba乘法算法用于减少所需的乘法次数,适合用来降低加密算法中大位宽乘法的复杂度。所述的输入为2048bit操作数为512bit的全字ka-fp模乘算法用于将大位宽乘法操作分解为小位宽乘法操作,降低硬件复杂度。

6、进一步地,所述的低复杂度模乘算法,其特征在于,输入为512bit操作数为64bit的karatsuba乘法算法;

7、karatsuba算法将乘法运算复杂度从o(k2)降低至使用一层karatsuba算法将两个512bit的乘数a和b进行分解,分别分解成256bit的a0、a1以及256bit的b0、b1,在进行a和b的乘法运算时,需要将a0、a1分别去乘b0、b1,这样需要4次256bit的乘法,通过一层karatsuba算法可将4次乘法运算减少至3次,然后将得到的3次乘法分别分解为原位宽的一半,重复上述操作2次,得到了经过三次karatsuba算法分解的操作数为64位的512位乘法器。这使得实现的512位乘法器所需的乘法操作次数从原来的64次降低至27次,大幅度降低了计算复杂度。将得到的使用64位操作数实现的512位乘法器结果进行整理,可实现a*b的最终结果的每64位由不相关的乘法和加法构成,降低高位与低位之间的数据依赖关系,这样使得内部乘法和加法计算时可以实现并行,加快计算速度。

8、进一步地,所述的低复杂度模乘算法,其特征在于,输入为2048bit操作数为512bit的全字ka-fp模乘算法;

9、原有的全字模乘算法是首先计算出两个大数乘法,再通过约减算法进行处理,将整个结果规约到模数的范围之内。而全字ka-fp模乘算法是将输入的2048bit操作数按照512bit字长进行分解,得到字数为4,算法具有内外两层循环,对512bit字长进行扫描,内层与外层循环每次进行512bit乘512bit操作,该操作使用512bit karatsuba乘法算法模块完成,全字ka-fp模乘算法需要12次迭代,乘法次数972次,降低了计算复杂度,并将乘数为2048bit的乘法器降低为64bit,降低了硬件复杂度。

10、与现有技术相比至少实现了如下的有益效果:本专利技术提出一种应用于同态加密paillier的低复杂度模乘算法及其硬件架构,可以保证在同态加密paillier算法的实现过程中模乘算法的复杂度更低,提高效率。完成一次2048bit的模乘运算仅需972次乘法运算,相较于传统的输入为2048bit操作数为64bit的全字蒙哥马利模乘所需的乘法次数减少了约54%,降低了计算复杂度。

11、一种基于低复杂度模乘算法的paillier同态加密系统,该系统具有与上述技术方案的步骤对应的程序模块,运行时执行上述的一种基于低复杂度模乘算法的paillier同态加密方法中的步骤。

12、一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序配置为由处理器调用时实现上述的一种基于低复杂度模乘算法的paillier同态加密方法的步骤。

13、一种paillier同态加密处理器,所述的paillier同态加密处理器是基于低复杂度模乘算法的paillier同态加密系统来实现的。

14、进一步地,所述的一种paillier同态加密处理器,包括:顶部控制器、全局存储器系统和多个具有位串行可重配置的数据流的密文处理元件;顶部控制器,用于控制芯片内部的数据流动和密文处理元件的计算;全局存储器系统,用于存储芯片内部计算需要的输入和输出数据;密文处理元件,用于计算处理密文所需的模运算;所述顶部控制器控制全局存储器系统与多个密文处理元件通过总线进行数据交互。

15、进一步地,每个密文处理元件均包括权重缓存器、输入缓存器、输出缓存器、用于位串行处理的部分和项的查找表单元、蒙哥马利单元和扩展欧几里得单元;权重缓存器用于存储同密文相乘的权重;输入缓存器用于存储计算密文;输出缓存器用于存储计算结果;用于位串行处理的部分和项的查找表单元:用于存储密文中间结算结果;所述蒙哥马利单元执行用于paillier算法被组织为模乘和模幂运算的蒙哥马利模乘;所述扩展欧几里得单元用于将扩展欧几里得算法用于模逆运算。

16、所述的paillier同态本文档来自技高网...

【技术保护点】

1.一种基于低复杂度模乘算法的Paillier同态加密方法,其特征在于,所述Paillier同态加密方法采用的低复杂度模乘算法包括输入为512bit操作数为64bit的Karatsuba乘法算法、输入为2048bit操作数为512bit的全字KA-Fp模乘算法;

2.根据权利要求1所述的一种基于低复杂度模乘算法的Paillier同态加密方法,其特征在于,512bit操作数的乘法器使用输入为512bit操作数为64bit的Karatsuba乘法算法:

3.根据权利要求1所述的一种基于低复杂度模乘算法的Paillier同态加密方法,其特征在于,输入为2048bit操作数为512bit的全字KA-Fp模乘算法:

4.一种基于低复杂度模乘算法的Paillier同态加密系统,其特征在于:该系统具有与上述权利要求1-3任一项权利要求的步骤对应的程序模块,运行时执行上述的一种基于低复杂度模乘算法的Paillier同态加密方法中的步骤。

5.一种计算机可读存储介质,其特征在于:所述计算机可读存储介质存储有计算机程序,所述计算机程序配置为由处理器调用时实现权利要求1-3中任一项所述的一种基于低复杂度模乘算法的Paillier同态加密方法的步骤。

6.一种Paillier同态加密处理器,其特征在于:所述的Paillier同态加密处理器是基于低复杂度模乘算法的Paillier同态加密系统来实现的。

7.根据权利要求6所述的一种Paillier同态加密处理器,其特征在于:包括:顶部控制器、全局存储器系统和多个具有位串行可重配置的数据流的密文处理元件;顶部控制器,用于控制芯片内部的数据流动和密文处理元件的计算;全局存储器系统,用于存储芯片内部计算需要的输入和输出数据;密文处理元件,用于计算处理密文所需的模运算;所述顶部控制器控制全局存储器系统与多个密文处理元件通过总线进行数据交互。

8.根据权利要求7所述的一种Paillier同态加密处理器,其特征在于:每个密文处理元件均包括权重缓存器、输入缓存器、输出缓存器、用于位串行处理的部分和项的查找表单元、蒙哥马利单元和扩展欧几里得单元;权重缓存器用于存储同密文相乘的权重;输入缓存器用于存储计算密文;输出缓存器用于存储计算结果;用于位串行处理的部分和项的查找表单元:用于存储密文中间结算结果;所述蒙哥马利单元执行用于Paillier算法被组织为模乘和模幂运算的蒙哥马利模乘;所述扩展欧几里得单元用于将扩展欧几里得算法用于模逆运算。

9.根据权利要求8所述的一种Paillier同态加密处理器,其特征在于,所述的Paillier同态加密处理器用于加速芯片上。

...

【技术特征摘要】

1.一种基于低复杂度模乘算法的paillier同态加密方法,其特征在于,所述paillier同态加密方法采用的低复杂度模乘算法包括输入为512bit操作数为64bit的karatsuba乘法算法、输入为2048bit操作数为512bit的全字ka-fp模乘算法;

2.根据权利要求1所述的一种基于低复杂度模乘算法的paillier同态加密方法,其特征在于,512bit操作数的乘法器使用输入为512bit操作数为64bit的karatsuba乘法算法:

3.根据权利要求1所述的一种基于低复杂度模乘算法的paillier同态加密方法,其特征在于,输入为2048bit操作数为512bit的全字ka-fp模乘算法:

4.一种基于低复杂度模乘算法的paillier同态加密系统,其特征在于:该系统具有与上述权利要求1-3任一项权利要求的步骤对应的程序模块,运行时执行上述的一种基于低复杂度模乘算法的paillier同态加密方法中的步骤。

5.一种计算机可读存储介质,其特征在于:所述计算机可读存储介质存储有计算机程序,所述计算机程序配置为由处理器调用时实现权利要求1-3中任一项所述的一种基于低复杂度模乘算法的paillier同态加密方法的步骤。

6.一种paillier同态加密处理器,其特征...

【专利技术属性】
技术研发人员:黄海马天骐于斌刘志伟赵石磊马超吴英东
申请(专利权)人:哈尔滨理工大学
类型:发明
国别省市:

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

1