问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

密码学基础1:RSA算法原理全面解析

发布网友 发布时间:2022-09-29 05:30

我来回答

1个回答

热心网友 时间:2023-11-18 17:17

本节内容中可能用到的符号说明如下:

质数和合数:质数是指除了平凡约数1和自身之外,没有其他约数的大于1的正整数。大于1的正整数中不是素数的则为合数。如 7、11 是质数,而 4、9 是合数。在 RSA 算法中主要用到了质数相关性质,质数可能是上帝留给人类的一把钥匙,许多数学定理和猜想都跟质数有关。

[定理1] 除法定理:对任意整数 a 和 任意正整数 n,存在唯一的整数 q 和 r,满足 。其中, 称为除法的商,而 称为除法的余数。

整除:在除法定理中,当余数 时,表示 a 能被 n 整除,或者说 a 是 n 的倍数,用符号 表示。

约数和倍数: 对于整数 d 和 a,如果 ,且 ,则我们说 d 是 a 的约数,a 是 d 的倍数。

公约数:对于整数 d,a,b,如果 d 是 a 的约数且 d 也是 b 的约数,则 d 是 a 和 b 的公约数。如 30 的约数有 1,2,3,5,6,10,15,30,而 24 的约数有 1,2,3,4,6,8,12,24,则 30 和 24 的公约数有 1,2,3,6。其中 1 是任意两个整数的公约数。

公约数的性质:

最大公约数:两个整数最大的公约数称为最大公约数,用 来表示,如 30 和 24 的最大公约数是 6。 有一些显而易见的性质:



[定理2] 最大公约数定理:如果 a 和 b 是不为0的整数,则 是 a 和 b 的线性组合集合 中的最小正元素。

由定理2可以得到一个推论:

[推论1]对任意整数 a 和 b,如果 且 ,则 。

互质数:如果两个整数 a 和 b 只有公因数 1,即 ,则我们就称这两个数是互质数(coprime)。比如 4 和 9 是互质数,但是 15 和 25 不是互质数。

互质数的性质:

欧几里得算法分为朴素欧几里得算法和扩展欧几里得算法,朴素法用于求两个数的最大公约数,而扩展的欧几里得算法则有更多广泛应用,如后面要提到的求一个数对特定模数的模逆元素等。

求两个非负整数的最大公约数最有名的是 辗转相除法,最早出现在伟大的数学家欧几里得在他的经典巨作《几何原本》中。辗转相除法算法求两个非负整数的最大公约数描述如下:


例如, ,在求解过程中,较大的数缩小,持续进行同样的计算可以不断缩小这两个数直至其中一个变成零。

欧几里得算法的python实现如下:

扩展欧几里得算法在 RSA 算法中求模反元素有很重要的应用,定义如下:

定义:对于不全为 0 的非负整数 ,则必然存在整数对 ,使得

例如,a 为 3,b 为 8,则 。那么,必然存在整数对 ,满足 。简单计算可以得到 满足要求。

扩展欧几里得算法的python实现如下:

同余:对于正整数 n 和 整数 a,b,如果满足 ,即 a-b 是 n 的倍数,则我们称 a 和 b 对模 n 同余,记号如下: 例如,因为 ,于是有 。
对于正整数 n,整数 ,如果 则我们可以得到如下性质:

譬如,因为 ,则可以推出 。

另外,若 p 和 q 互质,且 ,则可推出:

此外,模的四则运算还有如下一些性质,证明也比较简单,略去。

模逆元素:对整数 a 和正整数 n,a 对模数 n 的模逆元素是指满足以下条件的整数 b。 a 对 模数 n 的 模逆元素不一定存在,a 对 模数 n 的模逆元素存在的充分必要条件是 a 和 n 互质,这个在后面我们会有证明。若模逆元素存在,也不是唯一的。例如 a=3,n=4,则 a 对模数 n 的模逆元素为 7 + 4k,即 7,11,15,...都是整数 3 对模数 4 的模逆元素。如果 a 和 n 不互质,如 a = 2,n = 4,则不存在模逆元素。

