公鑰加密算法和數(shù)字簽名
PKI的核心思想基礎(chǔ)是非對(duì)稱式的公鑰密碼系統(tǒng)。公鑰算法基于數(shù)學(xué)函數(shù)而不是基于替換、置換,公鑰密碼系統(tǒng)依賴公鑰、私鑰一對(duì)密碼,公鑰用來(lái)加密和簽名認(rèn)證,私鑰則用來(lái)解密和簽名。
RSA是被研究得最廣泛的公鑰算法,算法名稱來(lái)自于MIT三位發(fā)明人的姓氏首字母。從1977年提出到現(xiàn)在已近三十年,經(jīng)歷了各種攻擊的考驗(yàn),逐漸為人們接受,普遍認(rèn)為是目前最優(yōu)秀的公鑰方案之一。
RSA基于大整數(shù)因子分解的困難性,而大數(shù)分解目前是數(shù)學(xué)上的著名難題,至今沒(méi)有有效的方法解決,因此可以保證算法足夠的安全性。RSA可以自主選擇密鑰長(zhǎng)度,密鑰越長(zhǎng),它就越難破解。根據(jù)已經(jīng)披露的文獻(xiàn),目前被破解的最長(zhǎng)RSA密鑰是768位。也就是說(shuō),長(zhǎng)度超過(guò)768位的密鑰,還無(wú)法破解(至少?zèng)]人公開(kāi)宣布)。因此可以認(rèn)為,1024位的RSA密鑰基本安全,2048位的密鑰極其安全。
由于進(jìn)行的都是大數(shù)計(jì)算,使得RSA算法的速度比同等安全級(jí)別的對(duì)稱加密算法要慢一千倍左右。
另外一個(gè)重要的公鑰密碼系統(tǒng)是基于橢圓曲線離散對(duì)數(shù)計(jì)算困難性的ECC系統(tǒng),橢圓曲線機(jī)密算法ECC于1985年提出,破解ECC算法需要指數(shù)級(jí)的運(yùn)算,而破解RSA算法只需要次指數(shù)級(jí)的運(yùn)算。
ECC與RSA相比,同等的安全性,ECC算法需要的密鑰長(zhǎng)度更短,比如160位的ECC與1024位的RSA安全性相當(dāng)。密鑰長(zhǎng)度更短,速度更快,帶寬要求越低。
數(shù)字簽名是不對(duì)稱算法加密算法的應(yīng)用典型,用于確保數(shù)據(jù)的完整性并保護(hù)數(shù)據(jù),認(rèn)證發(fā)送者身份,防止交易中抵賴的發(fā)生?;诠€、私鑰密碼體系,都可以獲得數(shù)字簽名,目前主要是基于公鑰體系的數(shù)字簽名,普通的數(shù)字簽名算法主要有RSA、ECC、DSA算法等,特殊的數(shù)字簽名算法有盲簽名、代理簽名等。
PKI的系統(tǒng)組成及標(biāo)準(zhǔn)
END
掃描二維碼獲取
聯(lián)系客服