当前位置:网站首页 > 技术博客 > 正文

密码学学什么课程



共三部分:密码学简介、密码领域和常见密码算法、密码学杂谈和实践

第一部分:初识密码学

什么是密码学?

让我给你讲个故事。在古代,信息需要从一个王国传递到另一个王国。当信息传递者在王国之间旅行时,由于保管着机密信息,传递者常常会受到入侵者的攻击,入侵者想要拦截并读取信息的内容。在这种情况下,成功地将信息从一端发送到另一端非常困难。所以人们想出了一个解决这个问题的方法。这个想法是剃掉信使的头发,把信息写在头皮上。后来,一旦信使头上的头发重新长出来,基本上覆盖了信息,信使就会被派往另一个王国,在那里传递信息。如果信使被入侵者拦截和抓获,那么他们将无法找到被信使头发覆盖的信息。这是密码学的一个很好的例子,密码学是*一种将我们的敏感信息隐藏起来不让不受欢迎的人发现的方法。*

古代技术的问题:

人类历史上发明了几种此类技术来保护我们的数据安全。然而,自古以来,人们就注意到这些技术在一些关键领域存在不足,即:

  1. 隐藏数据需要很长时间,技术很慢
  2. 隐藏数据的过程很繁琐,
  3. 它不是自动的,每次都需要手动隐藏数据
  4. 安全性不高,这些技术存在一些弱点,

第一台加密机

随着时代的进步,我们需要我们的加密机制比以前更快、更高效、更安全。德国在世界大战中发明的恩尼格玛密码机就是一个很好的例子。这台机器长这样:

在这里插入图片描述

恩尼格玛密码机;图片来自阿兰图灵研究所

这台机器用于隐藏攻击坐标,以便盟军无法派遣军队阻止攻击。攻击坐标曾经被加密(隐藏数据的过程),而消息在另一边被解密(取消隐藏数据)。这是一台使用多字母替换密码的机电转子机器。暂时不必担心深入理解它们。

在这里插入图片描述
下面这份完整版的网络安全/黑客技术学习资料已经上传网盘,朋友们如果需要可以微信扫描下方二维码 即可自动领取↓↓↓

在这里插入图片描述

布莱切利园炸弹;图片取自维基百科

为了应对恩尼格玛密码,艾伦·图灵的团队发明了 Bombe,一种可以解密恩尼格玛密码加密信息的机器。因此,这是一场机器之间的斗争。恩尼格玛密码负责加密信息(隐藏信息),而 Bombe 则负责显示信息。到那时,数学已经参与到加密过程中,众所周知,数学最终将成为密码学和数据安全领域的关键因素。密码学是阻止黑客和恶意人士非法获取我们的信息并对我们造成伤害的唯一屏障。

很快,计算机和互联网都发明了。人们需要隐藏互联网上的信息,因此出现了新的算法来隐藏信息。该机制很简单,数据将使用一条称为密钥的秘密信息进行隐藏,只有发送者和接收者知道。因此,只有这两方才能分别隐藏和读取数据,并防止不受欢迎的人看到它。以下是该过程的摘要。

图片

对称密钥加密;图片来自 Geekflare 网站

数据是明文。数据的隐藏格式称为密文或加密文本。将明文转换为密文的过程称为加密,密钥是加密密钥,即密钥。消息到达接收方后,使用相同的密钥来取消隐藏,此过程称为解密。由于加密和解密过程的密钥相同,因此它被称为私钥加密或对称密钥加密。

您将阅读的密码学领域的大部分内容将涉及加密和解密的基本过程以及密钥的使用。从根本上讲,理想情况下,我们只希望密钥对黑客保密,即使黑客知道算法和密文,他们也无法激活成功教程系统。这被称为Kerckhoff 原理,如下所示:

图片

摘自:https: //cybersophia.net/articles/what-is/what-is-kerckhoffs-principle/

这在某种程度上是所有现代加密机制和算法的基础。这些原则在设计时将安全性作为核心,同时还考虑了计算的简易性。这些原则还规定,系统不必是最秘密的组件,因为该功能由密钥提供。

该系统不必保密,并且即使落入敌人手中也不会造成不便。

- Auguste Kerckhoffs

