一種基于aes128的數據加密方法
【專利摘要】本發明公開了一種基于AES128的數據加密方法,該加密方法采用AES128數據加密方式對待加密數據進行密碼,并在加密操作前對加密方式中的密鑰進行變形。本方案通過對密鑰的變形,大大提高數據加密的復雜度,使得數據破解難度加強,有效避免關鍵數據泄露,大大提高數據通訊的安全性。
【專利說明】—種基于AES128的數據加密方法
【技術領域】
[0001]本發明涉及網絡數據安全技術,具體涉及一種數據加密技術。
【背景技術】
[0002]隨著網絡數據通訊的廣泛普及,通訊數據的安全性是的一個值得關注的問題,目前普通的數據加密使用AES-128數據加密方式,對原文使用原始的秘鑰進行加密。
[0003]AES加密算法即密碼學中的高級加密標準(Advanced Encrypt1n Standard, AES),又稱Rijndael加密法,是美國聯邦政府采用的一種區塊加密標準。這個標準用來替代原先的DES,已經被多方分析且廣為全世界所使用。經過五年的甄選流程,高級加密標準由美國國家標準與技術研究院(NIST)于2001年11月26日發布于FIPS PUB197,并在2002年5月26日成為有效的標準。2006年,高級加密標準已然成為對稱密鑰加密中最流行的算法之一。該算法為比利時密碼學家Joan Daemen和Vincent Rijmen所設計,結合兩位作者的名字,以Rijndael之命名之,投稿高級加密標準的甄選流程。
[0004]AES算法基于排列和置換運算。排列是對數據重新進行安排,置換是將一個數據單元替換為另一個。AES使用幾種不同的方法來執行排列和置換運算。
[0005]AES是一個迭代的、對稱密鑰分組的密碼,它可以使用128、192和256位密鑰,并且用128位(16字節)分組加密和解密數據。與公共密鑰密碼使用密鑰對不同,對稱密鑰密碼使用相同的密鑰加密和解密數據。通過分組密碼返回的加密數據的位數與輸入數據相同。迭代加密使用一個循環結構,在該循環中重復置換和替換輸入數據。
[0006]在進行是普通數據加密時,若只采用AES-128數據加密方式進行加密,其對原文使用原始的秘鑰進行加密,加密方式比較簡單,容易被破解,存在著安全隱患。
【發明內容】
[0007]針對現有網絡數據通訊中采用AES-128數據加密方式存在容易被破解,安全性不高的問題,本發明的目的在于提供一種能夠增加破解難度、提高數據安全性的數據加密方式。
[0008]為了達到上述目的,本發明采用如下的技術方案:
[0009]一種基于AES128的數據加密方法,所述加密方法采用AES128數據加密方式對待加密數據進行密碼,所述方法在加密操作前對加密方式中的密鑰進行變形。
[0010]在優選方案中,所述方法對密鑰進行MD5、前16位大寫變形。
[0011]進一步的,所述方法的具體步驟如下:
[0012]I)獲取AES128數據加密方式中加密密鑰;
[0013]2)對獲取到的密鑰原型進行MD5處理;
[0014]3)對經MD5處理的密鑰的前16位字符進行大寫處理,得到變形密鑰;
[0015]4)利用變形后的密鑰對待加密的明文數據進加密處理,得到對應的密文。
[0016]再進一步的,所述步驟(3)在對密鑰原型進行MD5處理后,按照字符串長度截取前16位,并按照字符串操作將所有字符轉換為大寫。
[0017]本發明提供的方案通過對密鑰的變形,大大提高數據加密的復雜度,使得數據破解難度加強,有效避免關鍵數據泄露,大大提高數據通訊的安全性。
【專利附圖】
【附圖說明】
[0018]以下結合附圖和【具體實施方式】來進一步說明本發明。
[0019]圖1為本發明的工作原理圖。
【具體實施方式】
[0020]為了使本發明實現的技術手段、創作特征、達成目的與功效易于明白了解,下面結合具體圖示,進一步闡述本發明。
[0021]本發明通過在加解密前對加密方式中使用到的密鑰進行變形處理,并利用變形后的密鑰進行加解密操作,由此使得加密過程更加復雜,增加破解的難度,有效解決關鍵數據在通訊過程中存在安全隱患的問題。
[0022]基于該原理,在進行數據通訊時,本發明通過對AES128加密方式中的密鑰進行MD5、前16位大寫變形,然后基于該變形后的密鑰通過AES128加密方式對待加密數據進行加密操作。
[0023]參見圖1,其所示為本發明方案進行具體操作的原理圖。
[0024]由圖可知,整個加密操作基于AES128加密方式進行,主要分為兩個部分:1、密鑰處理部分;2、加密處理部分。
[0025]首先,在加解密前,對加密方式中的密鑰進行變形處理。
[0026]1)獲取AES128數據加密方式中加密密鑰;
[0027]2)對密鑰進行MD5處理;
[0028]3)對經MD5處理的密鑰的長度進行判斷,判斷判斷其是否≥16位,并取前16位字符進行大寫處理,得到變形密鑰。
[0029]具體的,本方案中在獲取到AES128數據加密方式中加密密鑰后,將其作為原型,調用系統函數對其進行MD5處理,這樣操作可以是密鑰更加復雜,不容易被破解,與服務器后臺約定相同的處理方法,是數據加解密更加安全。
[0030]在經過MD5處理后,將得到32位的數據。
[0031]接著,對MD5處理的后密鑰,按照字符串長度截取前16位,并按照字符串操作將所有字符轉換為大寫,將結果作為AES128加解密的密鑰。
[0032]最后,在完成密鑰變形后,將待加密的明文數據,使用變形后的密鑰進行加密操作,得到相應的密文,具體采用AES128加密方式進行加密操作。
[0033]以下通過一具體應用實例,來具體說明上述的加密、解密過程:
[0034]當智能手機需要從服務器中獲取關鍵數據時,智能手機將向服務器發送獲取數據請求。
[0035]服務器根據該請求對智能手機進行認證,在認證通過后,建立通訊鏈路,并向智能手機發送要求智能手機提供相應的加密密鑰的請求。
[0036]智能手機在獲取請求后,向服務器發送密鑰原文。[0037]服務器在接收到密鑰原文后,對密鑰原文進行MD5處理,并將結果截取前16位,轉換為大寫形式,作為AES128的密鑰;服務器利用計算得到的密鑰對關鍵數據原文進行AES128加密處理,并將加密后的關鍵數據發送給智能手機。
[0038]智能手機在接收到加密后的數據后,使用密鑰原文進行相同的處理(即先進行MD5處理,在進行大寫變形,具體過程如上此處不贅述)得到AES128解密的密鑰進行解密,進而得到所需的數據。
[0039]以上顯示和描述了本發明的基本原理、主要特征和本發明的優點。本行業的技術人員應該了解,本發明不受上述實施例的限制,上述實施例和說明書中描述的只是說明本發明的原理,在不脫離本發明精神和范圍的前提下,本發明還會有各種變化和改進,這些變化和改進都落入要求保護的本發明范圍內。本發明要求保護范圍由所附的權利要求書及其等效物界定。
【權利要求】
1.一種基于AES128的數據加密方法,所述加密方法采用AES128數據加密方式對待加密數據進行密碼,其特征在于,所述方法在加密操作前對加密方式中的密鑰進行變形。
2.根據權利要求1所述的一種基于AES128的數據加密方法,其特征在于,所述方法對密鑰進行MD5、前16位大寫變形。
3.根據權利要求2所述的一種基于AES128的數據加密方法,其特征在于,所述方法的具體步驟如下: 1)獲取AES128數據加密方式中加密密鑰; 2)對獲取到的密鑰原型進行MD5處理; 3)對經MD5處理的密鑰的前16位字符進行大寫處理,得到變形密鑰; 4)利用變形后的密鑰對待加密的明文數據進加密處理,得到對應的密文。
4.根據權利要求3所述的一種基于AES128的數據加密方法,其特征在于,所述步驟(3)在對密鑰原型進行MD5處理后,按照字符串長度截取前16位,并按照字符串操作將所有字符轉換為大寫。
【文檔編號】H04L9/06GK104038337SQ201410280782
【公開日】2014年9月10日 申請日期:2014年6月20日 優先權日:2014年6月20日
【發明者】王翔平, 沈勇堅, 胡永剛 申請人:上海動聯信息技術股份有限公司