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

Code Talkers

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

早期的密码学


\古希腊人用一种叫 Scytale 的工具加密。更快的工具是 transposition cipher—:只是把羊皮纸卷在一根圆木上,写下信息,羊皮纸展开后,这些信息就加密完成了。浏览器

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

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

Plain:  ABCDEFGHIJKLMNOPQRSTUVWXYZ
Cipher: DEFGHIJKLMNOPQRSTUVWXYZABC
网络

由于只有信息接受者知道如何解密,对其余人来讲,那就是一段无心义的信息了。工具

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

\

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

Enigma Machinespa




加密算法

  

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

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

\

固然有更快或比较慢的算法了,他们都有用处。若是你只是加密一段信息,也不是常常须要,那你能够用最强的加密算法,甚至也能够用不一样的算法加密两次。若是想要加密速度快点,那就用AES.

加密类型

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

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

对称加密

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

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

\

对称加密能够分为两种:一种是一个一个加密信息,另外一种是分块加密信息,一般分为64位加密为一块。块 TwofishSerpentAES (Rijndael), BlowfishCAST5RC4TDES, and IDEA.

非对称加密

Bob和Alice各有本身的盒子。Alice要跟Bob秘密通讯,她先让Bob把开着的盒子经过邮局发给她。Alice拿到盒子后放入信息锁上,而后发给Bob。Bob就能够用他本身的钥匙打开了。回复的话就用一样的方法。\

  

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

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

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

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

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

SSL原理很简单。当你的浏览器向服务器请求一个安全的网页(一般是 https://)
\

服务器就把它的证书和公匙发回来
\
浏览器检查证书是否是由能够信赖的机构颁发的,确认证书有效和此证书是此网站的。
\
 

使用公钥加密了一个随机对称密钥,包括加密的URL一块儿发送到服务器
\
服务器用本身的私匙解密了你发送的钥匙。而后用这把对称加密的钥匙给你请求的URL连接解密。
\
服务器用你发的对称钥匙给你请求的网页加密。你也有相同的钥匙就能够解密发回来的网页了
\

  

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

本文翻译得很不完整。

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

相关文章
相关标签/搜索