新四季網

二值二維碼圖像加密、解密的方法和裝置與流程

2023-06-08 14:30:06


本發明涉及計算機技術領域,特別是涉及一種二值二維碼圖像加密、解密的方法和裝置。



背景技術:

隨著計算機技術的發展,二維碼通常採用黑白相間的二值圖形記錄數據符號信息,由於其能方便的承載信息在各個領域得到大量的應用,如通過二維碼進行資料存儲、登錄網頁、手機支付等。為了避免二維碼所包含的重要信息被竊取和修改,在其傳輸和存儲前,需要對其進行加密處理,以確保二維碼承載信息的安全性和有效性。

現有的二維碼加密的方法加密算法複雜度低且公知度高,很容易被破解,安全性低。



技術實現要素:

基於此,有必要針對上述技術問題,提供一種二值二維碼圖像加密、解密的方法和裝置,提高二維碼信息的安全性。

一種二值二維碼圖像加密的方法,所述方法包括:

獲取二維碼圖像,根據所述二維碼圖像生成二值矩陣;

獲取密鑰,所述密鑰包括初始值Z和起始參數,其中初始值Z大於1,起始參數在0和1之間;

根據所述密鑰採用Z映射算法生成與所述二值矩陣匹配的二維密鑰矩陣;

將所述二值矩陣的元素和二維密鑰矩陣的元素一一對應進行異或得到加密後的二維碼圖像。

一種二值二維碼圖像加密的裝置,所述裝置包括:

處理模塊,用於獲取二維碼圖像,根據所述二維碼圖像生成二值矩陣,獲取密鑰,所述密鑰包括初始值Z和起始參數,其中初始值Z大於1,起始參數在 0和1之間;

二維密鑰矩陣生成模塊,用於根據所述密鑰採用Z映射算法生成與所述二值矩陣匹配的二維密鑰矩陣;

加密模塊,用於將所述二值矩陣的元素和二維密鑰矩陣的元素一一對應進行異或得到加密後的二維碼圖像。

上述二值二維碼圖像加密的方法和裝置,通過獲取二維碼圖像,根據二維碼圖像生成二值矩陣,獲取密鑰,包括初始值Z和起始參數,其中初始值Z大於1,起始參數在0和1之間,根據密鑰採用Z映射算法生成與二值矩陣匹配的二維密鑰矩陣,將二值矩陣的元素和二維密鑰矩陣的元素一一對應進行異或得到加密後的二維碼圖像,Z映射算法的計算複雜度高,並且對初始值與起始參數有很高的敏感性,增大了解密難度,提高了二維碼信息的安全性。

一種二值二維碼圖像解密的方法,所述方法包括:

獲取加密的二維碼圖像,根據所述加密的二維碼圖像生成加密二值矩陣;

獲取所述加密的二維碼圖像匹配的密鑰,所述密鑰包括初始值Z和起始參數,其中初始值Z大於1,起始參數在0和1之間;

根據所述密鑰採用Z映射算法生成與所述加密二值矩陣匹配的二維密鑰矩陣;

將所述加密二值矩陣的元素和二維密鑰矩陣的元素一一對應進行異或得到解密後的二維碼圖像。

一種二值二維碼圖像解密的裝置,所述裝置包括:

解密處理模塊,用於獲取加密的二維碼圖像,根據所述加密的二維碼圖像生成加密二值矩陣,獲取所述加密的二維碼圖像匹配的密鑰,所述密鑰包括初始值Z和起始參數,其中初始值Z大於1,起始參數在0和1之間;

解密二維密鑰矩陣生成模塊,用於根據所述密鑰採用Z映射算法生成與所述加密二值矩陣匹配的二維密鑰矩陣;

解密模塊,用於將所述加密二值矩陣的元素和二維密鑰矩陣的元素一一對應進行異或得到解密後的二維碼圖像。

上述二值二維碼圖像解密的方法和裝置,通過獲取加密的二維碼圖像,根 據加密的二維碼圖像生成加密二值矩陣,獲取加密的二維碼圖像匹配的密鑰,密鑰包括初始值Z和起始參數,其中初始值Z大於1,起始參數在0和1之間,根據密鑰採用Z映射算法生成與加密二值矩陣匹配的二維密鑰矩陣,將加密二值矩陣的元素和二維密鑰矩陣的元素一一對應進行異或得到解密後的二維碼圖像,只有獲取了與加密的二維碼圖像匹配的密鑰才能進行解密,並且解密時只有明確了Z映射算法的具體公式才能解密成功,由於Z映射算法複雜度高,且對密鑰的初始值與起始參數有很高的敏感性,增大了解密難度,提高了二維碼信息的安全性。

