密码学基础知识(0基础小白版,超详细!!!)收藏这篇就够了

目录

一、密码的基础概念

1,密码的概念

2.密码的技术发展

3,密码算法分类

对称密码算法:

1,序列密码

2,分组密码

1,分组密码的工作模式

公钥密码算法:

各类公钥密码算法——各类算法对比

杂凑密码算法:

常见的杂凑函数的对比

二,密钥管理的基本概念

1,密码算法的安全强度

2,密钥的生命周期

1,密钥生成(产生钥匙)

a)在密钥协商过程中从共享秘密派生密钥

2,密钥分发(送钥匙)

3,密钥存储(存钥匙)

4. 密钥使用(用钥匙)

5. 密钥更新 / 轮换(换钥匙)

6. 密钥吊销(作废钥匙)

7. 密钥销毁(销毁钥匙)

8.密钥归档(保管钥匙)


一、密码的基础概念

1,密码的概念

密码是采用特定变换的方法对信息等进行加密保护、安全认证的技术、产品和服务。平时遇到的登录微信、QQ、邮箱遇到的“密码”只能叫做口令。

2.密码的技术发展

大致经历了古典密码、机械密码和现代密码三个发展阶段。

古典密码是密码学的源头,如凯撒密码、滚筒密码、密码盘,基本上都是算法+参数的形式

机械密码是用了一些机械和电动装备,用于实现数据加解密计算,典型代表是恩尼格玛密码机

现代密码的奠基性论文《保密系统的通信理论》在《贝尔系统技术杂志》上发表。

3,密码算法分类

常见的密码算法包括对称密码算法、非对称密码算法和密码杂凑算法三个

1>对称密码算法
    简单说就是**加密和解密用同一个 “钥匙”** 的加密方法。打个比方:就像你用一把钥匙锁上了一个箱子,之后想打开这个箱子,必须用同一把钥匙才行。这里的 “钥匙” 就是一串特定的代码,加密时用它把明文(能看懂的信息)变成乱码(密文),解密时再用这把钥匙把乱码变回明文。

   它的特点很明显:加密和解密的 “钥匙” 完全相同,或者能从一个快速算出另一个。就像现实中分享钥匙一样,这种算法需要保证 “钥匙” 能安全地传给对方,不然别人拿到钥匙就能解开信息。速度通常很快,适合加密大量数据,比如我们日常用的聊天软件加密、文件加密,很多都用到了对称密码算法(比如 AES 算法)。

对比一下:如果加密和解密用不同的钥匙(比如一个是公开的 “锁”,一个是只有自己有的 “钥匙”),那就是非对称密码算法了。

1,序列密码

常见的有ZUC算法。其算法长度为128比特,该算法由128比特种子密钥和128比特IV共同作用生成32比特的密钥流。

2,分组密码

SM4——是我国发布的商用密码算法中的分组密码算法。为了配合WAPI无线局域网标准的推广应用。下面是常见的对称密码算法的对比

分组密码的工作模式

2>公钥密码算法:
   又叫非对称加密算法,简单说就是**加密和解密用两把不同的 “钥匙”** 的加密方法,这两把钥匙是一对,被称为 “公钥” 和 “私钥”。打个比方:就像你有一个带两把钥匙的锁 —— 一把是 “公钥”,可以复制很多份给任何人,相当于一个 “公开的信箱”,别人都能用这把钥匙(公钥)把信件锁进信箱;而另一把是 “私钥”,只有你自己保管,相当于 “信箱的唯一钥匙”,只有用它才能打开信箱取出信件。

   它的核心特点:公钥公开,谁都能用来加密信息,但加密后的信息**只有对应的私钥才能解密**,别人拿公钥也解不开。反过来,用私钥加密的信息(比如数字签名),别人可以用对应的公钥验证是不是你发的,因为只有你的私钥能生成这样的加密结果。不需要像对称密码那样 “偷偷传递钥匙”,因为公钥可以随便给,安全性主要靠私钥的绝对保密(私钥一旦泄露,别人就能解密你的信息)。但缺点是速度通常比对称密码慢,所以一般不直接加密大量数据,更多用于 “传递对称密码的钥匙”(比如 https 加密时,先用公钥加密对称钥匙,再用对称钥匙加密数据),或者做身份验证(比如数字签名)。常见的公钥密码算法有 RSA、ECC(椭圆曲线加密)等,我们平时网上付款、发邮件签名,背后很多都用到了它。

各类公钥密码算法——各类算法对比
3>杂凑密码算法:
   杂凑算法(也叫哈希算法、散列算法)其实**不是加密算法**,它的作用更像 “信息指纹”—— 把任意长度的信息转换成一个固定长度的 “字符串”(叫哈希值或散列值),而且这个过程是 “单向” 的,没法从哈希值反推回原来的信息。打个通俗的比方:就像把一堆食材(比如蔬菜、肉类)放进粉碎机,最后磨成一小堆固定大小的粉末(哈希值)。不管原来的食材是多是少、是什么种类,出来的粉末量是固定的;而且你没法从这堆粉末反推出原来的食材是哪些,但只要食材有一点点变化(哪怕多了一粒盐),磨出来的粉末就会完全不一样。

