RSA算法以及其破解方法
对称秘钥加密存在的问题以及公开秘钥加密的诞生
上两篇提到的铁栅栏和希尔算法都属于对称加密算法,即同一个秘钥既用于加密数据,又用来解密数据,其就造成了一个结果:加密秘钥可以被公开,这就造成了一个最为严重的问题——如何安全地分发秘钥,要是秘钥被分发或者截获至非法用户手中,这组加密秘钥的安全性便不再被保证,既有可能被随意破解,又有可能被伪造发送。为了解决这个问题,公开密钥加密方法被开发出来。
公开密钥加密系统的原理
公开密钥加密系统基于单向陷门函数。“单向”的意思是指该函数从一个方向计算十分容易,但要从另一个方向反推便十分困难(困难到计算机都难以计算)。此特性确保了攻击者不能使用公开的信息恢复出秘钥的信息。举个例子,因式分解便是一个单向函数——生成两个素数p、q并计算他们的乘积N很容易,但是要是给定足够大的数值N,要找到他的因子p和q就十分困难,因此我们就可以根据因式分解构建陷门,也就是我们下面要介绍的RSA算法。
RSA算法
名字由来
RSA加密系统的名字来源于三个公认的发明者:Rivest、Shamir、Adleman。
加密解密过程(运作方式)
选择两大素数p、q,并计算出他们的乘积N=pq
选择与乘积(p-1)(q-1)互素的数e
计算出数e的模(p-1)(q-1)的乘法逆元素d
上述得到的数值满足公式——ed = 1 mod (p-1)(q-1)
最后得到的密钥对:
公钥:(N,e)
秘钥:d
通过求幂模运算进行加密解密,设明文文本为M,密文文本为C
加密:C=MemodNC=M^e mod NC=MemodN
解密:M=CdmodNM=C^d mod NM=CdmodN
在这里先给自己挖个坑,后续再来详细介绍RSA加密体质的有效性,今天实在是没有时间了
共模攻击
我们可以获取到同一个明文m的经过两个公钥e1,e2加密的密文c1,c2,并且有
c1=pow(m,e1,n);c2=pow(m,e2,n)
那么,若e1,e2互素,由扩展欧几里得算法,存在e1s1+e2s2==1。
我们就可以求m≡m(e1*s1+e2*s2)≡(me1)s1*(me2)s2≡c1s1*c2^s2 mod n。
其中c1,c2已知,s1,s2可由欧几里得算法求出。
此理解转载自https://blog.csdn.net/baidu_36110484/article/details/106958538,后续自己的理解尽量这几天安排o(╥﹏╥)o
维纳攻击
会补的会补的
相关信息攻击(Related Message Attack)
会补的会补的
RSA算法以及其破解方法相关推荐
- 这个发现是否会是RSA算法的BUG、或者可能存在的破解方式?
多谢各位关注,问题原因已经确定,现决定结贴! 总结一下: 每对RSA密钥均存在至少一组非法私钥,且非法私钥可以正常进行密钥补全和解密: 对用户来说,并没有影响: 安全性上,暴力破解时间复杂度会有一些减 ...
- 768位RSA算法遭破解,1024位目前安全
RSA加密算法是Ron Rivest.Adi Shamir和Leonard Adleman提出的一种公开密钥加密算法,使用一对公钥和私钥(依靠大质数生成)对信息加密,常被用于数字签名. RSA算法的破 ...
- 快乐地谈谈:关于RSA算法中求私钥d的欧几里得方法(辗转相除法)考试向的欸
关于RSA算法本身,就提及一下,它是属于非对称密码体制. 基本的加密方式就如下图所示: c为加密后的密文,m为加密前的明文 其中一般会给出公开密钥n.e的值,这样根据规则,便可以实现加密过程.而题目往 ...
- 20年无人能破的RSA算法发明人出的密码学难题, 竟被这个无名程序员3年破解!...
来源 | WIRED 编译 | Guoxi 责编 | Aholiab 出品 | 区块链大本营(blockchain_camp) 1994 年 4 月,作为麻省理工学院计算机科学实验室成立 35 周年的 ...
- 逆向工程实验——pre6(汇编、Android逆向、RSA算法破解)
文章目录 一. 阅读然后回答2个问题 二.阅读 三.阅读 复现android逆向过程 1.先在android模拟器上安装好CrackMe1.apk文件, 2.用apktool将CrackMe1.apk ...
- DES和RSA算法的java实现
2019独角兽企业重金招聘Python工程师标准>>> 一.对称加密算法 对称加密算法是应用较早的加密算法,技术成熟.在对称加密算法中,数据发信方将明文(原始数据)和加密密钥一起经过 ...
- RSA算法原理——(3)RSA加解密过程及公式论证
上期(RSA简介及基础数论知识)为大家介绍了:互质.欧拉函数.欧拉定理.模反元素 这四个数论的知识点,而这四个知识点是理解RSA加密算法的基石,忘了的同学可以快速的回顾一遍. 一.目前常见加密算法简介 ...
- RSA算法原理——(1)目前常见加密算法简介
艾伦·麦席森·图灵在二战期间主要负责破译德国人的密码系统Enigma,破解密码需要大量的计算,图灵深知工欲善其事必先利其器的道理,于是一台叫作CO-LOSSUS的计算机在1943年被研制出来,后来 ...
- 信息安全-5:RSA算法详解(已编程实现)[原创]
转发注明出处:http://www.cnblogs.com/0zcl/p/6120389.html 背景介绍 1976年以前,所有的加密方法都是同一种模式: (1)甲方选择某一种加密规则,对信息进行加 ...
最新文章
- java产生全局唯一的int类型_全局唯一ID设计
- java事件驱动模型_Spring事件驱动模型详解
- 事件——事件绑定||事件函数传参||事件修饰符||按键修饰符||自定义按键修饰符
- 计算机不会输入函数怎么办,函数不正确_电脑上文件打不开,显示函数不正确怎么解决?...
- linux lib64被改名,问题解决:Centos误将/lib64更改为lib64.bak
- android原生webview,Android 原生与WebView JS的交互
- Makefile中的变量
- Asp.net Core基于MVC框架实现PostgreSQL操作
- MOXy的@XmlVariableNode – JSON模式示例
- 【Python数据分析】数据预处理1——数据清洗
- mysql 时间戳截断_列的Mysql时间戳数据被截断
- 2016年第七届java A组蓝桥杯省赛真题
- 键盘没有Home键和End键的完美解决办法
- 计算机引起usb设备无法识别的原因有哪些,计算机无法识别USB设备是什么原因
- 如何把普通的五比四的照片做成5寸照片
- 相对路径./与../区别
- 大数据实训室课程体系设计案例分享
- 谷歌账户二次验证_为您的Google帐户和Microsoft帐户设置双重身份验证
- classical CNN models : AlexNet 模型结构详解
- 星河杯“黑名单共享查询”赛题基于隐语实现baseline
热门文章
- [网络安全自学篇] 三十八.hack the box渗透之BurpSuite和Hydra密码爆破及Python加密Post请求(二)
- OS + Linux RedHat / redhat 5 / redhat 6 / redhat 7
- sqlserver-with
- 一起学python爬虫第二天
- JAVA【1024】程序员趣味活动,给定一串数字字符串,保证顺序不变的情况下,加入任意数量个“+“,使其结果等于1024
- 【857. 雇佣 K 名工人的最低成本】
- file.delete无法删除文件解决
- 润和软件OpenHarmony生态共建实践
- SQL语法之FOREIGN KEY 约束
- 响应CMFCToolBarComboBoxButton的VK_RETURN事件