密码技术(1)起源

很久没有更新过博客了

做了很长一段时间有关于信息安全技术的开发工作,工作有些繁琐,所以就很久没有更新了,因为做了这么长时间的信息安全,接触了很多的加密模式,算法,还有很多的打法和套路,我在做这个之前是完全没有接触过信息安全的,而且很多的资料什么的都查询不到就算查询到了也多为英文版,后来我就听公司里的大神们说,让我有空看多看一本叫做《图解密码技术》的书,大家有时间也建议去看看这本书,写的非常好,通过这本书自己就开始了对密码技术的学习,我也算是总结一些吧,也会把自己的在项目中遇见的问题也会在这了和大家一起分享,呃……也不知道会不会有人看的到这些,也就当给自己一个复习和查找的备份资料吧,如果有哪些我理解错误的地方,欢迎大家给我留言指出,也帮助我学习,原谅我废话有点多哈。

关于信息安全也许大家会经常听到:对称加密、非对称加密、数字信封技术、hash(哈希)算法等等,这些技术的解读我都会后面写在我的博客里,今天我就先说说我们常见的密码算法中常见的名词的含义吧。

先从密码技术的起源开始。

在现实生活中,我们会在很多地方经常性的使用自己的密码,比如银行卡取款密码、微信登陆密码、支付宝、微信的支付密码等等。

但是密码技术中的密码两字并不仅仅只是指的我们日常生活中使用这些密码,准确的来说这些我们日常中所使用的密码应该被称之为密钥。

就如同我们放在一个箱子里一些金币,我们害怕别人会把这些金币拿走,怎么办呢,于是我们在箱子上按了一把锁,这个锁就是我们所谓的密码算法,而我们手里的密钥(日常中的密码)也就是我们打开这把锁的钥匙,所以我们也就称它为密钥,密码算法和密钥都是我们用来保护箱子里的金币的措施,这样也就方便大家理解了什么是密码算法什么是密钥。

密码算法很早就出现了,最早的使用方式应该是军队作战中需要传递一些机密信息,可能之前机密信息只能交给一个值得信赖的人来去传输,但是这样第一目标太大,不确定性也太多,万一这个人忘记某些词或者被敌人抓获了,消息很有可能就被敌人抓获了或者串改了本意,所以就出现了一种最简单的密码——凯撒密码,据说这种密码是尤利乌斯.凯撒使用过,这种密码的算法很简单,就是通过把字母平移两个字母而产生新的字母组合

例如apple 通过凯撒密码算法进行处理后,生成的就是crrng,

这样在敌人获得了这个crrng的字母组合后,一时间也难以猜出原来的是什么。

而这里向右平移两个字母的做法,这2就是密钥,而向右平移的做法就是密码算法

当盟军获得了这个crrng的字母组合后,只需要逆向操作就可以得到原来的单词。

 

在这里出现了两个新的专业词汇,明文和密文,在这个算法加密的过程中,首先对Apple 这个英文单词进行凯撒密码运算,得到了crrng这个字母组合,在密码算法中我们通常称Apple为原文,而crrng为密文,而这个运算过程我们通常称为加密,逆向的操作也就是解密(但解密不一定是逆向操作,比如DES对称加密的解密和加密是相同的操作,这个我会在后续对称加密文章中会详细解释),这些词汇也是我们在日常开发中经常会使用到的词汇。

 

这这里我大概认识到了什么是密码算法、密钥、明文、密文、加密、解密这些词的意义。

然后就会想到另外一个为问题,这种凯撒密码太简单了,如果密文很长,字母很多,就会出现很多重合的组合,如果多看看的话几乎就可以猜的出来到底是怎么加密的,但替换算法相对来说破译就会变得困难一些。

凯撒密码其实也是一种简单的替换算法,替换算法可以随意替换,只需要将所有的英文字母都一一对应就可以,这样的话难度就会变得更大,破译者需要大量的去进行暴力碰撞运算,因为第一个英文字母可以对应26个英文字母,第二个可以对应除了对一个英文字母剩下的25个,全部的计算下来的可能密钥总数就会是一个十分庞大的数字,所以暴力碰撞运算就变得没有什么意义了,而这里的密钥总数,我们称它为密钥空间。

但是这种替换算法也不是不能被破解的,它可以使用频率计算来破解,也就是根据日常英文使用的字母出现的频率,来匹配密文中最多出现的英文字母的频率,这样一个个的替换回去,就可以猜到原文的大概意思。

 

除了以上我介绍的这两种,在二战时期还有一种密码机,叫做Enigma密码机,是一种通过机械设备来进行加密计算的密码机,感兴趣的朋友可以去百度或者购买图书查看。

就先说到这后面我还会更新有关对称密钥、非对称密钥、hash算法的学习总结,希望大家发现我说的不对的地方,能帮我指出来,这里先说声感谢了。

猜你喜欢

转载自blog.csdn.net/jk452637241/article/details/80286527