在设计系统时,我们应该假设敌人会立即完全熟悉它们。

- 克劳德·香农

我们将慢慢尝试了解这些加密系统是如何在数学上构建或开发的。但是,让我们看看另一种使用多个密钥而不是 1 个密钥的加密系统,如私钥或对称密钥加密。

这种新型的加密系统称为非对称密钥加密或公钥加密。 让我们看一下图表,一目了然地了解它。

图片

此处的加密和解密过程通过 2 个不同的密钥完成。加密密钥与解密密钥不同。简化如下:

如果在对称密钥加密系统中:

*加密密钥 == 解密密钥,然后,*

*在非对称密钥加密系统中:*

*加密密钥 != 解密密钥*

对称和非对称之间的另一个真正关键的区别是,在对称密钥加密中,整个系统中只有一个密钥,而在对称密钥加密系统中,有2*n 个密钥,其中 n 表示系统中的参与方数量。这意味着,如果系统中有 5 个参与方,那么系统中每个参与方都会有一个公钥和一个私钥。因此,系统中总共会有 5*2 = 10 个唯一的密钥。如下图所示。

图片

第二部分:常见密码领域及算法

图片

密码学领域

密码学领域包含多个子领域。让我们总结一下密码学领域包含的子主题。首先,我们可以想象密码学领域分为两个子领域。

子域名 01 → 加密

这是与创建加密协议有关的领域,这些协议可以保护我们的数据免受第三方的侵害,因为我们希望能够安全地进行通信。加密技术远远超出了安全的范围,也提高了通信过程的效率。通信过程中的安全问题也会影响通信效率,因为修复这些问题需要时间,而且会严重损害服务的整体品牌形象。

子域名 02 → 密码分析

这是检查和分析现有加密和安全协议的安全参数的领域。这也是黑客用来破坏现有协议和利用系统的领域。这是密码学更数学化的一面,涉及使用复杂的微分和积分。

图片

有人可能会问,我们为什么要有诸如密码学之类的系统和领域。难道只是为了隐藏我们持有的数据不让黑客发现吗?事实证明,这并不是密码学的唯一用途。事实证明,我们无法说出系统中谁是黑客,因为黑客不是天生的。这意味着任何人都可能是黑客,每个人都可能是一样的,互相发动攻击。

因此,当前的服务和系统在提供安全性方面需要注意三件事:数据必须对对手或各方隐藏,他们不应看到数据;数据在从一个节点或计算机移动到另一个节点或计算机时不得以不良方式更改;提供服务的网络应不可用。这是安全三角:机密性 → 隐藏数据;完整性 → 确保数据不会以不良方式更改;可用性 → 确保网络或通信链路不会中断。有几个因素会影响安全三角,例如算法、网络安全、数据传输机制等。接下来让我们看看一些经典安全攻击的类别。

让我们了解安全领域中可能发生的安全攻击。攻击分为两类:

  1. 被动攻击
  2. 主动攻击

这些攻击本质上不是攻击。它们是不直接接触网络、不直接更改用户数据的攻击。此类攻击的目的是尽可能多地获取数据和情报,然后将其与其他方法结合起来,造成全面破坏。

这些攻击是直接由对手(如果我们愿意的话,可以称为黑客)造成的损害,对手对数据或系统进行更改,从而损害系统的机密性、完整性或可用性,从而造成经济、社会和/或个人损害。主动攻击有可能并且经常以被动和主动攻击相结合的方式发生。

图片

图片取自:https://t.ly/BMSh1

我们知道对称密钥加密使用单个密钥进行加密和解密。这意味着两个用户之间的系统将使用同一个密钥来隐藏和显示数据。

接下来让我们看看一些流行的对称密钥算法。

图片

这就是著名的 DES 算法。DES 算法使用的独特概念是使用多轮而不是单轮。DES 通常涉及 16 轮递归加密。这意味着对于试图激活成功教程密钥的黑客来说,激活成功教程系统需要递归地找出每一轮的密钥;这意味着总共需要 16 个密钥。 这已经意味着对手激活成功教程系统的过程将极其棘手和困难。传输密钥对于真实方来说也不是一项艰巨的任务,因为每轮的轮密钥都来自一个只需传输一次的主密钥。然而,截至撰写本文时,DES 已被多次激活成功教程,并且使用 DES 并不是业界推荐的标准。

