实用密码学

实用密码学 / 从0开始,快速掌握密码学技术

范学雷

Oracle首席软件工程师,Java SE安全组成员,OpenJDK评审成员

  • 课程目录
  • 课程介绍
  • 开篇词 | 人人都要会点密码学

    我想通过这个密码学专栏帮助你把握住基本概念、弄明白适用场景、躲得开常见错误。

  • 01 | 学习密码学有什么用?

    我们要理解信息安全的基本问题和基本需求,建立起均衡考量信息安全基本需求的意识。

  • 02|单向散列函数:如何保证信息完整性?

    单向散列函数是一个逆向运算困难,构造碰撞困难的函数。

  • 03|如何设置合适的安全强度?

    我们要建立对安全强度直观概念的认知,为系统设置合适的安全强度。

  • 04|选择哈希算法应该考虑哪些因素?

    我们要尽量选择现存的、可用的、流行的算法。

  • 05|如何有效避免长度延展攻击?

    我们要了解避免长度延展攻击的办法,尽量不要单纯使用单向散列函数来处理包含机密信息的数据。

  • 06|对称密钥:如何保护私密数据?

    我们要知道对称密钥的安全性,取决于密钥的保密性和算法的安全性,而不是算法的保密性。

  • 07 | 怎么选择对称密钥算法?

    我们罗列了常见的对称密钥算法,讨论了数据加密对应用性能的影响,还知道了分组算法和序列算法这两个概念。

  • 08 | 该怎么选择初始化向量?

    应用程序需要根据使用场景来制定适当的初始化向量选择方案,这是一个容易忽略的要求。

  • 加餐 | 密码学,心底的冷暖

    极客时间的《实用密码学》这个专栏,就是我为十年后的新模样,添的一块砖。

  • 09 | 为什么ECB模式不安全?

    我们要知道ECB模式不是安全的模式,一般的应用程序不应该直接使用ECB模式。

  • 10 | 怎么防止数据重放攻击?

    我们要理解CBC模式的三个关键点,了解计算时间偏差和算力偏差对算法安全性的影响。

  • 11 | 怎么利用解密端攻击?

    我们要知道CBC模式存在补齐预言攻击,知道使用不同初始化向量的来阻断补齐预言攻击。

  • 12 | 怎么利用加密端攻击?

    我们要知道CBC模式存在BEAST攻击,还要知道使用初始化向量来阻断BEAST攻击。

  • 13 | 如何防止数据被调包?

    我们要了解消息验证码要解决的问题,尽量选用现行的、流行的算法。

  • 14 | 加密数据能够自我验证吗?

    我们要了解带关联的认证加密,以及它要解决的问题。

  • 15 | AEAD有哪些安全陷阱?

    我们要知道AEAD算法初始化向量不能重复的要求,知道AEAD算法常用的初始化向量选择方案。

  • 16 | 为什么说随机数都是骗人的?

    今天,我们来讲一个之前总提到的知识点:随机数。

  • 17 | 加密密钥是怎么来的?

    我们要知道一个合格的对称密钥应该满足什么条件,以及对称密钥的两个主要来源。

  • 18 | 如何管理对称密钥?

    我们要有意识优先使用即用即弃的对称密钥,有意识去保护好需要留存的对称密钥。

  • 19 | 量子时代,你准备好了吗?

    我们要开始筹划抵御量子计算时代算力的事情,为量子时代做好准备。

  • 20 | 综合案例:如何解决约会难题?

    我们是时候回头看看,能不能使用我们学到的知识,来帮助牛郎织女解决好他们的约会问题了。

  • 结束语 | 深挖坑、广积粮

    深挖坑,广积粮,这是我送给你的学好密码学的一个小建议。

  • 结课测试 | 这些密码学的知识,你都掌握了吗?

    《实用密码学》课程结课了,来做一个小测试吧!

你将获得

  • 深度解析加密核心技术
  • 组合多种密码技术的应用方法
  • 10+企业级密码学应用场景分析
  • 一线大厂密码技术实操经验

讲师介绍

