999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

加密算法優化對無人機的CPU功耗影響研究

2018-09-07 01:23:20吳杰宏柔瑩瑩鄒良開
小型微型計算機系統 2018年8期

吳杰宏,柔瑩瑩,鄒良開,李 亞

(沈陽航空航天大學 計算機學院,沈陽 110136) E-mail :wujiehong@sau.edu.cn

1 引 言

在無人機集群系統中,各無人機之間的協作與鏈路通信是重要的設計環節.移動自組織網絡(Mobile Ad Hoc Networks,MANET) 是一種沒有基站和接入點等控制中心的自組織網絡,無需基礎網絡設備的支持即可隨時隨地快速地自動組網,非常適用于無人機集群.我們把無人機集群組成的移動自組織網絡稱為無人機自組織網絡[1](Unmanned Ad Hoc Network,UANET),其動態地形成多無人機信息交換的網絡,實時控制無人機群及其數據傳輸,增強無人機間的通信能力和對信息的感知獲取能力,提高無人機協同執行任務的能力,以適應在各領域的使用需求[2].但是,因UANET高速移動性和能源局限性,在彼此之間傳遞交換數據包信息時極易受到各種威脅與攻擊.UANET網絡中主要受到的攻擊類型[3-5]如:

1)拒絕服務.破壞網絡中特定節點的可用性甚至是整個網絡的服務性能,干擾網絡中的無線電或使其電池耗盡.

2)偽裝攻擊.如果缺失身份認證機制,惡意節點將偽裝成一個真實的節點監控網絡流量并發送虛假路由數據包來獲取用戶機密信息.

3)竊聽.惡意節點竊聽機密信息(如位置、公鑰、私鑰、密碼等)或個人信息,此信息隨后可能被濫用或修改.

4)路由.網絡中最重要的服務之一,也最易被當作攻擊的目標.對路由的攻擊通常分為兩類:對路由協議的攻擊(阻止被攻擊者的路由信息傳送到目的地)和對路由數據包轉發/交付的攻擊(擾亂數據包在預定義路徑上的傳遞).

除此之外,各無人機節點僅依靠自帶的有限電池能量來維持操作,缺少充足的能量供應保障.無人機集群系統在進行相互數據包交互或各無人機節點通過多跳數據轉發機制執行數據傳輸或交換時,如果網絡中某個無人機節點或節點組的能量不足或耗盡,整個移動網絡將隨即停止服務,如同“短板效應”.

那么使用無人機自組織網絡通信是否安全?該網絡能否更長時間的傳輸數據?上述問題均成為無人機自組織網絡研究需要關注的重點.目前,常用的技術是在進行數據傳輸時,加密數據來減小數據被丟失、泄露和篡改的幾率.常用的幾種加密算法[6],如DES、AES、RSA、DSA、Blowfish、Diffie-Hellman和哈希算法都廣泛應用于無人機自組織網絡中.文獻[7]提出在無線移動自組織網絡中將密碼學機制和信任管理相結合的思想,并在安全設計中引入異質性資源管理的概念,用來應對三維安全通信中安全性設計不足和節點間分歧的問題,以便減少攻擊時數據包的丟失.文獻[8]針對無人飛行系統存儲和交換的分區數據,提出了一種通過密鑰協商提供身份驗證和安全的方法,加密存儲在無人飛行系統中的數據和地面基站與無人飛行系統之間通信鏈路的傳輸數據.文獻[9]指出在移動自組織網絡中加入外部認證機構CA和防偽芯片,向普通節點廣播黑名單和共享密鑰,達到安全存儲和訪問數據的目的.文獻[10]提出利用統一安全機制和速率適應方案防御DoS的攻擊.兩種技術在檢測和減輕干擾攻擊方面各有利弊.

此外,多無人機自組織網絡對能源供給的要求也不容忽視.縮短加密算法執行時間和數據傳輸時間,即可有效的減少多無人機系統的整體能量消耗,有助于增加整個網絡的工作壽命和整個系統的生存時間.目前鮮有文獻研究比較多無人機系統中采用不同加密算法的能量消耗情況和相關的改進方法.由此,本文的主要研究工作如下:

