密码学基础(三):非对称加密(RSA算法原理)

什么是RSA加密

加密和解密使用的是两个不同的秘钥,这种算法叫做非对称加密。非对称加密又称为公钥加密,RSA只是公钥加密的一种。

数字签名 && 数字证书

现实生活中有签名,互联网中也存在签名。签名的作用有两个,一个是身份验证,一个是数据完整性验证。数字签名通过摘要算法来确保接收到的数据没有被篡改,再通过签名者的私钥加密,只能使用对应的公钥解密,以此来保证身份的一致性。

数字证书是将个人信息和数字签名放到一起,经由CA机构的私钥加密之后生成。当然,不经过CA机构,由自己完成签名的证书称为自签名证书。CA机构作为互联网密码体系中的基础机构,拥有相当高级的安全防范能力,所有的证书体系中的基本假设或者前提就是CA机构的私钥不被窃取,一旦 CA J机构出事,整个信息链将不再安全。

CA证书的生成过程如下:


CA机构颁发的数字证书

证书参与信息传递完成加密和解密的过程如下:


加密和解密

欧拉函数

互质关系:互质是公约数只有1的两个整数,1和1互质,13和13就不互质了。
欧拉函数:表示任意给定正整数 n,在小于等于n的正整数之中,有多少个与 n 构成互质关系,其表达式为:

euler函数

其中,若P为质数,则其表达式可以简写为:

情况一:φ(1)=1
1和任何数都互质,所以φ(1)=1;

情况二:n 是质数, φ(n)=n-1
因为 n 是质数,所以和小于自己的所有数都是互质关系,所以φ(n)=n-1;

情况三:如果 n 是质数的某一个次方,即 n = p^k ( p 为质数,k 为大于等于1的整数),则φ(n)=(p-1)p^(k-1)
因为 p 为质数,所以除了 p 的倍数之外,小于 n 的所有数都是 n 的质数;

情况四:如果 n 可以分解成两个互质的整数之积,n = p1 × p2,则φ(n) = φ(p1p2) = φ(p1)φ(p2)

情况五:基于情况四,如果 p1 和 p2 都是质数,且 n=p1 × p2,则φ(n) = φ(p1p2) = φ(p1)φ(p2)=(p1-1)(p2-1)

而 RSA 算法的基本原理就是欧拉函数中的第五种情况,即: φ(n)=(p1-1)(p2-1);

模反元素

如果两个正整数 a 和 n 互质,那么一定可以找到整数 b,使得 ab-1 被 n 整除,或者说ab被n除的余数是1。这时,b就叫做a的“模反元素”。欧拉定理可以用来证明模反元素必然存在。

可以看到,a的 φ(n)-1 次方,就是a对模数n的模反元素。

RSA算法原理

1、随机选择两个质数并计算乘积

n=p x q = 3233,3233写成二进制是110010100001,一共有12位,所以这个密钥就是12位。

在实际使用中,一般场景下选择1024位长度的数字,更高安全要求的场景下,选择2048位的数字,这里作为演示,选取p=61和q=53;

2、计算n的欧拉函数φ(n)。

因为n、p、q都为质数,所以φ(n) = (p-1)(q-1)=60×52= 3120

3、随机选择一个整数e,条件是1< e < φ(n),且e与φ(n) 互质,即1<e<3120

注意,这里是和φ(n) 互互质而不是n!假设选择的值是17,即 e=17;

4、计算e对于φ(n)的模反元素d

模反元素就是指有一个整数 d,可以使得 ed 被 φ(n) 除的余数为1。表示为:(ed-1)=φ(n)y --> 17d=3120y+1,算出一组解为(2753,15),即 d=2753,y=-15,也就是(172753-1)/3120=15。

注意,这里不能选择3119,否则公私钥相同??

5、生成结果

公钥:(n,e)=(3233,2753)
私钥:(n,d)=(3233,17)

为什么无法破解

公钥是公开的,也就是说m=p*q=3233是公开的,那么怎么求e被?e是通过模反函数求得,17d=3120y+1,e是公开的等于17,这时候想要求d就要知道3120,也就是φ(n),也就是φ(3233),说白了,3233是公开的,你能对3233进行因数分解,你就能知道d,也就能破解私钥。

正常情况下,3233我们可以因数分解为61*53,但是对于很大的数字,人类只能通过枚举的方法来因数分解,所以RSA安全性的本质就是:对极大整数做因数分解的难度决定了RSA算法的可靠性。换言之,对一极大整数做因数分解愈困难,RSA算法愈可靠。

人类已经分解的最大整数是:


分解质因数

这个人类已经分解的最大整数为232个十进制位,768个二进制位,比它更大的因数分解,还没有被报道过,因此目前被破解的最长RSA密钥就是768位。所以实际使用中的1024位秘钥基本安全,2048位秘钥绝对安全。

网上有个段子:

破解 HTTPS 的三种方法

RSA的加密和解密过程

已经得出公私钥的组成:
公钥:(n,e)=(3233,2753)
私钥:(n,d)=(3233,17)
加密的过程就是

m^e ≡ c (mod n)

解密过程如下:

c^d ≡ m (mod n)

其中 m 是要被加密的数字,c 是加密之后输出的结果,且 m < n ,其中解密过程一定成立可以证明的,这里省略证明过程。

总而言之,RSA的加密就是使用模反函数对数字进行加密和求解过程,在实际使用中因为 m < n必须成立,所以就有两种加密方法:

  • 分段加密

  • 使用对称加密加密原文,使用RSA加密对称加密中使用的秘钥

对称加密和非对称加密的区别和联系

对称加密存在虽然快速,但是存在致命的缺点就是秘钥需要传递。非对称加密虽然不需要传递秘钥就可以完成加密和解密,但是其致命缺点是速度不够快,不能用于高频率,高容量的加密场景。所以才有了两者的互补关系,在传递对称加密的秘钥时采用非对称加密,完成秘钥传送之后采用对称加密,如此就可以完美互补。

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

推荐阅读更多精彩内容