当前位置: 首页 > news >正文

密码学(斯坦福)

密码学笔记 \huge{密码学笔记} 密码学笔记
斯坦福大学密码学的课程笔记
课程网址:https://www.bilibili.com/video/BV1Rf421o79E/?spm_id_from=333.337.search-card.all.click&vd_source=5cc05a038b81f6faca188e7cf00484f6

概述

密码学的使用背景

在这里插入图片描述
安全信息保护:网络流量、无线网络流量
保护加密软件或者光盘:EFS…
内容保护:CSS(DVD)AACS(蓝光)事实证明CSS是比较容易被破解的。
用户认证等…
在这里插入图片描述
主机段与服务器段之间的传输协议保证了信息传输过程中不会被攻击者窃听或者篡改。
在这里插入图片描述
TLS协议简述
①. 传输双端的握手协议:双端握手之后,双端会获得一个只有双端知道的密钥,其他用户无法知道密钥的内容。
②. 信息记录方面:双端使用共享密钥对于传递的信息进行加密传输。
在这里插入图片描述
磁盘中的信息保护机制保证磁盘中的信息不会被篡改。对于磁盘来讲从Alice到Alice,不同的是访问磁盘信息的时间,这是磁盘在存储方面的问题。但是从Alice到Bob则是磁盘在信息传递方面的问题,这是两个不同层面的问题。

对称加密简图:
在这里插入图片描述
Alice和Bob进行信息交互的时候,Alice使用E(加密算法)对于传递信息进行加密形成密文,Bob接收到密文使用D(解密算法)来得到传递的信息。
❗❗❗对于对称加密整个过程,E.D等其他环节都是完全公开的,只有双方要传递的信息k是不公开的。而且从安全性的角度来讲选择的各种加密算法一定是社会公认的,接受了大量测试认证的加密解密算法,防止使用小众的加密算法被人简单的逆向破解。
在这里插入图片描述
一次性密钥:一个密钥只能加密一条信息。
多次性密钥:一个密钥可以加密多条信息。
在这里插入图片描述

简介

在这里插入图片描述
密码学的核心是两个方面
①. 信息传送双方的密钥建立
②. 双方利用密钥进行安全的信息交流
攻击者不能从截获的密文中解密出有效的消息,但是通信的双方能够通过加解密算法破解出完整且有效的消息(完整性和加密性)。

数字签名 Digital signatures

数字签名的本质是一种对应于物理对应物的数字对应物(有点绕)。现实世界中的文件签署都需要使用相同的签名作为认证,但是信息世界中的数字化使得签名可以被很简单的复制,所以数字签名需要保持变化,来防止攻击者窃取数字签名。通过将数字签名与相应文件的内容做对应,保证了双方的一致性,即使数字签名被窃取,那么在新的文件中,数字签名也是无效的。

匿名交流 anonymous communicattion

在这里插入图片描述

mix net:混合网络,如果Alice想要匿名联系Bob,标准的解决方法是使用混合网络。Alice发送的信息通过中间多个代理服务器,最后传递到Bob,但是Bob无从得知是谁发送的消息。这个网络具有双向性,Bob匿名向Alice交流时同理。

匿名数字现金 Anonymous digital cash

在这里插入图片描述
现实世界中,用户购买物品时,商家会聚焦于交易,并非用户的身份,但是如何在网络中实现匿名的支付?还有就是数字货币本身的可复制性,如何防止恶意用户的双花攻击?
同时解决这两个问题的方法
用户使用数字货币进行交易第一次保持匿名,一旦用户自己违规复制货币第二次交易的时候就会立即暴露。

协议 Protocols

问题

在这里插入图片描述
选举问题:用户可以自由投票来选举支持的政党,但是希望统计票数的时候能够不记录个人的信息。
选举中心:用户将加密后的投票结果发送给选举中心,中心统计后发送出获胜者的信息,但是对于各个用户的个人信息,用户的投票结果一概不知。(六方选举系统)
拍卖问题:此处以victory auction标准拍卖流程举例(最高价者获得物品,但是实际支付的价格是第二高价)解决方法同选举问题,只不过拍卖中心需要放出胜者和第二高的价格。

