本發(fā)明屬于光學加密和解密技術領域,尤其涉及一種基于光學加密和解密技術的圖像加密和解密方法及裝置。
背景技術:
信息加密技術可以對電子信息在傳輸和儲存過程中進行保護,防止泄露給非法使用者。其中光學加密技術具有高并行性、高速度和多加密參數(shù)等優(yōu)點,有望在未來的加密技術領域占據(jù)一席之地。對于一幅圖像,常見的光學加密技術包括:雙隨機相位加密(DRPE,Double Random Phase Encoding),基于分數(shù)傅里葉變換(FFT,fractional Fourier transform)的雙隨機相位加密,波長多路復用加密和基于相位截斷的非對稱加密等。
但是現(xiàn)有技術中的光學加密技術均有一個缺點:通過上述的光學加密技術之后,再解密出原圖像均會受到斑點噪聲的嚴重干擾,進而影響解密出的圖像的清晰度。
技術實現(xiàn)要素:
本發(fā)明提供一種基于光學加密和解密技術的圖像加密和解密方法及裝置,旨在解決因通過現(xiàn)有的光學加密技術解密出的圖像受到斑點噪聲的嚴重干擾,進而影響解密出的圖像的清晰度的問題。
本發(fā)明提供的一種基于光學加密和解密技術的圖像加密方法,包括:將待加密圖像轉換成二進制序列碼;按照預置的轉換序列規(guī)則,將所述二進制序列碼轉換成十進制序列碼;按照所述十進制序列碼中首位到末位的順序,將所述十進制序列碼劃分為多個片段,并設置所述多個片段中每一片段的容量均小于或者等于單個二維碼的最大容量;將所述片段轉換成與所述片段對應的二維碼,并將所述二維碼進行光學加密,以使已加密的二維碼通過光學解密還原為所述待加密圖像。
本發(fā)明提供的一種基于光學加密和解密技術的圖像解密方法,包括:將待解密二維碼進行光學解密,得到已解密的二維碼,并將所述已解密的二維碼轉換為包含有十進制數(shù)碼的片段;按照所述已解密的二維碼中預置的片段序號,將轉換后的片段進行排列,以生成十進制序列碼;按照預置的轉換序列規(guī)則,將所述十進制序列碼轉換成二進制序列碼;并將已轉換的二進制序列碼還原為圖像。
本發(fā)明提供的一種基于光學加密和解密技術的圖像加密裝置,包括:轉換模塊用于將待加密圖像轉換成二進制序列碼;所述轉換模塊,還用于按照預置的轉換序列規(guī)則,將所述二進制序列碼轉換成十進制序列碼;劃分模塊用于按照所述十進制序列碼中首位到末位的順序,將所述十進制序列碼劃分為多個片段,并設置所述多個片段中每一片段的容量均小于或者等于單個二維碼的最大容量;所述轉換模塊還用于將所述片段轉換成與所述片段對應的二維碼,并將所述二維碼進行光學加密,以使已加密的二維碼通過光學解密還原為所述待加密圖像。
本發(fā)明提供的一種基于光學加密和解密技術的圖像解密裝置,包括:轉換模塊用于將待解密二維碼進行光學解密,得到已解密的二維碼,并將所述已解密的二維碼轉換為包含有十進制數(shù)碼的片段;生成模塊用于按照所述已解密的二維碼中預置的片段序號,將轉換后的片段進行排列,以生成十進制序列碼;所述轉換模塊用于按照預置的轉換序列規(guī)則,將所述十進制序列碼轉換成二進制序列碼;還原模塊用于將已轉換的二進制序列碼還原為圖像。
本發(fā)明提供的基于光學加密和解密技術的圖像加密和解密方法及裝置,將待加密圖像轉換成二進制序列碼,按照預置的轉換序列規(guī)則,將該二進制序列碼轉換成十進制序列碼,按照該十進制序列碼中首位到末位的順序,將該十進制序列碼劃分為多個片段,并設置該多個片段中每一片段的容量均小于或者等于單個二維碼的最大容量,將該片段轉換成與該片段對應的二維碼,并將該二維碼進行光學加密,以使已加密的二維碼通過光學解密還原為該待加密圖像,這樣將二維碼作為圖像的載體,再對該二維碼進行光學加密,可以防止通過光學解密還原出的圖像受到斑點噪聲的干擾,進而使得解密出的圖像更加清晰完整。
附圖說明
為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術中的技術方案,下面將對實施例或現(xiàn)有技術描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例。
圖1是本發(fā)明第一實施例提供的基于光學加密和解密技術的圖像加密方法的實現(xiàn)流程示意圖;
圖2是本發(fā)明第二實施例提供的基于光學加密和解密技術的圖像加密方法的實現(xiàn)流程示意圖;
圖3是由圖像轉換為二維碼過程的示意圖;
圖4是本發(fā)明第三實施例提供的基于光學加密和解密技術的圖像解密方法的實現(xiàn)流程示意圖;
圖5是圖3中圖像加密方法對應的圖像解密方法的示意圖;
圖6是本發(fā)明第四實施例提供的基于光學加密和解密技術的圖像加密裝置的結構示意圖;
圖7是本發(fā)明第五實施例提供的基于光學加密和解密技術的圖像加密裝置的結構示意圖;
圖8是本發(fā)明第六實施例提供的基于光學加密和解密技術的圖像解密裝置的結構示意圖。
具體實施方式
為使得本發(fā)明的發(fā)明目的、特征、優(yōu)點能夠更加的明顯和易懂,下面將結合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而非全部實施例。基于本發(fā)明中的實施例,本領域技術人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。
請參閱圖1,圖1為本發(fā)明第一實施例提供基于光學加密和解密技術的圖像加密方法的實現(xiàn)流程示意圖,可應用于光學加密和解密系統(tǒng)中,圖1所示的圖像加密方法,主要包括以下步驟:
S101、將待加密圖像轉換成二進制序列碼。
該待加密圖像為灰度圖像,也可以為彩色圖像。在計算機中,任何存儲格式的待加密圖像均可以轉換為二進制序列碼,該待加密圖像的存儲格式可以為位圖文件(BMP,Bitmap)格式,也可以為個人電腦交換(PCX,Personal Computer Exchange)格式,也可以為圖形交換格式(GIF,Graphics Interchange Format)格式,還可以為聯(lián)合照片專家組(JPEG,Joint Photographic Expert Group)格式,還可以為其他存儲格式,此處不做贅述。
S102、按照預置的轉換序列規(guī)則,將該二進制序列碼轉換成十進制序列碼。
S103、按照該十進制序列碼中首位到末位的順序,將該十進制序列碼劃分為多個片段,并設置該多個片段中每一片段的容量均小于或者等于單個二維碼的最大容量。
每個片段均包含有多個十進制數(shù)碼。該最大容量為固有參數(shù),不同種類的二維碼具有不同的最大容量。例如,單個傳統(tǒng)二維碼的最大容量為1167數(shù)字,單個微小二維碼(Micro QR Code)的最大容量為35個數(shù)字。
S104、將該片段轉換成與該片段對應的二維碼,并將該二維碼進行光學加密,以使已加密的二維碼通過光學解密還原為該待加密圖像。
一個片段對應轉換成一個二維碼。生成的二維碼均需要進行光學加密,以得到已加密的二維碼。
本發(fā)明實施例中,將待加密圖像轉換成二進制序列碼;按照預置的轉換序列規(guī)則,將該二進制序列碼轉換成十進制序列碼,按照該十進制序列碼中首位到末位的順序,將該十進制序列碼劃分為多個片段,并設置該多個片段中每一片段的容量均小于或者等于單個二維碼的最大容量,將該片段轉換成與該片段對應的二維碼,并將該二維碼進行光學加密,以使已加密的二維碼通過光學解密還原為該待加密圖像,這樣將二維碼作為圖像的載體,再對該二維碼進行光學加密,可以防止通過光學解密還原出的圖像受到斑點噪聲的干擾,進而使得解密出的圖像更加清晰完整。
請參閱圖2,圖2為本發(fā)明第二實施例提供的基于光學加密和解密技術的圖像加密方法的實現(xiàn)流程示意圖,可應用于光學加密和解密系統(tǒng)中,圖2所示的基于光學加密和解密技術的圖像加密方法,主要包括以下步驟:
S201、將待加密圖像轉換成二進制序列碼。
該待加密圖像為灰度圖像。在計算機中,任何存儲格式的待加密圖像均可以轉換為二進制序列碼,該待加密圖像的存儲格式可以為BMP格式,也可以為PCX格式,也可以為GIF格式,還可以為JPEG格式,還可以為其他存儲格式,此處不做贅述。
S202、按照預置順序從該二進制序列碼中未轉換成十進制數(shù)碼的二進制數(shù)碼開始提取四個比特。
該預置順序為該二進制序列碼中首位到末位的排列順序。例如,S201中由圖像轉換成的二進制序列碼為10010101111000,則該二進制序列碼的首位為位于整個序列最左側的二進制數(shù)碼1,該二進制序列碼的末位為位于整個序列最右側的二進制數(shù)碼0,從該二進制序列碼中提取的四個比特為1001。
S203、通過該四個比特的數(shù)值確定將二進制數(shù)碼轉換成十進制數(shù)碼的方式。
可選地,通過該四個比特的數(shù)值確定將二進制數(shù)碼轉換成十進制數(shù)碼的方式具體為:
若該四個比特為1000或1001,則依據(jù)預置的二進制轉十進制規(guī)則,將為1000的該四個比特轉換為十進制數(shù)碼8,或將為1001的該四個比特轉換為十進制數(shù)碼9;
若該四個比特既非1000也非1001,則重新按照該預置順序從該二進制序列碼中未轉換成十進制數(shù)碼的二進制數(shù)碼開始提取三個比特,并依據(jù)該二進制轉十進制規(guī)則將該三個比特轉換為十進制數(shù)碼。
預置的二進制轉十進制規(guī)則為:二進制數(shù)碼1000轉換為十進制數(shù)碼8、二進制數(shù)碼1001轉換為十進制數(shù)碼9,二進制數(shù)碼000轉換為十進制數(shù)碼0,二進制數(shù)碼001轉換為十進制數(shù)碼1,二進制數(shù)碼010轉換為十進制數(shù)碼2,二進制數(shù)碼011轉換為十進制數(shù)碼3,二進制數(shù)碼100轉換為十進制數(shù)碼4,二進制數(shù)碼101轉換為十進制數(shù)碼5,二進制數(shù)碼110轉換為十進制數(shù)碼6,二進制數(shù)碼111轉換為十進制數(shù)碼7。
S204、繼續(xù)執(zhí)行提取四個比特的過程,直至該二進制序列碼中所有二進制數(shù)碼均轉換成十進制數(shù)碼。
以二進制序列碼10010101111000為例進行說明步驟S202-步驟S203,首先按照預置順序從序列中提取未轉換的四個比特1001,并直接將1001轉換成十進制數(shù)碼9;繼續(xù)按照預置順序提取未轉換的四個比特0101,該四個比特既不是1000也不是1001,那么按照預置順序重新提取未轉換的三個比特010,并將010轉換為十進制數(shù)碼2;然后繼續(xù)按照預置順序從序列中提取未轉換的四個比特1111,該四個比特既不是1000也不是1001,那么按照預置順序重新提取未轉換的三個比特111,并將111轉換為十進制數(shù)碼7;再繼續(xù)按照預置順序從序列中提取未轉換的四個比特1000,并直接將1000轉換為十進制數(shù)碼8。
S205、按照轉換的前后順序對得到的十進制數(shù)碼進行排列,得到該十進制序列碼。
按照轉換的前后順序是將先轉換得到的十進制數(shù)碼排列在前面,后轉換得到的十進制數(shù)碼排列在后面,例如,以上述步驟S204中轉換得到的十進制數(shù)碼為例,按照轉換的前后順序進行排列得到的十進制序列碼為:9278。
S206、按照該十進制序列碼中首位到末位的順序,將該十進制序列碼劃分為多個片段,并設置該多個片段中每一片段的容量均小于或者等于單個二維碼的最大容量。
每個片段包含多個十進制數(shù)碼。十進制序列碼中首位到末位的順序與二進制序列碼中首位到末位的順序兩者之間的方向是一致的,例如,十進制序列碼為9278,則十進制序列碼的首位為9,末位為8。每個片段的容量必須小于或者等于單個二維碼的最大容量,例如,假設單個二維碼的最大容量為2個數(shù)字,十進制序列碼為9278,則劃分的兩個片段分別為:片段A中包括9和2,片段B中包括7和8;假設單個二維碼的最大容量是3個數(shù)字,則共有兩種劃分方式,第一種劃分方式為:片段A中包括9和2,片段B中包括7和8;第二種劃分方式為:片段A中包括9、2和7,片段B中包括8。
S207、將該片段轉換成與該片段對應的二維碼,并將該二維碼進行光學加密,以使已加密的二維碼通過光學解密還原為該待加密圖像。
S208、按照該十進制序列碼中各十進制數(shù)碼的排列順序,對每個片段對應的二維碼插入預置的片段序號,以使在解密時將劃分的片段按照該片段序號還原十進制序列碼。
一個片段對應轉換為一個二維碼。片段序號是用于表示片段排列的前后順序。該片段序號可以是以數(shù)字的形式表示,如1、2、3….N,數(shù)字越小,排列越往前,該片段序號也可以使用羅馬數(shù)字,還可以自定義帶有排列順序的字符。例如,十進制序列碼為9278,片段A中包括9和2,片段B中包括7和8,則片段A的片段序號為1,片段B的片段序號為2,那么片段A排列在前面,片段B排列在后面。通過片段序號可以確保在解密時由片段生成的十進制序列碼中各數(shù)碼的順序與加密時的十進制序列碼中各數(shù)碼的順序一致。
圖3為由圖像轉換為二維碼過程的示意圖。如圖3所示,下面以一個實際例子對上述步驟S201-步驟S208進行說明,具體如下:
步驟1:將待加密圖像轉換為001110100010011110110010010001000的二進制序列碼;
步驟2:按照預置順序從該二進制序列碼中未轉換成十進制數(shù)碼的二進制數(shù)碼開始提取四個比特0011;
步驟3:該四個比特既非1000也非1001,則重新按照該預置順序從該二進制序列碼中未轉換成十進制數(shù)碼的二進制數(shù)碼開始提取三個比特001,并依據(jù)該進制轉十進制規(guī)則將該個比特轉換為十進制數(shù)碼1;
步驟4:繼續(xù)執(zhí)行步驟1,提取到的四個比特為1101,然后執(zhí)行步驟3,重新提取到的三個比特為110,并將110轉換為十進制數(shù)碼6;
步驟5:繼續(xù)執(zhí)行步驟1,提取到的四個比特為1000,并直接將1000轉換為十進制數(shù)碼8;
步驟6:繼續(xù)執(zhí)行步驟1,提取到的四個比特為1001,并直接將1001轉換為十進制數(shù)碼9;
按照上述的過程將步驟1的二進制序列碼轉換為十進制序列碼1689731108;
假設二維碼的最大容量為4個數(shù)字,則將該十進制序列碼劃分成的三個片段分別為片段1、片段2和片段3,其中片段1中包括1689,片段2中包括7311,片段3中包括08,滿足每個片段均小于單個二維碼的最大容量;
然后將片段1轉換為二維碼A,將片段2轉換為二維碼B,將片段3轉換為二維碼C,其中數(shù)字1、2和3為片段序號。
需要說明的是,上述劃分片段的方式僅僅是一個舉例,在滿足劃分出的每一片段均小于單個二維碼的最大容量的情況下,可以選擇其他劃分方式。
本發(fā)明實施例中,將待加密圖像轉換成二進制序列碼,按照預置順序從該二進制序列碼中未轉換成十進制數(shù)碼的二進制數(shù)碼開始提取四個比特,通過該四個比特的數(shù)值確定將二進制數(shù)碼轉換成十進制數(shù)碼的方式,繼續(xù)執(zhí)行提取四個比特的過程,直至該二進制序列碼中所有二進制數(shù)碼均轉換成十進制數(shù)碼,按照轉換的前后順序對得到的十進制數(shù)碼進行排列,得到該十進制序列碼,按照該十進制序列碼中首位到末位的順序,將該十進制序列碼劃分為多個片段,并設置該多個片段中每一片段的容量均小于或者等于單個二維碼的最大容量,將該片段轉換成與該片段對應的二維碼,并將該二維碼進行光學加密,以使已加密的二維碼通過光學解密還原為該待加密圖像,按照該十進制序列碼中各十進制數(shù)碼的排列順序,對每個片段對應的二維碼插入預置的片段序號,以使在解密時將劃分的片段按照該片段序號還原十進制序列碼,這樣將二維碼作為圖像的載體,再對該二維碼進行光學加密,可以防止通過光學解密還原出的圖像受到斑點噪聲的干擾,進而使得解密出的圖像更加清晰完整。
請參閱圖4,圖4為本發(fā)明第三實施例提供基于光學加密和解密技術的圖像解密方法的實現(xiàn)流程示意圖,可應用于光學加密和解密系統(tǒng)中,圖4所示的基于光學加密和解密技術的圖像解密方法,主要包括以下步驟:
S401、將待解密二維碼進行光學解密,得到已解密的二維碼,并將該已解密的二維碼轉換為包含有十進制數(shù)碼的片段。
S402、按照該已解密的二維碼中預置的片段序號,將轉換后的片段進行排列,以生成十進制序列碼。
S403、按照預置的轉換序列規(guī)則,將該十進制序列碼轉換成二進制序列碼;
S404、將已轉換的二進制序列碼還原為圖像。
該步驟S401-步驟S404的解密方法與上述圖1和圖2所示的實施例中圖像加密方法對應,相關內容請參照上述的圖1和圖2實施例的描述,此處不再贅述。
圖5為與圖3中圖像加密方法對應的圖像解密方法的示意圖。
本發(fā)明實施例中,將待解密二維碼進行光學解密,得到已解密的二維碼,并將該已解密的二維碼轉換為包含有十進制數(shù)碼的片段,按照該已解密的二維碼中預置的片段序號,將轉換后的片段進行排列,以生成十進制序列碼,按照預置的轉換序列規(guī)則,將該十進制序列碼轉換成二進制序列碼,將已轉換的二進制序列碼還原為圖像,這樣先對二維碼進行光學解密,再將已解密的二維碼還原出圖像可以防止斑點噪聲的干擾,進而使得解密出的圖像更加清晰完整,同時利用片段序號可以更加準確的將片段還原成加密時的十進制序列碼。
請參閱圖6,圖6是本發(fā)明第四實施例提供的基于光學加密和解密技術的圖像加密裝置的結構示意圖,為了便于說明,僅示出了與本發(fā)明實施例相關的部分。圖6示例的基于光學加密和解密技術的圖像加密裝置可以是前述圖1和圖2所示實施例提供的基于光學加密和解密技術的圖像加密方法的執(zhí)行主體。圖6示例的基于光學加密和解密技術的圖像加密裝置,主要包括:轉換模塊601和劃分模塊602。以上各功能模塊詳細說明如下:
轉換模塊601,用于將待加密圖像轉換成二進制序列碼;
轉換模塊601,還用于按照預置的轉換序列規(guī)則,將該二進制序列碼轉換成十進制序列碼;
劃分模塊602,用于按照該十進制序列碼中首位到末位的順序,將該十進制序列碼劃分為多個片段,并設置該多個片段中每一片段的容量均小于或者等于單個二維碼的最大容量;
轉換模塊601,還用于將該片段轉換成與該片段對應的二維碼,并將該二維碼進行光學加密,以使已加密的二維碼通過光學解密還原為該待加密圖像。
本實施例未盡之細節(jié),請參閱前述圖1所示實施例的描述,此處不再贅述。
本發(fā)明實施例中,轉換模塊601將待加密圖像轉換成二進制序列碼,并按照預置的轉換序列規(guī)則,將該二進制序列碼轉換成十進制序列碼,劃分模塊602按照該十進制序列碼中首位到末位的順序,將該十進制序列碼劃分為多個片段,并設置該多個片段中每一片段的容量均小于或者等于單個二維碼的最大容量,然后轉換模塊601將該片段轉換成與該片段對應的二維碼,并將該二維碼進行光學加密,以使已加密的二維碼通過光學解密還原為該待加密圖像,這樣將二維碼作為圖像的載體,再對該二維碼進行光學加密,可以防止通過光學解密還原出的圖像受到斑點噪聲的干擾,進而使得解密出的圖像更加清晰完整。
需要說明的是,以上圖6示例的基于光學加密和解密技術的圖像加密裝置的實施方式中,各功能模塊的劃分僅是舉例說明,實際應用中可以根據(jù)需要,例如相應硬件的配置要求或者軟件的實現(xiàn)的便利考慮,而將上述功能分配由不同的功能模塊完成,即將基于光學加密和解密技術的圖像加密裝置的內部結構劃分成不同的功能模塊,以完成以上描述的全部或者部分功能。而且,實際應用中,本實施例中的相應的功能模塊可以是由相應的硬件實現(xiàn),也可以由相應的硬件執(zhí)行相應的軟件完成。本說明書提供的各個實施例都可應用上述描述原則,以下不再贅述。
請參閱圖7,圖7為本發(fā)明第五實施例提供的基于光學加密和解密技術的圖像加密裝置的結構示意圖,為了便于說明,僅示出了與本發(fā)明實施例相關的部分。圖7示例的基于光學加密和解密技術的圖像加密裝置可以是前述圖1和圖2所示實施例提供的基于光學加密和解密技術的圖像加密方法的執(zhí)行主體。圖7示例的基于光學加密和解密技術的圖像加密裝置,主要包括:轉換模塊701、劃分模塊702和設置模塊703,其中轉換模塊701包括:提取模塊7011、確定模塊7012、執(zhí)行模塊7013和排列模塊7014;確定模塊7012包括:轉換子模塊70121。以上各功能模塊詳細說明如下:
轉換模塊701,用于將待加密圖像轉換成二進制序列碼。
該待加密圖像為灰度圖像。在計算機中,任何存儲格式的待加密圖像均可以轉換為二進制序列碼,該待加密圖像的存儲格式可以為BMP格式,也可以為PCX格式,也可以為GIF格式,還可以為JPEG格式,還可以為其他存儲格式,此處不做贅述。
轉換模塊701包括:提取模塊7011、確定模塊7012、執(zhí)行模塊7013和排列模塊7014;確定模塊7012包括:轉換子模塊70121。
提取模塊7011,用于按照預置順序從該二進制序列碼中未轉換成十進制數(shù)碼的二進制數(shù)碼開始提取四個比特。
該預置順序為該二進制序列碼中首位到末位的排列順序。例如,S201中由圖像轉換成的二進制序列碼為10010101111000,則該二進制序列碼的首位為位于整個序列最左側的二進制數(shù)碼1,該二進制序列碼的末位為位于整個序列最右側的二進制數(shù)碼0,從該二進制序列碼中提取的四個比特為1001。
確定模塊7012,用于通過該四個比特的數(shù)值確定將二進制數(shù)碼轉換成十進制數(shù)碼的方式。
可選地,確定模塊7012包括:轉換子模塊70121。
轉換子模塊70121,用于若該四個比特為1000或1001,則依據(jù)預置的二進制轉十進制規(guī)則,將為1000的該四個比特轉換為十進制數(shù)碼8,或將為1001的該四個比特轉換為十進制數(shù)碼9;
轉換子模塊70121,還用于若該四個比特既非1000也非1001,則重新按照該預置順序從該二進制序列碼中未轉換成十進制數(shù)碼的二進制數(shù)碼開始提取三個比特,并依據(jù)該二進制轉十進制規(guī)則將該三個比特轉換為十進制數(shù)碼。
預置的二進制轉十進制規(guī)則為:二進制數(shù)碼1000轉換為十進制數(shù)碼8、二進制數(shù)碼1001轉換為十進制數(shù)碼9,二進制數(shù)碼000轉換為十進制數(shù)碼0,二進制數(shù)碼001轉換為十進制數(shù)碼1,二進制數(shù)碼010轉換為十進制數(shù)碼2,二進制數(shù)碼011轉換為十進制數(shù)碼3,二進制數(shù)碼100轉換為十進制數(shù)碼4,二進制數(shù)碼101轉換為十進制數(shù)碼5,二進制數(shù)碼110轉換為十進制數(shù)碼6,二進制數(shù)碼111轉換為十進制數(shù)碼7。
執(zhí)行模塊7013,用于繼續(xù)執(zhí)行提取四個比特的過程,直至該二進制序列碼中所有二進制數(shù)碼均轉換成十進制數(shù)碼。
以二進制序列碼10010101111000為例進行說明步驟S202-步驟S203,首先按照預置順序從序列中提取未轉換的四個比特1001,并直接將1001轉換成十進制數(shù)碼9;繼續(xù)按照預置順序提取未轉換的四個比特0101,該四個比特既不是1000也不是1001,那么按照預置順序重新提取未轉換的三個比特010,并將010轉換為十進制數(shù)碼2;然后繼續(xù)按照預置順序從序列中提取未轉換的四個比特1111,該四個比特既不是1000也不是1001,那么按照預置順序重新提取未轉換的三個比特111,并將111轉換為十進制數(shù)碼7;再繼續(xù)按照預置順序從序列中提取未轉換的四個比特1000,并直接將1000轉換為十進制數(shù)碼8。
排列模塊7014,用于按照轉換的前后順序對得到的十進制數(shù)碼進行排列,得到該十進制序列碼。
按照轉換的前后順序是將先轉換得到的十進制數(shù)碼排列在前面,后轉換得到的十進制數(shù)碼排列在后面,例如,以上述步驟S204中轉換得到的十進制數(shù)碼為例,按照轉換的前后順序進行排列得到的十進制序列碼為:9278。
劃分模塊702,用于按照該十進制序列碼中首位到末位的順序,將該十進制序列碼劃分為多個片段,并設置該多個片段中每一片段的容量均小于或者等于單個二維碼的最大容量。
每個片段包含多個十進制數(shù)碼。十進制序列碼中首位到末位的順序與二進制序列碼中首位到末位的順序兩者之間的方向是一致的,例如,十進制序列碼為9278,則十進制序列碼的首位為9,末位為8。每個片段的容量必須小于或者等于單個二維碼的最大容量,例如,假設單個二維碼的最大容量為2個數(shù)字,十進制序列碼為9278,則劃分的兩個片段分別為:片段A中包括9和2,片段B中包括7和8;假設單個二維碼的最大容量是3個數(shù)字,則共有兩種劃分方式,第一種劃分方式為:片段A中包括9和2,片段B中包括7和8;第二種劃分方式為:片段A中包括9、2和7,片段B中包括8。
轉換模塊701,用于將該片段轉換成與該片段對應的二維碼,并將該二維碼進行光學加密,以使已加密的二維碼通過光學解密還原為該待加密圖像。
設置模塊703,用于按照該十進制序列碼中各十進制數(shù)碼的排列順序,對每個片段對應的二維碼插入預置的片段序號,以使在解密時將劃分的片段按照該片段序號還原十進制序列碼。
一個片段對應轉換為一個二維碼。片段序號是用于表示片段排列的前后順序。該片段序號可以是以數(shù)字的形式表示,如1、2、3….N,數(shù)字越小,排列越往前,該片段序號也可以使用羅馬數(shù)字,還可以自定義帶有排列順序的字符。例如,十進制序列碼為9278,片段A中包括9和2,片段B中包括7和8,則片段A的片段序號為1,片段B的片段序號為2,那么片段A排列在前面,片段B排列在后面。通過片段序號可以確保在解密時由片段生成的十進制序列碼中各數(shù)碼的順序與加密時的十進制序列碼中各數(shù)碼的順序一致。
本實施例未盡之細節(jié),請參閱前述圖1和圖2所示實施例的描述,此處不再贅述。
本發(fā)明實施例中,轉換模塊701將待加密圖像轉換成二進制序列碼,提取模塊7011按照預置順序從該二進制序列碼中未轉換成十進制數(shù)碼的二進制數(shù)碼開始提取四個比特,確定模塊7012通過該四個比特的數(shù)值確定將二進制數(shù)碼轉換成十進制數(shù)碼的方式,執(zhí)行模塊7013繼續(xù)執(zhí)行提取四個比特的過程,直至該二進制序列碼中所有二進制數(shù)碼均轉換成十進制數(shù)碼,排列模塊7014按照轉換的前后順序對得到的十進制數(shù)碼進行排列,得到該十進制序列碼,劃分模塊702按照該十進制序列碼中首位到末位的順序,將該十進制序列碼劃分為多個片段,并設置該多個片段中每一片段的容量均小于或者等于單個二維碼的最大容量,轉換模塊701將該片段轉換成與該片段對應的二維碼,并將該二維碼進行光學加密,以使已加密的二維碼通過光學解密還原為該待加密圖像,設置模塊703按照該十進制序列碼中各十進制數(shù)碼的排列順序,對每個片段對應的二維碼插入預置的片段序號,以使在解密時將劃分的片段按照該片段序號還原十進制序列碼,這樣將二維碼作為圖像的載體,再對該二維碼進行光學加密,可以防止通過光學解密還原出的圖像受到斑點噪聲的干擾,進而使得解密出的圖像更加清晰完整。
請參閱圖8,圖8是本發(fā)明第六實施例提供的基于光學加密和解密技術的圖像解密裝置的結構示意圖,為了便于說明,僅示出了與本發(fā)明實施例相關的部分。圖8示例的基于光學加密和解密技術的圖像解密裝置可以是前述圖3所示實施例提供的基于光學加密和解密技術的圖像解密方法的執(zhí)行主體。圖8示例的基于光學加密和解密技術的圖像解密裝置,主要包括:轉換模塊801、生成模塊802和還原模塊803。以上各功能模塊詳細說明如下:
轉換模塊801,用于將待解密二維碼進行光學解密,得到已解密的二維碼,并將該已解密的二維碼轉換為包含有十進制數(shù)碼的片段;
生成模塊802,用于按照該已解密的二維碼中預置的片段序號,將轉換后的片段進行排列,以生成十進制序列碼;
轉換模塊801,用于按照預置的轉換序列規(guī)則,將該十進制序列碼轉換成二進制序列碼;
還原模塊803,用于并將已轉換的二進制序列碼還原為圖像。
本實施例未盡之細節(jié),請參閱前述圖1、圖2和圖3所示實施例的描述,此處不再贅述。
需要說明的是,本發(fā)明實施例中的基于光學加密和解密技術的圖像解密裝置與上述圖6和圖7所示的基于光學加密和解密技術的圖像加密裝置可以位于一個終端中,也可以位于不同的終端中。
本發(fā)明實施例中,轉換模塊801將待解密二維碼進行光學解密,得到已解密的二維碼,并將該已解密的二維碼轉換為包含有十進制數(shù)碼的片段,生成模塊802按照該已解密的二維碼中預置的片段序號,將轉換后的片段進行排列,以生成十進制序列碼,轉換模塊801按照預置的轉換序列規(guī)則,將該十進制序列碼轉換成二進制序列碼,還原模塊803將已轉換的二進制序列碼還原為圖像,這樣先對二維碼進行光學解密,再將已解密的二維碼還原出圖像可以防止斑點噪聲的干擾,進而使得解密出的圖像更加清晰完整,同時利用片段序號可以更加準確的將片段還原成加密時的十進制序列碼。
在本申請所提供的多個實施例中,應該理解到,所揭露的系統(tǒng)、裝置和方法,可以通過其它的方式實現(xiàn)。例如,以上所描述的裝置實施例僅僅是示意性的,例如,所述模塊的劃分,僅僅為一種邏輯功能劃分,實際實現(xiàn)時可以有另外的劃分方式,例如多個模塊或組件可以結合或者可以集成到另一個系統(tǒng),或一些特征可以忽略,或不執(zhí)行。另一點,所顯示或討論的相互之間的耦合或直接耦合或通信鏈接可以是通過一些接口,裝置或模塊的間接耦合或通信鏈接,可以是電性,機械或其它的形式。
所述作為分離部件說明的模塊可以是或者也可以不是物理上分開的,作為模塊顯示的部件可以是或者也可以不是物理模塊,即可以位于一個地方,或者也可以分布到多個網絡模塊上??梢愿鶕?jù)實際的需要選擇其中的部分或者全部模塊來實現(xiàn)本實施例方案的目的。
另外,在本發(fā)明各個實施例中的各功能模塊可以集成在一個處理模塊中,也可以是各個模塊單獨物理存在,也可以兩個或兩個以上模塊集成在一個模塊中。上述集成的模塊既可以采用硬件的形式實現(xiàn),也可以采用軟件功能模塊的形式實現(xiàn)。
所述集成的模塊如果以軟件功能模塊的形式實現(xiàn)并作為獨立的產品銷售或使用時,可以存儲在一個計算機可讀取存儲介質中?;谶@樣的理解,本發(fā)明的技術方案本質上或者說對現(xiàn)有技術做出貢獻的部分或者該技術方案的全部或部分可以以軟件產品的形式體現(xiàn)出來,該計算機軟件產品存儲在一個存儲介質中,包括若干指令用以使得一臺計算機設備(可以是個人計算機,服務器,或者網絡設備等)執(zhí)行本發(fā)明各個實施例所述方法的全部或部分步驟。而前述的存儲介質包括:U盤、移動硬盤、只讀存儲器(ROM,Read-Only Memory)、隨機存取存儲器(RAM,Random Access Memory)、磁碟或者光盤等各種可以存儲程序代碼的介質。
需要說明的是,對于前述的各方法實施例,為了簡便描述,故將其都表述為一系列的動作組合,但是本領域技術人員應該知悉,本發(fā)明并不受所描述的動作順序的限制,因為依據(jù)本發(fā)明,某些步驟可以采用其它順序或者同時進行。其次,本領域技術人員也應該知悉,說明書中所描述的實施例均屬于優(yōu)選實施例,所涉及的動作和模塊并不一定都是本發(fā)明所必須的。
在上述實施例中,對各個實施例的描述都各有側重,某個實施例中沒有詳述的部分,可以參見其它實施例的相關描述。
以上為對本發(fā)明所提供的基于光學加密和解密技術的圖像加密和解密方法及裝置的描述,對于本領域的技術人員,依據(jù)本發(fā)明實施例的思想,在具體實施方式及應用范圍上均會有改變之處,綜上,本說明書內容不應理解為對本發(fā)明的限制。