【技术实现步骤摘要】
一种改进的包含秘密的数的生成方法及系统
本专利技术属于信息安全
,特别是一种改进了的包含秘密的数的生成方法及系统。
技术介绍
在实际应用中,尤其是密码应用中,有可能需要在不暴露两个装置(系统)的秘密的情况下计算得到c=w1w2(g1+g2)modn,这里,g1、w1是其中一个装置(系统)的秘密,g2、w2是另一个装置的秘密,n是一个素数,modn表示求模n余数运算,它的运算优先级最低。针对此问题,本专利申请的专利技术人在专利申请“包含秘密的数和椭圆曲线点的生成方法及系统”(专利申请号:201710984613.7)中提出了相应的技术方案,方案采用了同态加密算法。但此专利申请中的方案也存在不足:计算比较复杂,比如,同态加密的加密运算次数较多,且需要两次判断采用同态加密算法加密后的数是否为0的加密结果,这些都降低了计算效率。
技术实现思路
本专利技术的目的是提出一种改进的包含秘密的数据的生成方法,以克服现有技术方案的不足。本专利技术提出的改进的包含秘密的数的生成方法具体如下。所述包含秘密的数的生成方法涉及被称为第一装置和第二装置的两个装置,其中,第一装置有[1,n- ...
【技术保护点】
1.一种包含秘密的数的生成方法,其特征是:所述包含秘密的数的生成方法涉及被称为第一装置和第二装置的两个装置,其中,第一装置有[1,n‑1]中的整数秘密g1、w1,第二装置有[1,n‑1]中的整数秘密g2、w2,n是一个素数;所述第一装置、第二装置按如下方式计算得到包含秘密g1、w1、g2、w2的数c=w1w2(g1+g2)mod n:第一装置在[1,n‑1]内随机选择整数a1、a2,且使得(a1a2)mod n=1;第一装置计算s0=E((a1w1)mod n),s1=(a1w1g1)mod n,其中,E(·)是使用第一装置的公钥的加法同态加密的加密运算;第一装置将s0、s ...
【技术特征摘要】
1.一种包含秘密的数的生成方法,其特征是:所述包含秘密的数的生成方法涉及被称为第一装置和第二装置的两个装置,其中,第一装置有[1,n-1]中的整数秘密g1、w1,第二装置有[1,n-1]中的整数秘密g2、w2,n是一个素数;所述第一装置、第二装置按如下方式计算得到包含秘密g1、w1、g2、w2的数c=w1w2(g1+g2)modn:第一装置在[1,n-1]内随机选择整数a1、a2,且使得(a1a2)modn=1;第一装置计算s0=E((a1w1)modn),s1=(a1w1g1)modn,其中,E(·)是使用第一装置的公钥的加法同态加密的加密运算;第一装置将s0、s1发送给第二装置;第二装置检查s0是否是0的加密结果,检查s1是否为0,若s0是0的加密结果,或者s1为0,则终止后续操作,否则,继续后续操作;第二装置在[1,n-1]内随机选择整数b1、b2,且使得(b1+b2)modn=0,然后计算s2=((((w2g2)modn)+z1n)⊙s0)⊕E(z2n+b1),s3=(w2s1+b2)modn;第二装置将s2、s3发送给第一装置;第一装置接收到s2、s3后,计算s4=D(s2),其中D(·)是使用第一装置的私钥的加法同态加密的解密运算;第一装置检查s3和s4是否为0,若s3或s4为0,则终止后续操作,否则,继续后续操作;第一装置计算c=(a2(s3+s4))modn;在以上计算过程中,⊕表示同态加密的密文数的加运算,⊙表示同态加密中的明文数与密文数的乘运算;z1、z2是只有第二装置知道的整数;以上过程中所使用的加法同态加密针对被加密的明文数进行运算所对应的模m大于n。2.根据要求1所述的包含秘密的数的生成方法,其特征是:所述z1是第二装置随机选择的整数,或者按预定的规则选择的整数,或者固定选择的整数,而所述z2是第二装置随机选择的整数;所述z1、z2的取值范围不限于[1,n-1],且z1、z2的取值是整数;当s0对应的明文数的取值在[1,n-1]范围内时,z1、z2的取值使得s2对应的明文数不超出加法同态加密的明文数的补码的表示范围,或者使得s2对应的明文数超出加法同态加密的明文数的补码的表示范围的概率极小,所述概率极小指具体应用中所确定的允许的概率。3.根据要求1所述的包含秘密的数的生成方法,其特征是:若每次计算时w2的取值是[1,n-1]中的随机数,则第二装置无需检查s0是否是0的加密结果。4.根据要求1所述的包含秘密的数的生成方法,其特征是:若第一装置之外的其他装置或系统能够获得c或能够从由c生成的数据中获解c,而且每次计算c时(w1g1)modn的取值不是[1,n-1]中的随机数,则第一装置在返回或发布c前,或者在第一装置返回或发布由c生成的数据前,必须在不暴露自身秘密的情况下验证c的有效性或验证由c生成的数据的有效性。5.根据要求1所述的包含秘密的数的生成方法,其特征是:若第一装置之外的其他装置和系统不能够获得c也不能够从由c生成的数据中获解c,或者每次计算c时(w1g1)modn的取值是[1,n-1]中的随机数,则验证c的有效性的操作不...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。