Secure multi-play computation(多方安全计算):多方参与者各自持有秘密输入,使用函数进行计算:
G o a l : c o m p u t e f ( x 1 , x 2 , x 3 , . . ) Goal:compute \quad f(x_{1},x_{2},x_{3},..) Goalcomputef(x1,x2,x3,..)
但是公布函数的结果的时候,不能泄露个体的投票信息。

解决方式
引入可信第三方

引入一个可信的第三方来进行计票,但是必须确保绝对可信(非常不安全)。

定理

在这里插入图片描述
可以消除对于第三方计票的依赖,用户无需发送信息给第三方,只需要用户间使用特殊协议进行通信,通信完成后函数结构就会立刻返回给所有的用户,也不会泄露用户个人信息。
在这里插入图片描述

crypto magic

Privately outsourcing computation

在这里插入图片描述
❗对于复杂的计算还只停留在理论阶段,但是简单计算已经能够使用了!(可行性✔)
Alice向Google发送加密的信息,Google在密文基础上进行运算,将结果发送给Alice,然后Alice进行解密,获得计算后的results。
特点:Google进行了计算,但是不知道加密前的信息是什么。

Zero knowledge (proof of knowledge)

在这里插入图片描述
举例:N是由p与q两个质数相乘的结果,Alice手头有这个公式 N = p × q N=p×q N=p×q,Bob手上有N,**Bob本身连因数分解的概念都不知道。**但是Alice有方法可以在Bob什么都不知道的条件下向Bob证明N可以被因数分解,同时Bob也不知道N可以被分成p与q两个数的乘积。

在这里插入图片描述

http://www.lqws.cn/news/598519.html

相关文章:

  • 突破性进展:超短等离子体脉冲实现单电子量子干涉,为飞行量子比特奠定基础
  • 分布式爬虫数据存储开发实战
  • Hadoop、Spark、Flink 三大大数据处理框架的能力与应用场景
  • (LeetCode 面试经典 150 题) 42. 接雨水 (单调栈)
  • 数据分析与做菜的关系,makedown
  • 630,百度文心大模型4.5系列开源!真香
  • 牛客笔试AI智能监考:革新远程招聘,打造公平高效的笔试新时代
  • 力扣网C语言编程题:寻找两个正序数组的中位数
  • (LeetCode 每日一题) 3330. 找到初始输入字符串 I (字符串)
  • 8.4 Jmter实践不同线程组之间的全局变量的传递和使用
  • opencv入门(5)图像像素的读写操作和算术运算
  • VCenter SSL过期,登录提示HTTP 500错误解决办法
  • 应急响应靶机-linux1-知攻善防实验室
  • 动态库与符号表综合指南
  • Github CLI 快速 clone下载到本地教程
  • C# WPF + Helix Toolkit 实战:用两种方式打造“六面异色立方体”
  • OpenCV图像梯度处理详解:原理、API与实战代码解析
  • Java 中 List.stream() 的全面使用指南(含完整示例)
  • jQuery 安装使用教程
  • OpenCV CUDA模块设备层-----二值化阈值操作函数thresh_binary_func()
  • android车载开发之HVAC
  • Conda 虚拟环境克隆与 PyCharm 配置教程
  • C# 程序:查看 PageUp 热键消息映射表
  • 系统性能优化-9 HTTP1.1
  • 柱塞泵体结构化网格划分
  • 408第三季part1 - 操作系统 - 基本分页II
  • 【仿muduo库实现并发服务器】Channel模块
  • 安卓内核定制开发笔记(三)系统调用Hook
  • 打造可观测的 iOS CICD 流程:调试、追踪与质量保障全记录
  • 计算机网络(二)应用层HTTP协议