文章內容

article_man_pic

非對稱加密(公開金鑰加密)演算法

Hightech   2017-05-06    A20170506002
點閱 2136
評論 0
進階
article_pic

 

❒ RSA演算法
1978年由Rives、Shamir 及Adleman三位學者發現對極大的整數做因數分解是很困難的,因此可以用來做為非對稱加密演算法。首先我們必須找到兩個極大的質數作為加密與解密的金鑰對(Key pair),分別為「私密金鑰(Private key)」與「公開金鑰(Public key)」,金鑰的長度大約40~1024位元,目前普遍應用在電子商務交易。RSA演算法的安全性決定於對極大整數做因數分解的困難度,換句話說,對極大的整數做因數分解愈困難,RSA演算法愈安全,儘管如此,假如有人找到一種快速因數分解的演算法,那麼RSA加密的安全性就會下降,但是找到這種演算法的可能性極低,只要金鑰的長度夠長,理論上RSA加密是不容易破解的,不幸的是目前雲端運算技術愈來愈成熟,極大的整數做因數分解變得容易,2009年768位元的RSA密碼被破解,讓科學家覺得現在通行的1024位元金鑰可能不夠安全,因此開始有人建議應該升級到2048位元以上才算安全。

 

❒ 數位簽章演算法(DSA:Digital Signature Algorithm)
科學家發現整數有限域離散對數求解是很困難的,因此可以用來做為非對稱加密演算法,1994年美國正式公佈數位簽章標準(DSS:Digital Signature Standard),是目前重要的數位資料防偽技術,可以取代傳統的簽名或蓋章,同樣的,這種演算法具有加密與解密的金鑰對(Key pair),分別為「私密金鑰(Private key)」與「公開金鑰(Public key)」,可以確保資料在網路傳輸過程中沒有被竄改,而且能鑑別傳送者的身分,並防止事後傳送者否認傳送過這個資料,目前國內網路的電子簽章大多使用這種演算法,應用在電子公文、電子契約、電子支票、軟體防偽、網路報稅等,不同文件由相同的簽署者簽署時,產生的數位簽章不同;相同文件由不同的簽署者簽署時,產生的數位簽章也不同。

 

❒ 橢圓曲線密碼(ECC:Elliptic Curve Cryptography)
1985年由Koblitz與Miller各別基於橢圓曲線數學運算而發展的一種非對稱加密演算法,在相同的安全強度下,它的金鑰長度比其他公開金鑰演算法(例如:RSA演算法)還要短而且運算速度較快,換句話說,ECC金鑰的每個位元所能提供的安全性超過其他非對稱加密演算法,因此非常適合應用在智慧卡、智慧型手機、無線行動裝置等記憶體有限的電子產品中,可以用來做加密、解密、數位簽章、金鑰交換等。

 

❒ 對稱式與非對稱式演算法的比較
對稱加密(秘密金鑰)演算法裡的TDES或AES演算法,與非對稱加密(公開金鑰)演算法裡的RSA、DSA,以及非對稱加密(公開金鑰)演算法裡的ECC的比較如<表一>所示,由表中可以看出在相同的安全等級下,ECC演算法所需要的金鑰長度比較短。知識力www.ansforce.com。

 

表一 對稱加密演算法(TDES或AES)與非對稱加密演算法(RSA/DSA或ECC)比較表。

 

【請注意】上述內容經過適當簡化以適合大眾閱讀,與產業現狀可能會有差異,若您是這個領域的專家想要提供意見,請自行聯絡作者;若有產業與技術問題請參與社群討論。
 

【延伸閱讀】其他詳細內容請參考「雲端通訊與多媒體產業,全華圖書公司」。<我要買書