公钥密码技术讲义
公钥密码技术讲义1.问题的引入1.1攻击类型根据攻击的不同方式,攻击被分为被动攻击和主动攻击。
图表 1消息的正常传送被动攻击获得正在传送的信息。
其特点是:偷听或监视传送。
攻击的手段是:泄露消息内容和通信量分析。
(绘图说明)主动攻击主动攻击主要涉及到数据流的修改或创建错误流。
攻击手段是:伪装、重放、修改消息和拒绝服务。
1.2安全服务(简要说明)A.保密性B.验证(鉴别)C.完整性D.不可抵赖性(不可否认性)E.访问控制F.可用性1.3常规加密的缺陷尽管对称密码技术有一些很好的特性,但它也存在着明显的缺陷,主要在于其密钥的管理:A.进行安全通信前需要以安全方式进行密钥交换。
这一步骤,在某种情况下是可行的,但在某些情况下会非常困难,甚至无法实现。
B.密钥规模复杂。
举例来说,A与B两人之间的密钥必须不同于A和C两人之间的密钥,否则给B的消息的安全性就会受到威胁。
在有1000个用户的团体中,A需要保持至少999个密钥(更确切的说是1000个,如果她需要留一个密钥给他自己加密数据)。
对于该团体中的其它用户,此种情况同样存在。
这样,这个团体一共需要将近50万个不同的密钥!推而广之,n个用户的团体需要n2/2个不同的密钥。
2.公钥密码技术2.1基本概念应用两个不同的密钥:一个是公开的,一个是秘密的。
从公开密钥(以下简称为公钥)很难推断出私人密钥(以下简称为私钥)。
持有公钥的任何人都可以加密消息,但却无法解密。
只有持有私钥的人才能够解密。
2.2加密/解密基本步骤图表 2加密/解密基本步骤一般的情况下,网络中的用户约定一个共同的公开密钥密码系统,每个用户都有自己的公钥和私钥,并且所有的公钥都保存在某个公开的数据库中,任何用户都可以访问此数据库。
这样加密协议如下:A.Alice从公开数据库中取出Bob的公开密钥。
B.Alice用Bob的公开密钥加密她的消息,然后传送给Bob。
C.Bob用他的私钥解密Alice的消息。
2.3优点从以上的介绍中可以看出,与对称密码技术相比较,利用非对称密码技术进行安全通信,有以下优点:A.通信双方事先不需要通过保密信道交换密钥。
B.密钥持有量大大减少。
在n个用户的团体中进行通信,每一用户只需要持有自己的私钥,而公钥可放置在公共数据库上,供其它用户取用。
这样,整个团体仅需拥有n对密钥,就可以满足相互之间进行安全通信的需求。
(实际中,因安全方面的考虑,每一用户可能持有多个密钥,分别用于数字签名、加密等用途。
此种情况下,整个团体拥有的密钥对数为n的倍数。
但即使如此,与使用对称密码技术时需要n2/2个不同的密钥相比,需要管理的密钥数量仍显著减少。
)C.非对称密码技术还提供了对称密码技术无法或很难提供的服务:如与哈希函数联合运用可生成数字签名(下面介绍),可证明的安全伪随机数发生器的构造,零知识证明等。
2.4公钥密码系统提供的安全服务A.加密/解密:发送方可以用接收方的公钥加密消息。
B.数字签名:发送方用其私钥“签署”消息,通过对消息或作为消息函数的小块数据应用加密算法来进行签署。
C.密钥交换:两方互相合作可以进行会话密钥的交换。
2.5理论基础一个公开密钥密码系统必须满足的条件是:A.通讯双方A和B容易通过计算产生出一对密钥(公开密钥K1,私钥密钥K2)。
B.在知道公开密钥K1和待加密报文M的情况下,对于发送方A,很容易通过计算产生对应的密文:C. C = Ek1(M)D.接收方B使用私有密钥容易通过计算解密所得的密文以便恢复原来的报文:E.M = Dk2(C)= Dk2[Ek1(M)]F.除A和B以外的其他人即使知道公钥k1,要确定私钥K2在计算上也是不可行的。
G.除A和B以外的其他人即使知道公钥k1和密文C,要想恢复原来的明文C在计算上也是不可行的。
这些要求最终可以归结到设计一个单向陷门函数。
单向函数:一个单向函数是满足下列条件的函数:它将一个定义域映射到值域,使得每个函数值有一个唯一的原像,同时还要满足下列条件:函数值计算很容易,而逆计算是不可行的。
单项陷门函数:所谓单向陷门函数是这样的函数,即除非知道某种附加的信息,否则这样的函数在一个方向上容易计算,而在另外的方向上要计算是不可行的。
有了附加的信息,函数的逆就可以在多项式时间内计算出来。
一个实用的公开密钥密码系统的建立和发展依赖于找到一个单向陷门函数。
2.6公开密钥密码分析攻击公开密钥密码系统的方法有如下几种:穷举法–对此防范措施应为:使用长的密钥。
但是由于公钥算法依赖于单向陷门函数,计算函数的复杂性与密钥的长度的关系可能会增长得更快。
因而密钥大小必须足够大,以保证安全性,但是又要足够小以便加密解密使用。
根据公钥计算私钥–在数学上证明,对任何公钥算法,这种分析可能成功。
因而对任何公钥算法,对这种攻击方法都需要测试。
3.常用加密算法3.1 Diffie-Hellman密钥交换DH算法是W.Diffie和M.Hellman提出的。
此算法是最早的公钥算法。
它实质是一个通信双方进行密钥协定的协议:两个实体中的任何一个使用自己的私钥和另一实体的公钥,得到一个对称密钥,这一对称密钥其它实体都计算不出来。
DH算法的安全性基于有限域上计算离散对数的困难性。
离散对数的研究现状表明:所使用的DH密钥至少需要1024位,才能保证有足够的中、长期安全。
3.2 RSARSA算法是R.Rivest、A.Shamir和L.Adleman于1977年在美国麻省理工学院开发,于1978年首次公布。
RSA公钥密码算法是目前网络上进行保密通信和数字签名的最有效的安全算法之一。
RSA算法的安全性基于数论中大素数分解的困难性,所以,RSA需采用足够大的整数。
因子分解越困难,密码就越难以破译,加密强度就越高。
其算法如下:A.选择两质数p、qB.计算n = p * qC.计算n的欧拉函数Φ(n) = (p - 1)(q - 1)D.选择整数e,使e与Φ(n)互质,且1 < e < Φ(n)E.计算d,使d * e = 1 modΦ(n)其中,公钥KU={e, n},私钥KR={d, n}。
加密/解密过程:利用RSA加密,首先需将明文数字化,取长度小于log2n位的数字作为明文块。
对于明文块M和密文块C,加/解密的形式如下:加密: C = M e mod n解密: M = C d mod n = (M e)d mod n = M ed mod nRSA的安全性基于大数分解质因子的困难性。
因为若n被分解为n = p * q,则Φ(n)、e、d 可依次求得。
目前,因式分解速度最快的方法的时间复杂性为exp(sqrt(ln(n)lnln(n)))。
统计数据表明,在重要应用中,使用512位的密钥已不安全,需要采用1024位的密钥。
3.3椭圆曲线密码体制(ECC)原理:1985年,N. Koblitz和V. Miller分别独立提出了椭圆曲线密码体制(ECC),其依据就是定义在椭圆曲线点群上的离散对数问题的难解性。
为了用椭圆曲线构造密码系统,首先需要找到一个单向陷门函数,椭圆曲线上的数量乘就是这样的单向陷门函数。
椭圆曲线的数量乘是这样定义的:设E为域K上的椭圆曲线,G为E上的一点,这个点被一个正整数k相乘的乘法定义为 k个G相加,因而有kG = G + G + … + G (共有k个G)若存在椭圆曲线上的另一点N ≠ G,满足方程kG = N。
容易看出,给定k和G,计算N 相对容易。
而给定N和G,计算k = log G N相对困难。
这就是椭圆曲线离散对数问题。
离散对数求解是非常困难的。
椭圆曲线离散对数问题比有限域上的离散对数问题更难求解。
对于有理点数有大素数因子的椭圆离散对数问题,目前还没有有效的攻击方法。
建立椭圆曲线密码体制选取适当的有限域Fq和椭圆曲线E,在E(Fq)中选一个周期很大的点,如选了一个点P=(xp,yp),它的周期为一个大的素数n,记∏(P)=n(素数)。
注意:在这个密码体制中,具体的曲线及点P和它的n都是公开信息。
密码体制的形式采用EIGamal体制,是完全类比过来。
加密/解密协议a)密钥的生成A.Bob(使用者)执行了下列计算:B.在区间[1,n-1]中随机选取一个整数d。
C.计算点Q:=dP (d个P相加)D.Bob公开自己的公开密钥-- (E(Fq),P,n,Q)E.Bob的私钥为整数d!Alice要发送消息m给Bob,Alice执行:A.查找Bob的公钥(E(Fq),P,n,Q)B.将m表示成一个域元素P m∈FqC.在区间[1,n-1]内选取一个随机数kD.依据Bob的公钥计算点 (x1,y1):=kP(k个P相 )E.计算点(x2,y2):=kQ,如果x2=0,则回到第C.步F.生成密文:C m = {kP, P m + kQ}G.传送加密数据{kP, P m + kQ}给Bobb) Bob的解密过程Bob接收到{kP, P m + kQ},Bob用这一对中的第一个点乘以B的秘密密钥,再从第二个点中减去这个值:P m + kQ– d(kP) = P m + k(dG) –d(kG) = P m4.数字信封和数字签名公钥密码体制在实际应用中包含数字签名和数字信封两种方式。
数字信封(Digital Envelop)的功能类似于普通信封。
普通信封在法律的约束下保证只有收信人才能阅读信的内容;数字信封则采用密码技术保证了只有规定的接收人才能阅读信息的内容。
数字信封中采用了单钥密码体制和公钥密码体制。
信息发送者首先利用随机产生的对称密码加密信息,再利用接收方的公钥加密对称密码,被公钥加密后的对称密码被称之为数字信封。
在传递信息时,信息接收方要解密信息时,必须先用自己的私钥解密数字信封,得到对称密码,才能利用对称密码解密所得到的信息。
这样就保证了数据传输不可抵赖性。
数字签名(Digital Signature)是指用户用自己的私钥对原始数据的哈希摘要进行加密所得的数据。
信息接收者使用信息发送者的公钥对附在原始信息后的数字签名进行解密后获得哈希摘要,并通过与自己用收到的原始数据产生的哈希哈希摘要对照,便可确信原始信息是否被篡改。
这样就保证了消息来源的真实性和数据传输的完整性。
4.1数字签名原理在文件上手写签名长期以来被用作作者身份的证明,或表明签名者同意文件的内容。
实际上,签名体现了以下几个方面的保证:A.签名是可信的。
签名使文件的接收者相信签名者是慎重地在文件上签名的。
B.签名是不可伪造的。
签名证明是签字者而不是其他的人在文件上签字。
C.签名不可重用。
签名是文件的一部分,不可能将签名移动到不同的文件上。
D.签名后的文件是不可变的。
在文件签名以后,文件就不能改变。
E.签名是不可抵赖的。
签名和文件是不可分离的,签名者事后不能声称他没有签过这个文件。
信息安全第三讲公钥密码精品PPT课件
①接收密文C;
②用自己的KdB解密: S=D(C, KdB)
③ 查PKDB,查到A的KeA ④加密:M=E(S, KeA )
因为综合了前两个协议,只有A才能产生S,只有B才能得到M, 所以可同时确保数据的秘密性和真实性;
三、计算困难问题及相应密码
1、大合数的因子分解
小合数的因子分解是容易的,然而 大合数的因子分解却是十分困难的。关 于大合数的因子分解的时间复杂度下限 目前尚没有一般的结果,迄今为止的各 种因子分解算法提示人们这一时间下限
将 不 低 于 O(EXP(lnNlnlnN)1/2) 。 根 据 这
一结论,只要合数足够大,进行因子分 解是相当困难的。
三、计算困难问题及相应密码
1、大合数的因子分解
2005年人们利用数域筛法分解了一个十进制200位的大 合数(665位的RSA) 。
2007年5月人们利用特殊数域筛法,分解了一个十进制 313位,大合数21023-1。这是目前世界大合数因子分解 的世界纪录。
问题复杂度是求解该问题的最佳算法的算法复杂度。
d.算法复杂度强调f(n)随n的变化速度。 e.算法复杂度f(n)=O(g(n))的充要条件是,存在一个常数c和n0使当 n0≤n 时,│ f(n)│≤c │ g(n)│。 例: f(n)=17n+10,因为当n≥10时,就有17n+10≤18n ,选c=18,
①问题:计算机求解的对象; ②问题的规模:求解问题所需输入的二进制位数n。 ③算法复杂度:
a. 用一个算法求解一个规模为n的问题,若对任意的n和所有长为n的 输入,最多需f(n)步可将问题求解,则称算法复杂度为f(n) 。 b.算法复杂度分为时间复杂度和空间复杂度,通常考虑时间复杂度。 C.显然:算法复杂度是求解某问题的最难特例所需的计算时间;
公钥密码技术讲义
公钥密码技术讲义1.问题的引入1.1攻击类型根据攻击的不同方式,攻击被分为被动攻击和主动攻击。
图表1消息的正常传送被动攻击获得正在传送的信息。
其特点是:偷听或监视传送。
攻击的手段是:泄露消息内容和通信量分析。
(绘图说明)主动攻击主动攻击主要涉及到数据流的修改或创建错误流。
攻击手段是:伪装、重放、修改消息和拒绝服务。
1.2安全服务(简要说明)A.保密性B.验证(鉴别)C.完整性D.不可抵赖性(不可否认性)E.访问控制F.可用性1.3常规加密的缺陷尽管对称密码技术有一些很好的特性,但它也存在着明显的缺陷,主要在于其密钥的管理:A.进行安全通信前需要以安全方式进行密钥交换。
这一步骤,在某种情况下是可行的,但在某些情况下会非常困难,甚至无法实现。
B.密钥规模复杂。
举例来说,A与B两人之间的密钥必须不同于A和C两人之间的密钥,否则给B的消息的安全性就会受到威胁。
在有1000个用户的团体中,A需要保持至少999个密钥(更确切的说是1000个,如果她需要留一个密钥给他自己加密数据)。
对于该团体中的其它用户,此种情况同样存在。
这样,这个团体一共需要将近50万个不同的密钥!推而广之,n个用户的团体需要n2/2个不同的密钥。
2.公钥密码技术2.1基本概念应用两个不同的密钥:一个是公开的,一个是秘密的。
从公开密钥(以下简称为公钥)很难推断出私人密钥(以下简称为私钥)。
持有公钥的任何人都可以加密消息,但却无法解密。
只有持有私钥的人才能够解密。
2.2加密/解密基本步骤图表2加密/解密基本步骤一般的情况下,网络中的用户约定一个共同的公开密钥密码系统,每个用户都有自己的公钥和私钥,并且所有的公钥都保存在某个公开的数据库中,任何用户都可以访问此数据库。
这样加密协议如下:A.Alice从公开数据库中取出Bob的公开密钥。
四川大学计算机网络与安全研究所B.Alice用Bob的公开密钥加密她的消息,然后传送给Bob。
C.Bob用他的私钥解密Alice的消息。
第5讲 公钥密码技术1
RSA算法的安全性
RSA密码体制的安全性是基于分解大整数 的困难性假设 RSA算法的加密函数c=me mod n是一个 单向函数,所以对于攻击者来说,试图解 密密文是计算上不可行的 对于接收方解密密文的陷门是分解n = pq, 由于接收方知道这个分解,他可以计算 (n)=(p-1)(q-1),然后用扩展欧几里德算法 来计算解密私钥d。
2013-7-10
Ch4(1)-公钥加密技术
14
背包密码系统实例
假设(2,3,7,14,30,57,120,251)是超级递增背包 选择m = 41、n = 491。这里m, n互素并且n大于背 包各元素之和 则普通背包产生方式:
2 41 mod 491 = 82 3 41 mod 491 = 123 7 41 mod 491 = 287 14 41 mod 491 = 83 30 41 mod 491 = 248 57 41 mod 491 = 373 120 41 mod 491 = 10 251 41 mod 491 = 471
2013-7-10 Ch4(1)-公钥加密技术 4
攻击者
发送方A 消 息 M 加 法密 算 解 法密 算 接收方B 消 息 M
C
PUB
PRB
密钥源
图4.1 公钥加密模型
2013-7-10
Ch4(1)-公钥加密技术
5
攻击者
发送方A
消 息 加 法密 算 解 法密 算
接收方B
消 息 M
M
C
PRA
密钥源
2013-7-10
Ch4(1)-公钥加密技术
17
背包密码系统分析
第6讲 公钥密码技术2
该算法的安全性基于求离散对数的困难性。
给定g, p,以及x=gk%p很难找到 k
2013-7-12 Ch4(2)-公钥加密技术 17
Diffie-Hellman算法
算法的难度建立在离散对数问题(discrete log) 上: 给定g, p,以及x=gk%p很难找到 k
与对数问题相似,不同的是进行离散对数运算 为被证实是NP完全问题,但与因子分解一样非 常困难
Ch4(2)-公钥加密技术
13
使用公钥证书分配公钥过程非常简单 事先由CA对用户的证书签名,证书中包含有与该 用户的私钥相对应的公钥及用户的身份等信息 所有的数据项经CA用自己的私钥签名后就形成证 书
用户可将自己的公钥通过公钥证书发给另一用户, 接收方可用CA的公钥对证书加以验证,这样接收 方就能知道发送方的公钥
会遭受中级人(MiM)攻击(一种主动攻击)
ga mod p gt mod p Alice, a Trudy, t gt mod p gb mod p Bob, b
Trudy和Alice共享密钥gat % p Trudy和Bob共享密钥 gbt % p Alice和Bob不知道Trudy的存在!
2013-7-12 Ch4(2)-公钥加密技术 22
由于证书是由CA私钥加密,任何其他人不能伪造 该证书。
2013-7-12 Ch4(2)-公钥加密技术 14
利用公钥密码分配对称密钥
由于公钥算法速度很慢,在通信中一般不使用公 钥加密消息,而是使用会话钥(对称密码密钥) 因此一般的做法是用会话钥加密消息,用公钥来 实现会话钥的分配。
2013-7-12
第4章 公钥密码技术
主要知识点:
公钥密码体制
《公钥密码体系》课件
03
保障国家安全
公钥密码体系在国家安全领域 中也有广泛应用,如军事通信
、政府机密保护等。
公钥密码体系的历史与发展
03
起源
公钥密码体系起源于20世纪70年代,最 早的公钥密码体系是RSA算法。
发展历程
未来展望
随着计算机科学和数学的发展,公钥密码 体系不断得到改进和完善,出现了多种新 的算法和应用。
随着互联网和物联网的普及,公钥密码体 系将面临更多的挑战和机遇,需要不断探 索和创新。
性能问题
1 2 3
加密和解密速度
公钥密码体系的加密和解密速度通常较慢,需要 优化算法和提高计算能力,以提高加密和解密的 速度。
资源消耗
公钥密码体系通常需要较大的计算资源和存储空 间,需要优化算法和资源利用方式,以降低资源 消耗。
适应性
公钥密码体系需要适应不同的应用场景和需求, 需要开发适用于不同场景的公钥密码算法和解决 方案。
人工智能与机器学习
人工智能和机器学习技术在公钥密码体系中也有着广阔的应用前景。这些技术可以帮助自动识别和防御 网络攻击,提高公钥密码体系的安全性和可靠性。
应用领域拓展
物联网安全
随着物联网技术的普及,公钥密 码体系在物联网安全领域的应用 将越来越广泛。物联网设备需要 使用公钥密码算法进行身份认证 和数据加密,以确保设备之间的 通信安全。
非对称加密算法可以支持多种加密模式,如对称加密算法中的块加 密和流加密模式。
数字签名
验证数据完整性和身份
数字签名使用私钥对数据进行加密,生成一个数字签名。 接收者使用公钥解密数字签名,验证数据的完整性和发送 者的身份。
防止数据被篡改
数字签名可以防止数据在传输过程中被篡改,因为任何对 数据的修改都会导致数字签名无效。
第9讲公钥密码概述ppt课件
解密用户V发给用户U的密钥.
具体方法
攻击者截获用户U发给V的密文后,不传给用户V, 而是解读出明文后再将明文用W与V的密钥加 密后传给V.
备注: 中间人攻击中可选择xw1=xw2. 对付中间人攻击的方法: 中间人攻击利用了D-H协议中与双方的身份信
息无关这个缺点,因而必须利用对方的身份信息 进行对之进行身份认证.
▪ 用户拥有自己的密钥对(KU,KR) ▪ 公钥 KU公开,私钥KR保密
A B :Y EKUb (X ) B : DKRb (Y ) DKRb (EKUb ( X )) X
基于公开密钥的鉴别过程
用公钥密码实现鉴别
条件:两个密钥中任何一个都可以用作加密而另外
一个用作解密
▪ 鉴别:
A ALL :Y EKRa (X )
保密的负担. 前提条件: 必须进行身份认证,确保不是与假冒的用户进行
密钥交换,否则不能抵抗中间人攻击.
中间人攻击
----攻击者W在信道中间,假冒U与V进行密 钥交换,同时假冒V与U进行密钥交换.致使 看似U与V交换的密钥,实际上都是与攻击 者交换的密钥.
具体攻击
具体方法
攻击者W在信道上截获 xu mod和p
▪ 加密与解密由不同的密钥完成
加密:X Y :Y EKU (X )
▪
解密:Y X : X DKR (Y ) DKR (EKU (X ))
知道加密算法,从加密密钥得到解密密钥在计算上是
不可行的
▪ 两个密钥中任何一个都可以作为加密而另一个用作解
密(不是必须的)
基于公开密钥的加密过程
用公钥密码实现保密
P), 易见,K = K =g xy (mod P)
▪ 由(4)知,Alice和Bob已获得了相同的秘密值K ▪ 双方以K作为加解密钥以传统对称密钥算法进行保密通信
公钥密码技术全解PPT课件
方案1:c=E(m,PK), m=D(c, SK) 方案2:c=E(m,SK), m=D(c, PK)
2020年9月28日
5
公开密钥密码的优点
简化密钥管理 实现数字签名
签名需要有无法被他人获悉的能代表自身的 秘密信息
签名验证时不会泄漏上述秘密信息
密钥交换
实现通过公开网络环境下的密钥协商
新技术
双密钥:ke≠kd 非对称加密:使用其中一个密钥加密,使用另一个密钥解密 可公开一个密钥:仅知道密码算法和公钥要确定私钥在计算
上是不可行的
2020年9月28日
4
公钥密码体制的原理
五元组(M,C,K,E,D)
双密钥K=< Ke,Kd>
Ke ≠ Kd且由Ke 不能计算出 Kd ; Ke可公开, Kd保密K=(PK, SK) PK为公钥,SK为私钥 SK严格保密,可作为个人的身份指纹
2020年9月28日
13
RSA算法示例
加密与解密
公钥PK={e, n}={7,187} 私钥SK={d,p,q}={23,17,11} 明文m = 88 加密
c=me mod n= 887 mod 187 = 11 解密
m =cd mod n= 1123 mod 187 = 88
2020年9月28日
K(n, p,q,a,d) n,a,公开;p,q,d保密
加 密 过 程 :mamodnc,加 密 密 钥 a
解 密 过 程 :cdmodnm,解 密 密 钥 a
2020年9月28日
11
RSA算法验证
E和D的可逆性
c=E(m,e)=me mod n D(c,d)=cd mod n=(me)dmod n ed=1 modφ(n) D(c,d)=(me)dmod n=m tφ(n)+1
现在密码学第11讲公钥密码
无需事先分配密钥。
密钥持有量大大减少
提供了对称密码技术无法或很难提供的服务:
如与哈希函数联合运用可生成数字签名,可 证明的安全伪随机数发生器的构造,零知识 证明等
公钥密码体制有4个组成部分
明文:算法的输入,它们是可读信息或数据,用M 表示; 密文:算法的输出。依赖于明文和密钥,对给定的 消息,不同的密钥产生密文不同。用E表示; 公钥和私钥:算法的输入。这对密钥中一个用于加 密,为Ke,此密钥公开;一个用于解密,为Kd,此 密钥保密。加密算法执行的变换依赖于密钥; 加密、解密算法
传统密码体制在应用中的缺陷
密钥难以传输
不能提供法律证据 缺乏自动检测密钥泄密的能力
公钥密码体制(Public key system)
公钥密码学与其他密码学完全不同: 公钥算法基于数学函数而不是基于替换和置换 使用两个独立的密钥 公钥密码学的提出是为了解决两个问题: 密钥的分配 数字签名 1976年Diffie和Hellman首次公开提出了公钥密码学 的概念,被认为是一个惊人的成就。
M(n) =1+kq
两边同乘以M=cp,则: M(n)+1=M+kqcp=M+kcn 把kc看作一个常数,则:M(n)+1=M+tn 即:M(n)+1 ≡M mod n,即M(n) ≡1 mod n 因为ed=1 mod (n), 所以: Med ≡ Mk(n)+1 ≡ M[M(n) ]kmod n ≡ M[1]kmod n ≡ M mod n 综上,这样的e,d,n可以实现加密C=Me mod n 和解密M=Cd mod n
“The
magic words are squeamish ossifrage”
公钥密码技术讲义
公钥密码技术讲义1.问题的引入1.1攻击类型根据攻击的不同方式,攻击被分为被动攻击和主动攻击。
图表1消息的正常传送被动攻击获得正在传送的信息。
其特点是:偷听或监视传送。
攻击的手段是:泄露消息内容和通信量分析。
(绘图说明)主动攻击主动攻击主要涉及到数据流的修改或创建错误流。
攻击手段是:伪装、重放、修改消息和拒绝服务。
1.2安全服务(简要说明)A.保密性B.验证(鉴别)C.完整性D.不可抵赖性(不可否认性)E.访问控制F.可用性1.3常规加密的缺陷尽管对称密码技术有一些很好的特性,但它也存在着明显的缺陷,主要在于其密钥的管理:A.进行安全通信前需要以安全方式进行密钥交换。
这一步骤,在某种情况下是可行的,但在某些情况下会非常困难,甚至无法实现。
B.密钥规模复杂。
举例来说,A与B两人之间的密钥必须不同于A和C两人之间的密钥,否则给B的消息的安全性就会受到威胁。
在有1000个用户的团体中,A需要保持至少999个密钥(更确切的说是1000个,如果她需要留一个密钥给他自己加密数据)。
对于该团体中的其它用户,此种情况同样存在。
这样,这个团体一共需要将近50万个不同的密钥!推而广之,n个用户的团体需要n2/2个不同的密钥。
2.公钥密码技术2.1基本概念应用两个不同的密钥:一个是公开的,一个是秘密的。
从公开密钥(以下简称为公钥)很难推断出私人密钥(以下简称为私钥)。
持有公钥的任何人都可以加密消息,但却无法解密。
只有持有私钥的人才能够解密。
2.2加密/解密基本步骤图表2加密/解密基本步骤一般的情况下,网络中的用户约定一个共同的公开密钥密码系统,每个用户都有自己的公钥和私钥,并且所有的公钥都保存在某个公开的数据库中,任何用户都可以访问此数据库。
这样加密协议如下:A.Alice从公开数据库中取出Bob的公开密钥。
B.Alice用Bob的公开密钥加密她的消息,然后传送给Bob。
C.Bob用他的私钥解密Alice的消息。
2.3优点从以上的介绍中可以看出,与对称密码技术相比较,利用非对称密码技术进行安全通信,有以下优点:A.通信双方事先不需要通过保密信道交换密钥。
第九章公钥密码学-PPT课件
3.公钥加密方案
4.公钥密码理论
由私钥及其他密码信息容易计算出公开密钥 (a polynomial time (P-time) problem) 由公钥及算法描述,计算私钥是难的 (an NPtime problem) 因此,公钥可以发布给其他人(wishing to communicate securely with its owner ) 密钥分配问题不是一个容易的问题(the key distribution problem )
public-key/two-key/asymmetric 包 括两个密钥: 公开密钥(a public-key), 可以被任何人知 道, 用于加密或验证签名 私钥( private-key), 只能被消息的接收者 或签名者知道,用于解密或签名 加密或验证签名者不能解密或多或生成签 名. 是密码学几千年历史中最有意义的结果
例子: 1. 选素数p=47和q=71,得n=3337, (n)=46×70=3220; 2. 选择e=79,求得私钥d=e -1 1019(mod 3220)。 3. 公开n=3337和e=79. 4. 现要发送明文688,计算: 68879(mod 3337)=1570 5.收到密文1570后,用私钥d=1019进行解密: 15701019(mod 3337)=688
Signature Schemes
用于生成对某消息的数字签名 私钥的拥有者生成数字签名 任何人可以用公钥验证签名
6.公钥的安全性
依赖于足够大大的困难性差别 类似与对称算法,穷搜索在理论上是能够破解公 钥密码 exhaustive search 但实际上,密钥足够长 (>512bits) 一般情况下,有一些已知的困难问题(hard problem” 要求足够大的密钥长度 (>512 bits) 导致加密速度比对称算法慢
