公钥和私钥的作用和区别
1. 加密和认证
在认识公私钥之前,首先我们需要区分加密和认证这两个基本概念:
加密是将数据资料加密,使得非法用户即使取得加密过的资料,也无法获得正确的资料内容,所以数据加密可以保护数据,防止监听攻击,其重点在于数据的安全性。身份认证是用来判断某个身份的真实性,确认身份后,系统才可以依据不同的身份赋予不同的权限,其重点在于用户的真实性。两者的侧重点是不同的。
1.1 对称加密和非对称加密的主要区别
对称加密和非对称加密的区别为:密钥不同、安全性不同、数字签名不同。
- 密钥不同:
- 对称加密:对称加密加密和解密使用同一个密钥。
- 非对称加密:非对称加密加密和解密所使用的不是同一个密钥,需要两个密钥来进行加密和解密。
- 安全性不同:
- 对称加密:对称加密如果用于通过网络传输加密文件,那么不管使用任何方法将密钥告诉对方,都有可能被窃听。
- 非对称加密:非对称加密因为它包含有两个密钥,且仅有其中的“公钥”是可以被公开的,接收方只需要使用自己已持有的私钥进行解密,这样就可以很好的避免密钥在传输过程中产生的安全问题。
- 数字签名不同:
- 对称加密:对称加密不可以用于数字签名和数字鉴别。
- 非对称加密:非对称加密可以用于数字签名和数字鉴别。
2. 公钥和私钥
2.1 公钥和私钥的作用
公钥和私钥的作用主要就是用来加解密和加验签,但是很多人搞不清楚公钥和私钥的区别,不知道用哪个加密、用哪个加签。下面我们先上结论,再详细解释:
- 公钥加密、私钥解密。
- 私钥加签、公钥验签。
2.2 加解密
加密的目的是保证信息的保密传输,使只有具备资格的一方才能解密。
公钥和私钥是一对密钥,公钥是公开的,私钥是不公开的。假设A有一对公私钥,当B或者其他人用A的公钥对某信息进行加密,那么只有具备私钥的A可以解密该信息。
2.3 加验签
加签的目的是让收到消息的一方确认该消息是由特定方发送的。
因为私钥只存在于A,也只有A才能对消息进行加签,这个过程就叫签名。你可以理解为老干妈的私章只有老干妈才有,腾讯拿到这个章盖过的合同后,需要先确认这个合同是老干妈发过来的,但为什么腾讯还是被骗了,那是因为腾讯没有老干妈的公钥,没有对加签过的合同进行验签。公钥的作用就是验签,验证了就能知道消息的真伪。
公钥和私钥的作用和区别相关推荐
- 详解公钥、私钥、数字证书的概念
加密和认证 首先我们需要区分加密和认证这两个基本概念. 加密是将数据资料加密,使得非法用户即使取得加密过的资料,也无法获取正确的资料内容,所以数据加密可以保护数据,防止监听攻击.其重点在于数据的安全性 ...
- 公钥、私钥、数字证书的概念 (讲得很明吧,通俗易懂)
公钥和私钥 一直以来对公钥和私钥都理解得不是很透彻,感觉到模棱两可.今天在网上找了半天,通过查看对这个密钥对的理解,总算弄清楚了. 公钥和私钥就是俗称的不对称加密方式,是从以前的对称加密( ...
- 公钥、私钥、数字证书的概念
公钥和私钥 一直以来对公钥和私钥都理解得不是很透彻,感觉到模棱两可.今天在网上找了半天,通过查看对这个密钥对的理解,总算弄清楚了. 公钥和私钥就是俗称的不对称加密方式,是从以前的对称加密( ...
- git公钥是干什么用的_Git之SSH公钥与私钥
今天来探讨一下如何使用Git的操作,来进一步的实现代码的下载到本地,我原来也不是很明白git中生成公钥和私钥的作用,我一直在想,git里面你把自己的公钥发给了git的服务器,他是怎么判断的,每一次我换 ...
- 【加密】对称加密DES和非对称加密AES、数字签名|非对称加密--公钥和私钥的区别
目录 对称加密DES和非对称加密AES.数字签名 对称加密 1.1 定义 1.2 优缺点 1.3 常用对称加密算法 非对称加密( Asymmetric Cryptography ) 非对称加密(现代加 ...
- 公钥和私钥怎么生成_有趣图文帮你通俗易懂地理解公钥和私钥的区别以及与CA证书等概念...
导读:Linux系统上非对称性加密需要用到公钥.私钥.也常涉及到数字签名.数字证书.CA证书等概念.本文通过有趣的海绵宝宝和它小伙伴故事搭配有趣的图片形式来阐述这些概念,希望能帮助读者更简单易懂地理解 ...
- 密码学===公钥和私钥解释
先前我曾经写了一篇"网站的安全登录认证设计",可能是讲述的不够清楚,有一位读者就留言质疑到,"公钥顾名思义就是公开的啦,只要你愿意,谁都会有你的公钥,何来安全?应该是用网 ...
- 公钥和私钥怎么生成_科普 | Eth2 验证者如何生成和保护取款密钥
来源 | 以太坊爱好者 作者|Jim McDonald责编|晋兆雨 取款密钥是什么? 取款密钥(withdrawal key)是以太坊 2.0 中的验证者用来提现以太币的密钥 [1].以太坊 2.0 ...
- 公钥,私钥和数字签名
一.公钥加密 假设一下,我找了两个数字,一个是1,一个是2.我喜欢2这个数字,就保留起来,不告诉你们(私钥),然后我告诉大家,1是我的公钥. 我有一个文件,不能让别人看,我就用1加密了.别人找到了这 ...
最新文章
- C++ 外部函数通过指针修改类成员的值
- mybatis plus 插入生成id_早点下班陪女朋友系列之Mybatis-plus代码生成器
- 【资源】编程珠玑I 源码
- 吉他谱——寂寞是因为思念谁
- PHPer 面试指南-扩展阅读资源整理
- 输出1-10之间的偶数,并统计奇数的个数
- css定位中position:absolute与float的区别
- 在linux上下载图片,在Linux上使用4k Stogram下载Instagram图片库 | MOS86
- java数据清洗_做数据分析必须了解的获取数据与清洗数据技巧
- java adobe pdf转word_adobe reader如何把PDF转换成word?adobe reader把PDF转换成word教程
- FPGA Verilog语言常用语法
- 【CLR】程序集查找与GAC
- 小米4调整系统分区刷入opengapps stock
- opencv3.2教程linux,Linux编译OpenCV3.2.0-OCL模块并使用
- 2019年的计划,做最好的自己。
- vue垂直布局_基于 Flex 实现两端对齐垂直布局
- 代码显示return的用法(c语言和java的比较和整合)
- jemalloc源码解读(六)基数树
- 《天天魔塔》源码下载
- 三、存储系统(四)外部存储器