本技術實施例屬于計算機,特別是涉及一種圖像加密方法、電子設備及計算機程序產品。
背景技術:
1、為了提高工廠的管理效率和安全性,人臉識別技術在工廠中的應用場景逐漸增多。為了設備安裝的便捷性以及降低設備成本,在工廠中部署的人臉識別設備一般只具有采集功能,人臉驗證功能需要傳輸給中控設備或服務器實現。在人臉識別設備在封裝人臉圖像時,一般是通過預設的密鑰對人臉圖像進行加密,因此,一旦密鑰泄露,人臉圖像就存在較大的泄露風險,由此可見,現有的圖像加密算法安全性較低。
技術實現思路
1、有鑒于此,本技術實施例提供了一種圖像加密方法、電子設備及計算機程序產品,用以提高加密圖像的安全性。
2、本技術實施例的第一方面提供了一種圖像加密方法,包括:
3、將待加密圖像輸入至密鑰序列算法中,確定所述待加密圖像對應的密鑰序列;所述密鑰序列算法用于將所述待加密圖像對應的二進制數據轉換為所述密鑰序列;
4、基于所述密鑰序列對所述待加密圖像進行圖像變換,確定所述待加密圖像對應的變換圖像;
5、基于所述密鑰序列對所述變換圖像的像素值進行擴散加密,生成目標加密圖像。
6、在第一方面的一種可能的實現方式中,所述密鑰序列包括第一密鑰序列和第二密鑰序列;
7、所述基于所述密鑰序列對所述待加密圖像進行圖像變換,確定所述待加密圖像對應的變換圖像,包括:
8、基于所述第一密鑰序列對所述待加密圖像在各個通道對應的通道矩陣進行圖像擾亂,生成擾亂圖像;所述通道矩陣是基于所述待加密圖像在對應通道上各個第一像素的灰度值生成的;所述第一像素為所述待加密圖像上的像素;
9、基于所述第二密鑰序列對所述擾亂圖像進行圖像擴散,生成所述變換圖像。
10、在第一方面的一種可能的實現方式中,所述基于所述第一密鑰序列對所述待加密圖像在各個通道對應的通道矩陣進行圖像擾亂,生成擾亂圖像,包括:
11、基于所述待加密圖像中在所述各個通道上對應的所述通道矩陣進行矩陣拼接,得到所述待加密圖像對應的色彩矩陣;
12、將所述第一密鑰序列輸入至預設的索引序列算法中,生成所述第一密鑰序列對應的行索引序列和列索引序列;
13、基于所述行索引序列和所述列索引序列對所述色彩矩陣進行矩陣置換,生成所述擾亂圖像。
14、在第一方面的一種可能的實現方式中,所述基于所述第二密鑰序列對所述擾亂圖像進行圖像擴散,生成所述變換圖像,包括:
15、將所述第二密鑰序列輸入至第一矩陣構建算法中,生成所述第二密鑰序列對應的擴散矩陣;
16、將所述擾亂圖像中各個第二像素對應的像素值輸入至第二矩陣構建算法中,生成所述擾亂圖像對應的變換矩陣;所述第二像素為所述擾亂圖像中的像素;
17、將所述擴散矩陣和所述變換矩陣輸入至預設的擴散函數中,生成所述變換圖像。
18、在第一方面的一種可能的實現方式中,所述第一矩陣構建算法包括重構算法和斐波那契算法;
19、所述將所述第二密鑰序列輸入至第一矩陣構建算法中,生成所述第二密鑰序列對應的擴散矩陣,包括:
20、將所述第二密鑰序列以及所述擾亂圖像的第二圖像尺寸輸入至所述重構算法中,生成混沌矩陣;所述重構算法用于根據所述第二圖像尺寸將所述第二密鑰序列重構為矩陣尺寸與所述第二圖像尺寸一致的所述混沌矩陣;
21、將所述混沌矩陣輸入至所述斐波那契算法中,生成所述擴散矩陣。
22、在第一方面的一種可能的實現方式中,所述重構算法,如下所示:
23、fn′=reshape((100×s2(1:h2×w2)),w2,h2)
24、fn=round(mod(fn′,17)+3)
25、其中,fn為所述混沌矩陣;round為取整函數;mod為模運算函數;fn′為第一中間矩陣;h2為所述第二圖像尺寸中的高度值;w2為所述第二圖像尺寸中的寬度值;s2為所述第二密鑰序列;reshape(a,p,q)為維度變換函數,用于將a構建為p行q列的矩陣。
26、在第一方面的一種可能的實現方式中,所述將待加密圖像輸入至密鑰序列算法中,確定所述待加密圖像對應的密鑰序列,包括:
27、將所述待加密圖像的二進制數據輸入至預設的哈希函數中,確定所述待加密圖像對應的哈希值;
28、將所述哈希值輸入至密鑰函數中,生成所述哈希值對應的密鑰參數;
29、將所述密鑰參數輸入至第一混沌序列函數中,確定所述待加密圖像對應的第一密鑰序列;
30、將所述密鑰參數輸入至第二混沌序列函數中,確定所述待加密圖像對應的第二密鑰序列。
31、在第一方面的一種可能的實現方式中,所述第一混沌序列函數,如下所示:
32、s1=((2d_lscm(a+0.1,b+0.1,c,3×h1×w1))×10000)mod255
33、其中,s1為所述第一密鑰序列;2d_lscm為二維離散混沌函數;a為第一密鑰參數;b為第二密鑰參數;c為第三密鑰參數;h1為所述待加密圖像對應的第一圖像尺寸中的高度值;w1為所述待加密圖像對應的第一圖像尺寸中的寬度值;mod為模運算函數;
34、相應的,所述第二混沌序列函數,如下所示:
35、s2=((2d_lscm(a+0.2,b+0.2,c,3×h1×w1))×10000)mod255
36、其中,s2為所述第二密鑰序列。
37、本技術實施例的第二方面提供了一種圖像加密裝置,包括:
38、密鑰確定模塊,用于將待加密圖像輸入至密鑰序列算法中,確定所述待加密圖像對應的密鑰序列;所述密鑰序列算法用于根據所述待加密圖像對應的二進制數據確定所述密鑰序列;
39、圖像變換模塊,用于基于所述密鑰序列對所述待加密圖像進行圖像變換,確定所述待加密圖像對應的變換圖像;
40、擴散加密模塊,用于基于所述密鑰序列對所述變換圖像的像素值進行擴散加密,生成目標加密圖像。
41、本技術實施例的第三方面提供了一種電子設備,包括存儲器、處理器以及存儲在所述存儲器中并可在所述處理器上運行的計算機程序,所述處理器執行所述計算機程序時實現如上述第一方面所述的圖像加密方法。
42、本技術實施例的第四方面提供了一種計算機可讀存儲介質,所述計算機可讀存儲介質存儲有計算機程序,所述計算機程序被處理器執行時實現如上述第一方面所述的圖像加密方法。
43、本技術實施例的第五方面提供了一種計算機程序產品,當所述計算機程序產品在計算機上運行時,使得所述計算機執行上述第一方面所述的圖像加密方法。
44、與現有技術相比,本技術實施例具有以下優點:
45、在本技術實施例中,電子設備可以將待加密圖像輸入到密鑰序列算法中,以通過密鑰序列算法確定待加密圖像對應的密鑰序列;其中,密鑰序列算法可以用于將待加密圖像的二進制數據轉換為待加密圖像對應的密鑰序列;而后,電子設備可以根據密鑰序列對待加密圖像進行圖像變換,以確定待加密圖像對應的變換圖像;電子設備可以通過密鑰序列對變換圖像的像素值進行擴散加密,以生成目標加密圖像。通過本實施例提供的方法,由于電子設備可以根據待加密圖像的二進制數據確定待加密圖像的密鑰序列,即不同的待加密圖像其加密過程所使用的密鑰序列不同,因此,本技術實施例中的密鑰序列是動態變化的,可以提高圖像的加密安全性。