- +1
Comunion 區(qū)塊鏈深度學(xué)習(xí)系列|橢圓曲線數(shù)字發(fā)展史
Comunion 是一個(gè)去中心化的(DAO) 組織協(xié)作網(wǎng)絡(luò),提供面向數(shù)字時(shí)代的全新商業(yè)基礎(chǔ)設(shè)施和價(jià)值轉(zhuǎn)化機(jī)制,致力于讓勞動(dòng)價(jià)值 像 資本一樣自由流通、交易和積累。
本系列內(nèi)容包含:基本概念及原理、密碼學(xué)、共識(shí)算法、錢包及節(jié)點(diǎn)原理、挖礦原理及實(shí)現(xiàn)。
密碼學(xué)有兩類:私鑰密碼學(xué),公鑰密碼學(xué)。也可以稱之為:對(duì)稱密碼學(xué),非對(duì)稱密碼學(xué)。
其中公鑰密碼里面有三個(gè)基本原理:公鑰加密、數(shù)字簽名、密鑰協(xié)商。
本文詳細(xì)闡述的內(nèi)容是:現(xiàn)代密碼學(xué)里面,公鑰密碼學(xué)中數(shù)字簽名中的一種——橢圓曲線數(shù)字簽名。橢圓曲線數(shù)字簽名算法(ECDSA)是使用橢圓曲線對(duì)數(shù)字簽名算法(DSA)的模擬。
學(xué)科為什么這樣分類?數(shù)字簽名是如何出現(xiàn)的?為什么產(chǎn)生?我們一起來(lái)了解一下密碼學(xué)的發(fā)展歷史。
私鑰密碼學(xué)
說(shuō)起密碼學(xué),其實(shí)我們并不陌生,比如二戰(zhàn)期間德國(guó)使用的加密機(jī),在戰(zhàn)爭(zhēng)期間起到了很重要的作用。從那個(gè)時(shí)候就已經(jīng)展現(xiàn)展示出了密碼學(xué)的一些作用和用處。
當(dāng)時(shí)二戰(zhàn)期間德國(guó)使用的密碼機(jī)是恩尼格瑪密碼機(jī)(德語(yǔ)Enigma,又譯啞謎機(jī),或謎)。這個(gè)密碼機(jī)放到當(dāng)前密碼學(xué)學(xué)科里面,屬于經(jīng)典密碼學(xué)。
經(jīng)典密碼學(xué)經(jīng)典密碼是一種密碼類型,過(guò)去歷史上常用,但現(xiàn)代大部分的已經(jīng)不再使用了。經(jīng)典密碼是基于一個(gè)拼音字母(像是 A-Z)、動(dòng)手操作或是簡(jiǎn)單的設(shè)備,以使用了很多的技巧而著稱。
經(jīng)典密碼學(xué)也可能是一種簡(jiǎn)單的密碼法,以致于其效率和安全性并不值得信賴。而我們現(xiàn)在所了解的新密碼學(xué)被稱之為現(xiàn)代密碼學(xué),也就是私鑰密碼學(xué)和公鑰密碼學(xué)。
既然現(xiàn)代密碼學(xué)中分私鑰密碼學(xué)和公鑰密碼學(xué),那么什么是私鑰密碼學(xué)呢?
也就是當(dāng)使用私鑰密碼學(xué)進(jìn)行加密、解密的時(shí)候,使用的密鑰是同一把。
例如,張三和李四進(jìn)行通信,張三將一段明文加密,之后通過(guò)網(wǎng)絡(luò)傳播給李四,李四需要解密這段密文才能看到明文。那么在這個(gè)過(guò)程當(dāng)中,張三進(jìn)行加密的密鑰和李四解密使用的密鑰是相同的。
這里面存在一個(gè)很大的弊端,在這個(gè)傳輸過(guò)程中,李四獲得密鑰的方式有以下兩種:
1.張三和李四私下見(jiàn)面,張三將密鑰當(dāng)面給李四;
2.張三將密鑰直接在線發(fā)給李四。
第一種方式,由于只有兩個(gè)人見(jiàn)面,所以其他人不會(huì)知道,這種方式很安全,但是很不方便,尤其是成本太大。比如一個(gè)人在中國(guó),一個(gè)人在美國(guó)。這還是點(diǎn)對(duì)點(diǎn),如果成千上萬(wàn)的人需要傳輸,那么這種方式根本不可行。
第二種方式,通過(guò)網(wǎng)絡(luò)傳送很方便,但是嚴(yán)格來(lái)說(shuō)是不安全的,因?yàn)橹苯觽魉兔荑€的話,那么相當(dāng)于傳送的數(shù)據(jù)是明文,而其他人可以通過(guò)一些其他方法截獲這些數(shù)據(jù),所以存在很大的安全隱患。
在一個(gè)碩大的網(wǎng)絡(luò)系統(tǒng)當(dāng)中,如果使用私鑰密碼學(xué),就會(huì)存在嚴(yán)重的問(wèn)題,那就是密鑰的共享問(wèn)題,因?yàn)樗借€密碼學(xué)里面加密使用的密鑰和解密使用的密鑰是同一把。要么協(xié)商成本太大,要么存在風(fēng)險(xiǎn)。
這是私鑰密碼學(xué)和其存在的問(wèn)題。科技永遠(yuǎn)是在不斷的革新,有問(wèn)題就要去解決,所以公鑰密碼學(xué)登上了歷史舞臺(tái)。
公鑰密碼學(xué)
在1976年,迪菲和赫爾曼兩個(gè)人提出了一個(gè)具有劃時(shí)代意義的思想,他們指出,在通信雙方之間不直接傳輸加密密鑰的保密通信是可能的。
也就是把密鑰分為加密的公鑰和解密的私鑰,當(dāng)使用這個(gè)密鑰對(duì)傳輸數(shù)據(jù)的時(shí)候,如果用公鑰加密數(shù)據(jù)就必須用私鑰解密,如果用私鑰加密也必須用公鑰解密,否則解密將不會(huì)成功。
這是第一個(gè)實(shí)用的在非保護(hù)信道中建立共享密鑰方法,也可以簡(jiǎn)單理解為將張三加密的密鑰和李四解密的密鑰分成兩把。
例如,張三和李四通過(guò)公鑰加密算法得到一個(gè)唯一的密鑰對(duì)(公鑰和私鑰),兩人各持一把,比如張三持公鑰,李四持私鑰。張三要給李四傳輸秘密數(shù)據(jù),那么張三通過(guò)公鑰進(jìn)行加密,只有持有李四的私鑰才可以將信息進(jìn)行解密。反之,李四通過(guò)私鑰進(jìn)行加密,只有持有張三的公鑰才可以解密。
這樣即使信息在傳送過(guò)程中,即使被第三方截取,也不可能獲取其中的內(nèi)容。
如果在一個(gè)碩大的網(wǎng)絡(luò)系統(tǒng)當(dāng)中,所有人都將自己的公鑰公開,保留自己的私鑰。那么就解決了一個(gè)問(wèn)題:通信雙方都有彼此公鑰,通信時(shí)只要使用對(duì)方公鑰進(jìn)行加密并且傳輸數(shù)據(jù),即便這些加密的密文是完全公開的,但是只有私鑰持有人才能解密數(shù)據(jù)內(nèi)容。
密鑰協(xié)商
密鑰協(xié)商是將上文提出的思想進(jìn)行實(shí)現(xiàn)的過(guò)程,兩人或多人即使沒(méi)有任何關(guān)系,也可以通過(guò)公開的、不安全的通信網(wǎng)絡(luò)進(jìn)行交互,共同建立會(huì)話密鑰,任何一個(gè)參與者均對(duì)結(jié)果產(chǎn)生影響,不需要任何可信的第三方。
其中會(huì)話密鑰由每個(gè)協(xié)議參與者分別產(chǎn)生的參數(shù)通過(guò)一定的計(jì)算得出,這就是密鑰協(xié)商協(xié)議。
密鑰協(xié)商協(xié)會(huì)的生產(chǎn)方式可以分為兩種:證書型和證書型。
證書型,是指在會(huì)話密鑰的產(chǎn)生過(guò)程中,由一個(gè)可信的證書中心給參與密鑰協(xié)商的各方主體分別發(fā)放一個(gè)證書,此證書中含有各方的公鑰,ID及其他信息。優(yōu)點(diǎn)是比較成熟,應(yīng)用面廣泛,公私鑰均有利于統(tǒng)一管理。其缺點(diǎn)是強(qiáng)中心化,因此計(jì)算代價(jià)巨大,并且證書還需要維護(hù)。
無(wú)證書型,是指各方在進(jìn)行會(huì)話密鑰的協(xié)商過(guò)程中不需要證書的參與,不需要可信證的書中心參與,這樣減少了計(jì)算量,同時(shí)安全性和證書型處于同一級(jí)別。其唯一缺點(diǎn)是設(shè)計(jì)起來(lái)比較復(fù)雜,因此現(xiàn)在無(wú)證書型是密鑰協(xié)商協(xié)議的主流種類。
數(shù)字簽名
數(shù)字簽名是只有信息的發(fā)送者才能產(chǎn)生的別人無(wú)法偽造的一段數(shù)字串,這段數(shù)字串同時(shí)也是對(duì)信息的發(fā)送者發(fā)送信息真實(shí)性的一個(gè)有效證明。其作用是用來(lái)做數(shù)據(jù)認(rèn)證的,它能夠鑒定數(shù)據(jù)在網(wǎng)絡(luò)當(dāng)中傳播是否被篡改。
每一種簽名體制其實(shí)都根植于一個(gè)數(shù)學(xué)問(wèn)題,當(dāng)使用公鑰加密完成之后,只有私鑰擁有者才能解密,而其他人不能解密,其原理是基于數(shù)學(xué)問(wèn)題的困難性。
我們通過(guò)代表性的公鑰加密發(fā)展史來(lái)理解一下:
RSA_DSA,是基于整數(shù)分解問(wèn)題設(shè)計(jì)的加密體制,這里的整數(shù)是很大的,比如是2^256長(zhǎng)的比特串,此種加密體制沒(méi)有涉及到數(shù)字簽名。
ElGamal_DSA,是基于離散對(duì)數(shù)問(wèn)題設(shè)計(jì)的加密體制。
EC_DSA,是基于有限運(yùn)算的運(yùn)算對(duì)數(shù)問(wèn)題設(shè)計(jì)的加密體制。
Lattice_DSA,是基于最短象限的尋找問(wèn)題設(shè)計(jì)的加密體制。
這四種加密體制出現(xiàn)的時(shí)間也是遵循從上到下的順序,前三者在量子攻擊面前是十分脆弱的,最后 Lattice_DSA 的出現(xiàn)就是為了抵御量子攻擊,當(dāng)然現(xiàn)階段量子計(jì)算機(jī)從成熟到應(yīng)用還有很長(zhǎng)的一段時(shí)間。
數(shù)字簽名和公鑰的一些聯(lián)系:簽名者使用私鑰進(jìn)行簽名,簽名的私鑰僅對(duì)自簽名者公開,公鑰是公開的,每個(gè)人都可以用公鑰對(duì)私鑰擁有者產(chǎn)生的簽名進(jìn)行驗(yàn)證,來(lái)驗(yàn)證是否是有私鑰擁有者簽署的。
有些朋友會(huì)問(wèn),在區(qū)塊鏈系統(tǒng)系統(tǒng)當(dāng)中,為什么主要使用的是橢圓曲線數(shù)字簽名算法(ECDSA),而不是其它的呢?
如上圖所示,在橢圓曲線密碼體制中,當(dāng)私鑰長(zhǎng)度為160位比特長(zhǎng)度的時(shí)候,其安全級(jí)別是80位(這里的80指的是2的80次方),當(dāng)私鑰長(zhǎng)度為256位比特長(zhǎng)度的時(shí)候,其安全級(jí)別是128位。
這里可以對(duì)比一下其他密碼體制,比如 Elgamal 要想達(dá)到128位安全級(jí)別的話,其私鑰長(zhǎng)度是3072位,是橢圓曲線私鑰長(zhǎng)度的12倍。
而私鑰的長(zhǎng)度對(duì)密碼體制的影響是:私鑰的長(zhǎng)度越長(zhǎng),密碼系統(tǒng)里面的加解密、簽名、驗(yàn)簽算法等,其效率越低。因此,在同樣的安全級(jí)別下,區(qū)塊鏈系統(tǒng)使用了私鑰更短、效率更高的橢圓曲線。
所以,之所以在區(qū)塊鏈系統(tǒng)中主要使用的是橢圓曲線數(shù)字簽名算法,主要是因?yàn)樵跀?shù)字簽名算法中,橢圓曲線數(shù)字簽名算法能夠以相對(duì)較短的密鑰長(zhǎng)度達(dá)到更高的安全級(jí)別。
本文為澎湃號(hào)作者或機(jī)構(gòu)在澎湃新聞上傳并發(fā)布,僅代表該作者或機(jī)構(gòu)觀點(diǎn),不代表澎湃新聞的觀點(diǎn)或立場(chǎng),澎湃新聞僅提供信息發(fā)布平臺(tái)。申請(qǐng)澎湃號(hào)請(qǐng)用電腦訪問(wèn)http://renzheng.thepaper.cn。
- 澎湃新聞微博
- 澎湃新聞公眾號(hào)
- 澎湃新聞抖音號(hào)
- IP SHANGHAI
- SIXTH TONE
- 報(bào)料熱線: 021-962866
- 報(bào)料郵箱: news@thepaper.cn
滬公網(wǎng)安備31010602000299號(hào)
互聯(lián)網(wǎng)新聞信息服務(wù)許可證:31120170006
增值電信業(yè)務(wù)經(jīng)營(yíng)許可證:滬B2-2017116
? 2014-2025 上海東方報(bào)業(yè)有限公司