RSA加密算法详解

什么是RSA算法?

RSA加密算法是一种非对称加密算法。在公开密钥加密和电子商业中RSA被广泛使用。RSA是1977年由罗纳德·李维斯特(Ron Rivest)、阿迪·萨莫尔(Adi Shamir)和伦纳德·阿德曼(Leonard Adleman)一起提出的。当时他们三人都在麻省理工学院工作。RSA就是他们三人姓氏开头字母拼在一起组成的。

大数的质因素分解决定RSA算法的可靠性,让合理时间内破解加密数据成为不可能。

要了解RSA加密算法首先要了解素数

什么是非对称加密?

非对称加密需要两个密钥,一个公开密钥一个私有密钥。使用公钥加密的数据只能用私钥解开,
所以公钥可以公开给他人,而私钥要保护起来。其实公钥就像🔒,私钥就像🔑,把🔒给别人锁住数据,然后传递回来用🔑解开取出数据。这样就算中途被他人截获了没有🔑也没法查看数据内容。

欧拉函数

欧拉函数是说,对正整数n,欧拉函数\phi(n)是小于或等于n的正整数中与n互质的数的数目。比如\phi(8) = 4因为81,3,5,7互质。有一种情况\phi(n)很好计算就是当n等于素数时,因为素数和小于它的所有正整数互质,所以当n等于素数时\phi(n) = n-1,且当a,b都是素数时\phi(a×b)=\phi(a)×\phi(b)

欧拉定理

欧拉定理(也称费马-欧拉定理)是一个关于同余的性质。欧拉定理表明,若n,a为正整数,且n,a互素,则 a^{\phi(n)}\equiv1\ (mod\ n)

RSA加密算法

RSA加密算法是根据一个容易运算但是如果没有特殊信息逆运算非常困难的函数,m^e\ mod\ n \equiv c,这非常容易计算c,但是给定e,n,c却很困难得到m

那么怎么让它的逆运算也容易呢?要有一个dc^d\equiv m\ (mod\ n)成立,这公式也可以写成m^{e×d}\equiv\ m\ (mod\ n),这样只要知道d就可以得到m了。

那么怎么计算d,这时候就要用到欧拉定理m^{\phi(n)}\equiv1\ (mod\ n),也可以写成m^{k×\phi(n)+1}\equiv m\ (mod\ n),就是将原等式的任何数k次方,然后再乘以m

现在就有了m^{e×d}\equiv m\ (mod\ n)m^{k×\phi(n)+1}\equiv m\ (mod\ n),就可以算出d等于\frac{k×\phi(n)+1}e

这时e就相当于公钥,d就相当于私钥。

那么RSA加密算法过程为:

1)第一步是首先找出两个大质数p1,p2,大质数可以使用两步生成。(具体可以看费马小定理

  1. 随机生成一个大数
  2. 测试是不是素数

然后将p1,p2相乘得到n,根据欧拉定理可知\phi(n)=(p1-1)×(p2-1)

2)第二步找到一个奇数e,而且与\phi(n)互质。

3)根据上面公式计算出一个正整数d,有人证明如果d<\frac{1}3×n^{\frac{1}4}可以根据n,e很有效的推出d,所以d必须足够大。

4)将en发送给他人加密数据(m),得到c\equiv m^e\ (mod\ n)(消息m是小于n的正整数,如果m太大可以分段)。

5)取回加密数据cc^d\ mod\ n 就等于消息m

安全性

根据上面步骤可以看出要破解加密必须要得到d,而得到d就要找到p1,p2,这就要对n进行质因素分解,然而根据现在计算机的速度对一个大数在一个合理时间内质因素分解非常困难。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,590评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 86,808评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,151评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,779评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,773评论 5 367
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,656评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,022评论 3 398
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,678评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 41,038评论 1 299
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,659评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,756评论 1 330
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,411评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,005评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,973评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,203评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,053评论 2 350
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,495评论 2 343

推荐阅读更多精彩内容

  • 姓名:于川皓 学号:16140210089 转载自:https://baike.baidu.com/item/RS...
    道无涯_cc76阅读 2,532评论 0 1
  • 一、RSA的历史 1976 年以前,所有的加密方法都是同一种模式: (1)甲方选择某一种加密规则,对信息进行加密;...
    开着保时捷堵你家门口阅读 2,316评论 0 1
  • 学一点有趣的数论知识 在探究RSA算法的原理之前,我们先来学习一点有趣的数论知识(数学分支之一,主要研究整数的性质...
    24f464006eaf阅读 2,163评论 0 5
  • 前言 本文的RSA例子代码更新在我的github上。 RSA算法是最重要算法之一,它是计算机通信安全的基石,保证了...
    game3108阅读 11,571评论 2 53
  • 这篇文章主要讲述在Mobile BI(移动商务智能)开发过程中,在网络通信、数据存储、登录验证这几个方面涉及的加密...
    雨_树阅读 2,331评论 0 6