一種低復(fù)雜度數(shù)字加密方法
【專利摘要】本發(fā)明公開了種低復(fù)雜度數(shù)字加密方法,該方法具體包括如下步驟:S1.采集用戶生物特征,生成個(gè)人密鑰;S2.將數(shù)字信號分段,并利用個(gè)人密鑰和加密算法對分段數(shù)字信號進(jìn)行加密;S3.將分段數(shù)字信號打包后,傳送給數(shù)字信號解密接收端。該方法復(fù)雜度低,可以實(shí)現(xiàn)高安全性和高可靠性的數(shù)字信號加密傳輸。
【專利說明】
一種低復(fù)雜度數(shù)字加密方法
所屬技術(shù)領(lǐng)域
[0001 ]本發(fā)明涉及一種低復(fù)雜度數(shù)字加密方法。
【背景技術(shù)】
[0002]信息網(wǎng)絡(luò)技術(shù)的發(fā)展為人們提供了極大的便利。但同時(shí)網(wǎng)絡(luò)犯罪也隨之增多,信息安全問題漸漸成為人們關(guān)注的焦點(diǎn)。目前,隨著高端服務(wù)器的遠(yuǎn)程管理方式的流行,采用客戶端來遠(yuǎn)程管理服務(wù)器是越來越普遍,相比一般的網(wǎng)站登錄驗(yàn)證機(jī)制,對服務(wù)器的登錄驗(yàn)證機(jī)制安全性要求更高。比如,在客戶端和服務(wù)器直接傳輸數(shù)據(jù)的過程中,采用明文方式會泄露有些關(guān)鍵數(shù)據(jù),比如服務(wù)器管理員的用戶名和密碼,因此,需要采用加密方式傳輸。
[0003]數(shù)據(jù)加密又稱密碼學(xué),指通過加密算法和加密密鑰將明文轉(zhuǎn)換成密文,而解密則是反向的通過解密算法和解密密鑰將密文還原成原文。數(shù)據(jù)加密,是一門歷史悠久的技術(shù),指通過加密算法和加密密鑰將明文轉(zhuǎn)變?yōu)槊芪?,而解密則是通過解密算法和解密密鑰將密文恢復(fù)為明文。數(shù)據(jù)加密目前仍是計(jì)算機(jī)系統(tǒng)對信息進(jìn)行保護(hù)的一種最可靠的辦法。它利用密碼技術(shù)對信息進(jìn)行加密,實(shí)現(xiàn)信息隱蔽,從而起到保護(hù)信息的安全的作用。
[0004]隨著加密算法的演進(jìn),分組加密算法對數(shù)據(jù)進(jìn)行分組加密,增加了數(shù)據(jù)解密難度,然而,采取固定的加密算法和密鑰進(jìn)行加密,在確定加密算法和密鑰后,明文和密碼形成對應(yīng)關(guān)系,可以米用窮舉法等暴力方式破解,安全度有待提尚。
【發(fā)明內(nèi)容】
[0005]本發(fā)明提供一種低復(fù)雜度數(shù)字加密方法,該方法復(fù)雜度低,可以實(shí)現(xiàn)高安全性和高可靠性的數(shù)字信號加密傳輸。
[0006]為了實(shí)現(xiàn)上述目的,本發(fā)明提供一種低復(fù)雜度數(shù)字加密方法,該方法具體包括如下步驟:
[0007]S1.采集用戶生物特征,生成個(gè)人密鑰;
[0008]S2.將數(shù)字信號分段,并利用個(gè)人密鑰和加密算法對分段數(shù)字信號進(jìn)行加密;
[0009]S3.將分段數(shù)字信號打包后,傳送給數(shù)字信號解密接收端。
[0010]優(yōu)選的,在步驟SI中,其具體包括如下子步驟包括:
[0011]SI 1:獲取用戶的生物特征數(shù)據(jù);
[0012]可具體通過各種類型的生物特征傳感設(shè)備采集用戶的生物特征數(shù)據(jù),其中,生物特征可具體為指紋、虹膜、聲音、人臉、掌紋、靜脈中的任一。
[0013]S12:根據(jù)所述生物特征數(shù)據(jù),生成特征向量;
[0014]S13:根據(jù)所述預(yù)定算法對所述特征向量進(jìn)行序列化處理,得到序列化后的特征向量;
[0015]根據(jù)預(yù)定算法的需求,將不同長度的特征值向量轉(zhuǎn)化為指定長度的序列;
[0016]S14:根據(jù)所述預(yù)定算法從所述序列化后的特征向量中,提取出符合均勻分布的序列數(shù)據(jù)作為與所述用戶對應(yīng)的個(gè)人密鑰;
[0017]從固定長度序列中生成唯一的序列作為個(gè)人密鑰,個(gè)人密鑰長度可根據(jù)不同需求進(jìn)行選擇,具體的,首先根據(jù)預(yù)設(shè)隨機(jī)生成方法將所述序列化后的特征向量分解為殘差序列和隨機(jī)序列;判斷所述隨機(jī)序列是否符合均勻分布;若所述隨機(jī)序列符合均勻分布,則將所述隨機(jī)序列作為與所述用戶對應(yīng)的個(gè)人密鑰,并對所述殘差序列進(jìn)行可逆加密處理,得到一公開密鑰;若所述隨機(jī)序列不符合均勻分布,則重新根據(jù)所述預(yù)設(shè)隨機(jī)生成方法對所述序列化后的特征向量進(jìn)行分解處理,直至得到符合均分分布的隨機(jī)序列,并將重新分解出的符號均勻分布的隨機(jī)序列作為與所述用戶對應(yīng)的個(gè)人密鑰。
[0018]進(jìn)一步地,上述判斷所述隨機(jī)序列是否符合均勻分布可具體包括:
[0019]在所述隨機(jī)序列中提取多個(gè)隨機(jī)均勻分布子序列;
[0020]判斷多個(gè)所述隨機(jī)均勻分布子序列之間的距離值是否處于預(yù)設(shè)范圍內(nèi);
[0021]若多個(gè)所述隨機(jī)子序列之間的距離值處于所述預(yù)設(shè)范圍內(nèi),則判斷出所述隨機(jī)序列符合均勾分布,否則,不符合均勾分布。
[0022]優(yōu)選的,在所述S2中,具體包括如下子步驟:
[0023]S21:根據(jù)分段數(shù)字信號、個(gè)人密鑰和第一隨機(jī)數(shù)字信號進(jìn)行位運(yùn)算,得到第一密文數(shù)字信號;
[0024]分段數(shù)字信號可以先跟第一隨機(jī)數(shù)字信號進(jìn)行位運(yùn)算得到第三密文,然后再讓第三密文與個(gè)人密鑰進(jìn)行位運(yùn)算得到第一密文數(shù)字信號。當(dāng)然分段數(shù)字信號也可以先跟個(gè)人密鑰進(jìn)行位運(yùn)算得到第三密文,然后再讓第三密文與第一隨機(jī)數(shù)字信號進(jìn)行位運(yùn)算得到第一密文數(shù)字信號,其中具體得到第一密文數(shù)字信號可以通過如下C語言實(shí)現(xiàn),C[i]=p[i]~r[(i+a)%rl]~k[(i+b)%kl],其中c表示第一密文數(shù)字信號,i表示字節(jié)序數(shù),P表示分段數(shù)字信號,r表不第一隨機(jī)數(shù)字信號,rl表不第一隨機(jī)數(shù)字信號長度,k表不個(gè)人密鑰,kl表不個(gè)人密鑰長度,a是小于第一隨機(jī)信號長度的正整數(shù),b小于個(gè)人密鑰長度的正整數(shù);
[0025]S22:根據(jù)個(gè)人密鑰和第一隨機(jī)數(shù)字信號進(jìn)行位運(yùn)算,得到第二隨機(jī)數(shù)字信號;
[0026]將個(gè)人密鑰與第一隨機(jī)數(shù)字信號進(jìn)行位運(yùn)算,得到第二隨機(jī)數(shù)字信號,且該第二隨機(jī)數(shù)字信號的長度與第一隨機(jī)數(shù)字信號的長度一樣。但是為了保證數(shù)據(jù)膨脹不是很嚴(yán)重,這個(gè)長度值不宜過大;
[0027]還可以通過將第一隨機(jī)數(shù)字信號的每個(gè)字節(jié)分別與后面的一個(gè)字節(jié)進(jìn)行按位異或運(yùn)算得到第二隨機(jī)數(shù)字信號;
[0028]S23:將第二隨機(jī)數(shù)字信號插入到第一密文數(shù)字信號中,得到第二密文數(shù)字信號;
[0029]S24:對第二密文數(shù)字信號進(jìn)行反轉(zhuǎn)比特位操作,得到最終加密后的分段數(shù)字信號。
[0030]優(yōu)選的,在S3中,可以通過在加密后的分段數(shù)字信號前添加幀頭、所述分段數(shù)字信號的長度和所述加密的分段數(shù)字的長度,在所述加密的分段數(shù)字信號后添加幀尾的方式進(jìn)行打包,得到加密后的分段數(shù)字信號塊。
[0031]本發(fā)明具有以下優(yōu)點(diǎn)和有益效果:該系統(tǒng)可以根據(jù)用戶的個(gè)人信息生成密鑰,使得密鑰具有唯一性;在數(shù)字信號加密過程中,通過明文數(shù)字信號與個(gè)人密鑰和第一隨機(jī)數(shù)字信號進(jìn)行位運(yùn)算,得到第一密文數(shù)字信號,同時(shí)將個(gè)人密鑰與第一隨機(jī)數(shù)字信號進(jìn)行位運(yùn)算,得到第二隨機(jī)數(shù)字信號,并將得到的第二隨機(jī)數(shù)字信號與第一密文數(shù)字信號進(jìn)行位運(yùn)算,得到第二密文數(shù)字信號,最后再對第二密文數(shù)字信號進(jìn)行反轉(zhuǎn)比特位操作,加密過程相對簡單。
【附圖說明】
[0032]圖1示出了本發(fā)明的一種實(shí)現(xiàn)數(shù)字信號加密傳輸?shù)南到y(tǒng)的框圖。
[0033]圖2示出了本發(fā)明的一種數(shù)字信號加密處理方法的流程圖。
【具體實(shí)施方式】
[0034]圖1是示出了本發(fā)明的一種實(shí)現(xiàn)數(shù)字信號加密傳輸?shù)南到y(tǒng)。系統(tǒng)包括數(shù)字信號加密發(fā)送端I和數(shù)字信號解密接收端2。
[0035]其中,數(shù)字信號加密發(fā)送端I包括:數(shù)據(jù)分組單元11,將待加密數(shù)字信號進(jìn)行分段,產(chǎn)生分段數(shù)字信號;密鑰生成單元12,用于生成個(gè)人密鑰;密鑰存儲單元13,用于存儲個(gè)人密鑰;數(shù)據(jù)加密單元14,利用加密算法和所述個(gè)人密鑰對所述分段數(shù)字信號進(jìn)行加密,得到加密后的分段數(shù)字信號;分段數(shù)字信號打包單元15,將所述加密后的分段數(shù)字信號進(jìn)行打包,得到加密后的分段數(shù)字信號塊;數(shù)據(jù)發(fā)送模塊16,用于將所述加密后的分段數(shù)字信號塊發(fā)送給所述數(shù)字信號解密端。
[0036]所述數(shù)字信號解密接收端2包括:
[0037]數(shù)據(jù)接收單元21,用于接收所述加密后的分段數(shù)字信號塊;
[0038]個(gè)人密鑰獲取單元22,用于獲取所述個(gè)人密鑰;
[0039]解密單元23,根據(jù)所述解密密鑰和與所述解密加密算法對應(yīng)的解密算法對所述加密后的分段數(shù)字信號塊塊進(jìn)行解密,得到原分段數(shù)字信號;
[0040]組合單元24,用于組合所述分段數(shù)字信號,得到原數(shù)據(jù)。
[0041 ] 所述密鑰生成單元包括:
[0042 ]第一獲取子單元,用于獲取用戶的生物特征數(shù)據(jù);
[0043]第一生成子單元,用于根據(jù)所述生物特征數(shù)據(jù),生成特征向量;
[0044]第二生成子單元,用于根據(jù)預(yù)定算法對所述特征向量進(jìn)行處理,生成與所述用戶對應(yīng)的個(gè)人密鑰。
[0045]優(yōu)選的,所述數(shù)據(jù)加密單元,根據(jù)所述個(gè)人密鑰和加密算法對所述分段數(shù)字信號進(jìn)行加密,得到加密后的分段數(shù)字信號。
[0046]優(yōu)選的,其中,所述第二生成子單元包括:
[0047]獲取子模塊,用于根據(jù)所述預(yù)定算法對所述特征向量進(jìn)行序列化處理,得到序列化后的特征向量;
[0048]提取子模塊,用于根據(jù)所述預(yù)定算法從所述序列化后的特征向量中,提取出符合均勻分布的序列數(shù)據(jù)作為與所述用戶對應(yīng)的個(gè)人密鑰。
[0049]這里,可具體通過各種類型的生物特征傳感設(shè)備采集用戶的生物特征數(shù)據(jù),其中,生物特征可具體為指紋、虹膜、聲音、人臉、掌紋、靜脈等。
[0050]個(gè)人密鑰長度可根據(jù)不同需求進(jìn)行選擇(比如:128位、192位、256位等)。具體的,首先根據(jù)預(yù)設(shè)隨機(jī)生成方法將所述序列化后的特征向量分解為殘差序列和隨機(jī)序列;判斷所述隨機(jī)序列是否符合均勻分布;若所述隨機(jī)序列符合均勻分布,則將所述隨機(jī)序列作為與所述用戶對應(yīng)的個(gè)人密鑰,并對所述殘差序列進(jìn)行可逆加密處理,得到一公開密鑰;若所述隨機(jī)序列不符合均勻分布,則重新根據(jù)所述預(yù)設(shè)隨機(jī)生成方法對所述序列化后的特征向量進(jìn)行分解處理,直至得到符合均分分布的隨機(jī)序列,并將重新分解出的符號均勻分布的隨機(jī)序列作為與所述用戶對應(yīng)的個(gè)人密鑰。
[0051]所述數(shù)據(jù)加密單元14包括:
[0052]第一運(yùn)算子單元,用于根據(jù)分段數(shù)字信號信號、所述個(gè)人密鑰和第一隨機(jī)數(shù)字信號進(jìn)行位運(yùn)算,得到第一密文數(shù)字信號;
[0053]第二運(yùn)算子單元,用于根據(jù)所述個(gè)人密鑰和第一隨機(jī)數(shù)字信號進(jìn)行位運(yùn)算,得到第二隨機(jī)數(shù)字信號;
[0054]插入子單元,用于將第二隨機(jī)數(shù)字信號插入到第一密文數(shù)字信號中,得到第二密文數(shù)字信號;
[0055]第一操作子單元,用于對第二密文數(shù)字信號進(jìn)行反轉(zhuǎn)比特位操作,得到最終加密后的分段數(shù)字信號。
[0056]所述解密單元23包括:
[0057]第二操作子單元,用于對最終加密后的分段數(shù)字信號進(jìn)行比特位反轉(zhuǎn)操作,得到第四密文數(shù)字信號;
[0058]提取子單元,用于從第四密文數(shù)字信號中提取出第二隨機(jī)數(shù)字信號,得到第五密文數(shù)字信號;
[0059]第三運(yùn)算子單元,用于根據(jù)第二隨機(jī)數(shù)字信號與個(gè)人密鑰進(jìn)行位運(yùn)算,得到第一隨機(jī)數(shù)字信號;
[0060]第四運(yùn)算子單元,用于根據(jù)第五密文數(shù)字信號、第一隨機(jī)數(shù)字信號和個(gè)人密鑰進(jìn)行位運(yùn)算,得到原分段數(shù)字信號。
[0061]所述解密單元23還可包括解密判斷子單元,每次解密后對得到數(shù)據(jù)幀頭、幀尾部分進(jìn)行檢測,若符合分段數(shù)字信號密文的幀頭、幀尾的格式,則再次進(jìn)行解密。
[0062]優(yōu)選的,所述個(gè)人密鑰獲取單元22,可以通過單獨(dú)的物理存儲介質(zhì)讀取個(gè)人密鑰。
[0063]圖2示出了本發(fā)明的一種低復(fù)雜度數(shù)字加密方法的流程圖。該方法具體包括如下步驟:
[0064]S1.采集用戶生物特征,生成個(gè)人密鑰;
[0065]S2.將數(shù)字信號分段,并利用個(gè)人密鑰和加密算法對分段數(shù)字信號進(jìn)行加密;
[0066]S3.將分段數(shù)字信號打包后,傳送給數(shù)字信號解密接收端。
[0067]優(yōu)選的,在步驟SI中,其具體包括如下子步驟包括:
[0068]Sll:獲取用戶的生物特征數(shù)據(jù)。
[0069]這里,可具體通過各種類型的生物特征傳感設(shè)備采集用戶的生物特征數(shù)據(jù),其中,生物特征可具體為指紋、虹膜、聲音、人臉、掌紋、靜脈等。
[0070]S12:根據(jù)所述生物特征數(shù)據(jù),生成特征向量。
[0071]S13:根據(jù)所述預(yù)定算法對所述特征向量進(jìn)行序列化處理,得到序列化后的特征向量。
[0072]在本發(fā)明的具體實(shí)施例中,根據(jù)預(yù)定算法的需求,將不同長度的特征值向量(或不同格式的待保護(hù)信息和數(shù)據(jù))轉(zhuǎn)化為指定長度的序列。
[0073]S14:根據(jù)所述預(yù)定算法從所述序列化后的特征向量中,提取出符合均勻分布的序列數(shù)據(jù)作為與所述用戶對應(yīng)的個(gè)人密鑰。
[0074]本發(fā)明從固定長度序列中生成唯一的序列作為個(gè)人密鑰,個(gè)人密鑰長度可根據(jù)不同需求進(jìn)行選擇(比如:128位、192位、256位等)。具體的,首先根據(jù)預(yù)設(shè)隨機(jī)生成方法將所述序列化后的特征向量分解為殘差序列和隨機(jī)序列;判斷所述隨機(jī)序列是否符合均勻分布;若所述隨機(jī)序列符合均勻分布,則將所述隨機(jī)序列作為與所述用戶對應(yīng)的個(gè)人密鑰,并對所述殘差序列進(jìn)行可逆加密處理,得到一公開密鑰;若所述隨機(jī)序列不符合均勻分布,則重新根據(jù)所述預(yù)設(shè)隨機(jī)生成方法對所述序列化后的特征向量進(jìn)行分解處理,直至得到符合均分分布的隨機(jī)序列,并將重新分解出的符號均勻分布的隨機(jī)序列作為與所述用戶對應(yīng)的個(gè)人密鑰。
[0075]進(jìn)一步地,上述判斷所述隨機(jī)序列是否符合均勻分布可具體包括:
[0076]在所述隨機(jī)序列中提取多個(gè)隨機(jī)均勻分布子序列;
[0077]判斷多個(gè)所述隨機(jī)均勻分布子序列之間的距離值是否處于預(yù)設(shè)范圍內(nèi);
[0078]若多個(gè)所述隨機(jī)子序列之間的距離值處于所述預(yù)設(shè)范圍內(nèi),則判斷出所述隨機(jī)序列符合均勾分布,否則,不符合均勾分布。
[0079]優(yōu)選的,在所述S2中,具體包括如下子步驟:
[0080]S21:根據(jù)分段數(shù)字信號、個(gè)人密鑰和第一隨機(jī)數(shù)字信號進(jìn)行位運(yùn)算,得到第一密文數(shù)字信號。
[0081]在具體實(shí)施中,可以將待加密數(shù)字信號分為多段,也可以將待加密數(shù)字信號作為一段。
[0082]分段數(shù)字信號可以先跟第一隨機(jī)數(shù)字信號進(jìn)行位運(yùn)算(例如異或運(yùn)算)得到第三密文,然后再讓第三密文與個(gè)人密鑰進(jìn)行位運(yùn)算(例如異或運(yùn)算)得到第一密文數(shù)字信號。當(dāng)然分段數(shù)字信號也可以先跟個(gè)人密鑰進(jìn)行位運(yùn)算(例如異或運(yùn)算)得到第三密文,然后再讓第三密文與第一隨機(jī)數(shù)字信號進(jìn)行位運(yùn)算(例如異或運(yùn)算)得到第一密文數(shù)字信號。其中具體得到第一密文數(shù)字信號可以通過如下C語言實(shí)現(xiàn),c[i]=p[irr[(i+a)%rirk[(i +
b)%kl],其中c表不第一密文數(shù)字信號,i表不字節(jié)序數(shù),p表不分段數(shù)字信號,r表不第一隨機(jī)數(shù)字信號,rl表示第一隨機(jī)數(shù)字信號長度,k表示個(gè)人密鑰,kl表示個(gè)人密鑰長度,a是小于第一隨機(jī)信號長度的正整數(shù),b小于個(gè)人密鑰長度的正整數(shù)。
[0083]S22:根據(jù)個(gè)人密鑰和第一隨機(jī)數(shù)字信號進(jìn)行位運(yùn)算,得到第二隨機(jī)數(shù)字信號;
[0084]可以將個(gè)人密鑰與第一隨機(jī)數(shù)字信號進(jìn)行位運(yùn)算(例如異或運(yùn)算),得到第二隨機(jī)數(shù)字信號,且該第二隨機(jī)數(shù)字信號的長度與第一隨機(jī)數(shù)字信號的長度一樣。但是為了保證數(shù)據(jù)膨脹不是很嚴(yán)重,這個(gè)長度值不宜過大。
[0085]還可以通過將第一隨機(jī)數(shù)字信號的每個(gè)字節(jié)(除了最后一個(gè)字節(jié))分別與后面的一個(gè)字節(jié)進(jìn)行按位異或運(yùn)算得到第二隨機(jī)數(shù)字信號。
[0086]S23:將第二隨機(jī)數(shù)字信號插入到第一密文數(shù)字信號中,得到第二密文數(shù)字信號。
[0087]S24:對第二密文數(shù)字信號進(jìn)行反轉(zhuǎn)比特位操作,得到最終加密后的分段數(shù)字信號。
[0088]優(yōu)選的,在S3中,可以通過在加密后的分段數(shù)字信號前添加幀頭、所述分段數(shù)字信號的長度和所述加密的分段數(shù)字的長度,在所述加密的分段數(shù)字信號后添加幀尾的方式進(jìn)行打包,得到加密后的分段數(shù)字信號塊。
[0089]如上所述,雖然根據(jù)實(shí)施例所限定的實(shí)施例和附圖進(jìn)行了說明,但對本技術(shù)領(lǐng)域具有一般知識的技術(shù)人員來說能從上述的記載中進(jìn)行各種修改和變形。例如,根據(jù)與說明的技術(shù)中所說明的方法相不同的順序來進(jìn)行,和/或根據(jù)與說明的系統(tǒng)、結(jié)構(gòu)、裝置、電路等構(gòu)成要素所說明的方法相不同的形態(tài)進(jìn)行結(jié)合或組合,或根據(jù)其他構(gòu)成要素或均等物進(jìn)行替換或置換也可達(dá)成適當(dāng)?shù)男Ч?。對于本發(fā)明所屬技術(shù)領(lǐng)域的普通技術(shù)人員來說,在不脫離本發(fā)明構(gòu)思的前提下,做出若干等同替代或明顯變型,而且性能或用途相同,都應(yīng)當(dāng)視為屬于本發(fā)明的保護(hù)范圍。
【主權(quán)項(xiàng)】
1.一種低復(fù)雜度數(shù)字加密方法,該方法具體包括如下步驟: 51.采集用戶生物特征,生成個(gè)人密鑰; 52.將數(shù)字信號分段,并利用個(gè)人密鑰和加密算法對分段數(shù)字信號進(jìn)行加密; 53.將分段數(shù)字信號打包后,傳送給數(shù)字信號解密接收端。2.如權(quán)利要求1所述的方法,其特征在于,在步驟SI中,其具體包括如下子步驟包括: SI I:獲取用戶的生物特征數(shù)據(jù); 可具體通過各種類型的生物特征傳感設(shè)備采集用戶的生物特征數(shù)據(jù),其中,生物特征可具體為指紋、虹膜、聲音、人臉、掌紋、靜脈中的任一; S12:根據(jù)所述生物特征數(shù)據(jù),生成特征向量; S13:根據(jù)所述預(yù)定算法對所述特征向量進(jìn)行序列化處理,得到序列化后的特征向量; 根據(jù)預(yù)定算法的需求,將不同長度的特征值向量轉(zhuǎn)化為指定長度的序列; S14:根據(jù)所述預(yù)定算法從所述序列化后的特征向量中,提取出符合均勻分布的序列數(shù)據(jù)作為與所述用戶對應(yīng)的個(gè)人密鑰; 從固定長度序列中生成唯一的序列作為個(gè)人密鑰,個(gè)人密鑰長度可根據(jù)不同需求進(jìn)行選擇,具體的,首先根據(jù)預(yù)設(shè)隨機(jī)生成方法將所述序列化后的特征向量分解為殘差序列和隨機(jī)序列;判斷所述隨機(jī)序列是否符合均勻分布;若所述隨機(jī)序列符合均勻分布,則將所述隨機(jī)序列作為與所述用戶對應(yīng)的個(gè)人密鑰,并對所述殘差序列進(jìn)行可逆加密處理,得到一公開密鑰;若所述隨機(jī)序列不符合均勻分布,則重新根據(jù)所述預(yù)設(shè)隨機(jī)生成方法對所述序列化后的特征向量進(jìn)行分解處理,直至得到符合均分分布的隨機(jī)序列,并將重新分解出的符號均勻分布的隨機(jī)序列作為與所述用戶對應(yīng)的個(gè)人密鑰。3.如權(quán)利要求2所述的方法,其特征在于,上述判斷所述隨機(jī)序列是否符合均勻分布可具體包括: 在所述隨機(jī)序列中提取多個(gè)隨機(jī)均勻分布子序列; 判斷多個(gè)所述隨機(jī)均勻分布子序列之間的距離值是否處于預(yù)設(shè)范圍內(nèi); 若多個(gè)所述隨機(jī)子序列之間的距離值處于所述預(yù)設(shè)范圍內(nèi),則判斷出所述隨機(jī)序列符合均勾分布,否則,不符合均勾分布。4.如權(quán)利要求3所述的方法,其特征在于,在所述S2中,具體包括如下子步驟: S21:根據(jù)分段數(shù)字信號、個(gè)人密鑰和第一隨機(jī)數(shù)字信號進(jìn)行位運(yùn)算,得到第一密文數(shù)字信號; 分段數(shù)字信號可以先跟第一隨機(jī)數(shù)字信號進(jìn)行位運(yùn)算得到第三密文,然后再讓第三密文與個(gè)人密鑰進(jìn)行位運(yùn)算得到第一密文數(shù)字信號。當(dāng)然分段數(shù)字信號也可以先跟個(gè)人密鑰進(jìn)行位運(yùn)算得到第三密文,然后再讓第三密文與第一隨機(jī)數(shù)字信號進(jìn)行位運(yùn)算得到第一密文數(shù)字信號,其中具體得到第一密文數(shù)字信號可以通過如下C語言實(shí)現(xiàn),c[i]=p[irr[(i+a)%rl]~k[(i+b)%kl],其中c表示第一密文數(shù)字信號,i表示字節(jié)序數(shù),P表示分段數(shù)字信號,:r表不第一隨機(jī)數(shù)字信號,rl表不第一隨機(jī)數(shù)字信號長度,k表不個(gè)人密鑰,kl表不個(gè)人密鑰長度,a是小于第一隨機(jī)信號長度的正整數(shù),b小于個(gè)人密鑰長度的正整數(shù); S22:根據(jù)個(gè)人密鑰和第一隨機(jī)數(shù)字信號進(jìn)行位運(yùn)算,得到第二隨機(jī)數(shù)字信號; 將個(gè)人密鑰與第一隨機(jī)數(shù)字信號進(jìn)行位運(yùn)算,得到第二隨機(jī)數(shù)字信號,且該第二隨機(jī)數(shù)字信號的長度與第一隨機(jī)數(shù)字信號的長度一樣。但是為了保證數(shù)據(jù)膨脹不是很嚴(yán)重,這個(gè)長度值不宜過大; 還可以通過將第一隨機(jī)數(shù)字信號的每個(gè)字節(jié)分別與后面的一個(gè)字節(jié)進(jìn)行按位異或運(yùn)算得到第二隨機(jī)數(shù)字信號; S23:將第二隨機(jī)數(shù)字信號插入到第一密文數(shù)字信號中,得到第二密文數(shù)字信號; S24:對第二密文數(shù)字信號進(jìn)行反轉(zhuǎn)比特位操作,得到最終加密后的分段數(shù)字信號。5.如權(quán)利要求4所述的方法,其特征在于,在S3中,可以通過在加密后的分段數(shù)字信號前添加幀頭、所述分段數(shù)字信號的長度和所述加密的分段數(shù)字的長度,在所述加密的分段數(shù)字信號后添加幀尾的方式進(jìn)行打包,得到加密后的分段數(shù)字信號塊。
【文檔編號】H04L9/08GK105959106SQ201610412948
【公開日】2016年9月21日
【申請日】2016年6月13日
【發(fā)明人】李博, 白曜華, 劉紹飛
【申請人】四川特倫特科技股份有限公司