一種基于信息分存的涉密線狀地理要素偽裝與還原方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明屬于地理信息安全領(lǐng)域,具體涉及一種基于信息分存的涉密線狀地理要素 偽裝與還原的方法。
【背景技術(shù)】
[0002] 地理信息的安全防護(hù)涉及國家安全和社會利益,是當(dāng)前急需解決的國家和社會重 大需求問題。在對秘密GIS矢量數(shù)據(jù)信息內(nèi)容隱藏的基礎(chǔ)上,進(jìn)一步隱藏秘密信息的存在, 結(jié)合分存技術(shù)從形態(tài)特征進(jìn)行偽裝。
[0003] 目前,信息分存技術(shù)主要應(yīng)用于圖像領(lǐng)域,將圖像信息分為具有一定可視效果的n 幅圖像,如果知道圖像信息中的m(m〈n)幅子圖像,則該圖像可以得到恢復(fù),如果圖像少于m 幅,則圖像無法得到恢復(fù)。借鑒分存技術(shù)在圖像領(lǐng)域的應(yīng)用,將分存技術(shù)應(yīng)用到矢量地理數(shù) 據(jù)信息偽裝中來,偽裝后數(shù)據(jù)同樣具有可視效果,并且對偽裝后的數(shù)據(jù)進(jìn)行分圖層存儲,以 增加算法的安全性。
【發(fā)明內(nèi)容】
[0004] 本發(fā)明的目的在于:基于信息分存?zhèn)窝b技術(shù),提出一種針對GIS線圖層數(shù)據(jù)中線 狀地理要素的偽裝與還原方法,能有效保障涉密線數(shù)據(jù)在數(shù)據(jù)傳輸、隱藏通信中的安全性。
[0005] 為了實現(xiàn)上述目的,本發(fā)明采取的技術(shù)方案主要包括:
[0006] 一種基于信息分存的涉密線狀地理要素偽裝與還原方法,具體過程如下:
[0007](一)針對線類型GIS矢量數(shù)據(jù)偽裝過程
[0008] 步驟11 :加載一幅矢量地圖數(shù)據(jù)R,輸入初始平移量c作為用戶密鑰參數(shù), cG[0, 100],存儲到密鑰文件key中;
[0009]步驟12:讀取數(shù)據(jù)R中所有線要素L=隊| i=1,2,…,m},并為每個線要素中的 點按順序設(shè)置序號,m為線要素的個數(shù);
[0010] 步驟13 :利用道格拉斯-普克算法,將線要素^分為兩級1 ^和1 i2,可根據(jù)安全性 需要對一級線要素1^進(jìn)行適當(dāng)?shù)膫窝b處理;
[0011] 步驟14 :對線要素112進(jìn)行分段處理,
[0012] (a)線要素ln*的點集合記為Pn= {p j| j = 1,2,…,n},n為線要素ln中的點 個數(shù);
[0013] (b)依次讀取點集合Pn中相鄰兩個點pj、pj+1的序號I」、Ij+1,在線要素li2的點集 合中遍歷序號位于區(qū)間(IpL+1)之間的所有點,將這些點分為一段;
[0014] (c)循環(huán)步驟(b),直至將線要素li2分為(n-1)個分段,記為S= {sk|k= 1,2,~ ,n-1};
[0015]步驟15:確定當(dāng)前線要素h的基線1的直線方程,
[0016] (a)假設(shè)點集合Pn的首尾點坐標(biāo)分別記為pb(Xl,y 1),pe(Xn,yn),根據(jù)公式⑴計 算基線斜率k:
[0017]
【主權(quán)項】
1. 一種基于信息分存的涉密線狀地理要素偽裝與還原方法,其特征在于,具體過程如 下: (一)針對線類型GIS矢量數(shù)據(jù)偽裝過程 步驟11 :加載一幅矢量地圖數(shù)據(jù)R,輸入初始平移量c作為用戶密鑰參數(shù), c e [〇, 1〇〇],存儲到密鑰文件key中; 步驟12 :讀取數(shù)據(jù)R中所有線要素 L = (Ii I i = 1,2,…,m},并為每個線要素中的點按 順序設(shè)置序號,m為線要素的個數(shù); 步驟13 :利用道格拉斯-普克算法,將線要素1,分為兩級1 ^和I i2; 步驟14 :對線要素112進(jìn)行分段處理, (a) 線要素1"中的點集合記為Pil= {p」j = 1,2, ···,!!},η為線要素 Iil中的點個數(shù); (b) 依次讀取點集合Pil中相鄰兩個點ρ ρ Pp1的序號I ρ 在線要素 Ii2的點集合中 遍歷序號位于區(qū)間(Ip L+1)之間的所有點,將這些點分為一段; (c) 循環(huán)步驟(b),直至將線要素 Ii2分為(n-1)個分段,記為S= {sk|k= 1,2,~ ,n-1}; 步驟15 :確定當(dāng)前線要素 Ii的基線1的直線方程, (a) 假設(shè)點集合Pil的首尾點坐標(biāo)分別記為pb(Xl,yi),p e (xn,yn),根據(jù)公式⑴計算基 線斜率k :
(b) 假設(shè)pb點經(jīng)平移后的點p b'在基線1上,pb'坐標(biāo)記為Oq',y/ ),平移公式如(2) 所示,其中c為用戶指定參數(shù),
步驟16 :對點集合Pil做平移旋轉(zhuǎn)變換使其落在基線1上,處理后的點作為線要素 I i2 中每段點集合的旋轉(zhuǎn)基點;平移后的點集合記為Pn' = {p/ I j = 1,2,…,η},旋轉(zhuǎn)后的點 集合記為 Pil" = {ρ」" |j = l,2,~,n}, (a)根據(jù)公式(4)、(5)計算當(dāng)前分段sk對應(yīng)的橫坐標(biāo)平移偏移量h#P縱坐標(biāo)平移偏 移量Vj,
其中H = {hj|j = 1,2, ···,]!}為橫坐標(biāo)平移偏量集合,V = {Vj|j = 1,2, ···,]!}為縱坐 標(biāo)平移偏量集合,(Xj〃,y/')為Pj"中的點坐標(biāo); (b) 根據(jù)公式(6)計算平移后的點集合Pil'中的點坐標(biāo)p/ (Xj',y/),
C6) (c) 根據(jù)公式(1)計算當(dāng)前段直線P^V1斜率1^,根據(jù)公式(7)確定基線1和當(dāng)前段直 線P^V1之間的夾角α V當(dāng)前段直線P &_+1按逆時針旋轉(zhuǎn)與基線重合的旋轉(zhuǎn)角度α /如公 式⑶所示,旋轉(zhuǎn)角度集合記為A = { α / I j = 1,2,…,η},
(e)循環(huán)處理(a) - (d),直至段S中的各段處理完畢; 步驟17 :對二級線要素112中所有段S = {s k I k = 1,2,…,n-1}進(jìn)行偽裝處理;假設(shè)段 sk的點集合記為SP = {spw|w = 1,2,…,t},其中t為該段中點的個數(shù), (a) 對段Sk進(jìn)行平移處理,段Sk中的點集合SP平移后的集合記為SP' = {spw' Iw = 1,2,…,t},橫縱坐標(biāo)對應(yīng)的平移偏量分別為匕和V w,根據(jù)公式(6)做相應(yīng)的平移變換; (b) 對平移后的每段進(jìn)行旋轉(zhuǎn)處理,SP'旋轉(zhuǎn)后的集合記為SP" = Ispw" Iw = 1,2,…,t},每段對應(yīng)的旋轉(zhuǎn)角度為a w',旋轉(zhuǎn)基點為點集合SP"中對應(yīng)的點spw",根據(jù) 公式(9)、(10)做相應(yīng)的旋轉(zhuǎn)變換; (c) 循環(huán)執(zhí)行(a)和(b),直到所有段完成偽裝處理; 步驟18 :生成新圖層數(shù)據(jù)Rl和R2,將線要素1"中的點集合按原始順序組成的線要素 添加到數(shù)據(jù)Rl中,將線要素112中經(jīng)偽裝變換后的點集合按照原始順序組成的線要素存放 到數(shù)據(jù)R2中; 步驟19 :重復(fù)步驟12-18,直到所有線要素完成偽裝處理為止; (二)針對線類型GIS矢量數(shù)據(jù)還原過程 步驟21 :打開偽裝后的矢量數(shù)據(jù)Rl和R2,打開密鑰文件key,讀取用戶密鑰參數(shù)c ; 步驟22 :分別讀取數(shù)據(jù)Rl和數(shù)據(jù)R2中的線要素 Lil = {1 n I i = 1,2,…,m},Li2= {1 i21 i =1,2,···,m},其中,m為數(shù)據(jù)Rl中線要素的個數(shù); 步驟23 :對線要素112進(jìn)行分段處理, (a) 線要素 Lil中還原后的點集合記為Pil= {Pj|j = 1,2, ···,!!},η為線要素 Iil中的 點個數(shù); (b) 依次讀取點集合Pil中相鄰兩個點ρ」、pj+1的序號I」、Ij+1,在線要素 Ii2點集合中遍 歷序號位于區(qū)間L+1)之間的所有點,將這些點分為一段; (c) 循環(huán)步驟(b),直至將線要素 Ii2分為(n-1)個分段,記為S= {sk|k= 1,2,~ ,n-1}; 步驟24 :確定當(dāng)前線要素 Ii的基線1的直線方程, (a) 假設(shè)點集合Pil的首尾點坐標(biāo)分別記為pb(Xl,yi),p e (xn,yn),根據(jù)公式⑴計算基 線斜率k ; (b) 假設(shè)pb點經(jīng)平移后的點p b'在基線1上,pb'坐標(biāo)記為Oq',y/ ),平移公式如(2) 所示,其中c為用戶指定參數(shù); (c) 基線1的方程可表示為公式(3); 步驟25 :對點集合Pil做平移旋轉(zhuǎn)變換使其落在基線1上,處理后的點作為每段點集 合的旋轉(zhuǎn)基點, (a) 根據(jù)公式(4)、(5)計算當(dāng)前分段Sk對應(yīng)的橫坐標(biāo)平移偏移量h#P縱坐標(biāo)平移偏 移量Vj; (b) 根據(jù)公式(6)計算平移后的點集合Pil'中的點坐標(biāo)p/ (Xj',y/); (c) 根據(jù)公式(1)計算當(dāng)前段直線P^V1斜率1^,根據(jù)公式(7)確定基線1和當(dāng)前段直 線IW1之間的夾角a P當(dāng)前段直線1^^+1按逆時針旋轉(zhuǎn)與基線重合的旋轉(zhuǎn)角度α /由公 式(8)計算得出,旋轉(zhuǎn)角度集合記為A = { αI j = 1,2,…,η}; (d) 根據(jù)公式(9)、(10)計算旋轉(zhuǎn)后的點集合Pj"中的點坐標(biāo)(Xj〃,y,); (e) 循環(huán)處理(a)-(d),直至段S中各段處理完畢; 步驟26 :對二級線要素112中所有段S = {s k I k = 1,2,…,n-1}進(jìn)行還原處理;假設(shè)段 Sk的點集合記為SP = {spw|w = 1,2,…,t},sp#標(biāo)記為(xw, yw),其中t為該段中點的個 數(shù), (a) 根據(jù)公式(9)、(10)對每段進(jìn)行旋轉(zhuǎn)處理:點集合SP中各點旋轉(zhuǎn)后的點集合記為 SP' = {spw' Iw = 1,2,…,t},其中每段對應(yīng)的旋轉(zhuǎn)角度為A' = { a j" I j = 1,2,…,η}, 由公式(11)計算得出, a j" = 2 π - a j' (11) (b) 對旋轉(zhuǎn)后的每段進(jìn)行平移操作:點集合SP'平移后的集合記為SP" = Ispw" |w = 1,2,…,t},橫縱坐標(biāo)對應(yīng)的平移偏量分別為_h#P _'.,根據(jù)公式(9)做相應(yīng)的平移變換; (c) 循環(huán)執(zhí)行(a)和(b),直到完成所有段的還原處理; 步驟27 :將線要素 Ii2中還原后的點集合與線要素 I η中的點集合按照坐標(biāo)序號從小到 大的順序重組成為線要素 Ii,完成當(dāng)前線要素的還原處理; 步驟28 :重復(fù)步驟22-27,直到完成每個線要素的還原處理。
2.根據(jù)權(quán)利要求1所述的一種基于信息分存的涉密線狀地理要素偽裝與還原方法,其 特征在于,所述步驟13中可根據(jù)安全性需要對一級線要素1"進(jìn)行偽裝處理。
【專利摘要】本發(fā)明公開了一種基于信息分存的涉密線狀地理要素偽裝與還原方法,包括如下過程:(1)針對線類型GIS矢量數(shù)據(jù)偽裝過程,包括線要素分級、分段、平移旋轉(zhuǎn)處理、生成新圖層等步驟;(2)針對線類型GIS矢量數(shù)據(jù)還原過程,包括線要素分段、旋轉(zhuǎn)平移處理、線要素重組還原等過程。本發(fā)明的方法具有較高的隱蔽性和不受容量限制的優(yōu)勢,為矢量地理數(shù)據(jù)的信息偽裝提供了新思路,在隱藏秘密信息存在性的基礎(chǔ)上有效保障秘密數(shù)據(jù)在數(shù)據(jù)傳輸、隱藏通信中的安全性。
【IPC分類】G06T1-00
【公開號】CN104751399
【申請?zhí)枴緾N201510101228
【發(fā)明人】吳雪榮, 李安波, 周衛(wèi), 蔣偉
【申請人】南京師范大學(xué)
【公開日】2015年7月1日
【申請日】2015年3月6日