RSA算法

同一个密钥可以同时用作信息的加密和解密,这种加密方法称为对称加密

1975年以前,世界上所有的加密方式都是基于这种的加密方式进行加密。

然而这种对称加密方法的最大问题在于,不管说是发送方还是接收方,这两端都完完全全了解这个密码是个怎么加密与解密的。 所以说第三方如果有心的话,他可以去入侵这两端中的任意一端,他只要成功拿到这个解码或者编码的过程,他就可以破译这个密码。 所有的加密内容对他来说就是没有意义的。

1975年的时候呢,就有人提出一个观念 公钥 ( public key ),这个观念之所以在密码学上是一大进步的原因在于,这个时候,全世界知道怎么解这个密码的人,只有我一个人,我的接收方,我的亲戚朋友,他们拿到的都是公钥。 他们拿到公钥后,等于说是知道了怎么去做这个密码,但是他们没有私钥的情况下是不知道怎么去解这个密码的, 私钥牢牢地掌握在我的手里。 只要我私钥不被窃取,整个加密就是安全的。

公钥私钥只是一个想法,怎么样去落实呢?

数学家们已经想到了一个方法,就是利用质数的同余的性质

1.jpg

p和q都是代表质数,p和q是很大很大的质数, 那么p*q呢就会变成一个很大很大的数m

请注意,如果我们知道p和q,想要得到m很容易,但是如果我们不知道p和q,想要从一个很大很大的数m中反推出p和q是极端极端困难的,在数学上面,截至目前,都没有找到大数分解的一般算法。

对极大整数做因数分解的难度决定了RSA算法的可靠性。换言之,对一极大整数做因数分解愈困难,RSA算法愈可靠。假如有人找到一种快速因数分解的算法的话,那么用RSA加密的信息的可靠性就肯定会极度下降。但找到这样的算法的可能性是非常小的。今天只有短的RSA钥匙才可能被强力方式解破。到目前为止,世界上还没有任何可靠的攻击RSA算法的方式。只要其钥匙的长度足够长,用RSA加密的信息实际上是不能被解破的。

RSA 公钥演算法

我们接下来要介绍的这种RSA公钥演算法,是在1977年由MIT的三位数学家提出来的。

Ron Rivest 、   Adi Shamir  、 Leonard Adleman

这三位数学家为公钥演算法找到的一个法宝,就是同余

映射

我们知道,传统的密码演算法,有点像是函数之间的映射关系。

也就是说呢,我在这边找到一个明文,我通过某种加密方式得到密文,将密文发送给接收方,接收方再进行反演算法,推出的原文。

但是同余的观念完全不是这个样式,同余的观念有点像是一个单方向的转盘,它只能往这边转,不能倒过来转。

什么意思呢? 就是说,我取两个数相乘,模掉19,比如说余数是5, 因为无穷多个自然数相乘模掉19都可能同余5 (mod 19), 所以由同余5 (mod19 ) 反过来推哪两个数相乘,是推不出来的。

所以说RSA公钥演算法,最重要的关键就是它事先透过一种更抽象的分析,我分析说我要再多转几次就可以把原来的资讯转回来。

因为同余就是一种圆运算。 转转转转转,终有一天会把你转回来。




废话这么多,下面就开始正式介绍 RSA公钥演算法。

RSA公钥演算法

第一步呢,先找两个非常非常大的质数,pq

第二步,pq相乘得到一个很大很大的数N

下面引入一个很重要的函数,欧拉函数,就是 φ(n)=(p-1)(q-1)
这个φ(n)表示不大于N,并且与N互质的自然数的个数。

以6来举例, 
                6=2x3   
                φ(n)=(2-1)(3-1)=2
           比6小,并且与6互质的自然数 1,2,3,4,5中 只有1和5,
  2个

有了这个 φ(n)之后呢,我就能找到一个 e小于 φ(n),使得eφ(n)互质。

以21来举例
              21=3*7
              φ(n)=(3-1)(7-1)=12
表示比21小,并且与21互质的自然数由12个,
分别是  1,2,4,5,8,10,11,12,13,17,19,20

那么我这里就能找到一个5,比φ(n)小,并且与φ(n)互质。

找到eφ(n)之后, 因为e和φ(n)互质,那么由辗转相除法,我就一定能找到xy,使得下面等式成立:

         ex-φy=1

举例

  5和12互质, 那么我就一定能找到x和y使得上面 ex-φy=1 等式成立
      
          5*5-2*12=1

  3和7互质
          3*5-2*7=1
  等等...
        这是一个定理。
RSA公钥演算法的精髓

RSA公钥演算法的精髓就在上面这个等式里面:

          ex=1+(p-1)(q-1)

在这个等式里面,x就是我的私钥,我对外发布的公钥是N和e,至于y管都不用管

私钥是只有我一个人才有的,我装在裤衩里任何人都不给看。

公钥等同于说是我向外发出去的一本配钥匙指南,公钥任何人都能看到。

我对外发布N和e,我自己手中留有的是x




实物上的运作

RSA公钥演算法加密与解密过程

假设你朋友想要发送一段信息给你,这段信息经过编码后呢,就会变成一串数字 A, 什么叫公钥,公钥就是全世界都看得到的两个数字,e和N ,你朋友拿着你给他的公钥eN将数字A进行e次方运算, 再去模N

(前面提到,这个N是个非常非常大的数。由p*q得到。)

你朋友得到这个R之后,全世界的人都知道这个R,也都知道Ne,但是反推出来A是不可能的,因为他们没有私钥,私钥x在你手上。 同余的运算更像是单方向的转盘,抽象理解没有私钥的情况下就不知道转到哪一波,从而就无法得知这个A

你朋友运算后得到的余数 R,将R发送给你,那么你拿出你的私钥x, 将你朋友发送给你的这个R进行x次方运算,再去模掉N,得到的余数A就是你朋友想要发送给你的信息。




实例

公钥与私钥

在上面的实例中,我找到了一组公钥与私钥,我自保留着私钥x,就是上面的2753,任何人都不给。

我对外发布的是公钥 eN,这个eN是全世界的人都能看到的。

实例

如上图所示,A=123是我朋友想要传递给我的信息,经过我的公钥加密后,变成了 855, 我这边通过私钥解密后得到了信息123

(图中蓝色的是公钥,红色的是私钥。)



证明过程,下回分解!

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

推荐阅读更多精彩内容

  • — 秋日的餐桌 暑退秋澄气转凉,日光夜色两均长。 银棉金稻千重秀,丹桂小菊万里香。 秋分,一年中第十六个节气,到了...
    女公子的小书房阅读 562评论 0 0
  • 有人的地方就有比较,物竞天择、适者生存是永恒不灭的真理。虽然现在的竞争没有残酷到连性命都赔进去的地步,但关系到生存...
    独步深蓝阅读 500评论 0 2