- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
结合智慧卡的ECDSA数位签章软体设计和实现
2006電子商務與數位生活研討會
PAGE
- PAGE 4 -
結合智慧卡的ECDSA數位簽章軟體設計與實現
張惟淙
國立高雄師範大學資訊教育研究所
HYPERLINK mailto:fang@.tw bug@.tw
楊中皇
國立高雄師範大學資訊教育研究所
HYPERLINK mailto:chyang@.tw chyang@.tw
摘要
數位簽章是用途非常廣泛的資訊安全技術,尤其在電子商務應用上,是不可或缺的交易安全保護要件。目前具備數位簽章功能的軟體,如網際網路瀏覽器或電子郵件收發軟體,大多都採用RSA演算法。近年來,橢圓曲線密碼系統(Elliptic Curve Cryptosystem,ECC),已經開始挑戰RSA。就相同的安全性而言,ECC所需要的密碼學金鑰長度較RSA短,而且有更佳的執行效率,這個特性使得ECC相當適合用於智慧卡、手機或其他無線行動裝置。
本研究即在發展一個結合智慧卡應用的橢圓曲線數位簽章軟體,我們使用Java Card作為ECC金鑰存取的媒介,並以此軟體產生及檢驗ECDSA數位簽章(Elliptic Curve Digital Signature Algorithm,ECDSA),簽章產生過程中用以計算訊息摘要的雜湊函數演算法則採用SHA-2演算法。使用者可將持有的智慧卡視為鑰匙環(Keyring),用以存放本身的公開金鑰(Public key)與秘密金鑰(Private key),以及通訊對方的公開金鑰,金鑰經由卡片存取能提升使用上的便利與安全。使用者藉此與他人進行安全通訊時,得以確認對方身份及所傳送訊息的完整性。
關鍵字:密碼學、橢圓曲線、數位簽章、智慧卡、ECDSA
壹、前言
數位簽章是公開金鑰演算法最重要的應用,普遍用於維護電子商務交易安全。現今大部分具備數位簽章功能的軟體,如網路瀏覽器或電子郵件軟體,幾乎都是採用RSA作為數位簽章演算法。近年來,為了保持RSA的安全性,金鑰的位元長度逐漸有增加的需求,亦因此加重使用RSA演算法的大量安全交易平台之處理負擔。
西元1985年時,美國華盛頓大學的Neal Koblitz教授(Koblitz, 1986)及IBM的Victor Miller(Miller, 1987)分別提出以橢圓曲線演算法設計公開金鑰演算法的密碼技術,此後更發展出許多橢圓曲線密碼系統(Elliptic Curve Cryptosystem,ECC)的國際標準,如ISO 11770-3、ANSI X9.62、IEEE P1363、FIPS 186-2等。就相同的安全性而言,ECC所需要的密碼學金鑰長度較RSA短,如表一所示(NIST, 2003)。所以無論從增快執行速度或節省空間的角度來看,可見ECC是優於RSA。
表一 相同安全性時,RSA與ECC金鑰長度比較(NIST, 2003)
安全性
演算法
280
2112
2128
2192
2256
RSA金鑰長度(bits)
1024
2048
3072
7680
15360
ECC金鑰長度(bits)
160
224
256
384
512
金鑰長度比
6:1
9:1
12:1
20:1
30:1
本研究目的在於發展一個結合智慧卡的ECDSA數位簽章軟體,我們使用Java Card作為ECC金鑰存取媒介,並透過軟體產生ECDSA數位簽章,其中產生與檢驗簽章過程會用到的雜湊函數演算法,則採用SHA-2演算法。使用者可以將持有的Java Card視為鑰匙環,其中除存放本身的公開金鑰與秘密金鑰外,還可存放通訊對方的公開金鑰,藉此與他人進行安全通訊時,用以確認其身份及所傳送訊息的完整性。
貳、文獻探討
一、橢圓曲線密碼學(Elliptic Curve Cryptography)
(一)、橢圓曲線密碼學原理簡介
橢圓曲線的密碼學技術不僅可以用於數位簽章、金鑰交換及加解密,還可應用在大數分解(Factorization)與質數判斷(Primality testing)。橢圓曲線的通用方程式如下:
y2 + a1xy + a3y = x3 + a2x2 + a4x + a6
(1)
密碼學的橢圓曲線是由滿足該方程式的所有點(x, y)及一個無限遠點(Point at infinity)O所形成的集合,座標x與y屬於某個有限體(finite field)。目前軟硬體具體實現的有限體為質數體(Prime field,GF(p))、二元體(Binary field,GF(2n ))、最佳擴展體(Optimal extension field,GF (pn ))等三種(Bailey and Paar, 2001)。
橢圓曲線上的點可進行兩點間之加法(Menezes, 1993; Silverman and Tate, 1992)。
原创力文档


文档评论(0)