一種基於aes算法的scada文件加密方法
2023-07-09 17:59:16 3
一種基於aes算法的scada文件加密方法
【專利摘要】本發明公開了一種基於AES算法的SCADA文件加密方法,包括,S01實現改進型AES加密解密算法;S02根據文件處理方式選擇模塊;S03輸入密鑰K的長度和密鑰;S04生成擴展密鑰;S05創建加密/解密文件;S06、從等待加密/解密文件中取出16位元組,把取出的數據放入中間變量中;S07根據密鑰的長度對中間變量中的數據進行解密/解密,並把加密/解密後的數據存在中間變量中;S08如果等待加密/解密的文件已經結束,則關閉文件,回到S02;否則回到S06。本發明提高加密解密抵抗線性攻擊能力和其抵抗差分攻擊能力,佔用的硬體資源比較少,特別適合對原有的設備升級,而不必改動硬體設計。
【專利說明】-種基於AES算法的SCADA文件加密方法
【技術領域】
[0001] 本發明涉及電力監控系統專業【技術領域】,具體而言,涉及一種基於AES算法的 SCADA文件加密方法。
【背景技術】
[0002] 數據監控與採集系統(SCADA)是構建眾多供電、配網自動化應用系統的基礎。隨 著計算機以及網絡應用技術在電力監控系統的日益廣泛深入,信息在電力監控系統中的安 全存儲、安全傳輸問題日益受到重視。在電力監控平臺SCADA中,許多重要數據和配置信息 都以文件的形式存儲在硬碟上,保護這些重要數據和信息不被輕易洩露成為事關系統安全 性能的一個重要因素。這些數據大多以明文形式存在文件中,其安全性沒有任何保障,極易 被竊取、纂改和刪除,因此極需對這些重要數據進行加密保護。
[0003] AES算法的前身是Square算法(由面向字節、不包括任何算術運算的具有對稱和 並行結構的迭代分組密碼),AES算法的密鑰是由128位,192位或256位二進位數組成的 序列,但是其它可用的序列不受標準的限制。而在AES加密算法中運算的基本單元是字節, 通常需要把輸入,輸出和密鑰都劃分成字節矩陣或字節數組。通常把作為AES加密算法基 本單元的二維字節數組上叫做狀態矩陣。
[0004] 為了得到密碼學特性非常好的S替換盒,國內外學者一直在做著各種嘗試。目前, S替換盒的設計有兩種方法,一是用數學的方法構造,二是演化密碼的方法。傳統的數學方 法設計出來的S替換盒雖然具有非常高的非線性度,但是卻很難擺脫它先天性的弊病,那 就是它的代數結構相對來說比較簡單;用演化方法設計出的S替換盒具有天然的隨機性, 所以這種方法設計出的S替換盒如果沒有陷門,是不容易找到弱點的,但此方法設計出的S 替換盒的非線性度,差分均勻度卻相對較差,尤其是在設計大S替換盒時,差距更加明顯。
[0005] 現有技術中,AES加密算法的S替換盒一般通過數學方法獲得的,替換盒存在線性 冗餘,因為數學方法構造的S替換盒,雖然性能很好,但使得其抵抗代數攻擊方面能力相對 弱些。
[0006] 現有技術中,基於AES算法SCADA文件加密在抵抗代數攻擊方面的能力就相對弱 點,因為AES加密算法官方給出的S替換盒是通過數學方法獲得的,故這個替換盒存在線性 冗餘,因為數學方法構造的S替換盒,雖然性能很好,但還是會存在一些弱點,使得其抵抗 代數攻擊方面能力相對較弱。
【發明內容】
[0007] 針對現有技術中存在的問題,本發明研究了一種基於AES算法的SCADA文件加密 方法,提高了 S替換盒的非線性度和差分均勻度,佔用的硬體資源比較少,特別適合對原有 的設備升級,而不必改動硬體設計。
[0008] 本發明其技術方案為:
[0009] -種基於AES算法的SCADA文件加密方法,包括以下步驟:
[0010] SOI、建立AES算法變換模塊,實現改進型AES加密解密算法;
[0011] S02、根據文件處理方式選擇加密或者解密或者程序退出模塊,選擇對文件進行加 密、對文件解密或是退出程序;文件處理方式包括加密、解密和退出;
[0012] S03、輸入密鑰K的長度和密鑰,密鑰K的長度為128比特或者192比特或者256 比特;
[0013] S04、用密鑰擴展程序對密鑰加以擴張,128比特、192比特、256比特分別對 MKeyExpansionl28 (key) > KeyExpansionl92 (key) > KeyExpansion256 (key),分別生成 72bytes,204bytes,236bytes 的擴展密鑰;
[0014] S05、創建加密/解密文件(如果是加密過程:此處的創建的是加密文件,如果是解 密過程,此處應創建解密文件),文件都是以文本格式存儲;
[0015] S06、建立中間變量,從等待加密/解密文件中取出16位元組(一次取16個字節,從 開始位置取,利用指針偏移的方式來記住下次要取的16個字節的起始地址的),若是未取 出16個字節文件結束則在結束處標上文件結束符,把取出的數據放入中間變量STATE中; [0016] S07、依據步驟S01建立的基於改進型AES算法,根據密鑰的長度對中 間變量STATE中的數據進行解密/解密,128比特、192比特、256比特分別對應 Cipher 128 (InvCipher 128),Cipher 192 (InvCipher 192),Cipher256(InvCipher256),並把 加密/解密後的數據存在中間變量STATE中,把中間變量STATE中的數據寫入加密/解密 文件(是S05中的加密/解密文件,如果有個文件需要加密,需要在S05的時候創建一個存 放加密內容的文件)中;
[0017] S08、如果等待加密/解密的文件已經結束,則關閉文件,回到步驟S02 ;否則進入 步驟S06,繼續取下一組16位元組的數據。
[0018]AES算法變換模塊包括字節替換模塊(SubBytes)、行移位變換模塊(ShiftRows)、 列混合變換模塊(Mixcolumns)和密鑰注入模塊(AddRoundKey);
[0019] 字節替換模塊基於S替換盒及其逆盒進行字節替換;
[0020] 行移位變換模塊(ShiftRows)將S替換盒及其逆盒替換變換得到的矩陣進行行移 位操作;
[0021] 列混合變換模塊(Mixcolumns)將狀態矩陣按列進行相乘操作;
[0022] 密鑰注入模塊(AddRoundKey)通過按位異或,把列混合變換模塊的輸出矩陣與狀 態矩陣的子密鑰進行有限域內相加。
[0023] 字節替換模塊(SubBytes)為S盒替換變換,用S替換盒及其逆盒進行字節替換;
[0024] S替換盒為表1-1:
[0025] 表1-1S替換盒
【權利要求】
1. 一種基於AES算法的SCADA文件加密方法,其特徵在於,包括以下步驟: 501、 建立AES算法變換模塊,實現改進型AES加密解密算法; 502、 根據文件處理方式選擇加密或者解密或者程序退出模塊,對文件進行加密、對文 件解密或是退出程序; 503、 輸入密鑰K的長度和密鑰; 504、 用密鑰擴展程序對密鑰進行擴張; 505、 創建加密或者解密文件,所述加密或者解密文件以文本格式存儲; 506、 建立中間變量,從等待加密或者解密文件中取出16位元組數據,若是未取出16個字 節文件結束則在結束處標上文件結束符,把取出的數據放入中間變量中; 507、 依據步驟SOl建立的基於改進型AES算法,根據密鑰K的長度對中間變量中的數 據進行解密或者解密,並把加密或者解密後的數據存在中間變量中,把中間變量中的數據 寫入加密或者解密文件中; 508、 如果等待加密或者解密的文件已經結束,則關閉文件,回到步驟S02 ;否則進入步 驟S06繼續取下一組16個字節數據。
2. 根據權利要求1所述的基於AES算法的SCADA文件加密方法,其特徵在於:步驟SOl 所述AES算法變換模塊包括字節替換模塊、行移位變換模塊、列混合變換模塊和密鑰注入 模塊; 所述字節替換模塊基於S替換盒及其逆盒進行字節替換; 所述行移位變換模塊將S替換盒及其逆盒替換變換得到的矩陣進行行移位操作; 所述列混合變換模塊將狀態矩陣按列對其進行相乘操作; 所述密鑰注入模塊通過按位異或,把列混合變換模塊的輸出矩陣與狀態矩陣的子密鑰 進行有限域內相加。
3. 根據權利要求2所述的基於AES算法的SCADA文件加密方法,其特徵在於: 所述字節替換模塊SubBytes為S盒替換變換,用S替換盒及其逆盒進行字節替換; 所述S替換盒為:
4. 根據權利要求3所述的基於AES算法的SCADA文件加密方法,其特徵在於:所述S替 換盒的逆盒為:
〇
5. 根據權利要求2所述的基於AES算法的SCADA文件加密方法,其特徵在於: 行移位變換模塊將經過S替換盒及其逆盒變換得到的矩陣進行行移位操作,行移位操 作的作用域是經過S替換盒及其逆盒變換得到的狀態矩陣,矩陣的4個行螺旋的向左移位。
6. 根據權利要求2所述的基於AES算法的SCADA文件加密方法,其特徵在於: 列混合變換模塊:將狀態矩陣每列看做一個四項多項式,按列對所述四項多項式進行 相乘操作,將從行移位變換後輸出的矩陣與固定多項式矩陣相乘。
7. 根據權利要求1所述的基於AES算法的SCADA文件加密方法,其特徵在於:所述步 驟S03密鑰K的長度為128bit或者192bit或者256bit。
8. 根據權利要求1所述的基於AES算法的SCADA文件加密方法,其特徵在於:所述步 驟對密鑰擴張具體包括;128bit、192bit、256bit分別生成72bytes,204bytes,236bytes的 擴展密鑰。
【文檔編號】H04L9/08GK104320420SQ201410655820
【公開日】2015年1月28日 申請日期:2014年11月17日 優先權日:2014年11月17日
【發明者】嶽以洋, 李佑文, 羅存, 李芳 , 包德梅, 劉志超, 褚紅健 申請人:國電南京自動化股份有限公司