斯坦福大学的在线密码学课程

密码学是保护计算机系统信息不可或缺的工具。在本课程中,您将了解密码系统的内部工作原理,以及如何在实际应用中正确使用它们。课程首先将详细讨论当强大的对手窃听和篡改流量时,拥有共享密钥的双方如何进行安全通信。我们将研究许多已部署的协议,并分析现有系统中的错误。课程的后半部分将讨论让双方生成共享秘钥的公钥技术。在整个课程中,学员将接触到该领域许多令人兴奋的公开问题,并参与有趣的(可选的)编程项目。在第二门课程(密码 II)中,我们将介绍更高级的密码任务,如零知识、隐私机制和其他形式的加密。

学习密码学课程之前,先学初等数论,线性代数,一点点抽象代数。

课程链接:https://www.coursera.org/learn/crypto

图片

蔡少伟老师【中国科学院软件研究所 研究员 博导】推荐:

斯坦福的密码学课程[good]  btw,最近山东大学的王美琴老师主编的《密码分析学》出版了,很赞,方法梳理得很系统。推荐一下!

密码分析学:密码分析学/新一代信息技术网络空间安全高等教育系列教材

此课程中共有 7 个单元

第一单元 课程概述和流密码:

本周的主题是概述密码学以及第一个密码示例。你将了解伪随机性以及如何将其用于加密。我们还将了解安全加密的一些基本定义。

课程概览•10 分钟

什么是密码学?•15 分钟

密码学的历史•18 分钟

离散概率(速成班)•18 分钟

离散概率(速成班,续)•13 分钟

信息理论安全和一次性密码键盘•18 分钟

流密码和伪随机发生器•19 分钟

对流密码和一次性密码匙的攻击•23 分钟

真实世界的流密码•19 分钟

PRG 安全定义•24 分钟

语义安全•15 分钟

流密码在语义上是安全的 [可选]•10 分钟

第二单元 分块密码:

第二周我们将介绍一种名为 "块密码 "的新基元,它能让我们构建更强大的加密形式。我们将学习几种经典的块密码构造(AES 和 3DES ),并了解如何使用它们进行加密。块密码是密码学中的 "工作马",应用广泛。下周,我们将了解如何使用块密码提供数据的完整性。本周的可选编程作业要求学生使用 AES 构建一个加密/解密系统。

什么是块密码?•16 分钟

数据加密标准•21 分钟

穷举搜索攻击•19 分钟

对块密码的更多攻击•16 分钟

AES Block Cipher•13 分钟

来自 PRG 的分组密码•11 分钟

审查:PRP 和 PRF•11 分钟

操作模式:单次按键•7 分钟

多次密钥的安全性(CPA 安全性)•22 分钟

运行模式:多时间键(CBC)•16 分钟

操作模式:多时间键 (CTR)•9 分钟

第三单元 信息完整性:

第三周本周的主题是数据完整性。我们将讨论一些用于确保数据完整性的 MAC 系统经典结构。现在我们只讨论如何防止非机密数据被修改。下周我们将再次讨论加密,并展示如何同时提供保密性和完整性。本周的编程项目展示了如何验证大型视频文件。即使你不做这个项目,也请阅读项目说明--它教授了一个重要的概念,叫做哈希链。

信息验证码•15 分钟

基于 PRF 的 MAC•9 分钟

