CN101099328B - 定制的静态Diffie-Helman群 - Google Patents

定制的静态Diffie-Helman群 Download PDF

Info

Publication number
CN101099328B
CN101099328B CN200580046419.XA CN200580046419A CN101099328B CN 101099328 B CN101099328 B CN 101099328B CN 200580046419 A CN200580046419 A CN 200580046419A CN 101099328 B CN101099328 B CN 101099328B
Authority
CN
China
Prior art keywords
value
group
password unit
prime
prime number
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN200580046419.XA
Other languages
English (en)
Other versions
CN101099328A (zh
Inventor
丹尼尔·R.·L.·布朗
罗伯特·P.·加朗特
斯科特·A.·万斯通
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
BlackBerry Ltd
Original Assignee
Certicom Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Certicom Corp filed Critical Certicom Corp
Publication of CN101099328A publication Critical patent/CN101099328A/zh
Application granted granted Critical
Publication of CN101099328B publication Critical patent/CN101099328B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/60Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers
    • G06F7/72Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers using residue arithmetic
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/60Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers
    • G06F7/72Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers using residue arithmetic
    • G06F7/724Finite field arithmetic
    • G06F7/725Finite field arithmetic over elliptic curves
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/002Countermeasures against attacks on cryptographic mechanisms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0838Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these
    • H04L9/0841Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these involving Diffie-Hellman or related key agreement protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3066Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2207/00Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F2207/72Indexing scheme relating to groups G06F7/72 - G06F7/729
    • G06F2207/7204Prime number generation or prime number testing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/60Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers
    • G06F7/72Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers using residue arithmetic
    • G06F7/724Finite field arithmetic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/26Testing cryptographic entity, e.g. testing integrity of encryption key or encryption algorithm

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Analysis (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Computational Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Mathematical Physics (AREA)
  • Computing Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • General Engineering & Computer Science (AREA)
  • Algebra (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Medicines That Contain Protein Lipid Enzymes And Other Medicines (AREA)
  • Pharmaceuticals Containing Other Organic And Inorganic Compounds (AREA)
  • Complex Calculations (AREA)

Abstract

本发明公开了选择用于静态Diffie-Helma密钥协议的群以防止对手主动攻击的方法,在mod p群中,选择近似(9/16)(log2n)2的偶数h值,用筛选和素数检验确定r和n值,并且搜索t值以计算p=tn+1,其中p是素数。在定义在二元区域上的椭圆曲线群中,选择随机曲线,计算曲线上的点数,并且检验曲线上的点数是2n,其中n是素数且n-1满足优选的标准。在定义在q次的素数区域上的椭圆曲线群中,计算n=hr+1,其中,n是素数且n-1满足优选的标准,并且执行关于n的复数乘法方法,由此产生值q和具有次数n的定义在q上的椭圆曲线E。

Description

定制的静态Diffie-Helman群
技术领域
本发明涉及密码系统领域的静态群(static group)。
背景技术
在1975年由Diffie和Helman引入的公钥密码系统使不需要预先共享密码(pre-shared secret)以及具有不可否认性(non-repudiationproperty)的数字签名的加密通信成为可能。
公钥加密系统的Diffie-Helman(DH)协议最具独创性的方面是使用了一种称为群的数学结构,在该结构中,一个特定问题,离散对数问题(discrete logarithm problem)是很难处理的。
一个群只是一组元素和作用于任意两个元素的单个运算。常见的群的实例包括:在加法运算下的整数(包含零和负整数)、在加法运算下的有理数、以及在乘法运算下的非零有理数。这些常见的实例是无限群,但是还存在有限(或离散)群。部分地由于群的元素可以用固定位数传送,所以密码系统通常对有限群更感兴趣。有限群的实例通常为本领域公知。
最常见的实例是基于模运算(modular arithmetic)的群。如果p是素数,t是任意整数,则t mod p是t被p除的余数。从而如果对于某一整数q,t=pq+r,并且r包含在0和p-1之间,则r=t mod p。在模加的运算下,从0至p-1的整数组形成一个群,其中s和t组合变为s+t mod p。这个群用ZP表示。更一般地,p可以是任意整数。
从1至p-1的整数组在模乘运算下形成另一个群,其中s和t组合变为st mod p。这个群用ZP *表示,通常称为mod p群。更一般地,p可以是具有略微不同运算的素数的任意次幂。当书写这些群的运算时,如果在上下文中很清楚,符号mod p经常省略。
群G的子群是G中的元素子集的群并且具有与G相同的运算。例如,群ZP *具有次数为2的子群,所述子群的元素是1和p-1。更通常地,对于群中的任意元素g,存在包含<g>元素的最小的子群,表示为<g>。可知<g>由关于整数x的元素组gx精确给定,其中gx表示x个g的乘积。在具有加号的群中,例如ZP,幂gx被替换记作xg。元素g是<g>的生成元。假如一个群具有生成元,则它是循环的,从而<g>是天然循环的。群ZP和ZP *也是循环的,但通常,群不是必须循环。
群的次数是元素的数量,群ZP具有次数p并且群ZP *具有次数p-1。元素g的次数是子群<g>的次数。假设g具有次数n。
在运算记作乘法的群中,离散对数问题可以陈述为:给定g和w,查找整数x,使w=gx,其中gx表示x个g的乘积。这个问题通常在这种情况下提出:存在这样一个整数x,也就是说w是<g>的元素。通常的对数问题不要求x是整数,并且只在群具有可以定义非整数幂的加法属性时定义。
在某些离散群中,离散对数问题(DLP)难以解决。Diffie和Hellman利用了DLP“难”这一事实,以提供针对公钥加密的第一可行解法。在这种情况下,Alice选择随机整数x,发送给Bob一个群元素gx,Bob选择一个随机数y,并且发送给Alice一个群元素gy。随后,Alice计算z=(gx)y,Bob计算z’=(gy)x。显然z=z’=gxy=gyx,所以Alice和Bob可以计算同一个值。假如没有其他能够计算z,则Alice和Bob已经对共享秘密(secret)达成一致。则该共享密钥可以用于加密Alice和Bob之间传递的消息。这个协议是Diffie-Helman密钥协议。在这个协议之前,Alice和Bob不得不预先会面以秘密地对z达成一致。这个协议使Alice和Bob免于预先会面。
因为数值gx和gy是公开的,所以这是所谓的公钥加密。它们被称为公钥,而x和y被称为私钥。数据对(x,gx)称为密钥对。对手Eve看到公钥。假如Eve能够解决DLP,则她能够从g和gx找到x。利用x,Eve能够以与Alice相同的方式计算z,即利用Bob的公钥gy和Alice的私钥x。因此,共享的秘密不再是秘密的,Eve能够利用它解密Alice和Bob互相发送的被加密消息。因此,Diffie-Helman密钥协议的安全性的先决条件是DLP是“难”题。Eve不能解决DLP。
幸运地,存在译码者认为DLP困难的群。DLP困难的群主要是两类公知的群,即有限区域的乘法群的子群,以及椭圆曲线群的子群。椭圆曲线群具有超过其他DLP群的优点:利用更少的带宽传输和存储公钥,并且能更快的运算。
静态Diffie-Helman密钥协议是Diffie-Helman密钥协议的重要的变体,其中一方或两方具有不随时间改变的密钥对。如果Alice具有静态密钥对,则她的私钥x和公钥gx对于所有事务都保持相同。这样的一个优点是Alice可以让授权机构(certificate authority)标记她的公钥,则Bob可以从数据库中查找最终的授权而不用从Alice请求。这样的一种应用是当Bob发送加密邮件给Alice时。Alice不必在Bob能加密邮件之前向Bob发送gx。相反,Bob从数据库中查找gx,所述数据库可以是他的地址簿或其他某种公用字典。对于gx的授权将进一步向Bob保证,Alice(且只有Alice)能够解密该电子邮件。
在某些群中,Diffie-Helman密钥协议目前普遍使用在IPSec协议中,用于保护虚拟专用网络(VPN)。包含静态变体的Diffie-Helman密钥协议也是普遍使用的Internet Engineering Task Force(IETF)安全协议,例如Transport Layer Security(TLS)(用于保护网站)、SecureMultipurpose Internet Message Extensions(S/MIME)(用于保护电子邮件)或Secure Shell(SSH)(用于保护远程登录计算机)的可选择特征。因此,需要使Diffie-Helman密钥协议尽可能安全。
静态Diffie-Helman密钥协议的安全性不仅取决于离散对数是难的。特别地,对手确定Alice的静态私钥的方法是通过向Alice发送特别选择的公钥gy并从Alice获得最终共享秘密z=gxy。在多数群中,利用这种主动攻击查找x比直接求解离散对数问题更容易。
对于本领域技术人员,上述攻击在两个方面不完全是实际的。然而,确定的是,这种属性的攻击是很值得考虑的。
第一,受害者Alice不会向对手暴露共享秘密z。然而,z的目的是应用,而且量化应用z的准确方式是很难限定的。z的任何使用将导致多少有些暴露。因此,译码者(cryptographer)已经发现考虑精选的暗文攻击是明智的,在所述暗文攻击中,受害者暴露了她的私钥运算结果。而且,对精选的暗文攻击表现出抵抗力意味着更弱的攻击也被阻止了。为了谨慎,译码者寻求阻止可能的最强攻击,而不仅是最弱的攻击。因此假设z会暴露既是谨慎的也并非完全不合实际的。
第二,在Diffie-Helman密钥协议的多数标准化版本中,共享的秘密z只用于一个目的,即得到密钥。为此,采用密钥推导函数(KDF)。Alice将计算k=KDF(z)。密钥推导函数通常选择为一种单向函数,意思是没有仅从k重建z的已知途径。因此,在上述攻击中Alice更有可能将k暴露给对手而不是z。然而,为了执行,攻击需要z。如果Alice仅暴露k,攻击不能用来查找x。因为KDF是单向的,攻击者不能从暴露的k值中恢复z。
在考虑上述攻击之前,已经知道采用KDF具有一些比较不重要的安全利益。其中之一是共享的秘密z经常是可与随机数区分的。因为z是与随机数可区分的,所以作为密钥是不理想的。然而,直到考虑上述攻击,才知道z实际上会泄露关于x的某些信息。
许多协议和Diffie-Helman密钥协议的执行不严格利用KDF,在一些智能卡实施中,智能卡将z暴露给智能卡阅读器,并且智能卡阅读器应用KDF。在这样的系统中,恶意的智能卡阅读器可能使用攻击和来自智能卡的z值以推断智能卡中的私钥x。在某些协议中,例如基本ElGamal加密协议,设计有Chaum和van Antwerpen的不可否认的签名,从而实体Alice暴露z作为协议的一部分。因此这些协议易于受到攻击。然而,这两个协议是在知道KDF的任何好处之前设计的。这些协议可以很容易地通过使用KDF修正。实际上,Diffie-Helman扩展加密方案(DHAES)是由Bellare和Rogaway设计的,设计为ElGamal的改进,其中,在采用z作密钥之前将KDF施加到共享秘密z。
其他的协议存在,然而,它们不容易通过增加KDF进行修正。一种这样的协议是Ford-Kaliski密钥恢复协议。在该协议中,基点g是客户端密码的函数,并且Alice是服务器端。客户端选择随机数y并且发送gy到Alice。为了该协议执行,,Alice必须向任何与她一起执行Diffie-Helman密钥协议的客户端暴露共享的秘密z。从z中,客户端得到静态值gx,该值是客户端密钥和服务器端私钥x两者的函数。因为比普通密码更难猜,静态值gx称为恢复密钥(retrieved key)或硬化密码(password hardening)。密钥恢复或密码硬化是Ford-Kaliski协议的主要目的。客户端通过计算zu=gxyu来实现该目的,其中u使yu在指数空间等于1。如果Alice将KDF施加到z,该协议不执行,因为这样客户端将不能恢复静态值。对手可能建立恶意的客户端以利用z值得到Alice的私钥x。因为对手现在知道了x,猜gx就象猜密码x一样容易。特别地,对手可能能够启动字典搜索以非常迅速地确定硬化密码。因此,这次攻击击败了Ford-Kaliski协议的主要目的。
一个完全不同的方面是静态Diffie-Helman问题是困难的。更准确地,在不知道私钥x的时候难以计算wx。取w=gy表示破解静态Diffie-Helman协议与查找x一样困难。按照上述攻击这似乎是自相矛盾的,但事实上不是。在上述攻击中,对手是主动的。对手使用受害者解决关于gy的Diffie-Helman问题。这给了对手解决Diffie-Helman问题的能力,这相当于查找x的问题。更准确地,静态DH问题几乎和将x确定为某个因子一样难。
假如Alice设法防止攻击,比方说利用KDF,则这仍然是正确的:解决静态DH问题几乎和查找x一样难。这为Alice提供了没有人能解决静态Diffie-Helman问题的保证,这意味着除了她和Bob没有其他人知道私钥y,也没有其他人能计算公共秘密z。这个属性的结果是公知的可证实安全。
先前DH问题的可证实安全结果没有涉及静态变体。因此,先前的结果没有就利用Alice的私钥为她提供同样多的保证。而且,没有与先前安全结果相应的已知攻击。关于DH的可证实安全结果的有效性,取决于DH群的选择。因此采用这样的群是理想的,在该群中包括静态DH问题的DH问题是难的。
因此,本发明的目的是避免或减轻上面提到的缺点。
发明内容
在一方面,本发明提供一种选择用于静态Diffie-Helma密钥协议的mod p群以防止对手主动攻击的方法,包括步骤:选择偶数h值,搜索r和n值以满足关系式n=hr+1,其中,r和n是素数,并且搜索一个值t以计算p=tn+1,其中p是素数。
在另一方面,本发明提供了一种选择用于静态Diffie-Helma密钥协议的定义在二元区域上的椭圆曲线群以防止对手主动攻击的方法,包括步骤:选择随机曲线,计算曲线上的点数,并且检验曲线上的点数是2n,其中n是素数且n-1满足优选的标准。
仍然在另一方面,本发明提供了一种选择用于静态Diffie-Helma密钥协议的定义在次数为q的素数区域上的椭圆曲线群以防止对手主动攻击的方法,包括步骤:计算n=hr+1,其中,n是素数且n-1满足优选的标准,并且执行关于n的复数乘法方法,由此产生q值和具有次数n的定义在q值上的椭圆曲线E。
附图说明
在下列结合附图的详细说明中,本发明的特征将变得更清楚,其中:
图1是密码系统的示意图;
图2表示在一个mod p实施例中的步骤的流程图;
图3表示在第一简化椭圆曲线实施例中的步骤的流程图;
图4表示在第二简化椭圆曲线实施例中的步骤的流程图。
具体实施方式
参考图1,一对通信方A和B通过数据通信链路12连接。通信方A和B中的每一方具有密码单元14,该加密单元根据已建立的协议执行公钥密码运算以确保链路1上通信的安全。密码单元14在密码域(cryptographic domain)内运算,密码域的参数由其他方共享。
由通信方A、B共享的域参数包括群G、群G的次数p和具有次数n的群的生成元(generator)g。
本发明既应用于椭圆曲线群也应用于有限区域的乘法子群,通常公知的mod p群。因为mod p群更容易理解,首先解释mod p实施例20并在图2中通常地表示。因此,适用于两种情况的本发明的几个方面更容易理解。然而,因为在执行性能上的多种优势,本发明的优选实施例利用了椭圆曲线群。
Mod p实施例
为了简化表达,我们假设在Zp *中的Diffie-Helman础(base)或生成元g具有次数n,n为素数。对于本领域技术人员来说,延伸到的g具有非素数次数的情况是显然的。
域名参数的安全性取决于n-1的整数因子u的大小。如果已知的因子u接近n1/3,则上述攻击10具有大约3n1/3的成本。这与通常的DLP攻击相比相当小,DLP攻击具有大约n1/2的成本。随机数n通常具有接近n1/3的因子u是公知的,因此随机地选择n将不会避免攻击10。在现有技术中,n通常选择为哈希函数(hash function)的输出,哈希函数使n随机更加有效,但不会避免攻击。通过适当地选择n,有可能避免具有接近n1/3的因子。应该理解,参数的选择和测试利用编程的计算装置执行以进行必要的计算。该计算的结果是一组域参数,所属域参数可以用于在单元14上执行密码函数。
在第一实施例中,通过选择n=hr+1避免该因子,其中r是素数,h是与r相比相对小并且足够小以至小于n1/3的整数。然后n-1的因子是具有f或fr的型(form),其中f是h的因子。如果h明显小于n1/3,则因子f也明显小于n1/3,因为f至多为h。如果h明显小于n1/3,则r明显大于n2/3,从而因子fr明显大于n1/3。因此n-1的所有因子将明显小于或大于n1/3。因而避免了在静态Diffie-Helman上的攻击。
已经选择了式hr+1的n,还必需选择p。群理论的标准定理是元素的次数除它的群的次数。因为g是Zp *的元素,它的次数n必须除Zp *的次数,Zp *的次数是p-1。因此,对于某个整数t,p=tn+1。
因为群Zp *具有用于求解DLP的指数微积分(index calculus)算法,通常的应用是选择比n大很多的p。该思想是使次数n的群<g>的一般DLP求解算法具有与Zp *中的指数微积分(index calculus)算法近似的成本。例如,如果n是大约2160并且p是大约21024,则这两种DLP求解算法具有约等于280次群运算的成本。另一种n的通常选择是大约2256,p的选择是大约23072,其中两种DLP求解算法花费大约2128次运算。选择这样一个小n的主要优点是:因为指数较小,在群<g>中求幂更快。
为了获得上述相关大小的p和n,只要选择适当大小的t。关于第一个实例,选择t大约是21024-160=2864,而在第二个实例中t是大约22816。因为p和n是奇数,需要选择t为偶数。关于t mod 3、t mod 5的类似决策(observations)也可以这样做出。
一般的过程是首先选择需要型的n,然后尝试多个t值,直到找到一个使p为素数的值。用于在小概率范围内确定p是素数的快速检验是存在的。这些检验迅速地排除不是素数的t的候选值。从而查找合适的t很快。实际上,这是公知的从n开始查找p的最佳方式。
为了构造型hr+1的n,最初选择一个h的近似大小或h的精确值,然后,通过期望的n的近似大小,确定r的近似大小。事实上,刚刚确定的范围内的各种h和r可以被选择和一一检查其适合性。一个所选择的r值被检验是否是素数,计算数值n=hr+1,然后检验n是否为素数。可以使用筛选(sieving)技术以选择不具有小素数因子例如2、3、5的r和n。这减少了进行素数检验的数值r和n的数量。利用h,对n和r可以一起进行筛选,以便更高效。应该注意,因为r和n都是素数并且因此是奇数,所以h必须是偶数。
在选择数值h的近似大小或数值时,需要一定的注意。最小的选择是h=2。然而,尽管h=2防止了上述攻击并且防止了应用现有技术时的可证明安全结果,但这样的选择也可能太小了。
存在可证明安全结果有效的同时防止上述攻击的h的范围。这个范围取决于执行标量乘法所需的群运算的数量。h的最优值似乎是(9/16)(log2n)2,但是在这个值的0.5到2倍范围内的h值都可以采用。对于近似于该大小的h,静态Diffie-Helman问题将会差不多与将静态Diffie-Helman私钥确定为可接受的因子一样困难。这个因子可以在h的全部选择范围内优化。而且,通过h的这一选择,上述攻击具有约等于n1/2群运算的成本。这意味着该攻击不比查找x的一般DLP求解算法更好。因此在这种情况下,该攻击是不相关的。
总的来说,首先选择近似(9/16)(log2n)2次数的偶数h,然后假如所选择的n是素数,则利用对r和n筛选和素数检验搜索r和n。最后搜索t以得到p=tn+1为素数。
这个方法的更进一步的效率提高也是有可能的。在这个方法中,搜索n和t,从而p具有使规约模(reduction modulo)p更有效的型。例如,假如p具有低的汉明权重(Hamming weight),则规约模p更有效。这使得模乘(modular multiplication),ZP *的群运算更有效。
这个方法的更进一步的安全性提高也是有可能的。r值能够选择为可检验的随机数,r值能够选择为散列函数的输出。
这两种进一步的提高可以合并,通过选择r为可检验的随机数,然后搜索t值使p具有更有效的模简约。
如果不关注上述攻击,因为这样的对手对于特定协议的特定实施是不实际的,则可以不同地选择Diffie-Helman群。可能没有必要避免大小接近n1/3的因子u,然而仍然希望静态Diffie-Helman问题和一般Diffie-Helman问题是困难的。为了使静态Diffie-Helman问题困难,只需要大小近似(9/16)(log2n)2的n-1的因子。在现有数论知识中是否随机数n会具有这种大小的因子是不清楚的。因此,可以选择随机数n并查找这样的因子,或者构造具有这样大小的因子h的n。后者可以通过选择h、选择任意r(不必是素数),并检测n=hr+1是否是素数来完成。
为了确保临时的、或两面的(two-sided),Diffie-Helman问题是困难的,可以利用现有的可证明安全结果。Maurer和Wolf的结果需要查找辅助群,通常是定义在大小为n的有限区域上的椭圆曲线。辅助群要具有光滑的次数(没有大素数因子)。搜索这样的辅助群需要花费相当大的努力,并且可能无法达到n的较大值。实际上,查找这样的群几乎和查找与n同样大小的整数因子一样困难。
一个den Boer的以前的结果提到:n-1是光滑的,(临时)Diffie-Helman问题几乎和DLP一样困难。
因此,现有技术的进一步加强包括一种选择n=1+s的方法,其中s是光滑整数(smooth integer)。这个s可以作为小素数的乘积找到,从而获得正确的大小。然后检验n是否为素数。可以试验多个s值。在这种方式下选择n的好处在于,通常意味着n-1具有大小足够接近(9/16)(log2n)2的因子,该因子确保静态Diffie-Helman问题是困难的,而不仅是临时的Diffie-Helman问题。
由于这样的n,素数p=tn+1可以如上那样发现。而且,也可能利用这种方法寻找特定结构例如低汉明权重的n和p。
椭圆曲线实施例
原则上,上面描述的技术也用于椭圆曲线群的情况。更准确地,n的理想标准是同一的。然而,在这种情况下,次数为n的生成元g不是ZP *的元素,是椭圆曲线群E的一个元素。在mod p的情况下,一旦确定了n,就相对直接地找到群ZP *。对于椭圆曲线不能这么说。对于一个确定的n,查找一个椭圆曲线群E仍然非常困难。
因为椭圆曲线使用户运算比群ZP *更有效,椭圆曲线的情况是本发明的优选实施例。这个实施例的方法比ZP *情况略微复杂,但是值得的。
为了使表达更清楚,介绍并在图3和图4中示出了椭圆曲线实施例中该方法的某些简化型。
在第一简化型30中,椭圆曲线定义在二元区域(binary field)上。对于这些曲线,确定椭圆曲线群的次数非常容易。简化方法是选择随机曲线,计算点数,核对点数是2n,其中n是素数,并且n-1满足理想的标准。优选的标准是n-1=hr,其中r是素数并且h近似为(9/16)(log2n)2。替代的标准是n-1是光滑的,假设不关心上述攻击。
在第二简化型中,椭圆曲线定义在次数为q的素数区域上。q值在确定n值之后确定。n值的选择与上所述mod p群的情况一样。n值可以满足优选的标准或替代的标准。然后,如ANSI x 9.62或IEEE13.63中阐述的复数乘法方法用于查找q值和定义在q上具有次数n的椭圆曲线E。
通常,复数乘法方法涉及:首先选择q,因为确定的q值为用户提供更好的效率。然而,如果首先选择n,复数乘法方法也能实施。一旦在复数乘法方法的第一阶段发现q和n具有正确的数论关系,第二阶段确定定义椭圆曲线E的系数。
第二简化方法的缺点是作为结果的q在n的哈斯区间(Hasseinterval)中具有或多或少的随机数的型,所述区间是距离n大约n1/2范围之内的所有整数。出于给用户提供更好的效率的原因,q的特定型是更理想的,例如在二元展开中的低汉明权重。
换句话说,对于q和n都具有这样的型是理想的。q的型是为了效率,而n的型是为了安全性。为此,对复数乘法方法的第一阶段略微修改。尝试特定期望型的q和n,然后检验这对值以便看它们是否满足复数乘法(CM)方法要求的条件。这个条件相对容易直接检验。当q给定,求解满足该条件的n不容易,反之亦然。
复数乘法的第一阶段的修改是尝试多个不同的具有理想式的q和n对,检验q和n的CM方法条件,重复直至CM条件满足,然后利用CM方法的通常过程查找椭圆曲线E的定义系数a和b。
CM方法是公知的方法,但是它的修改形式不是公知的。利用如本发明优选实施例描述的CM方法的修改形式,能够找到非常有效并非常安全的Diffie-Helman椭圆曲线群。
以一个实例解释这个方法的生命力。利用替代的标准,即n-1是光滑的,发明人已经发现数值对n=1+55(2286)和q=9+55(2288)都是素数。CM方法的本领域技术人员应该理解这个数值对的判别式是55。这个判别式在kronecker类数(kronecker class number)比一大的意义上是非平凡的,所以椭圆曲线的自同态环(endomorphism ring)不是唯一的因数分解域。特别地,这意味着不能从预定表中找到椭圆曲线E的系数a和b并且必须通过求解次数为q的有限区域上的适度大次数的多项式方程计算。
如上所述,该技术可以用于产生具有理想特征的域参数。这种产生这些特征的方式还有助于检验由第三方提供的域参数的效力以确保它们不易受到攻击。可以检验参数以确保p和n值满足要求的形式。假如它们不满足标准,则可以拒绝域参数。
尽管本发明结合特定实施例描述,不背离由所附权利要求书界定的本发明精神和范围的各种修改对于本领域技术人员是显而易见的。上面所有引用的参考文件的整个内容作为引用结合于此。

Claims (9)

1.一种建立有限域ZP的次数p以及所述有限域ZP的乘法群ZP *的子群的次数n的方法,所述方法由公钥密码系统中的通信方执行,所述通信方具有用于执行密码操作的密码单元,所述方法包括步骤:
i)密码单元获得型n=hr+1的n值,其中h是整数,r是素数,r明显大于n2/3,并且n-1的所有因子都明显小于或大于n1/3
ii)密码单元获得偶整数t并且计算tn+1,以产生计算值;
iii)密码单元检验计算值是否为素数;以及
iv)如果所述计算值为素数,密码单元使用计算值作为有限域的素次数p,并且密码单元使用值n作为乘法群的子群的次数n。
2.根据权利要求1所述的方法,其中,n必须为素数,并且所述方法还包括如下步骤:密码单元检验n是否为素数。
3.根据权利要求2所述的方法,其中,使用筛选技术来选择r和n,以排除具有至少从包括2、3和5的组中选择的一个或更多个素数因子的r和n的值。
4.一种公钥密码系统中的通信方设备,所述通信方设备用于确定有限域ZP的次数p以及所述有限域的乘法群ZP *的子群的次数n,所述通信方设备具有密码单元,所述密码单元包括:
用于获得型n=hr+1的n值的装置,其中h是整数,r是素数,r明显大于n2/3,并且n-1的所有因子都明显小于或大于n1/3
用于获得偶整数t并且计算tn+1以产生计算值的装置;
用于检验计算值p=tn+1是否为素数的装置;以及
用于如果所述计算值为素数则使用计算值作为有限域的素次数p、并且使用值n作为乘法群的子群的次数n的装置。
5.根据权利要求4所述的设备,其中,n必须为素数,并且所述密码单元还包括用于检验n是否为素数的装置。
6.根据权利要求5所述的设备,所述用于获得型n=hr+1的n值的装置使用筛选技术来选择r和n,以排除具有至少从包括2、3和5的组中选择的一个或更多个素数因子的r和n的值。
7.一种验证在根据权利要求4所述的公钥密码系统中使用的域参数的方法,所述方法由公钥密码系统中的通信方执行,并包括如下步骤:
(a)通信方的密码单元检验n=hr+1,其中h是整数,r是素数,r明显大于n2/3,并且n-1的所有因子都明显小于或大于n1/3;以及
(b)密码单元检验p=tn+1,其中t是偶整数。
8.一种建立椭圆曲线群的子群的次数的方法,所述方法由公钥密码系统中的通信方执行,所述通信方具有用于执行密码操作的密码单元,所述方法包括步骤:
a)密码单元获得型n=hr+1的n值,其中h是整数,r是素数,r明显大于n2/3,并且n-1的所有因子都明显小于或大于n1/3;以及
b)密码单元使用值n作为椭圆曲线群的子群的次数。
9.一种公钥密码系统中的通信方设备,所述通信方设备用于建立椭圆曲线群的子群的次数,所述通信方设备具有密码单元,所述密码单元包括:
用于获得型n=hr+1的n值的装置,其中h是整数,r是素数,r明显大于n2/3,并且n-1的所有因子都明显小于或大于n1/3;以及
用于使用值n作为椭圆曲线群的子群的次数的装置。
CN200580046419.XA 2004-11-11 2005-11-11 定制的静态Diffie-Helman群 Active CN101099328B (zh)

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
WOPCT/IB2004/003699 2004-11-11
IBPCT/IB2004/003699 2004-11-11
IB2004003699 2004-11-11
US62688304P 2004-11-12 2004-11-12
US60/626,883 2004-11-12
PCT/IB2005/003380 WO2006051402A1 (en) 2004-11-11 2005-11-11 Custom static diffie-hellman groups

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN201110078763.4A Division CN102170351B (zh) 2004-11-11 2005-11-11 定制的静态Diffie-Hellman群

