今天刚好为站点的后台弄了下https,就来分享我了解的吧。
密码学最早可以追溯到古希腊罗马时代,那时的加密方法很简单:替换字母。
早期的密码学:
古希腊人用一种叫 Scytale 的工具加密。更快的工具是 transposition cipher—:只是把羊皮纸卷在一根圆木上,写下信息,羊皮纸展开后,这些信息就加密完成了。
虽然很容易被解密,但它确实是第一个在现实中应用加密的例子
Julius Caesar 用了另外一个类似的加密方法:把字母往右或往左移动几位;此法称为Caesar’s cipher. 比如“GEEK” 加密后就是“JHHN”.
Plain: ABCDEFGHIJKLMNOPQRSTUVWXYZ
Cipher: DEFGHIJKLMNOPQRSTUVWXYZABC
因为只有信息接受者知道如何解密,对其他人来说,那就是一段无意义的信息了。还有像如下图的加密方法:每个字母放在坐标系里
这样 “G”就是 “23”, “GEEK”就是 “23 31 31 43”.
Enigma Machine
加密算法
加密算法有很多种,区别和衡量他们的方法就是看他们是否容易被破解的程度和加密的速度如下图可见AES 是最快的强加密算法
当然有更快或比较慢的算法了,他们都有用处。如果你只是加密一段信息,也不是经常需要,那你可以用最强的加密算法,甚至也可以用不同的算法加密两次。如果想要加密速度快点,那就用AES.
加密类型
之前说过的加密算法绝大部分都属于以下两种加密类型之一:
- 对称加密:加密解密用的是同样的“钥匙”
- 非对称加密:加密解密用的是不同的“钥匙”
对称加密
用邮局的例子来解释下对称加密
Alice 在盒子里放有信息,盒子上有挂锁,她有钥匙。通过邮局她把这个盒子寄给Bob。Bob收到盒子后,用相同的钥匙打开盒子(钥匙之前就得到了,可能是Alice面对面给他的)。然后Bob可以用同样的方法回复。
对称加密可以分为两种:一种是一个一个加密信息,另一种是分块加密信息,通常分为64位加密为一块。块Twofish, Serpent, AES (Rijndael), Blowfish, CAST5, RC4, TDES, and IDEA.
非对称加密
Bob和Alice各有自己的盒子。Alice要跟Bob秘密通信,她先让Bob把开着的盒子通过邮局发给她。Alice拿到盒子后放入信息锁上,然后发给Bob。Bob就可以用他自己的钥匙打开了。回复的话就用同样的方法。
此法最大的好处是你不必得到对方的“钥匙”,以防别人在钥匙发送过程中偷偷复制钥匙,进而窃取信息。而且就算Bob的钥匙被窃取复制了,Alice跟别人的通信也是安全的,因为Alice用的是别人的钥匙。
非对称算法在加密和解密时用的是不同的钥匙。信息接受者有两把钥匙:一把“公匙”,一把“私匙”。公匙是给信息发送者用来加密的,私匙是自己用来解密的这样最大的好处是:不必通过不安全的渠道发送私密的东西。公匙本来就是给别人用的,不用藏好。你的私匙在你产生私匙的电脑里保存着。
网站如何通过加密和用户安全通信
SSL (Secure Sockets Layer) 是用来保障你的浏览器和网站服务器之间安全通信,免受网络“中间人”窃取信息。SSL原理很简单。当你的浏览器向服务器请求一个安全的网页(通常是 https://)
服务器就把它的证书和公匙发回来
浏览器检查证书是不是由可以信赖的机构颁发的,确认证书有效和此证书是此网站的。
使用公钥加密了一个随机对称密钥,包括加密的URL一起发送到服务器
服务器用自己的私匙解密了你发送的钥匙。然后用这把对称加密的钥匙给你请求的URL链接解密。
服务器用你发的对称钥匙给你请求的网页加密。你也有相同的钥匙就可以解密发回来的网页了
大概就这样,翻译不完整,原文可以看下:http://article.yeeyan.org/view/90729/174903
不容错过
- 下一个“永恒之蓝”6月见?Shadow Brokers组织宣布将公开更多0day漏洞!Sphinx2017-05-17
- FB视频:纪录片《暗网》之勒索软件篇FB视频2016-04-02
- 解密:地下黑市都在卖什么?简单2015-10-21
- FreeBuf单身节派对:1111来了,你还是一个人吗?FB客服2014-11-07
0daybank
已有 15 条评论
应该讲些RSA HASH之类的加密才有意义啊
@SliansYlrae 好吧 那个不怎么了解。
@SliansYlrae hash不是加密,只是摘要
@SliansYlrae 其实RSA是挺不错的
实际情况要复杂很多啊,ssl现在也不是万分安全的了
噗……不是说你……
23333
核心内容是单向函数,即对于所有属于 f 定义域的任一 x ,可以很容易计算 f( x ) = y; 对于几乎所有属于 f 值域的任一 y ,则在计算上不可能求出 x 使得 y = f( x )
太浅。。。
@lala 简单了,主要是理解下是怎么工作的,懂得就觉得简单,不懂得觉得很神奇。
大学信息安全导论课的难度水平,真是入门级给小白看的
服务器就把它的证书和公匙发回来
* 服务器发过来的证书中就有它的公钥;
使用公钥加密了一个随机对称密钥,包括加密的URL一起发送到服务器
服务器用自己的私匙解密了你发送的钥匙。然后用这把对称加密的钥匙给你请求的URL链接解密。
服务器用你发的对称钥匙给你请求的网页加密。你也有相同的钥匙就可以解密发回来的网页了
** SSL/TLS通信中的会话密钥不是由客户端单方面生成的,而是客户端和服务端共同协商而成;
*** 在SSL/TLS握手完成之前,是不会发送加密的URL等通信信息的;
**** 握手完成后,后续内容的加密是用协商出来的会话密钥加密的
错误太多,建议LZ把文章删了吧,以免误人子弟。
@hwfb2014 文章大概也是这个意思,写得突兀了,请谅解。
建议实际抓个包,按照包的内容重新写一下
密码学里幼儿园级别的hello word