本發明涉及數字藏品加密,具體為一種數字藏品的安全加密方法及系統。
背景技術:
1、數字藏品加密技術,是指通過密碼學方法、區塊鏈技術及安全協議,對數字藏品進行加密保護,以確保其唯一性、防篡改、所有權驗證、隱私安全及合法流通的綜合技術體系。
2、現有的數字藏品加密技術通常都是對數字藏品進行加密計算后直接進行存儲,對于數字藏品的元數據防護不足,同時在讀取數字藏品時,通常能夠直接讀取,即數字藏品的存儲路徑固定,他人能夠輕易獲取某一數字藏品的存儲路徑,此時無法破解數字藏品,但可以對其進行篡改,安全性嚴重不足,比如在公開號為cn118779905a的專利申請中,公開了“數字藏品的安全防護方法、系統、計算設備及存儲介質”,該方案在存儲時對于存儲路徑或存儲后獲取加密影像文件的方式沒有進行特殊處理,若用戶想要獲取數字藏品,可以直接讀取到數字藏品對應的加密影像文件,僅需對其解密即可,而此方法由于存儲路徑在存儲平臺內固定且已知,導致他人能夠輕易的對加密影像文件進行篡改,現有的數字藏品加密技術還存在對于加密后的數字藏品進行讀取時的安全性不足,導致數字藏品易被他人篡改的問題。
技術實現思路
1、本發明旨在至少在一定程度上解決現有技術中的技術問題之一,通過對數字藏品的元數據進行哈希指紋生成,得到數字藏品的數字指紋,然后基于數字指紋生成加密編碼,再通過加密編碼對內容文件進行加密運算,然后基于區塊鏈存儲對數字指紋以及加密文件進行存儲,最后當用戶訪問數字藏品時,驗證用戶身份,驗證通過后基于用戶選擇的元數據查找用戶期望訪問的數字藏品并對其進行還原,以解決現有的數字藏品加密技術還存在對于加密后的數字藏品進行讀取時的安全性不足,導致數字藏品易被他人篡改的問題。
2、為實現上述目的,第一方面,本技術提供一種數字藏品的安全加密方法,包括如下步驟:
3、對數字藏品的元數據進行哈希指紋生成,得到數字藏品的數字指紋;
4、對數字藏品的內容文件進行加密運算,得到加密文件;
5、基于區塊鏈存儲對數字指紋以及加密文件進行存儲;
6、當用戶訪問數字藏品時,驗證用戶身份,驗證通過后基于用戶選擇的元數據查找用戶期望訪問的數字藏品并對其進行還原。
7、進一步地,對數字藏品的元數據進行哈希指紋生成,得到數字藏品的數字指紋包括如下子步驟:
8、所述元數據包括藏品名稱、藏品作者、藏品介紹以及藏品擁有者;
9、對元數據進行組合,按照“(藏品名稱)(藏品作者)(藏品介紹)(藏品擁有者)”的格式將元數據組合為基礎數據;
10、對基礎數據進行哈希值計算,得到哈希指紋,將哈希指紋作為數字藏品的數字指紋。
11、進一步地,對數字藏品的內容文件進行加密運算,得到加密文件包括如下子步驟:
12、基于數字指紋生成加密編碼;
13、通過加密編碼對內容文件進行加密運算。
14、進一步地,基于數字指紋生成加密編碼包括如下子步驟:
15、獲取數字指紋,將數字指紋轉換為十進制的ascii編碼并標記為加密憑證,獲取加密憑證的位數,標記為憑證位數;
16、計算憑證位數模第一參數,將余數標記為憑證余數;
17、將加密憑證后憑證余數的字符剔除,將剩余的部分標記為加密編碼。
18、進一步地,通過加密編碼對內容文件進行加密運算包括如下子步驟:
19、按照從左往右的順序,每兩個字符為一個兩位數,每三個兩位數為一組,對加密編碼進行分組,得到不同的字符組合;
20、按照從左到右的順序對字符組合進行編號,通過符號si表示,其中,i為正整數且i為s的序號;
21、對字符組中的字符進行標記,分別通過k1、k2和k3表示字符組中的第一個兩位數、第二個兩位數以及第三個兩位數;
22、所述內容文件為藏品圖像,獲取藏品圖像,對藏品圖像中的像素點進行編號,按照先從左到右,再從上到下的順序進行編號,通過符號pn表示,其中,n為正整數n為p的序號;
23、獲取pn的rgb色,標記為cn,所述rgb色的格式為(r,g,b),其中,r為紅色通道的色值,g為綠色通道的色值,b為藍色通道的色值;
24、將cn對應的r、g和b分別標記為rn、gn以及bn,將si對應的k1、k2和k3分別標記為k1i、k2i以及k3i;
25、獲取i的最大值,標記為max(i),針對任意cn,計算n%max(i),將余數標記為j,若j為零,則將j設置為max(i),其中,%為模運算符;
26、將cn由(rn,gn,bn)更改為(rn+k1j,gn-k2j,bn+k3j),其中,k1j、k2j以及k3j代表i=j的k1i、k2i以及k3i;若rn+k1j、gn-k2j或bn+k3j中存在大于255或小于0的數值,則將對應的數值減小255或增大255,使其處于0到255的范圍內;
27、將pn的rgb色調整為更改后的cn后,得到加密文件。
28、進一步地,所述基于區塊鏈存儲對數字指紋以及加密文件進行存儲時,在區塊鏈平臺中的每個存儲節點內均存儲一份數字指紋以及加密文件,同時存儲數字藏品的元數據,所述區塊鏈平臺中存儲有所有用戶所擁有的所有數字藏品的元數據,且存儲時數字指紋與加密文件相對應。
29、進一步地,當用戶訪問數字藏品時,驗證用戶身份,驗證通過后基于用戶選擇的元數據查找用戶期望訪問的數字藏品并對其進行還原包括如下子步驟:
30、當用戶訪問數字藏品時,通過人臉識別以及驗證碼登錄進行身份驗證;
31、驗證通過后,從區塊鏈平臺中提取用戶所擁有的所有數字藏品的元數據供用戶選擇,獲取用戶選擇的元數據,標記為訪問數據;
32、基于元數據生成哈希指紋的方式通過訪問數據生成哈希指紋,標記為驗證指紋;
33、查找區塊鏈平臺中與驗證指紋相同的數字指紋,標記為訪問指紋,獲取訪問指紋對應的加密文件,標記為訪問文件;
34、基于驗證指紋,通過加密運算的逆運算對訪問文件進行還原。
35、第二方面,本技術提供一種數字藏品的安全加密系統,包括指紋生成模塊、加密運算模塊、區塊鏈存儲模塊以及藏品還原模塊;所述指紋生成模塊、加密運算模塊以及藏品還原模塊分別與區塊鏈存儲模塊數據連接;
36、所述指紋生成模塊用于對數字藏品的元數據進行哈希指紋生成,得到數字藏品的數字指紋;
37、所述加密運算模塊用于對數字藏品的內容文件進行加密運算,得到加密文件;
38、所述區塊鏈存儲模塊用于基于區塊鏈存儲對數字指紋以及加密文件進行存儲;
39、所述藏品還原模塊用于當用戶訪問數字藏品時,驗證用戶身份,驗證通過后基于用戶選擇的元數據查找用戶期望訪問的數字藏品并對其進行還原。
40、本發明的有益效果:本發明通過對數字藏品的元數據進行哈希指紋生成,得到數字藏品的數字指紋,然后基于數字指紋生成加密編碼,再通過加密編碼對內容文件進行加密運算,然后基于區塊鏈存儲對數字指紋以及加密文件進行存儲,最后當用戶訪問數字藏品時,驗證用戶身份,驗證通過后基于用戶選擇的元數據查找用戶期望訪問的數字藏品并對其進行還原,優勢在于,在存儲之后,用戶訪問數字藏品時不會直接讀取到加密文件,而是需要基于選擇的元數據進行特定轉換后在區塊鏈平臺中進行查找,使得元數據與加密文件之間不存在相關性,因此他人無法找到特定的數字藏品并對其進行篡改,提高了數字藏品安全存儲的有效性以及安全性。