它的核心特点:单向性(抗原像攻击):只能从原文算出哈希值,不能从哈希值还原原文**。弱****抗碰撞性(抗第二原像攻击)**:不同的原文(哪怕只差一个字符),几乎不可能算出相同的哈希值(叫 “碰撞”,概率极低)。强抗碰撞攻击:即找到两个消息M1、M2(M1≠M2)使得H(M1)=H(M2)是困难的。固定长度:不管原文是 1 个字还是 1 个 G 的文件,哈希值的长度固定(比如 MD5 是 32 个字符,SHA-256 是 64 个字符)。常见用途:密码存储:网站不会存你的明文密码,而是存密码的哈希值。你登录时,网站把你输入的密码算成哈希值,和存的对比,一致就通过(这样即使数据库泄露,别人也拿不到明文密码)。文件校验:比如下载软件时,官网会给一个哈希值。你下载后算出文件的哈希值,和官网的对比,一致就说明文件没被篡改或损坏。数字签名辅助:结合公钥算法,用哈希值给大文件 “瘦身”,再签名,提高效率。常见的杂凑算法有 MD5(已不安全,易被破解)、SHA-1(逐渐淘汰)、SHA-256(目前广泛使用,安全性高)等。

常见的杂凑函数的对比

二,密钥管理的基本概念

1,密码算法的安全强度

Q:选择什么密码算法?如何评估量化评估算法安全性?

A:不同场景需要不同类型的算法,核心原则是优先选择经过国际 / 行业标准认证、且未被发现重大漏洞的算法。对称加密算法一般用于数据加密,如文件、通讯。非对称安全强度(Security Strength)表示征攻破一个密码算法或系统所需的工作量, 简单来说就是这个算法能抗住多久的破解攻击,单位为 bit , 意义:一个算法安全强度为 x bit,则意味着攻破它所需的计算量最多为2的x次方次。

2,密钥的生命周期

密钥的生命周期是指从密钥生成到销毁的时间跨度。不同的密钥有不同的密钥周期

1,密钥生成(产生钥匙)
    密钥生成是密钥生命周期的起点,就像工厂生产钥匙,密钥生成是 “造钥匙” 的第一步。不是随便编个数字就行,得用专门的算法(比如 RSA、AES),国家主管部门批准的随机数发生器生成一串随机且复杂的字符,确保别人猜不到。举例:生成一把 “家门钥匙”,齿纹越复杂,小偷越难复制。密钥的长度(比如 256 位)就像齿纹的复杂度,越长越安全。

在实际场景中,密钥可能不是由随机数直接生成的,而是通过某个秘密值进行派生的——密钥派生函数(Key Derivation Function)KDF,它一般利用对称密码算法或者密码杂凑算法实现密钥生成。

a)在密钥协商过程中从共享秘密派生密钥

密钥协商里的 “从共享秘密派生密钥”,就是两个人先通过某种方式搞出一个 “共同的秘密”(比如用 Diffie-Hellman 算法算出的那个数),但这个秘密不能直接当密钥用,得经过一套固定的 “加工流程”,变成真正能用的密钥。举个例子:你和朋友约定好一个 “共享秘密”—— 比如一串数字 “123456”。但这串数字太简单,直接当密码(密钥)不安全。于是你们提前说好规则:“把每个数字加 3,再倒过来”。按这规则加工后,“123456” 就变成了 “987654”,这个结果才是你们实际用的密钥。

这里的 “加工流程” 有两个关键作用:让原始的共享秘密更 “像密钥”(比如长度符合要求、格式规范);增加安全性,就算原始秘密被人偷看了一点,没掌握加工规则也猜不出最终密钥。现实中这个 “加工流程” 有专业的算法(比如 KDF),但核心逻辑就是:用一个共同的秘密,加一套双方都知道的 “变身规则”,变出能用的密钥。

b)从主密钥派生密钥(密钥分散)
  从主密钥派生密钥,说白了就是:先有一个 “总钥匙”(主密钥),然后用一套固定的 “分钥匙规则”,从这个总钥匙里变出好多把 “专用钥匙”(派生密钥),每把专用钥匙各管一摊事儿。举个生活例子:你家有个 “主钥匙” 能打开大门,但家里还有卧室、书房、保险柜,总不能都用大门钥匙开吧?于是你按事先定好的规则(比如 “主钥匙掰断左边 3 厘米是卧室钥匙,掰断右边 2 厘米是书房钥匙”),从主钥匙衍生出几把专用钥匙,各自对应不同的门。

这里的关键逻辑:主密钥是 “根”,是最核心的那个秘密,得保管得特别好;派生规则是公开的 “公式”(比如用专业算法 KDF),但没有主密钥,光知道规则也变不出专用钥匙;派生出来的密钥各司其职(比如有的负责加密数据,有的负责验证签名,有的负责临时会话),就算某把专用钥匙泄露了,主密钥和其他钥匙还能安全用,不用全换。

