国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

水電站監(jiān)測(cè)數(shù)據(jù)加解密算法設(shè)計(jì)與實(shí)現(xiàn)

2021-09-24 12:03:06李張昆劉利君高浩志
水利規(guī)劃與設(shè)計(jì) 2021年10期
關(guān)鍵詞:加解密明文加密算法

李張昆,劉利君,高浩志

(中國(guó)電建集團(tuán)昆明勘測(cè)設(shè)計(jì)研究院有限公司,云南 昆明 650033)

隨著IT技術(shù)的發(fā)展,越來(lái)越多的傳統(tǒng)行業(yè)開(kāi)始向信息化方向轉(zhuǎn)型。在水電行業(yè)中,水電工程立項(xiàng)、建設(shè)、運(yùn)維等階段均不同程度地引入了來(lái)自不同廠(chǎng)商的各種信息化系統(tǒng),力圖通過(guò)信息化手段對(duì)水電站進(jìn)行科學(xué)有效地管理運(yùn)營(yíng)。然而,由于流域各電站之間系統(tǒng)相對(duì)獨(dú)立,各類(lèi)系統(tǒng)(例如基于以太網(wǎng)的水電站閘門(mén)自動(dòng)化控制系統(tǒng)[1]等),每天產(chǎn)生的關(guān)于水電、機(jī)組運(yùn)行等各類(lèi)海量數(shù)據(jù)無(wú)法互通共享,不能有效支撐流域電站節(jié)能增效的各類(lèi)決策。

伴隨著大數(shù)據(jù)技術(shù)的發(fā)展,采用大數(shù)據(jù)手段對(duì)大量紛繁復(fù)雜的數(shù)據(jù)進(jìn)行系統(tǒng)性挖掘、分析,并結(jié)合相應(yīng)業(yè)務(wù)模型,為電站后期運(yùn)營(yíng)決策提供有效依據(jù)已成為必然選擇。比如梯級(jí)水電站,其調(diào)度決策系統(tǒng)中存在很多非結(jié)構(gòu)化和半結(jié)構(gòu)化[2]的數(shù)據(jù),其中涉及很多有關(guān)水電站調(diào)度決策相關(guān)的敏感性數(shù)據(jù)。面對(duì)這類(lèi)數(shù)據(jù),在水電站各階段信息系統(tǒng)開(kāi)發(fā)應(yīng)用過(guò)程中,需要時(shí)刻保持敏感數(shù)據(jù)的高度隱秘性,保障系統(tǒng)的信息安全性。然而,在數(shù)據(jù)采集治理共享過(guò)程中,一旦出現(xiàn)水電敏感數(shù)據(jù)泄露、信息被惡意篡改的情況,將導(dǎo)致數(shù)據(jù)失去有效性而使得水電站調(diào)度決策失誤,進(jìn)而造成巨大的社會(huì)、經(jīng)濟(jì)損失。因此如何確保對(duì)于敏感信息的數(shù)據(jù)隱秘性和安全性在水電站信息系統(tǒng)建設(shè)過(guò)程中顯得尤為重要。

為了保障數(shù)據(jù)信息的保密性和安全性,需要對(duì)數(shù)據(jù)按照既定規(guī)則進(jìn)行重新編碼,以隱藏?cái)?shù)據(jù)信息,即使數(shù)據(jù)泄露,也難以準(zhǔn)確獲取加密前的真實(shí)數(shù)據(jù)信息,從而實(shí)現(xiàn)數(shù)據(jù)安全有效的共享傳遞。

1 總體設(shè)計(jì)

現(xiàn)如今水電站伴隨著各類(lèi)信息系統(tǒng)的建設(shè),每天產(chǎn)生的關(guān)于水電、機(jī)組運(yùn)行等監(jiān)測(cè)數(shù)據(jù),體量越來(lái)越大,數(shù)據(jù)種類(lèi)越來(lái)越多,水電監(jiān)測(cè)數(shù)據(jù)時(shí)效性要求越來(lái)越高,因此在對(duì)水電站監(jiān)測(cè)數(shù)據(jù)進(jìn)行加密解密操作時(shí),需要遵循以下原則:

(1)通用性,保證加解密系統(tǒng)能夠滿(mǎn)足對(duì)多種數(shù)據(jù)類(lèi)型,任意數(shù)據(jù)進(jìn)行有效加密、解密操作。

(2)保密性,確保數(shù)據(jù)加密后的密文不容易被破解,切實(shí)保障數(shù)據(jù)的安全性。

