公钥和私钥的作用和区别

本文涉及的产品
密钥管理服务KMS,1000个密钥,100个凭据,1个月
简介: 公钥和私钥的作用和区别

1. 加密和认证

       在认识公私钥之前,首先我们需要区分加密和认证这两个基本概念:

       加密是将数据资料加密,使得非法用户即使取得加密过的资料,也无法获得正确的资料内容,所以数据加密可以保护数据,防止监听攻击,其重点在于数据的安全性。身份认证是用来判断某个身份的真实性,确认身份后,系统才可以依据不同的身份赋予不同的权限,其重点在于用户的真实性。两者的侧重点是不同的。

1.1 对称加密和非对称加密的主要区别

       对称加密和非对称加密的区别为:密钥不同、安全性不同、数字签名不同。

  • 密钥不同:
  1. 对称加密:对称加密加密和解密使用同一个密钥。
  2. 非对称加密:非对称加密加密和解密所使用的不是同一个密钥,需要两个密钥来进行加密和解密。
  • 安全性不同:
  1. 对称加密:对称加密如果用于通过网络传输加密文件,那么不管使用任何方法将密钥告诉对方,都有可能被窃听。
  2. 非对称加密:非对称加密因为它包含有两个密钥,且仅有其中的“公钥”是可以被公开的,接收方只需要使用自己已持有的私钥进行解密,这样就可以很好的避免密钥在传输过程中产生的安全问题。
  • 数字签名不同:
  1. 对称加密:对称加密不可以用于数字签名和数字鉴别。
  2. 非对称加密:非对称加密可以用于数字签名和数字鉴别。

2. 公钥和私钥

2.1 公钥和私钥的作用

      公钥和私钥的作用主要就是用来加解密加验签,但是很多人搞不清楚公钥和私钥的区别,不知道用哪个加密、用哪个加签。下面我们先上结论,再详细解释:

  • 公钥加密、私钥解密。
  • 私钥加签、公钥验签。

2.2 加解密

      加密的目的是保证信息的保密传输,使只有具备资格的一方才能解密。

      公钥和私钥是一对密钥,公钥是公开的,私钥是不公开的。假设A有一对公私钥,当B或者其他人用A的公钥对某信息进行加密,那么只有具备私钥的A可以解密该信息。

2.3 加验签

       加签的目的是让收到消息的一方确认该消息是由特定方发送的。

       因为私钥只存在于A,也只有A才能对消息进行加签,这个过程就叫签名。你可以理解为老干妈的私章只有老干妈才有,腾讯拿到这个章盖过的合同后,需要先确认这个合同是老干妈发过来的,但为什么腾讯还是被骗了,那是因为腾讯没有老干妈的公钥,没有对加签过的合同进行验签。公钥的作用就是验签,验证了就能知道消息的真伪。

 

 

相关文章
|
6月前
|
JSON API Android开发
mPaaS问题之配置公钥如何解决
mPaaS配置是指在mPaaS平台上对移动应用进行的各项设置,以支持应用的定制化和优化运行;本合集将提供mPaaS配置的操作指南和最佳实践,助力开发者高效管理和调整移动应用的设置。
|
5月前
|
存储 安全 API
技术经验解读:公钥和私钥的区别
技术经验解读:公钥和私钥的区别
56 0
|
2月前
|
算法 安全 网络安全
概念区分:对称加密、非对称加密、公钥、私钥、签名、证书
概念区分:对称加密、非对称加密、公钥、私钥、签名、证书
121 0
|
4月前
|
算法 C# 数据安全/隐私保护
|
4月前
|
算法 安全 数据安全/隐私保护
支付系统-微信支付10--数字证书,我Doug谎称自己手中公钥是Bob的公钥 ,谁都可以发送公钥,怎样判断公钥是真实的呢?Doug就可以用自己私钥做成数字签名给pat,而Pat用假的公钥进行验签,数字
支付系统-微信支付10--数字证书,我Doug谎称自己手中公钥是Bob的公钥 ,谁都可以发送公钥,怎样判断公钥是真实的呢?Doug就可以用自己私钥做成数字签名给pat,而Pat用假的公钥进行验签,数字
|
6月前
|
安全 数据安全/隐私保护
在非对称加密中,公钥和私钥的生成过程是如何进行的?
【5月更文挑战第13天】在非对称加密中,公钥和私钥的生成过程是如何进行的?
297 3
|
算法 Linux 数据安全/隐私保护
RSA公钥文件解密密文的原理分析
RSA公钥文件解密密文的原理分析
428 0
RSA公钥文件解密密文的原理分析
|
数据安全/隐私保护
rsa 生成密匙 ,密匙导出,加密解密封装
rsa 生成密匙 ,密匙导出,加密解密封装
203 0
|
算法
列出本机JCE支持的Provider、消息摘要算法、公钥私钥算法
列出本机JCE支持的Provider、消息摘要算法、公钥私钥算法
111 0
|
C# 数据安全/隐私保护
C#使用SHA1加密类(RSAFromPkcs8)支持1024位和2048位私钥
C#使用SHA1加密类(RSAFromPkcs8)支持1024位和2048位私钥
266 0