选择明文攻击和选择密文攻击
CPA,CCA
以对称加密体系为例说明(实际对于非对称加密体系也是同理)

实际在我们的网络安全模型中一般假设所有的加密算法都是公开的,密码体系的安全性依赖于秘钥的安全性,秘钥只有发送方和接收方知道,一旦第三方得知这个秘钥,那他们的通信就被攻破了。

单说选择明文攻击和选择密文攻击你可能体会不深,所以我把攻击强度不同的五种攻击方式都写出来对比一下你就可以明白这二者有何不同。

这里我们首先假设通信双方,Sharon和Christopher已经完成了秘钥交换,秘钥k是双方已知的,开始进行如下通信:

那么通信过程中一共产生的消息是三组明密文对(p1,c1),(p2,c2),(p3,c3)(p_1,c_1),(p_2,c_2),(p_3,c_3)(p1​,c1​),(p2​,c2​),(p3​,c3​)

  • 唯密文攻击:只知道密文,也就是,那只能通过统计特性分析其中有什么规律了
  • 已知明文攻击:得到了一些给定的明文和对应的密文,在这里可以是的任意非空子集。
  • 选择明文攻击:除了上面的基础,攻击者还可以任意创造一条明文比如“Excited”,并得到其加密后的密文。比如用一定的手段渗透Sharon的系统,但是不能直接攻破秘钥,于是只能以她的身份发“Excited”,然后用抓包或者别的方法得到她发送出来的加密的消息。
  • 选择密文攻击:除了已知明文攻击的基础,攻击者还可以任意制造或者选择一些密文,并得到其解密后的明文。比如用一定的手段在通信过程中伪造消息替换真实消息,然后窃取Sharon获得并解密的结果,有可能正好发现随手伪造的密文解密结果是有意义的,比如naive。
  • 选择文本攻击:可以制造任意明文/密文并得到对应的密文/明文,就是上面两者的结合。

以上攻击强度自上至下由弱到强。选择密文攻击和选择明文攻击的不同之处就是加解密方向不同。实际上这些攻击都是Cryptanalyze,使用哪一种取决于攻击者(cryptanalyst)掌握的资源和手段。

选择明文攻击和选择密文攻击相关推荐

  1. 唯密文攻击、已知明文攻击、选择密文攻击、选择明文攻击(密码分析学中,四大攻击方式)

    唯密文攻击.已知明文攻击.选择密文攻击.选择明文攻击(密码分析学中,四大攻击方式) 唯密文攻击:唯密文攻击是假定密码分析者拥有密码算法及明文统计特性,并截获一个或多个用同一密钥加密的密文,通过对这些密 ...

  2. 密码学小知识(5):唯密文攻击(COA)、已知明文攻击(KPA)、选择明文攻击(CPA),选择密文攻击(CCA)

    本篇将介绍密码分析中主要的四种攻击方式(也可以称为四种安全性) 目录: 本篇将介绍密码分析中主要的四种攻击方式(也可以称为四种安全性) 一.唯密文攻击(Ciphtext Only Attack,COA ...

  3. 唯密文攻击 已知明文攻击 选择明文攻击 选择密文攻击

    最近想学一下密码学,学习过程顺便记录一下.(下面的文字基本是百度等网站粘贴来的) 几种攻击方式 唯密文攻击 在密码学或密码分析中,唯密文攻击是一种攻击模式,指的是在仅知已加密文字(即密文)的情况下进行 ...

  4. 密码学归约证明——选择明文攻击下的不可区分性

    1. 选择明文攻击不可区分性实验 运行生成密钥 :输出给敌手,敌手可以访问预言机,并输出一对长度相等的消息:选择一个随机比特 ,计算出挑战密文交给 ;敌手继续访问预言机,输出一个比特:如果 ,则,成功 ...

  5. IND-CPA(选择明文攻击下的不可区分性)

    IND-CPA(选择明文攻击下的不可区分性)Indistinguishability under chosen-plaintext attack 该性质是通过一个仿真游戏验证的,游戏过程如下 具体过程 ...

  6. 烤仔TVのCCW丨密码学通识(三)选择明文攻击

    美军士兵:"将军,在截获的密报里发现一个地点,但并不能确认.属下猜测是--中途岛." 美军将军:"不能确认吗--这样,立刻发布一则假密报,就说'中途岛淡水设备损坏',明白 ...

  7. 【烦人的问题】有一天发现VSCode中自己的鼠标选择老是跨行选择多段代码,怎么都改不回来,而且用alt+shift+鼠标都无法切换,肿么办?

    选择-去掉"列选择模式"前面的✔

  8. 机器学习中的模型评价、模型选择及算法选择

    链客,专为开发者而生,有问必答! 此文章来自区块链技术社区,未经允许拒绝转载. 正确使用模型评估.模型选择和算法选择技术无论是对机器学习学术研究还是工业场景应用都至关重要.本文将对这三个任务的相关技术 ...

  9. 2018-3-19 损失函数与适应度函数,稳定选择与分裂选择

    1.适应度与损失函数 我觉的: (1)都是用来描述目标函数一个方面的效能的一个函数 (2)进行输入之后,结果都是一个可以进行比较的值 来源:机器学习之 损失函数和风险函数 - CSDN博客 http: ...

最新文章

  1. java 学习心得 (近期的)
  2. tomcat变量环境脚本setclasspath.sh分析
  3. Revit Family API 添加参数与尺寸标注
  4. 如何在Golang中返回错误?
  5. 大厂十年研发经历,总结了12条安卓开发条经验
  6. hive2 mysql_架构hive2mysql流程
  7. js中递归调用返回值为undefined问题
  8. Oracle物化视图的简单使用
  9. 【翻译】MongoDB指南/CRUD操作(二)
  10. 数据库系统工程师(软考)
  11. 关于物联卡的测试期、沉默期、计费期你都知道吗?
  12. java 正则判断二进制_如何在Java正则表达式匹配中使用IsAlphabetic二进制属性?
  13. i5 12490f和i5 12400f的区别
  14. 疯狂猜颜色小游戏C++个人项目
  15. Android 炫酷进度条
  16. 江南游——苏州行(2)
  17. hive静态与动态分区理解
  18. 阅读《精通Python爬虫框架Scrapy》
  19. 9种小程序赚钱方法!看懂的人已经在行动了
  20. 网络爬虫(python项目)

热门文章

  1. CESIUM学习—— viewer.trackedEntity小坑坑
  2. 加密衍生品赛道异军突起 CBOEX如何做到攻守兼备灵巧破局?
  3. 福禄克同轴适配器DTX-COAX配DTX-1800用
  4. 视频播放开发笔记-获取MPV的视频内存方式截图
  5. 神技—终端显示Linux系统信息
  6. text pad java_错误:无法在Textpad 8中找到或加载主类
  7. 微软中国裁员计划曝光:年底前裁完!补偿不变!
  8. sql查询最新时间的一条数据
  9. python 儿童 游戏_防止孩子玩游戏的Python小程序
  10. 网校搭建3:安装meEdu