附圖說明

圖1為一個實施例中二值二維碼圖像加密、解密的方法的應用環境圖;

圖2為一個實施例中圖1中伺服器的內部結構圖;

圖3為一個實施例中圖2中終端的內部結構圖;

圖4為一個實施例中二值二維碼圖像加密的方法的流程圖;

圖5為一個實施例中生成二維密鑰矩陣的流程圖;

圖6為一個實施例中未加密的二維碼示意圖;

圖7為一個實施例中加密後的二維碼示意圖;

圖8為一個實施例中二值二維碼圖像解密的方法的流程圖;

圖9為一個實施例中生成二維密鑰矩陣的流程圖;

圖10為一個實施例中解密後的二維碼示意圖;

圖11為一個實施例中採用與加密不同的初值後解密後的二維碼示意圖;

圖12為一個實施例中採用與加密不同的另一初值後解密後的二維碼示意圖;

圖13為一個實施例中採用與加密不同的再一初值後解密後的二維碼示意圖;

圖14為一個實施例中二值二維碼圖像加密的裝置的結構框圖;

圖15為一個實施例中二維密鑰矩陣生成模塊的結構框圖;

圖16為一個實施例中二值二維碼圖像解密的裝置的結構框圖;

圖17為一個實施例中解密二維密鑰矩陣生成模塊的結構框圖。

具體實施方式

圖1為一個實施例中二值二維碼圖像加密、解密的方法運行的應用環境圖。如圖1所示,該應用環境包括終端110、伺服器120,其中終端110和伺服器120通過網絡進行通信。

終端110可為智慧型手機、平板電腦、筆記本電腦、臺式計算機等,但並不局限於此。終端110與伺服器120之間可通過網絡發送加密的二維碼。二值二維碼圖像加密、解密的裝置可以在終端中,也可以在伺服器中。

在一個實施例中,圖1中的伺服器120的內部結構如圖2所示,該伺服器120包括通過系統總線連接的處理器、存儲介質、內存和網絡接口。其中,該伺服器120的存儲介質存儲有作業系統、資料庫和二值二維碼圖像加密和/或解密的裝置,資料庫用於存儲數據,如用戶資料等,二值二維碼圖像加密和/或解密的裝置用於實現一種適用於伺服器120的二值二維碼圖像加密和/或解密的方法。該伺服器120的處理器用於提供計算和控制能力,支撐整個伺服器120的運行。該伺服器120的內存為存儲介質中的二值二維碼圖像加密和/或解密的裝置的運行提供環境。該伺服器120的網絡接口用於與外部的終端110通過網絡連接通信,比如接收終端110發送的加密的二值二維碼圖像以及向終端110發送加密的二值二維碼圖像等。

在一個實施例中,圖1中的終端110的內部結構如圖3所示,該終端110包括通過系統總線連接的處理器、圖形處理單元、存儲介質、內存、網絡接口、顯示屏幕和輸入設備。其中,終端110的存儲介質存儲有作業系統,還包括二值二維碼圖像加密和/或解密的裝置,該裝置用於實現一種適用於終端的二值二維碼圖像加密和/或解密的方法。該處理器用於提供計算和控制能力,支撐整個終端110的運行。終端110中的圖形處理單元用於至少提供顯示界面的繪製能力,內存為存儲介質中的信息顯示裝置的運行提供環境,網絡接口用於與伺服器120進行網絡通信,如發送加密的二值二維碼圖像至伺服器120等。顯示屏幕用於顯示應用界面等,如顯示應用界面上的圖片、信息等,輸入設備用於接 收用戶輸入的命令或數據等。對於帶觸控螢幕的終端110,顯示屏幕和輸入設備可為觸控螢幕。

在如圖4所示,在一個實施例中,提供了一種二值二維碼圖像加密的方法,,以應用於上述應用環境中的伺服器或終端,包括如下步驟:

步驟S210,獲取二維碼圖像,根據二維碼圖像生成二值矩陣。