(3)準(zhǔn)確性,對(duì)加密后的數(shù)據(jù),能夠精準(zhǔn)有效的解密,保證數(shù)據(jù)的正確性。

(4)快速性,能夠短時(shí)間完成數(shù)據(jù)的加密解密工作,保證數(shù)據(jù)時(shí)效性。

為了實(shí)現(xiàn)水電站信息體統(tǒng)體系上下游通信無(wú)需持有相同密鑰也能完成加密數(shù)據(jù)傳輸識(shí)別,擬采用非均勻加密算法DES完成相關(guān)數(shù)據(jù)的加密工作。通過(guò)對(duì)某電站變形監(jiān)測(cè)傳感器監(jiān)測(cè)數(shù)據(jù)進(jìn)行實(shí)踐發(fā)現(xiàn),采用單純的DES算法進(jìn)行加密,產(chǎn)生的64位二進(jìn)制數(shù)據(jù)密文,或多或少會(huì)出現(xiàn)亂碼以及不可見(jiàn)字符,這極大地阻礙了數(shù)據(jù)的保存與傳遞,極易造成數(shù)據(jù)解密后的紊亂錯(cuò)位,進(jìn)而將導(dǎo)致數(shù)據(jù)失去有效性而使得水電站調(diào)度決策失誤,造成巨大的社會(huì)、經(jīng)濟(jì)損失。為了避免此類(lèi)問(wèn)題的發(fā)生,需要防止加密后亂碼和不可見(jiàn)字符的出現(xiàn),為此本文引入Base64編解碼算法,對(duì)數(shù)據(jù)明文進(jìn)行預(yù)處理,以杜絕亂碼和不可見(jiàn)字符的出現(xiàn)。通過(guò)Base64編解碼算法與DES加解密算法交叉融合,完成水電數(shù)據(jù)中數(shù)據(jù)的加密解密工作,充分保障數(shù)據(jù)的安全性、完整性以及可靠性。該加密解密系統(tǒng)的工作流程如圖1所示。

圖1 加密解密流程

在數(shù)據(jù)明文加密過(guò)程中,首先通過(guò)Base64編碼算法對(duì)待加密數(shù)據(jù)明文進(jìn)行第一次Base64編碼操作,將明文中特殊字符轉(zhuǎn)為常規(guī)字符,然后對(duì)明文一次編碼結(jié)果進(jìn)行DES加密操作,得到中間密文,再在中間密文的基礎(chǔ)上,對(duì)中間密文進(jìn)行第二次Base64編碼操作,得到最終密文。通過(guò)首尾兩次Base64編碼操作,徹底排除DES加密結(jié)果中的亂碼或不可見(jiàn)字符,極大地提高了數(shù)據(jù)的規(guī)范性和完整性。

對(duì)于密文的解密過(guò)程,即加密過(guò)程的逆向操作。首先采用Base64解碼算法對(duì)密文進(jìn)行第一次Base64解碼操作,得到一次解碼密文,然后對(duì)該一次解碼密文進(jìn)行DES解密操作,得到中間明文,再在中間明文的基礎(chǔ)上,對(duì)中間明文進(jìn)行第二次Base64解碼操作,即可得到原始的數(shù)據(jù)明文。解密流程通過(guò)與加密流程完全對(duì)稱(chēng)的逆向操作,保障了解密后明文的正確性。

本文采用Base64編解碼算法與DES加解密算法交叉融合,本文利用對(duì)稱(chēng)加密算法速度快、加密強(qiáng)度高的特點(diǎn),結(jié)合Base64編解碼算法的應(yīng)用廣泛性,完全可以覆蓋水電行業(yè)各種類(lèi)型數(shù)據(jù)的加解密工作,并有效保證數(shù)據(jù)的安全性、準(zhǔn)確性、快速性。

2 算法簡(jiǎn)介

2.1 Base64編解碼算法原理

Base64編碼是基于64個(gè)字符A-Z,a-z,0-9,+,/的編碼方式[3],是一種任意二進(jìn)制到文本字符串的編碼方法。Base64編解碼原理如圖2所示,編碼是將明文按3個(gè)字節(jié)為一組,把3個(gè)字節(jié)的數(shù)據(jù)放入一個(gè)24位的緩沖區(qū)中,然后從緩沖區(qū)最高位開(kāi)始連續(xù)截取6位二進(jìn)制數(shù)據(jù)[4],每6位作為一組;然后分別在每組6位二進(jìn)制數(shù)的最高兩位添加兩個(gè)0構(gòu)成一個(gè)新的字節(jié),最終形成4個(gè)新字節(jié);最后把4個(gè)新字節(jié)分別作為索引,查詢(xún)Base64編碼表,找到對(duì)應(yīng)字符作為編碼后的密文。對(duì)于明文不足3字節(jié)的,以字節(jié)0補(bǔ)位,編碼后使用“=”作為編碼密文。Base64解碼則是將密文按4個(gè)字節(jié)為一組,對(duì)照Base64編碼表找到每個(gè)字節(jié)對(duì)應(yīng)字符的索引值,分別取每個(gè)索引值的低6位依次放入一個(gè)24位的緩沖區(qū);然后從緩沖區(qū)的最高位開(kāi)始取8位二進(jìn)制作為一組構(gòu)成一個(gè)新的字節(jié),直至24位二進(jìn)制全部取完,最終得到3個(gè)字節(jié),即對(duì)應(yīng)明文。