范学雷,Oracle首席软件工程师,Java SE安全组的成员,OpenJDK安全评审成员,是Java SE安全的主要推动者和贡献者之一,也是Java语言平台的设计实现者之一。极客时间《代码精进之路》专栏作者。

他在密码学应用领域工作二十余年,日常工作包括关注信息安全威胁与技术进展,参与信息安全领域国际合作,制定与实现Java安全规范,提升Java SE生态安全水准,促进Java技术的普及与运用等。

课程介绍

如果2020年可以重启,提供在线会议服务的龙头企业Zoom最想做的,一定是在2020年之前就聘用密码学领域的专家,提高研发人员的密码学水平,为什么?

在2020年3月末,研究者公开了Zoom产品的重大安全漏洞,Zoom使用了一种并不安全的加密模式:ECB加密模式,而这种加密模式的安全问题早已经暴露多年。因为算法失当这个“小问题”,Zoom自身的品牌和信誉受到了极大伤害,给了竞争者充分的机会。

不可否认,密码技术是信息网络安全的基础,也是核心。无论是系统开发还是App开发,只要存在网络通信,信息就要加密,防止被截取和篡改。然而,即便大家意识到信息安全的重要性,清楚密码学的意义和价值,能够灵活使用不同密码算法的研发人员还很少;懂得密码学的安全领域专家更少;能够跟得上密码学发展进程的研发人员更是少得可怜。

在信息安全市场上,人才的需求和供给之间有一个巨大缺口,而且这个缺口还没有停止扩张。对研发人员来说,安全领域更是有着广阔的发展空间,很多技术人也开始向安全领域转型。

可学好用好密码学并不容易,它是一门需要深度积累的领域,且不说它的知识本身很庞杂,在实际应用层面,更是有很多“坑坑洼洼”。所以,如果在学习的过程中,有经验丰富的专家指点,学习起来会更加简单高效

因此,我们邀请了范学雷老师,他会通过这门课,帮你厘清密码学里的复杂概念,给出不同场景下,密码技术的选择和使用注意事项,尽可能帮你规避掉密码学常见的“坑”,让你真正地学会、用好密码学。

课程模块设计

本专栏分为四个模块。

模块一:课前必读 在正式开始密码学的学习之前,我们会先探讨一些问题:密码学是什么?学习密码学有什么用?通过讨论,你会理解信息安全的基本问题和需求,明确学习密码学的意义,为你的学习之路奠定一个良好的基础。

模块二:学会使用哈希函数 在这个部分,我们会讨论什么是单向散列函数、怎么判断和选择它的安全强度、如何根据性能和实际需求来选择哈希算法,以及有哪些常见的错误用法。单向散列函数是密码学的基础,扎扎实实地掌握了这部分内容,能够帮助我们建立起缜密的密码学思维方式

模块三:学会使用加密算法 在这个部分,我们会讨论加密算法的相关知识,比如说,什么是对称密钥、如何选择合适的对称密钥、加密算法的安全陷阱有哪些、ECB模式为什么不安全等等。你不用担心这部分知识枯燥难学,我们会把重点放在各种密码技术的适用场景和局限性上

最后,我们一起去看看密码学前沿技术的发展,感受密码学的魅力,学习应对未来的变局。

模块四:案例分析 在这部分,我们会通过一个综合案例,带你分析如何组合、搭配不同的密码技术,实现信息安全,也就是把密码学用起来,解决实际问题,将学到的知识融会贯通。

课程目录

特别放送

订阅须知

相关教程

Learnfk - TensorFlow教程

Learnfk - 批处理教程

Learnfk - F#教程

Learnfk - JSoup教程

Learnfk - Node.js教程

Learnfk - Spring Boot教程

随机推荐

纽曼超大号办公游戏鼠标垫800*300*3mm使用情况,来看看图文评测!

利仁绞肉机家用电动多功能绞陷机来看看图文评测!网友点评

首匠牛油果油有机核桃油质量不好吗,使用感受

KOIOSK2721UD真的好吗!怎么样入手更具性价比!

绿联2.5英寸移动硬盘盒USB3.0这就是评测结果!评测下怎么样!

青蛙王子蚊香液质量怎么样值不值得买,评测结果好吗