具體的,二值二維碼圖像加密的方法只適用於二維碼圖像具有二值性的圖像,如QR碼。根據輸入的信息文本或終端發送的請求生成攜帶有信息的二值二維碼圖像,如根據終端發送的登錄請求生成用於登錄的帶有用戶資料的二值二維碼圖像。二值二維碼圖像只有兩種色度,如黑色和白色。二值矩陣是由二種數值組成的矩陣,如0和1組成的矩陣。將圖像的兩種色度對應為二種數值,根據二維碼圖像的各個像素生成對應的二值矩陣,如將黑色的像素點對應為0,白色的像素點對應為1。對於有灰度的二值二維碼圖像,可以先進行去灰度再生成二值矩陣。

步驟S220,獲取密鑰,密鑰包括初始值Z和起始參數,其中初始值Z大於1,起始參數在0和1之間。

具體的,密鑰決定了加密的算法複雜度,加密的算法複雜度隨著密鑰初始值Z和起始參數位數的增加而增大。由於Z映射算法屬於混沌系統算法,必須滿足初始值Z大於1,該系統才進入混沌狀態,並且對初始值與起始參數有很高的敏感性,即加密密鑰和解密密鑰如果存在輕微差別也會導致解密失敗,此種特性決定了Z映射算法加解密的可靠性和安全性。在進行加密時可隨機選取合適位數的初始值Z和起始參數,由於初始值Z和起始參數的選取範圍非常大,導致解密的難度非常大。同時起始參數在0和1之間及Z映射算法值域在0和1之間,保證能快速方便的劃分和生成密鑰序列。

步驟S230,根據密鑰採用Z映射算法生成與二值矩陣匹配的二維密鑰矩陣。

具體的,Z映射算法為Z映射一維非線性動態系統,其定義式為其中x0為起始參數,可自定義xn和二維密鑰矩陣之間的轉化關係,如採用輔助數組記錄xn和二維密鑰矩陣之間的位置關係,通過計算得到各個xn值後,根據自定義條件選取目標xn,再根據 輔助數組得到各個目標xn在二維密鑰矩陣的位置,再根據自定義算法變換各個目標xn為符合條件的二值範圍內的值。在選取目標xn時,雖然xn的計算順序是從n值從小到大遞歸計算得到,但是在選取用於加密的xn時可以間隔性的選取,在選取後可自定義算法調整xn的順序。二維密鑰矩陣同樣是具有二值性的矩陣,其中的二值與步驟S210中的二值矩陣中的二值範圍相同,如步驟S210中的二值矩陣為0和1組成的矩陣,則二維密鑰矩陣同樣是0和1組成的矩陣,並且二維密鑰矩陣與二值矩陣的長度和寬度相同,由於二值矩陣的長度和寬度取決於二維碼圖像的大小,所以二維碼圖像越大,二維密鑰矩陣越大,生成二維密鑰矩陣的複雜度越高,時間越長。

步驟S240,將二值矩陣的元素和二維密鑰矩陣的元素一一對應進行異或得到加密後的二維碼圖像。

具體的,將二值矩陣的每一個元素和二維密鑰矩陣的每一個對應元素進行異或後得到加密矩陣,將加密矩陣轉化為圖像格式的二值圖像用於存儲、傳送。如bmp或者jpg格式的圖像。在保存時,可增加灰度信息生成帶灰度的二值圖像。在一個實施例中,終端或伺服器將加密的二維碼圖像和加密時使用的密鑰發送至伺服器或終端,便於接收到加密後的二維碼圖像的伺服器或終端根據接收到的密鑰進行解密。在發送前,可對加密時使用的密鑰進行加密,或發送時採用安全性高的通道。在一個實施例中,終端和伺服器兩端採用約定的密鑰生成方式,從而使得密鑰不需要傳送也可以在接收到的加密的二維碼圖像後進行解密。在一個實施例中,終端和伺服器兩端採用約定的映射關係將映射數據與密鑰對應,使得只將映射數據傳送,接收方便可根據約定的映射關係根據映射數據得到密鑰從而進行解密。在一個實施例中,將二值二維碼圖像加密的方法應用於安全插件,通過安裝安全插件的方式,在網際網路的服務端對二維碼圖像加密,然後在客戶端利用安裝好的插件對加密的二維碼圖像進行解密,保證二維碼信息的安全性。

