- 68
- 0
- 约2.04万字
- 约 147页
- 2021-01-27 发布于河北
- 举报
公钥密码体制及典型算法; 在公钥密码体制以前的整个密码学史中,所有的密码算法,包括原始手工计算的、由机械设备实现的以及由计算机实现的,都是基于代换和置换这两个基本工具。
而公钥密码体制则为密码学的发展提供了新的理论和技术基础,一方面公钥密码算法的基本工具不再是代换和置换,而是数学函数;另一方面公钥密码算法是以非对称的形式使用两个密钥,两个密钥的使用对保密性、密钥分配、认证等都有着深刻的意义。可以说公钥密码体制的出现在密码学史上是一个最大的而且是???一真正的革命。; 公钥密码体制的概念是在解决单钥密码体制中最难解决的两个问题时提出的,这两个问题是密钥分配和数字签字。
单钥密码体制在进行密钥分配时, 要求通信双方或者已经有一个共享的密钥,或者可籍助于一个密钥分配中心。对第一个要求,常常可用人工方式传送双方最初共享的密钥,这种方法成本很高,而且还完全依赖信使的可靠性。第二个要求则完全依赖于密钥分配中心的可靠性。
第二个问题数字签字考虑的是如何为数字化的消息或文件提供一种类似于为书面文件手书签字的方法。
1976年W.Diffie和M.Hellman对解决上述两个问题有了突破,从而提出了公钥密码体制。;对称密码体制的缺陷 ;别名:
公钥密码体制,双钥密码体制
两个密钥:
公开密钥(公钥):可以被任何人知道, 用于加密或验证签名
秘密密钥(私钥):只能被消息的接收者或签名者知道,用于解密或签名。
加密或验证签名者不能解密或生成签名(已知密码算法和加密密钥,求解密密钥在计算上是不可行的)。
安全性基础:
基于数学难题
标志性文献
W.Diffie and M.E.Hellman, New Directions in Cryptography, IEEE Transaction on Information Theory, V.IT-22.No.6, Nov 1976, PP.644-654;由私钥及其他密码信息容易计算出公开密钥 (a polynomial time (P-time) problem)
由公钥及算法描述,计算私钥是难的 (an NP-time problem)
因此,公钥可以发布给其他人(wishing to communicate securely with its owner )
密钥分配问题不是一个容易的问题(the key distribution problem )
;公钥算法分类;;(2) 数字签名:将私钥作为加密密钥,公钥作为解 密密钥,可实现由一个用户对数据加密而使多个用户解读。
;(3) 密钥交换:通信双方交换会话密钥,以
加密通信双方后续连接所传输的信息。
每次逻辑连接使用一把新的会话密钥,
用完就丢弃。
;公开密钥算法的特点:;公开密钥算法的特点:; 公钥密码算法的最大特点是采用两个相关密钥将加密和解密能力分开,其中一个密钥是公开的,称为公开密钥,简称公开钥,用于加密;另一个密钥是为用户专用,因而是保密的,称为秘密密钥,简称秘密钥,用于解密。因此公钥密码体制也称为双钥密码体制。算法有以下重要特性: 已知密码算法和加密密钥,求解密密钥在计算上是不可行的。;
图 公钥体制加密的框图;加密过程有以下几步:
① 要求接收消息的端系统,产生一对用来加密和解密的密钥,如图中的接收者B,产生一对密钥PKB,SKB,其中PKB是公开钥,SKB是秘密钥。
② 端系统B将加密密钥(如图中的PKB)予以公开。另一密钥则被保密(图中的SKB)。;③ A要想向B发送消息m,则使用B的公开钥加密m,表示为c=EPKB[m],其中c是密文,E是加密算法。
④ B收到密文c后,用自己的秘密钥SKB解密,表示为m=DSKB[c],其中D是解密算法。;公钥密码体制认证框图; 因为只有B知道SKB,所以其他人都无法对c解密。
公钥加密算法不仅能用于加、解密,还能用于对发方A发送的消息m提供认证,如下图所示。用户A用自己的秘密钥SKA对m加密,表示为c=ESKA[m]
将c发往B。B用A的公开钥PKA对c解密,表示为m=DPKA[c]; 因为从m得到c是经过A的秘密钥SKA加密,只有A才能做到。因此c可当做A对m的数字签字。
另一方面,任何人只要得不到A的秘密钥SKA就不能篡改m,所以以上过程获得了对消息来源和消息完整性的认证。; 在实际应用中,特别是用户数目很多时,以上认证方法需要很大的存储空间,因为每个文件都必须以明文形式存储以方便实际使用,同时还必须存储每个文
原创力文档

文档评论(0)