对称秘钥加密存在的问题以及公开秘钥加密的诞生

上两篇提到的铁栅栏和希尔算法都属于对称加密算法,即同一个秘钥既用于加密数据,又用来解密数据,其就造成了一个结果:加密秘钥可以被公开,这就造成了一个最为严重的问题——如何安全地分发秘钥,要是秘钥被分发或者截获至非法用户手中,这组加密秘钥的安全性便不再被保证,既有可能被随意破解,又有可能被伪造发送。为了解决这个问题,公开密钥加密方法被开发出来。

公开密钥加密系统的原理

公开密钥加密系统基于单向陷门函数。“单向”的意思是指该函数从一个方向计算十分容易,但要从另一个方向反推便十分困难(困难到计算机都难以计算)。此特性确保了攻击者不能使用公开的信息恢复出秘钥的信息。举个例子,因式分解便是一个单向函数——生成两个素数p、q并计算他们的乘积N很容易,但是要是给定足够大的数值N,要找到他的因子p和q就十分困难,因此我们就可以根据因式分解构建陷门,也就是我们下面要介绍的RSA算法。

RSA算法

名字由来

RSA加密系统的名字来源于三个公认的发明者:Rivest、Shamir、Adleman。

加密解密过程(运作方式)

  1. 选择两大素数p、q,并计算出他们的乘积N=pq

  2. 选择与乘积(p-1)(q-1)互素的数e

  3. 计算出数e的模(p-1)(q-1)的乘法逆元素d

  4. 上述得到的数值满足公式——ed = 1 mod (p-1)(q-1)

  5. 最后得到的密钥对:

    公钥:(N,e)

    秘钥:d

  6. 通过求幂模运算进行加密解密,设明文文本为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算法以及其破解方法相关推荐

  1. 这个发现是否会是RSA算法的BUG、或者可能存在的破解方式?

    多谢各位关注,问题原因已经确定,现决定结贴! 总结一下: 每对RSA密钥均存在至少一组非法私钥,且非法私钥可以正常进行密钥补全和解密: 对用户来说,并没有影响: 安全性上,暴力破解时间复杂度会有一些减 ...

  2. 768位RSA算法遭破解,1024位目前安全

    RSA加密算法是Ron Rivest.Adi Shamir和Leonard Adleman提出的一种公开密钥加密算法,使用一对公钥和私钥(依靠大质数生成)对信息加密,常被用于数字签名. RSA算法的破 ...

  3. 快乐地谈谈:关于RSA算法中求私钥d的欧几里得方法(辗转相除法)考试向的欸

    关于RSA算法本身,就提及一下,它是属于非对称密码体制. 基本的加密方式就如下图所示: c为加密后的密文,m为加密前的明文 其中一般会给出公开密钥n.e的值,这样根据规则,便可以实现加密过程.而题目往 ...

  4. 20年无人能破的RSA算法发明人出的密码学难题, 竟被这个无名程序员3年破解!...

    来源 | WIRED 编译 | Guoxi 责编 | Aholiab 出品 | 区块链大本营(blockchain_camp) 1994 年 4 月,作为麻省理工学院计算机科学实验室成立 35 周年的 ...

  5. 逆向工程实验——pre6(汇编、Android逆向、RSA算法破解)

    文章目录 一. 阅读然后回答2个问题 二.阅读 三.阅读 复现android逆向过程 1.先在android模拟器上安装好CrackMe1.apk文件, 2.用apktool将CrackMe1.apk ...

  6. DES和RSA算法的java实现

    2019独角兽企业重金招聘Python工程师标准>>> 一.对称加密算法 对称加密算法是应用较早的加密算法,技术成熟.在对称加密算法中,数据发信方将明文(原始数据)和加密密钥一起经过 ...

  7. RSA算法原理——(3)RSA加解密过程及公式论证

    上期(RSA简介及基础数论知识)为大家介绍了:互质.欧拉函数.欧拉定理.模反元素 这四个数论的知识点,而这四个知识点是理解RSA加密算法的基石,忘了的同学可以快速的回顾一遍. 一.目前常见加密算法简介 ...

  8. RSA算法原理——(1)目前常见加密算法简介

      艾伦·麦席森·图灵在二战期间主要负责破译德国人的密码系统Enigma,破解密码需要大量的计算,图灵深知工欲善其事必先利其器的道理,于是一台叫作CO-LOSSUS的计算机在1943年被研制出来,后来 ...

  9. 信息安全-5:RSA算法详解(已编程实现)[原创]

    转发注明出处:http://www.cnblogs.com/0zcl/p/6120389.html 背景介绍 1976年以前,所有的加密方法都是同一种模式: (1)甲方选择某一种加密规则,对信息进行加 ...

最新文章

  1. java产生全局唯一的int类型_全局唯一ID设计
  2. java事件驱动模型_Spring事件驱动模型详解
  3. 事件——事件绑定||事件函数传参||事件修饰符||按键修饰符||自定义按键修饰符
  4. 计算机不会输入函数怎么办,函数不正确_电脑上文件打不开,显示函数不正确怎么解决?...
  5. linux lib64被改名,问题解决:Centos误将/lib64更改为lib64.bak
  6. android原生webview,Android 原生与WebView JS的交互
  7. Makefile中的变量
  8. Asp.net Core基于MVC框架实现PostgreSQL操作
  9. MOXy的@XmlVariableNode – JSON模式示例
  10. 【Python数据分析】数据预处理1——数据清洗
  11. mysql 时间戳截断_列的Mysql时间戳数据被截断
  12. 2016年第七届java A组蓝桥杯省赛真题
  13. 键盘没有Home键和End键的完美解决办法
  14. 计算机引起usb设备无法识别的原因有哪些,计算机无法识别USB设备是什么原因
  15. 如何把普通的五比四的照片做成5寸照片
  16. 相对路径./与../区别
  17. 大数据实训室课程体系设计案例分享
  18. 谷歌账户二次验证_为您的Google帐户和Microsoft帐户设置双重身份验证
  19. classical CNN models : AlexNet 模型结构详解
  20. 星河杯“黑名单共享查询”赛题基于隐语实现baseline

热门文章

  1. [网络安全自学篇] 三十八.hack the box渗透之BurpSuite和Hydra密码爆破及Python加密Post请求(二)
  2. OS + Linux RedHat / redhat 5 / redhat 6 / redhat 7
  3. sqlserver-with
  4. 一起学python爬虫第二天
  5. JAVA【1024】程序员趣味活动,给定一串数字字符串,保证顺序不变的情况下,加入任意数量个“+“,使其结果等于1024
  6. 【857. 雇佣 K 名工人的最低成本】
  7. file.delete无法删除文件解决
  8. 润和软件OpenHarmony生态共建实践
  9. SQL语法之FOREIGN KEY 约束
  10. 响应CMFCToolBarComboBoxButton的VK_RETURN事件