RSA加密基本原理

工作中遇到RSA加密的内容,特意学习了一下,作为自己的笔记吧。(公钥和私钥得到不在本次文章范围内,此处只有基本原理)方便自己更好的理解。
笔记来源于bilibili的视频,地址如下:
https://www.bilibili.com/video/BV1Rb411P7p1

1 、概要

RSA是1977年由罗纳德·李维斯特(Ron Rivest)、阿迪·萨莫尔(Adi Shamir)和伦纳德·阿德曼(Leonard Adleman)一起提出的。当时他们三人都在麻省理工学院工作。RSA就是他们三人姓氏开头字母拼在一起组成的。
RSA加密算法作为非对称加密算法,相比对称加密,有很多的优点。对称加密加解密双方需要传递密钥,容易造成密钥泄漏,而非对称加密从源头解决了这一点。非对称加密的加密和解密可以使用不同的规则,只要这两种规则之间存在某种对应关系即可,这样就避免了直接传递密钥。RSA正是这种思想下优秀的实现。

2、基本原理

RSA算法的根本是,加密后的密文,如果我想解密,我不需要向对称加密那样,使用加密的密钥在反向推导回去得到原文,而是使用另外的密钥(或者说公钥),在做和加密相同的算法,即可得出原文。从而不用在加解密双方出传递私钥。下面就简单介绍一下。
由于一切数据在计算机中都可以转化为二进制串,所以,假定我要加密的数据为一串数字m

2.1对称加密

简单说一下对称加密,假如如下图所示,Alice想给Bob传输一个信息,她采用对称加密,即加密前的信息是m,它的值是8,和Bob约定的加密算法是在原数值得基础上-3,即该加密算法为 密文 = 原文-3。Bob得到密文后,解密时,直接反向推导,即解密算法为 :原文 = 密文+3,如下图, 5+ 3 = 8,解密完毕。Bob能解密的前提是,知道解密算法,解密算法必须在他们之间传递,容易导致密钥泄漏。
在这里插入图片描述

2.2非对称加密

RSA算法其中一部分,是利用了取模运算,如下图,3除以2取余得1,即算余数
在这里插入图片描述
而核心的算法如下,
原文为m, m的e次方对N取余得到密文c,例如7的平方对23取余得到3。 e和N即为加密的公钥,即公钥加密。
rsa很难被破解的原因,是因为根据e和N即公钥很容易得出密文c,但根据e和N以及c,即公钥和密文很难算出原文m(原因就是因为一个大数分解质因数的时间远大于将两个素数乘起来的时间)。但是,根据另外一个私钥d和n,以及密文c,执行和 加密时相同的运算,即可得出原文m,即公钥加密,私钥解密。
e和d之间肯定要满足一定的数学关系,才可以,即怎么得出公钥和私钥不在本次讨论范围内了。
在这里插入图片描述

2.3 数字签名

说到数字签名,其实上文中的私钥和公钥,也没太大的区别,只是个名字而已(当然还是有区别的,具体的算法是不一样的)。数字签名其实是在RSA的基础上,发展而来的。因为私钥只有加密方才有,所以,使用这个私钥对原文信息加密,得出来的数字串(叫做签名信息),只要使用对应的公钥才能解密出原内容。所以我对外声明此公钥,而对方只要拿到加密后的数字串和我对外声明的公钥,就能解密出信息,即可以证明这是我签署的,大概的原理是一样的。即加密算法和和签名算法是对应的,加密算法和验证算法是对应的。
在这里插入图片描述

不同点在于,验证算法比解密算法多了 文件本身,而且签名算法,签名的原文件是文件的hash值
在这里插入图片描述

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值