(半课内)信安数基 RSA-OAEP 初探
在RSA攻击中,存在着“小明文攻击“的方式;
在明文够小时,密文也够小,直接开e次方即可;
在明文有点小时,如果e也较小,可用pow(m,e)=n*k+c穷举k尝试爆破
所以,比如说,在选择明文攻击中,单纯的RSA非常容易被破解。
于是,我们就像将密文进行一下填充,最好让密文都等长。
但是填充方式也是很讲究的;不好的填充规则往往仅仅有限的增加了攻击的难度,或者难以实现等长密文。
于是我们就查到了(bushi)OAEP——最优非对称加密填充。
最优非对称加密填充:
(1)准备工作:
将k比特内容转化为m比特内容的 公共单向函数G
将m比特内容转化为k比特内容的 公共单向函数H
(2)Alice的加密过程:
最初有一个小于m比特的信息。它填充这个信息来获得一个m比特的信息M
选择一个k比特的随机数r。
运用G和r生成一个m比特的整数G(m,r),并丢弃r。
运用G(m,r)生成明文的第一部分c1=M xor G(m,r),并生成明文的第二部分c2=H(P1) xor r
最后,运用c1,c2生成密文C
(3)Bob的解密过程(?):
大概是,运用H找到G(m,r)并,运用G(r)找到信息。
当OAEP与RSA结合:
关于“在加密中引入随机化的作用”:
大量对教科书式加密算法的攻击都是这样采样一种通用技术:篡改密文从而以一种可控的方式修改相应的明文。
然而,OAEP有良好的特性;因此,如果攻击者想篡改密文,就会导致明文的改变是不可控的,
因为使用了杂凑函数,在保证杂凑函数的安全性下(比若说单向性、抗碰撞性等),很难找到一个有效的hash值,其对应的明文是有效的。
即:如果攻击者试图以适应性的方式修改密文,那么数据完整性检验将以“压倒性”概率失败,并且解密结果为一条没有任何意义的明文。
注:因为在查阅相关资料和文献时,几乎没有背景知识,甚至是初次接触“填充”;
所以,我对“在加密中引入随机化的作用”可能有偏差;并留下疑问作为可能会填的坑:
(1)其实感觉一切都没完全懂。
(2)关于填充。(加密描述和“作用”中都直接跳过了这部分的叙述)
参考:
https://www.cnblogs.com/akira90/archive/2012/11/19/2778234.html
https://blog.csdn.net/qq_39743001/article/details/117249884?utm_source=app&app_version=4.16.0
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 没有源码,如何修改代码逻辑?
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· .NET Core 托管堆内存泄露/CPU异常的常见思路
· DeepSeek “源神”启动!「GitHub 热点速览」
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· C# 集成 DeepSeek 模型实现 AI 私有化(本地部署与 API 调用教程)
· DeepSeek R1 简明指南:架构、训练、本地部署及硬件要求
· NetPad:一个.NET开源、跨平台的C#编辑器