一種端到端傳輸數據的方法
【專利摘要】一種端到端傳輸數據的方法,所述方法包括:將明文中的實時傳輸協議RTP數據包與SM1算法分組長度相除得到分組數目N;由RTP包計數器count計算獲得初始化向量IV;收發雙方根據SM1算法加密IV+1至IV+N,得到N個分組長度的密鑰流;在所述密鑰流中截取與明文長度相同的數據作為加密密鑰流;發送方由所述加密密鑰流加密明文得到密文;接收方由所述加密密鑰流解密所述密文得到所述明文。應用本發明實施例后,能夠減少系統的計算負擔,降低對系統計算速度的影響。
【專利說明】一種端到端傳輸數據的方法
【技術領域】
[0001] 本申請涉及通信【技術領域】,更具體地,涉及一種端到端傳輸數據的方法。
【背景技術】
[0002] 集群通信系統是為了滿足行業用戶指揮調度需求而開發、面向特定行業應用的專 用無線通信系統。該系統中大量無線用戶共享少量無線信道,以指揮調度為主體應用,是一 種多用途、高效能的無線通信系統。集群通信系統廣泛應用于政府部門、公共安全、應急通 信、電力、民航、石油化工和軍隊等領域。
[0003] 由于集群通信系統傳輸信息要求較高的保密性,這就需要集群通信系統具有加密 功能。加密需求主要包括四方面:全業務加密,包括視頻加密、多業務并發加密;空口加密 與端到端加密,即對集群信令加密、提供全網密碼同步機制;采用商密芯片,以減小對終端 的影響;實現故障弱化和脫網直通下的安全加密通信。
[0004] 對于無線通信流媒體類信息的安全加密,現有技術中采用分組密碼算法的計數器 (CTR)模式,簡稱"計數器加密模式"。即:
[0005] 通過對計數值加密,生成一系列的密鑰分組。明文包依據密鑰分組長度分成一系 列明文分組(最后一個分組長度可能小于密鑰分組長度)。然后和密鑰分組進行異或加密操 作。
[0006] 這樣的處理方式存在以下問題:需要接收明文之后,對明文進行分組,分組后明文 各自和密鑰分組異或之后發送。接收方對域各個密文分組,利用相應密鑰分組異或之后生 成明文分組,再將明文分組合成一個明文包。加密和解密都是以分組的模式進行,需要對明 文進行分包和組包操作,分包與組包的操作會增加系統的計算負擔,影響系統的計算速度。
【發明內容】
[0007] 本發明實施例提出一種端到端傳輸數據的方法,能夠減少系統的計算負擔,降低 對系統計算速度的影響。
[0008] 本發明實施例的技術方案如下:
[0009] -種端到端傳輸數據的方法,所述方法包括:
[0010] 將明文中的實時傳輸協議(RTP)數據包與SM1算法分組長度相除得到分組數目 N;
[0011] 由RTP包計數器count計算獲得初始化向量IV ;
[0012] 根據SM1算法加密IV+1至IV+N,得到N個分組長度的密鑰流;
[0013] 在所述密鑰流中截取與明文長度相同的數據作為加密密鑰流;
[0014] 由所述加密密鑰流加密明文得到密文;
[0015] 由所述加密密鑰流解密所述密文得到所述明文。
[0016] 所述將明文中的RTP數據包與SM1算法分組長度相除得到分組數目N包括:
[0017] 將明文中的RTP數據包與SM1算法分組長度相除向上取整得到分組數目N。
[0018] 所述由count計算獲得IV包括:由count的前32位計算獲得IV。
[0019] 所述由count的前32位計算獲得IV包括:
[0020] count的前32位從低到高依次作為IV的最高位至第32位,第33位至最后一位均 為零。
[0021] 所述在所述密鑰流中截取與明文長度相同的數據作為加密密鑰流包括:
[0022] 在N個分組長度的密鑰流中從低位開始截取與明文長度相同的數據作為加密密 鑰流。
[0023] 所述在所述密鑰流中截取與明文長度相同的數據作為加密密鑰流包括:
[0024] 在N個分組長度的密鑰流中從高位開始截取與明文長度相同的數據作為加密密 鑰流。
[0025] 所述由所述加密密鑰流加密明文得到密文包括:
[0026] 由所述加密密鑰流與明文進行異或運算得到密文。
[0027] 所述由所述加密密鑰流解密所述密文得到所述明文包括:
[0028] 由所述加密密鑰流與所述密文進行異或運算得到所述明文。
[0029] 從上述技術方案中可以看出,在本發明實施例中將明文中的RTP數據包與SM1算 法分組長度相除得到分組數目N ;由RTP包計數器count的前32位計算獲得初始化向量IV ; 根據SM1算法加密IV+1至IV+N,得到N個分組長度的密鑰流;在所述密鑰流中截取與明文 長度相同的數據作為加密密鑰流;由所述加密密鑰流加密明文得到密文;由所述加密密鑰 流解密所述密文得到所述明文。由與明文長度相同的加密密鑰流加密明文,而不需要對明 文進行分段處理,因此能夠減少系統的計算負擔,降低對系統計算速度的影響。
【專利附圖】
【附圖說明】
[0030] 圖1為端到端傳輸數據的方法流程示意圖;
[0031] 圖2為端到端傳輸數據示意圖。
【具體實施方式】
[0032] 為使本發明的目的、技術方案和優點表達得更加清楚明白,下面結合附圖及具體 實施例對本發明再作進一步詳細的說明。
[0033] 在本發明實施例中,由與明文長度相同的加密密鑰流對明文加密,而不需要對明 文分組,因此減少了系統的計算負擔,降低對系統計算速度的影響。
[0034] 集群端到端安全加密算法采用了國密SM1對稱密碼算法,SM1是一種分組密碼算 法。在實際使用中,應依據集群網絡業務加密的特點采用合理的算法使用模式,在保證信息 的安全性前提下提高通信系統的性能。
[0035] 參見附圖1是端到端傳輸數據的方法流程示意圖,具體包括以下步驟:
[0036] 101、將明文中的RTP數據包與SM1算法分組長度相除得到分組數目N。
[0037] 明文是RTP數據包的有效載荷部分。為了避免分包明文,需要與明文長度相同的 密鑰流。首先,將明文中RTP數據包與SM1算法分組長度(128比特)相除并向上取整得到 分組數據N。向上取整即當兩數相除有余數,則進一。
[0038] 102、由RTP包計數器cunt計算獲得初始化向量IV。
[0039] IV的位數共計128位,其中最高32位由count的前32位確定,第33位至第128位 均為零。IV 的最高 32 分為為 count [0],count [1],count [2],......,count [30, count [31], 即count的前32位從低到高依次作為IV的最高位至第32位。count值反序可以打亂相鄰 數據包的IV值順序,以增加破解難度。
[0040] 103、根據SM1算法加密IV+1至IV+N,得到N個分組長度的密鑰流;
[0041] 根據SM1算法加密IV+1至IV+N,共計N個分組長度的密鑰流。其中的加密過程是 現有技術。分組長度是指SM1算法分組長度即128比特。
[0042] 104、在所述密鑰流中截取與明文長度相同的數據作為加密密鑰流;
[0043] N個分組長度的密鑰流順序排列,從中截取與明文長度相同的數據作為加密密鑰 流。其中,截取的方式可以是從低位開始截取,也可以是從高位開始截取。由于在計算分組 數目N是向上取整,那么密鑰流的長度必然大于明文,因此需要截取數據。
[0044] 105、由加密密鑰流加密明文得到密文;由加密密鑰流解密所述密文得到所述明 文。
[0045] 在發送方根據加密密鑰流加密明文,可以得到密文,此處的加密即進行異或運算。 發送方將密文發送至接收端。那么,即使密文非法泄露,由于沒有加密密鑰流則無法獲得明 文。
[0046] 在接收方根據加密密鑰流解密接收到的密文,加密即進行異或運算。接收方獲得 明文。
[0047] 下面結合附圖2詳細說明端到端的數據傳輸過程。
[0048] 發送方與接收方分別計算加密密鑰流,計算密鑰流的過程是相同的。Key是SM1算 法中所需的密鑰,count是根據步驟102計算獲得,length是分組長度,指SM1算法分組長 度即128比特。
[0049] 由count和length計算獲得IV和N,根據SM1算法加密IV+1至IV+N,得到加密 密鑰流。加密密鑰流與明文進行異或運算得到密文。將密文發送至接收方,接收方利用自 身計算的加密密鑰流與加密后明文進行異或運算得到明文。
[0050] 以上所述,僅為本發明的較佳實施例而已,并非用于限定本發明的保護范圍。凡在 本發明的精神和原則之內,所作的任何修改、等同替換、改進等,均應包含在本發明的保護 范圍之內。
【權利要求】
1. 一種端到端傳輸數據的方法,其特征在于,所述方法包括: 將明文中的實時傳輸協議RTP數據包與SM1算法分組長度相除得到分組數目N ; 由RTP包計數器count計算獲得初始化向量IV ; 根據SM1算法加密IV+1至IV+N,得到N個分組長度的密鑰流; 在所述密鑰流中截取與明文長度相同的數據作為加密密鑰流; 由所述加密密鑰流加密明文得到密文; 由所述加密密鑰流解密所述密文得到所述明文。
2. 根據權利要求1所述端到端傳輸數據的方法,其特征在于,所述將明文中的RTP數據 包與SM1算法分組長度相除得到分組數目N包括: 將明文中的RTP數據包與SM1算法分組長度相除向上取整得到分組數目N。
3. 根據權利要求1所述端到端傳輸數據的方法,其特征在于,所述由count計算獲得 IV包括:由count的前32位計算獲得IV。
4. 根據權利要求3所述端到端傳輸數據的方法,其特征在于,所述由count的前32位 計算獲得IV包括: count的前32位從低到高依次作為IV的最高位至第32位,第33位至最后一位均為 零。
5. 根據權利要求1所述端到端傳輸數據的方法,其特征在于,所述在所述密鑰流中截 取與明文長度相同的數據作為加密密鑰流包括: 在N個分組長度的密鑰流中從低位開始截取與明文長度相同的數據作為加密密鑰流。
6. 根據權利要求1所述端到端傳輸數據的方法,其特征在于,所述在所述密鑰流中截 取與明文長度相同的數據作為加密密鑰流包括: 在N個分組長度的密鑰流中從高位開始截取與明文長度相同的數據作為加密密鑰流。
7. 根據權利要求1所述端到端傳輸數據的方法,其特征在于,所述由所述加密密鑰流 加密明文得到密文包括: 由所述加密密鑰流與明文進行異或運算得到密文。
8. 根據權利要求1所述端到端傳輸數據的方法,其特征在于,所述由所述加密密鑰流 解密所述密文得到所述明文包括: 由所述加密密鑰流與所述密文進行異或運算得到所述明文。
【文檔編號】H04L29/06GK104158788SQ201310174328
【公開日】2014年11月19日 申請日期:2013年5月13日 優先權日:2013年5月13日
【發明者】劉文清, 陶雄強, 李瑞林, 成暐 申請人:普天信息技術研究院有限公司