[推论2] 模逆元素存在的充分必要条件是整数 a 和 模数 n 互质。

[定理3] 唯一质数分解定理:任何一个大于1的正整数 n 都可以 唯一分解为一组质数的乘积,其中 都是自然数(包括0)。比如 6000 可以唯一分解为 。

由质数唯一分解定理可以得到一个推论:质数有无穷多个

[定理4] 中国剩余定理(Chinese remainder theorem,CRT),最早见于《孙子算经》(中国南北朝数学著作,公元420-589年),叫物不知数问题,也叫韩信点兵问题。

翻译过来就是已知一个一元线性同余方程组求 x 的解:

宋朝著名数学家秦九韶在他的著作中给出了物不知数问题的解法,明朝的数学家程大位甚至编了一个《孙子歌诀》:

意思就是:将除以 3 的余数 2 乘以 70,将除以 5 的余数 3 乘以 21,将除以 7 的余数 2 乘以 15,最终将这三个数相加得到 。再将 233 除以 3,5,7 的最小公倍数 105 得到的余数 ,即为符合要求的最小正整数,实际上, 都符合要求。

物不知数问题解法本质

求解通项公式

中国剩余定理相当于给出了以下的一元线性同余方程组的有解的判定条件,并用构造法给出了解的具体形式。

模数 两两互质,则对任意的整数: ,方程组 有解,且解可以由如下构造方法得到:

并设 是除 以外的其他 个模数的乘积。



中国剩余定理通项公式证明

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
宝宝被蜱虫叮咬后怎么办? 宝宝被蜱虫咬后该怎么办? 宝宝被蜱虫咬了,要怎么办啊? 宝宝被蜱虫咬了该怎么办? 携程旅行飞机票怎么退 携程旅行退机票手续费介绍 苹果七用ios10.0.01为什么打字 翻照片都炒鸡卡?刚刚买了几天 而且是1... 苹果7怎么老是感觉一顿一顿的 有没有人把苹果手机系统换成ios10之后,老死 QQ会员怎样成为VIP2 RSA 加密算法(原理篇) 海带裙带菜的做法大全 你知道海带裙带菜哪些做法 小麦拌种剂应该怎么使用? 如何正确使用小麦吨田宝对小麦进行拌种? 自己的己组词是什么 格力空调遥控器上有个房子的标志 格力空调遥控器有个房子是什么意思 格力空调室内机有房子符号是什么意思? 格力空调遥控器显示房子的图标如何消除 水泵上用什么油漆? 串联电路与并联电路有什么区别? 投保人对同一保险标志了同你保险利益统一防显示和分别 橙面可做什么糕点 一开始我野钓水底不平应如何调漂水库钓鱼 沙发套测量算料软件是下载那个软件 关羽的青龙堰月刀那来的?大神们帮帮忙 2020年考研南京大学化工专业,考了312分能进入复试吗? 全球骑士有什么用 全球购是做什么用的? 市面上的环球、全球购骑士卡和星光特权卡哪个更好用? 酒驾抽血是行政强制措施吗 酒店安检合法吗 怎样制作鹅卵石? 罗马全面战争城市如何赚钱? 孩子说谎该怎样教育最好 家长们可以这样做 跑步多久能缓解抑郁症 办理了出国签证,但却延迟了出国的时间该怎么办? 女士布帽的制作 神舟承运M735E是迅驰的处理器吗?什么时间上市的?跪求答案 神州优雅M735S开不了机 一直在用组装的台式机,现在为了方便想入手一台笔记本,请帮忙推荐一下... 夜幕下的哈尔滨里王一民的原型是谁? 罗马2全面战争,贵族事务官怎么提高税收和稳定。怎么操作 saas排班系统大家知道吗?人资方向的一般用什么? 罗马 全面战争游戏有哪些增加金钱的办法 德绒面料的优缺点,德绒面料有什么缺点 罗马全面战争怎么搞钱才好要详细的 马蹄甜汤 宝宝健康食谱的家常做法大全怎么做好吃 华为mate7移动4g定制版可以用联通卡吗 马蹄薏米甜汤的做法 马蹄薏米甜汤怎么做