[摘要] SET協(xié)議一般采用DES和RSA加密算法;與RSA相比,ECC體制具有單位比特最高強度的安全性,提出了橢圓曲線密碼體制ECC;在ECC的加密/解密、簽名/驗證簽名的過程中,其核心計算是標量乘法,采用NAF(非相鄰表示型)方法對標量乘法進行優(yōu)化,然后將其運用到SET協(xié)議中,以提高效率。
[關(guān)鍵詞] SET協(xié)議 RSA 橢圓曲線密碼體制ECC 標量乘法NAF(非相鄰表示型)
一、引言
隨著Internet的日益普及和高速發(fā)展,電子商務(wù)也得到了迅速發(fā)展,對社會經(jīng)濟活動產(chǎn)生較大的影響。但是,在電子商務(wù)發(fā)展中當(dāng)前所遇到的主要技術(shù)是電子商務(wù)的安全。SET(Secure Electronic Transaction安全電子交易)是保證網(wǎng)上交易安全性的主要協(xié)議之一。
二、SET協(xié)議
安全電子交易協(xié)議(SET)是為了在Internet上進行在線交易時,保證信用卡支付的安全而設(shè)計開發(fā)的一個開放的規(guī)范。它提供了持卡人、商家和銀行之間的認證,確保支付信息的機密、支付過程的完整、商家及持卡人的合法身份、以及可操作性。
基于SET協(xié)議的購物流程是:持卡人首先瀏覽商家的網(wǎng)站,選擇要購買的商品,然后填寫好訂單,選擇付款方式,最后持卡人發(fā)送一個完整的訂單及要求付款的指令。商家在接收到訂單后,向銀行請求支付認可,銀行到發(fā)卡機構(gòu)確認后,批準交易,并將確認信息返回給商家。商家給持卡人發(fā)回訂單確認信息,收到款后,進行發(fā)貨。
三、橢圓曲線密碼體制ECC及其與RSA的比較
在SET協(xié)議中,采用DES和RSA加密算法實現(xiàn)對數(shù)據(jù)的加密;采用SHA-1和RSA算法實現(xiàn)數(shù)字簽名;與RSA相比,在相同安全強度下,ECC具有密鑰短、處理速度快、存貯空間小、帶寬要求低、功耗小等優(yōu)點,已成為開電子商務(wù)最理想的信息安全核心技術(shù)。
橢圓曲線密碼體制,最早于1985年由Miller和Koblitz分別獨立地提出。它是利用有限域上橢圓曲線的有限點群代替基于離散對數(shù)問題密碼體制中的有限循環(huán)群所得到的一類密碼體制。對于定義在素數(shù)有限域Fp上的橢圓曲線:
其中p≠2,3。這里
四、ECC中點乘快速算法方案NAF-ECC
橢圓曲線密碼體制實現(xiàn)的效率在于橢圓曲線上的運算速度。從文獻中可以得知,ECC的加密/解密、簽名/驗證簽名過程的核心計算是標量乘法,即求點P的n倍。其最基本最簡單的算法是重復(fù)加倍和加(repeated double-and-add)方法,另外典型的方法是NAF(非相鄰表示型)方法,以及各種窗口方法。本文將采用文獻中提出的NAF方法對標量乘法進行優(yōu)化,簡記為NAF-ECC方法。
NAF是對正整數(shù)n的二進制表示進行變形,采用一種特別有用的帶符號數(shù)字表示,且保證沒有兩個相鄰的位是非零,其算法的思想是重復(fù)地除以2。為了獲得正整數(shù)的二元展開,首先用n除以2,提取余數(shù)0或者1,然后用商重復(fù)這個過程直到商為0。為了獲得正整數(shù)n的非鄰近表示形式型,允許余數(shù)是0、1或者-1。如果余數(shù)是1或者-1,則選擇使商為偶數(shù)的余數(shù)。
與重復(fù)加-倍點運算相比,NAF大約節(jié)省了t/6次的點加運算。
五、點乘快速實現(xiàn)算法NAF-ECC在電子商務(wù)SET協(xié)議中的運用
采用更高效的NAF-ECC新方案后,SET協(xié)議的加密和解密流程分別為:
發(fā)送方加密流程為:1.采用NAF-ECC方法對接收方的數(shù)字證書進行認證,以驗證接收方的身份的真?zhèn)?。如果證書是真的,再從證書中提取接收方的簽名公鑰。2.對要發(fā)送的消息進行hash運算,生成消息摘要,并用自己的私鑰對消息摘要進行NAF-ECC方法加密,形成數(shù)字簽名。3.用隨機生成對稱的對稱密鑰對要發(fā)送的消息進行NAF-ECC方法加密,生成消息密文。4.用接收方的公鑰對對稱密鑰進行NAF-ECC加密,得到數(shù)字信封。5.發(fā)送方將消息密文,數(shù)字簽名,數(shù)字信封及數(shù)字證書發(fā)給接收方。
接收方解密流程:1.接收方接收到發(fā)送方的消息后,采用NAF-ECC方法對發(fā)送方的數(shù)字證書進行認證,以驗證發(fā)送方的身份的真?zhèn)巍H绻C書是真的,再從證書中提取發(fā)送方的簽名公鑰。2.采用NAF-ECC方法,接收方用自己的私鑰對數(shù)字信封進行解密,得到對稱密鑰。3.采用NAF-ECC方法,用對稱密鑰對消息密文解密,得到消息明文。4.采用NAF-ECC方法,用發(fā)送方的公鑰對數(shù)字簽名解密,得到消息接要。5.對消息明文進行hash運算,得到重新計算的消息摘要。6.比較4.和5.得到的消息摘要,確認消息的完整性:若兩個摘要相同,說明消息是相應(yīng)方發(fā)送的,且在傳輸過程中沒有被篡改。
六、結(jié)束語
隨著Internet的普及,電子商務(wù)得到了迅速發(fā)展,電子商務(wù)的安全已是一個急需解決的問題。研究橢圓曲線密碼體制是一個熱點,本文提出的一種快速實現(xiàn)算法只是其中的一種嘗試,它在算法實現(xiàn)上更有效。
參考文獻:
[1]祝凌曦:電子商務(wù)安全[M].北京:清華大學(xué)出版社,北京交通大學(xué)出版社.2006
[2]V.Miller.Uses of elliptic curves in cryptography[C].Advances in Cryptology-CRYPTO'85,Lecture Notes in Computer Science,1986,volume 218:417~426
[3]N.Koblitz.Elliptic curve cryptosystems[J].Math.Comp.1987,48:203~209
[4]周玉潔 馮登國編著:公開密鑰算法及其快速實現(xiàn)[M].北京:國防工業(yè)出版社.2002
[5][加]Darrel Hankerson等著:張煥國等譯.橢圓曲線密碼學(xué)導(dǎo)論[M].北京:電子工業(yè)出版社,2005