導航:首頁 > 源碼編譯 > 加密演算法2048位

加密演算法2048位

發布時間:2022-12-31 02:56:51

① RSA演算法詳解

總括: 本文詳細講述了RSA演算法詳解,包括內部使用數學原理以及產生的過程。

相濡以沫。到底需要愛淡如水。

之前寫過一篇文章 SSL協議之數據加密過程 ,裡面詳細講述了數據加密的過程以及需要的演算法。SSL協議很巧妙的利用對稱加密和非對稱加密兩種演算法來對數據進行加密。這篇文章主要是針對一種最常見的非對稱加密演算法——RSA演算法進行講解。其實也就是對私鑰和公鑰產生的一種方式進行描述。首先先來了解下這個演算法的歷史:

RSA是1977年由 羅納德·李維斯特 (Ron Rivest)、 阿迪·薩莫爾 (Adi Shamir)和 倫納德·阿德曼 (Leonard Adleman)一起提出的。當時他們三人都在 麻省理工學院 工作。RSA就是他們三人姓氏開頭字母拼在一起組成的。

但實際上,在1973年,在英國政府通訊總部工作的數學家 克利福德·柯克斯 (Clifford Cocks)在一個內部文件中提出了一個相同的演算法,但他的發現被列入機密,一直到1997年才被發表。

所以誰是RSA演算法的發明人呢?不好說,就好像貝爾並不是第一個發明電話的人但大家都記住的是貝爾一樣,這個地方我們作為旁觀者倒不用較真,重要的是這個演算法的內容:

RSA演算法用到的數學知識特別多,所以在中間介紹這個演算法生成私鑰和公鑰的過程中會穿插一些數學知識。生成步驟如下:

隨意選擇兩個大的質數p和q,p不等於q,計算N=p*q;

什麼是質數?我想可能會有一部分人已經忘記了,定義如下:

比如2,3,5,7這些都是質數,9就不是了,因為3*3=9了

r = φ(N) = φ(p)φ(q) = (p-1)(q-1) 。

這里的數學概念就是什麼是歐拉函數了,什麼是歐拉函數呢?

歐拉函數 的定義:

互質 的定義:

例如: φ(8) = 4 ,因為 1,3,5,7 均和 8 互質。

推導歐拉函數:

(1)如果 n = 1 , φ(1) = 1 ;(小於等於1的正整數中唯一和1互質的數就是1本身);

(2)如果 n 為質數, φ(n) = n - 1 ;因為質數和每一個比它小的數字都互質。比如5,比它小的正整數1,2,3,4都和他互質;

(3) 如果 n 是 a 的 k 次冪,則 φ(n) = φ(a^k) = a^k - a^(k-1) = (a-1)a^(k-1) ;

(4) 若 m , n 互質,則 φ(mn) = φ(m)φ(n)

證明: 設 A , B , C 是跟 m , n , mn 互質的數的集,據 中國剩餘定理 (經常看數學典故的童鞋應該了解,剩餘定理又叫韓信點兵,也叫孫子定理), A * B 和 C 可建立雙射一一對應)的關系。(或者也可以從初等代數角度給出 歐拉函數積性的簡單證明 ) 因此的φ(n)值使用 算術基本定理 便知。(來自維基網路)

選擇一個小於r並與r互質的整數e,求得e關於r的模反元素,命名為 d ( ed = 1(mod r) 模反元素存在,當且僅當e與r互質), e 我們通常取65537。

模反元素:

比如 3 和 5 互質, 3 關於 5 的模反元素就可能是2,因為 3*2-1=5 可以被5整除。所以很明顯模反元素不止一個,2加減5的整數倍都是3關於5的模反元素 {...-3, 2,7,12…} 放在公式里就是 3*2 = 1 (mod 5)

上面所提到的歐拉函數用處實際上在於歐拉定理:

歐拉定理:

歐拉定理就可以用來證明模反元素必然存在。

由模反元素的定義和歐拉定理我們知道, a 的 φ(n) 次方減去1,可以被n整除。比如,3和5互質,而 5 的歐拉函數 φ(5) 等於4,所以 3 的 4 次方 (81) 減去1,可以被 5 整除( 80/5=16 )。

小費馬定理:

此時我們的 (N , e) 是公鑰, (N, d) 為私鑰,愛麗絲會把公鑰 (N, e) 傳給鮑勃,然後將 (N, d) 自己藏起來。一對公鑰和私鑰就產生了,然後具體的使用方法呢?請看: SSL協議之數據加密過程詳解

我們知道像RSA這種非對稱加密演算法很安全,那麼到底為啥子安全呢?
我們來看看上面這幾個過程產生的幾個數字:

N 和 e 我們都會公開使用,最為重要的就是私鑰中的 d , d 一旦泄露,加密也就失去了意義。那麼得到d的過程是如何的呢?如下:

所以得出了在上篇博客說到的結論,非對稱加密的原理:

將a和b相乘得出乘積c很容易,但要是想要通過乘積c推導出a和b極難。即對一個大數進行因式分解極難

目前公開破譯的位數是768位,實際使用一般是1024位或是2048位,所以理論上特別的安全。

RSA演算法的核心就是歐拉定理,根據它我們才能得到私鑰,從而保證整個通信的安全。

② 1024位的RSA加密速度到2015年最快達到多少2048位的呢

