用于为有限域迪菲-赫尔曼选择安全质数的方法和系统技术方案

技术编号:22651318 阅读:40 留言:0更新日期:2019-11-26 18:55
一种用于迪菲‑赫尔曼密钥交换的方法,该方法包括:选择域大小p,其格式为p=hq+1,其中q是1加上阶乘数b的质数以使得q=(b!+1),并且h是使得p=hq+1是质数的余因子;选择生成元整数g,其阶模p是质数q或者能够被q整除;选择私钥x;通过求生成元g的私钥x次幂,对质数域大小p使用算数模运算,来计算公钥g

The method and system for choosing the safe prime number for the finite domain Duffy Herman

A method for the DIFE \u2011 Herman key exchange includes: selecting the domain size P in the form of P = HQ + 1, where q is the prime number of 1 plus the order multiplier B to make q = (b! +1), and H is the cofactor that makes p = h Q + 1 be prime number; select the generator integer g, whose order module P is prime number Q or can be divided by Q; select private key X; calculate the public key G by calculating the private key x power of generator g, and use the arithmetic module operation for the size P of prime field

【技术实现步骤摘要】
【国外来华专利技术】用于为有限域迪菲-赫尔曼选择安全质数的方法和系统
本公开涉及密码学领域中的有限域大小的选择。
技术介绍
迪菲-赫尔曼(Diffie-Hellman)密钥交换是在公共信道上安全地交换加密密钥的方法。在各种系统中,协议使用整数模p的乘法群,其中p为质数。公共值g是模p的原根,并且被自乘到指数,该指数对于加密交易的每一方都是秘密。由于乘法群的特征,两个原根的交换(各自被自乘到对于两方中的一方的秘密)可以被组合在一起,以形成两方之间的共享秘密。由于离散对数问题,窃听者无法轻易得出共享的秘密。DanielM.Gordon(丹尼尔M.戈登)在1992年发表了一篇论文,题目为“Designinganddetectingtrapdoorsfordiscretelogcryptosystems”,CRYPTO’92,LectureNotesinComputerSciencevo.740,pp.66-75。在该论文中,戈登意识到特殊质数对于特殊数域筛法是脆弱的,这意味着质数不如所认为的那样安全。另外,戈登意识到这样的特殊质数可以很好地隐藏其特殊结构。因此,攻击者可以在观察到在任何迪菲-赫尔曼密钥协商会话期间所交换的公共消息之后,使用此后门来找到其他方的秘密协商密钥。另外,除了戈登的攻击之外,与所选择的域大小p相关联的安全风险可以包括其他脆弱性。例如,这些漏洞可以包括:对于特殊数域筛法的潜在脆弱性,如在戈登的攻击中一样隐藏或者公开;针对离散对数问题的其他秘密算法的潜在脆弱性,该脆弱性可能仅以很小的概率影响随机迪菲-赫尔曼域大小;弱迪菲-赫尔曼问题的潜在脆弱性,即使离散对数问题仍然很困难;小子群攻击的威胁;以及相当安全性的迪菲-赫尔曼模之中的算术的非最优效率。尽管一些方法尝试减少以上某些潜在脆弱性,但是当前没有方法解决所有以上潜在脆弱性。附图说明参考附图将更好地理解本公开,其中:图1是示出参与方利用加密模块来交换信息的框图;图2是选择和使用域大小的一个示例的框图;图3是示例迪菲-赫尔曼密钥交换的框图;以及图4是能够执行本公开的实施例的简化计算设备的框图。具体实施方式本公开提供了用于迪菲-赫尔曼密钥交换的方法,该方法包括:选择域大小p,其格式为p=hq+1,其中q是1加上阶乘数b的质数以使得q=(b!+1),并且h是使得p=hq+1是质数的余因子;选择生成元整数g,其阶模p是质数q或者能够被q整除;选择私钥x;通过求生成元g的私钥x次幂,对质数域大小p使用算数模运算,来计算公钥gxmodp;向通信方发送公钥gxmodp;从通信方接收第二公钥B,第二公钥B包括g的第二私钥y次幂,其形式为gy,第二私钥y是由通信方选择的;以及通过求第二公钥B的私钥x次幂,对质数域大小p使用算数模运算,来从接收到的第二公钥B创建密钥Bx。本公开还提供了被配置用于迪菲-赫尔曼密钥交换的计算设备,该计算设备包括处理器,该处理器被配置为:选择域大小p,其格式为p=hq+1,其中q是1加上阶乘数b的质数以使得q=(b!+1),并且h是使得p=hq+1是质数的余因子;选择生成元整数g,其阶模p是质数q或者能够被q整除;选择私钥x;通过求生成元g的私钥x次幂,对质数域大小p使用算数模运算,来计算公钥gxmodp;向通信方发送公钥gxmodp;从通信方接收第二公钥B,第二公钥B包括g的第二私钥y次幂,其形式为gy,第二私钥y是由通信方选择的;以及通过求第二公钥B的私钥x次幂,对质数域大小p使用算数模运算,来从接收到的第二公钥B创建密钥Bx。本公开还提供包括程序代码的计算机可读介质,该程序代码在由计算设备的处理器执行时,被配置用于迪菲-赫尔曼密钥交换,该程序代码使得计算设备:选择域大小p,其格式为p=hq+1,其中q是1加上阶乘数b的质数以使得q=(b!+1),并且h是使得p=hq+1是质数的余因子;选择生成元整数g,其阶模p是质数q或者能够被q整除;选择私钥x;通过求生成元g的私钥x次幂,对质数域大小p使用算数模运算,来计算公钥gxmodp;向通信方发送公钥gxmodp;从通信方接收第二公钥B,第二公钥B包括g的第二私钥y次幂,其形式为gy,第二私钥y是由通信方选择的;以及通过求第二公钥B的私钥x次幂,对质数域大小p使用算数模运算,来从接收到的第二公钥B创建密钥Bx。现在参考图1,其示出了用于一对通信方之间的消息通信的系统10。具体地,在图1中,一对通信方A和B由数据通信链路12连接。通信方A和B中的每一方具有加密模块或者单元14,该加密模块或者单元14根据所确立的协议来执行公钥加密操作,以允许通过链接12的安全通信。加密单元14在加密域内操作,该加密域的参数由其他实体共享。在一个示例中,通信方A和B利用迪菲-赫尔曼(DH)密钥交换。具体地,迪菲-赫尔曼密钥交换使用交换群,该交换群是一种具有二进制运算并且遵循某些公理的代数系统。最初由迪菲和赫尔曼所提出的群被称为大小为p的有限域的乘法群,其中p是质数。使用这样的乘法群,数{1、2,…,p-1}的集合可以具有被定义为乘法模p的二进制运算,这意味着在计算除以p的余数之后的乘法。该群在数学上是众所周知的,并且被迪菲和赫尔曼应用于密码学。为了说明的目的,考虑小的质数p=5。针对群的二进制运算,乘法模p可以被表示在下表中:表1:二进制运算,乘法模5在该群中,例如,我们令2×4=3。具体地,正常乘法2×4=8,但是在该群中,由于8=1×5+3,所以以5为模来计算余数,得到3。针对群中的任何元素g和某些正整数x,我们可以通过在g的x个副本之间应用二进制运算来定义gx。该运算被称为群求幂运算,g被称为基数并且x被称为指数。在群是有限域的乘法群的情况下,群求幂运算也被称为模求幂运算。因此,为了说明,如上表1所示,令p=5。如果g=2并且x=6,则在模求幂运算中,gx=26=4。这是因为在常规的幂运算下,26=64,并且64模5的余数是4。例如,通过使用诸如平方和乘法算法,即使在大小接近2256的大型群中,也可以相当高效地完成群求幂运算。该算法最多需要2个log2(x)次群运算来计算gx。在群大小是2256的情况下,群求幂运算需要512次或者更少的群运算,这通常是实用的。离散对数是群求幂运算的倒数。y=gx对基数g的离散对数是x。在某些群中,计算离散对数是“难解”问题。该问题的难度对于迪菲-赫尔曼密钥交换和相关的公共密钥加密算法(被称为离散对数问题(DLP))的安全性至关重要。难解是加密领域的术语,如本文所使用的通常意为敌对方无法企及的东西,只要系统的安全性被认为是重要的,就必须防止敌对方破坏系统。从数学上讲,该术语可以意为问题的解在渐近多项式时间内无法求解。因此,公钥加密依赖于DLP难解。再次参考图1,在迪菲-赫尔曼密钥交换中,贡献方A产生秘密指数x,并且贡献方B产生秘密指数y。秘密指数x和y可以分别被称为贡献方A和B的私钥。A向B发送A=gx,B向A发本文档来自技高网...

