[發明專利]一種數據加密通信方法有效
| 申請號: | 201611207650.9 | 申請日: | 2016-12-23 |
| 公開(公告)號: | CN108243001B | 公開(公告)日: | 2019-04-23 |
| 發明(設計)人: | 黃玉甫;任麗君;曾剛 | 申請(專利權)人: | 中科星圖股份有限公司 |
| 主分類號: | H04L9/16 | 分類號: | H04L9/16;H04L9/08 |
| 代理公司: | 北京安博達知識產權代理有限公司 11271 | 代理人: | 徐國文 |
| 地址: | 101399 北京市順義區臨空經濟核*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 通信密鑰 密鑰 動態密鑰 加密處理 數據加密 動態的 數據通信請求 發送節點 接收節點 接收數據 接收用戶 密鑰產生 數據內容 數據發 通信 發送 保證 | ||
1.一種數據加密通信方法,所述通信方法應用的數據加密通信系統包括多個發送節點,多條通信路徑,密鑰機節點,接收節點;發送節點和密鑰機節點,密鑰機節點和接收節點之間均采用加密通信通道或安全通信通道進行通信連接;
其特征在于,該方法包括如下步驟:
步驟1:發送節點接收數據通信任務及其對應的任務優先級TaskPr;
具體為:發送節點從任務中獲取任務優先級TaskPr,以及每個待通信數據文件名稱及其存儲位置;獲取待通信數據的類型數目nt,為每種數據類型分別創建子任務T1~Tnt,每個子任務負責采集一種類型的數據,子任務用于基于存儲位置和數據文件名稱查找到相應類型的數據文件,采集該類型的數據文件,并將該類型的所有數據文件按照文件名稱進行排序,將排序后的數據文件進行組合,組合后形成該類型的數據文件組合;每個子任務保存該子任務包含的文件名稱和該文件的大小之間的對應關系;
步驟2:發送節點計算每個子任務優先級;具體為:計算每個子任務采集的數據文件的優先級,計算每個優先級等級的文件數目,根據下述公式(1)計算該子任務的優先級Tpri;其中,k為第k個優先權等級,Wk為第k優先權等級對應的權重系數,PLk表示第k個優先權等級對應的文件數目;
Tpri=TaskPr×(∑Wk×PLk/ΣPLk)公式(1);
步驟3:發送節點按照優先級順序分別對每個子任務進行調度:
具體為,將所有子任務設置為就緒狀態,并按照優先級從大到小的順序排序,將排序后的子任務交由調度單元進行調度;調度單元為發送節點內所包含的單元;
調度單元將子任務按照其優先級放入調度隊列中進行統一的調度;調度列表是針對所有任務對應的所有子任務進行統一的調度,在子任務進入調度列表后其調度順序會發生改變,所有子任務的優先級需要和已經進入調度列表的其他子任務的優先級進行比較后重新進行排序;通過設置任務優先級的方式來調整該任務對應的所有子任務的優先級,當將任務的優先級設置為足夠大時,使得該任務對應的所有的子任務均處于調度列表的前部;當系統存在子任務調度可用資源時,調度單元從調度隊列頭部獲取第一個子任務進行調度;被調度的子任務將執行后續具體的數據通信處理:
通過子任務的方式使得所有的數據通信任務均按照其優先級的順序有序完成;對于高優先級的任務即使晚進入隊列也會得到優先的處理;
步驟4:發送節點子任務基于隨機數計算數據加密密鑰K1:
具體為,獲取隨機數S1,S2,S3,基于該隨機數S1~S3和該子任務數
據類型從密鑰機節點獲取密鑰機本;基于隨機數S1~S3和密鑰機本,采用公式(2)計算本次數據加密密鑰K1,其中,在參與計算時,用S3代表的運算替代S3;
其中,S1和S2的取值范圍是1~N,S3的值為0~3之間,S3=0~3分別標識加法、乘法、減法、mod除法運算,其中N為預設值,該預設值需要定期的同時在發送節點和接收節點作更新;該預設值保存在密鑰機節點中;C1~Cx是從密鑰機本的位置P1~Px處獲取的數據值;其中,x采用下述公式(3)計算得到;Pj采用下述公式(4)計算得到;Lall為密鑰機本數據的總長度;公式(4)中的除法“/”為整除,i是數據值C的編號,j為位置P的編號;
x=|N+S1+S2|-|N-S1-S2|公式(3)
Pj=(j×P1)mod Lall公式(4)
當密鑰機本為二進制表示時,該數據值為從位置P開始的8或16或32或64位數據值;
步驟5:發送節點子任務采用密鑰對數據進行加密處理:
具體為,判斷密鑰數值K1大小,根據下述不同密鑰值采用不同的加密方式:
(A)當密鑰0<=K1<TK1時,采用循環移位加密方式,將數據采用左/右移動K1次的方式進行加密;
(B)當密鑰TK1<=K1<TK2時,采用替換方式加密,將數據的第mK1位置的數據值替換為默認值None或0,并將替換掉的所有第mK1位置的數據值保存到替換表中,將該替換表的數據區分的按順序放置在數據的結尾處;
(C)當密鑰TK2<=K1<TK3時,采用分塊交換方式加密;將數據分為大小為K1的數據塊,從第一個數據塊開始,2個數據塊分為一組,對于組內相鄰的兩塊Block和Block+1,將Block的第一個數據值和Block+1的倒數第一個數據值作交換,將Block的第二個數據值和Block+1的倒數第二個數據值作交換,直到Block和Block+1的所有數據值均交換完畢為止;如果組內只有一個數據塊,或者組內任一個數據塊的大小不足K1,則不對該組作交換加密;
(D)當密鑰K1>=TK3時,采用填充加密方式,每隔K1個數據長度,填充預定的值序列;該預定的值序列是預定子序列的重復;
在加密中使用的隨機數S1,S2,S3前后均填充特殊數值序列后形成第一預設長度的特殊數據塊,將該第一預設長度的特殊數據塊可區分的添加在數據的頭部;
其中,TK1~TK3和密鑰機本關聯保存在密鑰機節點中;
步驟6:發送節點子任務對加密后的數據進行數據校驗處理:
具體為:將加密后的數據分塊,每塊的大小為(S1×S2),對于大小不足(S1×S2)的數據塊,數據塊結尾用默認值填充,得到數據塊Block1~Blockball,其中,ball為數據塊的總塊數;
計算每個數據塊的簽名值Sig1~Sigball,將該簽名值的組作為該數據的校驗值序列;
將該校驗值序列可區分的放置在該數據的頭部;
單獨對隨機數S1,S2,S3所在的第一預設長度的特殊數據塊計算數據簽名;并將該數據簽名放在簽名序列的第一位置;
步驟7:發送節點子任務對數據進行壓縮處理:
具體為:判斷該數據對應的數據類型,基于數據類型選擇最優壓縮算法,對該數據進行壓縮;根據數據的類型選擇適應的壓縮算法;
預存數據類型及其對應的最優壓縮算法,通過查詢該對應關系獲取所要采用的壓縮算法;
步驟8:發送節點子任務選擇最優通信路徑進行數據通信:
具體為:將子任務對應的數據進行組包處理,獲取發送節點到接收節點的所有數據通信路徑集合;
選取QOS值最高的數據通信路徑對組包后形成的數據包進行數據通信;
其中路徑PTHi對應的QOSi值的采用公式(5)計算得到;
其中,PTH_TSi為路徑i的通信開銷;PTH_SFi為路徑i的安全級別;PTH_MSi為路徑i的通信質量;
QOSi=PTH_TSi/∑PTH_TSi+PTH_SFi/∑PTH_SFi+PTH_MSi/∑PTH_MSi公式(5)
通過綜合考量數據通信路徑的服務質量,選擇最優的數據通信路徑進行子任務對應數據包的通信;
步驟9:接收節點接收發送節點發送的數據包,提取數據包中的數據,對提取的數據進行解壓縮,具體的:根據壓縮類型選擇相應的解壓縮算法對數據包進行解壓縮;
步驟10:接收節點從數據的頭部獲取校驗值序列,從第一預設長度的特殊數據塊中提取S1,S2,S3值對數據進行分塊,對每個數據塊進行數據校驗,在數據校驗完畢后,根據數據塊校驗失敗率決定是否請求重新發送數據;當校驗失敗率超過第一失敗閾值時,給發送節點發送校驗失敗消息,請求發送節點重新進行數據的發送;否則,丟棄失敗數據塊包含的數據,并對該數據所在的區域填充指定數據值;第一失敗閾值根據數據的類型以及用戶指定來設定;
步驟11:接收節點根據隨機數S1~S3計算數據加密密鑰K1并進行解密;具體為:采用和發送節點類似的方式計算加密密鑰K1,基于該密鑰值K1采用和發送節點對應的解密方式進行解密處理;
步驟12:接收節點完成對同一任務對應的所有子任務對應的數據的接收、校驗、解密后,對這些數據進行拼接組合,并對發送節點發送接收完成消息。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于中科星圖股份有限公司,未經中科星圖股份有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201611207650.9/1.html,轉載請聲明來源鉆瓜專利網。