1)對比分析了UANET傳輸數據時常用的三種加密算法:Blowfish、AES和GOST R 34.12-2015;

2)改進Blowfish和GOST R 34.12-2015加密算法,如何減小Blowfish算法的迭代次數,如何降低GOST算法的預處理數據的運算表數量.

3)對比驗證了UANET中原始算法和改進后算法的執行時間、吞吐量以及CPU上各節點的能耗情況.

2 UANET數據傳輸模型

多無人機自組織網絡中無人機集群個數可達成百上千.每一架微型無人機既可作為數據發送端,又可作為中繼轉發端和接收端.各無人機無線通訊設備覆蓋范圍有限.如果兩架無人機不在直接廣播可接收消息范圍內,則需要借助其它無人機的轉發實現數據從發送端到目的地接收端的傳輸.圖1所示為UANET數據傳輸模型.UAV1表示發送節點,UAV4表示目的節點.由于UAV1和UAV4之間的距離超出其自身的通信半徑,需要借助附近的UAV2或UAV3作為中繼轉發完成傳輸.在本文研究中,若數據從UAV1發送到UAV2,首先在UAV1對發送數據加密;當數據到達UAV2后,解密得到數據信息.本文假設各無人機的通信覆蓋半徑相同,無人機之間的通信鏈路始終連通,并且從初始時刻起,無人機一邊移動一邊傳輸數據.

3 加密算法簡述

這里介紹常用的三種數據傳輸加密算法:Blowfish、AES和GOST R 34.12-2015算法.

3.1 Blowfish算法

Blowfish算法是一種對稱密鑰分組密碼算法,其數據分組長度為64位,密鑰為1至448位的可變長度.算法的核心在于子密鑰的生成,這些密鑰必須在加密及解密之前進行預計算.算法由密鑰擴展和數據加密兩個過程組成[12].密鑰擴展把長度可達到448位的密鑰轉變成4168字節的幾個子密鑰——由18個32位子密鑰構成的P數組和4個32位的S盒(每盒有256個單元).數據加密由一個簡單函數迭代16輪,每一輪包含密鑰相關的置換、密鑰相關和數據相關的代替.Blowfish算法具有密鑰長度可變、快速、緊湊等優點,但當算法使用的密鑰過于弱時會很容易受到攻擊.

圖1 UANET數據傳輸模型Fig.1 UANET data transfer model

Blowfish算法子密鑰生成過程如下:

1)用一個由π的十六進制數字表示的固定的字符串順序初始化P數組和4個S盒;

2)用密鑰的第一個32位與P1異或,用密鑰的第二個32位與P2異或,依此類推,直到密鑰的所有位運算結束.周期性地循環密鑰的所有位,直到整個P數組與密鑰異或完為止.對于每一個短密鑰,至少有一個等價的較長密鑰.如果ABCD是短密鑰,則ABCDABCD…ABCD為其等價密鑰;

3)使用之前步驟形成的子密鑰將Blowfish算法加密全零串;

4)用步驟3)的結果替換P1和P2;

5)使用修改過的子密鑰,用Blowfish算法加密第3步的輸出;

6)用步驟5)的結果替換P3和P4;

7)重復上述過程,替換P數組所有子項,然后使用連續變化的Blowfish算法的輸出結果順序替換4個S盒.

Blowfish算法加密時將所用的64 位的明文分成兩半,即各為 32位的xL和xR.加密過程需要迭代16次,在迭代的過程中使用上面生成的子密鑰key-pbox[i],最后生成64位的密文.Blowfish解密只需把key-pbox[i]逆序使用即可.

3.2 AES算法

高級加密標準AES算法是一種帶有可變塊長和可變密鑰長度的迭代分組加密算法,其數據分組長度為128位,密鑰長度可為128、192或256位,相應的迭代輪數分別為10、12、14.AES算法因加密過程內存消耗低而成為當前流行的國際加密標準.

AES算法加密過程首先將128位的明文數據劃分為16B,然后將其依次復制到4×4的狀態矩陣上[13].矩陣的行數為4,列數根據不同的密鑰長度分別為4、6、8.AES每輪加密循環均包含4個階段:

