文档章节

加密技术入门——从对称加密到CA证书

xtuhcy
 xtuhcy
发布于 2016/03/10 15:34
字数 929
阅读 178
收藏 2

#加密技术入门——从对称加密到CA证书 ##几个基本概念

对称加密

对称加密是最传统的加密方式,简单说就是用一个密钥对原文加密,再用同样密钥对原文解密。对称加密的优点就是加密速度快,但是缺点也很明显,密钥的传递无法保障。常见的对称加密算法有DES、3DES、AES等

非对称加密

为了解决密钥传递的问题,聪明的人类罗纳德·李维斯特(Ron Rivest)、阿迪·萨莫尔(Adi Shamir)和伦纳德·阿德曼(Leonard Adleman) RSA

发明了非对称加密算法RSA。简单来说就是有一个公钥和一个私钥,私钥自己保留,公钥分发给别人。可以用公钥加密用私钥解密,也可以用私钥加密用公钥解密,但是不能用私钥加密私钥解密,也不能用公钥加密公钥解密。非对称加密很好的解决了对称加密中的密钥传递的问题。

摘要

摘要可以看作是你传递的内容的唯一指纹,独一无二的。摘要的这个特征能很好的验证传递的内容是否被别人篡改了。摘要最著名的算法当属MD5,更安全的可以采用SHA。

##一个典型的应用场景

A(客户端)传递给B(服务器端)一段内容,要求不被篡改,密钥不能公开

输入图片说明

  1. A用对称加密des将原文加密
  2. A用md5对原文生成摘要
  3. A用B给的公钥(PB)将对称密钥加密
  4. B接到上述内容后,先用自己的私钥(SB)解密,获得对称密钥
  5. 用对称密钥解密密文获得原文
  6. 将解密出来的原文进行md5获得摘要2
  7. 用摘要1和摘要2比对,看看是否一致
  8. 如果一致表示内容没有篡改,是一个可信的内容

问题

这存在一个安全隐患,A的身份B无法确认,B不能确定这段密文一定是A给他发的。解决方案就是用数字签名。

##数字签名

数字签名其实就是非对称加密和摘要的结合使用。原理很简单,对称加密支持私钥加密,公钥解密。那么我们用A的私钥加密,如果能用A的公钥解密那就能确定这段内容一定是A发送的。非对称加密效率较低,所以通常会结合摘要来实现。

##数字信封 上述场景结合数字签名其实就是一个数字信封的应用。

输入图片说明

交互过程基本相同,唯一不同的地方就是摘要需要用A的私钥(SA)加密,B收到后用A公钥(PB)来获得摘要1。

问题

问题1:B(服务器端)需要知道所有A(客户端)的公钥

问题2:B(服务器端)和A(客户端)的公钥变得十分重要,公钥是公开的,如果其他人冒充身份提供公钥如何解决?

##CA数字证书 解决公钥可靠性的方法就是CA数字证书。公钥的分配都有一个可信的机构来分配,就是CA。

  1. CA用它的私钥做数字签名就是CA提供的证书:证书=CA的私钥(B的身份+B公钥)
  2. 客户端获取证书 -> CA的公钥(证书)-> 获得B的身份和B的公钥

© 著作权归作者所有

xtuhcy

xtuhcy

粉丝 122
博文 18
码字总数 20733
作品 1
东城
后端工程师
私信 提问
加载中

评论(0)

即时通讯安全篇(八):你知道,HTTPS用的是对称加密还是非对称加密?

本文引用了作者“leapMie”的“HTTPS 原理分析——带着疑问层层深入”一文内容,感谢原作者的文字。 1、引言 随着互联网安全意识的普遍提高,对安全要求稍高的应用中,HTTPS的使用是很常见的...

JackJiang2011
2019/12/18
0
0
SSL协议之数据加密过程详解

前言 总括: 本文详细讲述了SSL协议中的数据加密的过程,数字证书、对称加密、非对称加密和SSL握手过程等概念。 原文博客地址:SSL协议之数据加密过程详解 知乎专栏&&简书专题:前端进击者(...

Damonare
2017/12/31
0
0
区块链100讲:SSL协议之数据加密过程详解

本讲详细讲述了SSL协议中的数据加密的过程,数字证书、对称加密、非对称加密和SSL握手过程等概念。 1 SSL 只要你听过HTTPS,不可能没听过SSL协议吧,SSL协议是一种安全协议。对于互联网协议没...

HiBlock
2018/08/31
28
0
【揭秘】什么是不对称秘钥和CA证书

密钥交换简单的说就是利用非对称加密算法来加密对称密钥保证传输的安全性,之后用对称密钥来加密数据。 ★方案1——单纯用“对称加密算法”的可行性 首先简单阐述一下,“单纯用对称加密”为...

JinHengyu
2017/11/27
219
1
为什么HTTPS比HTTP更安全?

前言 近几年,互联网发生着翻天覆地的变化,尤其是我们一直习以为常的HTTP协议,在逐渐的被HTTPS协议所取代,在浏览器、搜索引擎、CA机构、大型互联网企业的共同促进下,互联网迎来了“HTTPS...

大灰狼的小绵羊哥哥
2019/04/26
0
0

没有更多内容

加载失败,请刷新页面

加载更多

OSChina 周六乱弹 —— 现在看动弹的人都是什么状态

Osc乱弹歌单(2020)请戳(这里) 【今日歌曲】 @薛定谔的兄弟 :分享洛神有语创建的歌单「我喜欢的音乐」: 《夏日、教室与望着窗外的我》- Candy_Wind 手机党少年们想听歌,请使劲儿戳(这里...

小小编辑
今天
75
1
wamp环境安装redis扩展

1.查看phpinfo信息根据配置信息下载对应的扩展 关键信息:VC14,TS,x86 2.下载php_redis和php_igbinary扩展 php_redis扩展下载地址: https://windows.php.net/downloads/pecl/snaps/redis...

点滴课程
今天
36
0
开源商城开发笔记1-创建MyBatis示例

一、修改pom.xml,引入MyBatis,JUnit,Log4j <dependencies><dependency><groupId>org.mybatis</groupId><artifactId>mybatis</artifactId><version>3.5.4</version>......

土龙
今天
56
0
The Best Way To Learn English in 2020 (In my humble opinion.)

✅Here is the plan: THINGS YOU WILL NEED: - 1 hour per day (30 minutes will work as well). - a notebook and a pen to write down new vocabulary each day. - an English song. - an ......

FalconChen
昨天
73
0
nodejs 使用 pako 压缩数据

github https://github.com/nodeca/pako 应用场景 大对象传输一般使用json, 在worker或local storage中还必须使用字符串, pako可以对字符串或者 Uint8Array 数据进行压缩和解压, 牺牲一部分读...

阿豪boy
昨天
79
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部