图片

由于 DES 已被激活成功教程,因此需要一种更好、更可靠的算法,因此 Rijndael 算法被选为 DES 算法的后继者。AES 正是为此而生。AES 的特殊之处在于它继承了前代算法的因子或使用多轮算法。此外,AES 还通过使用我们所谓的 S 盒增加了自己的特色,其中数据也使用子字节、移位行和混合列操作进行混合和打乱。这为黑客增加了额外的混乱层,与 DES 相比,激活成功教程系统异常困难。

然而,AES 最近也被激活成功教程了,在撰写本文时,它不再是行业推荐的标准。这不必担心,因为可以使用其他高级安全标准来代替 AES,我们将很快讨论这一点。

该系统很容易想象,密钥不会随着用户数量的增加而呈指数增长,并且管理密钥相对容易(与非对称系统相比)。这也是对称密钥加密非常快速且合理使用的原因。对这种加密的最大批评是仅使用一个密钥即可实现的安全级别。安全性有限,并且无法使用此方法进行多项加密操作,例如证明由真实方执行的操作(数字签名)。

图片

图片来源:作者;非对称密钥加密

在有 6 名参与者的非对称系统中,我们可以看到每个参与者将生成 2 个唯一密钥或一个密钥对。因此总共会有 12 个密钥。现在让我们也看看流行的非对称加密标准。

有几种流行的非对称加密算法,其中 RSA 最为流行。重要的是要了解 RSA 使用我们所谓的模块化算法为网络中的单个计算机或参与者生成 2 个唯一密钥或单个密钥对。这意味着其中一个密钥将用于加密,另一个将用于解密。

了解RSA算法:

模运算:

图片

看上图,想象一下 mod 相当于除以一个数,然后求除法结果的余数。例如,18 mod 9 相当于将 18 除以 9,余数为 0。19 mod 9 的结果为 1,因为将 19 除以 9 的余数意味着余数为 1。这是模数运算。记住这么多就足以理解 RSA 的基础了。

现在让我们看看 RSA 是如何工作的。下面是我们将使用 RSA 加密和解密数据的两个方程式。

图片

图片取自:https: //www.cantorsparadise.com/rsa-algorithm-in-depth-mathematical-walk-through-3bfa

让我们了解方程式中提到的关键术语。

 

让我们为上面提到的变量代入一些值。

 

假设某人有 2 个密钥,一个公钥和一个私钥。现在我想使用公钥 RSA 系统加密消息 (M) 以隐藏它,然后隐藏消息的加密版本。然后我将使用用户的公钥数据来加密消息。

对于加密:

 

因此,我们将密文 31 传输到接收方,最终使用用户的私钥进行解密。解密过程如下 →

 

非对称密钥加密是现代密码学中一个强大且无可争议的部分。与对称密钥相比,它提供了更高的安全性。然而,对这种技术最大的批评来自于这样一个事实:由于需要创建和共享大量密钥,密钥管理极其棘手。这也是这种加密需要更多资源和计算的原因。

第三部分:密码学杂谈

密码学(Cryptography),是一门将信息进行加密处理与传递,以及分析加密信息的学科。根据以 RSA 为代表的公钥加密体系的出现,可以将密码学的发展过程分为古典密码学与现代密码学两部分。古典密码学以「置换法」与「替换法」为基础,多应用于军事与情报领域;现代密码学则建立在数学、计算机与通信科学的基础上,除了加密信息之外,数字签名、数据完整性、身份认证等也是现代密码学的研究课题。

密码学(Cryptography)大致可分为古典密码学(Classic cryptography)和现代密码学(Modern cryptography),两者的主要差别在于计算机的使用,一般来说,古典密码学是基于字符的,而现代密码学是基于二进制位的。

密码学的概念与人们平时登陆网站、使用银行账户的「密码」并不相同。这些用于身份认证的「密码」,更准确的翻译是通行词(password),它是现代密码学的诸多应用之一。

一般来说,古典密码学是基于字符的,而现代密码学是基于二进制位的。古典密码学主要包括两类,即替换和置换。

