System.ArgumentOutOfRangeException: 索引和長度必須引用該字符串內的位置。 參數名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技術實現步驟摘要】
本專利技術涉及基于擴展漢明碼的二維碼秘密分享方法,屬于秘密共享。
技術介紹
1、
2、數據密態時代中,隱私保護技術一直承載著保護關系到國計民生各行各業數據安全的使命。而秘密分享作為隱私保護中的一個重要手段,最近在云計算、物聯網等領域得到快速發展。在之前的數據安全方案中,隱私數據通常被用戶保存在一個單獨的存儲設備中,如果數據丟失或被惡意篡改,隱私數據將永遠無法恢復。而拷貝多份隱私數據副本并分發到多個存儲設備,將會增加隱私數據受到安全威脅的可能性。因此,1979年shamir與blakley率先提出了秘密分享(secret?sharing,ss)方案以解決上述問題。在ss方案中,秘密信息被分享成一系列的片段,這些片段通常被稱為份額或陰影。最后,該秘密可以通過一系列合格的份額重構。因此,如果有些份額丟失,原始秘密依然可以順利地重構。這樣避免了秘密集中在單個用戶手中,達到了分散風險和容忍入侵的目的。所以,我們可以認為秘密分享將是未來能夠助力行業、迎接數據密態時代挑戰的重要技術方向之一。
3、最近,二維碼(quick?response?code,qr?code)因其高容量、讀寫方便、數據表示形式多樣化等特點,已成為信息領域最受歡迎的載體之一,并已經在移動支付、登錄、防疫等領域得到廣泛應用。然而,由于二維碼的編碼與解碼規則采用的是國際標準化組織iso發布的通用標準,任何人都可以輕松獲取二維碼中載有的公共信息。因此,當傳輸或保存包含隱私信息的二維碼時,會缺乏對隱私的安全性保護。因此,二維碼與秘密分享結合的方案已然成為研
4、當前二維碼秘密分享方法的研究趨勢主要集中在載體二維碼的嵌入容量與驗證能力等方面。但是,在隱寫二維碼的實際應用過程中,二維碼經常會受到一些遮擋,如二維碼被紙質化后,容易沾染上一些污漬等;此外,秘密重構過程中或許存在一些不誠實的參與者,他們故意篡改隱寫二維碼中的信息從而阻止秘密信息的恢復。對于上述這些情況,秘密信息必然無法恢復。因此,亟需一種秘密分享方法來避免上述問題,該方法不僅能夠檢測隱寫二維碼的真實性,而且當隱寫二維碼中存在一些誤碼時,可以實現這些誤碼的糾正從而保證秘密信息被準確的恢復。
5、基于上述分析,如果這些誤碼能夠在驗證階段得到糾正,二維碼秘密分享技術的效率將會得到顯著提高。因此,本文提出了一種將二維碼秘密分享技術與糾錯編碼相結合的方法以解決上述問題。本方法的貢獻主要如下:
6、(1)當具有糾錯能力的隱寫二維碼在傳輸、存儲或被攻擊者篡改從而導致誤碼時,可以通過檢測并糾正隱寫二維碼中的這些誤碼來重構秘密信息。
7、(2)秘密信息通過二維碼的同態性質實現嵌入,在確保實現高嵌入容量的同時,并且不會犧牲二維碼原本的任何功能。
8、(3)驗證信息通過二維碼的結構性質實現嵌入,不會因為驗證信息的嵌入,從而破壞二維碼的糾錯功能。
技術實現思路
1、本專利技術所要解決的技術問題是:當具有糾錯能力的隱寫二維碼在傳輸、存儲或被攻擊者篡改從而導致誤碼時,可以通過檢測并糾正隱寫二維碼中的這些誤碼來重構秘密信息;秘密信息通過二維碼的同態性質實現嵌入,在確保實現高嵌入容量的同時,并且不會犧牲二維碼原本的任何功能;驗證信息通過二維碼的結構性質實現嵌入,不會因為驗證信息的嵌入,從而破壞二維碼的糾錯功能。
2、本專利技術為解決上述技術問題采用以下技術方案:
3、基于擴展漢明碼的二維碼秘密分享方法,包括如下步驟:
4、步驟1,以有限域galois?field(28)為背景根據多項式對秘密信息進行分享,從而生成n個秘密份額hi(1≤i≤n);
5、步驟2,根據份額hi(1≤i≤n)中的每個元素來生成對應的擴展漢明碼,進而得到用于嵌入的擴展漢明碼組;
6、步驟3,利用二維碼同態性質,將生成的擴展漢明碼組嵌入到二維碼的補齊碼冗余區域;
7、步驟4,以份額生成的擴展漢明碼組作為驗證函數的輸入,獲取待嵌入的驗證信息u;
8、步驟5,將生成的驗證信息嵌入到載體二維碼剩余位的位置,從而得到最終隱寫后的載體二維碼qi(1≤i≤n);
9、步驟6,在恢復過程中,首先對隱寫二維碼q′i(1≤i≤n)的真實性進行檢測,以避免秘密重構過程的失效;
10、步驟7,提取嵌入在隱寫二維碼q′i(1≤i≤n)中的擴展漢明碼組,并對誤碼進行校正;
11、步驟8,從校正后的擴展漢明碼內提取出秘密份額,借助拉格朗日插值法,通過k個份額來重構最初的秘密信息。
12、作為本專利技術的一種優選方案,所述步驟1的具體過程如下:
13、假設秘密信息s(si,1≤i≤k×m)所占字節大小是k×m。秘密信息中每k個字節內容可以替換如下多項式中k個系數以此生成n個份額hi(1≤i≤n)。由于一次分享過程需使用k個字節內容,所以生成的份額大小為m字節。
14、f(x)=(a0+a1x+…+ak-1xk-1)mod?g(x)
15、其中,x為任意的正整數輸入值;a0,a1,…,ak-1為多項式系數,將被k字節秘密信息所替換;mod為取模運算;g(x)=x8+x4+x3+x+1。
16、作為本專利技術的一種優選方案,所述步驟2的具體過程如下:
17、對于一個份額hi,將其每個元素b(bi,0≤i≤7)以二進制形式劃分為高四位(b7b6b5b4)和低四位(b3b2b1b0),然后分別作為(8,4)擴展漢明碼生成函數的輸入來獲得擴展漢明碼組cgi={c1,c2}(1≤i≤m),每個擴展漢明碼為1個字節,所以每個擴展漢明碼組為2個字節。直到份額中的每個元素都被分享完成,最終得到用于嵌入到載體二維碼中的擴展漢明碼組cgi={c1,c2}(1≤i≤m),擴展漢明碼組總的嵌入大小是2×m字節。
18、
19、其中fehc(·)表示擴展漢明碼的生成函數。
20、作為本專利技術的一種優選方案,所述步驟3的具體過程如下:
21、在嵌入擴展漢明碼組cgi之前,需要選取合適的載體二維碼來判定其是否有足夠的補齊碼冗余能夠容納cgi的嵌入。根據被選取載體二維碼的補齊區域,cgi的可嵌入組數可以被計算;擴展漢明碼組可嵌入組數計算公式為:
22、
23、其中,lcg表示擴展漢明碼組的可嵌入組數,r表示數據區域中碼元的總數,p表示二維碼中片段的總數,mj表示第j個片段中編碼規則的位數,ij表示第j個片段中字符計數指示器的位數,dj表示第j個片段中數據的位數,t表示的是數據區域終止符的位數。
24、然后,根據里德-所羅門(reed-solomon)編碼同態性質將擴展漢明碼組cgi嵌入到載體二維碼中。假設被選取的載體二維碼可嵌入漢明碼組長度lcg=m。在嵌入過程中,首先解碼載體二維碼補齊碼pi(1≤i≤lcg×2),其中補齊碼pi的數量與擴展漢明碼組cgi={c1,c2}(1≤i≤m)中本文檔來自技高網...
【技術保護點】
1.基于擴展漢明碼的二維碼秘密分享方法,其特征在于,包括如下步驟:
2.根據權利要求1所述基于擴展漢明碼的二維碼秘密分享方法,其特征在于,所述步驟1具體過程如下:
3.根據權利要求1所述基于擴展漢明碼的二維碼秘密分享方法,其特征在于,所述步驟2具體過程如下:
4.根據權利要求1所述基于擴展漢明碼的二維碼秘密分享方法,其特征在于,所述步驟3的具體過程如下:
5.根據權利要求1所述基于擴展漢明碼的二維碼秘密分享方法,其特征在于,所述步驟4的具體過程如下:
6.根據權利要求1所述基于擴展漢明碼的二維碼秘密分享方法,其特征在于,所述步驟5的具體過程如下:
7.根據權利要求1所述基于擴展漢明碼的二維碼秘密分享方法,其特征在于,所述步驟6的具體過程如下:
8.根據權利要求1所述基于擴展漢明碼的二維碼秘密分享方法,其特征在于,所述步驟7的具體過程如下:
9.根據權利要求1所述基于擴展漢明碼的二維碼秘密分享方法,其特征在于,所述步驟8的具體過程如下:
【技術特征摘要】
1.基于擴展漢明碼的二維碼秘密分享方法,其特征在于,包括如下步驟:
2.根據權利要求1所述基于擴展漢明碼的二維碼秘密分享方法,其特征在于,所述步驟1具體過程如下:
3.根據權利要求1所述基于擴展漢明碼的二維碼秘密分享方法,其特征在于,所述步驟2具體過程如下:
4.根據權利要求1所述基于擴展漢明碼的二維碼秘密分享方法,其特征在于,所述步驟3的具體過程如下:
5.根據權利要求1所述基于擴展漢明碼的二維碼秘密分享方法,其特征在...
【專利技術屬性】
技術研發人員:仲鑫瑋,曹雪花,陳東東,湯明偉,倪峰,黃成,
申請(專利權)人:江陰職業技術學院,
類型:發明
國別省市:
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。