圖2 Base64編解碼原理

2.2 DES加解密算法原理

DES加密算法是一種數(shù)據(jù)分組的加密算法,它將數(shù)據(jù)明文二進(jìn)制按照64位為一組分成不同的數(shù)據(jù)塊,然后使用Feistel結(jié)構(gòu),對(duì)數(shù)據(jù)塊進(jìn)行了初始置換、密鑰置換、擴(kuò)展置換、S盒替代、P置換以及逆置換等一系列操作,經(jīng)過(guò)多次迭代后得到最終的加密密文[5]。其中DES加解密所需的密鑰生成流程如圖3所示,原始64位密鑰通過(guò)PC- 1變換得到56位密鑰,將其高28位作為C[0],低28位作為D[0],并循環(huán)左移得到C[1],D[1],然后對(duì)新組成的56位二進(jìn)制數(shù)據(jù)進(jìn)行PC- 2變換即可得到48位子密鑰K[1],以此類(lèi)推,得到16個(gè)48位子密鑰。

圖3 密鑰生成流程

其中,對(duì)于每個(gè)64位二進(jìn)制數(shù)據(jù)塊的加密過(guò)程詳細(xì)步驟如圖4所示[6],首先對(duì)64位明文進(jìn)行初始IP置換,將置換得到的64位二進(jìn)制的左邊32位作為L(zhǎng)[0],右邊32位作為R[0],以此作為輸入,按照如下算法進(jìn)行16輪迭代變換:

Li=Ri-1

Ri=Li-1⊕f(Ri-1,Ki)

其中,f(Ri-1,Ki)=P(S(E(Ri-1)⊕Ki)),1≤i≤16。

圖4 DES加密流程

f函數(shù)的詳細(xì)流程如圖5所示。E為擴(kuò)展變換,將32位Ri-1映射為48位數(shù)據(jù),將這48位數(shù)據(jù)與對(duì)應(yīng)48位子密鑰進(jìn)行異或操作,得到的結(jié)果按6位一組分為8組,對(duì)每一組數(shù)據(jù)進(jìn)行S盒替換,得到8組4位二進(jìn)制,對(duì)新生成的32位數(shù)據(jù)進(jìn)行P置換,將結(jié)果與Li-1進(jìn)行異或得到Ri。

圖5 f變換

如此迭代,得到R16L16,將該64位二進(jìn)制數(shù)據(jù)進(jìn)行逆置換IP- 1操作,得到64位二進(jìn)制明文數(shù)據(jù)塊對(duì)應(yīng)的加密密文。

3 算法實(shí)現(xiàn)與應(yīng)用

3.1 算法實(shí)現(xiàn)

結(jié)合Base64編解碼算法和DES加解密算法的特點(diǎn)以及場(chǎng)景應(yīng)用的相關(guān)約束性,該混合加密算法采用Base64-DES-Base64交叉融合模式,加密前期,鑒于DES加解密算法輸入是64位二進(jìn)制,合計(jì)8字節(jié),而B(niǎo)ase64編解碼算法將3字節(jié)編碼為4字節(jié),故對(duì)明文按照6字節(jié)一組進(jìn)行分組(不足6字節(jié),以“

荆州市| 邵阳市| 日土县| 桦川县| 屏南县| 曲阜市| 桂平市| 铜山县| 靖边县| 溆浦县| 浮山县| 义乌市| 丁青县| 龙游县| 贵阳市| 类乌齐县| 伊吾县| 巨野县| 新干县| 菏泽市| 即墨市| 威海市| 汝州市| 将乐县| 抚顺县| 清原| 潜江市| 兴城市| 邯郸县| 北流市| 杨浦区| 呼伦贝尔市| 江陵县| 梨树县| 丹凤县| 乐平市| 定结县| 大港区| 云林县| 汉川市| 南澳县|