有限域离散对数密码系统的割圆多项式结构技术方案

技术编号:3534356 阅读:234 留言:0更新日期:2012-04-11 18:40
用割圆多项式来构造有限域中乘法群的子群,可以高效率地实现基于离散对数的公开密钥密码系统,包括公开密钥加密方案和数字签名方案。用最优正规基来表示域,并用域中乘法群之子群的生成元来形成公开密钥。(*该技术在2017年保护过期,可自由使用*)

【技术实现步骤摘要】

技术介绍
本专利技术涉及数据保密、加密,以及通过生成和使用数字签名,来验证通信方的身份。大多数公开密钥密码系统包含因子分解问题或离散对数(DL)问题。因子分解问题是,给一个非素数,将其完全分解为素因数。DL问题是,给一个由g生成的群G,以及G中的一个元素h,求出使gm=h成立的整数m,即求loggh的值。就公开密钥密码系统提出的几种方案都依赖于在有限域的乘法群中求解DL的计算难度。公开密钥密码系统包括公开密钥加密方案和数字签名方案。假设每个用户都有一个公开密钥和一个私人密钥(该假设不必对所有方案都成立),并且假设A方希望向B方发送安全消息。在公开密钥加密方案中,A方用B方的公开密钥加密,然后B方用自己的公开和私人密钥解密。在数字签名方案中,A方用自己的公开和私人密钥准备消息,而B方用A方的公开密钥接收消息。也就是说,当准备消息时,在公开密钥加密方案中,发送方使用接收方的密钥信息,而在数字签名方案中,发送方使用自已的密钥信息。当接收消息时,在公开密钥加密方案中,接收方使用自己的密钥信息,而在数字签名方案中,接收方使用发送方的密钥信息。一般的数字签名方案包括三步系统设定、发送方生成签名,以及接收方对签名进行验证。假设,系统设定是在对消息签名和加密之前完成的。一般来说,在对基于DL的公开密钥密码系统进行系统设定期间,首先选择一素数,并用该素数获得群的生成元,然后选择一随机数,将其用作生成元的指数,从而在有限域中产生一结果值。当仅已知生成元和结果值时确定所述随机数是一个DL问题。系统设定的结果是一公开密钥和一私人密钥。公开密钥被假定为公知的,该密钥包括参数、生成元、结果值和其它参数。私人密钥被假定只有发送方已知,该密钥包括随机数。在对基于DL的公开密钥密码系统进行签名生成期间,选择第二随机数,并将其用作生成元的指数,从而在有限域中产生第二结果值。当仅已知生成元和第二结果值时确定第二随机数是一个DL问题。然后,根据待签名消息上的私人密钥和第二结果值,获得第三值。签名生成的结果是一数字签名,它包括第三值和至少另一个参数。在对基于DL的公开密钥密码系统进行签名验证期间,对公开密钥和签名的第三值部分进行指数组合,产生第四结果值。如果第四结果值等于签名的至少另一个参数,那么认为签名有效。系统设定、签名生成和签名验证的指数部分计算起来既费钱又费时。希望寻找到这样的技术,它们在对未授权用户保持计算难度的同时,又能减轻授权用户的计算负担,尤其能够减轻签名生成期间的计算负担。
技术实现思路
依照本专利技术的一个方面,提供了一种用于为公开密钥密码系统确定公开和私人密钥的方法和设备,所述方法包括以下步骤选择第一素数;由第一素数计算一割圆多项式;求第二素数,它是由第一素数计算得到的所述割圆多项式的因子;求一有限域中乘法群的子群的生成元,所述子群的阶是第二素数;根据所述生成元和一所选的整数,求一公开值;形成公开密钥,它包括第一和第二素数、所述生成元和所述公开值;形成私人密钥,它包括所述所选的整数。依照本专利技术的另一方面,可以用最优正规基表示有限域。依照本专利技术的又一方面,第二素数q满足(log2q)+1≈ B,其中B是预定的二进制位数。依照本专利技术的再一方面,选择一控制整数t’,并且割圆多项式是t’次割圆多项式,公开密钥包括控制整数t’。依照本专利技术的另一方面,一种用于为消息生成数字签名的方法还附加包括以下步骤选择第二整数;根据第二整数和生成元,求第一签名值;根据第一签名值和所述消息,求第二签名值;以及形成数字签名,使其包括第一和第二签名值。一种用于验证上述对消息形成的数字签名的方法,包括以下步骤求一逆整数,它是第二签名值的逆;根据逆整数和所述消息,求第一中间值;根据逆整数和第一签名值,求第二中间值;根据生成元、公开值以及第一和第二中间值,求第三中间值;当第三中间值等于第一签名值时,判定所述签名有效。一种用于为公开密钥密码系统确定共享密钥的方法,包括以下步骤选择第一素数;由第一素数计算一割圆多项式;求第二素数,它是由第一素数计算得到的割圆多项式的因子;求一有限域中乘法群的子群的生成元,所述子群的阶是第二素数;选择一整数;接收一中间值,中间值基于生成元;形成共享密钥,使其成为所述中间值和所述整数的函数。一种用于消息保密通信的方法,包括以下步骤选择第一素数;由第一素数计算一割圆多项式;求第二素数,它是由第一素数计算得到的割圆多项式的因子;求一有限域中乘法群的子群的生成元,所述子群的阶是第二素数;选择一整数;接收一中间值,所述中间值基于生成元;形成共享密钥,使其成为所述中间值和所述整数的函数;用共享密钥对消息加密。一种用于消息保密通信的方法,包括以下步骤接收加密消息,加密消息是用共享密钥加密的,共享密钥是一中间值和一所选整数的函数,所述中间值基于一有限域中乘法群之子群的生成元,所述子群的阶是第二素数,第二素数是由第一素数计算得到的割圆多项式的因子;用共享密钥对加密消息解密。一种用于消息保密通信的方法包括以下步骤选择第一素数;由第一素数计算一割圆多项式;求第二素数,它是由第一素数计算得到的割圆多项式的因子;求一有限域中乘法群的子群的生成元,所述子群的阶是第二素数;根据生成元和第一整数,求一公开值;选择第二整数;根据生成元和第二整数,求第一加密值;根据消息、公开值和第二整数,求第二加密值;由第一和第二加密值形成加密消息。一种用于消息保密通信的方法,包括以下步骤接收由第一加密值和第二加密值构成的加密消息,第一加密值基于第一整数和一有限域中乘法群之子群的生成元,所述子群的阶是第二素数,第二素数是由第一素数计算得到的割圆多项式的因子,第二加密值基于消息、第一整数和基于生成元和第二整数的公开值;根据第一加密值和私人密钥,求第一中间值,私人密钥基于生成元;根据第二加密值和第一中间值对加密消息解密。并不打算在这里对本专利技术进行完整的概括。由以下描述和附图可以了解本专利技术的其它特点、方面和长处。附图概述附图说明图1A是一流程图,示出了依照ElGamal方案的系统设定过程;图1B是一流程图,示出了依照ElGamal方案的签名生成过程;图1C是一流程图,示出了依照ElGamal方案的签名验证过程;图2A是一流程图,示出了依照Schnorr和DSA方案的系统设定过程;图2B是一流程图,示出了依照Schnorr方案的签名生成过程;图2C是一流程图,示出了依照Schnorr方案的签名验证过程;图2D是一流程图,示出了依照DSA方案的签名生成过程;图2E是一流程图,示出了依照DSA方案的签名验证过程;图3A是一流程图,示出了依照ECDSA方案的系统设定过程;图3B是一流程图,示出了依照ECDSA方案的签名生成过程;图3C是一流程图,示出了依照ECDSA方案的签名验证过程;图4A是一流程图,示出了依照本专利技术的系统设定过程;图4B是一流程图,示出了依照本专利技术的签名生成过程;图4C是一流程图,示出了依照本专利技术的签名验证过程;图4D是一割圆多项式系数表;图4E是一流程图,示出了依照本专利技术的DES系统设定过程;图4F是一流程图,示出了依照本专利技术对DES系统设定进行加密的过程;图4G是一流程图,示出了依照本专利技术对DES系统设定进行解密的过程;图4H是一流程图,示出了依照本专利技术对ElGamal系本文档来自技高网
...

【技术保护点】
一种用于确定公开密钥密码系统之公开密钥和私人密钥的方法,其特征在于,包括以下步骤:选择第一素数;由第一素数计算一割圆多项式;求第二素数,它是由第一素数计算得到的所述割圆多项式的因子;求一有限域中乘法群的子群的生成元,所述子群 的阶是第二素数;根据所述生成元和一所选的整数,求一公开值;形成公开密钥,它包括第一和第二素数、所述生成元和所述公开值;形成私人密钥,它包括所述所选的整数。

【技术特征摘要】
...

【专利技术属性】
技术研发人员:AK伦斯特拉
申请(专利权)人:国有花旗银行
类型:发明
国别省市:US[美国]

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

1