1)字節替代變換.采用8位S盒替換表將矩陣中每個字節ai,j替換成另一個字節S(ai,j).S盒的構造是算法安全的關鍵.為了避免攻擊,S盒結合了有限域GF(28)上乘法逆元及可逆的仿射變換矩陣共同建構而成.此外在建構S盒時,刻意避開了固定點(S(ai,j)≠ai,j)與反固定點(S(ai,j)⊕ai,j≠0×FF).

2)行位移變換.將變換后的狀態矩陣每一行周期性地位移某偏移量.第1、2、3和4行分別循環左移0、1、2、3位.行位移變換避免了列線性獨立,在這種情況下,AES簡化成四個獨立的分組密碼.

3)列混淆變換.狀態矩陣的每一列的四個字節通過線性變換互相結合后即為有限域GF(28)中的多項式系數,接著將此多項式和一個固定的多項式a(x)進行模多項式m(x)=x2+1的乘法運算.幾輪行位移變換和列混淆變換后,所有的輸出均與所有的輸入相關,密碼系統擴散性更強.

4)輪密鑰加變換.在加密循環時,初始密鑰通過固定變換得到每一輪的子密鑰.該步驟就是將狀態矩陣與子密鑰矩陣的對應字節做異或運算.輪密鑰加變換非常簡單,卻影響著狀態中的每一位.

3.3 GOST R 34.12-2015算法

GOST R 34.12-2015算法是由俄羅斯政府公布的新型對稱分組加密標準,從2016年開始生效.該標準定義了兩個算法[14]:一種稱為Magma,是具有固定S盒的前標準加密算法GOST,其數據分組長度為64位,密鑰長度為256位;第二種稱為Kuznyechik,是基于SP網絡的新型對稱分組密碼,數據分組長度為128位,密鑰長度為256位.直到現在長時間攻擊該算法并未發現威脅.本文主要對第二種Kuznyechik進行研究.

圖2 所有子密鑰產生Fig.2 Generation of all the subkeys

Kuznyechik密碼使用256位密鑰生成10個128位的輪密鑰.每一輪包含三個操作:輪密鑰加、S盒變換和線性變換.輪密鑰加變換過程將128位輸入變化為128位輸出:

X[k](a)=k⊕a

(1)

其中k表示輪密鑰,a表示128位的輸入數據.S盒變換過程使用固定S盒將輸入的每個字節變換成輸出字節:

S(a)=S(a15‖…‖a0)=π(a15)‖…‖π(a0)

(2)

其中a=a15‖…‖a0表示128位輸入數據,π表示S盒.線性變換有兩種實現方式:矩陣或線性反饋移位寄存器,周期都為16.

R(a)=R(a15|…|a0)=l(a15,…,a0)‖a15‖…‖a1

(3)

其中l表示反饋多項式為x8+x6+x5+x4+1的Galois線性反饋移位寄存器.

密鑰編排過程將256位主密鑰通過Feistel結構函數變換為10個輪密鑰.如圖2顯示了所有子密鑰產生,前兩個輪密鑰是將主密鑰K直接分割為K1和K2得到的.為生成其它的每一對子密鑰,Feistel結構函數還需進行8次迭代.

(K2i+1,K2i)=F[C8(i-1)+8]…F[C8(i-1)+1]·(K2i-1,K2i)

(4)

其中i=1,2,3,4;Cj=L(j);j=1,2,…,32.加密過程如下:

EK1,…,K10(a)=X[K10]LSX[K9]…LSX[K1](a)

(5)

其中E表示密文;a表示輸入的純文本;X表示輪密鑰加;S表示S盒變換,L表示線性變換.加密過程框圖模式如圖3.

圖3 加密過程框圖Fig.3 Process of encryption process

解密使用逆S盒變換和線性逆變換,逆序使用輪密鑰加變換.解密過程如下:

DK1,…,K10(a)=X[K1]S-1L-1X[K2]…S-1L-1X[K10](a)

(6)

其中D表示解密文本,S-1表示逆S盒變換,L-1表示逆線性變換.

4 算法改進

4.1 Blowfish優化算法

