77百科网
当前位置: 首页 文学教育

rsa加密算法常见应用(每天一个算法RSA加密算法)

时间:2023-05-08 作者: 小编 阅读量: 1 栏目名: 文学教育

每天一个算法RSA加密算法昨天,心血来潮给大家分享了一个《每天一个算法——霍夫曼编码压缩算法》,大家的反应很好,挺感谢大家的支持今天,准备继续分享一个算法,我个人认为比较有意思,也比较重要RSA算法是一种

昨天,心血来潮给大家分享了一个《每天一个算法——霍夫曼编码压缩算法》,大家的反应很好,挺感谢大家的支持。今天,准备继续分享一个算法,我个人认为比较有意思,也比较重要。


RSA算法是一种"公钥加密算法"。早期的加密模式,就是加密和解密都是用同一种规则(密钥)。这种加密模式,就要求加密规则需要在双方进行传递,信息是很不安全的。在这种加密模式下的算法,也叫"对称加密算法"。而我们今天要讲的RSA算法,是一种"非对称加密算法",加密和解密使用不同的规则,只要这两种规则之间存在某种对应关系即可,这样就避免了直接传递密钥。

这种“非对称加密算法”的模式,信息交互方式如下:

在这种加密模式下,只要私钥不公开,通信就是安全的。