本實施例中,通過獲取二維碼圖像,根據二維碼圖像生成二值矩陣,獲取密鑰,包括初始值Z和起始參數,其中初始值Z大於1,起始參數在0和1之間,根據密鑰採用Z映射算法生成與二值矩陣匹配的二維密鑰矩陣,將二值矩陣的 元素和二維密鑰矩陣的元素一一對應進行異或得到加密後的二維碼圖像,Z映射算法的計算複雜度高,並且對初始值與起始參數有很高的敏感性,增大了解密難度,提高了二維碼信息的安全性。

在一個實施例中,如圖5所示,步驟S230包括:

步驟S231,根據密鑰採用Z映射算法生成混沌密鑰序列。

具體的,混沌密鑰序列是一維序列,將根據初始值Z和x0採用Z映射算法生成的各個xn值中選取目標xn並按照預設順序排序生成混沌密鑰序列。此時只需要記錄各個目標xn與一維的混沌密鑰序列之間的位置關係,比記錄目標xn與二維的矩陣之間的位置關係更方便。混沌密鑰序列的長度與二值矩陣中元素的個數相同,如二值矩陣的維度為M×N,則混沌密鑰序列的長度為M×N。

步驟S232,將混沌密鑰序列轉化為一維二值密鑰序列。

具體的,將混沌密鑰序列中的各個目標xn按照自定義算法變換為符合條件的二值範圍內的值,變換時可根據變換個數進行並行變換,提高轉化為一維二值密鑰序列的速度。

步驟S233,將一維二值密鑰序列轉化為二維密鑰矩陣。

具體的,首先申請一個與二值矩陣相同長度和寬度的二維數組來保存二維密鑰矩陣,如M×N的二維數組,然後順序讀取一維二值密鑰序列的元素保存到二維數組中,每當保存完M個元素時,就換行繼續保存,直到一維數組的元素全部保存至M×N的二維數組中,則此二維數組為二維密鑰矩陣。由於在步驟S231中目標xn是按照預設順序排序生成混沌密鑰序列的,所以此時只需順序讀取即可,不需要記錄一維二值密鑰序列與二維密鑰矩陣之間元素的位置關係。可以理解的是,也可以再設置一個位置轉化數組,在生成二維密鑰矩陣時不按順序讀取一維二值密鑰序列中的元素,而是按照位置轉化數組的順序讀取。

本實施例中,先生成一維序列,再將一維序列轉化為二維矩陣,使得記錄元素與矩陣間的位置關係時更方便,能快速生成二維密鑰矩陣。

在一個實施例中,步驟S231包括:根據公式和密鑰計算得到由xn組成的混沌密鑰序列[xb,xb+1…xb+M×N-1],其中x0為所述起始參數,b≤n≤b+M×N-1,0≤b,M為所述二值矩陣的長度,N為所述二值矩陣的寬度。

具體的,根據初始值Z和起始參數x0生成的各個xn值中選取按計算順序生成的連續M×N個目標xn並按照計算順序排序生成混沌密鑰序列,由於QR碼的長度和寬度一般相同,所以QR碼的二值矩陣的長度和寬度也相同,對於QR碼一般M=N。由於是按照計算順序排列各個目標xn,不需要記錄各個目標xn與一維的混沌密鑰序列之間的位置關係,只需要記錄起始目標xn的起始序號n即可,更方便。

步驟S232包括:根據公式其中0<a<1,將所述混沌密鑰序列[xb,xb+1…xb+M×N-1]轉化為一維二值密鑰序列[yb,yb+1…yb+M×N-1]。

具體的,將各個目標xn根據其大小按照公式轉化為0或1,從而生成由0和1組成的二值密鑰序列[yb,yb+1…yb+M×N-1],優先的a取值為0.5。

步驟S233包括:根據預設轉化規則將所述一維二值密鑰序列[yb,yb+1…yb+M×N-1]轉化為M×N的二維密鑰矩陣。

具體的,可按順序依次讀取一維二值密鑰序列[yb,yb+1…yb+M×N-1]中的各個元素生成M×N的二維密鑰矩陣,也可設置位置轉化數組,在生成二維密鑰矩陣時不按順序讀取一維二值密鑰序列中的元素,而是按照位置轉化數組的順序讀取。

在一個實施例中,初始值Z的二進位位數大於第一預設閾值,起始參數的小數點位數大於第二預設閾值。