Blowfish算法在加密和解密過程中主要重復循環轉化的操作.若能在安全性能不受影響的前提下減少循環迭代的次數,將大量減少算法執行時間,同時降低執行算法功率消耗.原始Blowfish算法加密迭代16次,每次迭代需要一個輪密鑰,并且在最后一輪左、右半部需額外增加兩個輪密鑰.換句話說,原始算法共需要18個輪密鑰.根據blowfish算法規范,迭代次數從16減小到8不會影響到安全[17],因此對算法進行優化.將循環迭代次數減少到8,意味著總輪密鑰數減少到10.即8個密鑰用于網絡迭代和2個密鑰用于最后一輪額外使用.在原始算法中,最大密鑰長度是有限的,使得每個輪密鑰的位數取決于每個密鑰的位數.但是,最后四個輪密鑰不影響密文的每一位.因此,密鑰不應大于(18-4)×32=448位.優化后算法只使用10個輪密鑰,所以其密鑰長度應該是有限的(10-4)×32=192位.

優化后的算法加密過程用以下偽代碼描述:

1.Dividexinto two 32-bit halves:xLandxR

2.fori=1 to 8do

3.xL=xL⊕Pi

4.xR=F(xL)⊕xR

5.SwapxLandxR

6.endfor

7.SwapxLandxR(undo last swap)

8.xR=xR⊕P9

9.xL=xL⊕P10

10.RecombinexLandxR

如圖4顯示,函數F將xL分成4個8位分組:a、b、c和d.

F(xL)=((S1,a+S2,bmod 232)⊕S3,c)+S4,dmod 232

(7)

圖4 函數F框圖Fig.4 Function F block diagram

解密過程除輪密鑰采用逆序之外,剩余過程與加密過程完全相同.密鑰擴展過程除輪密鑰數量減少外,其它與原密鑰均相同,因此P數組的大小減少.對Blowfish算法密碼分析顯示,如果輪密鑰的數量小于或等于7,該算法將被攻擊[18].因此,優化增強后的算法不會影響安全性.

4.2 GOST優化算法

GOST算法在有限域內使用乘法.當兩個域的元素相乘,第一步是將各自對應的多項式相乘.但是,多項式相乘結果將高達14次,使得數值太大而不適合用于一個字節.目前,GOST R 34.12-2015算法中有限域內使用的固定的8次不可約多項式為m(x)=x8+x6+x5+x4+1=0×171(hex).兩個多項式的中間乘積必須用m(x)進行劃分.除法后所得余數部分是期望的乘積.有限域內的乘法是基于多項式乘法建立的,計算難度高,該完整乘法表的大小是256×256=65536個元素,部分如表1所示.

表1 GOST算法的完全乘法表的片段Table 1 Fragment of full multiplication table for the GOST algorithm

該完整乘法表元素數量較多.進一步分析該算法可知,在加密和解密過程中,并非表中所有的值都使用,所以表可以進行優化減少.因此使用預先計算好的數據建立乘法表.使用預先計算表不影響算法的安全級別[19].將算法中使用的乘法乘數減小為16,則表減小為16×256個元素,現在只需要在存儲器中存儲4096個字節即可.

5 實驗設計和仿真

實驗的目的是研究所選用算法在UAVs中的功率消耗.基于文獻[20]實驗的結果,網絡實驗仿真采用NS-3軟件的能源框架和高通驍龍801CPU能量模塊完成.CPU有兩種工作模式:操作和閑置.操作模式時CPU以最高頻率處理數據.反之,閑置模式以最低頻率處理數據.模擬實驗中兩個節點之間通過WiFi連接.首先在發送節點對數據包加密,然后發送到目的節點.當目的節點收到數據包后,對數據包進行解密.

5.1 算法的執行時間

實驗過程分別對以下尺寸大小的文件加密:20 Kb,50 Kb、200 Kb、800 Kb、3200 Kb、12800 Kb、51200 Kb.所有加密文件均為文本文件,在電子密碼本模式下執行加密.在實驗期間收集以下兩個指標:

1) 加密過程執行時間;

2) 解密過程執行時間.

表2 各算法加密時間(ms)Table 2 Encryption time(ms) for different algorithms

