一種信息傳輸方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明應(yīng)用于移動(dòng)通信和信息安全等領(lǐng)域,尤其涉及一種信息加密傳輸方法。
【背景技術(shù)】
[0002] 通過(guò)調(diào)查,目前市場(chǎng)上,還沒(méi)有手機(jī)直接對(duì)短信內(nèi)容進(jìn)行加密傳輸和存儲(chǔ),也沒(méi)有 手機(jī)產(chǎn)品使用硬件加密芯片進(jìn)行數(shù)據(jù)保護(hù)的,目前軟件市場(chǎng)上有一些軟件應(yīng)用可以針對(duì)一 些短信進(jìn)行加密傳輸或者存儲(chǔ)。傳輸上通常實(shí)現(xiàn)的方式是:本機(jī)設(shè)置一個(gè)安全密碼,同時(shí)把 這個(gè)密碼告訴給接收人;發(fā)短信時(shí)把這個(gè)密碼作為key對(duì)短信進(jìn)行加密;接收方收到加密 短信后根據(jù)事先知道的密碼進(jìn)行解密。存儲(chǔ)上通常實(shí)現(xiàn)的方式是固定某個(gè)密鑰,指定某條 短信進(jìn)行加密,然后把密文替換保存在系統(tǒng)中,在沒(méi)有解密時(shí)看到的即是密文。只有在對(duì)應(yīng) 的管理界面解密后才能看到明文。這種方案或技術(shù)至少存在下述幾方面的不足:(1)可用 性不強(qiáng)。目前的應(yīng)用基本上只實(shí)現(xiàn)一部分,沒(méi)有從系統(tǒng)的角度全面考慮,比如要么是只實(shí)現(xiàn) 在傳輸部分加密,要么就是只實(shí)現(xiàn)對(duì)本地短信加密,更沒(méi)有考慮在使用上什么情況下加密 什么情況下不加密,對(duì)于短信的安全也沒(méi)有做到整體的考慮,從短信的密鑰生成,到加密傳 輸,再到本地保存這每個(gè)階段都要考慮。因此要自己搞一套完整的短信安全系統(tǒng),需要多個(gè) 軟件配合,而從目前的應(yīng)用軟件看是很難配合起來(lái)的。(2)易用性差。通過(guò)發(fā)送方和接收方 事先協(xié)商出一個(gè)密鑰,不僅使用不方便,而且增加了額外的成本。不方便處在于,雙方需要 通信,也許電話,也許短信;,而且如果有多個(gè)聯(lián)系人使用加密短信時(shí),就會(huì)產(chǎn)生多個(gè)密碼, 這種情況下就不容易記住了。解密時(shí)需要臨時(shí)找解密密碼。如果每個(gè)短信都協(xié)商一次,雖 然可以獲取密碼,但通信成本增加了,比如本來(lái)發(fā)一條短信,但保證安全的情況下至少會(huì)產(chǎn) 生三條短信,通信成本增加了 2倍。而且每條短信保存時(shí)只能是明文,否則對(duì)應(yīng)的密碼丟了 就無(wú)法解開(kāi)了。對(duì)于存儲(chǔ)加密短信的應(yīng)用來(lái)說(shuō),往往看到的是密文,這對(duì)想查看短信內(nèi)容的 人來(lái)說(shuō),是非常痛苦的,不能一眼看出是哪條短信,需要每條都解密才能確定。(3)安全性不 高。從目前市場(chǎng)上存在的應(yīng)用軟件來(lái)看,不同的應(yīng)用存在的安全問(wèn)題也不盡相同。主要的 安全風(fēng)險(xiǎn)在于應(yīng)用實(shí)現(xiàn)的非完整性。沒(méi)有從短信的密鑰生成,到加密傳輸,再到本地保存這 每個(gè)階段都進(jìn)行了安全考慮,而是僅僅實(shí)現(xiàn)一部分,另外現(xiàn)有的應(yīng)用對(duì)key的設(shè)置也基本 上都很弱,安全性很差。
【發(fā)明內(nèi)容】
[0003] 本發(fā)明的目的在于提供一種安全的信息加密傳輸方法。
[0004] 為達(dá)到上述目的,本發(fā)明首先提供一種信息加密傳輸方法,所述傳輸過(guò)程包括以 下步驟:
[0005] (1)發(fā)送端獲取接收端和發(fā)送端標(biāo)識(shí)信息,通過(guò)密鑰生成模塊生成加解密所用密 鑰;
[0006] (2)發(fā)送端使用加解密模塊,調(diào)用所述密鑰,對(duì)信息內(nèi)容進(jìn)行硬件加密;
[0007] (3)發(fā)送端調(diào)用圖片嵌入模塊將加密后的信息嵌入到特定圖片中;
[0008] (4)發(fā)送端通過(guò)網(wǎng)絡(luò)將嵌入加密信息的圖片發(fā)送到接收端;
[0009] (5)接收端接收所述圖片,獲取嵌入的加密信息;
[0010] (6)接收端調(diào)用解密模塊,并獲取解密密鑰對(duì)加密信息進(jìn)行解密并顯示。
[0011] 所述接收端和發(fā)送端標(biāo)識(shí)可為電話號(hào)碼或其他獨(dú)一的賬戶號(hào)。
[0012] 所述密鑰生成模塊生成密鑰的方法為:獲取發(fā)送方和接收方的手機(jī)標(biāo)識(shí)lable_ s,lable_r以及發(fā)送時(shí)間time,使用lable_s,lable_r以及time作為變參,以lable_s為 Key,以lable_r為元數(shù)據(jù)加密,使用AES加密算法獲得加密后數(shù)據(jù)為Keyl = El (lable_ s,lable_r),之后再以Keyl作為Key,以time作為源數(shù)據(jù)進(jìn)行AES加密,獲得Key2 = El (KeyI,time),將Key2作為加解密所用的密鑰,多重加密處理提升了密鑰的安全性。
[0013] 將加密信息嵌入到圖片的步驟包括:
[0014] 加密數(shù)據(jù)長(zhǎng)度計(jì)算,判定所選圖像時(shí)候可以作為載體;
[0015] 嵌入加密數(shù)據(jù)長(zhǎng)度標(biāo)識(shí),在圖像的前16個(gè)長(zhǎng)度為4的像素分塊內(nèi)寫(xiě)入加密數(shù)據(jù)長(zhǎng) 度標(biāo)識(shí)信息;
[0016] 嵌入加密數(shù)據(jù),在嵌入長(zhǎng)度標(biāo)識(shí)信息分塊后的長(zhǎng)度為4的分塊進(jìn)行信息嵌入,直 到所有信息嵌入完畢。
[0017] 從圖片中提取加密信息的步驟包括:
[0018] 獲取加密信息數(shù)據(jù)長(zhǎng)度;根據(jù)所述長(zhǎng)度順序提取所述信息。
[0019] 所述圖片為PNG格式。
【附圖說(shuō)明】
[0020] 圖1為本發(fā)明所述發(fā)送端加密信息過(guò)程示意圖。
[0021] 圖2為本發(fā)明所述將加密信息嵌入圖片流程圖。
[0022] 圖3為本發(fā)明所述接收端解密信息過(guò)程示意圖。
【具體實(shí)施方式】
[0023] 為了更好的理解本發(fā)明的技術(shù)方案,下面結(jié)合附圖詳細(xì)描述本發(fā)明提供的實(shí)施 例。
[0024] 如圖1所示,其給出了發(fā)送端對(duì)信息加密的流程,具體以下步驟:
[0025] (1)發(fā)送端獲取接收端和發(fā)送端標(biāo)識(shí)信息,通過(guò)密鑰生成模塊生成加解密所用密 鑰;
[0026] (2)發(fā)送端使用加解密模塊,調(diào)用所述密鑰,對(duì)信息內(nèi)容進(jìn)行硬件加密;
[0027] (3)發(fā)送端調(diào)用圖片嵌入模塊將加密后的信息嵌入到特定圖片中;
[0028] 所述密鑰生成模塊生成密鑰的方法為:獲取發(fā)送方和接收方的手機(jī)標(biāo)識(shí)lable_ s,lable_r以及發(fā)送時(shí)間time,使用lable_s,lable_r以及time作為變參,以lable_s為 Key,以lable_r為元數(shù)據(jù)加密,使用AES加密算法獲得加密后數(shù)據(jù)為Keyl = El (lable_ s,lable_r),之后再以Keyl作為Key,以time作為源數(shù)據(jù)進(jìn)行AES加密,獲得Key2 = El (Keyl,time),將Key2作為加解密所用的密鑰,多重加密處理提升了密鑰的安全性。其中 手機(jī)標(biāo)識(shí)可以為接收端、發(fā)送端的手機(jī)號(hào)碼或者其他唯一的標(biāo)識(shí)。
[0029] 現(xiàn)有的信息隱藏算法往往為了保證信息嵌入的數(shù)量而在盡量減少承載單位比特 數(shù)量的圖像像素個(gè)數(shù),但在手機(jī)短信環(huán)境中考慮到所需隱藏的數(shù)據(jù)量不會(huì)過(guò)大,信息隱藏 過(guò)程中可以選擇更多數(shù)量的圖像像素個(gè)數(shù),這樣可以避免信息嵌入過(guò)程中由于信息修改過(guò) 于密集而導(dǎo)致信息隱寫(xiě)被檢測(cè)攻擊算法發(fā)現(xiàn)。本發(fā)明提出如下一種基于像素點(diǎn)RGB系數(shù)最 低有效位矩陣分塊奇偶性信息隱藏嵌入模型:
[0030] 步驟一:將PNG圖像各像素按長(zhǎng)度η分塊(η>1),取出一個(gè)像素分塊,獲得這個(gè)分