目录

  • 写在前面的话
  • 参考资料
  • 笔记

写在前面的话

个人笔记,仅供参考,不喜勿喷,谢谢大家。

参考资料

视频:【完整版-斯坦福-密码学】全13讲
理解密码学:如何理解"语义安全(semantic security)"?

笔记

密码学的核心:安全通信

1、安全密钥的建立

2、共享密钥,安全的通信

数字签名不可复制。

匿名通信经过一系列代理加密解密,达到匿名效果。

零信任是趋势。

安全多方计算:大家互相交换加密信息,都可以得到最终结果。

同态加密:加密数据上计算

零知识:N是两个1000位的质数乘积,如果要对N进行质数分解来找这两个质数将会很困难。A知道这其中的质数分解,B只知道N,但是A能够向B证明它知道怎么分解。就是让B相信A知道这道题的解。

1、精确描述威胁模型是什么?(比如数字签名,攻击者伪造数字签名的目的何在?)

2、提出架构。

3、证明在当前的威胁模型下破坏这个架构是一个很困难的事情。

对称加密

通信双方的密钥k相同,把加密算法和解密算法看成两个函数,这两个函数是公开的。里面的变量是明文消息,密钥以及密文消息。对于加密算法,变量是明文消息以及密钥,密钥是攻击者不知道的,明文攻击者可能知道。(对于知道明文的攻击者来说目的就是破译密钥)这样输出的就是密文消息。对于解密算法,变量就是密文消息以及密钥,输出就是明文消息。

例如替换式密码应用,这里的密钥就是字母替换规则,攻击者自然是不知道的。

但是也有不需要密钥的加密,比如凯撒加密。就是每个字母往后移动三位,与其说不需要密钥,不如说密钥是固定的,一旦攻击者知道流程就能够轻松破译。但是前面的替换式中的密钥就是随机的。

但是破解替换式也简单。利用先验知识,比如字母出现的频率来判断密钥,在英文中e出现的频率最高,那么密文中出现最高频率的字母很有可能与e相匹配,单个的频率看完看组合,he出现的频率也高,然后不断往下,这叫唯密文攻击。

到了文艺复习时期有一种密码叫Vigener密码,密钥是一组词,与明文相加取模得到密文。


假设我们知道密钥长度,看每组第一个字母,它们都被同一个字母加密了,从这里面能够推测出密钥的字母。然后看每组第二位,重复这样的操作就能解密。但是前提是知道密钥长度,就算不知道,就假设密钥长度,从1开始,一旦解出来的消息说得通就成功了,这还是唯密文攻击。

到了电气化时代出现的轴轮机,和替换式密码差不多,也可以用频率和统计的方法做唯密文攻击。

Enigma密码就是多轴轮。

机械时代结束,进入计算机时代。加密嘛,自然需要一个标准去衡量保护水平。DES作为最初的标准,虽然密钥空间减小到2的56次方,但是不像轴轮机,它一次能够加密64位,一次8个字母。但是现在由于暴力穷举的方法,DES由于密钥空间小就不再适用了。如今有了新的密码,高级加密标准,使用128位密钥。

离散概率问题

有限域就是密钥空间大小,每个密钥都有自己的权重占比,概率和为1。均匀分布就是权重都一样,分母是总数。还有就是点分布,只有一个为1,其他为0。

事件,就是有限域的子集。

并集上界,算概率上界

随机变量,就是一个映射函数,从一个域U映射到另外一个域V。注意随机变量的取值是从V中取值,事实上随机变量定义了集合V上的概率分布。

随机算法定义了一个分布以及全体可能输出的集合。举例说明就是,随机算法加密,即使我每次加密的明文都是一样的,但是每次输出的密文可能不同,这些输出的密文是遵循一个分布的并且在一个有限的空间内。

离散概率的应用

离散概率总是定义在有限集合上的。

独立性

对于事件A和事件B来说,知道A的发生不知道B有没有发生就能说明两者相互独立。对于随机变量也是一样。

异或就是模2得到的值

异或在密码学中有着重要的地位,比如Y是一个服从一个随机分布的随机变量,X是服从均匀分布的随机变量,定义一个随机变量Z为X与Y的异或,那么可以说Z是服从均匀分布的随机变量,也就是说不论Y的分布多么奇怪都会影响异或的结果。

生日悖论

如果n取了有限域大小的根号大小,很可能两次取样的结果是相等的。

所谓的生日悖论也就是当我们有多少人在一个房间里时,会存在两个人生日是同一天。

