密码攻击
密码攻击#
根据攻击者对明文和密文的所拥有的情况,可分为:
- 已知明文攻击
- 选择明文攻击
- 选择密文攻击
- 唯密文攻击
下面转载一篇好文:https://blog.csdn.net/A33280000f/article/details/118304531
唯密文攻击#
Ciphtext Only Attack,COA
定义:唯密文攻击(COA)是指仅仅知道密文的情况下进行分析,求解明文或密钥的密码分析方法。
假定密码分析者拥有密码算法及明文统计特性,并截获了一个或者多个用同一密钥加密的密文,通过对这些密文进行分析求出明文或密钥。COA已知条件最少,经不起唯密文攻击的密码是被认为不安全的。
简单理解:只知道密文,想推出明文或密钥,一般用穷举攻击,多项式时间内无法完成。
已知明文攻击#
Known Plaintext Attack,KPA(也可称为KPA安全)
定义:已知明文攻击(KPA)是指攻击者掌握了部分的明文M和对应的密文C,从而求解或破解出对应的密钥和加密算法。
简单理解:知道部分的明文和密文对,想推出密钥和加密算法。
选择明文攻击#
Chosen Plaintext Attack,CPA(也可称为CPA安全)
定义:选择明文攻击(CPA)是指攻击者除了知道加密算法【相当于有一个加密黑盒】外,还可以选定明文消息,从而得到加密后的密文,即知道选择的明文和加密的密文,但是不能直接攻破密钥。
选择密文攻击#
Chosen Ciphertext Attack,CCA(也可称为CCA安全)
定义:选择密文攻击(CCA)是指攻击者可以选择密文进行解密【相当于有一个解密黑盒】,除了知道已知明文攻击的基础上,攻击者可以任意制造或选择一些密文,并得到解密的明文,是一种比已知明文攻击更强的攻击方式。
若一个密码系统能抵抗选择密文攻击,那必然能够抵抗COA和KPA攻击。密码分析者的目标是推出密钥,CCA主要应用于分析公钥密钥体制。
比较分析#
当密码系统只有承受住选择明文攻击(CPA)和选择密文攻击(CCA),才能算是安全的。
其中,四种攻击方式对应的攻击强度为:
攻击难度:选择密文攻击(CCA)>选择明文攻击(CPA)>已知明文攻击(KPA)>唯密文攻击(COA)
难易程度:选择密文攻击(CCA)<选择明文攻击(CPA)<已知明文攻击(KPA)<唯密文攻击(COA)
作者:Hang Shao
出处:https://www.cnblogs.com/pam-sh/p/16731666.html
版权:本作品采用「知识共享」许可协议进行许可。
声明:欢迎交流! 原文链接 ,如有问题,可邮件(mir_soh@163.com)咨询.
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· .NET10 - 预览版1新功能体验(一)