现代密码学1.4--现代密码的三大原则

  • 正式的定义
    • 安全条件
      • 错误的
      • 正确的
    • 攻击模型
  • 精确的假设
  • 严格的安全性证明

博主正在学习INTRODUCTION TO MODERN CRYPTOGRAPHY (Second Edition) --Jonathan Katz, Yehuda Lindell,做一些笔记供自己回忆,如有错误请指正。整理成一个系列现代密码学,方便检索。

古典密码就像是一门艺术,没有关于“安全”方案应该满足什么条件的共识,也没有证据证明某个密码方案是安全的。相比之下,现代密码更像是一门科学,它给出了关于密码方案是否安全的严格定义。

严格的安全性证明是基于正式的定义精确的假设下的。

正式的定义

并不是存在攻击算法的密码方案就是不安全的。比如Vigenere密码(多字母替代密码),如果密文很长则可能会被破解,但如果密文足够短,它就是安全的。因为很短的密文通常不符合字母的频率分布等特性,难以找到规律。

也就是说,如果没有一个正式的定义,即使存在攻击算法,我们也不能说这个密码方案就不安全。

而且,如果没有正式的定义,我们怎么知道要使一个密码方案安全究竟要满足些什么条件。

基于以上,正式的安全性定义是很必要的。

通常一个安全性定义分为两个部分:安全条件和攻击模型。

安全条件

一个安全密码方案应该满足哪些条件?

错误的

  • 对于攻击者而言,不能恢复密钥。
    即使不能恢复密钥,也有可能泄露明文。如Enck(m)=mEnc_k(m)=mEnck​(m)=m
  • 对于攻击者而言,不能从密文恢复完整的明文。
    不需要恢复完整明文,只要恢复部分明文就可能泄露重要的信息。
  • 对于攻击者而言,不能从密文恢复任何的明文字符。
    甚至不需要恢复任何具体的明文字符,有时只要知道明文字符A和明文字符B之间潜在的关系即可。比如员工A薪资和员工B薪资,不需要知道具体薪资,只需要知道比较关系,就会泄露很多信息。

正确的

无论攻击者已经拥有哪些信息,密文都不应该泄露关于潜在明文的任何额外信息。
这意味着一个安全的密码方案应该对于所有可能的隐私要求应用都是适合的。

攻击模型

攻击模型没有正确与否,也没有哪个比哪个更好,只是对攻击者不同算力的模型化。正确的做法是根据密码方案所应用的环境,来决定使用哪种攻击模型。

  • 唯密文攻击:攻击者只能观察到密文
  • 已知明文攻击:攻击者知道一对或多对明密文
  • 选择明文攻击:攻击者可以选择一些明文,要求得到相应的密文。
  • 选择密文攻击:攻击者可以选择一些密文,要求得到相应的明文。

精确的假设

密码方案通常是基于数学困难问题之上构造的。

  • 假设有效性
    假设是还没被证明,但被推测是真的。我们认为,一个假设被检查和测试越多,那么它的可信度就越高。
  • 方案的比较
    假设其他条件相同,如果有两个基于不同假设的方案都被证明满足某种定义,那我们该选哪种方案呢?我们通常选基于更弱假设的那个方案,因为往往“第一个假设是正确的”会推出“第二个假设是错误的”。
  • 理解假设的必要性
    密码方案是基于许多模块的,如果某个模块所基于的假设不对,我们只需要检查这个假设是否影响了方案的安全性。

严格的安全性证明

一个密码方案,

  • 在某些特定的假设下,
  • 满足给定的定义,

是可以严格证明该方案安全性的前提。