RSA的演算法現在基本是固定的,加密速度和你的硬體有關,硬體越好,速度越快。
雖然說RSA算是比較慢的一種加密演算法了,但是他的安全性很好,幾乎沒有一種完善的破解方式,而且就目前來說,速度也還能接受,算是比較主流的一種數據加密方式。許多https證書加密就是RSA,而且是2048位的加密。
但要是說具體有多快就不清楚了。

③ RSA 加密演算法 談到的 1024 2048bit 是什麼意思

bit中文名稱是位,音譯「比特」,是用以描述電腦數據量的最小單位。
二進制數系統中,每個0或1就是一個位(bit)。
單位換算
1Byte=8bit
1KB=1024Byte(位元組)=8*1024bit
1MB=1024KB
1GB=1024MB
1TB=1024GB
二進制數系統中,每個0或1就是一個位(bit),位是數據存儲的最小單位。其中8bit就稱為一個位元組(Byte)。計算機中的CPU位數指的是CPU一次能處理的最大位數。例如32位計算機的CPU一次最多能處理32位數據。

④ 常用的非對稱加密演算法有哪些

稱加密技術的優點加密一計算量下,速度快。缺點是,加密方和解密方必須協商好秘鑰,且保證秘鑰安全,如果一方泄露了秘鑰整個通信就會被破解,加密信息就不再安全了。

和對稱加密技術只使用一個秘鑰不同,非對稱機密技術使用兩個秘鑰進行加解密,一個叫做公鑰,一個叫做私鑰,私鑰自己來保管,公鑰可以公開,使用公鑰加密的數據必須使用私鑰解密,反之亦然公鑰和私鑰是兩個不同的秘鑰,因為這種加密方法被稱為非對稱幾秒技術。相比於對稱加密技術,非對稱加密技術安全性更好,但性能更慢。

在互聯網後端技術中非對稱加密技術主要用於登錄、數字簽名、數字證書認證等場景。

常用的非對稱加密演算法有:

RSA:RSA 是一種目前應用非常廣泛、歷史也比較悠久的非對稱秘鑰加密技術,在1977年被麻省理工學院的羅納德·李維斯特(Ron Rivest)、阿迪·薩莫爾(Adi Shamir)和倫納德·阿德曼(Leonard Adleman)三位科學家提出,由於難於破解,RSA 是目前應用最廣泛的數字加密和簽名技術,比如國內的支付寶就是通過RSA演算法來進行簽名驗證。它的安全程度取決於秘鑰的長度,目前主流可選秘鑰長度為 1024位、2048位、4096位等,理論上秘鑰越長越難於破解,按照維基網路上的說法,小於等於256位的秘鑰,在一台個人電腦上花幾個小時就能被破解,512位的秘鑰和768位的秘鑰也分別在1999年和2009年被成功破解,雖然目前還沒有公開資料證實有人能夠成功破解1024位的秘鑰,但顯然距離這個節點也並不遙遠,所以目前業界推薦使用 2048 位或以上的秘鑰,不過目前看 2048 位的秘鑰已經足夠安全了,支付寶的官方文檔上推薦也是2048位,當然更長的秘鑰更安全,但也意味著會產生更大的性能開銷。

DSA:既 Digital Signature Algorithm,數字簽名演算法,他是由美國國家標准與技術研究所(NIST)與1991年提出。和 RSA 不同的是 DSA 僅能用於數字簽名,不能進行數據加密解密,其安全性和RSA相當,但其性能要比RSA快。

ECDSA:Elliptic Curve Digital Signature Algorithm,橢圓曲線簽名演算法,是ECC(Elliptic curve cryptography,橢圓曲線密碼學)和 DSA 的結合,橢圓曲線在密碼學中的使用是在1985年由Neal Koblitz和Victor Miller分別獨立提出的,相比於RSA演算法,ECC 可以使用更小的秘鑰,更高的效率,提供更高的安全保障,據稱256位的ECC秘鑰的安全性等同於3072位的RSA秘鑰,和普通DSA相比,ECDSA在計算秘鑰的過程中,部分因子使用了橢圓曲線演算法。

⑤ RSA加密演算法最多支持多少位,最少多少位,較合理的又是多少位,求解

最少幾位都可以,最多幾位都可以,根據安全性,現在通用的是512以上,1024位和2048位比較安全。少了比較容易破解掉,多了計算非常慢

⑥ 加密程序中,什麼加密演算法2048位,這個是什麼意思是不是說它的密鑰長度為2048位密鑰長度如果

一個漢字16位,也就128個漢字

閱讀全文

與加密演算法2048位相關的資料

熱點內容
山西有什麼app 瀏覽:406
app怎麼樣購買內存 瀏覽:30
如何注冊sqlserver伺服器 瀏覽:76
上士命令 瀏覽:490
股市中帶星號的app是什麼 瀏覽:709
什麼路由可以刷機做列印機伺服器 瀏覽:7
電腦怎麼找到雲伺服器 瀏覽:871
微信怎麼發應用app 瀏覽:776
花生殼dns伺服器地址 瀏覽:648
squad伺服器一般什麼時候人多 瀏覽:479
程序員戰門課 瀏覽:474
config保存伺服器地址 瀏覽:317
預訂網吧座位的app叫什麼 瀏覽:416
香港伺服器主機地址 瀏覽:640
網店美工pdf 瀏覽:447
一堆文件夾怎麼弄出來 瀏覽:743
博途如何編譯硬體 瀏覽:418
fortran程序pdf 瀏覽:504
電池消耗演算法 瀏覽:394
伺服器中斷連接怎麼處理 瀏覽:222