具體的,第一預設閾值和第二預設閾值可根據需要自定義,且第一預設閾值和/或第二預設閾值可根據二維碼圖像和/或終端的處理能力調整。優先的,第一預設閾值為5位,第二預設閾值為5位,可以設置初始值Z的二進位位數為偶數,起始參數x0的小數點位數為偶數便於根據公式進行開方運算和計算機存儲。當選取Z=1111111111,x0=0.1111111111為初值,混沌密鑰序列[xb,xb+1…xb+M×N-1]中b=0,由和公式產生的混沌密鑰序列對如圖6所示的QR碼,其中QR碼攜帶的內容為Test,像素為 181×181,進行加密後生成的加密二維碼圖如圖7所示。

在一個實施例中,如圖8所示,提供了一種二值二維碼圖像解密的方法,包括如下步驟:

步驟S310,獲取加密的二維碼圖像,根據所述加密的二維碼圖像生成加密二值矩陣。

具體的,加密的二維碼圖像為具有二值性的圖像,如QR碼。二值二維碼圖像只有兩種色度,如黑色和白色。二值矩陣是由二種數值組成的矩陣,如0和1組成的矩陣。將圖像的兩種色度對應為二種數值,根據二維碼圖像的各個像素生成對應的二值矩陣,如將黑色的像素點對應為0,白色的像素點對應為1。對於有灰度的加密的二值二維碼圖像,可以先進行去灰度再生成加密二值矩陣。

步驟S320,獲取所述加密的二維碼圖像匹配的密鑰,所述密鑰包括初始值Z和起始參數,其中初始值Z大於1,起始參數在0和1之間。

具體的,匹配的密鑰是指與二維碼圖像加密時使用的相同的密鑰,可通過與加密方進行約定得到,也可通過接收加密方發送來的密鑰得到,如果加密方發送來的密鑰是加密的密鑰,則先進行解碼得到密鑰。密鑰決定了解密的算法複雜度,解密的算法複雜度隨著密鑰初始值Z和起始參數位數的增加而增大。由於Z映射算法屬於混沌系統算法,對初始值與起始參數有很高的敏感性,即加密密鑰和解密密鑰如果存在輕微差別也會導致解密失敗,此種特性決定了Z映射算法加解密的可靠性和安全性。在進行加密時可隨機選取合適位數的初始值Z和起始參數x0,由於初始值Z和起始參數x0的選取範圍非常大,導致解密的難度非常大。對於Z映射算法在Z>1時,該系統進入混沌狀態,同時起始參數0<x0<1,及Z映射算法值域在0和1之間,保證能快速方便的劃分和生成密鑰序列。由於解密密鑰與加密密鑰一致,所以解密密鑰的Z和起始參數x0的範圍與加密密鑰相同,都為Z>1,0<x0<1。可根據Z和x0的範圍判斷解密密鑰是否出錯。

步驟S330,根據密鑰採用Z映射算法生成與加密二值矩陣匹配的二維密鑰矩陣。

具體的,Z映射算法為Z映射一維非線性動態系統,其定義式為其中x0為起始參數,可自定義xn和二維密鑰矩陣之間的轉化關係,如採用輔助數組記錄xn和二維密鑰矩陣之間的位置關係,通過計算得到各個xn值後,根據自定義條件選取目標xn,再根據輔助數組得到各個目標xn在二維密鑰矩陣的位置,再根據自定義算法變換各個目標xn為符合條件的二值範圍內的值。在選取目標xn時,雖然xn的計算順序是從n值從小到大遞歸計算得到,但是在選取用於加密的xn時可以間隔性的選取,在選取後可自定義算法調整xn的順序。二維密鑰矩陣同樣是具有二值性的矩陣,其中的二值與加密二值矩陣中的二值範圍相同,如加密二值矩陣為0和1組成的矩陣,則二維密鑰矩陣同樣是0和1組成的矩陣,並且二維密鑰矩陣與加密二值矩陣的長度和寬度相同,由於加密二值矩陣的長度和寬度取決於加密的二維碼圖像的大小,所以加密的二維碼圖像越大,二維密鑰矩陣越大,生成二維密鑰矩陣的複雜度越高,解密時間越長。

步驟S340,將加密二值矩陣的元素和二維密鑰矩陣的元素一一對應進行異或得到解密後的二維碼圖像。