这样做的好处是:不用单独生成和保管一大堆钥匙,只要管好主密钥,就能按需求随时变出各种专用钥匙,既安全又方便管理。适用于生成大量对称密钥的场景。具备明确的层级关系 :国家->省部->地方->个人

2,密钥分发(送钥匙)

生成的密钥要送到需要用的人手里(比如发送方和接收方),但过程必须偷偷摸摸,不能被别人看到。比如:你给朋友寄钥匙,不能贴在快递单上,得用加密的方式(比如 “密钥交换协议”)私下传递,确保只有朋友能收到。如果密钥在分发时被截获,就像快递被偷,别人就能用你的钥匙开门了。

3,密钥存储(存钥匙)

钥匙不能随手丢,得找个安全的地方放起来。个人层面:可能存在手机的加密芯片里,或专门的 “密钥管理工具”(类似带锁的抽屉)。企业层面:可能存在硬件安全模块(HSM)里,这是一种防黑客的 “保险箱”,即使电脑被黑,密钥也拿不出来。绝对不能明文存在记事本、电脑桌面,就像把钥匙插在门锁上。

4. 密钥使用(用钥匙)

这是密钥发挥作用的环节,比如加密文件、解密信息、验证身份(类似用钥匙开门、锁门)。

加密:用密钥把明文(比如 “我爱你”)变成乱码(比如 “#%@*”),别人看不懂。解密:接收方用同样的密钥(对称加密)或配对的密钥(非对称加密),把乱码变回 “我爱你”。使用时要 “用完就收”,不能在内存里留痕迹,防止被恶意程序偷走。

5. 密钥更新 / 轮换(换钥匙)

钥匙用久了可能磨损或有泄露风险,需要定期换新的。就像家里的钥匙用了几年,担心被人配过,换一把新锁芯。比如银行的密钥可能每天换一次,普通 APP 的密钥可能每月换一次,根据安全需求定。换新钥匙时,要确保旧钥匙彻底失效,同时新钥匙的分发和存储要重新走一遍安全流程。

6. 密钥吊销(作废钥匙)

如果发现钥匙可能被偷了(比如怀疑密钥泄露),就得紧急宣布这把钥匙作废,不让它再用。发现钥匙丢了,赶紧告诉家人 “旧钥匙没用了,别用它开门”,同时换锁。通过 “证书吊销列表(CRL)” 或 “在线证书状态协议(OCSP)” 通知所有人:“这把密钥失效了,别信它!”

7. 密钥销毁(销毁钥匙)

当密钥彻底没用了(比如过期、被吊销,或系统停用),要彻底毁掉,一点痕迹都不能留。不是简单删除文件,而是用随机数据覆盖存储密钥的内存或硬盘区域,就像把旧钥匙掰断、熔掉,确保无法复原。旧手机淘汰时,要彻底删除密钥信息,否则别人恢复数据可能拿到密钥。

8.密钥归档(保管钥匙)

密钥归档,说白了就是把加密用的 “钥匙”(密钥)妥善保存起来,方便以后需要的时候能找到、能用。打个比方:你家里有个保险柜,钥匙很重要,但平时不用总拿在手里,就会找个安全的地方(比如抽屉深处、专门的钥匙盒)存起来,万一哪天要用保险柜,就能快速找到钥匙。

密钥归档也是这个道理:这些 “密钥” 是用来加密文件、数据、通讯内容的,没有它们,加密的东西就解不开。归档不是随便丢着,而是要按规则存(比如存在安全的服务器、加密的存储设备里),还要记清楚哪个密钥对应哪批数据、什么时候到期等等。目的是防止密钥丢了(比如管理员离职没交接),以后想解密老数据时找不到钥匙,导致重要信息永久丢失。

黑客/网络安全学习包

资料目录

  1. 成长路线图&学习规划

  2. 配套视频教程

  3. SRC&黑客文籍

  4. 护网行动资料

  5. 黑客必读书单

  6. 面试题合集

因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取

CSDN大礼包:《黑客&网络安全入门&进阶学习资源包》免费分享

1.成长路线图&学习规划

要学习一门新的技术,作为新手一定要先学习成长路线图方向不对,努力白费

对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图&学习规划。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。


因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取

CSDN大礼包:《黑客&网络安全入门&进阶学习资源包》免费分享

2.视频教程

很多朋友都不喜欢晦涩的文字,我也为大家准备了视频教程,其中一共有21个章节,每个章节都是当前板块的精华浓缩


因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取

CSDN大礼包:《黑客&网络安全入门&进阶学习资源包》免费分享

3.SRC&黑客文籍

大家最喜欢也是最关心的SRC技术文籍&黑客技术也有收录

SRC技术文籍:

黑客资料由于是敏感资源,这里不能直接展示哦!

4.护网行动资料

其中关于HW护网行动,也准备了对应的资料,这些内容可相当于比赛的金手指!

5.黑客必读书单

**

**

6.面试题合集

当你自学到这里,你就要开始思考找工作的事情了,而工作绕不开的就是真题和面试题。

更多内容为防止和谐,可以扫描获取~

因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取

CSDN大礼包:《黑客&网络安全入门&进阶学习资源包》免费分享

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值