结合智慧卡的CDSA数位签章软体设计与实现.docVIP

结合智慧卡的CDSA数位签章软体设计与实现.doc

  1. 1、本文档共14页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
结合智慧卡的CDSA数位签章软体设计与实现

結合智慧卡的ECDSA數位簽章軟體設計與實現 張惟淙 國立高雄師範大學資訊教育研究所 bug@.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),以及通訊對方的公開金鑰,金鑰經由卡片存取能提升使用上的便利與安全。使用者藉此與他人進行安全通訊時,得以確認對方身份及所傳送訊息的完整性。 關鍵字: 壹、前言 數位簽章是公開金鑰演算法最重要的應用,普遍用於維護電子商務交易安全。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)。Bailey and Paar, 2001)。 橢圓曲線上的點可進行兩點間之加法(Menezes, 1993; Silverman and Tate, 1992)。幾何上,如果要計算相異兩點P與Q的和,則先找出通過這兩點的直線,然後找出這條直線與橢圓曲線相交的第三點(-R),再將此點對x軸做鏡射得到和(R),如圖一所示。如果橢圓曲線上的某兩點共線的話,兩點相加之和就是O。 圖一 橢圓曲線幾何圖表示兩點加法 若P = (x1, y1)與Q = (x2, y2)為橢圓曲線上的任意兩點,而P≠O≠Q,且選取質數體,此時橢圓曲線方程式為: y2 = x3 + ax + b (2) 兩點加法的運算規則如下所示: (3) 如果選擇二元體,則橢圓曲線方程式為: y2 + xy = x3 + ax2 + b (4) 而上述公式(3)的加法規則3必須改為: (5) 公式(3)與(5)的計算(加法、減法、乘法、除法/反元素)必須在相關的有限體進行,若選取質數體時僅需進行模算術(Modular arithmetic),若選取二元體則需進行多項式算術(Polynomial arithmetic)。點乘法計算k˙P為橢圓曲線密碼系統的基礎,其中k為正整數,而P為橢圓曲線上的一個點: (6) 如果n˙P= O 則n為點P的級數(or

文档评论(0)

shaofang00 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档