DES的數(shù)據(jù)加密實現(xiàn)ppt_第1頁
DES的數(shù)據(jù)加密實現(xiàn)ppt_第2頁
DES的數(shù)據(jù)加密實現(xiàn)ppt_第3頁
DES的數(shù)據(jù)加密實現(xiàn)ppt_第4頁
DES的數(shù)據(jù)加密實現(xiàn)ppt_第5頁
已閱讀5頁,還剩11頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、 DES的數(shù)據(jù)加密實現(xiàn)目錄DES背景 DES背景DES原理 程序運行結(jié)果 DES加密原理 DES加密實現(xiàn)過程DES背景DES是由美國IBM公司于20世紀70年代中期的密碼算法發(fā)展而來的,在1977年1月15日,美國國家標準局正式公布實施,并得到了ISO的認可。在過去近20年的時間里,DES被廣泛應(yīng)用于美國聯(lián)邦和各種商業(yè)信息的安全保密工作中,經(jīng)受信了各種密碼分析和攻擊,體現(xiàn)出了令人滿意的字全性。 DES算法在POS、ATM、磁卡及智能卡、加油站、高速公路收費站等領(lǐng)域被廣泛應(yīng)用,以此來實現(xiàn)關(guān)鍵數(shù)據(jù)的保密,如信用卡人的PIN碼加密偉輸,IC卡與POS機之間的雙向認證、金融交易數(shù)據(jù)包的MAC校驗等,均

2、用到DES算法DES工作模式 DES算法是這樣工作的:如Mode為加密,則用Key 去把數(shù)據(jù)Data進行加密, 生成Data的密碼形式(64位)作為DES的輸出結(jié)果;如Mode為解密,則用Key去把密碼形式的數(shù)據(jù)Data解密,還原為Data的明碼形式(64位)作為DES的輸出結(jié)果。在通信網(wǎng)絡(luò)的兩端,雙方約定一致的Key,在通信的源點用Key對核心數(shù)據(jù)進行DES加密,然后以密碼形式在公共通信網(wǎng)(如電話網(wǎng))中傳輸?shù)酵ㄐ啪W(wǎng)絡(luò)的終點,數(shù)據(jù)到達目的地后,用同樣的Key對密碼數(shù)據(jù)進行解密,便再現(xiàn)了明碼形式的核心數(shù)據(jù)。DES加密原理 DES算法是對稱加密算法,加密時需要有兩個輸入:明文和密鑰。明文的長度為6

3、4位,密鑰的長度為64位(64密鑰中只有56位是有效的,其他為校驗位)。DESDES算法流程示意圖算法流程示意圖DES詳細算法示意圖每輪變換的詳細過程S盒示意圖密鑰產(chǎn)生示意圖/* DES類聲明 */class DESpublic:DES();/*構(gòu)造函數(shù)*/void encrypt(bool flag = true);/*加解密函數(shù)*/private:string plaintextFilePath_;/*明文文件路徑*/string ciphertextFilePath_;/*密文文件路徑*/string keyFilename_;/*密鑰文件路徑*/string plaintext_;/*

4、明文存儲*/string ciphertext_;/*密文存儲*/string key_;/*密鑰存儲*/vectorvector subkey_;/*子密鑰存儲*/void getsubkey_();/*計算子密鑰*/void setPlaintextFilePath_();/*設(shè)置明文路徑*/void setCiphertextFilePath_();/*設(shè)置密文路徑*/void setKeyFilePath_();/*設(shè)置密鑰路徑*/DES加密實現(xiàn)過程string readData_(string filename);/*讀取文件*/void saveData_(string filen

5、ame,string data);/*保存文件*/vector string2bit_(string str); /*string類型轉(zhuǎn)為ASCII二進制數(shù)*/string bit2string_(vector v);/*ASCII二進制數(shù)轉(zhuǎn)為string類型*/vector int2bit_(vector vecInt);/*整形數(shù)0-15化為二進制*/vector vecXor_(vector vL, vector vR);/*向量異或*/vector leftIterMove_(vector movVec,int loopStep);/*數(shù)據(jù)左移loopStep位*/vector vec

6、Replace_(vector v,const unsigned int vArray);/*向量數(shù)據(jù)按vArray中數(shù)據(jù)重排序*/vector vecMerge_(vector vL, vector vR);/*合并兩個向量*/vector f_(vector vecR, vector vecKey);/*f函數(shù)*/vector S_(vector vecRKey);/*S盒函數(shù)*/ 變換矩陣 */ static const unsigned int PC_1_56; static const unsigned int PC_2_48; static const unsigned int LOOP_16; static const unsigned int IP_64; static const unsigned int IPR_64; static const unsigned int SBOX_8416; static const unsigned int E_48; static const

溫馨提示

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

評論

0/150

提交評論