本發(fā)明屬于防偽二維碼生成
技術(shù)領(lǐng)域:
,尤其是涉及一種基于文本壓縮的二維碼生成、讀取方法及生成、讀取裝置。
背景技術(shù):
:二維碼是用某種特定的幾何圖形按照一定的規(guī)律在平面上分布的黑白相間的圖形記錄數(shù)據(jù)符號(hào)的信息,自80年代誕生以來(lái)二維碼的技術(shù)逐步成熟,按照不同的編碼方式的二維碼有:PDF417、QRCode、DataMatrix、MaxiCode等。而其中QR二維碼是最為常見(jiàn)且應(yīng)用最為廣泛的二維碼。QR二維碼作為現(xiàn)在十分流行的信息傳播載體,在當(dāng)今社會(huì)中已經(jīng)得到了較為廣泛的應(yīng)用。由于傳統(tǒng)的二維碼在信息保護(hù)方面不強(qiáng),極易被仿造和復(fù)制,尤其在一些較為重要商品信息的流通過(guò)程中此問(wèn)題更為突出。因此針對(duì)二維碼的防偽問(wèn)題,國(guó)內(nèi)外學(xué)者提出了不同的加密方案。目前已有的防偽二維碼加密技術(shù)主要是基于DES算法的加密和基于AES算法的加密方法,但這兩種方法的加密和解密都需要相同的私匙從而為數(shù)據(jù)的傳輸增加的不必要的成本,因此基于RSA算法的非對(duì)稱防偽加密技術(shù)則成為近來(lái)的研究熱點(diǎn)。將RSA加密算法和QR二維碼進(jìn)行結(jié)合使用密匙將信息數(shù)據(jù)轉(zhuǎn)化成不可直接讀取的密文從而形成一種有效的產(chǎn)品防偽技術(shù),這不僅在幫助企業(yè)高效地預(yù)防和打擊市場(chǎng)上的假冒偽劣產(chǎn)品同時(shí)更為有效的保護(hù)消費(fèi)者的相關(guān)權(quán)益提供了技術(shù)的支持。RSA算法是一種較為有代表性的非對(duì)稱加密算法,而且得到了較為廣泛的研究和應(yīng)用。然而隨著近年來(lái)各種解密技術(shù)的發(fā)展和分解大整數(shù)能力的日益增強(qiáng),為了保證RSA加密體制的安全性總是不斷增加模長(zhǎng)。目前768bit模長(zhǎng)的RSA體制已經(jīng)不再那么安全,一般采用1024bit或2048bit的模長(zhǎng)體制才能保證信息的安全性,但與此同時(shí)增大模長(zhǎng)體制的加密方式也使得產(chǎn)生的密文長(zhǎng)度不斷增加。當(dāng)密文過(guò)長(zhǎng)這不僅增加了密文傳輸?shù)某杀径一诿芪漠a(chǎn)生防偽二維碼的效率也極為低下。本發(fā)明采用易于實(shí)現(xiàn)的文本壓縮技術(shù)來(lái)改善RSA加密防偽二維碼的生成效率問(wèn)題。技術(shù)實(shí)現(xiàn)要素:為了彌補(bǔ)上述二維碼在文本壓縮加密效率低下,提高文本壓縮加密效率,本發(fā)明提出一種基于文本壓縮的二維碼生成、讀取方法及生成、讀取裝置。其技術(shù)方案為,一種基于文本壓縮的防偽二維碼生成方法,其包括:為二維碼生成器內(nèi)加裝RSA加密模塊和BWT變換模塊;采用生成器將明文信息采用RSA算法加密成密文,將密文通過(guò)BWT變換模塊壓縮生成二維碼輸出;上述明文信息加密過(guò)程包括,將明文字符代入me≡c(modn)中生成密文c,所述m代表明文字符,所述me≡c(modn)表示m的e次方除以n余數(shù)為c,所述n和e為公鑰;所述公鑰的生成步驟包括:隨機(jī)選擇兩個(gè)不相等的強(qiáng)素?cái)?shù)p和q;計(jì)算p和q的乘積n;通過(guò)歐拉公式計(jì)算n的歐拉函數(shù)φ(n),歐拉公式φ(n)=(p-1)(q-1);隨機(jī)選擇一個(gè)整數(shù)e,e滿足1<e<φ(n),且e與φ(n)互質(zhì);計(jì)算e對(duì)于φ(n)的模反元素d;將n和e封裝成公鑰(n,e),并將(n,d)封裝為私鑰發(fā)送給二維碼掃碼器。進(jìn)一步的,所述模反元素的計(jì)算方法為:ed≡1(modφ(n)),d代表可以使得ed被φ(n)除的余數(shù)為1的整數(shù),該公式等價(jià)于ed-1=kφ(n),k為任意整數(shù)。進(jìn)一步的,所述BWT變換壓縮步驟包括:將密文字符串C的每個(gè)字符都右移一位,得到字符矩陣G;將生成的字符矩陣G以行為單位按照字典中順序進(jìn)行排序形成新的矩陣Q;選取矩陣Q的最后一列;對(duì)L列字符采用游程編碼方式進(jìn)行壓縮。一種基于文本壓縮的防偽二維碼讀取方法,包括:為二維碼掃碼器內(nèi)加裝RSA解密模塊和BWT還原模塊;采用掃碼器從二維碼中讀取出二維碼信息,將二維碼信息通過(guò)BWT還原模塊解壓縮成密文,然后將密文通過(guò)RSA解密模塊解密輸出;所述密文解密的解密過(guò)程包括,將密文信息代入cd≡m(modn)得到密文c的明文m,所述cd≡m(modn)表示c的d次方除以n的余數(shù)為m,所述n和d為私鑰;所述私鑰的生成步驟包括:隨機(jī)選擇兩個(gè)不相等的強(qiáng)素?cái)?shù)p和q;計(jì)算p和q的乘積n;通過(guò)歐拉公式計(jì)算n的歐拉函數(shù)φ(n),歐拉公式φ(n)=(p-1)(q-1);隨機(jī)選擇一個(gè)整數(shù)e,e滿足1<e<φ(n),且e與φ(n)互質(zhì);計(jì)算e對(duì)于φ(n)的模反元素d;將n和d封裝成私鑰(n,d),將(n,e)作為公鑰發(fā)送給二維碼生成器。進(jìn)一步的,所述模反元素的計(jì)算方法為:ed≡1(modφ(n)),d代表可以使得ed被φ(n)除的余數(shù)為1的整數(shù),該公式等價(jià)于ed-1=kφ(n),k為任意整數(shù)。進(jìn)一步的,所述BWT還原模塊解壓縮步驟包括:將讀取的壓縮數(shù)據(jù)根據(jù)游程編碼規(guī)則還原成字符串L;將字符串L按照字典順序排序得到排序后的字符串F;將F和L作為字符矩陣的第一列和最后一列恢復(fù)矩陣Q;將矩陣第一行作為還原后的信息輸出。一種基于文本壓縮的防偽二維碼生成裝置,所述裝置包括:輸入組件,用于將明文信息輸入;轉(zhuǎn)換組件,用于將明文信息轉(zhuǎn)換為字符串;加密組件,用于將字符串采用RSA算法加密生成密文;BWT變換組件,用于采用BWT變換以及游程編碼方式將密文進(jìn)行壓縮;編碼組件,用于將壓縮后的密編譯成二維碼輸出。所述輸入組件,轉(zhuǎn)換組件,加密組件,壓縮組件和編碼組件依次連接到一起。所述輸入組件包括掃描器和與掃描器連接的OCR識(shí)別器。一種基于文本壓縮的防偽二維碼讀取裝置,包括:掃描模塊,用于掃描二維碼信息;BWT還原模塊,用于將二維碼信息通過(guò)BWT算法解壓縮還原成密文;解密模塊,用于將密文信息通過(guò)RSA算法解密成明文字符串;還原模塊,用于將明文字符串還原成明文信息;輸出模塊,用于將明文信息輸出;所述掃描模塊、所述BWT還原模塊、所述解密模塊、所述還原模塊和所述輸出模塊依次連接到一起。防偽二維碼生成過(guò)程中密文信息的大小直接影響著二維碼的生成效率,然而因?yàn)榧用芊绞降牟煌瑢?duì)密文信息的處理目前還沒(méi)有一種系統(tǒng)的、統(tǒng)一的解決方案。現(xiàn)有方案也有各種局限性,同一種方案針對(duì)不用的應(yīng)用場(chǎng)景表現(xiàn)的效果也不盡一致。本發(fā)明針對(duì)RSA加密的防偽二維碼的生成效率低下的問(wèn)題,借鑒文本壓縮的經(jīng)驗(yàn),提出了對(duì)密文進(jìn)行壓縮減少要寫入的信息量從而改進(jìn)防偽二維碼的生成效率,提升系統(tǒng)的整體性能。附圖說(shuō)明圖1為本發(fā)明二維碼加密方法的一種實(shí)施方式的流程示意圖;圖2為本發(fā)明二維碼加密的另一種實(shí)施方式的流程示意圖;圖3為本發(fā)明二維碼解密方法的一種實(shí)施例的流程示意圖;圖4為本發(fā)明二維碼生成裝置的一種實(shí)施例的結(jié)構(gòu)框型圖;圖5為本發(fā)明二維碼讀取裝置的一種實(shí)施例的結(jié)構(gòu)框型圖。具體實(shí)施方式下面將結(jié)合附圖對(duì)本發(fā)明的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒(méi)有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。在本發(fā)明的描述中,需要說(shuō)明的是,術(shù)語(yǔ)“中心”、“上”、“下”、“左”、“右”、“豎直”、“水平”、“內(nèi)”、“外”等指示的方位或位置關(guān)系為基于附圖所示的方位或位置關(guān)系,僅是為了便于描述本發(fā)明和簡(jiǎn)化描述,而不是指示或暗示所指的裝置或元件必須具有特定的方位、以特定的方位構(gòu)造和操作,因此不能理解為對(duì)本發(fā)明的限制。此外,術(shù)語(yǔ)“第一”、“第二”、“第三”僅用于描述目的,而不能理解為指示或暗示相對(duì)重要性。在本發(fā)明的描述中,需要說(shuō)明的是,除非另有明確的規(guī)定和限定,術(shù)語(yǔ)“安裝”、“相連”、“連接”應(yīng)做廣義理解,例如,可以是固定連接,也可以是可拆卸連接,或一體地連接;可以是機(jī)械連接,也可以是電連接;可以是直接相連,也可以通過(guò)中間媒介間接相連,可以是兩個(gè)元件內(nèi)部的連通。對(duì)于本領(lǐng)域的普通技術(shù)人員而言,可以具體情況理解上述術(shù)語(yǔ)在本發(fā)明中的具體含義。結(jié)合圖1,本發(fā)明的一種實(shí)施方式。一種基于文本壓縮的防偽二維碼生成方法,包括:為二維碼生成器內(nèi)加裝RSA加密模塊和BWT變換模塊;采用生成器將明文信息采用RSA算法加密成密文,將密文通過(guò)BWT變換模塊壓縮生成二維碼輸出;上述明文信息加密過(guò)程包括,將明文字符代入me≡c(modn)中生成密文c,所述m代表明文字符,所述me≡c(modn)表示m的e次方除以n余數(shù)為c,所述n和e為公鑰;所述公鑰的生成步驟包括:隨機(jī)選擇兩個(gè)不相等的強(qiáng)素?cái)?shù)p和q;計(jì)算p和q的乘積n;通過(guò)歐拉公式計(jì)算n的歐拉函數(shù)φ(n),歐拉公式φ(n)=(p-1)(q-1);隨機(jī)選擇一個(gè)整數(shù)e,e滿足1<e<φ(n),且e與φ(n)互質(zhì);計(jì)算e對(duì)于φ(n)的模反元素d,所謂模反元素即有一個(gè)整數(shù)d,可以使得ed被φ(n)除的余數(shù)為1,其公式為ed≡1(modφ(n)),該公式等價(jià)于ed-1=kφ(n),將n和e封裝成公鑰(n,e)并(n,d)封裝為私鑰發(fā)送給二維碼掃碼器。所述模反元素的計(jì)算方法為:ed≡1(modφ(n)),d代表可以使得ed被φ(n)除的余數(shù)為1的整數(shù),該公式等價(jià)于ed-1=kφ(n),k為任意整數(shù)。參照?qǐng)D2,在加密過(guò)程中的BWT變換壓縮步驟包括:將密文字符串C的每個(gè)字符都右移一位,得到字符矩陣G;將生成的字符矩陣G以行為單位按照字典中順序進(jìn)行排序形成新的矩陣Q;選取矩陣Q的最后一列;對(duì)L列字符采用游程編碼方式進(jìn)行壓縮。結(jié)合圖3,一種基于文本壓縮的防偽二維碼讀取方法,包括:為二維碼掃碼器內(nèi)加裝RSA解密模塊和BWT還原模塊;采用掃碼器從二維碼中讀取出二維碼信息,將二維碼信息通過(guò)BWT還原模塊解壓縮成密文,然后將密文通過(guò)RSA解密模塊解密輸出;所述密文解密的解密過(guò)程包括,將密文信息代入cd≡m(modn)得到密文c的明文m,所述cd≡m(modn)表示c的d次方除以n的余數(shù)為m,所述n和d為私鑰;所述私鑰的生成步驟包括隨機(jī)選擇兩個(gè)不相等的強(qiáng)素?cái)?shù)p和q;計(jì)算p和q的乘積n;通過(guò)歐拉公式計(jì)算n的歐拉函數(shù)φ(n),歐拉公式φ(n)=(p-1)(q-1);隨機(jī)選擇一個(gè)整數(shù)e,e滿足1<e<φ(n),且e與φ(n)互質(zhì);計(jì)算e對(duì)于φ(n)的模反元素d,所謂模反元素即有一個(gè)整數(shù)d,可以使得ed被φ(n)除的余數(shù)為1,其公式為ed≡1(modφ(n)),該公式等價(jià)于ed-1=kφ(n);封裝公鑰將n和d封裝成私鑰(n,d),將(n,e)作為公鑰發(fā)送給二維碼生成器。所述模反元素的計(jì)算方法為:ed≡1(modφ(n)),d代表可以使得ed被φ(n)除的余數(shù)為1的整數(shù),該公式等價(jià)于ed-1=kφ(n),k為任意整數(shù)。所述BWT還原模塊解壓縮步驟包括:將讀取的壓縮數(shù)據(jù)根據(jù)游程編碼規(guī)則還原成字符串L;將字符串L按照字典順序排序得到排序后的字符串F;將F和L作為字符矩陣的第一列和最后一列恢復(fù)矩陣Q;將矩陣第一行作為還原后的信息輸出。本發(fā)明采用RSA算法進(jìn)行信息的加密處理。RSA算法自1978年產(chǎn)生以來(lái)經(jīng)歷幾十年的考驗(yàn),逐漸成為非對(duì)稱加密技術(shù)中的主要的運(yùn)用技術(shù)。隨著二維碼技術(shù)的逐漸成熟和流行,在商業(yè)活動(dòng)中運(yùn)用二維碼進(jìn)行防偽得到越來(lái)越廣泛的重視,而RSA非對(duì)稱的加密算法以其良好的安全性和穩(wěn)定性逐漸成為二維碼加密防偽的主要方式。RSA算法是由三位麻省理工學(xué)院的學(xué)者于20世紀(jì)80年代共同提出的。他們的名字為R.Rives、A.Shamir、L.Adleman。RSA為三人姓氏首字母組成。它的原理相當(dāng)?shù)暮?jiǎn)單,其實(shí)就是找盡可能大的質(zhì)數(shù),兩個(gè)質(zhì)數(shù)相乘得積很容易,但是要從一個(gè)很大的乘積中把兩個(gè)質(zhì)數(shù)分解出來(lái)是相當(dāng)?shù)睦щy,所以它把乘積公開(kāi)作為加密密鑰。所述RSA算法的加密流程包括,生成公鑰和私鑰,利用公鑰對(duì)明文信息進(jìn)行加密。以下對(duì)公鑰和私鑰生成過(guò)程進(jìn)行舉例說(shuō)明。隨機(jī)選擇兩個(gè)不相等的強(qiáng)素?cái)?shù)p和q,如61和53(為了方便計(jì)算和說(shuō)明,本次舉例采用數(shù)值較底的素?cái)?shù),實(shí)際應(yīng)用中,一般正常加密數(shù)值相對(duì)都比較大);計(jì)算p和q的乘積n,n=pq=61*53=3233,n(3233)就是密鑰長(zhǎng)度。3233(n)寫成二進(jìn)制是110010100001,一共有12位,所以這個(gè)密鑰就是12位,實(shí)際應(yīng)用中,RSA密鑰一般是1024位,重要場(chǎng)合則為2048位;通過(guò)歐拉公式計(jì)算n的歐拉函數(shù)φ(n),歐拉公式φ(n)=(p-1)(q-1)得φ(3233)等于(61-1)*(53-1)=3120;隨機(jī)選擇一個(gè)整數(shù)e,條件是1<e<φ(n),且e與φ(n)互質(zhì),由φ(n)=3120得到e的列表,本次選取17;計(jì)算e對(duì)于φ(n)的模反元素d,所謂模反元素即有一個(gè)整數(shù)d,可以使得ed被φ(n)除的余數(shù)為1,其公式為:ed≡1(modφ(n)),該公式等價(jià)于ed-1=kφ(n),找模反元素d,實(shí)質(zhì)上就是對(duì)ed+φ(n)k=1求解,代入e=17,φ(n)=3120,可以得到17d+3120k=1,得到多組d和k的解,本次選取(d,k)=(2753,-15),即d=2753;封裝公鑰和私鑰,將n和e封裝成公鑰(n,e),n和d封裝成私鑰(n,d),得到公鑰(3233,17),私鑰(3233,2753);至此,所述RSA算法的公鑰和私鑰都以計(jì)算完成。所述加密模塊的加密過(guò)程采用公式me≡c(modn),把數(shù)值m加密成密文字符c,所述公式代表m的e次方除以n余數(shù)為c,將上述公鑰(3233,17)代入公式,假設(shè)需要加密的文字為65,得到6517=2790(mod3233)得到m的密文字符2790.所述解密模塊的解密過(guò)程采用cd≡m(modn),即c的d次方除以n的余數(shù)為m。由c等于2790,私鑰是(3233,2753),得到27902753≡65(mod3233),解密出密文c的原文m為65。只根據(jù)公鑰(n,e),要計(jì)算出解密密鑰d的難度不亞于大數(shù)分解的難度分解的難度。因此,任何人都可對(duì)明文進(jìn)行加密,但只有具有相應(yīng)授權(quán)密匙的用戶才可對(duì)密文解密,所以整個(gè)RSA加密算法具有相當(dāng)高的安全性。RSA是目前最有影響力的公匙加密算法,它能抵抗到目前為止已知的絕大多數(shù)密碼攻擊,然而隨著科技和理論的發(fā)展RSA也面臨著挑戰(zhàn),由于RSA的安全性極度依賴于大數(shù)的分解為了保證安全性隨著密匙的長(zhǎng)度不斷增長(zhǎng)加密后的信息長(zhǎng)度也成倍增長(zhǎng),因此如何處理不斷增長(zhǎng)的密文信息提升后續(xù)操作對(duì)密文的處理效率問(wèn)題將在很大程度上影響RSA算法的應(yīng)用范圍。隨著社會(huì)科技的發(fā)展,從數(shù)據(jù)中獲取知識(shí)和情報(bào)已成為當(dāng)前人們的共識(shí)。然而數(shù)據(jù)信息量的指數(shù)增長(zhǎng),對(duì)數(shù)據(jù)的存儲(chǔ)和傳輸提出了更高的要求。因此無(wú)論是數(shù)據(jù)壓縮的基本理論還是壓縮技術(shù)成為當(dāng)今研究的熱點(diǎn)前沿。而文本壓縮技術(shù)則成為數(shù)據(jù)壓縮技術(shù)中主要的研究方向。文本壓縮的目的就是用盡可能少的的數(shù)碼來(lái)表達(dá)原始的信息數(shù)據(jù),因此將文本壓縮技術(shù)來(lái)對(duì)加密信息進(jìn)行處理,將很好的提升對(duì)密文的后續(xù)處理效率。本發(fā)明專利通過(guò)BWT變換對(duì)后續(xù)進(jìn)行壓縮。壓縮技術(shù)主要的工作方式就是找到重復(fù)的模式,進(jìn)行緊密的編碼,而RSA加密后的密文為大量的數(shù)字字符,其字符串的重復(fù)率非常高,采用BWT變換的方式可以有效對(duì)數(shù)字字符串進(jìn)行壓縮。BWT是MikeBurrows依據(jù)DavidWheeler提出的變換思想,經(jīng)過(guò)研究和和完善并應(yīng)用于數(shù)據(jù)壓縮的變換方法。其基本的原理如下:對(duì)給定N個(gè)字符的輸入字符串序列信息依次進(jìn)行移位的操作,將偏移操作得到的所有可能的置換結(jié)果字符序列組合,能夠構(gòu)成了一個(gè)N*N的字符矩陣,然后,將字符矩陣按照字典編纂原理重新排序,得到這個(gè)新的N*N的字符矩陣并保存新的字符矩陣的最后一列字符串。將原來(lái)的文本轉(zhuǎn)換為一個(gè)相似的文本,轉(zhuǎn)換后使得相同的字符位置連續(xù)或者相鄰,從而為之后的數(shù)據(jù)壓縮提供方便。將加密后的密文原始序列經(jīng)過(guò)BWT轉(zhuǎn)換后,可以更方便的進(jìn)行壓縮;而且BWT轉(zhuǎn)換是一個(gè)可逆的轉(zhuǎn)換,能夠根據(jù)轉(zhuǎn)換后的序列還原出原始序列。BWT轉(zhuǎn)換首先將序列進(jìn)行在序列的末尾插入一個(gè)字符,并且規(guī)定按照字典序的排序的話,這個(gè)字符小于序列中的任意字符。比如原始序列“banana”,為其末尾增加一個(gè)字符變成“banana#”然后對(duì)字符串進(jìn)行循環(huán)右移,生成位移后的字符矩陣,如表1中“RotateRight”列表。然后將矩陣的首列字母按照字典順序進(jìn)行排序(如果是數(shù)字字符則按照由小到大進(jìn)行排序),得到結(jié)果參照表1“Sorted(M)”列表。從排序后的矩陣中選出第一列(First列)和最后一列(Last列)。得到L列的第一個(gè)字符就是原始序列的最后一個(gè)字符(因?yàn)?小于任意字符);F列的每一個(gè)字母是對(duì)應(yīng)的L列的后一個(gè)字符(因?yàn)檠h(huán)右移);得到字符x在L列中出現(xiàn)的第i次對(duì)應(yīng)F列中的第i個(gè)字符;比如L列中第7行的a是第3次出現(xiàn)的a,它對(duì)應(yīng)的就是F列中的第3行的a。NO.RotateRightSorted(M)FL1banana##banana#a2#bananaa#bananan3a#bananana#banan4na#banaanana#bab5ana#banbanana#b#6nana#bana#banana7anana#bnana#bana表1表2在實(shí)際壓縮儲(chǔ)存的時(shí)候,只儲(chǔ)存L列,然后采用游程編碼進(jìn)行壓縮,如表1中L列為annb#aa壓縮后得到a1n2b1#a2(本舉例由于字符較少壓縮效果不明顯)。在恢復(fù)的時(shí)候由于F的序列可以從L中排序得來(lái),如表1壓縮后得到a1n2b1#a2得到L列,排序后為#aaabnn,即得到F列,然后根據(jù)F列和L列恢復(fù)字符矩陣,然后選取矩陣第一行,即用#號(hào)開(kāi)頭的一行即為還原后的信息。結(jié)合圖4,一種基于文本壓縮的防偽二維碼生成裝置,所述裝置包括:輸入組件,用于將明文信息輸入;轉(zhuǎn)換組件,用于將明文信息轉(zhuǎn)換為字符串;加密組件,用于將字符串采用RSA算法加密生成密文;BWT變換組件,用于采用BWT變換以及游程編碼方式將密文進(jìn)行壓縮;編碼組件,用于將壓縮后的密編譯成二維碼輸出。所述輸入組件,轉(zhuǎn)換組件,加密組件,壓縮組件和編碼組件依次連接到一起。所述輸入組件包括掃描器和與掃描器連接的OCR識(shí)別器。參照?qǐng)D5,一種基于文本壓縮的防偽二維碼讀取裝置,包括:掃描模塊,用于掃描二維碼信息;BWT還原模塊,用于將二維碼信息通過(guò)BWT算法解壓縮還原成密文;解密模塊,用于將密文信息通過(guò)RSA算法解密成明文字符串;還原模塊,用于將明文字符串還原成明文信息;輸出模塊,用于將明文信息輸出;所述掃描模塊、所述BWT還原模塊、所述解密模塊、所述還原模塊和所述輸出模塊依次連接到一起。下邊結(jié)合具體的加密方式,對(duì)本發(fā)明做進(jìn)一步說(shuō)明。本發(fā)明的本次實(shí)驗(yàn)是由配置為Intel酷睿雙核2.1GHz,4G內(nèi)存,320G硬盤,win7操作系統(tǒng)的計(jì)算機(jī)作為測(cè)試平臺(tái),以JAVA語(yǔ)言為基礎(chǔ),以eclipse為開(kāi)發(fā)工具,采用尺寸為256X256容錯(cuò)等級(jí)為L(zhǎng)級(jí)的二維碼進(jìn)行測(cè)試和驗(yàn)證。實(shí)驗(yàn)方法和結(jié)果本實(shí)驗(yàn)采用512bit,1024bit,2048bit的不同密匙長(zhǎng)度分別對(duì)長(zhǎng)度為10,20,30的隨機(jī)序列號(hào)各自進(jìn)行100次實(shí)驗(yàn)測(cè)試,統(tǒng)計(jì)傳統(tǒng)RSA算法生成二維碼的時(shí)間和改進(jìn)之后的生成時(shí)間,并對(duì)比實(shí)驗(yàn)結(jié)果。如表1所示。從實(shí)驗(yàn)結(jié)果來(lái)看,改進(jìn)后的防偽二維碼生成方法在同條件下比傳統(tǒng)的防偽二維碼生成時(shí)間縮短的將近40%,而且隨著信息數(shù)據(jù)的增大,二維碼的生成效率也得到相應(yīng)的提升,說(shuō)明本發(fā)明所采用的文本壓縮生成二維碼的方式可以有效的改善傳統(tǒng)防偽二維碼的生成效率。具體如下表所示防偽二維碼生成過(guò)程中密文信息的大小直接影響著二維碼的生成效率,然而因?yàn)榧用芊绞降牟煌?,?duì)密文信息的處理目前還沒(méi)有一種系統(tǒng)的、統(tǒng)一的解決方案?,F(xiàn)有方案也有各種局限性,同一種方案針對(duì)不用的應(yīng)用場(chǎng)景表現(xiàn)的效果也不盡一致。本發(fā)明針對(duì)RSA加密的防偽二維碼的生成效率低下的問(wèn)題,借鑒文本壓縮的經(jīng)驗(yàn),提出了對(duì)密文進(jìn)行壓縮減少要寫入的信息量從而改進(jìn)防偽二維碼的生成效率,提升系統(tǒng)的整體性能。上述技術(shù)方案僅體現(xiàn)了本發(fā)明技術(shù)方案的優(yōu)選技術(shù)方案,本
技術(shù)領(lǐng)域:
的技術(shù)人員對(duì)其中某些部分所可能做出的一些變動(dòng)均體現(xiàn)了本發(fā)明的原理,屬于本發(fā)明的保護(hù)范圍之內(nèi)。當(dāng)前第1頁(yè)1 2 3