小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

現(xiàn)代密碼學(xué)核心——非對稱加密

 吳雨虹2kzpi83a 2020-04-25

一路狂奔的密碼學(xué),終于在上個世紀70年代中期迎來了它發(fā)展史上最重要的一刻:非對稱加密的出現(xiàn)。所謂非對稱,就是指加密和解密使用不同的密鑰。非對稱加密算法以及基于它構(gòu)建的公鑰基礎(chǔ)設(shè)施體系(Public Key Infrastructure,簡稱PKI)已經(jīng)是現(xiàn)代密碼學(xué)的主體內(nèi)容,也基本占據(jù)了信息安全學(xué)科的半壁江山。

之前已經(jīng)討論過,雖然對稱加密算法已經(jīng)很牛了,但如何在不安全的網(wǎng)絡(luò)上傳輸對稱密鑰是個致命問題。這時候,又得數(shù)學(xué)家出來解決問題了(所以說,密碼學(xué)家首先都是數(shù)學(xué)家)。一些聰明的數(shù)學(xué)家發(fā)現(xiàn),根據(jù)某些數(shù)學(xué)原理,可以構(gòu)造出加密和解密使用不同的密鑰的數(shù)學(xué)模型。最早提出這個觀點的是Whitfield DiffieMartin Hellman,他們在1976年提出了Diffie-Hellman密鑰交換協(xié)議,這個協(xié)議的創(chuàng)新之處在于密鑰由加解密雙方協(xié)商產(chǎn)生,而不用再通過網(wǎng)絡(luò)傳輸。雖然這個協(xié)議實際上提出的是密鑰協(xié)商的算法,不支持加密和數(shù)字簽名,但由于它開創(chuàng)性的提出了使用不同密鑰的解決思路,人類終于可以實現(xiàn)非對稱加密了。兩位大神也因此貢獻獲得了2015年的圖靈獎。

Whitfield Diffie和Martin Hellman.jpg

Diffie-Hellman密鑰交換協(xié)議提出的第二年,終于、終于、幾乎是現(xiàn)代密碼學(xué)代名詞的RSA算法終于粉墨登場了。RSA過于出名,我想即使是不知道它的含義的IT工程師,都見過這個名字。相比Diffie-Hellman密鑰交換協(xié)議,RSA算法是完備的,它不僅包含密鑰產(chǎn)生,而且可加密、可簽名。RSA的核心思想是產(chǎn)生一對密鑰,這對密鑰在數(shù)學(xué)上地位完全平等,它們的特點是用其中一個密鑰加密生成的密文,只能用另一個密鑰解密。RSA算法的安全性來源于質(zhì)數(shù)(素數(shù))的特質(zhì)。質(zhì)數(shù)大家都知道,就是只能分解成1和它本身乘積的自然數(shù)。我們把兩個非常大的質(zhì)數(shù)(想多大都可以)相乘,很容易就可以得到一個乘積結(jié)果,但根據(jù)這個結(jié)果分解出那兩個質(zhì)數(shù),卻是相當(dāng)困難的。RSA的安全就是靠這種大質(zhì)數(shù)乘積難以分解的數(shù)學(xué)原理(PS:質(zhì)數(shù)真的很神奇)。RSA具體實現(xiàn)算法其實不是特別的難,有一些數(shù)論知識就可以理解,有興趣的同學(xué)可以自行研究。RSA算法雖然是三個字母的大寫,但它并不是像DES那樣的算法單詞首字母縮寫,而是提出它的三位發(fā)明者的姓氏首字母縮寫:Ron RivestAdi ShamirLeonard Adleman.RSA.jpg

有了RSA,非對稱加密的過程也就水到渠成了。在非對稱加解密的世界里,每個人都有一對屬于自己的RSA密鑰,其中一個密鑰公開,叫公鑰,另外一個密鑰私藏,叫私鑰。至于哪個公開哪個私藏都無所謂。然后你給某個人發(fā)送一條信息時,你先用他的公鑰加密信息,再把加密后的密文傳遞過去。接收者拿到密文后,用他的私鑰來解密密文,得到明文。如果有第三方竊取了傳輸?shù)拿芪?,由于他沒有接收者的私鑰,也無法解密密文。簡潔既是美,這就是現(xiàn)代密碼學(xué)理論的核心,非對稱加密的整個過程。非對稱加密.jpg

