公钥密码-非对称加密算法
1976年美国斯坦福大学的两名学者迪菲和赫尔曼提出了公开密钥密码体制的概念,其原理是加密密钥和解密密钥分离。这样,用户就可以将加密密钥和算法公诸于众,而只保密解密密钥。任何人利用这个加密密钥和算法向该用户发送的加密信息,该用户均可以将之还原。公共密钥密码的优点是不需要经安全渠道传递密钥,大大简化了密钥管理,其产生主要是因为两个方面的原因,一是由于对称密码体制的密钥分配问题,另一种是由于对数字签名的需求。常见的公钥密码算法有RSA、ElGamal、背包算法、Rabin、Diffie-Hellman (D-H) 密钥交换协议中的公钥加密算法、椭圆曲线加密算法ECC以及SM2算法等。
公钥密码体制需具备以下条件:
- 产生一对密钥是计算可行的;由公钥和明文,产生密文是计算可行的;接收方利用私钥解密密文是可行的;
- 在公钥密码体制中,其加密与解密由不同的密钥完成的;
- 知道加密算法,从加密密钥得到解密密钥在计算上是不可行的;
- 两个密钥中任何一个都可以用作加密而另一个用作解密;
一、公钥密码提出原因
公钥密码提出是针对对称密码的局限:
1、密钥分发管理的困难性:除了密钥的更新问题困难以外,还有对密钥管理的问题;
2、数字签名的问题:传统加密算法无法实现抗抵赖的需求->在对称加密算法中,密钥是通信双方共享的,无法使用共享的密钥来对对方的身份进行确认;
二、公钥密码体制
1、加密体制:公钥加密--私钥解密;
2、认证体制:私钥加密--公钥解密;
3、混合密码体制--数字信封技术
加密认证混合:使用对称密钥加密明文得到密文且使用私钥加密对称密钥,使用公钥解密得到对称密钥并使用对称密钥解密密文得到明文;
三、公钥密码分类
1、PKI体系
- 基于大数分解问题(IFP)的公钥密码体制,如RSA体制和Rabin体制。
- 基于有限域上离散对数问题(DLP)的公钥密码体制,其中主要包括ElGamal类加密体制和签名方案,Diffie-Hellman密钥交换方案,Schnorr签名方案和Nyberg-Ruppel签名方案等。
- 基于椭圆曲线离散对数问题(ECDLP)的公钥密码体制,其中主要包括椭圆曲线型的Diffie-Hellman密钥交换方案,椭圆曲线型的MQV密钥交换方案和椭圆曲线型的数字签名算法。
2、IBC体系
- 基于SM9的标识密码体系
四、公钥密码的功能
- 机密性:通过公钥加密来保证非授权人员不能获取机密信息;
- 认证:通过数字签名来验证对方的身份;
- 数据完整性:通过数字签名来保证信息内容不被篡改或替换;
- 不可抵赖性:通过数字签名来实现,是发送者不能事后否认他发送过消息,消息的接受者可以向第三方证实发送者确实发出了消息。
五、公钥密码特点
- 非对称加密:加解密由不同密钥完成;
- 知道加密算法,从加密密钥得到解密密钥在计算上是不可行的;
- 两个密钥中任何一个都可以用作加密而另一个用作解密。
优点:
- 密钥分发方便;(公钥公开,解决大规模网络应用中密钥的分发和管理问题)
- 密钥保管量少;(仅私钥)
- 支持数字签名;(实现网络中的数字签名机制,RSA、ELGamal、ECC)
缺点:
- 加密速度较慢,效率非常低;
- 仅适用于小规模的数据加密、数字签名、密钥管理;
六、公钥算法应用
数据加密:公钥加密,私钥解密,通常应用在对数据的加密传输,即加密方使用解密方的公钥做加密动作,这样就意味着这段加密数据只有解密方一人能解开,因为解密方的私钥是不公开的,只有它自己知道,这样就可以很好地保证的加密数据的安全性。
数字签名:私钥签名,公钥验签,产生签名的一方使用自己的私钥对数据进行签名操作,而验签签名数据是否合法的一方使用签名方的公钥对签名数据进行验签。
密钥交换:SSL协议利用非对称密钥算法加密密钥的方法实现密钥交换,保证第三方无法获取该密钥。
身份认证:电子商务和网上银行等应用中必须保证要登录的Web服务器是真实的,以免重要信息被非法窃取。SSL利用数字签名来验证通信对端的身份。
数字证书:发信者怎么知道从网上获取的公钥就是真的?没有遭受中间人攻击?这样就需要第三方机构来保证公钥的合法性,这个第三方机构就是 CA (Certificate Authority),证书中心。
***非对称密码的密钥长度以及加密明文长度!
注:
如有错误侵权,请联系笔者更改删除!!!