好友
阅读权限30
听众
最后登录1970-1-1
|
MXWXZ
发表于 2017-7-19 23:54
@qqiirer 依然是这位兄弟的请教,在此写一篇简单的加解密入门的文章吧……小白们放心,本文低能,请放心食用。
其他课程传送门:
第一课:压缩原理
更多加密方式和历史信息等参见度娘。
0x01:从很久很久以前开始……
Z国正在和R国打仗,而Z国要给前线的人传递一个信息,但中途万一给R国的人看到就不好玩了,所以Z国想了个办法,如图
这样就可以用一只皮卡丘代替“炸弹在A区”这个信息了,R国的人就一脸蒙蔽……这就是一个最简单的替换加密啦~
0x02:伟大的摩斯电码
早起无线电发明后人们要想办法用简单的方法传递信息,一只皮卡丘似乎不能通过无线电传送……所以伟大的摩尔斯电码就出现了!
这个实际上也是一种替换加密,将各个字符替换成了短停(皮卡丘)和长停(小火龙),你要是不想让别人知道简单的把顺序换一下或者什么加加减减就可以啦……这种东西二战时很流行,方法也千奇百怪,不过万变不离其宗都属于替换加密的一种。
0x03:AES加密
然而,随着计算机的出现,普通的替换加密强度渐渐弱了,人们可以利用频度分析,枚举的方法干掉(看不懂?没事,反正就是替换加密法不够用了)
不过道高一尺魔高一丈,人们也可以用计算机来加密,现在流行的是AES加密算法,由老美制定的标准,经过了无数人的试验终于认可了它的安全性。
具体来讲就是你指定一个密码,然后通过一系列复杂的替换和运算算法把你的信息变成一堆乱码,然后你可以用这个密码来还原。这种常见的一个密钥加密和解密的我们称之为对称加密算法,大家可以试试在线AES加解密网站
虽然密文几乎无法手工破解,不过人们可以通过枚举密码的方式破解,这就要看你电脑的速度如何了……
0x04:神奇的RSA加密
这种加密方法非常神奇,它有两个密码,一个称之为公钥,一个称之为私钥(只是为了区分,两个密码地位是一样的)。用一个密钥加密的内容只有用另一个密钥才能解密(用自己不能解密!)我们称之为非对称加密算法
这样你可以吧公钥公开出去,自己保留私钥,就会有很多用途比如:
1、证明自己的身份:你跟别人说,只有用你们手上公钥解密出“我是XXX”的字样的就是我发的消息,因为只有用你手中的私钥才能加密出只有公钥解密的内容,别人用公钥企图伪装的是无法被其他人解密的,这样就证明了你自己(而AES因为只有一个密码,公开了其他人也能加密出相同的内容)。
2、防止信息被修改:同样的,别人无法在没有私钥的情况下修改你的信息,因为这样做用公钥解密就会出现乱码,别人就知道这个东西被修改了。
……
至于安全性,RSA算法基于一个数学难题:质因数分解,只要没有数学dalao找到更快的方式解决这个问题,以现有的数学水平和现有的计算机速度基本上是安全的。
0x05:加解密算法的应用
臭名昭著的wannacry就是用的RSA加密算法加密了你的文件,它用公钥来加密文件,而这个公钥是放到程序里的,你想看就看,然而只有用黑客手中的私钥才能成功解密,这就是为什么那么多逆向大牛虽然找到了“控制开关”,甚至反编译了整个程序http://www.52pojie.cn/thread-611500-1-1.html但是对加密后的文件依然束手无策。
不过简单的加密文件的程序用AES就可以了(网上资料很多),毕竟你只要记住一个短密码就可以啦~(RSA的密钥很长很长……)
这不过是加解密的简单入门,也只是简单介绍了一下替换法和现代常用的的计算机加密法,要学习的还有很多,各位加油吧~ |
免费评分
-
查看全部评分
|
发帖前要善用【论坛搜索】功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。 |
|
|
|
|