1 / 35

网络安全概论

普通高等教育“十一五”国家级规划教材 “信息化与信息社会”系列丛书. 网络安全概论. 刘 建伟 201 2 年 9 月 28 日. 专题 : 双 钥 密码 体制(二). Diffie -Hellman 密钥交换. 二. 三. 一. 一. Rabin 公钥密码体制. 椭圆曲线密码体制. 专题 : 双 钥 密码 体制(二). Diffie -Hellman 密钥交换. 二. 三. 一. 一. Rabin 公钥密码体制. 椭圆曲线密码体制. 一、 Diffie -Hellman 密钥交换.

Download Presentation

网络安全概论

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 普通高等教育“十一五”国家级规划教材 “信息化与信息社会”系列丛书 网络安全概论 刘建伟 2012年9月28日

  2. 专题:双钥密码体制(二) Diffie-Hellman密钥交换 二 三 一 一 Rabin公钥密码体制 椭圆曲线密码体制

  3. 专题:双钥密码体制(二) Diffie-Hellman密钥交换 二 三 一 一 Rabin公钥密码体制 椭圆曲线密码体制

  4. 一、Diffie-Hellman密钥交换 • 1976年Diffie和Hellman发明了DH算法,该算法是一个公开密钥算法,其安全性源于在有限域上计算离散对数比计算指数更为困难。 • DH算法用于密钥分配,但不能用于加密或解密。 • DH算法已经申请美国和加拿大的专利,目前该专利已经到期。 • DH算法容易受到中间人攻击。

  5. Diffie-Hellman 密钥分配方案 • 两个通信主体Alice和Bob ,希望在公开信道上建立共享密钥 • 选择一个大素数p (~200 digits) • 一个生成元a • Alice 选择一个秘密钥( private key) xA < p • Bob选择一个秘密钥( private key )xB < p • Alice and Bob 计算他们的公开密钥: yA = axA mod p, yB = axB mod p • Alice , Bob 分别公开 yA , yB

  6. 共享密钥的生成 • 计算共享密钥: KAB= axA.xB mod p =(yAxB)mod p (which B can compute) =(yBxA )mod p (which A can compute) • KAB可以用于对称加密密钥 • 不能用于加密任意消息;可以建立共享密钥 • 基于有限域上的指数问题 • 安全性是基于计算离散对数的困难性

  7. 二 三 四 Diffie-Hellman 应用的问题 两个主体每次可以选择新的秘密钥(私钥),并计算及交换新的公钥 为抵抗主动攻击,需要其它新的协议 • 可以抵抗被动攻击,但不能抵抗主动攻击 • 每次可以给出新的密钥,也可以建立长期公钥

  8. 专题:双钥密码体制(二) Diffie-Hellman密钥交换 二 三 一 一 Rabin公钥密码体制 椭圆曲线密码体制

  9. 二、Rabin公钥密码体制 1979年,Rabin利用合数模下求解平方根的困难性构造了一种安全的公钥体制。 Rabin公钥体制已经被证明:对该体制的破译的难度等价于大整数分解。 Rabin体制是RSA的一种特例,它有以下两个特点: RSA中选取的公开钥e满足1<e<φ(n),且gcd(e, φ(n))=1。而Rabin体制则选择e=2。 它不是以一一对应的单向陷门函数为基础。即对于同一密文,可能对应有两个以上的明文。 破译该体制等价于大整数的分解。

  10. 2.1 密钥的产生 • 1. Rabin体制 • 则选择e=2 • 5. p, q为 • 私钥 • 2. 随机选择 • 两大素数p, q • 4. n, e作为 • 公钥 • 满足p≡q≡3 mod 4即这两个素数的形式为:4k+3 • (k为整数) • 3. 计算: • n=p×q

  11. B将密文c发给A。 • 假设B要将消息加密后发给A; • A公布其公开钥:n, e=2 • B将明文分组为m1,m2,m3,m4…..。设其中一个明文分组为消息m • B计算密文:c≡me≡m2mod n 2.2 Rabin加密过程

  12. 2.3 Rabin解密过程 A解密就是求c的模n平方根,即解x2≡c mod n; 由中国剩余定理可知,解以上方程等价于解方程组: 由于p≡q≡3 mod 4,可以很容易求出方程组的解: 经过组合可以得到4个同余方程组:

  13. 2.3Rabin解密过程(续) 可见:由中国剩余定理解出的每一方程组的解有4个,即每一密文对应的明文不是唯一的。 • 解决办法:为了有效地确定唯一的明文,发送者可以在明 • 文消息m中加入某些信息,如发送者的身份号、接收者的 • 身份号、日期、时间等。

  14. 专题:双钥密码体制(二) Diffie-Hellman密钥交换 二 三 一 一 Rabin公钥密码体制 椭圆曲线密码体制

  15. 三、椭圆曲线密码体制ECC 1985年,Koblitz和Miller独立将椭圆曲线(Elliptic Curve)引入密码学中,成为构造双钥体制的有力工具。 目前,对这种椭圆曲线离散对数密码体制研究已经有16年的历史,尚未发现明显的弱点。 目前,大多数的产品和标准均使用RSA。为了保证RSA的安全性,近年来所采用的密钥长度不断增加,这直接导致了RSA计算量的增加。 ECC对RSA提出了巨大的挑战。在公钥密码的标准化过程中,IEEE P1363标准已经采用了ECC。 与RSA相比,ECC的主要优点是可以使用比RSA更短的密钥获得相同水平的安全性。

  16. 3.1 实数域上椭圆曲线的概念 • 群定义:若在集合上定义的加法运算是 封闭的,且满足交换律和结合律,我们就称这个集合为群。 • 可以证明:如果x3 + ax + b没有重复因子,或者满足4a3 + 27b2≠0,那么椭圆曲线上的点集可构成一个群(group)。 • 实数域上的椭圆曲线可以定义为满足方程 y2= x3 + ax + b的点(x,y)的集合 • 椭圆曲线群包括所有曲线上的点以及一个特殊的点,我们称其为无限远点O

  17. 实数域椭圆曲线上加法: P+Q 加法定律:P + Q = R

  18. 实数域椭圆曲线上加法: P+(-P) 加法定律 P + (-P) = O

  19. 实数域椭圆曲线上加法:2P 加法定律:2P= P +P = R

  20. 3.2 有限域Fq上的椭圆曲线 • 有限域 Fq上的椭圆曲线y2 = x3 + ax + b,其点集(x, y)构成有限域上的Abel群。条件为: 4a3 + 27b2≠0mod q 设P=(x1,y1), Q=(x2,y2), P+Q=(x3,y3), • 那么:

  21. 举例说明—F23的椭圆曲线 取p=23, a=b=1, 则椭圆曲线方程为:y2=x3+x+1 把满足上式的所有点(x,y)和元素O所组成的点集记为E23(1,1) 对于E23(1, 1),只关心满足模p方程的、从(0,0)到(p-1, p-1)的象限中的非负整数。下表列出E23(1, 1)若干点(O点除外)。 (9,7)

  22. 举例说明—F23的椭圆曲线 说明:对于有限域Fp上的椭圆曲线,使用变元和系数均在0 到p-1的整数集上取值的三次方程,其中p是大素数,所执 行的运算均为模p运算。 例如:当a=1, b=1, p=23时可满足(2)式: 4×13+27×12=31 mod23≠0 且x=9, y=7时,(1)式的两边分别为:

  23. 举例说明—F23的椭圆曲线

  24. 举例说明—F23的椭圆曲线 例如:E23(1, 1)为一椭圆曲线,设P=(3,10), Q=(9,7),则: 可以求出: x3=112-3-9=109=17 mod 23 y3=11(3-17)-10=-164=20 mod 23 所以: P+Q=(17, 20) 可以看出:P+Q仍然为椭圆曲线E23(1,1)上的点。

  25. 举例说明—F23的椭圆曲线 设P=(3,10),则2P的计算为: 可以求出: x3=62-3-3=30=7 mod 23 y3=6 (3-7)-10=-34=12 mod 23 所以: 2P=(7, 12) 可以看出:2P仍然为椭圆曲线E23(1,1)上的点。类似地: 我们可以求出:4P=P+P+P+P

  26. 结 论 从上例可以看出:加法运算在E23(1,1)上是封闭的,且还能验证满足交换律; 对于一般形式的Ep(a,b),可证明其上的加法运算是封闭的,且满足交换律。 同样,我们还可以证明Ep(a,b)上的加法逆元运算也是封闭的。 所以, Ep(a,b)是一个Abel群。

  27. 3.3 建立在椭圆曲线上的密码 • 为了使用 椭圆曲线构造公钥密码体制,需要找出椭圆曲线上的数学难题。 在椭圆曲线构成的Abel群Ep(a,b)上,考虑方程Q=k P, 其中P, Q∈Ep(a,b), k<p 由k和P求Q非常容易; 由P, Q求k则非常困难。 这就是椭圆曲线上的离散对数问题—ECDLP • Diffie-Hellman以及ElGamal是基于有限域上的离散对数问题构造的公钥体制,它们也可以采用椭圆曲线来构造。

  28. 椭圆曲线上的Diffie-Hellman密钥交换 • 取Ep(a, b)上的一个生成元G(x1, y1),要求G的阶是一个非常大的数,G的阶是满足nG=O的最小正整数。 • 首先取一素数p≈2180,以及参数a, b,则椭圆曲线上的点构成Abel群Ep(a, b)。 • Ep(a, b)和G作为公钥体制的公开密钥参数,对外公布。

  29. EC上的Diffie-Hellman密钥交换算法 • A选择一小于n的整数nA作为私钥,由PA=nAG产生Ep(a,b)上的一点作为公钥。 • B类似地选取自己的私钥nB,并计算自己的公钥PB=nBG。 • A可以获得B的公钥PB • B可以获得A的公钥PA • A计算: K=nA×PB= nAnBG • B计算: K=nB×PA= nAnBG 至此,A和B共同拥有密钥K= nAnBG。攻击者如果想 获得密钥K,他就必须由PA和G求出nA,或者由PB和G 求出nB,而这等价于求椭圆曲线上的离散对数问题EC DLP,因此是不可行的

  30. 举例说明—EC上的DH密钥交换算法 • 选择p=211,E211(0,-4),即椭圆曲线为y2≡x3-4mod 211 • G=(2,2)是E211(0,-4)上的一个生成元,阶n=241,241G=O • A取私钥为nA=121,可计算公钥PA=121 ×(2,2)=(115,48) • B取私钥为nB=203,可计算公钥PB=203 ×(2,2)=(130,203) • A计算共享密钥:121×PB=121× (130,203)=(161,169) • B计算共享密钥:203×PA=203× (115, 48)=(161,169) 可见,此时A和B共享密钥是一对数据。 如果在后续采用单钥体制加密时,可以简单地取其中的 一个坐标,比如x坐标,或x坐标的一个简单函数作为共 共享的密钥进行加密/解密运算。

  31. RSA算法与ECC算法比较

  32. ECC标准 (Drafts & Proposals) • ANSI X9: 62, 63, 92, … • IEEE: 1363-2000, P1363a, P1363.2, P802.15.3/4, … • ISO: 14888-3, 9496, 15496, 18033-2, … • FIPS: 186-2, 2XX, … • NESSIE, IPA Cryptrec, … • SECG: SEC1, SEC2, … • IETF: PKIX, IPSec, SMIME, TLS, … • SET, MediaPlayer, 5C, WAP, …

  33. 公钥算法功能总结 功能 加密/解密 密钥交换 签名/验证 算法 是 RSA 是 是 是 是 ElGamal 是 是 ECC 是 是 否 DSA 否 是 DH 否 是 否

  34. 公钥密码算法总览 • only three types of systems should be considered both secure and efficient. • the mathematical problem on which the systems are based: • Integer factorization problem (IFP) • Discrete logarithm problem (DLP) • Elliptic curve discrete logarithm problem (ECDLP) • Other mathematical difficult problem

  35. 谢谢!

More Related