巴塞尔公约咨询委员会(CBC-MAC)和北地中海咨询委员会(NMAC•19 分钟

MAC 填充•8 分钟

PMAC 和卡特-韦格曼 MAC•15 分钟

导言•10 分钟

通用生日攻势•14 分钟

梅克尔-达姆加德范式•11 分钟

构建压缩函数•8 分钟

HMAC•7 分钟

对 MAC 验证的定时攻击•8 分钟

第四单元 认证加密:

第 4 周本周的主题是验证加密:同时确保机密性和完整性的加密方法。我们还将讨论一些小问题,如如何搜索加密数据。这是我们学习对称加密的最后一周。下周我们将开始学习密钥管理和公钥密码学。像往常一样,我们还有一个额外学分编程项目。本周的项目涉及对玩具网站进行选择密文攻击的网络实验。

对 CPA Secure 加密的主动攻击•12 分钟

定义•5 分钟

自选密文攻击•12 分钟

来自密码和 MAC 的构造•20 分钟

案例研究 TLS 1.2•17 分钟

CBC 填充攻击•14 分钟

攻击非原子解密•9 分钟

关键推导•13 分钟

确定性加密•14 分钟

确定性加密:SIV 和宽 PRP•20 分钟

可调整加密•14 分钟

格式保存加密•12 分钟

第五单元 基本密钥交换:

第五周 本周的主题是基本密钥交换:如何在双方之间设置密钥。目前,我们只考虑防止窃听的协议。这个问题激发了公钥密码学的主要概念,但在我们建立公钥系统之前,我们需要绕个弯,先了解一下计算数论的一些基本概念。我们将从追溯到古代(欧几里得)的算法开始,一直讲到费马、欧拉和勒让德。我们还将顺便提及 20 世纪数学中一些有用的概念。下周,我们将充分利用本周所学,构建几个公钥加密系统。

可信赖的第三方•11 分钟

梅克尔谜题•11 分钟

迪菲-赫尔曼协议•19 分钟

公钥加密•10 分钟

符号•14 分钟

费马和欧拉•18 分钟

模块化 e'th Roots•17 分钟

算术算法•12 分钟

棘手的问题•18 分钟

第六单元 公钥加密:

第六周本周的主题是公开密钥加密:如何使用公开密钥加密和使用秘密密钥解密。公钥加密用于加密文件系统、加密信息系统和许多其他任务的密钥管理。视频涵盖两个系列的公钥加密系统:一个基于陷阱门函数(特别是 RSA),另一个基于 Diffie-Hellman 协议。我们构建的系统具有防篡改的安全性,也称为所选密文安全性(CCA 安全性)。在过去十年中,关于 CCA 安全性的研究层出不穷,由于时间有限,我们只能总结过去几年的主要成果。讲座还为有兴趣进一步了解 CCA 安全公钥系统的人提供了进一步阅读的建议。本周的问题集涉及的数学知识比往常多一些,但应该能加深你对公钥加密的理解。请不要羞于在论坛上发表问题。这是密码 I 课程的最后一周。我希望大家都能学到很多东西,并喜欢这门课程。密码是一个美丽的话题,有很多未决问题和进一步研究的空间。我期待着在 Crypto II 中与大家见面,我们将在那里讨论更多的核心主题和一些更高级的主题。

定义和安全•15 分钟

建筑•10 分钟

RSA 陷阱门排列组合•17 分钟

PKCS 1•21 分钟

RSA 是单向功能吗?•16 分钟

RSA 实践•13 分钟

ElGamal 公钥系统•19 分钟

ElGamal Security•13 分钟

安全性更高的 ElGamal 变体•10 分钟

一个统一的主题•11 分钟

暂别•5 分钟

第七单元 期末考试

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/607483.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

部署Gerapy

1.Gerapy 是什么? Gerapy 是一款基于 Python 3 的分布式爬虫管理框架,它旨在简化和优化分布式爬虫的部署、管理和监控过程。 2.作用与功能? 2.1分布式管理: Gerapy 允许用户在多台机器上部署和管理Scrapy爬虫,实现爬虫…

【计算机毕设】小型企业办公自动化系统+vue - 免费源码(私信领取)

免费领取源码 | 项目完整可运行 | v:chengn7890 诚招源码校园代理! 1. 研究目的 本项目旨在设计并实现一个小型企业办公自动化系统,利用Vue作为前端框架,为企业员工提供便捷的办公管理工具,提升…

基于51单片机的八路抢答器—加随机抽选功能

基于51单片机的八路抢答器 (仿真+程序原理图+设计报告) 功能介绍 具体功能: 1.主持人按键控制开始抢答; 2.开始抢答按下,数码管20秒倒计时; 3.8个按键代表八位选手,谁…

python面向函数

组织好的,可重复利用的,用来实现单一,或相关联功能的代码段,避免重复造轮子,增加程序复用性。 定义方法为def 函数名 (参数) 参数可动态传参,即使用*args代表元组形式**kwargs代表字典形式,代替…

tsconfig 备忘清单

前言 ❝ Nealyang/blog0 使用 ts 已多年,但是貌似对于 tsconfig 总是记忆不清,每次都是 cv 历史项目,所以写了这篇备忘录,希望能帮助到大家。 本文总结整理自 Matt Pocock 的一篇文章3,加以个人理解,并做了…

【爬虫基础1.1课】——requests模块

目录索引 requests模块的作用:实例引入: 特殊情况:锦囊1:锦囊2: 这一个栏目,我会给出我从零开始学习爬虫的全过程。感兴趣的小伙伴可以关注一波,用于复习和新学都是不错的选择。 那么废话不多说&#xff0c…

【Matlab-动画-附源码】3分钟教你用Matlab做一个Lorenz动画

lorenz-x-y-z Lorenz三个维度数据 在科研工作中,经常需要将数据可视化以便更好地理解和传达研究成果。 但大家主要放静态图片,而视频或动画通常比静态图片更具吸引力和表现力。AE, Manim太难学,Matlab就可以用来制作动画。 在这篇博客中&…

Linux-信号执行

1. 信号什么时候被处理 当进程从内核态返回到用户态的时候,进行信号的检测和处理 什么内核态,什么又是用户态呢? 当进程在CPU上运行时,内核态:允许进程访问操作系统的代码和数据,用户态:进程只…

视频降噪算法 hqdn3d 原理分析

视频降噪 视频降噪是一种处理技术,旨在减少视频中的噪声,提高画面质量。噪声可能来自多种源头,包括摄像机的传感器、压缩算法、传输过程中的干扰等。降噪处理对于视频监控、视频会议、电影后期制作以及任何需要高画质输出的应用场景都非常重…

【面经】网络

了解TCP/IP协议,了解常用的网络协议:study-area 一、TCP/IP协议 TCP/IP协议是一组网络通信协议,旨在实现不同计算机之间的信息传输。 1、TCP/IP四层模型: 网络接口层、网络层、传输层和应用层。 网络接口层:定义了数据的格式和…

揭秘抖音快速涨10000粉的方法:巨量千川投流让你轻松快速增粉

抖音已经成为了当今社交平台的热门之一,而如何快速涨粉已经成为了很多人关注的焦点。本文将揭秘一种高效的方式——巨量千川投流,通过官方真实流量和真实粉丝,每天快速涨关注,实现快速增粉1000~10万。 巨量千川投流是一种专业的抖…

Python-VBA函数之旅-pow函数

目录 一、pow函数的常见应用场景 二、pow函数使用注意事项 三、如何用好pow函数? 1、pow函数: 1-1、Python: 1-2、VBA: 2、推荐阅读: 个人主页:神奇夜光杯-CSDN博客 一、pow函数的常见应用场景 Py…

中小学校活动向媒体投稿报道宣传有哪些好方法

作为一所中小学校的教师,我肩负着向外界展示学校风采、宣传校园文化活动的重要使命。起初,每当学校举办特色活动或取得教学成果时,我都会满怀热情地撰写新闻稿,希望通过媒体的平台让更多人了解我们的故事。然而,理想丰满,现实骨感,我很快发现,通过电子邮件向媒体投稿的过程充满…

如何进行资产梳理

前言 为什么要进行资产梳理? 资产梳理方式一: 一、安全防护设备资产 二、对外开放服务项目资产 三、项目外包业务流程资产 资产梳理方式二: 一、业务资源梳理 二、设备资产梳理 三、第三方的服务信息梳理 风险梳理 风险有哪些? 一,账号权限风…

在此计算机上找不到autocad20*你需要安装autocad20*才可以安装此语言包,安装不成功的解决办法

因为AutoCAD2020未卸载干净导致,需要把AutoCAD2020的注册表清理干净,才可以安装 注册表打开,HKEY LOCAL MACHINE SOFTWARE Classesinstaller Products\7D2F3875100F0000102000060BECB6AB AHKEY LOCAL MACHINE SOFTWARE Classesinstaller Pro…

2024.5.9

#include "widget.h" #include "ui_widget.h"Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget) {ui->setupUi(this);this->resize(1000,600);this->setFixedSize(1000,600);//设置按钮大小位置完成btn1 new QPushButton(&…

安卓开发--按键跳转页面,按键按下变色

前面已经介绍了一个空白按键工程的建立以及响应方式,可以参考这里:安卓开发–新建工程,新建虚拟手机,按键事件响应。 安卓开发是页面跳转是基础!!!所以本篇博客介绍利用按键实现页面跳转&#…

随手笔记-GNN(朴素图神经网络)

自己看代码随手写的一点备忘录,自己看的,不喜勿喷 GNN (《------ 代码) 刚开始我还在怀疑为什么没有加weigth bias,已经为什么权重才两个,原来是对node_feats进行的network的传播,而且自己内部直接进行了。 下面是一…

Linux|进程地址空间

Linux|内存地址空间 现象基本概念理解如何理解地址空间什么是划分区域&#xff1f;地址空间的理解为什么要有地址空间&#xff1f;如何进一步理解页表和写时拷贝如何理解虚拟地址 Linux真正的进程调度方案 现象 #include <stdio.h> #include <string.h> #include …

兔子繁衍问题<C语言>

问题&#xff1a;一对兔子&#xff0c;从出生后第3个月起每个月都生一对兔子。小兔子长到第3个月后每个月又生一对兔子。假如兔子都不死&#xff0c;请问第1个月出生的一对兔子&#xff0c;至少需要繁衍到第几个月时兔子总数才可以达到N对&#xff1f; 分析&#xff1a; 可以观…