现代密码学1.4--现代密码的三大原则相关推荐

  1. 现代密码学1.3--古典密码/historical cipher

    现代密码学1.3--古典密码/historical cipher Caesar's cipher/凯撒密码 The shift cipher/移动密码 The mono-alphabetic subs ...

  2. 【密码学篇】商用密码产品的密钥体系结构小结

    [密码学篇]商用密码产品的密钥体系结构小结 商用密码产品的密钥体系结构笔记小结-[蘇小沐] 文章目录 [密码学篇]商用密码产品的密钥体系结构小结 1.商用密码产品密钥体系结构 (一)服务器密码机密钥体 ...

  3. CTF密码学·置换密码,栅栏密码,曲路密码

    CTF密码学·置换密码,栅栏密码,曲路密码 1.置换密码 列置换 周期置换 2.栅栏密码 3.曲路密码 1.置换密码 置换密码(Permutation Cipher)又叫换位密码(Transposi- ...

  4. 斯坦福Dan Boneh密码学——01 香农密码与完美安全

    斯坦福Dan Boneh密码学--01 香农密码与完美安全# 网安专硕,在导师推荐下,本周开始学习斯坦福大学Dan Boneh教授的密码学教材,全英文900页,密码学真的太难入门了..读教材的同时做了 ...

  5. 【密码学篇】GM密码行业标准下载方法

    [密码学篇]GM密码行业标准下载方法 截止到2023年07月08日,密码行业标准化技术委员会共发布了144个密码行业标准,可点击链接预览或使用IDM下载器下载标准,此外该方法很多场景都适用,自行尝试- ...

  6. 一个中心+三大原则 -- 阿里巴巴小蜜这样做智能对话开发平台

    在阿里巴巴智能服务事业部的X蜂会上,小蜜北京团队的高级算法专家李永彬(水德)分享了小蜜智能对话开发平台的构建,围绕平台来源.设计理念.核心技术.业务落地情况四大维度讲述了一个较为完整的智能任务型对话开 ...

  7. 举例说明层次分析的三大原则_《搞定》一个境界、两个维度、三大原则让你轻松搞定繁重的事务...

    文/定石 不知道,你现在是不是还是这种情况,要做的事情一大堆,单位的事情要忙,家里的事情要忙,孩子的事情要忙,父母的事情要忙.各种各样的事情,好像都急,干着这个,想着那个,另一个还放在心上不踏实,整体 ...

  8. 界面设计的三大原则及细节分析

    人和机器的互动过程(Human Machine Interaction)中,有一个层面,即我们所说的界面(interface).用户界面设计是屏幕产品的重要组成部分.界面设计是一个复杂的有不同学科参与 ...

  9. emui11是鸿蒙过渡,透过EMUI11看鸿蒙OS 将延续三大原则

    原标题:透过EMUI11看鸿蒙OS 将延续三大原则 对于鸿蒙OS和EMUI11两者的关系,前者是华为面向全场景智能设备开发的操作系统,EMUI11则是现阶段普通用户可以直接体验的智能手机操作系统,通过 ...

最新文章

  1. java 压缩多个文件_java实现一次性压缩多个文件到zip中的方法示例
  2. Build path contains duplicate entry
  3. 阿里云kafka使用记录(python版本)
  4. shiro的集群动态权限更新
  5. js滚动,滑动,幻灯片,轮播,swipe js滚动,滑动,幻灯片,轮播
  6. python ctypes 回调函数_如何用Python中的ctypes创建回调函数?
  7. 用“小红的下任男友是谁”通俗解释强化学习中的 基于模型方法 与 免模型方法
  8. 别忽视分布式系统这六大“暗流”
  9. PAT-A1025 PAT Ranking
  10. 超级计算机比赛规则,介绍围棋的规则与玩法
  11. Linux运维面试题
  12. DVWA——SQL盲注(全等级)
  13. mysql的启动脚本编写_老鸟带你开发专业规范的MySQL启动脚本
  14. (云安全)拖库-洗库-撞库
  15. amd速龙黑苹果内核补丁_替换AMD内核安装10.9.2超级懒人版成功
  16. Windows XP修改CHM字体大小
  17. BASE16、BASE32、BASE64编码特征及正则匹配
  18. 计算机开机慢的原因及解决方法,电脑开机速度慢怎么解决?Win10电脑开机速度变慢的原因及解决方法(2)...
  19. GL、GLU、GLUT
  20. 云计算是继互联网计算机后在信息时代,你知道啥是“云计算”吗?

热门文章

  1. android 截长图 方法,Android实现截屏与截长图功能
  2. centos7如何安装samba-client_如何在基本图形模式下最小化全新安装CentOS 7?
  3. 利用计算机进入,1、在第四代计算机期间内,计算机的应用逐步进入到()
  4. 数据中心绿色新技术的探讨
  5. 给数据中心来个例行“体检”——动力系统
  6. 成功解决ValueError: With n_samples=0, test_size=0.3 and train_size=None, the resulting train set will be
  7. Autolisp:利用AuoCAD之Lisp编程案例之自动智能获取所选对象的面积并标注在指定位置
  8. TF之LSTM:利用基于顺序的LSTM回归算法对DIY数据集sin曲线(蓝虚)预测cos(红实)(TensorBoard可视化)
  9. 蓝桥杯_算法训练_大小写转换
  10. [Python]小甲鱼Python视频第002课(第一个游戏)课后题及参考解答