【技术保护点】
1.一种用于迪菲-赫尔曼密钥交换的方法,所述方法包括:/n选择域大小p,所述域大小p的格式为p=hq+1,其中q是1加上阶乘数b的质数,以使得q=(b!+1),并且h是使得p=hq+1是质数的余因子;/n选择生成元整数g,所述生成元整数g的阶模p是所述质数q或者能够被q整除;/n选择私钥x;/n通过求所述生成元g的所述私钥x次幂,对所述质数域大小p使用算数模运算,来计算公钥g

【技术特征摘要】
【国外来华专利技术】20170327 US 15/470,2591.一种用于迪菲-赫尔曼密钥交换的方法,所述方法包括:
选择域大小p,所述域大小p的格式为p=hq+1,其中q是1加上阶乘数b的质数,以使得q=(b!+1),并且h是使得p=hq+1是质数的余因子;
选择生成元整数g,所述生成元整数g的阶模p是所述质数q或者能够被q整除;
选择私钥x;
通过求所述生成元g的所述私钥x次幂,对所述质数域大小p使用算数模运算,来计算公钥gxmodp;
向通信方发送所述公钥gxmodp;
从所述通信方接收第二公钥B,所述第二公钥B包括形式为gy的g的第二私钥y次幂,所述第二私钥y是由所述通信方选择的;以及
通过求所述第二公钥B的所述私钥x次幂,对所述质数域大小p使用算数模运算,来从接收到的所述第二公钥B创建密钥Bx。


2.根据权利要求1所述的方法,其中b被选择为使得所述质数阶超过最小阈值大小。


3.根据权利要求2所述的方法,其中所述最小阈值大小是3000位。


4.根据权利要求3所述的方法,其中b被选择为427。


5.根据权利要求4所述的方法,其中h被选择为630,以产生p=630(427!+1)+1。


6.根据权利要求3所述的方法,其中b被选择为872。


7.根据权利要求6所述的方法,其中h被选择为1398,以产生p=1398(872!+1)+1。


8.一种被配置用于迪菲-赫尔曼密钥交换的计算设备,所述计算设备包括处理器,所述处理器被配置为:
选择域大小p,所述域大小p的格式为p=hq+1,其中q是1加上阶乘数b的质数以使得q=(b!+1),并且h是使得p=hq+1是质数的余因子;
选择生成元整数g,所述生成元整数g的阶模p是所述质数q或者能够被q整除;
选择私钥x;
通过求所述生成元g的所述私钥x次幂...

【专利技术属性】
技术研发人员:D·R·L·布朗
申请(专利权)人:黑莓有限公司
类型:发明
国别省市:加拿大;CA

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

1