随着区块链、物联网、移动网络的发展,网络安全问题亟需解决,而密码学就是解决这些网络安全问题的基础,密码学的春天在逐渐到来。本课程带大家系统性掌握密码学核心版块(哈希、对称加密、分组密码、非对称加密、数字签名、密钥交换、信任链)的知识原理与实际应用,打造个人强势竞争力。
第1章 课程介绍及学习指
本章主要对整体课程内容进行介绍,就如何学好该门课程问题,给出相应的建议和指导
1-1 学前必读(不看错过一个亿
1-2 密码学—课程导学 (13:15
第2章 信息安全介绍与入门9 节 | 38分
本章主要对信息安全领域做整体介绍,补足基础知识、为后续课程铺垫
2-1 常见的安全威胁 (05:16
2-2 信息安全介绍 (01:51
2-3 基础知识温习(一) (14:44
2-4 基础知识温习(二) (08:39
2-5 不可靠通信模型和术语 (02:08
2-6 古典密码—移位密码 (00:58
2-7 古典密码—维吉尼亚 (02:44
2-8 信息安全介绍与入门—本章小结 (00:41
2-9 本章作
第3章 密码学核心—Hash函
本章主要讲解hash函数的性质,了解常见的hash函数以及md5/sha1原理,熟悉hash的应用场景,先讲security设计,体会抽象设计,再讲md5源码,结合代码实现强化理解,应用场景部分多给举例,强化理解
3-1 Hash函数—本章导学 (01:45
3-2 无处不在的Hash应用 (02:12
3-3 介绍Hash函数和性质 (10:23
3-4 密码学Hash的安全性 (02:19
3-5 详解MD5 SHA1原理 (13:35
3-6 Hash计算的一般过程 (01:54
3-7 实战应用-库和硬件支持 (04:19
3-8 实战应用-openssl等工具演示 (04:49
3-9 实战应用-Hash在Redis中的应用 (02:45
3-10 实战应用-Hash在比特币中的应用 (04:57
3-11 实战应用-Hash在Git中的应用 (05:30
3-12 从java.security学习MessageDigest (19:06
3-13 典型Hash应用 (07:47
3-14 安全性问题 (04:39
3-15 Hash函数—本章小结 (01:27
3-16 本章作
第4章 密码学核心—对称加
本章主要讲解什么是对称加密,对称密码的特点,以及AES的大体处理流程及点,AES可以用在什么场景,现今对AES的支持情况怎样,开发人员如何使用对称加密与非开发人员如何相应的工具
4-1 对称加密—本章导学 (03:30
4-2 回顾古典密码-介绍对称加密 (03:12
4-3 介绍AES (03:10
4-4 AES的轮计算细节 (21:55
4-5 AES密钥扩展细节 (10:10
4-6 实战应用-库和硬件支持 (02:58
4-7 实战应用-生活中的AES (04:08
4-8 实战应用-Openssl应用 (05:05
4-9 从java.security学习Cipher (18:21
4-10 对称加密—本章小结 (01:42
4-11 本章作
第5章 密码学核心—分组密
本章主要讲解分组密码模式的含义,常见的几种模式是什么工作原理,以及实际工作生活中都用到哪些场景,开发人员如何使用的编程方法
5-1 分组密码—本章导学 (04:09
5-2 分组密码的概念 (06:12
5-3 初始化向量和填充方式 (08:13
5-4 电子密码本ECB (04:25
5-5 块链接CBC (05:28
5-6 密文反馈CFB (04:30
5-7 输出反馈OFB (04:30
5-8 计数器CTR (07:38
5-9 伽罗瓦计数GCM (14:50
5-10 6种模式的比较总结 (01:01
5-11 实战应用 – 硬件支持和日常场景 (02:06
5-12 实战应用 - Openssl应用 (06:19
5-13 从java.security学习Cipher(一) (20:08
5-14 从java.security学习Cipher(二) (15:39
5-15 本章作
第6章 密码学核心—非对称加
本章主要讲解公私钥体系的模式,大致了解RSA的工作原理,了解EC的工作原理以及实际工作都用在哪些场景,开发人员如何使用的编程方法
6-1 非对称加密-本章导学 (03:11
6-2 介绍非对称加密机制 (03:53
6-3 详解 RSA 加解密过程 (10:26
6-4 详解 RSA 密钥生成 (15:04
6-5 RSA 安全性浅析 (02:40
6-6 详解椭圆曲线ECC加解密 (28:25
6-7 ECC安全性浅析 (03:42
6-8 实战应用-Openssl应用讲解 (05:43
6-9 从java.security学习Cipher (29:00
6-10 非对称加密—本章小结 (01:50
6-11 本章作
第7章 数字签名与消息完整
本章主要讲解消息认证码hmac与hash的区别,在哪些场景应该使用消息认证码,数字签名机制的基本原理,以及RSA签名的大致过程,ecdsa签名的大致过程,数字签名有哪里使用场景,开发人员如何使用数字签名
7-1 数据签名与消息完整性—本章导学 (03:36
7-2 消息认证码和Hmac (16:19
7-3 HMac的应用场景案列 (01:31
7-4 从java.security学习 HMac (08:21
7-5 介绍数字签名 (05:33
7-6 RSA签名 (11:00
7-7 ECDSA签名 (20:40
7-8 实战应用-数字签名应用场景 (06:30
7-9 实战应用-OpenSSL应用 (09:34
7-10 从java.security学习 Signature (23:59
7-11 数字签名与消息完整性—本章小结 (04:13
7-12 本章作
第8章 密钥交换和数字信任
本章主要讲解为什么使用DH交换,DH交换的具体原理是怎样的,以及证书信任链的基础体系,讲解dh原理是难点,ecdh原理难度更大,会用小数字举例,进行图形化演示
8-1 密钥交换和数字信任链—本章导学 (02:43
8-2 Diffie-Hellman 密钥交换 (17:19
8-3 ECDH 密钥交换 (10:59
8-4 从java.crypto学习 DH (07:50
8-5 数字信任-公钥基础设施 (22:17
8-6 实战应用-操作系统的信任链 (04:13
8-7 实战应用-Openssl应用讲解 (05:30
8-8 实战应用-java中的信任链 (07:06
8-9 密钥交换和数字信任链—本章小结 (02:57
8-10 本章作
第9章 编码与解
本章主要讲解为什么需要编码表达,常见编码方式的计算原理,以及Unicode和UTF8等等其概念。采用图示讲解其原理,以及代码演示
9-1 编程与解码—本章导学 (04:39
9-2 详解Hex编码 (11:11
9-3 详解Base64编码(一) (15:58
9-4 详解Base64编码(二) (08:38
9-5 学习Unicode字符集 (07:44
9-6 学习字符集编码 (16:10
9-7 Java 与 Unicode (15:36
9-8 编程与解码—本章小结 (05:47
9-9 本章作
9-10 本章作业—写出代码计算出字符
第10章 实践专题-协议分
本章主要讲解现实中https/tls的每一个动作如何进行,以及ssh协议如何进行,将采用抓包和图示进行讲解
第11章 实践专题-综合应用案
本章主要讲解如何存储用户密码,分布式集群中的配置口令如何管理分发,接口设计与敏感数据保护的问题,企业内应用自签名证书问题,自研通信协议需要考虑什么
第12章 扩展和总
本章主要总结Security学习jce扩展,万金油crypt模块,知识沉淀+意识提升,关注信息安全,成长路线和基本要求
人人都该懂密码学,通用密码学原理与应用实战资源目录截图: