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,但下面这个数你没办法分解:

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


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

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

      推荐阅读
    • 吴昕郑恺恋情热议(吴昕恋情曝光俩人约会细节被扒)

      但是,吴昕的感情至今依旧被网友追问,8月6日,就有网友曝出,吴昕的恋情。停留了一会儿三人又继续赶路,吴昕在表弟的陪伴下前往机场去办理手续准备离开北京,而白衣男则负责在车内等待,白衣男没有亲自送吴昕可能也是为了避嫌。知情人还曝光了该男子的身份,据悉他也是一名演员,名叫郑凯,比吴昕要小三岁。

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

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

    • 身高180体重160算胖吗(身高180体重160身材胖不胖)

      我们一起去了解并探讨一下这个问题吧!体重指数的计算公式是:身高cm-105cm=kg体重。根据这个公式,如果180cm的身高也就是说180cm-105cm=75kg,所以180cm身高的标准体重应该是150斤,按规定超过10%,即150+15=165斤是超重;如果超过20%即150+30=180斤才是肥胖。而这个问题是180cm体重是160斤,刚刚超过了标准体重5斤,所以不算胖。

    • 有关长征的资料(长征介绍)

      长征介绍1934年10月,第五次反围剿失败后,中央主力红军为摆脱国民党军队的包围追击,被迫实行转移,退出中央根据地,进行长征长征是人类历史上的伟大奇迹,中央红军共进行了380余次战斗,攻占700多座县城,红军。

    • 王小蒙离婚结婚(与男模拍亲密睡衣照)

      与男模拍亲密睡衣照#毕畅#《乡村爱情》中“王小蒙”扮演者毕畅,在社交平台上晒出自己与一位帅气的男模拍摄了一组穿着睡衣的视频花絮毕畅与帅哥男模很配合,对着镜头一个刷牙;一个刮胡子,貌似一对夫妻早上起床的感情,举止、姿势亲。

    • 古尔邦节是哪一天(古尔邦节的简介)

      2021年古尔邦节是2021年7月20日。古尔邦节是伊斯兰教主要节日之一,亦称宰牲节。我国穆斯林将古尔邦节又称“忠孝节”。当日,朝觐者要进行宰牲。经济条件宽裕的穆斯林要在伊斯兰教历12月10~12日3天之内宰牲,逾期无效。我国穆斯林特别重视古尔邦节,是日皆盛装参加会礼,游坟诵经、缅怀先人宴请亲友,有条件者宰牲。我国新疆地区各族穆斯林还举行丰富多采的文艺联欢,以示庆祝。现已成为中国信仰伊斯兰教的10个少数民族的民族节日。

    • 周日八点档吴宗宪(吴宗宪钟丽缇聊开)

      吴宗宪钟丽缇聊开记者杨奇/综合报导综艺天王吴宗宪目前在台有3综艺节目,大陆节目邀约更是应接不暇,近日再和陈汉典、詹子晴(丫头)合开新的网路综艺节目《开心相对论》,其中一集请到女神钟丽缇,两人一聊才惊觉,原来上次见到面。

    • 怎样知道土壤的酸碱度好(如何判断土壤酸碱性)

      如何判断土壤酸碱性土壤是植物生长的根基,正确判断“酸碱度”,养护更轻松很多植物对于土壤的酸碱性都会有着独特的标准,我知道大家可能会遇到这样的问题,就是在种植植物的时候明明浇水施肥还有光照都考虑得很全了但是自己家的植物就。

    • 奇乐儿童乐园加盟费多少一年(新手创业开儿童乐园会亏本吗)

      奇乐儿童乐园加盟费多少一年不少朋友来询问:开一家儿童乐园会亏本吗?下面卡奇乐来分析一下新手开儿童乐园会不会亏本。前期主要游乐设备费用,是花费较大的一项,那么它的质量,更新,使用时间是比较重要的,卡奇乐能够确保设备品质以及提供维护,更新迭代,设备得到保障,那么就没有亏本的理由。纠结的原因就是加盟费,在这里,可以告诉你,卡奇乐不需要加盟费。

    • 男主叫什么翎的小说(小说的基本信息)

      小说的基本信息男主叫什么翎的小说有武侠小说《金剑雕翎》、《岳小钗》,其中的的男主人公叫萧翎《金剑雕翎(卧龙生创作武侠小说)》是一本武侠小说,作者是卧龙生自1964年1月3日起,卧龙生在自立晚报开始发表武侠小说《金剑。