前言
关于加密解密,,我接下来要讲的东西,就是一些较为基础的内容,大神可以不用看,不过会多上一些Python脚本,这篇纯属新手入门教程,我也是刚刚学密码学的新手,如果下面有错误尽管指出
密码
我们假设A和B是2个正在用某个聊天软件聊天,这时有一个黑客,采用某些技术去盗取他们的聊天内容,比如WiFi钓鱼,ARP欺骗那些的攻击,如果A和B用的明文进行沟通(明文:顾名思义就是很明确的文字,没有进行任何处理),如果A发送给B说:“小爱是sb”,这时小爱又在窃听你们的聊天,那。。反正他没啥攻击力,也不能把你们怎么样,但是如果给一个牛逼一点的人看到了,你就完了。
这时候就需要对这段话进行加密了,先了解一下密码算法:
1
对称加密算法
对称加密就是加密的算法和解密算法用的密钥一样
注:密钥就是相当于打开或者锁上门的那把钥匙,没有这个密钥就不能对明文进行加密(锁门)或解密(开门)
2
非对称加密算法
就跟对称加密算法相反,他加密的密钥和解密的密钥是截然不同的他的密文称为公钥密码,还可以称为非对称密码
这2种技术是用来加密明文的,用来保证机密性
还有其他的加密技术
3
单向散列函数
用来保证下载的文件没有被篡改,下图就是一种例子
右边的Sha5sum就是单向散列函数
4
数字签名
数字签名是用来防止伪装、篡改和否认等技术
否认有点难理解,否认就是,假如你发送了一个邮件,但是后来又说自己没发送过这时数字签名就能确认你到底有没有发送。
这张图是我从别的地方找来的,讲述了我刚刚说的那几种技术之间的关系接下来简单了解一下隐写术,先举个例子:
我倚窗前思红颜
喜雨漫洒串珠帘
欢舞翩翩飘倩影
你笑嫣然似花仙
把每一句的开头第一个字拿出来,
我喜欢你
藏头诗就属于一种隐写术
他是隐藏消息本身
历史著名密码
先介绍一下凯撒密码,
先来看看ascii字符码,每个字符都会对应一个数字
凯撒密码就相当于把一个字符变成他对应的数字,然后加1个数字(当然也可以不是1),在变成字符当然如果是z的话他就变成a,如下图
我们要加密xaisb,每一个字符往后平移3位
接下来请看代码
ord就是把字符转换成ascii上相应的数字,122是z的编号,如果他超过122了,就不是字母了,所以要加上一个判断,防止他加了3以后,就不是字符了adlve
这是相应的密文
解密、
当你知道他采用的加密算法的时候,但是不知道要加(加减都一样)多少的话,可以写一个脚本,进行爆破,每一个都加一下,就可以得到明文
代码跟之前的差不多,我就不解释了
因为凯撒密码的密钥空间很小就26个,所以很容易爆破密钥空间,就是可以使用的所有密钥的集合
接下来介绍一些简单替换密码
将正常使用字母表变成其他的字母表,解密的时候对应这个字母表,在变成明文
如上图
这情况就很难使用爆破了,因为他的密钥空间相当巨大现在就有另一种方法进行破译,称为频率分析
现在有如下的密文
MEYLGVIWAMEYOPINYZ
就这么短一段
现在来统计一下这段密文,每个字母出现的频率
当然,不是用眼睛来计算,我写一个脚本进行计算
一般文章的英语字母出现的频率
高频字母:E、 T、A、O、N、I、R、S、H
中频字母:D、L、U、C、M
低频字母:P、F、Y、W、G、B、Y
稀频字母:J、K、Q、X、Z
注:接下来的明文都会是小写,而密文是大写
这样我们就可以先把密文出现最多的那个字母对应成e,Y->e,用一个脚本来自动化代替
这样密文就变成了
MEeLGVIWAMEeOPINeZG
因为英语单词中出现最多的是the
而且上面的密文中出现过2次MEe,
这样就可以加上M—>t,E->h
这样密文就变成了
theLGVIWAtheOPINeZG
现在来看看剩下的密文出现单词的频率是多少
'A': 1
'G': 2
'I': 2
'L': 1
'O': 1
'N': 1
'P': 1
'W': 1
'V': 1
'Z': 1
出现频率在里面较高的是G,I,那他们就有可能对应以下的字母
t、a、o、n、i、r、s、h,
接下来只能使用爆破吧
因为这段密文很短,所以比较难进行频率分析,但是大概思路就是跟上面差不多,如果多了的话,就会很好破译,但是这也要看你的英语单词水平了
这一篇文章简单的介绍了一些密码学的基本概念,和一些简单的破译方法
作者:kaikaix
来源:i春秋
链接:http://bbs.ichunqiu.com/thread-19225-1-1.html
炼石信息安全培训春季班开招
QQ:495066536
372806985
敬请持续关注……