具體的,將加密二值矩陣的每一個元素和二維密鑰矩陣的每一個對應元素進行異或後得到解密矩陣,由於解密矩陣是由0和1組成的二值矩陣,在將解密矩陣轉化為二值圖像時,可根據二值矩陣與二值圖像本身的二值範圍進行轉化。將解密矩陣轉化為圖像格式的二值圖像得到解密後的二維碼圖像,用於存儲、傳送,如bmp或者jpg格式的圖像。

本實施例中,通過獲取加密的二維碼圖像,根據加密的二維碼圖像生成加密二值矩陣,獲取加密的二維碼圖像匹配的密鑰,密鑰包括初始值Z和起始參數,其中初始值Z大於1,起始參數在0和1之間,根據密鑰採用Z映射算法生成與加密二值矩陣匹配的二維密鑰矩陣,將加密二值矩陣的元素和二維密鑰矩陣的元素一一對應進行異或得到解密後的二維碼圖像,只有獲取了與加密的二維碼圖像匹配的密鑰才能進行解密,並且解密時只有明確了Z映射算法的具體公式才能解密成功,由於Z映射算法複雜度高,且對密鑰的初始值與起始參數有很高的敏感性,增大了解密難度,提高了二維碼信息的安全性。

在一個實施例中,如圖9所示,步驟S330包括:

步驟S331,根據密鑰採用Z映射算法生成混沌密鑰序列。

具體的,混沌密鑰序列是一維序列,將根據初始值Z和起始參數x0採用Z映射算法生成的各個xn值中選取目標xn並按照預設順序排序生成混沌密鑰序列。此時只需要記錄各個目標xn與一維的混沌密鑰序列之間的位置關係,比記錄目標xn與二維的矩陣之間的位置關係更方便。混沌密鑰序列的長度與加密二值矩陣中元素的個數相同,如加密二值矩陣的維度為M×N,則混沌密鑰序列的長度為M×N。

步驟S332,將混沌密鑰序列轉化為一維二值密鑰序列。

具體的,將混沌密鑰序列中的各個目標xn按照自定義算法變換為符合條件的二值範圍內的值,變換時可根據變換個數進行並行變換,提高轉化為一維二值密鑰序列的速度。

步驟S333,將一維二值密鑰序列轉化為二維密鑰矩陣。

具體的,首先申請一個與加密二值矩陣相同長度和寬度的二維數組來保存二維密鑰矩陣,如M×N的二維數組,然後順序讀取一維二值密鑰序列的元素保存到二維數組中,每當保存完M個元素時,就換行繼續保存,直到一維數組的元素全部保存至M×N的二維數組中,則此二維數組為二維密鑰矩陣。由於在步驟S231中目標xn是按照預設順序排序生成混沌密鑰序列的,所以此時只需順序讀取即可,不需要記錄一維二值密鑰序列與二維密鑰矩陣之間元素的位置關係。可以理解的是,也可以再設置一個位置轉化數組,在生成二維密鑰矩陣時不按順序讀取一維二值密鑰序列中的元素,而是按照位置轉化數組的順序讀取。

本實施例中,先生成一維序列,再將一維序列轉化為二維矩陣,使得記錄元素與矩陣間的位置關係時更方便,能快速生成二維密鑰矩陣。

在一個實施例中,步驟S331包括:根據公式和密鑰計算得到由xn組成的混沌密鑰序列[xb,xb+1…xb+M×N-1],其中x0為起始參數,b≤n≤b+M×N-1,0≤b,M為所述二值矩陣的長度,N為所述二值矩陣的寬度。

具體的,根據初始值Z和起始參數x0生成的各個xn值中選取按計算順序生成的連續M×N個目標xn並按照計算順序排序生成混沌密鑰序列,由於QR碼的長 度和寬度一般相同,所以QR碼的二值矩陣的長度和寬度也相同,對於QR碼一般M=N。。由於是按照計算順序排列各個目標xn,不需要記錄各個目標xn與一維的混沌密鑰序列之間的位置關係,只需要記錄起始目標xn的起始序號n即可,更方便。

步驟S332包括:根據公式其中0<a<1,將混沌密鑰序列[xb,xb+1…xb+M×N-1]轉化為一維二值密鑰序列[yb,yb+1…yb+M×N-1]。

具體的,將各個目標xn根據其大小按照公式轉化為0或1,從而生成由0和1組成的二值密鑰序列[yb,yb+1…yb+M×N-1],優先的a取值為0.5。

