王方鑫
摘要:隨著網絡技術的飛速發展,信息安全成為越來越重要的話題。公鑰密碼體制中,加密解密的密鑰不相同,解決了很多傳統網絡安全的問題。此外,隨著電子商務的快速發展,如何解決數字文檔的認證性、完整性、不可否性成為人們日益關注的話題,因此對數字簽名的研究顯得越來越重要,該文介紹了一種基于RSA算法的數字簽名方案。
關鍵詞:數字簽名;RSA算法;非對稱密碼體制
中圖分類號:TP311? ? ? ? 文獻標識碼:A? ? ? ? 文章編號:1009-3044(2018)36-0028-02
在日常生活中,簽名是很常見的行為,如合同的簽署,訂單的確認,支票的簽發,回復文件,通常來說傳統的簽名都是手寫簽名。隨著網絡技術的飛速發展,人們希望突破傳統簽名帶來的種種弊端,信息的發送者希望通過簽名來使信息的接受者確定信息的真實性,于此與此同時,當出現糾紛的時候,信息的接受者可以通過數字簽名來追蹤到信息的發送者來進行承擔相應的責任。可以說,在現代社會,數字簽名技術正在潛移默化影響我們的生活。
所謂的數字簽名,也稱之為電子簽名,指的是指附加在發送文件中的一組特殊的符號,通過對原文本進行一系列的混合運算,可以被接受者驗證該文件是否被篡改或者偽造。
1 研究背景
1999年12月,歐盟委員會制定了《關于建立電子簽名共同法律》。歐盟各國在很早就開始相關法律的制定,可見對其安全性的重視。中國也十分重視電子商務以及數字簽名技術的發展,在第十屆全國人民代表大會上通過中華人民共和國電子簽名法,這一法律方案的制定也讓我國數字簽名技術更好的發展打下堅實的基礎,除此以外,世界上很多國家也制定了和數字簽名相關的法律法規。
隨著各國對電子簽名技術的重視以及相關法律制度的完善,電子簽名技術取得飛速的發展。目前,數字簽名技術的實現有很多方法,RSA簽名方案是目前使用較多的一種簽名方案,它的安全性依賴與大整數因子分解的困難性。
2 數字簽名的流程
發送方A開始先選定一種Hash函數,通過該函數產生散列值,然后發送方A用自己的私鑰對消息摘要進行加密,生成數字簽名并將這個數字簽名發給接受方B。與此同時,將消息通過公開信道發給接受方B。
接受方B收到A的消息后,用Hash函數產生一個消息摘要,然后用A的公鑰對A發送來的數字簽名進行解密,用解密得到的結果和剛剛生成的消息摘要進行對比。如果相等的話,就說明該簽名有效,否則,該簽名無效。
如圖1所示,給出發送和恢復數字簽名的流程圖。
3 RSA數字簽名技術的實現
RSA數字簽名方案主要由三個部分組成:密鑰生成算法、簽名算法、驗證算法。下面給出RSA數字簽名算法的代碼實現。
3.1 密鑰生成算法
信息的發送者A執行密鑰生成算法,生成自己的公私鑰(k1,k2)。
3.2 簽名算法
對發送的消息m,進行簽名,那么s為m的簽名,將簽名消息組(m,s)發送消息的接受者B。
3.3 驗證算法
接受者對簽名進行驗證,判斷簽名是否有效。
4 總結
隨著信息學的高速發展,人們對信息的交互和傳遞的需求越來越大。每天都會有海量的數據進行交互和傳遞,因此,數據的安全成為一個非常重要的話題。RSA數字簽名算法有效保證了消息的真實性、完整性、不可否性,起到了巨大的作用。但是RSA數字簽名算法本身仍然存在一些不足之處,也值得我們進一步深入研究。
參考文獻:
[1] 鄒煜.java類文件混合加密算法的研究與分析[D].華中師范大學,2017.
[2] 趙彥昌.國外電子簽名法對我國的啟示[J].秘書,2007(04):39-42.
[3] 谷利澤,鄭世慧,楊義先.現代密碼學教程[M].北京郵電大學出版社,2009.
[4] 喻琇瑛.數字簽名認證理論與應用技術研究[D].西南交通大學,2014.
[5] 孫淑玲.應用密碼學[M].北京:清華大學出版社,2004.
[6] 楊曉元.現代密碼學[M].西安:西安電子科技大學出版社,2009.
[7] 楊波.現代密碼學:第二版[M].北京:清華大學出版社,2007.
[通聯編輯:代影]