表2-表3分別給出了不同算法加密和解密不同文本消耗的時間.其中,O-Blowfish表示優化后的Blowfish算法,O-GOST表示優化后的GOST算法.時間測量單位為毫秒,假設輸入輸出操作時間不計.由表可知,O-Blowfish算法和O-GOST算法的執行時間均比原始執行時間明顯減少.不同大小的純文本文件完成一次加密和解密周期所需的時間隨文本大小的增加成正比例增加.圖5給出了五種算法的執行時間.

表3 各算法解密時間(ms)Table 3 Decryption time(ms) for different algorithms

算法吞吐量計算公式為∑size/∑time.根據實驗測量數據,表4給出了不同算法的吞吐量,單位為Mb/s.O-Blowfish算法吞吐量提高了10.19%,O-GOST算法吞吐量提高了16.6%.

5.2 算法的功耗

實驗數據基于高通驍龍801CPU模塊測量.CPU處理數據消耗的時間將用于功耗的計算,同時可用于計算吞吐量.實驗提出兩個假設:

1) 加密和解密時CPU均以最大頻率運行;

2)不考慮輸入和輸出操作花費的時間.

圖5 五種算法的執行時間Fig.5 Execution time of five algorithms

一輪完整的數據加密過程包含加密過程和解密過程.為更清楚地顯示優化算法在CPU處理數據加密過程中的功率消耗性能,將加密過程和解密過程分別進行比較.圖6(a)和圖6(b)分別顯示了CPU執行加密和解密操作時消耗的功率(焦耳)和時間(秒)的關系.從圖中清楚地顯示出CPU在執行加密進程時AES算法的功耗小于其它兩種算法,在執行解密進程時Blowfish算法的功耗相較其它算法更小些.

表4 不同算法的吞吐量Table 4 Throughput calculation for different algorithms

圖6 不同算法的CPU功率消耗Fig.6 Power consumption of CPU for different algorithms

圖7 CPU模塊Blowfish 算法的功耗Fig.7 Power consumption of CPU when performing Blowfish algorithm

圖7顯示了使用Blowfish和O-Blowfish算法分別執行加密過程和解密過程的功耗比較.圖8顯示了使用GOST和O-GOST算法分別執行加密過程和解密過程的功耗比較.實驗結果表明,優化后的O-Blowfish算法和O-GOST算法功耗更低.

表5顯示了在一輪完整加密過程中,不同時刻對應的Blowfish和O-Blowfish算法的功耗情況.同樣地,表6顯示了不同時刻對應的GOST和O-GOST算法的功耗情況.結果表明,功耗均隨著時間的推移而成比例地增加,O-Blowfish和O-GOST算法在功耗方面均比原始算法更優.

圖8 CPU模塊GOST算法的功耗Fig.8 Power consumption of CPU when performing GOST algorithm

表5 Blowfish和O-Blowfish算法的功耗Table 5 Power consumption of the Blowfish and the O-Blowfish algorithm

5.3 CPU和無線電模塊功耗比較

實驗測試包含兩個節點.節點1為發送節點,執行數據包的加密并將其發送;節點0為接收節點,接收數據并解密.CPU 1和Radio1分別表示了發送節點1的 CPU模塊和無線電模塊的功率消耗.CPU0和Radio0對應接收節點0.圖9顯示了執行各算法時對應發送節點1和接收節點0的CPU模塊和無線電模塊的功率消耗情況.由圖9可得,CPU功率消耗大約占無線電模塊消耗的11%,此關系適合所有的加密算法,具有普適性.

表6 GOST 和O-GOST 算法的功耗Table 6 Power consumption of the GOST and the O-GOST algorithm

為進一步探究CPU模塊上兩個節點的功耗性能,在發送節點1和接收節點0上分別將Blowfish、O-Blowfish、GOST、O-GOST和AES算法執行大約1000秒.為清晰顯示功耗隨時間的變化情況,將時間分為五個階段.CPU模塊上發送節點1和接收節點0處的五種算法的功耗分別顯示于表7和表8.對比數據可知,兩種優化的算法均比原算法消耗的功耗減少.在發送節點1處,O-Blowfish比Blowfish減小約1.28%,O-GOST比GOST減少約2%.其中,AES算法在CPU模塊發送節點1處功率消耗最少.在接收節點0處,O-Blowfish比Blowfish減小約0.7%,O-GOST比GOST減小約2.57%.其中,O-Blowfish算法相較其它算法功率消耗最少.

