欢迎来到天天文库
浏览记录
ID:19286739
大小:374.50 KB
页数:15页
时间:2018-09-30
《结合智慧卡的ecdsa数位签章软体设计与实现》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、2006電子商務與數位生活研討會結合智慧卡的ECDSA數位簽章軟體設計與實現張惟淙國立高雄師範大學資訊教育研究所bug@icemail.nknu.edu.tw楊中皇國立高雄師範大學資訊教育研究所chyang@nknucc.nknu.edu.tw摘要數位簽章是用途非常廣泛的資訊安全技術,尤其在電子商務應用上,是不可或缺的交易安全保護要件。目前具備數位簽章功能的軟體,如網際網路瀏覽器或電子郵件收發軟體,大多都採用RSA演算法。近年來,橢圓曲線密碼系統(EllipticCurveCryptosyste
2、m,ECC),已經開始挑戰RSA。就相同的安全性而言,ECC所需要的密碼學金鑰長度較RSA短,而且有更佳的執行效率,這個特性使得ECC相當適合用於智慧卡、手機或其他無線行動裝置。本研究即在發展一個結合智慧卡應用的橢圓曲線數位簽章軟體,我們使用JavaCard作為ECC金鑰存取的媒介,並以此軟體產生及檢驗ECDSA數位簽章(EllipticCurveDigitalSignatureAlgorithm,ECDSA),簽章產生過程中用以計算訊息摘要的雜湊函數演算法則採用SHA-2演算法。使用者可將持有
3、的智慧卡視為鑰匙環(Keyring),用以存放本身的公開金鑰(Publickey)與秘密金鑰(Privatekey),以及通訊對方的公開金鑰,金鑰經由卡片存取能提升使用上的便利與安全。使用者藉此與他人進行安全通訊時,得以確認對方身份及所傳送訊息的完整性。關鍵字:密碼學、橢圓曲線、數位簽章、智慧卡、ECDSA壹、前言-15-2006電子商務與數位生活研討會數位簽章是公開金鑰演算法最重要的應用,普遍用於維護電子商務交易安全。現今大部分具備數位簽章功能的軟體,如網路瀏覽器或電子郵件軟體,幾乎都是採用R
4、SA作為數位簽章演算法。近年來,為了保持RSA的安全性,金鑰的位元長度逐漸有增加的需求,亦因此加重使用RSA演算法的大量安全交易平台之處理負擔。西元1985年時,美國華盛頓大學的NealKoblitz教授(Koblitz,1986)及IBM的VictorMiller(Miller,1987)分別提出以橢圓曲線演算法設計公開金鑰演算法的密碼技術,此後更發展出許多橢圓曲線密碼系統(EllipticCurveCryptosystem,ECC)的國際標準,如ISO11770-3、ANSIX9.62、IE
5、EEP1363、FIPS186-2等。就相同的安全性而言,ECC所需要的密碼學金鑰長度較RSA短,如表一所示(NIST,2003)。所以無論從增快執行速度或節省空間的角度來看,可見ECC是優於RSA。表一 相同安全性時,RSA與ECC金鑰長度比較(NIST,2003)安全性演算法2802112212821922256RSA金鑰長度(bits)102420483072768015360ECC金鑰長度(bits)160224256384512金鑰長度比6:19:112:120:130:1本研究目的在
6、於發展一個結合智慧卡的ECDSA數位簽章軟體,我們使用JavaCard作為ECC金鑰存取媒介,並透過軟體產生ECDSA數位簽章,其中產生與檢驗簽章過程會用到的雜湊函數演算法,則採用SHA-2演算法。使用者可以將持有的JavaCard視為鑰匙環,其中除存放本身的公開金鑰與秘密金鑰外,還可存放通訊對方的公開金鑰,藉此與他人進行安全通訊時,用以確認其身份及所傳送訊息的完整性。貳、文獻探討一、橢圓曲線密碼學(EllipticCurveCryptography)(一)、橢圓曲線密碼學原理簡介橢圓曲線的密碼
7、學技術不僅可以用於數位簽章、金鑰交換及加解密,還可應用在大數分解(Factorization)與質數判斷(Primalitytesting)。-15-2006電子商務與數位生活研討會橢圓曲線的通用方程式如下:y2+a1xy+a3y=x3+a2x2+a4x+a6(1)密碼學的橢圓曲線是由滿足該方程式的所有點(x,y)及一個無限遠點(Pointatinfinity)O所形成的集合,座標x與y屬於某個有限體(finitefield)。目前軟硬體具體實現的有限體為質數體(Primefield,GF(p)
8、)、二元體(Binaryfield,GF(2n))、最佳擴展體(Optimalextensionfield,GF(pn))等三種(BaileyandPaar,2001)。橢圓曲線上的點可進行兩點間之加法(Menezes,1993;SilvermanandTate,1992)。幾何上,如果要計算相異兩點P與Q的和,則先找出通過這兩點的直線,然後找出這條直線與橢圓曲線相交的第三點(-R),再將此點對x軸做鏡射得到和(R),如圖一所示。如果橢圓曲線上的某兩點共線的話,兩點相加之和就是O。圖一 橢圓曲線
此文档下载收益归作者所有