置换法依照一定的规则,改变原始信息中的字母排列顺序;替换法将原始信息中的字母按照一定的规则替换成其他字母。置换法与替换法的安全性较差,古阿拉伯的学者们开创了破译加密信息的科学 — — 密码分析学,通过频率分析的方法激活成功教程替换式加密法。

代换

代换密码是将明文中的字符替代成其他字符,即替代转换,若整个加密过程中每个字符采用同一张表替代,则为单表代换密码,类似的,若整个加密过程中每个字符采用不同的表替代,则为多表代换密码,典型的单表代换密码有凯撒密码、培根密码等,多表代换密码有维吉尼亚密码等。

  1. 取偏移量为3
  2. 计算的后3位为
  3. 以此类推
  4. 密文为:

类似的,解密过程如下:

  1. 计算的前3位为
  2. 以此类推
  3. 明文为:

注意:当偏移量为13时,这种凯撒密码的特例又被称为ROT13(回转13位)加密,ROT13加密是一种对等加密(Reciprocal cipher),对等加密是对称加密的一个特例,即该类密码的加密算法是它自己本身的逆反函数,换言之,要对其解密,只需对其密文再次套用加密算法即可。当偏移量未知时,可采用穷举法一个个试,偏移量必定小于26。

培根密码(Bacon’s cipher)加密时,明文中的每个字母都会转换成一组5个英文字母。其转换依靠下表:

图片

按照上表,明文的密文为,显然,密文的长度是明文长度的5倍。
除了上表用来加密小写明文外,还有一张用来加密大写明文的表,如下:

维吉尼亚密码是使用一系列凯撒密码组成密码字母表的加密算法,

这一表格包括了26行字母表,每一行都由前一行向左偏移1位得到。行为明文行,列为密钥列,密文位于表格内。
明文HELLOWORLD的加密结果如下:

  1. 选择某一关键词作为密钥,如SECRET
  2. 对于明文第1个字母H,对应密钥的第1个字母S,于是使用表格中S行字母表进行加密,得到密文第一个字母Z
  3. 以此类推,若密钥长度小于明文长度,则转到密钥第1个字母继续循环,最终得到密文ZINCSPGVNU

类似的,解密过程如下:

  1. 根据密钥第1个字母S所对应的S行字母表,发现密文第1个字母Z位于H列,因而明文第1个字母为H
  2. 依次类推

显而易见,维吉尼亚密码相对于本文介绍的其他古典密码,很难利用穷举法激活成功教程。

置换密码是将明文中的字母重新排列,字母本身不变,但其位置改变,即位置转换,典型的有栅栏密码等。

  1. 去掉空格:
  2. 5个一组:,
  3. 取出每组第1个字母:
  4. 取出每组第2个字母:
  5. 以此类推
  6. 连在一起:
  7. 加上适当空格:

类似的,解密过程如下:

  1. 去掉空格:
  2. 分成5栏:、、、、
  3. 取出每栏第1个字母:
  4. 依次类推
  5. 连在一起:
  6. 加上适当空格:

注意:这里栅栏的栏数取决于n的取值,一般而言,n要整除字母数,n不可能大于或等于字母数,当不知道n为多少时,可采用穷举法一个个试。

准确来说,当铺密码不是一种加密方式而是一种编码方式,它是将中文和数字进行转化的算法,具体为:当前汉字有多少笔画出头,就转化成数字几。如即为。

猪圈密码(Pigpen cipher),又称共济会密码(Masonic cipher),是一种以格子为基础的简单代换式密码。下图为猪圈密码中所用符号与26个英语字母之间的对应关系:

图片

明文的加密结果如下:

图片

在长达一千多年的时间里,古典密码学以置换法与替换法为基础不断演进。以维吉尼亚密码为代表的多字母表替换式加密法轮流使用多个不同的替换式密码表,依次对明文中的字母进行加密。第二次世界大战时德军使用的「恩尼格玛」是一种基于复杂的多表替换加密原理的机械式密码机,但最终由于自身加密算法的缺陷,被图灵设计的「炸弹」攻克。

休·怀特摩尔创作的戏剧“破译密码”的内容为艾伦·图灵的生活,艾伦·图灵是在二战中帮助英国破译恩尼格玛密码机的密码的最大功臣。

