王興華,張 俊,高來先,張永炘?
(1. 廣東電網(wǎng)有限責任公司電網(wǎng)規(guī)劃研究中心,廣東 廣州 510600;2. 廣東電網(wǎng)有限責任公司江門供電局,廣東 江門 529099;3. 廣東創(chuàng)成建設監(jiān)理咨詢有限公司,廣東 廣州 510062)
電力能源是促進時代和社會發(fā)展的重要基礎支撐之一[1]。近年來隨著電網(wǎng)建設的投資力度和建設規(guī)模持續(xù)增加,電網(wǎng)系統(tǒng)迅速鋪開。其中預制艙變電站由于其低成本、高耐久和建造周期短等特點,有逐步取代傳統(tǒng)電站的趨勢[2]。雖然預制艙變電站技術尚未成熟,但是伴隨著該技術的普及和推廣,在預制艙變電站模式下的數(shù)據(jù)安全問題逐漸顯露,引起社會各界人士的關注[3]。
縱觀國內(nèi)外研究結(jié)果,利用密碼技術解決數(shù)據(jù)安全問題已屢見不鮮,其中基于混沌映射的數(shù)據(jù)加密更是成為研究熱點之一[4]。文獻[5]提出了一種基于混沌映射的圖像隱藏加密算法,將明文信息通過加密操作后隱藏在公開圖中,進而實現(xiàn)圖像的隱藏加密。文獻[6]設計了一種基于多混沌的加密算法,并利用比特平面分解來進行置換擴散,能夠抵御多種形式的攻擊。文獻[7]利用了混沌的復雜動力學原理,在空間域算法的基礎上,提出了一種基于混沌映射的加密算法。綜上,基于混沌映射的保密通信技術已有較成熟的研究成果[8]。但是,這些算法大多采用對稱加密協(xié)議,該協(xié)議在預制艙變電站模式的“多對多”的信息交互模式下存在局限性。
相對于對稱加密協(xié)議,非對稱加密協(xié)議中的公鑰密碼系統(tǒng)更加符合物聯(lián)網(wǎng)安全通信的需求[9]。在公鑰密碼體制中,任何人都可以在數(shù)據(jù)庫中查詢到他人的公鑰。該公鑰用于信息發(fā)送方對明文進行加密。此外,信息發(fā)送方和接收方都有一個用于解密的個人私鑰,接收方可以利用個人私鑰來解密得到明文。另外,公鑰密碼體制還能為發(fā)送方的消息提供認證。發(fā)送方使用個人私鑰加密的明文通過簽名算法經(jīng)信道傳送給接收方,接收方再使用發(fā)送方的個人私鑰進行解密[10]。同時,混沌動力系統(tǒng)具有不周期、不發(fā)散、不收斂的特性。以此為基礎,利用其生成的高隨機性序列作為密鑰序列,并結(jié)合公鑰密碼體制對數(shù)據(jù)進行加密,達到信息保密、通信安全的目的[11]。
因此,針對預制艙變電站技術中潛在的信息安全問題,設計一種采用公鑰密碼系統(tǒng)的混沌加密算法具有重要的理論意義和應用價值[12]。本文提出一種面向預制艙變電站的加密算法設計。首先利用素數(shù)發(fā)生器確定加密系統(tǒng)的公鑰和私鑰。接著對RAS算法加密產(chǎn)生的密鑰初值進行歸一化處理,得到符合要求的密鑰。然后通過超混沌系統(tǒng)生成的隨機序列對數(shù)據(jù)進行掩膜、置亂、擴散。最后將得到的密文發(fā)送至接收端。
混沌系統(tǒng)是一種具有不發(fā)散、不收斂和不周期等特點的非線性系統(tǒng)[13]。一維的離散混沌系統(tǒng)通常形式簡單且序列生成時間短,但同時以此序列作為密鑰的密碼系統(tǒng)通常存在密鑰空間小,抗攻擊能力差等問題。而二維超混沌系統(tǒng)生成的偽隨機序列,由于變換了加密因子,所以系統(tǒng)的動態(tài)行為更加難以預測,對保密通信有更高的價值[14]。在評估混沌系統(tǒng)的特性時,通常使用Lyapunov指數(shù)(即李氏指數(shù))來衡量。通常,正李氏指數(shù)越多表示系統(tǒng)狀態(tài)量的個數(shù)就越多,同時系統(tǒng)的不穩(wěn)定程度就越高[15]。根據(jù)混沌系統(tǒng)的正李氏指數(shù)的個數(shù),可將其分為一般的混沌系統(tǒng)和超混沌系統(tǒng),本文所采用的是Chen超混沌系統(tǒng),方程組表示如下:
(1)
式中a、b、c、d、k為系統(tǒng)參數(shù),當a=36,b=3,c=28,d=16且-0.7≤k≤0.7時,Chen超混沌系統(tǒng)處于混沌狀態(tài),并生成四個混沌序列。Chen超混沌吸引子如圖1所示。相同參數(shù)下生成的Chen超混沌的倍周期分叉圖如圖2所示。
圖1 Chen超混沌吸引子
圖2 Chen超混沌的倍周期分叉圖
提出的加密算法如圖3所示,具體步驟如下:
步驟1 利用素數(shù)產(chǎn)生器產(chǎn)生3個大素數(shù)J、K和L
大素數(shù)J、K和參數(shù)L的生成如下:
(2)
其中J、K為大素數(shù),參數(shù)L為RSA算法的一個參量。isprime為素數(shù)產(chǎn)生函數(shù)。此外an∈[0,10000],是差值為2的等差序列。
步驟2 確定加密密鑰(公鑰)
任意選取一位與(J-1)*(K-1)互質(zhì)大值整數(shù)H作為加密密鑰。
步驟3 確定解密密鑰(私鑰)
由已知加密密鑰H,以及大素數(shù)J、K求得解密密鑰G,具體如下式:
G*H=1 mod[(J-1)*(K-1)]
(3)
其中mod為取余函數(shù)。
步驟4 RSA算法加密
利用產(chǎn)生的加密密鑰H,參數(shù)L完成RSA加密,具體公式如下:
D=F*Hmod(L)
(4)
其中D為非對稱加密后的混沌初值,F(xiàn)為非對稱加密前的混沌初值。
此外,若需要解密則必須知道解密密鑰G,具體公式為:
F=D*Gmod(L)
(5)
步驟5 數(shù)據(jù)歸一化處理
將所求得的密鑰初值D進行歸一化處理,使其數(shù)值在Chen混沌序列初值區(qū)間內(nèi)。
步驟6 利用超混沌系統(tǒng)生成掩膜、置亂、擴散的隨機序列
將RSA算法產(chǎn)生的初值代入超混沌系統(tǒng),并舍棄前100位序列,根據(jù)加密信息的長度計算相應的迭代次數(shù)。具體公式如下:
(6)
其中x∈[0,1],y∈[0,0.1],z∈[0,0.2],β∈[6,+∞],當a=10,b=8/3,c=28,r∈(-1.52,0.06)時,系統(tǒng)處于超混沌狀態(tài)。
步驟7 異或掩膜
明文通過一個用與其等長等寬的混沌矩陣進行位異或運算,具體公式如下:
C1=Bitxor(P,x')
(7)
其中Bitxor為按位異或函數(shù),P為待加密的信息,x'為處于[0,255]混沌序列。
步驟8 置亂擴散
置亂具體如下:
(8)
其中C1(i,j)為置換后的密文,indexH,indexW為順序排序的混沌序列,I是混沌系統(tǒng)產(chǎn)生的一個二維矩陣。
擴散具體如下:
Ci*j=Ci*j-1⊕Si*j⊕C1(i*j)
(9)
其中Ci*j為擴散后密文,同時也是最終加密圖像,Si*j為混沌系統(tǒng)產(chǎn)生的長度為i*j的混沌序列。
步驟9 生成密文
經(jīng)過以上操作,可生成一張加密質(zhì)量良好的雪花密文,并發(fā)送至接收端。
圖3 超混沌加密算法總框圖
解密過程:首先,將私鑰G通過另外一個通道發(fā)送給接收方,并利用公式5將非對稱加密后的混沌初值D還原為之前的混沌初值F。然后,利用混沌初值產(chǎn)生的序列矩陣進行逆擴散和逆置亂,分別還原像素值和像素位置。最后,做異或掩膜變換,得到解密后的信息。
設置產(chǎn)生的浮點數(shù)型偽隨機序列,公式如下:
n=2*H*W
(10)
其中n為浮點數(shù)型偽隨機序列的長度。
生成整數(shù)型偽隨機序列,公式如下:
(11)
其中X為整數(shù)型偽隨機序列,floor為取整函數(shù),max為取最大值函數(shù)。
使用Aronld矩陣對圖像進行置亂,算法如下:
fori=1:H
forj=1:W
K=1a(i,j);b(i,j)a(i,j)*b(i,j)+1
k=mod([K]*[i;j],[H;W])+[1;1];
t=A(i,j);
A(i,j)=A(k(1),k(2));
A(k(1),k(2))=t;
end
end
其中k是由坐標(i,j)計算得出的新坐標位置向量,t為與坐標(k(1),k(2))交換后的坐標(i,j)。
將置亂后的圖像矩陣賦給另一變量B,使用Aronld矩陣還原圖像矩陣B,算法如下:
B=A
fori=H:-1:1
forj=W:-1:1
K=1a(i,j);b(i,j)a(i,j)*b(i,j)+1
k=mod([K]*[i;j],[H;W])+[1;1];
t=B(i,j);
B(i,j)=B(k(1),k(2));
B(k(1),k(2))=t;
end
end
生成GF(17)的乘法運算查找表,公式如下:
TBL=mod{[transpose(0:16)*(0:16)],17}
(12)
其中transpose為轉(zhuǎn)置函數(shù),TBL為乘法運算查找表。
用查找表計算B(1)和B(i)的值,算法如下:
A=P(:);B0=0;
B(1)=LookUpGF17(B0,S1(1),A(1),TBL);
fori=2:H*W
B(i)=LookUpGF17(B(i-1),S1(i),A(i),TBL);
end
其中LookUoGF17為基于GF(17)域的乘法運算函數(shù)。
利用查找表計算C(H*W)和C(i)的值,算法如下:
C0=0;
C(H*W)=LookUpGF17(C0,S2(H*W),B(H*W),TBL);
fori=H*W-1:-1:1
C(i)=LookUpGF17(C(i+1),S2(i),B(i),TBL);
end
在物聯(lián)網(wǎng)環(huán)境下進行實驗驗證能夠更好地說明本算法在預制艙變電站環(huán)境下的可行性。實驗使用的Chen超混沌映射,映射參數(shù)為:a=10,b=8/3,c=28,可調(diào)參數(shù)r=-1。物聯(lián)網(wǎng)環(huán)境為Raspberry Pi 4 Model B+,CPU型號為Broadcom BCM2711,四核Cortex-A72 (ARM V8) 64位 SoC @ 1.5GHz,內(nèi)存 8 GB。Raspberry Pi在處理器速度、多媒體性能、內(nèi)存等方面具備一定的優(yōu)勢,因此能夠更好地驗證算法在預制艙變電站環(huán)境下的適配情況?;谖锫?lián)網(wǎng)設備的加密系統(tǒng)如圖4所示。
圖4 基于物聯(lián)網(wǎng)設備的加密系統(tǒng)
密鑰敏感性的強弱是反映加密算法能否抵擋暴力破解的重要指標之一。密鑰敏感性越強說明加密算法在面對暴力攻擊時越安全。基于密鑰敏感性的分析情況如圖5所示。
圖5(a)為明文圖像,圖5(b)為密文圖像。圖5(c)為密鑰完全正確時的解密結(jié)果,能夠準確反映明文信息。圖5(d)為密鑰出現(xiàn)10-15數(shù)量級錯誤時的解密結(jié)果,解密圖像呈噪聲樣式。從實驗結(jié)果不難看出,即使解密密鑰與正確密鑰存在微小差異,錯誤密鑰也無法準確還原明文。實驗結(jié)果證明了算法具有良好的密鑰敏感性。
圖5 數(shù)據(jù)加密解密結(jié)果
兩幅圖像對應位置的不同的像素點個數(shù)占全部像素點的比例,稱為NPCR(Unmber of Pixels Change Rate)。兩幅圖像對應位置的像素點的差值與最大差值的比例的平均值,稱為UACI(Unified Average Changing Intensity)。兩者都是評估圖像抗差分攻擊能力的重要指標。具體計算公式如下:
(13)
其中X1和X2分別為兩幅大小為H×W的圖像,NPCR中的D(i,j)的值如下式:
(14)
利用本算法分別對不同的圖像進行加密,并記錄分析各次加密后NPCR和UACI的值。不同圖像加密后記錄結(jié)果如表1所示。
表1 不同圖像加密后NPCR和UACI的數(shù)值
NPCR的理論期望值為99.6%,UACI的理論期望值為33.5%。由實驗結(jié)果可知,本算法對不同圖像的加密結(jié)果均符合理論期望值,所以本算法能夠較好地抵抗差分攻擊。
密鑰空間是反映加密算法對抗暴力破解攻擊時的另一安全指標。密鑰空間越大說明算法抵御暴力破解的能力越強。本文算法選取系統(tǒng)的初始值作為超混沌系統(tǒng)的密鑰參數(shù),H和G為密鑰控制參數(shù)。密鑰空間可表示為:
KCHAOS∈{x0,y0,z0,w0,H,G}
設定密鑰參數(shù)為雙精度數(shù)據(jù)類型,其精度值為10-16,混沌系統(tǒng)初始值{x0,y0,z0,w0}的密鑰空間為1064,加解密密鑰{H,G}的密鑰空間至少為(105)2。綜上所述,總密鑰空間為1064×1010=1074≈2245,密鑰長度為245 bit?;诿荑€長度,將本文算法與其他算法進行比較,比較結(jié)果如圖6所示。
圖6 密鑰長度對比圖
從實驗對比結(jié)果可以看出,本文算法相較于其他算法具有較大的密鑰空間,在面對暴力破解時具備一定的優(yōu)越性。
相比與傳統(tǒng)變電站,預制艙變電站更能滿足標準化、集成化、智能化等現(xiàn)代電網(wǎng)技術標準要求,但同時信息交互中的安全性也是該標準下的重要考量指標[19]。利用混沌加密算法優(yōu)化預制艙變電站模式下的信息交互模式。在公鑰密碼體制下,信息發(fā)送方使用公鑰加密,信息接收方使用私鑰解密,保證算法能夠應用于“多方發(fā)送,多方接收”的復雜電網(wǎng)信息通信環(huán)境,有效提高信息交互效率[20]。同時,密鑰的產(chǎn)生基于超混沌系統(tǒng)所產(chǎn)生的偽隨機序列,該序列具有高隨機性、高敏感性等特點,契合密鑰的安全性需求[21]。
針對預制艙變電站技術中可能存在的安全問題,利用Chen超混沌的初值敏感性和高隨機性,提出了一種基于Chen超混沌的公鑰密碼算法。加密方案通過素數(shù)發(fā)生器確定公鑰和私鑰,利用超混沌系統(tǒng)生成的隨機序列進行掩膜、擴散的加密操作。實驗數(shù)據(jù)表明,提出的算法在具備高初值敏感性的同時,還具有密鑰空間大、抗差分攻擊強等特點?;煦缂用芩惴ㄅc預制艙變電站技術相結(jié)合的想法和模式,將有望優(yōu)化甚至解決變電站智能化過程中產(chǎn)生的信息安全漏洞,為構建更好的電網(wǎng)系統(tǒng)提供幫助。