基于證書(shū)的RSA簽名系統的設計與實(shí)現
辦公自動(dòng)化OA(Office AutomatizatiON)從最初的以大規模采用復印機等辦公設備為標志的初級階段,發(fā)展到今天的以運用網(wǎng)絡(luò )和計算機為標志的現階段,對企業(yè)辦公方式的改變和效率的提高起到了極大的促進(jìn)作用。該系統采用了獨立的RSA算法確保了辦公過(guò)程中公文流轉的真實(shí)性和有效性。
本文引用地址:http://dyxdggzs.com/article/202463.htm1 RSA算法及數字證書(shū)
1.1 RSA 算法簡(jiǎn)介
?。?)密鑰的生成
密鑰的生成過(guò)程:
?、龠x擇兩個(gè)大素數p,q,(p,q 為互異素數,需要保密);
?、谟嬎鉵 = p×q,φ(n) = (p-1)×(q-1);
?、圻x擇整數 e 使 (φ(n),e) =1, 1e φ(n);
?、苡嬎鉪,使d = e-1mod φ(n), 得到:公鑰KU={e,n};私鑰KR={d,n}。
?。?)加密用(e,n)加密用(e,n):明文:M n,密文C = Me(mod n)。
?。?)解密用(d,n)解密用(d,n):密文C,明文M = Cd(mod n)。
1.2 數字證書(shū)
數字證書(shū)是一個(gè)經(jīng)證書(shū)授權中心簽名的包含公開(kāi)密鑰擁有者及公開(kāi)密鑰的文件。最簡(jiǎn)單的證書(shū)包含一個(gè)公開(kāi)密鑰、名稱(chēng)以及證書(shū)授權中心的簽名。一般情況下證書(shū)還包含密鑰的有效時(shí)間,發(fā)證機關(guān),該證書(shū)的序列號等信息。
2 系統分析與設計
2.1 系統的工作原理
?。?)簽名過(guò)程
對要簽名的文檔,首先進(jìn)行散列運算(SHA1 或MD5)得到文檔摘要,從證書(shū)中得到要簽名的私鑰,然后對獲取到的散列值進(jìn)行簽名。
?。?)驗證過(guò)程
驗證過(guò)程是簽名過(guò)程的逆。當驗收者收到簽名文件時(shí),首先用指明的散列函數對原始文件進(jìn)行散列,然后導入簽名者的公鑰對簽名值進(jìn)行RSA 解密,最后對該解密值與散列值進(jìn)行比較。
2.2 模塊設計
軟件系統主要有證書(shū)生成模塊、摘要處理模塊、簽名模塊和驗證模塊組成。
證書(shū)生成模塊:負責提供簽名所需的密鑰,用兩個(gè)txt文件保存,一個(gè)用于保存公鑰,一個(gè)用于保存私鑰;摘要處理模塊:對要簽名的文檔生成散列的摘要,該系統提供生成16 個(gè)字節的MD5 算法,和生成20 個(gè)字節的SHA1 算法;簽名模塊:通過(guò)RSA 算法對對文檔摘要進(jìn)行簽名,將簽名后的結果以txt 文檔保存;驗證模塊:用RSA 算法對簽名后的txt 文檔進(jìn)行驗證,并返回驗證結果。
評論