【完整版-斯坦福-密码学】全13讲(绪论)【笔记】相关推荐

  1. 【完整版-斯坦福-密码学】全13讲(流密码)【笔记】

    目录 写在前面的话 参考资料 笔记 写在前面的话 个人笔记,仅供参考,不喜勿喷,谢谢大家. 参考资料 视频:[完整版-斯坦福-密码学]全13讲 理解密码学:如何理解"语义安全(semanti ...

  2. 完结!《沉浸式线性代数》完整版正式发布,全交互式体验

    点击上方"AI有道",选择"星标"公众号 重磅干货,第一时间送达 两个月前,红色石头发文介绍过一本非常棒的在线线性代数教程,名为<Immersive Li ...

  3. 百度SEO站群最新易支付源码完整版 已pj全解密

    简单的介绍一下测试结果吧 源码介绍: (1)20套首页模板 (2)用户排名榜板块 (3)广推引流一个模块 (4)邮箱配置 (5)短信配置 (6)结算配置 (7)商品拦截 (8)用户登录问候语音 (9) ...

  4. 【完整版】蓝桥杯竞赛python算法笔记 代码模板|吐血总结|蓝桥杯省赛国赛

    蓝桥杯竞赛python算法笔记 代码模板|吐血总结 文章目录 蓝桥杯竞赛python算法笔记 代码模板|吐血总结 1 二分 1.1 二分求最大满足(check红色条件) 1.2 二分求最小满足(che ...

  5. 95页字节跳动内部前端学习笔记在互联网上火了,完整版开放下载

    前端工程师学习路线 一.入门前端三剑客 1.HTML html 学起来还是挺简单的,无论你是否有编程基础,我觉得都可以快速入门,对于新手,我推荐找个入门的视频看一下,然后跟着视频打代码就可以了,入门教 ...

  6. python自动化办公百度云_用Python自动办公 做职场高手全16讲 完整版 视频教程

    python这门编程最近可是非常火,不是俗谚有说"人生苦短,我用python".这是有道理的,一是它相对于其他语言,更简单易上手,二是功能可大,可以爬虫,可以写工具. 这里分享给大 ...

  7. 斯坦福NLP名课带学详解 | CS224n 第13讲 - 基于上下文的表征与NLP预训练模型(ELMo, transformer)(NLP通关指南·完结)

    作者:韩信子@ShowMeAI,路遥@ShowMeAI,奇异果@ShowMeAI 教程地址:https://www.showmeai.tech/tutorials/36 本文地址:https://ww ...

  8. java 李炎恢_李炎恢 jquery 66讲视频教程PDF文件完整版全集

    [实例简介] 李炎恢老师在线教程66讲所用的PDF笔记课件,共16章.使用本文档可以省去记笔记的过程. 分享给大家,希望对大家有用. [实例截图] [核心代码] faae1ed4-23fe-4919- ...

  9. 2023史上最全Java面试题【完整版】跳槽必备,看完轻松收撕面试官

    ✨作者简介:杨 戬,博客专家.github开源作者 ✨多年工作总结:Java学习路线总结,小白逆袭Java技术总监 ✨技术交流:定期更新Java硬核干货,不定期送书活动.助你实现技术飞跃 ✨关注公众号 ...

最新文章

  1. python是动态编程语言吗-python是一种跨平台、开源、免费的高级动态编程语言,对么...
  2. 暑假集训做题,比赛的网站
  3. AtCoder 2000 [AGC002F] Leftmost Ball(dp+组合数)
  4. Spring 3.1缓存和配置
  5. 图数据库_ONgDB图数据库与Spark的集成
  6. 数据库连接 未将对象引用到实例
  7. c#hello world_C#| 打印消息/文本(用于打印Hello world的程序)
  8. sap生产工单报工_SAP系统PP (ProductionPlanning) 模块知识培训
  9. 深入理解JavaScript系列(1):编写高质量JavaScript代码的基本要点(转)
  10. 漫谈广告竞价模式(四)
  11. CSDN 总部落户长沙,共建中国开发者产业中心城市!
  12. dva开发一个cnode网站(2)
  13. CF1062D Fun with Integers
  14. 投稿经验分享之二:国际EI会议(可检索)
  15. 服务器文件安全扫描,服务器安全扫描工具
  16. 弗吉尼亚大学计算机就业如何,假设你是新华中学的学生李华,高中毕业后想到美国弗吉尼亚大学(University of Virginia)计算机专业深造...
  17. 安装图形化界面consol/centos-xfce-vnc
  18. 如何恢复类视图中突然消失的类已经编程辅助工具VISUAL ASIST
  19. 爬虫实战——求是网周刊文章爬取
  20. 【JAVA】逢三退一的第二种思路(面向对象)

热门文章

  1. Serverless 实战 —— 轻松搭建基于 SpringBoot + Vue 的 Web 商城应用
  2. 利用DB Link两步搞定Oracle两个数据库间的表同步
  3. ZooKeeper管理员指南
  4. 解决Some index files failed to download.They have been ignored, or old ones used instead报错
  5. 给网站文字添加图标-Font Awesome
  6. C#LeetCode刷题之#15-三数之和(3Sum)
  7. C#LeetCode刷题之#434-字符串中的单词数​​​​​​​(Number of Segments in a String)
  8. 静态页面实现include
  9. Java 环形缓冲器(Ring Buffer)
  10. hdf5 matlab,通过MATLAB将矩阵数据写入HDF5文件中的每个数据类型成员