Publications (2)

Publication Number Publication Date
CN101099328A CN101099328A (zh) 2008-01-02
CN101099328B true CN101099328B (zh) 2011-05-18

Family

ID=36336252

Family Applications (2)

Application Number Title Priority Date Filing Date
CN201110078763.4A Active CN102170351B (zh) 2004-11-11 2005-11-11 定制的静态Diffie-Hellman群
CN200580046419.XA Active CN101099328B (zh) 2004-11-11 2005-11-11 定制的静态Diffie-Helman群

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN201110078763.4A Active CN102170351B (zh) 2004-11-11 2005-11-11 定制的静态Diffie-Hellman群

Country Status (6)

Country Link
US (1) US8588409B2 (zh)
EP (1) EP1815635B9 (zh)
JP (2) JP5690465B2 (zh)
CN (2) CN102170351B (zh)
CA (1) CA2587618C (zh)
WO (1) WO2006051402A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11902440B2 (en) 2016-05-03 2024-02-13 Malikie Innovations Limited Method and system for Cheon resistant static Diffie-Hellman security

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8438115B2 (en) * 2005-09-23 2013-05-07 Pitney Bowes Inc. Method of securing postage data records in a postage printing device
US8111826B2 (en) * 2006-01-11 2012-02-07 Mitsubishi Electric Corporation Apparatus for generating elliptic curve cryptographic parameter, apparatus for processing elliptic curve cryptograph, program for generating elliptic curve cryptographic parameter, and program for processing elliptic cyptograph
DE102006013515A1 (de) * 2006-03-23 2007-10-04 Siemens Ag Kryptographisches Verfahren mit elliptischen Kurven
JP5328186B2 (ja) * 2008-03-21 2013-10-30 ルネサスエレクトロニクス株式会社 データ処理システム及びデータ処理方法
US8345879B2 (en) * 2008-04-25 2013-01-01 International Business Machines Corporation Securing wireless body sensor networks using physiological data
US8707042B2 (en) * 2008-08-28 2014-04-22 Red Hat, Inc. Sharing keys between cooperating parties
DE102008061483A1 (de) * 2008-12-10 2010-06-24 Siemens Aktiengesellschaft Verfahren und Vorrichtung zum Verarbeiten von Daten
KR101166129B1 (ko) * 2011-05-31 2012-07-23 서울대학교산학협력단 사전계산 테이블을 이용한 이산대수 계산 방법 및 그 장치
USRE48644E1 (en) * 2012-04-12 2021-07-13 Jintai Ding Cryptographic system using pairing with errors
JP6571193B2 (ja) * 2014-08-22 2019-09-04 ノバ サウスイースタン ユニバーシティーNova Southeastern University クロネッカー積を使用するデータアダプティブ圧縮およびデータ暗号化
CN106209739B (zh) * 2015-05-05 2019-06-04 科大国盾量子技术股份有限公司 云存储方法及系统
US10355859B2 (en) * 2017-03-27 2019-07-16 Certicom Corp. Method and system for selecting a secure prime for finite field diffie-hellman
CN108228138B (zh) * 2017-12-28 2021-12-10 南京航空航天大学 一种sidh中特殊域快速模乘的方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6778666B1 (en) * 1999-03-15 2004-08-17 Lg Electronics Inc. Cryptographic method using construction of elliptic curve cryptosystem

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU677269B2 (en) * 1992-12-22 1997-04-17 Telstra Corporation Limited A cryptographic method
CN101087195A (zh) * 1997-02-14 2007-12-12 国有花旗银行 有限域离散对数密码系统的割圆多项式结构
US6252959B1 (en) * 1997-05-21 2001-06-26 Worcester Polytechnic Institute Method and system for point multiplication in elliptic curve cryptosystem
ATE325478T1 (de) * 1998-01-02 2006-06-15 Cryptography Res Inc Leckresistentes kryptographisches verfahren und vorrichtung
US6446205B1 (en) * 1998-12-10 2002-09-03 Citibank, N.A. Cryptosystems with elliptic curves chosen by users
US7200225B1 (en) * 1999-11-12 2007-04-03 Richard Schroeppel Elliptic curve point ambiguity resolution apparatus and method
US20020055962A1 (en) * 1999-11-12 2002-05-09 Richard Schroeppel Automatically solving equations in finite fields
US7359507B2 (en) * 2000-03-10 2008-04-15 Rsa Security Inc. Server-assisted regeneration of a strong secret from a weak secret
US7308469B2 (en) * 2001-06-15 2007-12-11 Robert Joseph Harley Method for generating secure elliptic curves using an arithmetic-geometric mean iteration
GB2384403B (en) * 2002-01-17 2004-04-28 Toshiba Res Europ Ltd Data transmission links
JP2003233306A (ja) * 2002-02-07 2003-08-22 Nippon Telegr & Teleph Corp <Ntt> 公開鍵暗号安全性評価方法及び装置及び公開鍵暗号安全性評価プログラム及び公開鍵暗号安全性評価プログラムを格納した記憶媒体

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6778666B1 (en) * 1999-03-15 2004-08-17 Lg Electronics Inc. Cryptographic method using construction of elliptic curve cryptosystem

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11902440B2 (en) 2016-05-03 2024-02-13 Malikie Innovations Limited Method and system for Cheon resistant static Diffie-Hellman security

