• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      DES加密算法的實(shí)現(xiàn)

      2019-07-10 12:24:10曾清揚(yáng)
      關(guān)鍵詞:變型明文加密算法

      ◆曾清揚(yáng)

      DES加密算法的實(shí)現(xiàn)

      ◆曾清揚(yáng)

      (華北電力大學(xué) 北京 102206)

      本文首先分析了DES加密算法出現(xiàn)的背景,對(duì)DES算法進(jìn)行了簡(jiǎn)要地介紹,淺析了DES加密算法的原理,然后用DES加密算法對(duì)消息進(jìn)行加解密。

      DES加密算法;C++;加解密

      0 引言

      隨著信息社會(huì)的發(fā)展,人們對(duì)信息安全越來(lái)越重視,越來(lái)越多的人開始關(guān)心在網(wǎng)絡(luò)上傳輸數(shù)據(jù)的安全性。而DES算法作為一個(gè)典型的加密算法,廣泛地應(yīng)用于各種數(shù)據(jù)加密。DES算法是從IBM 1970年初開發(fā)出的一個(gè)叫Lucifer的算法發(fā)展起來(lái)的,Lucifer是一個(gè)包含類似DES構(gòu)造模塊的代替-置換網(wǎng)絡(luò)。在DES中,函數(shù)的輸出與前一輪輸出進(jìn)行異或后,作為下一輪的輸出。DES算法是一個(gè)分組加密算法,以64位為一組對(duì)數(shù)據(jù)進(jìn)行加密,輸入64位明文,用DES加密后輸出64位密文。

      1 DES算法簡(jiǎn)介

      1.1 DES整體描述

      1.2 DES輪函數(shù)

      在每一輪中,密鑰通過(guò)移位和置換選擇產(chǎn)生新一輪的子密鑰。通過(guò)E表擴(kuò)展置換數(shù)據(jù),右半部分32比特?cái)U(kuò)展成48比特,與每一輪生成的48比特的子密鑰異或,通過(guò)8個(gè)S盒進(jìn)行代換、選擇運(yùn)算生成新的32比特?cái)?shù)據(jù),新的32位比特再通過(guò)P盒置換一次。通過(guò)P盒輸出與數(shù)據(jù)的左半部分32比特進(jìn)行異或運(yùn)算,成為新的右半部分32位的數(shù)據(jù)。原來(lái)的右半部分成為新的左半部分32位的數(shù)據(jù)。每輪變換可由以下公式表示:

      圖2可以表示DES加密算法的輪結(jié)構(gòu)。

      2 DES算法的C++實(shí)現(xiàn)

      2.1 用DES算法加密數(shù)據(jù)

      關(guān)鍵函數(shù)及用途如下:

      (1)IP(const int input[64],int output[64],int table[64])

      初始IP置換,64比特的輸入到64比特的輸出,左右分別為32比特。

      (2)Charchangetobit(const char input[],int output[],int *bits);把字符串類型轉(zhuǎn)換為整型的二進(jìn)制數(shù)進(jìn)行存儲(chǔ),類比比特。

      (3)E(const int input[32],int output[48],int table[48]) E表擴(kuò)展數(shù)據(jù),將32比特?cái)U(kuò)展成為48比特。

      (4)Xor(int *a,int *b,int len)進(jìn)行異或操作。

      (5)S(const int input[48],int output[32],int table[8][4][16]) S盒壓縮將48比特的數(shù)據(jù)壓縮成32位。

      (6)P(const int input[32],int output[32],int table[32]) P盒進(jìn)行置換。

      圖1 DES加密算法框圖

      圖2 DES加密算法的輪結(jié)構(gòu)

      (7)IP_In(const int input[64],int output[64],int table[64])最后一步逆置換。

      (8)PC_1(const int input[64],int output[56],int table[56])密鑰的置換選擇1。

      (9)PC_2(const int input[56],int output[48],int table[48])密鑰的置換選擇2。

      (10)RotateL(const int input[28],int output[28], int leftCount)密鑰循環(huán)左移。

      (11)subKey(const int input[64],int Subkey[16][48])每一輪子密鑰的生成。

      輸入明文以及密鑰,生成密文,效果如圖3所示。

      圖3 加密實(shí)現(xiàn)效果

      2.2 對(duì)用DES算法加密的數(shù)據(jù)進(jìn)行解密

      輸入密文以及密鑰,生成明文。效果如圖4所示。

      3 結(jié)束語(yǔ)

      DES加密算法較為復(fù)雜,多次運(yùn)用了代換和置換的方式,實(shí)現(xiàn)起來(lái)有一定的難度。但是由于其S盒并未公開和其密鑰可以通過(guò)窮舉攻擊的方式被破解,其安全性也遭到了一定的質(zhì)疑。在DES的基礎(chǔ)上也進(jìn)一步發(fā)展起來(lái)了各種DES的變型,對(duì)于DES算法我們能進(jìn)一步研究其變型以及變型的安全性。

      圖4 解密實(shí)現(xiàn)效果

      [1][美]Bruce Schneier著,吳世忠,祝世雄,張文政等譯.應(yīng)用密碼學(xué)(第二版)[M].北京:機(jī)械工業(yè)出版社,2014,01.

      [2]楊波.現(xiàn)代密碼學(xué)(第四版)[M]..北京:清華大學(xué)出版社,2017,01.

      [3]余啟航,李斌勇,楊雄凱,姚瑤.DES加密算法的過(guò)程分析研究[J].網(wǎng)絡(luò)安全技術(shù)與應(yīng)用,2018(02):43-44.

      [4]漆世錢.基于VC++的DES加密算法實(shí)現(xiàn)[J].自動(dòng)化技術(shù)與應(yīng)用,2014,33(12):25-27.

      猜你喜歡
      變型明文加密算法
      變型數(shù)獨(dú)挑戰(zhàn)賽
      西南地區(qū)三種天麻變型巴利森苷類成分含量比較
      簡(jiǎn)約≠簡(jiǎn)單
      奇怪的處罰
      HES:一種更小公鑰的同態(tài)加密算法
      基于鄰接矩陣變型的K分網(wǎng)絡(luò)社團(tuán)算法
      奇怪的處罰
      基于小波變換和混沌映射的圖像加密算法
      四部委明文反對(duì)垃圾焚燒低價(jià)競(jìng)爭(zhēng)
      上栗县| 宁阳县| 偏关县| 西丰县| 诸城市| 驻马店市| 岳阳市| 南溪县| 商洛市| 青河县| 两当县| 昌吉市| 卢龙县| 霍林郭勒市| 凤阳县| 马鞍山市| 嘉兴市| 阿巴嘎旗| 张北县| 哈密市| 西青区| 南华县| 常宁市| 孙吴县| 巴马| 普格县| 德安县| 肃宁县| 商南县| 江源县| 岐山县| 商水县| 黄大仙区| 浦北县| 淳安县| 益阳市| 连南| 四会市| 且末县| 南涧| 南安市|