⑴ ECC橢圓曲線密碼應用
1背景簡介
隨著通訊網路特別是Internet的高速發展,利用網路作為信息交流和信息處理變得越來越普遍,社會的傳統事務和業務運作模式受到前所未有的沖擊。目前,無論是國家政府還是企業都正融入這場網路革命中,從其原來的傳統經營模式向網路模式演化。未來的電子政務、電子商務、電子業務將成為不可逆轉的發展趨勢。在與日俱增的網路活動中,人們越來越關心信息安全這個問題。這集中體現在:
(1)網路的身份認證——確認網路客戶的真實身份
(2)信息和數據的保密性——個人或系統機密信息和數據保護
(3)信息和數據完整性——防止不合法的數據修改
(4)不可抵賴性——網路環境下行為的事後的不可抵賴(數字簽名)
信息安全中最核心的技術是密碼技術,基本上可分為序列密碼、對稱密碼(又稱分組密碼)、非對稱密碼(又稱公鑰密碼)三種。
非對稱密碼演算法是支撐解決以上所涉的四個關鍵方面的問題的核心。目前越來越流行的是基於PKI體系模型的解決方案。在PKI體系模型中,客戶端需要一較好的個人信息安全載體,智能卡或智能密碼鑰匙將是一較理想的方式,都必須支持公鑰演算法,而ECC是最適合使用在這一資源受限制的客戶端產品中。
2 橢圓曲線密碼演算法ECC
自公鑰密碼問世以來,學者們提出了許多種公鑰加密方法,它們的安全性都是基於復雜的數學難題。根據所基於的數學難題來分類,有以下三類系統目前被認為是安全和有效的:
(1)大整數因子分解系統(代表性的有RSA),
(2)有限域(數學中的一種代數結構)離散對數系統(代表性的有DSA),
(3)有限域橢園曲線離散對數系統(ECC)。
當前最著名、應用最廣泛的公鑰系統RSA是由Rivet、Shamir、Adelman提出 的(簡稱為RSA系統),它的安全性是基於大整數素因子分解的困難性,而大整數因子分解問題是數學上的著名難題,至今沒有有效的方法予以解決,因此可以確保RSA演算法的安全性。RSA系統是公鑰系統的最具有典型意義的方法,大多數使用公鑰密碼進行加密和數字簽名的產品和標准使用的都是RSA演算法。RSA方法的優點主要在於原理簡單,易於使用。但是,隨著分解大整數方法的進步及完善、計算機速度的提高以及計算機網路的發展(可以使用成千上萬台機器同時進行大整數分解),作為RSA加解密安全保障的大整數要求越來越大。為了保證RSA使用的安全性,其密鑰的位數一直在增加,比如,目前一般認為RSA需要1024位以上的字長才有安全保障。
但是,密鑰長度的增加導致了其加解密的速度大為降低,硬體實現也變得越來越難以忍受,這對使用RSA的應用帶來了很重的負擔,對進行大量安全交易的電子商務更是如此,從而使得其應用范圍越來越受到制約。DSA(Data Signature Algorithm)是基於有限域離散對數問題的數字簽名標准,它僅提供數字簽名,不提供數據加密功能。安全性更高、演算法實現性能更好的公鑰系統橢圓曲線加密演算法ECC(Elliptic Curve Cryptography)基於有限域上橢圓曲線的離散對數計算困難性。人類研究橢圓曲線已有百年以上的歷史,但真正把其應用到密碼學中是1985年由Koblitz(美國華盛頓大學)和Miller(IBM公司) 兩人提出。定義在有限域(Fp 或F(2m))的橢圓曲線(y2=x3+ax+b)上的點(x,y),再加上無窮點O,如按一定的規則運算(估且稱為乘法)將組成一個群(數學中的一種代數結構)。有限域上橢圓曲線乘法群也有相對應的離散對數計算困難性問題。因此,許多公開密碼系統都是基於此問題發展出來的,如類似ELGamal,DSA等密碼系統的ECES,ECDSA。
3 橢圓曲線加密演算法ECC的優點
橢圓曲線加密演算法ECC與RSA方法相比有著很多技術優點:
●安全性能更高
加密演算法的安全性能一般通過該演算法的抗攻擊強度來反映。ECC和其他幾種公鑰系統相比,其抗攻擊性具有絕對的優勢。橢圓曲線的離散對數計算困難性(ECDLP)在計算復雜度上目前是完全指數級,而RSA 亞指數級的。這體現ECC比RSA的每bit安全性能更高。
●計算量小和處理速度快
在一定的相同的計算資源條件下,雖然在RSA中可以通過選取較小的公鑰(可以小到3)的方法提高公鑰處理速度,即提高加密和簽名驗證的速度,使其在加密和簽名驗證速度上與ECC有可比性,但在私鑰的處理速度上(解密和簽名),ECC遠比RSA、DSA快得多。因此ECC總的速度比RSA、DSA要快得多。同時ECC系統的密鑰生成速度比RSA快百倍以上。因此在相同條件下,ECC則有更高的加密性能。
●存儲空間佔用小
ECC的密鑰尺寸和系統參數與RSA、DSA相比要小得多。160位 ECC與1024位 RSA、DSA有相同的安全強度。而210位 ECC則與2048bit RSA、DSA具有相同的安全強度。意味著它所佔的存貯空間要小得多。這對於加密演算法在資源受限環境上(如智能卡等)的應用具有特別重要的意義。
●帶寬要求低
當對長消息進行加解密時,三類密碼系統有相同的帶寬要求,但應用於短消息時ECC帶寬要求卻低得多。而公鑰加密系統多用於短消息,例如用於數字簽名和用於對對稱系統的會話密鑰傳遞。帶寬要求低使ECC在無線網路領域具有廣泛的應用前景。
4橢圓曲線加密演算法ECC的相關標准
ECC的這些特點使它在某些領域(如PDA、手機、智能卡)的應用將取代RSA,並成為通用的公鑰加密演算法。許多國際標准化組織(政府、工業界、金融界、商業界等)已將各種橢圓曲線密碼體製作為其標准化文件向全球頒布。ECC標准大體可以分為兩種形式:一類是技術標准,即描述以技術支撐為主的ECC體制,主要有IEEEP1363、ANSI X9.62、ANSI X9.63、SEC1、SEC2、FIP 186-2、ISO/IEC 14888-3。規范了ECC的各種參數的選擇,並給出了各級安全強度下的一組ECC參數。另一類是應用標准,即在具體的應用環境中建議使用ECC技術,主要有ISO/IEC 15946、IETF PKIX、IETF TLS、WAP WTLS等。在標准化的同時,一些基於標准(或草案)的各種橢圓曲線加密、簽名、密鑰交換的軟、硬體也相繼問世。美國RSA數據安全公司在1997年公布了包含ECC的密碼引擎工具包BSAFE 4.0; 以加拿大Certicom為首的安全公司和工業界聯合也研製、生產了以橢圓曲線密碼演算法為核心的密碼產品,還提出了各種安全條件下對橢圓曲線離散對數攻擊的懸賞挑戰。可以相信,ECC技術在信息安全領域中的應用會越來越廣。
⑵ 什麼不屬於sm系列國密演算法的是
RSA演算法,AES演算法、SHA演算法、ECC演算法都不屬於。
1、RSA演算法:RSA演算法是一種非對稱加密演算法,由美國三位密碼學家發明,被廣泛應用於網路安全、數字簽名等領域。
2、AES演算法:AES演算法是一種對稱加密演算法,被廣泛應用於數據加密、網路安全等領域,是目前最為流行的加密演算法之一。
3、SHA演算法:SHA演算法是一種哈希演算法,被廣泛應用於數字簽名、彎漏消蠢鬧碧息認證、口令認證等領域,常用的SHA演算法包括SHA-1、SHA-2等。
4、ECC演算法:ECC演算法是一種基於橢圓曲帶舉線密碼學的非對稱加密演算法,具有安全性高、速度快等優勢,被廣泛應用於移動設備、智能卡等場景。