【随记】从入门到入土的密码学 | 概述

好久不见,甚是想念,暑期将至,是不是想要出去好好浪两个月呢?

说来也烦,因为疫情,咱们也不能随随便便出去浪,只能祈祷疫情早点结束吧。

鹦鹉先生上半年可谓是忙里忙外,有一段时间没更新推文了。作为回馈,鹦鹉先生为大家准备了一个较为神秘的系列——密码学

一说到密码学,大家想到的是什么?是高深莫测的各种数学知识,还是坐在电报机前为破译密码而抓狂的密码分析员?说实话,相信我,密码学一点也不难,每个人都可以轻松入门密码学!

说到这,您可能开始怀疑我是不是在开玩笑?但,事实真是如此,且听我细细分解。

首先,密码体制一定是容易理解的。试想:如果你哪天厉害了,自己造出了独一无二的密码体制,但结果,全球没有一个人能看懂你的体制,那不是尴尬又绝望?

所以说,密码体制需要容易理解,公开出去,让更多人知道。只有这样,人们才可以使用它、改进它、发展它,找到Bug并及时修复。

其次,密码体制一定是结构清晰的。为什么这么说呢,那是因为只有结构清晰,才容易找Bug。没错,密码体制也有可能有Bug,比如说后面会提及的DES,就存在弱密钥和半弱密钥的问题。

通过专业的密码分析,我们可以找到密码体制的Bug,以此规避这样那样的弱点。这里要说一下,有这类Bug的密码体制,不等于不好的密码体制。我们在使用时,只需避开它们的弱点,就可以正常使用。

最后,密码体制一定是易于使用的。现在计算机这么发达,能丢给计算机做的,绝对不用手算(提高效率× 懒√)。

所以说,一个密码体制要是易于使用,就需要从两个角度考虑:硬件实现和软件实现。硬件实现,就是通过硬件电路,实现密码体制,最大的优势就在于速度极快,但通用性就差很多了。软件实现,也就是编程实现,程序猿们拿到框图,就可以哒哒哒地敲代码了,但执行的速度,自然就没有硬件实现来得这么简单粗暴了,毕竟人家是物理外挂。

综上,密码学其实没有大家想象的这么难。在近代密码学中,引入了一些新的概念,这些概念,我们只需知道原理就行了,毕竟,咱们说的是工程应用,讲究实用,会用就行。

按照大部分的密码学专业教材,开头总要聊一聊密码学的发展史和大致分类。同样的,我们也快速了解一下,先给大家一个总体框架,有印象即可。

密码学按发展阶段分,可以分为古典密码、近代密码和现代密码。古典密码,主要是基于香农提出的代换与置换来设计的。代换,用A来表示B,置换,把A挪到别处去。

代换  |  置换

将这两点进行有机组合,就形成了一个叫做SPN的结构,“S”代表代换,“P”代表置换,“N”代表网络。

近代密码,主要是对称加密体制。说简单点,就是加解密使用的是同一个密钥。密钥可能会倒序,但本质上还是同一个密钥。使用时,用密钥对明文加密,再用同一个密钥解密即可。

现代密码学,主要是非对称密码体制。在这种情况下,加密和解密使用了两个不同的密钥,将“加密”和“解密”的能力给分开了,便于密钥管理。

那话说回来,我们为啥要有密码学这一个学科呢?说白了,就是不想让别人知道我们的秘密,防止别人冒名顶替自己,对我们的秘密进行修改。在本系列中,鹦鹉先生将与Alice和Bob(信息安全里的“小明”和“李华”),带领大家一起了解著名且经典的密码体制。

猜你喜欢

转载自blog.csdn.net/m0_60483056/article/details/125773694
今日推荐