密码学——RSA加密算法原理

前言:之前在做密码学题的时候了解了一下RSA,但总感觉那时总结的过少,而且也理解的不到位,这次就再来详细的了解一下,并通过做题来巩固一下。

一、对称加密与非对称加密

对称加密:

加密和解密用的是同一密钥,也是最简单、最快速的加密方式,通常使用的密匙相对较小,容易被破解,如果密钥过大,安全性确实可以得到保证,但同样加密和解密的效率将会很低。
因为双方都需要密钥进行加密解密,如果有一方的密钥泄露出去,整个安全性将不复存在,所以这也是对称加密的缺点。

在这里插入图片描述

非对称加密:

相较于对称加密,非对称加密使用两个密匙,即公开密钥私钥密钥
非对称加密很有趣,公钥是任何人都可以请求得到的,但私钥只有一个人持有,而且用公钥加密的密文只能通过私钥来解开,解密者无需像对称加密一样接收加密者的密钥,而是自己保存一个密钥,这样就不在网上传送密匙,不会被拦截,会更加安全,但是相对于对称加密,非对称加密加密和解密的效率会低一些

在这里插入图片描述
下面就来学习属于非对称加密中的RSA算法

RSA概述:

1977年,三位数学家Rivest、Shamir 和 Adleman 设计出RSA算法,可以实现非对称加密。而在此之前,使用的都是对称加密。

RSA算法涉及的数学知识

了解RSA之前,需要了解一些数学知识

一、互质关系

两个正整数,除1以外,没有其他公因子,那么这两个数就是互质关系

例如:30与7就是互质关系,但是30不是质数,这就是说明不是质数也能构成互质关系

由互质关系能得出以下结论:

  1. 任意两个质数构成互质关系,比如7和61。
  2. 一个数是质数,另一个数只要不是前者的倍数,两者就构成互质关系,比如3和10。
  3. 如果两个数之中,较大的那个数是质数,则两者构成互质关系,比如97和57。
  4. 1和任意一个自然数是都是互质关系,比如1和99。
  5. p是大于1的整数,则p和p-1构成互质关系,比如57和56。
  6. p是大于1的奇数,则p和p-2构成互质关系,比如17和15。

二、欧拉函数

在数论,对正整数n,欧拉函数是小于n的正整数中与n互质的数的数目,以φ(n)表示

其实欧拉函数就是用来计算这样一个问题

任意给定正整数n,在小于等于n的正整数之中,有多少个与n构成互质关系?

举个列子:

1—10中,与10互质的有1、3、7、9,即φ(n)=4

通过欧拉函数又衍生出几种情况:

第一种情况: 如果n=1,则 φ(1) = 1 。因为1与任何数(包括自身)都构成互质关系。
第二种情况: 如果n是质数,则φ(n)=n-1 。因为质数与小于它的每一个数,都构成互质关系。比如7与1、2、3、4、5、6都构成互质关系。

其中对RSA最重要的一种情况就是:

如果n可以分解成两个互质的整数之积

n = p1 × p2
  • 2
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值