DES算法程序說(shuō)明文檔_第1頁(yè)
DES算法程序說(shuō)明文檔_第2頁(yè)
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、1 / 3DES算法程序說(shuō)明文檔 密碼編碼學(xué)與網(wǎng)絡(luò)安全實(shí)驗(yàn)十一、基本變量、數(shù)據(jù)結(jié)構(gòu)、函數(shù)說(shuō)明:1.基本變量及數(shù)據(jù)結(jié)構(gòu)定義部分:s1:String型變量,用于存儲(chǔ)將要簽名的字符串。s2:String型變量,用于存儲(chǔ)假消息的字符串。myInfo:byte型數(shù)組,用于存儲(chǔ)字節(jié)化后的待簽名的明文。wronginfo:byte型數(shù)組,用于存儲(chǔ)字節(jié)化后的錯(cuò)誤消息。2.基本函數(shù)定義:generateKeyPair():用于密鑰的生成。generateSignature():用于數(shù)字簽名的生成。verifySignature():boolean型函數(shù),用于判斷信息與數(shù)字簽名是否相符。writeKeyToDis

2、k():密鑰寫(xiě)入函數(shù)。readKeyToDisk():密鑰讀入函數(shù)。二、輸入輸出說(shuō)明:本程序是需要輸入進(jìn)行驅(qū)動(dòng)的。具體輸入項(xiàng)為:a.待數(shù)字簽名的字符串。通過(guò)將明文和密鑰作為DES算法的輸入,經(jīng)過(guò)多重輪變換,具體輸出為:a.用DSA數(shù)字簽名后的結(jié)果。b.將源消息簽名認(rèn)證后的結(jié)果。c.將假消息簽名驗(yàn)證后的結(jié)果。三、算法簡(jiǎn)略流程說(shuō)明:過(guò)程是這樣的:1. P產(chǎn)生隨機(jī)數(shù)k,k q;2. P計(jì)算r = ( gAk mod p ) mod qs = ( kA(-1) (H(m) + xr) mod q簽名結(jié)果是( m, r, s )。3.驗(yàn)證時(shí)計(jì)算w = sA(-1)mod qu1 = ( H( m ) *

3、 w ) mod qu2 = ( r * w ) mod qv = ( gAu1 * yAu2 ) mod p ) mod q若v = r,則認(rèn)為簽名有效。矚慫潤(rùn)厲釤瘞睞櫪廡賴。矚慫潤(rùn)厲釤瘞睞櫪廡賴賃。簽名的生成過(guò)程:publicstaticbyte generateSignature(byte info)tryPrivateKey privateKey = (PrivateKey) readKeyFromDisk(C:privateKeyDSA.dat);聞創(chuàng)溝燴鐺險(xiǎn)愛(ài)氌譴凈。聞創(chuàng)溝燴鐺險(xiǎn)愛(ài)氌譴凈禍。Signature sign = Signature.getinstance(DSA); s

4、ign.initSign(privateKey);sign.update(info);return sign.sign();2 / 3catch (NoSuchAlgorithmException e)/ TODO Auto-ge nerated catch blocke.pri ntStackTrace();catch (In validKeyExcepti on e)/ TODO Auto-ge nerated catch blocke.pri ntStackTrace();catch (Sig natureExcepti on e)/ TODO Auto-ge nerated catch

5、 blocke.pri ntStackTrace();retur nn ewbyte0;密鑰的生成方式:publicstaticvoidge nerateKeyPair()DSAKeyPairGenerator kg = new DSAKeyPairGenerator();殘騖樓諍錈瀨濟(jì)溆塹籟。殘騖樓諍錈 瀨濟(jì)溆塹籟婭。kg.i nitialize(1024, false, new SecureRa ndom();KeyPair keyPair = kg.ge nerateKeyPair();PrivateKey privateKey = keyPair.getPrivate();writeK

6、eyToDisk(C:privateKeyDSA.dat, privateKey);釅錒極額閉鎮(zhèn)檜豬訣錐。釅錒極額閉鎮(zhèn)檜豬訣錐顧。PublicKey publicKey = keyPair.getPublic();writeKeyToDisk(C:publicKeyDSA.dat, publicKey);四、程序具體使用說(shuō)明:在請(qǐng)請(qǐng)輸入要簽名的信息,DSA算法將對(duì)它進(jìn)行數(shù)字簽名”中填入明文字符串,eg:I loveChina彈貿(mào)攝爾霽斃攬磚鹵廡。彈貿(mào)攝爾霽斃攬磚鹵廡詒。2.輸入舉例如下所述:待簽名的數(shù)字消息:I love Chi na輸出為下圖所示:3 / 3您輸人的倍息是:I love ChinaIhe signaturft is禺 ?T就翻W馥?捕?.朝bK此簽名戛否為蔓直正的漁消息簽名:true此簽名與假消息比較之后內(nèi)貉果是;*問(wèn)題 3 血C蘆明

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論