非對稱加密解決了對稱加密的密鑰安全問題,但它的運算速度比對稱加密慢很多,而且是解密比加密更慢。據(jù)計算,RSA最快的速度也只是DES運算速度的百分之一。因此非對稱加密適用于被加密數(shù)據(jù)比較小的情況。所以在實際應(yīng)用環(huán)境下,一般是將對稱加密和非對稱加密結(jié)合起來使用:首先隨機產(chǎn)生一個密鑰,使用這個密鑰作為對稱密鑰加密消息明文,然后用接收者公鑰加密上一步使用的對稱密鑰,把加密后的消息密文和對稱密鑰密文發(fā)送給接收者;接收者收到密文后,先用自己的私鑰解密對稱密鑰密文,再用對稱密鑰解密消息密文,最后得到消息明文。在實踐中,加密后的消息密文和對稱密鑰密文被稱作數(shù)字信封,數(shù)字信封支持包含多個對稱密鑰密文,即可以一次完成對多個接收者的消息加密,而明文只用加密一次。數(shù)字信封.jpg

和對稱加密算法一樣,非對稱加密的接口在各個操作系統(tǒng)平臺上也都是標配,數(shù)字信封什么的也都是妥妥的,開發(fā)者在編程時調(diào)用相關(guān)接口即可。

RSA問世以來的幾十年內(nèi),經(jīng)歷了無數(shù)的攻擊和挑戰(zhàn),實踐證明它是優(yōu)秀、可靠的,目前仍占據(jù)非對稱加密算法的主要地位。不過沒有絕對的信息安全,也沒有完美的算法。RSA本身有以下幾個缺點:

一是前面講了RSA算法的安全性是基于大質(zhì)數(shù)乘積難以分解的原理。但從數(shù)學(xué)理論上并沒有證明RSA算法的破解難度就等同于大質(zhì)數(shù)乘積難以分解的難度,這一點連RSA的發(fā)明者也承認。

二是RSA算法在實踐中的時通過密鑰體現(xiàn)大質(zhì)數(shù)乘積,所以密鑰越長,破解難度越大。我記得上學(xué)時就已經(jīng)有報道說對1024位密鑰長度的RSA加密,暴力破解需要當(dāng)時最快的電腦計算幾年,所以是足夠安全的。但由于計算機算力的發(fā)展,并行計算、云計算的突起,1024位的RSA加密已經(jīng)認為是不夠安全了,很多場合已經(jīng)推薦使用2048位密鑰長度了。但由于RSA算法天生速度慢,資源消耗大,增加密鑰長度只會使加解密速度進一步變慢,尤其在手機等移動端應(yīng)用時,還會帶來耗電增加,發(fā)熱量等問題。

此外,量子計算機一直被認為是最終破解RSA算法的大殺器。相對于電子計算機的01兩態(tài),量子計算機可以擁有78個基本態(tài),從原理上的計算能力就比電子計算機高幾個數(shù)量級。據(jù)說理論上,量子計算機幾個小時就可以破解1024位的RSA加密。

由于上述的 RSA 算法存在的缺點,另外一種非對稱算法----橢圓加密算法逐漸發(fā)展起來。橢圓加密算法(Elliptic curve cryptography,縮寫為ECC)最初由KoblitzMiller兩人于1985年提出,其數(shù)學(xué)基礎(chǔ)是利用橢圓曲線上離散對數(shù)的計算困難性。和RSA相比,ECC抗攻擊性強、資源占用少、加密速度快。實現(xiàn)相等安全強度,ECC使用的密鑰長度比RSA小很多,適用的場景更廣泛。ECC的使用過程和RSA基本一致,上面兩幅插圖也完全同樣適用。ECC的國產(chǎn)版本是SM2算法,目前在國內(nèi)已經(jīng)廣泛使用,各位工程師如果在開發(fā)中遇到加密功能需求,大概率是要使用這種算法。雖然SM2算法還沒有包含Windows\IOS\Android等主流操作系統(tǒng)中,但它已經(jīng)是國家標準,國內(nèi)各大安全廠商都有底層產(chǎn)品庫實現(xiàn),在系統(tǒng)中集成也不困難。

總結(jié),非對稱加密提出了公私鑰的概念,開創(chuàng)了公鑰基礎(chǔ)設(shè)施體系。

    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多