Also Published As

Publication number Publication date
CA2587618C (en) 2016-04-05
CN101099328A (zh) 2008-01-02
CA2587618A1 (en) 2006-05-18
JP2012019559A (ja) 2012-01-26
CN102170351A (zh) 2011-08-31
EP1815635A4 (en) 2011-06-08
EP1815635B9 (en) 2014-01-15
US8588409B2 (en) 2013-11-19
WO2006051402A1 (en) 2006-05-18
JP5690465B2 (ja) 2015-03-25
EP1815635A1 (en) 2007-08-08
CN102170351B (zh) 2014-02-19
JP2008520144A (ja) 2008-06-12
US20070071237A1 (en) 2007-03-29
EP1815635B1 (en) 2013-09-25

Similar Documents

Publication Publication Date Title
CN101099328B (zh) 定制的静态Diffie-Helman群
EP0503119B1 (en) Public key cryptographic system using elliptic curves over rings
EP1467512A1 (en) Encryption process employing chaotic maps and digital signature process
US8184808B2 (en) Chaotic asymmetric encryption process for data security
JP7091322B2 (ja) 複合デジタル署名
KR100989185B1 (ko) Rsa기반 패스워드 인증을 통한 세션키 분배방법
EP2435946A1 (en) A method of efficient secure function evaluation using resettable tamper-resistant hardware tokens
JP2006210964A (ja) エルガマル暗号による情報授受伝達方法及び装置
Fanfara et al. Usage of asymmetric encryption algorithms to enhance the security of sensitive data in secure communication
Tahat et al. Hybrid publicly verifiable authenticated encryption scheme based on chaotic maps and factoring problems
KR102490702B1 (ko) 유한 필드 디피 헬만에서 보안 소수를 선택하기 위한 방법 및 시스템
CN114362912A (zh) 基于分布式密钥中心的标识密码生成方法、电子设备及介质
Wang Signer‐admissible strong designated verifier signature from bilinear pairings
Bhujade et al. Analysis and implementation of combined approach of RSA and ECC algorithm for enhanced data security
Saif et al. AMathematicalProposed Model for Public Key Encryption Algorithm in Cybersecurity
JP5392741B2 (ja) Rsaをベースとしたパスワード認証方式及びその応用
Das A hybrid algorithm for secure cloud computing
Farhadi et al. A secure and efficient multi cloud-based data storage and retrieval using hash-based verifiable secret sharing scheme
Clupek et al. Light-weight Mutual Authentication with Non-repudiation
US7016500B1 (en) Code exchange protocol
Almulla et al. A concurrent key exchange protocol based on commuting matrices
EP1394981A2 (en) Public key cryptograph communication method
Gómez Pardo et al. Introduction to Public-Key Cryptography: The Diffie–Hellman Protocol
Merkle et al. 8. Hiding Information and Signatures in
EP1921790A1 (en) Signature schemes using bilinear mappings

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20191030

Address after: Voight, Ontario, Canada

Patentee after: Blackberry Ltd.

Address before: Ontario, Canada

Patentee before: Seldikam Company

TR01 Transfer of patent right