步驟S333包括:根據預設轉化規則將一維二值密鑰序列[yb,yb+1…yb+M×N-1]轉化為M×N的二維密鑰矩陣。

具體的,可按順序依次讀取一維二值密鑰序列[yb,yb+1…yb+M×N-1]中的各個元素生成M×N的二維密鑰矩陣,也可設置位置轉化數組,在生成二維密鑰矩陣時不按順序讀取一維二值密鑰序列中的元素,而是按照位置轉化數組的順序讀取。

在一個實施例中,初始值Z的二進位位數大於第一預設閾值,起始參數的小數點位數大於第二預設閾值。

具體的,第一預設閾值和第二預設閾值可根據需要自定義,且第一預設閾值和/或第二預設閾值可根據二維碼圖像和/或終端的處理能力調整。優先的,第一預設閾值為5位,第二預設閾值為5位,可以設置初始值Z的二進位位數為偶數,起始參數x0的小數點位數為偶數便於根據公式進行開方運算和計算機存儲。如圖所示,對於選取Z=1111111111,x0=0.1111111111為初值,混沌密鑰序列[xb,xb+1…xb+M×N-1]中b=0,由和公式產生的混沌密鑰序列對如圖6所示的QR碼,其中QR碼攜帶的內容為Test,像素為181×181,進行加密後生成的如圖7所示的加密二維 碼圖進行解密後得到如圖10所示的解密後的二維碼圖像。通過對照可知在初值正確,解密算法正確的情況下得到了正確的解碼圖像,與原始未加密的二維碼圖像相同。

另外,通過選取不同的初始值與起始參數對加解密性能進行了分析,即使加密密鑰和解密密鑰的輕微差別也會導致解密失敗,證明了二值二維碼圖像加密的方法的可靠性和安全性。當加密初值為Z=1111111111,x0=0.1111111111;解密初值為Z=1111111112,x0=0.1111111111,時解密圖7後的效果圖如圖11。當加密初值為Z=1111111111,x0=0.1111111111,解密初值為Z=1111111111,x0=0.1111111112時解密圖7後的效果圖如圖12。而當加密初值Z=1111111111,x0=0.1111111111,解密初值為Z=1111111110,x0=0.1111111112時解密圖7後的效果圖如圖13,可見初值的微小差別也會導致解密出的二維碼圖像與原始圖像不同。

另外,對加解密的時間效率進行了統計,採用Z和x0均為10位的密鑰,加密密文為Test,選取不同版本的QR碼進行加解密後的平均時間如表1所示:

表1

由表1可以看出,利用Z映射進行QR碼加解密的時間基本相同,加解密的時間隨QR碼版本的遞增而變長。最大版本,即Version40的加解密時間最長,因 為Version40有177×177個黑白色塊,生成二值矩陣會花費更大的代價。常用的QR碼版本為Version7,雖然只有45×45個黑白色塊,但是已經可以滿足信息的傳遞,平均加解密時間只有約0.3S,所以該加解密方法的實用性也很強。對於破解該加解密算法的時間複雜度進行了分析,選取最小版本Version1版本的QR碼,除去用於定位功能模塊的像素點,採用暴力破解的方式也需要嘗試約2220×0.028秒,約3.2×1059天,並且即使QR碼採用了糾錯碼,解密難度仍很大。而破解2個初值長度為10位的密鑰對也需要約1020×0.004秒,約4.3×1012天的時間,由破解密鑰時間複雜度可以看出,該方法的安全性很高。

在一個實施例中,如圖14所示,提供了一種二值二維碼圖像加密的裝置,包括:

處理模塊410,用於獲取二維碼圖像,根據二維碼圖像生成二值矩陣,獲取密鑰,密鑰包括初始值Z和起始參數,其中初始值Z大於1,起始參數在0和1之間。

二維密鑰矩陣生成模塊420,用於根據密鑰採用Z映射算法生成與二值矩陣匹配的二維密鑰矩陣。

加密模塊430,用於將二值矩陣的元素和二維密鑰矩陣的元素一一對應進行異或得到加密後的二維碼圖像。

在一個實施例中,如圖15所示,二維密鑰矩陣生成模塊420包括:

混沌密鑰序列生成單元421,用於根據密鑰採用Z映射算法生成混沌密鑰序列。

