本發(fā)明涉及數(shù)字圖像,具體涉及一種加密圖像雙認證方法、系統(tǒng)、設(shè)備和介質(zhì)。
背景技術(shù):
1、當代社會中,數(shù)字圖像在各個領(lǐng)域中扮演著重要的角色。它們不僅用于個人生活中的拍攝和分享,還廣泛應用于商業(yè)、娛樂、醫(yī)療、安全等領(lǐng)域,給人們的生活帶來了便利和美好體驗。隨著技術(shù)的不斷進步,我們可以期待數(shù)字圖像在更多領(lǐng)域中發(fā)揮出更大的作用,創(chuàng)造更多的可能性。然而,隨著技術(shù)的不斷發(fā)展,數(shù)字圖像也面臨著一些新的問題和安全威脅,比如在圖片傳輸過程中容易受到篡改或偽造,導致信息的保密性、完整性和隱私性受到威脅。在很多應用場景下,如醫(yī)療,軍事,稀有藝術(shù)品對需要傳輸?shù)臄?shù)字圖像具有較高的要求,接收端收到的圖像不能有任何形式的失真。因此需要使用密碼學等安全技術(shù)來保障其在公共信道上的可靠傳輸。
2、信息隱藏就是利用數(shù)字媒體數(shù)據(jù)的冗余性,通過適當?shù)匦薷妮d體數(shù)據(jù),來實現(xiàn)信息嵌入,得到含密載體的一項技術(shù),可用于版權(quán)保護,身份驗證,秘密通訊等。基于圖像的數(shù)據(jù)隱藏研究也已經(jīng)有了很多成果,但在一些場合下,圖像自身或是其作為載體的非法泄露會對通信雙方造成極大的影響,比如在軍事、醫(yī)學等領(lǐng)域。因此人們意識到,除了傳輸秘密數(shù)據(jù),作為載體的數(shù)字圖像也需要被保護。可逆數(shù)據(jù)隱藏是數(shù)據(jù)隱藏的一個分支,強調(diào)以可逆的方式嵌入秘密數(shù)據(jù),并且允許接收方恢復原始圖像。部分方案也將可逆數(shù)據(jù)隱藏技術(shù)與認證技術(shù)相結(jié)合,可以保護醫(yī)學、軍事等特殊用途圖像的完整性。
3、近年來,為了保護載體圖像的安全性,研究學者們提出了大量以加密圖像作為載體的可逆數(shù)據(jù)隱藏算法,與傳統(tǒng)的信息隱藏技術(shù)相比,加密圖像數(shù)據(jù)隱藏既保護了圖像內(nèi)容的安全性,又可以實現(xiàn)數(shù)據(jù)的隱秘傳輸,然而密碼學方法不適用于圖像的完整性保護。
4、可見,現(xiàn)有技術(shù)中,基于信息隱藏的明文圖像認證算法可以實現(xiàn)對明文圖像的認證但缺少對其安全性的保護,加密圖像可逆數(shù)據(jù)隱藏技術(shù)雖然保護了圖像的安全性,但其生成的密文載體是否被篡改卻無法被界定,即數(shù)據(jù)或圖像的完整性無法被保證。
技術(shù)實現(xiàn)思路
1、基于此,有必要針對上述技術(shù)問題,提供一種加密圖像雙認證方法、系統(tǒng)、設(shè)備和介質(zhì)。
2、本發(fā)明采用下述技術(shù)方案:
3、本發(fā)明提供了一種加密圖像雙認證方法,包括:
4、獲取原始圖像,并對原始圖像進行預處理以生成預處理圖像;
5、使用商密算法對生成的預處理圖像進行加密得到加密圖像;
6、通過原始圖像的明文散列值和加密圖像的密文散列值分別對原始圖像和加密圖像進行簽名,形成認證信息,并將認證信息嵌入加密圖像生成含密圖像;
7、對含密圖像的密文散列值進行認證,以判斷加密圖像是否被篡改;
8、對認證通過的含密圖像進行解密,恢復出明文圖像,并對明文圖像的密文散列值進行認證,以確認明文圖像是否被正確恢復。
9、優(yōu)選地,所述使用商密算法對生成的預處理圖像進行加密得到加密圖像,具體包括:
10、將得到的預處理圖像先轉(zhuǎn)化為二進制序列,根據(jù)密鑰ke,使用zuc算法生成跟二進制序列長度相同的偽隨機比特序列,將圖像的二進制序列與偽隨機比特序列逐比特異或后得到加密的圖像序列,再將加密的圖像序列轉(zhuǎn)化為圖像,得到加密圖像。
11、優(yōu)選地,所述將認證信息嵌入加密圖像生成含密圖像,具體包括:
12、使用sm3算法對原始圖像和加密圖像的數(shù)據(jù)部分做處理,分別生成其明文散列值hash1和密文散列值hash2;發(fā)送端使用sm2公鑰算法生成一對公鑰pk和私鑰sk,使用私鑰sk分別對生成的明文散列值和密文散列值簽名得到認證信息sig1和認證信息sig2;根據(jù)數(shù)據(jù)大小找到認證部分的起始位置,通過逐比特替換將hash1,sig1和hash2,sig2嵌入加密圖像中生成含密圖像。
13、優(yōu)選地,所述對含密圖像的密文散列值進行認證,具體包括:
14、接收端從含密圖像中提取hash2和sig2,根據(jù)發(fā)送端的公鑰pk,使用sm2算法驗證簽名;若驗證不通過,直接判定認證失??;若簽名驗證通過則進行下一步;
15、接收端使用sm3算法計算含密圖像數(shù)據(jù)部分的密文散列值得到hash2,將其與hash2比較,若不同則認證失敗,若相同,則對含密圖像進行解密;
16、優(yōu)選地,所述對認證通過的含密圖像進行解密,具體包括:
17、使用加密密鑰ke和zuc算法生成跟原始圖像大小相同的偽隨機比特流序列,將該偽隨機序列與加密圖像異或進行解密;
18、從解密后的數(shù)據(jù)部分提取輔助信息,包括:用于預測的第一行和第一列的像素值、塊大小、lfix?的值、溢出像素的數(shù)量和位置;
19、根據(jù)lfix的值解壓縮預測誤差,根據(jù)塊大小和重排類型逆重排預測誤差,利用邊界像素和預測誤差恢復出明文圖像;
20、優(yōu)選地,所述對明文圖像的密文散列值進行認證,具體包括:
21、接收端從含密圖像中提取密文散列值hash1和簽名sig1,根據(jù)發(fā)送端的公鑰pk,使用sm2算法驗證簽名;若驗證不通過,則直接判定認證失敗;若簽名驗證通過則進行下一步;
22、接收端使用sm3算法計算恢復的明文圖像的密文散列值得到hash1,將其與hash1比較,若不同則認證失敗,若相同,則認證成功。
23、優(yōu)選地,所述并對原始圖像進行預處理以生成預處理圖像,具體包括:
24、對原始圖像進行像素預測,生成預測誤差圖;
25、對預測誤差圖的每個msb位面進行重排并對重排后的位流進行壓縮;
26、根據(jù)壓縮后的位面結(jié)果重構(gòu)新的multi-msb位面,以生成預處理圖像。
27、本發(fā)明提供一種加密圖像雙認證系統(tǒng),包括:
28、原始圖像預處理模塊,用于獲取原始圖像,并對原始圖像進行預處理以生成預處理圖像;
29、加密圖像生成模塊,用于使用商密算法對生成的預處理圖像進行加密得到加密圖像;
30、含密圖像生成模塊,用于通過原始圖像的明文散列值和加密圖像的密文散列值分別對原始圖像和加密圖像進行簽名,形成認證信息,并將認證信息嵌入加密圖像生成含密圖像;
31、含密圖像認證模塊,用于對含密圖像的密文散列值進行認證,以判斷加密圖像是否被篡改;
32、明文圖像認證模塊,用于對認證通過的含密圖像進行解密,恢復出明文圖像,并對明文圖像的密文散列值進行認證,以確認明文圖像是否完整。
33、本發(fā)明提供一種計算機可讀存儲介質(zhì),所述存儲介質(zhì)存儲有計算機程序,所述計算機程序被處理器執(zhí)行時實現(xiàn)上述一種加密圖像雙認證的方法。
34、本發(fā)明提供一種計算機設(shè)備,包括存儲器、處理器及存儲在存儲器上并可在處理器上運行的計算機程序,所述處理器執(zhí)行所述程序時實現(xiàn)上述一種加密圖像雙認證的方法。
35、本發(fā)明提供的一種加密圖像雙認證方法,對比現(xiàn)有技術(shù),其有益效果如下:
36、本發(fā)明中接收端收到含密圖像后先進行密文認證而不是圖像解密和恢復,通過密文認證可以快速地判斷加密圖像的內(nèi)容是否被篡改,密文認證通過后再進行解密并恢復原始圖像的步驟,可以避免資源的浪費。并且對恢復后的明文圖像再次進行認證,可以確保接收端所恢復的圖像被正確恢復,保證了明文圖像的完整性。
37、本發(fā)明中原始圖像經(jīng)過加密隱藏技術(shù)處理,不再以明文形式在公共信道中傳輸,就算被攻擊者截獲,也只能呈現(xiàn)出無序雜亂的二進制序列,沒有密鑰的情況下,攻擊者不能獲取圖像的真實信息,保證了圖像內(nèi)容的安全性。
38、一個或多個實施例通過與之對應的附圖中的圖片進行示例性說明,這些示例性說明并不構(gòu)成對實施例的限定。
39、圖1是本發(fā)明加密圖像雙認證的方法的流程示意圖;
40、圖2是本發(fā)明加密圖像雙認證的方法發(fā)送端框架示意圖;
41、圖3是本發(fā)明加密圖像雙認證的方法四種排序類型的示意圖;
42、圖4是本發(fā)明加密圖像雙認證的方法壓縮后的某個平面的示意圖;
43、圖5是本發(fā)明加密圖像雙認證的方法接收端認證框架示意圖;
44、圖6是本發(fā)明加密圖像雙認證的方法密文認證框架示意圖;
45、圖7是本發(fā)明加密圖像雙認證的方法圖像解密和恢復框架示意圖;
46、圖8是本發(fā)明加密圖像雙認證的方法明文認證示意圖。