一種位置信息加密壓縮及解密的方法
2023-10-29 04:08:07 1
一種位置信息加密壓縮及解密的方法
【專利摘要】本發明公開了一種位置信息加密壓縮及解密的方法,主要針對位置信息的加密及壓縮問題。利用相鄰兩條衛星定位位置信息的差值對其進行壓縮,利用替換法對衛星定位位置信息對加密。採用本方法對衛星定位位置信息數據壓縮將達15倍以上,同時有效地對衛星定位信息進行保護。
【專利說明】—種位置信息加密壓縮及解密的方法
【技術領域】
[0001]本發明涉及一種位置信息加密壓縮及解密的方法。
【背景技術】
[0002]隨著北鬥衛星導航系統的建立,全球衛星導航系統目前已經有美國的GPS、俄羅斯的GL0NASS及中國的北鬥。衛星導航系統的快速發展,推動著衛星導航應用的加速發展。目前大量衛星導航終端及伺服器均需要存儲大量的衛星定位位置信息,採用傳統的存儲方法需要佔用大量的資源,而且衛星定位信息的安全性不高。
[0003]在「稜鏡門」事件後,國家及個人的隱私保護問題得到更多的關注,急需一套安全可靠的系統對個人隱私信息進行保護。衛星定位信息能反應出每個人每一時刻所處的位置,其重要性不言而喻,更需要我們對其進行保護。
[0004]隨著大數據時代的到來,對個人信息數據的存儲也得到了進一步的關注,個人信息數據每天不斷地產生,而存儲介質卻不能無限擴大,也迫切需要一種有效的壓縮方法對其進行處理。衛星定位信息每秒可更新一次,其產生的數據量是相當巨大的。
【發明內容】
[0005]為了克服目前的位置信息在傳輸時不能有效保密且數據量過大的技術問題,本發明提供一種可有效壓縮數據量並能對位置信息加密的位置信息加密壓縮及解密的方法。
[0006]為了實現上述技術目的,本發明的技術方案是,
[0007]—種位置信息加密壓縮及解密的方法,包括以下步驟:
[0008]步驟一:位置信息發送方根據預先設定的用戶名,計算特徵碼;
[0009]步驟二:將位置信息中包括的信息內容分為時間信息、維度信息和經度信息,並將需要加密的所有位置信息中第一條位置信息即時間最早的位置信息作為基準位置信息;
[0010]步驟三:由基準位置信息開始,依次對前後相鄰的兩條位置信息分別求時間信息、維度信息和經度信息的差值,並記錄各差值信息;
[0011]步驟四:將基準位置信息利用特徵碼對其進行加密,然後和差值信息發送至位置信息接收方;
[0012]步驟五:位置信息接收方接收基準位置信息和所有的差值信息,根據發送方的用戶名計算特徵碼,然後根據特徵碼將基準位置信息解密,根據差值信息依次計算出相應的每一條位置信息。
[0013]所述的方法,所述的位置信息的格式為NMEA-0183協議所規定的格式。
[0014]所述的方法,所述的步驟一中,計算特徵碼的步驟包括:
[0015]步驟1:對組成用戶名的所有字符進行ASCII碼累加求和值;
[0016]步驟2:取步驟I中所得到和值的最後一字節作為特徵碼。
[0017]所述的方法,所述的步驟四中,加密步驟包括:
[0018]步驟1:設定加密後的基準位置信息即加密信息的第一個字節為預設的固定值;
[0019]步驟2:將時間信息的時、分、秒信息分別與特徵碼求和,分別作為加密信息的第二、第三、第四字節,與固定值一起作為加密信息中的加密時間信息;
[0020]步驟3:將緯度信息中的維度度數與預設的度數係數相乘,將緯度信息中的維度分數與預設的分數係數相乘,再將兩個乘積與特徵碼相加求和值,得到的和值作為加密信息中的加密緯度信息字節;
[0021]步驟4:將經度信息中的經度度數與預設的度數係數相乘,將經度信息中的經度分數與預設的分數係數相乘,再將兩個乘積與特徵碼相加求和值,得到的和值作為加密信息中的加密經度信息字節;
[0022]步驟5:將加密時間信息、加密緯度信息和加密經度信息順序排列作為一條加密信息。
[0023]所述的方法,所述的步驟五中,解密步驟包括:
[0024]步驟1:去掉加密信息中加密時間信息的第一個字節;
[0025]步驟2:將加密時間信息的第二、第三、第四字節分別減去特徵碼,得到時間信息的時、分、秒信息;
[0026]步驟3:將加密緯度信息首先減去特徵碼,然後整除度數係數,得到的商即為緯度的度數,所得的餘數再除以分數係數即為緯度的分數;
[0027]步驟4:將加密經度信息首先減去特徵碼,然後整除度數係數,得到的商即為經度的度數,所得的餘數再除以分數係數即為經度的分數。
[0028]所述的方法,預設的固定值為OxFF。
[0029]所述的方法,預設的度數係數為600000。
[0030]所述的方法,預設的分數係數為10000。
[0031]本發明的技術效果在於,通過利用相鄰兩條衛星定位位置信息的差值對一系列進行壓縮,根據用戶名密碼利用替換法對衛星定位位置信息對加密。採用本方法對衛星定位位置信息數據壓縮將達15倍以上,同時有效地對衛星定位信息進行保護。
[0032]下面結合附圖對本發明作進一步說明。
【專利附圖】
【附圖說明】
[0033]圖1為本發明加密過程流程圖;
[0034]圖2為本發明解密過程流程圖。
【具體實施方式】
[0035]本發明專利採用差值法對位置信息進行壓縮處理,並將其基準值用用戶名密碼的特徵碼進行替換,從而達到對位置信息的加密壓縮的效果。
[0036]衛星定位位置信息包括時間及經緯度兩個重要參數。根據NMEA-0183協議,位置信息時間的格式為hhmmss.sss, hh代表小時數、mm代表分鐘數、ss.sss代表秒數;糹韋度的格式為ddmm._m(前導位數不足則補O),dd代表緯度的度數mm.mmmm代表緯度的分數,緯度半球,N或S,分別代表北緯或南緯;經度的格式為dddmm._m(前導位數不足則補O),dd代表經度的度數、mm.mmmm代表經度的分數,經度半球的格式為E或W,分別代表東經或西經。
[0037]NMEA-0183協議沒有對位置信息進行保護,而目前所有導航設備均按照該協議輸出位置信息,導致所有設備位置信息沒有任何安全可言;按照NMEA-0183協議存儲一條位置信息至少需要31位元組,如果以每秒鐘更新一次位置信息計算,一臺設備每天產生的位置信息數據量將達2678400位元組。
[0038]按照NMEA-0183協議輸出的位置信息至少需要31個字節,但相鄰兩條位置信息的差值卻很小,僅需2個字節。如果取某一基準位置信息為基準,採用兩條信息差值對位置信息進行轉換,每條位置信息將僅需2個字節表示,將極大地壓縮位置信息的數據量,同時也在對位置信息進行了保護。如果以每秒鐘更新一次位置信息計算,相鄰兩條位置信息的時間差將僅需I個字節表示;相鄰兩條位置的經緯度差也僅需I個字節表示,相鄰兩條信息差僅需2個字節表示。採用兩條信息差能將位置信息壓縮15倍以上,可以有效地解決衛星定位信息數據量問題。
[0039]加密過程中,根據設置的用戶密碼,採用累加和方法計算出用戶名的特徵碼,同時將其位置信息的基準值轉換成12位元組的數據,加上差值壓縮法本身對位置信息的加密手段,從而能有效地保證位置信息的安全可靠;解密過程中,根據用戶輸入的用戶名密碼,將基準位置信息進行解密,在基準位置信息基礎上進行累加,得到所有時刻的位置信息,從而解密所有的位置信息。
[0040]本方法包括以下步驟:
[0041]步驟一:位置信息發送方根據預先設定的用戶名,計算特徵碼;
[0042]步驟二:將位置信息中包括的信息內容分為時間信息、維度信息和經度信息,並將需要加密的所有位置信息中第一條位置信息即時間最早的位置信息作為基準位置信息;
[0043]步驟三:由基準位置信息開始,依次對前後相鄰的兩條位置信息分別求時間信息、維度信息和經度信息的差值,並記錄各差值信息;
[0044]步驟四:將基準位置信息利用特徵碼對其進行加密,然後和差值信息發送至位置信息接收方;
[0045]步驟五:位置信息接收方接收基準位置信息和所有的差值信息,根據發送方的用戶名計算特徵碼,然後根據特徵碼將基準位置信息解密,根據差值信息依次計算出相應的每一條位置信息。
[0046]為了符合當前所通用的位置定位規則,位置信息的格式為NMEA-0183協議所規定的格式。
[0047]步驟一中,計算特徵碼的步驟包括:
[0048]步驟1:對組成用戶名的所有字符進行ASCII碼累加求和值;
[0049]步驟2:取步驟I中所得到和值的最後一字節作為特徵碼。
[0050]步驟四中,加密步驟包括:
[0051]步驟1:設定加密後的基準位置信息即加密信息的第一個字節為預設的固定值;
[0052]步驟2:將時間信息的時、分、秒信息分別與特徵碼求和,分別作為加密信息的第二、第三、第四字節,與固定值一起作為加密信息中的加密時間信息;
[0053]步驟3:將緯度信息中的維度度數與預設的度數係數相乘,將緯度信息中的維度分數與預設的分數係數相乘,再將兩個乘積與特徵碼相加求和值,得到的和值作為加密信息中的加密緯度信息字節;
[0054]步驟4:將經度信息中的經度度數與預設的度數係數相乘,將經度信息中的經度分數與預設的分數係數相乘,再將兩個乘積與特徵碼相加求和值,得到的和值作為加密信息中的加密經度信息字節;
[0055]步驟5:將加密時間信息、加密緯度信息和加密經度信息順序排列作為一條加密信息。
[0056]步驟五中,解密步驟包括:
[0057]步驟1:去掉加密信息中加密時間信息的第一個字節;
[0058]步驟2:將加密時間信息的第二、第三、第四字節分別減去特徵碼,得到時間信息的時、分、秒信息;
[0059]步驟3:將加密緯度信息首先減去特徵碼,然後整除度數係數,得到的商即為緯度的度數,所得的餘數再除以分數係數即為緯度的分數;
[0060]步驟4:將加密經度信息首先減去特徵碼,然後整除度數係數,得到的商即為經度的度數,所得的餘數再除以分數係數即為經度的分數。
[0061]其中,預設的固定值為OxFF,這是出於使加密時間信息有效區別於加密維度信息和加密經度信息的目的,因為加密時間信息的第一個字節取最大十六進位數後,另兩個加密信息在加密後不會達到這個數,即起到區別作用。
[0062]而預設的度數係數為600000,由於度數的進位是60進位,設置該度數係數的目的類似於將度數轉換為分數,並消除度數中的小數部分。
[0063]同時預設的分數係數為10000,目的在於消除分數中的小數部分。
[0064]下面示例說明:
[0065]截取一輛約以80km/s速度行駛的汽車5個點位置信息,根據NMEA-0183協議表示為:
[0066]點I時間為130814,經緯度為2813.8691N, 11305.0657W,將此位置信息作為基準位置信息;
[0067]點2 時間為 130815,經緯度為 2813.8706N, 11305.0783W ;
[0068]點3 時間為 130816,經緯度為 2813.8734N, 11305.0915W ;
[0069]點4 時間為 130817,經緯度為 2813.8750N, 11305.1056W ;
[0070]點5 時間為 130818,經緯度為 2813.8774N, 11305.1176W ;
[0071]其加密壓縮過程如下:
[0072]假設用戶名為test,,取用戶名每個字符的ACSII碼,採用累加和方法計算:
[0073]t+e+s+t = 0x74+0x65+0x73+0x74 = OxlCO
[0074]所得到的和值取最後一個字節為OxCO,即為特徵碼,取第一個時間為130814,經緯度為2813.8691N, 11305.0657W為基準位置信息,將其進行加密,本實施例中預設的第一個字節固定值為OxFF,後面三字節分別對應為時間的時,分,秒,與特徵碼之和,即13+0xlC0、08+0xlC0、14+0xlC0。
[0075]本實施例剩餘的加密信息字節數取8個字節,後面8個字節的前4個字節對應為緯度的度數與600000的積加上分數與10000的積再加上特徵碼,後4個字節對應為經度的度數與600000的積加上分數與10000的積再加上特徵碼,所得到的加密信息後十六進位表示為:0xFFCDC8CE,0x01027783,0x040B5261,若統一為十進位表示則是:4291676366,16938883,67850849,當然也可以直接都採用十六進位進行發送。
[0076]然後採用差值法表示其他位置信息,並將基準位置信息替換。
[0077]4291676366,16938883,67850849
[0078]1,15,126
[0079]1,28,132
[0080]1,16,141
[0081]1,24,120
[0082]其解密解壓過程如下:
[0083]接收方根據發送方的用戶名test,同樣採用累加和方法計算,然後取最後一字節作為特徵碼:
[0084]t+e+s+t = 0x74+0x65+0x73+0x74 = OxlCO
[0085]所得到的和值取最後一個字節為OxCO,即為特徵碼。然後將加密後的基準位置信息進行解密,將密文時間值減去OxFFCOCOCO,意思是首先去掉作為標誌位的固定值OxFF,然後再將時、分、秒去掉特徵碼0xC0,即得到時間信息明文130814,然後將加密緯度信息減去特徵碼後整除600000後,商即為緯度的度數,其餘數再除以10000即為緯度的分數,加密經度信息也同樣處理,最後得出基準位置信息對應為28,13.8691,113,05.0657,將基準值加上差值計算出第二個位置信息,依此類推,計算出所有的位置信息。
[0086]點I即基準位置信息時間為130814,經緯度為2813.8691N, 11305.0657W ;
[0087]點2 時間為 130815,經緯度為 2813.8706N, 11305.0783W ;
[0088]點3 時間為 130816,經緯度為 2813.8734N, 11305.0915W ;
[0089]點4 時間為 130817,經緯度為 2813.8750N, 11305.1056W ;
[0090]點5 時間為 130818,經緯度為 2813.8774N, 11305.1176W。
【權利要求】
1.一種位置信息加密壓縮及解密的方法,其特徵在於,包括以下步驟: 步驟一:位置信息發送方根據預先設定的用戶名,計算特徵碼; 步驟二:將位置信息中包括的信息內容分為時間信息、維度信息和經度信息,並將需要加密的所有位置信息中第一條位置信息即時間最早的位置信息作為基準位置信息; 步驟三:由基準位置信息開始,依次對前後相鄰的兩條位置信息分別求時間信息、維度信息和經度信息的差值,並記錄各差值信息; 步驟四:將基準位置信息利用特徵碼對其進行加密,然後和差值信息發送至位置信息接收方; 步驟五:位置信息接收方接收基準位置信息和所有的差值信息,根據發送方的用戶名計算特徵碼,然後根據特徵碼將基準位置信息解密,根據差值信息依次計算出相應的每一條位置信息。
2.根據權利要求1所述的方法,其特徵在於,所述的位置信息的格式為NMEA-0183協議所規定的格式。
3.根據權利要求1所述的方法,其特徵在於,所述的步驟一中,計算特徵碼的步驟包括: 步驟1:對組成用戶名的所有字符進行ASCII碼累加求和值; 步驟2:取步驟I中所得到和值的最後一字節作為特徵碼。
4.根據權利要求1所述的方法,其特徵在於,所述的步驟四中,加密步驟包括: 步驟1:設定加密後的基準位置信息即加密信息的第一個字節為預設的固定值; 步驟2:將時間信息的時、分、秒信息分別與特徵碼求和,分別作為加密信息的第二、第三、第四字節,與固定值一起作為加密信息中的加密時間信息; 步驟3:將緯度信息中的維度度數與預設的度數係數相乘,將緯度信息中的維度分數與預設的分數係數相乘,再將兩個乘積與特徵碼相加求和值,得到的和值作為加密信息中的加密緯度信息字節; 步驟4:將經度信息中的經度度數與預設的度數係數相乘,將經度信息中的經度分數與預設的分數係數相乘,再將兩個乘積與特徵碼相加求和值,得到的和值作為加密信息中的加密經度信息字節; 步驟5:將加密時間信息、加密緯度信息和加密經度信息順序排列作為一條加密信息。
5.根據權利要求4所述的方法,其特徵在於,所述的步驟五中,解密步驟包括: 步驟1:去掉加密信息中加密時間信息的第一個字節; 步驟2:將加密時間信息的第二、第三、第四字節分別減去特徵碼,得到時間信息的時、分、秒信息; 步驟3:將加密緯度信息首先減去特徵碼,然後整除度數係數,得到的商即為緯度的度數,所得的餘數再除以分數係數即為緯度的分數; 步驟4:將加密經度信息首先減去特徵碼,然後整除度數係數,得到的商即為經度的度數,所得的餘數再除以分數係數即為經度的分數。
6.根據權利要求4所述的方法,其特徵在於,預設的固定值為OxFF。
7.根據權利要求4所述的方法,其特徵在於,預設的度數係數為600000。
8.根據權利要求4所述的方法,其特徵在於,預設的分數係數為10000。
【文檔編號】H04L29/06GK104270365SQ201410520392
【公開日】2015年1月7日 申請日期:2014年9月30日 優先權日:2014年9月30日
【發明者】彭細, 鄧子畏, 張盼, 龍桂英, 楊春媛, 鄭軒濤, 彭雄威 申請人:長城信息產業股份有限公司, 長沙湘計海盾科技有限公司