我自己今天看了挺久的加密原理,里面设计到一点数学,具体为什么就要这样做,我也不懂更深层次的原因,这里就讲点比较浅的东西。

  • 质数(素数)

  • 在大于1的自然数中,除了1和它本身以外不再有其他因数的数称为质数,也叫素数。

    如果两个数除了1以外,没有其他公因子,我们就称这两个数存在互质关系。比如,15和32没有公因子,所以它们之间有互质关系(不是质数也可以构成互质关系)。

    在数论中,对于正整数N,小于或等于N ([1,N]),且与N互质的正整数(包括1)的个数,记作φ(n)。

    任意两个数p、q,如果p、q存在互质关系,我们有φ(p*q) = (p-1)*(q-1)。这里就不证明了,举个例子就好。互质关系2、5,则φ(10)=1*4。结论,在1到10中,和10互质的正整数有4个(1,3,7,9)。

    如果两个互质数p,q,那么一定可以找到整数x,使得 qx-1被p整除,或者说qx被p除的余数是1。这时,x就叫做q的模反元素。(上面公式,可以变换求xqyp = 1,求x,这里y为负数)

    例子:互质数3、5,这里求5的模反元素,即5x3y = 1。可以口算一下,这里x=2,y=-3(或者x=5,y=-8)。可以看出模反元素不唯一,但一旦x确定,y也是确定的。


    上面提到的几个概念,大家反复推敲一下,RSA算法的密钥就是从这几个公式中推断出来。了解了上面的几个公式,下面我们来讲解RSA算法,获取到加密的公钥和私钥。

    1.随机选择两个不相等的质数p和q。

    这里我们选择p = 3 , q = 11。(实际应用中,这两个质数越大,就越难破解。)

    2.计算p和q的乘积n。

    n = p * q = 3 * 11 = 33

    3.计算n的欧拉函数φ(n)。

    φ(n) = (p - 1) * (q - 1) = 2 * 10 = 20

    4.随机选择一个整数e,条件是1< e < φ(n),且e与φ(n) 互质。

    我们选择与20互质的数,e=7(随机选择)。

    5.计算e对于φ(n)的模反元素d。

    这里要求7对于20的模反元素,可以有多个,我们计算出一个即可。

    公式7*d20*m = 1,求d。

    这里我们选择d=3,m=-1。(m这里没用)

    6.将n和e封装成公钥,n和d封装成私钥。

    这个例子中n=33,e=7,d=3,所以公钥就是 (33,7),私钥就是(33, 3)。


    有了公钥和私钥,我们就可以进行安全通信,公钥进行加密,私钥解密。但是RSA的算法可靠吗?下面我们来讨论一下。

    回顾一下上面密钥的生成步骤,总共出现了六个数字:

    在这六个数字中,公钥(33,7)用到了两个(n和e),其他四个数都是不公开的。其中最关键的数是d,因为n和d组成了私钥(33,3),假如d泄漏,就等于知道了n、d、e,密钥就泄露了。

    那么,有没有可能在知道n和e的情况下,推导出d?

    结论:假如n可以被因数分解,那么d就可以算出,也就意味着私钥被破解。

    对大整数进行因式分解,是一件很困难的事情,目前只有用暴力破解,就是一个一个去试。目前已知,被破解最长RSA密钥是768个二进制位。就是说,长度超过768位的密钥,还没有被人破解(至少没公开宣布)。因此可以认为,1024位的RSA密钥基本安全,2048位的密钥极其安全。

    举个例子,我们可以对33进行分解成11和3,但下面这个数你没办法分解:

    它等于下面两个质数的乘积:


    上面获取到了公钥和私钥,还没用他们加过密。这里来举例一下就好:

    公式上大家一一对照就好,具体数学原理这里不做解释了。大家感兴趣可以继续深入研究其背后的数学,我想着才是真正的数学之美。

      推荐阅读
    • 短视频文案(适合给短视频配的文案)

      短视频文案这吹不出褶的平静日子也在闪光。跑着喝,才能转化为能量,躺着喝,只能转化成脂肪。我想在你身上做,春天对樱桃树做的事。我要送给你好运。就像买可乐,打开瓶盖写着再来一瓶。不要问我心里有没有你,我余光中都是你。十年饮冰,难凉热血。热爱可抵岁月漫长。不乱于心,不困于情,不畏将来,不念过往。我想与你一起度过这一天,聊些有的没的。祝你喜欢的下一个男孩不像我成熟更特别。

    • 过故人庄唐诗经典50首(全唐诗小雪全8首)

      《全唐诗·小雪》全8首,只有隐士与和尚写得好——赵新月读诗札记,今天小编就来说说关于过故人庄唐诗经典50首?这8首诗,水平参差,良莠不齐,多数写得一般般。如戴叔伦、清江的《小雪》:“愁人正在书窗下,一片飞来一片寒。”

    • 地下城与勇士剑魂装备搭配排行(地下城与勇士剑魂刷图加点装备使用推荐)

      地下城与勇士剑魂刷图加点装备使用推荐地下城与勇士剑魂刷图加点装备使用推荐,其中本文的观点对大多数物理百分比职业来说都是适用的同时应注意,在角色基础物攻较低时,相对提升属强与技能等级,提升基础物攻带来的伤害提升更多一、DNF防具、武器附魔。

    • 除夕朋友圈文案小红书(除夕朋友圈文案锦集)

      除夕朋友圈文案锦集爆竹炸响,空气中弥漫新年的味道;锣鼓喧天,生活中充满快乐的欢笑;吉祥传递,短信中发送祝福的话语;乐享除夕,年三十守候幸福的来到除夕夜,吉祥飘落,幸福来临,今夜无眠,快乐开心!有些事并不因时光流逝而褪去。

    • 知否中被身份地位蒙蔽双眼的人(知否中实力惊人的老戏骨)

      曹翠芬,1944年4月6日出生于上海市,北京电影制片厂演员。刘钧,1972年2月17日出生于山东省蓬莱市,先后就读于谢晋明星学校与山东艺术学院。2009年8月因在电影《沂蒙六姐妹》中饰演王坪,被授予沂蒙荣誉市民称号。2015年主演电视剧《金水桥边》及《亲娘木兰》。2017年参演电视剧《琅琊榜之风起长林》。2018年,凭借电影《十八洞村》获得第34届大众电影百花奖最佳女主角奖、第17届中国电影华表奖优秀女演员奖。2018年在《扶摇》中饰演皇后。

    • 厨师机和烘焙机有什么不同(烘培小白买了厨师机不会用)

      烘培小白买了厨师机不会用哈喽,我是M慢性子,一个厨房器材党厨艺不够,设备来凑,在我们的烘焙中,一款好用的设备能为我们能让我们的出品稳定的同时,效率也加倍而厨师机就是我们烘焙中不可或缺的设备,但如果选择不当,即使用了厨师机,仍。

    • 哈利波特成为一名优秀击球手的诀窍怎么做(哈利波特成为一名优秀击球手的诀窍介绍)

      哈利波特成为一名优秀击球手的诀窍介绍成为一名优秀击球手的诀窍?当然是没日没夜的训练根据线索我们先飞到魁地奇的球场中去,然后大家到左边的球门下面在这里大家会看到萝宾站在这里,我们点击她然后进行战斗战斗胜利之后大家就可以获得今日的拼图了。

    • 蛐蛐为什么叫个不停(蛐蛐叫个不停的原因)

      蛐蛐叫个不停的原因蛐蛐叫个不停是为了觅食、活动、求偶蛐蛐的叫声是通过振动翅膀发出来的,一般在夏季的8月开始鸣叫,野外通常在20度时鸣叫得最欢快,10月下旬气候转冷时即停止鸣叫有些种类的蟋蟀不只夜间鸣叫,白天也会。

    • 柚子皮熬水喝有什么用处(冬天常用柚子皮煮水喝)

      冬天常用柚子皮煮水喝到了冬天气候特别干燥,人们稍不注意就会患上感冒、咳嗽的毛病有些人习惯身体不舒服了,就赶紧去买药吃,其实有时候一些水果皮就可以帮你解决大问题今天给大家讲一讲柚子皮的妙用,冬天常用柚子皮煮水喝,身体会出现。

    • esse是什么牌子的烟(esse牌子介绍)

      esse牌子介绍esse是韩国产的一种香烟,它的中文名为爱喜这个烟是韩国烟草人参公社出品,它的全称为ESSEMenthol,也叫爱易,爱喜这款烟有粉色普通型、蓝色特醇型和绿色薄荷型,是极有女人缘的韩国烟,喜欢它的男士。