一維二值密鑰序列生成單元422,用於將混沌密鑰序列轉化為一維二值密鑰序列。

二維密鑰矩陣生成單元423,用於將一維二值密鑰序列轉化為二維密鑰矩陣。

在一個實施例中,混沌密鑰序列生成單元421還用於根據公式和密鑰計算得到由xn組成的混沌密鑰序列[xb,xb+1…xb+M×N-1],其中x0為所述起始參數,b≤n≤b+M×N-1,0≤b,M為所述二值矩陣的長度,N為所述二值矩陣的寬度。

一維二值密鑰序列生成單元422還用於根據公式其中0<a<1,將混沌密鑰序列[xb,xb+1…xb+M×N-1]轉化為一維二值密鑰序列[yb,yb+1…yb+M×N-1]。

二維密鑰矩陣生成單元423還用於根據預設轉化規則將一維二值密鑰序列[yb,yb+1…yb+M×N-1]轉化為M×N的二維密鑰矩陣。

在一個實施例中,初始值Z的二進位位數大於第一預設閾值,起始參數的小數點位數大於第二預設閾值。

在一個實施例中,如圖16所示,提供了一種二值二維碼圖像解密的裝置,包括:

解密處理模塊510,用於獲取加密的二維碼圖像,根據所述加密的二維碼圖像生成加密二值矩陣,獲取加密的二維碼圖像匹配的密鑰,密鑰包括初始值Z和起始參數,其中初始值Z大於1,起始參數在0和1之間。

解密二維密鑰矩陣生成模塊520,用於根據密鑰採用Z映射算法生成與加密二值矩陣匹配的二維密鑰矩陣。

解密模塊530,用於將加密二值矩陣的元素和二維密鑰矩陣的元素一一對應進行異或得到解密後的二維碼圖像。

在一個實施例中,如圖17所示,解密二維密鑰矩陣生成模塊520包括:

解密混沌密鑰序列生成單元521,用於根據密鑰採用Z映射算法生成混沌密鑰序列。

解密一維二值密鑰序列生成單元522,用於將混沌密鑰序列轉化為一維二值密鑰序列。

解密二維密鑰矩陣生成單元523,用於將一維二值密鑰序列轉化為二維密鑰 矩陣。

在一個實施例中,解密混沌密鑰序列生成單元521還用於根據公式和密鑰計算得到由xn組成的混沌密鑰序列[xb,xb+1…xb+M×N-1],其中x0為起始參數,b≤n≤b+M×N-1,0≤b,M為二值矩陣的長度,N為二值矩陣的寬度。

解密一維二值密鑰序列生成單元522還用於根據公式其中0<a<1,將所述混沌密鑰序列[xb,xb+1…xb+M×N-1]轉化為一維二值密鑰序列[yb,yb+1…yb+M×N-1]。

解密二維密鑰矩陣生成單元523還用於根據預設轉化規則將所述一維二值密鑰序列[yb,yb+1…yb+M×N-1]轉化為M×N的二維密鑰矩陣。

在一個實施例中,初始值Z的二進位位數大於第一預設閾值,起始參數的小數點位數大於第二預設閾值。

本領域普通技術人員可以理解實現上述實施例方法中的全部或部分流程,是可以通過電腦程式來指令相關的硬體來完成,所述程序可存儲於一計算機可讀取存儲介質中,如本發明實施例中,該程序可存儲於計算機系統的存儲介質中,並被該計算機系統中的至少一個處理器執行,以實現包括如上述各方法的實施例的流程。其中,所述存儲介質可為磁碟、光碟、只讀存儲記憶體(Read-Only Memory,ROM)或隨機存儲記憶體(Random Access Memory,RAM)等。

以上所述實施例的各技術特徵可以進行任意的組合,為使描述簡潔,未對上述實施例中的各個技術特徵所有可能的組合都進行描述,然而,只要這些技術特徵的組合不存在矛盾,都應當認為是本說明書記載的範圍。

以上所述實施例僅表達了本發明的幾種實施方式,其描述較為具體和詳細,但並不能因此而理解為對發明專利範圍的限制。應當指出的是,對於本領域的普通技術人員來說,在不脫離本發明構思的前提下,還可以做出若干變形和改 進,這些都屬於本發明的保護範圍。因此,本發明專利的保護範圍應以所附權利要求為準。

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