网络安全·什么是对称/非对称加密算法?

tetsai
原创声明
古典加密
对称加密算法是最早出现的一种算法,其最早可以追溯到上古年间,盘古开天辟地,其最早可以追溯到很早的时候,当时使用的是“字母替换法”,将abcdefghigklmnopqrstuvwxyz等字母,往后拨一位或多位,变成zabcdefghigklmnopqrstuvwxy,这样a就对应z,b对应a,c对应b...
本来文字是hello world 就变成了gzkkn vnqkc
收信人把它按照相反的方向转换,就从gzkkn vnqkc得到hello world
毕竟这个算法老得连亚当都不认识了,可以说非常简陋,用词频法就可以破解,或者,大不了就一个一个试,无非就26种变化一个一个尝试总有一种可以读得通的
现代加密·对称加密
现代著名的对称加密算法当然要数AES了(DES已濒临淘汰,也只有它的变种3DES能*活一会,其实也就是连*加密3次罢了)
只要AES的密钥足够长足够粗,就可以保证在很长一段时间内是无法破解的,即使是量子计算机也只能提升2倍的数量级,比如2的128次尝试,量子计算机只需要尝试2的64次。指数只要足够大,那量子计算机也是望而却步的。
那么对称算法的特点是什么呢?总的一句话就是
用什么**加密,就用什么**解密
典型的一把钥匙一把锁,很好理解吧?
现代加密·非对称加密
那么什么是非对称加密呢?不知道大家有没有访问过https://开头的网站
它就是使用了非对称加密算法,当你访问https://www.google.com的时候,保证了即使你的通讯数据在别人的眼皮子底下经过,对方也只能知道你只是打开了www.google.com这个网站,根本不知道你具体在这个网站里干了什么
(最新技术:应用SNI加密,DNS over HTTPS后,对方连你打开www.google.com都能不知道了,最多知道你访问了对应的服务器IP地址,和用了多少流量)
那么它的通信是什么样子的呢?为什么无法被监听?它的通讯方式是这样的
首先,非对称加密的特点是,分为A**和B**两个部分,被A**加密的数据只能B才能解开,被B**加密的数据只能用A解开。
可以说就像量子干涉一样,它们成对出现,缺了一个,这个算法就会失去效力
首先服务器想开一个网站,它用非对称算法产生了A,B两个**,它把A命名为私钥,然后藏起来只留给自己,它把B命名为公钥,向互联网公开。
浏览器访问这个网站的时候,它得到了服务器公开的公钥,然后自己产生了一个随机**,用公钥加密,丢给服务器。
在这个过程中,黑客会监控到一个数据包,老谋深算的他明白这里面包含了一个**,但是解不开,因为必须用非对称**的另一半(是服务器藏私的那一半**,也就是**A),才能解开。
服务器收到了数据,用它的**A解开了,得知了浏览器的随机**,当它回复数据的时候,用这个随机**加密(此时是对称加密,用什么**加密就用什么**解)
黑客又检测到了服务器的数据包,但是还是解不开,因为它不知道随机**到底是啥。
浏览器收到了服务器的数据包,用**解开了服务器发来的数据(废话,**本来就是浏览器生成的,所以它肯定知道**是多少咯)
就这样完成了 浏览器-服务器-浏览器 的通信。
黑客只能眼巴巴看着数据在自己眼前飞,自己什么都做不了。
真的毫无办法了吗?我想给读者留下一个小问题
思考一下,如果黑客能够把浏览器的B**换成他想要的,通信还安全吗?