圖9 CPU和無線電模塊上不同算法分別對應兩節點的功率消耗Fig.9 Power consumption of different algorithms for CPU and Radio module on two nodes

表7 CPU模塊發送節點1處5種算法的功耗Table 7 Power consumption of five algorithms for CPU module on transmitter node 1

表8 CPU模型接收節點0處5種算法的功耗Table 8 Power consumption of five algorithms for CPU module on receiver node 0

6 結束語

本文通過研究和仿真比較了多無人機自組織網絡中使用不同算法發送數據包的功率消耗情況.首先,簡要描述了常在多無人機自組織網絡中采用的三種加密算法.隨后,在不影響安全性能的前提下,將Blowfish的迭代次數減小實現優化,同時吞吐量提高了10.19%.GOST算法在有限域使用預計算數據,使得運算表數量大大減小,吞吐量提高16.6%.最后,比較了所有算法對不同文本的加密和解密所需的時間,以及CPU和無線電模塊的功耗情況.結果可知,CPU模塊功耗大約占無線電模塊功耗的11%.在發送節點,O-Blowfish和O-GOST功耗分別減小約1.28%和2%.在接收節點,O-Blowfish和O-GOST功耗分別減小約0.7%和2.57%.

多無人機自組織網絡的數據傳輸安全和能耗問題仍然是當前研究的熱點,找到安全性更高、節能性更強的加密傳輸方案是未來繼續研究的重點.

主站蜘蛛池模板: 88av在线| 国产成+人+综合+亚洲欧美| 亚洲中文字幕在线一区播放| 精品国产自在在线在线观看| 日韩欧美高清视频| 成人毛片免费在线观看| 久久亚洲天堂| 日韩中文字幕亚洲无线码| 尤物精品国产福利网站| 国产鲁鲁视频在线观看| 国产激情影院| 久久综合色天堂av| 54pao国产成人免费视频| 在线国产91| 91无码网站| 国产精品视频猛进猛出| 亚洲全网成人资源在线观看| 国产成人午夜福利免费无码r| 夜夜操国产| 亚洲视频四区| 最新国产麻豆aⅴ精品无| 无码中文AⅤ在线观看| 欧美伊人色综合久久天天| 国产女同自拍视频| 亚洲欧美日韩成人在线| 精品国产免费观看一区| 九九热精品视频在线| 亚洲国产欧洲精品路线久久| 国产美女在线观看| 六月婷婷精品视频在线观看| 久久一日本道色综合久久| 亚洲精品天堂自在久久77| 毛片免费在线视频| 日韩精品一区二区深田咏美| 国产精品播放| 国产香蕉一区二区在线网站| 欧美亚洲网| 99re在线视频观看| 国产乱子伦无码精品小说| 亚洲中文字幕av无码区| 国产波多野结衣中文在线播放| 刘亦菲一区二区在线观看| 国产一区二区三区视频| 日韩不卡高清视频| 亚洲中文字幕在线一区播放| 一级爆乳无码av| 一本综合久久| 一区二区三区高清视频国产女人| 欧美一区二区三区国产精品| 九月婷婷亚洲综合在线| 视频一区亚洲| m男亚洲一区中文字幕| 好吊日免费视频| 久久夜色精品国产嚕嚕亚洲av| 亚洲成a∧人片在线观看无码| 成年女人a毛片免费视频| 日本欧美视频在线观看| 久久综合色视频| 亚洲中文字幕日产无码2021| 99久久国产自偷自偷免费一区| 青青草国产精品久久久久| 国产成人超碰无码| 免费国产一级 片内射老| 亚洲中文字幕在线精品一区| 欧美视频在线第一页| 性69交片免费看| 三上悠亚精品二区在线观看| 亚亚洲乱码一二三四区| 国产成人综合亚洲网址| 狼友视频一区二区三区| 亚洲va视频| 久久五月视频| 欧美性久久久久| 国产尹人香蕉综合在线电影| 国产一区二区三区在线精品专区| 亚洲最新地址| 国产一级α片| 手机在线国产精品| 国产不卡一级毛片视频| 亚洲天堂免费| 91美女视频在线| 欧美国产菊爆免费观看|