十年網(wǎng)站開(kāi)發(fā)經(jīng)驗(yàn) + 多家企業(yè)客戶 + 靠譜的建站團(tuán)隊(duì)
量身定制 + 運(yùn)營(yíng)維護(hù)+專業(yè)推廣+無(wú)憂售后,網(wǎng)站問(wèn)題一站解決
橢圓曲線密碼學(xué)(英語(yǔ):Elliptic Curve Cryptography,縮寫(xiě):ECC)是一種基于橢圓曲線數(shù)學(xué)的公開(kāi)密鑰加密算法。橢圓曲線在密碼學(xué)中的使用是在1985年由Neal Koblitz和Victor Miller分別獨(dú)立提出的。
網(wǎng)站建設(shè)哪家好,找成都創(chuàng)新互聯(lián)公司!專注于網(wǎng)頁(yè)設(shè)計(jì)、網(wǎng)站建設(shè)、微信開(kāi)發(fā)、微信小程序開(kāi)發(fā)、集團(tuán)企業(yè)網(wǎng)站建設(shè)等服務(wù)項(xiàng)目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了泊頭免費(fèi)建站歡迎大家使用!
ECC的主要優(yōu)勢(shì)是在某些情況下它比其他的算法(比如RSA加密算法)使用更小的密鑰并提供相當(dāng)?shù)幕蚋叩燃?jí)的安全。ECC的另一個(gè)優(yōu)勢(shì)是可以定義群之間的雙線性映射,基于Weil對(duì)或是Tate對(duì);雙線性映射已經(jīng)在密碼學(xué)中發(fā)現(xiàn)了大量的應(yīng)用,例如基于身份的加密。
不過(guò)一個(gè)缺點(diǎn)是加密和解密操作的實(shí)現(xiàn)比其他機(jī)制花費(fèi)的時(shí)間長(zhǎng)。
理論上是不能破解的,因?yàn)閙d5采用的是不可逆算法。
有的網(wǎng)站上提供MD5解密,是因?yàn)橛写罅康拇鎯?chǔ)空間來(lái)保存源碼和加密后的密碼,當(dāng)解密時(shí)就是一個(gè)查詢的過(guò)程,稍微復(fù)雜點(diǎn)的查詢就無(wú)法完成。
golang AES加密函數(shù)的使用
AES: Advanced Encryption Standard
高階加密標(biāo)準(zhǔn),是用來(lái)代替 老的DES的。
AES加密算法的加密塊必須是16字節(jié)(128bit),所以不足部分需要填充,常用的填充算法是PKCS7。
AES加密算法的key可以是16字節(jié)(AES128),或者24字節(jié)(AES192),或者是32字節(jié)(AES256)
ECB:Electronic Codebook Book
CBC:Cipher Block Chaining:這是最常見(jiàn)的塊加密實(shí)現(xiàn)
CTR:Counter
CFB:Cipher FeedBack
OFB:Output FeedBack
具體的差異我也沒(méi)去弄明白,知道這么個(gè)意思,加密算法稍后差異。
包括AES,CBC,CTR,OFB,CFB,GCM。
這其中GCM不需要加密塊必須16字節(jié)長(zhǎng)度,可以是任意長(zhǎng)度,其他的都需要16字節(jié)對(duì)其,所以不足部分都需要補(bǔ)充。
3.1 AES
3.2 CBC
3.3 CTR
3.4 OFB
3.5 CFB
3.6 GCM
GCM實(shí)現(xiàn)算法不需要pad。
橢圓曲線密碼學(xué)(英語(yǔ):Elliptic curve cryptography,縮寫(xiě)為 ECC),一種建立公開(kāi)密鑰加密的算法,基于橢圓曲線數(shù)學(xué)。橢圓曲線在密碼學(xué)中的使用是在1985年由Neal Koblitz和Victor Miller分別獨(dú)立提出的。
ECC的主要優(yōu)勢(shì)是在某些情況下它比其他的方法使用更小的密鑰——比如RSA加密算法——提供相當(dāng)?shù)幕蚋叩燃?jí)的安全。
橢圓曲線密碼學(xué)的許多形式有稍微的不同,所有的都依賴于被廣泛承認(rèn)的解決橢圓曲線離散對(duì)數(shù)問(wèn)題的 困難性上。與傳統(tǒng)的基于大質(zhì)數(shù)因子分解困難性的加密方法不同,ECC通過(guò)橢圓曲線方程式的性質(zhì)產(chǎn)生密鑰。
ECC 164位的密鑰產(chǎn)生的一個(gè)安全級(jí)相當(dāng)于RSA 1024位密鑰提供的保密強(qiáng)度,而且計(jì)算量較小,處理速度 更快,存儲(chǔ)空間和傳輸帶寬占用較少。目前我國(guó) 居民二代身份證 正在使用 256 位的橢圓曲線密碼,虛擬 貨幣 比特幣 也選擇ECC作為加密算法。
具體算法詳解參考: