博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
对称性和非非对称性加密
阅读量:6793 次
发布时间:2019-06-26

本文共 741 字,大约阅读时间需要 2 分钟。

加密分为两种方式一种是对称加密,一种是非对称加密。

在对称加密算法中,加密和解密使用的密钥是相同的。也就是说,加密和解密使用的是同一个密钥。因此,对称加密算法要保证安全性的话,密钥要做好保密。只能让使用的人知道,不能对外公开。

在非对称加密算法中,加密使用的密钥和解密使用的密钥是不相同的。一把是作为公开的公钥,另一把是作为谁都不能给的私钥。公钥加密的信息,只有私钥才能解密。私钥加密的信息,只有公钥才能解密。

交互场景下多用对称性加密。

数字证书

如何将不对称加密的公钥给对方呢?一种是放在一个公网的地址上,让用户自己去下载,另一种是在建立链接的时候,发送给对方。

如何鉴别这个公钥是正确的?而不是冒充的?这个时候需要权威部门介入,这个权威部门颁发的称为证书Certifcate,证书的内容包括:公钥,证书颁发机构,颁发给谁,签名算法以及使用期限。证书的生成需要发起一个请求(通过发送私钥,生成前面的红字内容),这个请求发到一个权威认证机构certifcate Authority, CA,权威机构卡一个章(一个签名算法,为一个hash算法),然后生成证书。 

流程如下:从这个CA颁布的证书里拿到公钥,去解密某个网站的证书签名,如果解密成功,如果解密成功,hash也对的上,表示网站是正确的。

如何确保是真正的权威机构而非伪造的?

CA 的公钥也需要更牛的 CA 给它签名,然后形成 CA 的证书,依次追溯到rootCA。

 

HTTPS 的工作模式

非对称性加密在性能上不如对称性加密。实际中,公钥私钥主要用于传输对称性加密的密钥,而真正双方大数据量通信都是通过对称性加密进行的。

 

转载于:https://www.cnblogs.com/wfq9330/p/9402764.html

你可能感兴趣的文章
JAVA泛型——转
查看>>
Python 中因urllib2/urlib遭遇的进程阻塞问题
查看>>
C++初学者请进--------关于学好C++的经典资料汇总
查看>>
checkbox设置复选框的只读效果不让用户勾选
查看>>
Golang 源码阅读 os.File
查看>>
IE 6 下出现 双倍距离 以及解决方案
查看>>
LayaAir 自旋转的小球跟随鼠标移动
查看>>
linux nginx 指定目录不可执行php文件
查看>>
django环境搭建
查看>>
共享 iOS沙盒文件管理
查看>>
MIME
查看>>
CMPopTipView
查看>>
windows系统下安装虚拟机-mac系统-视频教程
查看>>
spring ContentNegotiatingViewResolver---负责调用不同的j
查看>>
嵌入式Linux C编程 03
查看>>
华为聚簇表聚簇索引原理
查看>>
数据挖掘笔记
查看>>
Nginx配置性能优化
查看>>
Ubuntu下安装numpy and matplotlib
查看>>
Spring 统一管理输出
查看>>