中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

RSA算法的知識點有哪些

發布時間:2022-01-15 10:51:19 來源:億速云 閱讀:124 作者:iii 欄目:互聯網科技

本篇內容主要講解“RSA算法的知識點有哪些”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“RSA算法的知識點有哪些”吧!

什么是RSA

前面文章我們講了AES算法,AES算法是一種是對稱加密算法,本文我們來介紹一個十分常用的非對稱加密算法RSA。

非對稱加密算法也叫公鑰密碼算法,通過生成的公私鑰來對明文密文進行加密解密。 RSA的名字是由它的三個開發者Ron Rivest, Adi Shamir和 Leonard Adleman的首字母而來的。

RSA公司在1983年為RSA算法申請了專利。

RSA的加密

RSA的加密可以用下面的公式來表示:

密 文 = 明 文 E   m o d   N 密文=明文^E\ mod\ N 密文=明文E mod N

通過公式我們可以知道RSA的密文是通過明文的E次方再對N進行mod運算得到的。這個加密過程只用到了階乘和取模運算,可以算是非常簡單明了了。

簡潔的才是最好的,這可能也是RSA算法這么通用的原因吧。

如果知道了E和N,那么就可以得到密文,所以我們把E和N的組合稱為公鑰,可以這樣表示 公鑰{E,N}。

如何選擇E和N是一個復雜的數學過程,我們會在后面講到。

RSA的解密

先看一下RSA解密的公式:

明 文   =   密 文 D   m o d   N 明文\ =\ 密文^D\ mod\ N 明文 = 密文D mod N

通過公式可以看到,明文是通過密文的D次方,再和N取模得到的。這里的N和加密的N是同一個數字。

D和N的組合表示為私鑰{D,N}。

N,E,D的生成

知道了RSA的加密和解密原理之后,接下來我們就要探討一下加密和解密過程中的N,E,D是怎么生成的。

生成過程如下:

1. 生成N

生成N的公式如下:

N = p ? q N=p*q N=p?q

p和q是兩個很大的質數,太小的話容易被破譯,太大的話會影響計算速度。通常p和q的大小為1024比特。這兩個數是通過偽隨機數生成器生成的。偽隨機數生成器不能直接生成質數,它是通過不斷的重試得到的。

2. 求L

L是一個中間數,它和p,q一樣,不會出現在RSA的加密和解密過程。

L的計算公式如下:

L = l c m ( p ? 1 , q ? 1 ) L=lcm(p-1, q-1) L=lcm(p?1,q?1)

L是p-1和q-1的最小公倍數

3. 求E

E就是用來加密的公鑰了,E是一個比1大,比L小的數。并且E和L必須互質。只有E和L互質才能計算出D值。

1 < E < L 1< E < L 1<E<L

g c d ( E , L ) = 1 gcd(E,L)=1 gcd(E,L)=1

這里E也是通過偽隨機數生成器來生成的。

找到了E和N,我們的公鑰就生成了。

4. 求D

計算D的公式如下:

1 < D < E 1<D<E 1<D<E

E ? D   m o d   L = 1 E*D\ mod\ L=1 E?D mod L=1

破解RSA

如果想破解RSA, 對于密碼破解者來說,他知道了公鑰{E,N}, 知道了密文,根據公式:

密 文 = 明 文 E   m o d   N 密文=明文^E\ mod\ N 密文=明文E mod N

有沒有可能直接通過已知的三個變量,求出未知變量明文呢?

這個求解其實是一個離散對數的問題。目前還沒有發現求離散對數的高效的方法。可以說是非常困難的。

那么有沒有可能通夠暴力破解來得出密鑰中的D呢?

目前RSA算法中p和q的長度一般為1024比特以上,生成的N的長度為2048比特以上,E和D的長度和N差不多,如果要暴力破解2048比特的D是非常困難的。

由公式:

E ? D   m o d   L = 1 E*D\ mod\ L=1 E?D mod L=1

可知,如果破解者知道了L的值,那么就可以輕易的求出D。而L是通過p和q計算出來的,所以p和q一定要保密,否則跟密碼泄露是一樣的。

因為 N= p * q , 而p和q都是質數, N又是已知的,那么我們可不可以通過質因數分解來得到 p和q呢?

目前來說,還沒有有效的對大整數進行質因素分解的高效算法,所以目前來說RSA算法還是很安全的,但是一旦有這樣的算法出現,那么RSA將會很容易被攻破。

所以官方推薦:1024比特的RSA算法不應該被用于新的用途。2048比特的RSA算法可以用到2030年,4096比特的算法可以用到2031年。

到此,相信大家對“RSA算法的知識點有哪些”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

rsa
AI

鄢陵县| 东乌| 甘洛县| 分宜县| 宝鸡市| 龙胜| 锡林浩特市| 玛沁县| 门头沟区| 沁阳市| 全南县| 永修县| 大安市| 清远市| 莱阳市| 扎赉特旗| 正镶白旗| 奇台县| 中山市| 井陉县| 班玛县| 海安县| 苗栗县| 肇源县| 达州市| 邯郸市| 五常市| 梅州市| 开阳县| 林周县| 南和县| 顺平县| 三都| 图片| 昌图县| 海伦市| 辽阳县| 大石桥市| 宣武区| 扎囊县| 镇平县|