英国畅销书作家罗伯特·哈里斯于1996年出版的小说“恩尼格玛”讲述的是布莱切利园的密码学家们破译恩尼格玛的过程。2001年这本小说被拍成了电影“恩尼格玛”。

由乔纳森·莫斯托拍摄并于2000年上映的电影U-571讲的是一群美国潜艇兵为缴获一台恩尼格玛密码机而抢了一艘德国潜艇后的故事。电影中的恩尼格玛密码机是一个收藏家手里的真品。这部电影的情节并没有严格地按照历史发展,英国皇家海军在1941年击败德军潜艇U-110号最早获得德国海军密码机,也是猎杀U-571电影的真实版本,美国只是在1944年诺曼底登陆之前缴获了一艘U型潜艇。

2014年上映的电影《模仿游戏》讲述了艾伦·图灵等英国的数学家、逻辑学家协助军方破译恩尼格玛密码机的过程。

2019年网易推出的非对称对抗悬疑手游《第五人格》中求生者阵营需要破译五台密码机让大门通电输入密码逃生所需破译的五台密码机就是恩尼格玛密码机。

置换式与替换式加密法的弱点在于没能完全消除密文中有关明文的某些特征,保留了明文中的某些信息。奥古斯特·柯克霍夫在 19 世纪提出的柯克霍夫原则(Kerckhoff’s Principle)概括性地总结了加密算法应遵循的设计原则:即使加密系统的各个环节都是公开知识(Public knowledge),只要密钥未被泄漏,加密系统都应该是安全的。

加密算法的安全性问题本质在于:如何降低攻击者在了解加密算法,并拥有足够长的密文片段的前提下,猜测出正确密钥的可能性?

1948 年,香农创立了信息论,并在次年的一篇论文中从数学的角度讨论了加密系统,人们开始从科学的角度探究密码学的奥秘。

【----帮助网安学习,以下所有学习资料文末免费领取!----】

> ① 网安学习成长路径思维导图
> ② 60+网安经典常用工具包
> ③ 100+SRC漏洞分析报告
> ④ 150+网安攻防实战技术电子书
> ⑤ 最权威CISSP 认证考试指南+题库
> ⑥ 超1800页CTF实战技巧手册
> ⑦ 最新网安大厂面试题合集(含答案)
> ⑧ APP客户端安全检测指南(安卓+IOS)

首先要找一份详细的大纲。

在这里插入图片描述

第一阶段:零基础入门系列教程

img

该阶段学完即可年薪15w+

第二阶段:技术入门

弱口令与口令爆破
XSS漏洞
CSRF漏洞
SSRF漏洞
XXE漏洞
SQL注入
任意文件操作漏洞
业务逻辑漏洞

该阶段学完年薪25w+

img

阶段三:高阶提升

反序列化漏洞
RCE
综合靶场实操项目
内网渗透
流量分析
日志分析
恶意代码分析
应急响应
实战训练

该阶段学完即可年薪30w+

img
在这里插入图片描述

最后,我其实要给部分人泼冷水,因为说实话,上面讲到的资料包获取没有任何的门槛。

但是,我觉得很多人拿到了却并不会去学习。

大部分人的问题看似是“如何行动”,其实是“无法开始”。

几乎任何一个领域都是这样,所谓“万事开头难”,绝大多数人都卡在第一步,还没开始就自己把自己淘汰出局了。

如果你真的确信自己喜欢网络安全/黑客技术,马上行动起来,比一切都重要

上述这份完整版的网络安全学习资料已经上传网盘,朋友们如果需要可以微信扫描下方二维码 即可自动领取↓↓↓
或者

【点此链接】领取

版权声明


相关文章:

  • 桥接模式的原理和特点2024-12-26 19:30:06
  • python 游戏编程入门2024-12-26 19:30:06
  • 游标sql语句2024-12-26 19:30:06
  • 异步fifo的verilog代码2024-12-26 19:30:06
  • 简述makefile的作用2024-12-26 19:30:06
  • css选择器的写法2024-12-26 19:30:06
  • azw3阅读器电脑版2024-12-26 19:30:06
  • python环境怎么搭建2024-12-26 19:30:06
  • 标志位寄存器的作用2024-12-26 19:30:06
  • 破解hash加密2024-12-26 19:30:06