欢迎来到天天文库
浏览记录
ID:37697892
大小:121.32 KB
页数:8页
时间:2019-05-29
《公钥密码原理》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、公钥密码体制原理简介及补遗-1-公钥密码体制原理简介及补遗(陈云川ybc2084@163.comUESTC,CD2007年6月26日)核心思想公钥密码体制的核心思想是:加密和解密采用不同的密钥。这是公钥密码体制和传统的对称密码体制最大的区别。对于传统对称密码而言,密文的安全性完全依赖于密钥的保密性,一旦密钥泄漏,将毫无保密性可言。但是公钥密码体制彻底改变了这一状况。在公钥密码体制中,公钥是公开的,只有私钥是需要保密的。知道公钥和密码算法要推测出私钥在计算上是不可行的。这样,只要私钥是安全的,那么加密就是可信的。显然,对称密码和公钥密码都需要保证密钥的安全,不同之处
2、在于密钥的管理和分发上面。在对称密码中,必须要有一种可靠的手段将加密密钥(同时也是解密密钥)告诉给解密方;而在公钥密码体制中,这是不需要的。解密方只需要保证自己的私钥的保密性即可,对于公钥,无论是对加密方而言还是对密码分析者而言都是公开的,故无需考虑采用可靠的通道进行密码分发。这使得密钥管理和密钥分发的难度大大降低了。两种密码体制的特征对比表1将对称密码和公钥密码的特征进行了对比。如前所述,公钥密码体制使用两个密钥,习惯上,为了将其与对称密码体制中的密钥相区分,把公钥密码体制中使用的两个密钥分别称为公钥和私钥。公钥是可公开的,而私钥则是要保密的。表1对称密码和公钥
3、密码的对比对称密码公钥密码加解密使用相同的密钥和相同的算同一算法用于加解密,但加密和解密使法用不同的密钥一般要求收发双方必须共享密钥收发双方共享公钥,但各自的私钥是保密的密钥必须是保密的私钥必须是保密的若没有其它信息,则解密消息是不若没有其它信息,则解密消息是不可能安全性要求可能的或至少是不可行的的或至少是不可行的知道算法和若干密文不足以确定密知道算法和其中一个密钥以及若干密钥文不足以确定另一密钥公钥密码的两种基本用途公钥密码的两种基本用途是用来进行加密和认证。为了便于说明,不妨假设消息的发送公钥密码体制原理简介及补遗-2-方为A,相应的公钥对为(PUA,PRA)
4、。这里,PUA表示A的公钥,PRA表示A的私钥。同理,假设消息的接收方为B,相应的公钥对为(PUB,PRB)。其中,PUB表示B的公钥,PRB表示B的私钥。对于A而言,既知道自己的公钥PUA,也知道B的公钥PUB。通常,就将A所知道的公钥集合称为公钥环。当需要对消息进行加密时,A从自己的公钥环中取出接收方的公钥,对消息进行加密,然后将消息发送给接收方。接收方收到加密消息后,用自己的私钥对密文进行解密。这个过程如图1所示。图1公钥密码用于加密由于A是用B的公钥PUB对消息进行加密,因此只有用B的私钥PRB才能解密密文C,而B的私钥PRB是由B秘密保存的。由于攻击者没
5、有B的私钥PRB,因此攻击者要想仅根据密文C和B的公钥PUB解密消息是不可能的。由此,就实现了保密性的功能。除了用于实现保密性之外,公钥密码还可以用来实现认证功能。过程如图2所示。图2公钥密码用于认证对比图1,可以看到用公钥密码实现认证和用于保密的区别。最主要的不同在于加解密密钥的使用上,当用公钥密码实现保密功能时,是用接收方的公钥对消息进行加密,接收方用自己的私钥对消息进行解密;而当用公钥密码实现认证功能时,是用发送方的私钥对消息进行加密,接收方收到之后,用发送方的公钥恢复出明文消息M。由于只有发送方A拥有私钥PRA,因此只要接收方B能够正确解密出密文C,就可以
6、认为消息的确是由发送方A发出的。这样就实现了对发送方的身份的认证。不过,这种简单的公钥认证模型的问题是:第一,这种方式只能对发送端进行认证;第二,由于攻击者也可以知道A的公钥,因此攻击者也可以公钥密码体制原理简介及补遗-3-解密出密文消息C,也就是说,这里只能实现认证能力,而无法实现保密能力。如果要同时实现保密和认证功能,需要对消息进行两次加密。应满足的条件公钥密码应满足的5个基本条件是由Diffie和Hellman给出的,这里,假设消息的发送方为A,消息的接收方为B:ò产生密钥对(公钥PU,私钥PR)在计算上是容易的;ò已知B的公钥PUb和要发送给B的消息M,A
7、产生相应的密文在计算上是容易的:C=E(PUb,M)ò接收方B用自己的私钥PRb解密所接收的密文以恢复明文消息在计算上是容易实现的:M=D(PRb,C)=D[PRb,E(PUb,M)]ò假设攻击者已知公钥PUb,要确定出对应的私钥PRb在计算上是不可行的;ò假设攻击者已知公钥PUb和密文C,要恢复明文M在计算上是不可行的;以上5个条件就是公钥密码的基本要求。通常,现代公钥密码还满足以下条件:ò既可以用公钥作为加密密钥,也可以用私钥作为加密密钥。如果用公钥作为加密密钥,那么私钥就是解密密钥;如果用私钥作为加密密钥,那么公钥就是解密密钥。比如,著名的RSA密码就满足上
8、述附加条件
此文档下载收益归作者所有