密码学——加密者与破译者的博弈

访客3年前关于黑客接单594

密码在我们的生活中有着重要的作用,那么密码究竟来自何方,为何会产生呢?这篇文章介绍了密码学的相关知识,欢迎感兴趣的童鞋阅读。

密码学——加密者与破译者的博弈

密码学是 *** 安全、信息安全、区块链等产品的基础,常见的非对称加密、对称加密、散列函数等,都属于密码学范畴。

密码学有数千年的历史,从最开始的替换法到如今的非对称加密算法,经历了古典密码学,近代密码学和现代密码学三个阶段。密码学不仅仅是数学家们的智慧,更是如今 *** 空间安全的重要基础。

01 古典密码学

在古代的战争中,多见使用隐藏信息的方式保护重要的通信资料。比如先把需要保护的信息用化学药水写到纸上,药水干后,纸上看不出任何的信息,需要使用另外的化学药水涂抹后才可以阅读纸上的信息。

再比如把需要保护的信息写到送信人的头皮上,等头发长出来后,把送信人送达目的地,再剃光头发阅读信息。

这些 *** 都是在保护重要的信息不被他人获取,但藏信息的方式比较容易被他人识破,例如增加哨兵的排查力度,就会发现其中的猫腻,因而随后发展出了较难破解的古典密码学。

1. 替换法

替换法很好理解,就是用固定的信息将原文替换成无法直接阅读的密文信息。例如将b替换成w,e替换成p,这样bee单词就变换成了wpp,不知道替换规则的人就无法阅读出原文的含义。

替换法有单表替换和多表替换两种形式。单表替换即只有一张原文密文对照表单,发送者和接收者用这张表单来加密解密。在上述例子中,表单即为:abcde-swtrp。

多表替换即有多张原文密文对照表单,不同字母可以用不同表单的内容替换。

例如约定好表单为:表单1:abcde-swtrp、表单2:abcde-chfhk、表单3:abcde-jftou。

规定之一个字母用第三张表单,第二个字母用之一张表单,第三个字母用第二张表单,这时bee单词就变成了(312)fpk,破解难度更高,其中312又叫做密钥,密钥可以事先约定好,也可以在传输过程中标记出来。

2. 移位法

移位法就是将原文中的所有字母都在字母表上向后(或向前)按照一个固定数目进行偏移后得出密文,典型的移位法应用有“恺撒密码”。

例如约定好向后移动2位(abcde-cdefg),这样bee单词就变换成了dgg。

同理替换法,移位法也可以采用多表移位的方式,典型的多表案例是“维尼吉亚密码”(又译维热纳尔密码),属于多表密码的一种形式。

密码学——加密者与破译者的博弈

维尼吉亚密码

3. 古典密码破解方式

古典密码虽然很简单,但是在密码史上是使用的最久的加密方式,直到“概率论”的数学 *** 被发现,古典密码就被破解了。

英文单词中字母出现的频率是不同的,e以12.702%的百分比占比更高,z只占到0.074%,感兴趣的可以去百科查字母频率详细统计数据。如果密文数量足够大,仅仅采用频度分析法就可以破解单表的替换法或移位法。

多表的替换法或移位法虽然难度高一些,但如果数据量足够大的话,也是可以破解的。以维尼吉亚密码算法为例,破解 *** 就是先找出密文中完全相同的字母串,猜测密钥长度,得到密钥长度后再把同组的密文放在一起,使用频率分析法破解。

02 近代密码学

古典密码的安全性受到了威胁,外加使用便利性较低,到了工业化时代,近现代密码被广泛应用。

恩尼格玛机

恩尼格玛机是二战时期纳粹德国使用的加密机器,后被英国破译,参与破译的人员有被称为计算机科学之父、人工智能之父的图灵。

密码学——加密者与破译者的博弈

恩尼格玛机

恩尼格玛机使用的加密方式本质上还是移位和替代,只不过因为密码表种类极多,破解难度高,同时加密解密机器化,使用便捷,因而在二战时期得以使用。

恩尼格玛机共有26个字母键和26个带有字母的小灯泡,当按下键盘上的键时,加密后的密文字母所对应的小灯泡就会亮起来,依次记录密文发送给接收者就实现了密文传输。接收者也用相同的恩尼格玛机,依次输入密文并获取原文。

密码机内装有“转子”装置,每按下键盘上的一个字母,“转子”就会自动地转动一个位置,相当于更换了一套密码表。最开始“转子”只有6格,相当于有6套密码表,后来升级到了26格,即有26套密码表。

相关文章

用理性与数学,推导产品色彩系统

用理性与数学,推导产品色彩系统

UI设计师中,只有极少数天赋异禀的人可以凭借感性与直觉就做出惊艳的色彩搭配,而这份天赋显然不是每个设计师都有的,那么对于大多数设计师来说,有什么方法可以帮助我们制定一套优质的色彩系统呢?本文将为你揭晓...

以美容院数字化转型为例,总结B端产品设计

以美容院数字化转型为例,总结B端产品设计

之前写过一篇B端产品总结,后来思考了下,觉得很多业务不便公开,因此在此基础上进行脱敏处理。 为什么想要转行去做B端 我个人履历实际上入行以来换过3家公司。对此虽然是劣势,但是我认为在刚入行对自己职业...

5个角度,详解产品经理面试指南

5个角度,详解产品经理面试指南

受疫情影响,很多公司都倒闭或进行了裁员。如何找到更好的工作,就成了亟待解决的问题。笔者看了现有的一些面试指导,让你用数据展示自己的成绩。话说的也没错,但是其实很多年轻的产品经理面临的问题是没有好的工作...

如何实现敏捷软件开发?

如何实现敏捷软件开发?

敏捷开发究竟是什么?通俗地讲,他就是将项目分为多个独立运行,但又存在联系地小项目,通过分别完成实现快速开发。整体来看,它的优势就是高效! 在软件工程领域,有过很多软件开发模型,如瀑布模型、快速原型模...

2020年营销广告砍价指南

2020年营销广告砍价指南

营销界有一句知名的话:我知道广告费有一半浪费了,但问题是我不知道是哪一半。那么我们到底怎么做才能避免亏得多赚的少的营销行为?或许我们要学会砍价,从浪费的那一半中抠出利润。 在中国的企业和投资圈里,盛...

产品经理经典题目之功能分析题目

产品经理经典题目之功能分析题目

在产品经理笔试/面试的过程中,经常会遇到功能分析类问题,比如说:“在微信的使用过程中有没有感到超出预期的新增feature,分析其背后的设计决策依据。” 这类题目一般会问“为什么要做XX功能”,以及...