​加密​​ 解密

    

理解SSL(https)中的对称加密与非对称加密_加密算法



密码学最早可以追溯到古希腊罗马时代,那时的加密方法很简单:替换字母。

早期的密码学



理解SSL(https)中的对称加密与非对称加密_服务器_02古希腊人用一种叫 ​​​Scytale​​​ 的工具加密。更快的工具是 ​​transposition cipher​​—:只是把羊皮纸卷在一根圆木上,写下信息,羊皮纸展开后,这些信息就加密完成了。

虽然很容易被解密,但它确实是第一个在现实中应用加密的例子

Julius Caesar 用了另外一个类似的加密方法:把字母往右或往左移动几位;此法称为​​Caesar’s cipher​​. 比如“GEEK” 加密后就是“JHHN”.

​Plain:  ABCDEFGHIJKLMNOPQRSTUVWXYZ
Cipher: DEFGHIJKLMNOPQRSTUVWXYZABC​

因为只有信息接受者知道如何解密,对其他人来说,那就是一段无意义的信息了。

还有像如下图的加密方法:每个字母放在坐标系里

理解SSL(https)中的对称加密与非对称加密_服务器_03

这样 “G”就是 “23”,  “GEEK”就是 “23 31 31 43”.

Enigma Machine





加密算法

加密算法有很多种,区别和衡量他们的方法就是看他们是否容易被​​破解​​的程度和加密的速度

如下图可见AES 是最快的强加密算法

理解SSL(https)中的对称加密与非对称加密_对称加密_04

当然有更快或比较慢的算法了,他们都有用处。如果你只是加密一段信息,也不是经常需要,那你可以用最强的加密算法,甚至也可以用不同的算法加密两次。如果想要加密速度快点,那就用AES.

加密类型

之前说过的加密算法绝大部分都属于以下两种加密类型之一:

  • 对称加密:加密解密用的是同样的“钥匙”
  • 非对称加密:加密解密用的是不同的“钥匙”

对称加密

用邮局的例子来解释下对称加密

Alice 在盒子里放有信息,盒子上有挂锁,她有钥匙。通过邮局她把这个盒子寄给Bob。Bob收到盒子后,用相同的钥匙打开盒子(钥匙之前就得到了,可能是Alice面对面给他的)。然后Bob可以用同样的方法回复。

理解SSL(https)中的对称加密与非对称加密_加密算法_05

对称加密可以分为两种:一种是一个一个加密信息,另一种是分块加密信息,通常分为64位加密为一块。块 ​​Twofish​​​, ​​Serpent​​​, ​​AES​​​ (​​Rijndael​​​), ​​Blowfish​​​, ​​CAST5​​​, ​​RC4​​​, ​​TDES​​​, and ​​IDEA​​.

非对称加密

Bob和Alice各有自己的盒子。Alice要跟Bob秘密通信,她先让Bob把开着的盒子通过邮局发给她。Alice拿到盒子后放入信息锁上,然后发给Bob。Bob就可以用他自己的钥匙打开了。回复的话就用同样的方法。理解SSL(https)中的对称加密与非对称加密_加密算法_06

此法最大的好处是你不必得到对方的“钥匙”,以防别人在钥匙发送过程中偷偷复制钥匙,进而窃取信息。。而且就算Bob的钥匙被窃取复制了,Alice跟别人的通信也是安全的,因为Alice用的是别人的钥匙。

非对称算法在加密和解密时用的是不同的钥匙。信息接受者有两把钥匙:一把“公匙”,一把“私匙”。公匙是给信息发送者用来加密的,私匙是自己用来解密的

这样最大的好处是:不必通过不安全的渠道发送私密的东西。公匙本来就是给别人用的,不用藏好。你的私匙在你产生私匙的电脑里保存着

网站如何通过加密和用户安全通信

SSL (​​Secure Sockets Layer​​​) 是用来保障你的​​浏览器​​和网站服务器之间安全通信,免受网络“中间人”窃取信息。

SSL原理很简单。当你的浏览器向服务器请求一个安全的网页(通常是 https://)
理解SSL(https)中的对称加密与非对称加密_加密算法_07



服务器就把它的证书和公匙发回来
理解SSL(https)中的对称加密与非对称加密_加密算法_08
浏览器检查证书是不是由可以信赖的机构颁发的,确认证书有效和此证书是此网站的。
理解SSL(https)中的对称加密与非对称加密_加密算法_09
 

使用公钥加密了一个随机对称密钥,包括加密的URL一起发送到服务器
理解SSL(https)中的对称加密与非对称加密_加密算法_10
服务器用自己的私匙解密了你发送的钥匙。然后用这把对称加密的钥匙给你请求的URL链接解密。
理解SSL(https)中的对称加密与非对称加密_服务器_11
服务器用你发的对称钥匙给你请求的网页加密。你也有相同的钥匙就可以解密发回来的网页了
理解SSL(https)中的对称加密与非对称加密_服务器_12

---------------------------译者分割-------

本文翻译得很不完整。

在网站通过SSL来与用户建立安全的通信中,对称加密算法和非对称加密算法起到了很大作用。


看了此文我才弄懂,所以我把它翻译出来。。