一種高強度醫學圖像快速加密方法及解密方法
【專利摘要】本發明公開了一種高強度醫學圖像快速加密方法及解密方法,加密過程包括計算圖像Hash值、分解圖像、打包關鍵數據、使用RSA公鑰對關鍵數據加密、通過隨機數和遞歸公式生成SHA-256輸入、獲得AES動態密鑰、通過AES動態密鑰對數據塊加密、打包發送,解密方法為加密方法的反向過程。本發明對關鍵數據進行了高強度加密,對文件體部分在快速加密的同時兼顧了強度,使加密速度和強度有了較好的平衡,適用于一般的醫療網絡。
【專利說明】—種高強度醫學圖像快速加密方法及解密方法
【技術領域】
[0001]本發明涉及數字圖像加密領域,尤其是涉及一種安全性高、加解密速度快的高強度醫學圖像快速加密方法及解密方法。
【背景技術】
[0002]數字圖像是目前最流行的多媒體形式之一,在政治、經濟、國防、教育、醫療等方面均有廣泛應用。對于某些特殊領域,如軍事、商業和醫療,數字圖像還有較高的保密要求。為了實現數字圖像加密,多采用傳統加密、空域加密以及壓縮加密三種方式對圖像進行加密操作。傳統加密方式在實際操作中一般先將二維圖像轉換成一維數據,再采用DES、AES等加密算法進行加密。空域加密方式采用像素置亂、代換、擴散操作對圖像信息進行二維加密。壓縮加密方式對圖像進行變換域計算,由于變換編碼減少數據冗余、降低相關性和數據量,因此適用于結合壓縮算法對圖像進行加密。
[0003]混沌圖像加密方法在計算機精度有限的情況下會導致混沌序列周較短,隨機性不高;同時,在一、二階低維度時容易被相空間重構方法以及選擇明文方法攻擊;高階混沌系統則存在算法復雜、計算量大等特點,導致加密效率的降低。壓縮加密算法由于存在變換編碼精度的問題,會對原圖像造成改變,醫學圖像涉及到患者診斷準確性,在真實度和精確度方面有較高的要求,一般不適用圖像壓縮加密算法。傳統對稱加密方式在密鑰生成和交換上存在安全隱患,而非對稱加密方式在加密效率上不適合應用于容量較大的二進制文件,包括圖片等文件。
[0004]中華人民共和國國家知識產權局于2013年08月14日公開了公布號為CN103248854A的專利文獻,名稱是基于均勻置亂和混沌映射的醫學圖像加密方法,具體為:設置密鑰并生成隨機數列,將醫學圖像分為多塊小正方形,醫學圖像進行均勻置亂運算,利用生成的偽隨機數乘以一個像素系數,取整后與原像素異或,對所有像素重復執行前幾個步驟,遍歷醫學圖像匯總所有像素,完成圖像加密。此方案仍然存在運算量大、耗時長、加密效率低等問題。
【發明內容】
[0005]本發明主要是解決現有技術所存在的加密速度、安全性、圖像精度無法兼顧等的技術問題,提供一種密鑰空間大、分布均勻、加密效果好、運算速度快、安全性高、不影響圖像精度的一種高強度醫學圖像快速加密方法及解密方法。
[0006]本發明針對上述技術問題主要是通過下述技術方案得以解決的:一種高強度醫學圖像快速加密方法,加密流程包括以下步驟:
5001、讀取目標圖像;
5002、對整個圖像進行SHA-256數字摘要運算,得到原始圖像Hash值;
5003、將圖像分解為文件頭部分和文件體部分;
5004、在(263,264-1]集合中隨機獲取一個數I,;5005、將文件頭部分、原始圖像Hash值和隨機數JZ打包得到關鍵數據;
5006、使用RSA公鑰對關鍵數據進行加密,形成加密文件包;
5007、 將文件體部分分為32字節大小的數據塊,如果最后一個數據塊小于32字節,則對最后一個數據塊進行補位使其等于32字節,得到的數據塊總數記為《 ;
5008、根據公式毛+7二//毛(7-毛)進行遞歸運算,直至生成η為自然數,々為隨機數XZ的末尾4位十進制數,μ為變化參數,初始值石為密鑰種子,;的計算公式為石二(Jx ~^3)/^3 ;
5009、設定變量i的初始值為I;
S0104fZi+i作為SHA-256的輸入,輸出32字節的定長字符串作為第i個數據塊的AES動態密鑰,然后進入步驟SOll ;
5011、利用AES(高級加密標準,Advanced Encryption Standard)動態密鑰對對應的數據塊進行加密,然后進入步驟S012 ;
5012、判斷i與in的大小,如果i<m,則將i增大1,然后跳轉到步驟SOlO;如果i=m,則進入步驟SO13 ;
5013、將加密文件包和加密后的《個數據塊打包成數字信封,將數字信封發送給對端。
[0007]作為優選,所述變化參數P為4。
[0008]根據公式,3〈 μ〈3.449時,存在兩個平衡點,3.449< μ <3.544時,存在4個平衡點,隨著區間增大,平衡點以2η增加,μ在區間(3.5699,4]之間時,公式在周期類型和混沌類型之間來回切換,在μ =4時,系統處于完全混沌狀態,最終的長期行為使Xn在[0,1]區間上均勻分布,因此取值μ =4時,公式在[0,I]區間上處于最佳混沌狀態。
[0009]作為優選,當圖像文件包含文件尾時,將文件尾視作文件體的一部分進行處理。
[0010]一種與前述的加密方法對應的解密方法,解密流程包括以下步驟:
5101、接收數字信封并進行解包,得到加密文件包和《個加密后的數據塊;
5102、使用RSA私鑰對加密文件包進行解密,得到關鍵數據;
5103、對關鍵數據進行解包,得到文件頭部分、原始圖像Hash值和隨機數I,;
5104、通過公式?Jx -/0/嚴計算初始值;;
5105、根據公式毛+7二//毛(7-毛)進行遞歸運算,直至生成η為自然數,k為隨機數 的末尾4位十進制數,//為變化參數;
5106、設定變量t的初始值為I;
5107、將作為SHA-256的輸入,輸出32字節的定長字符串作為第t個加密后的數據塊的AES動態密鑰,然后進入步驟S108 ;
5108、利用AES動態密鑰對對應的加密后的數據塊進行解密,然后進入步驟S109;
5109、判斷t與in的大小,如果,則將t增大1,然后跳轉到步驟S107;如果t=m,W\進入步驟SllO ;
5110、將文件頭部分和解密得到的數據塊進行合成;
5111、比較合成后的文件大小和文件頭部分中的文件大小信息兩個數值,如果兩者不一致則將合成后的文件末尾刪除兩個數值的差值,得到大小與文件頭部分中的文件大小相同的完整圖像文件;
5112、對還原后的圖像進行SHA-256數字摘要運算,得到解密圖像Hash值,比對解密圖像Hash值和原始圖像Hash值,如果兩個Hash值相同,則解密成功;如果兩個Hash值不同,則加密或解密或傳送過程出錯。
[0011]圖像文件頭的主要內容包括產生或編輯該圖像文件的軟件的信息以及圖像本身的參數,如編碼類型、壓縮算法、色彩空間等。這些參數完整描述圖像數據的所有特征,是圖像文件中的關鍵數據。在醫學圖像如DICOM圖像中,圖像文件頭還包括患者信息、時間等敏感內容。上述信息需要的加密程度比較高,而文件體部分所需要的加密級別低于文件頭部分。
[0012]當前常用的RSA密鑰長度為1024位,AES密鑰長度為256位,相同密鑰長度情況下RSA運算的耗時是AES的100倍到1000倍,因此在運算效率上,AES算法遠遠高于RSA算法。在加密強度方面,目前被破解的RSA的密鑰長度為768位,而常見的1024位及更高的2048位的RSA密鑰破解在時間上不存在實用性,對AES的算法攻擊目前有AES 128位密鑰的攻擊,其破解復雜度由2128降低到212°,但目前也不存在實用的對AES 256位密鑰的破解方法;RSA和AES兩者的加密強度能滿足當前對圖像的加密要求,但是RSA不需要進行密鑰交換,在安全性上要高于AES。因此,采用對圖像文件頭和AES密鑰等少量關鍵數據進行RSA加密,對圖像文件體進行AES快速加密的方法。
[0013]本發明建立快速醫學圖像加密傳輸系統,在發送方通過上述算法和步驟對醫學圖像進行加密并傳輸到接收方,接收方利用可逆的解密過程對醫學圖像進行無損還原并校驗圖像的真實性和完整性。在加密過程中,重點運用了分級加密原理,混沌密鑰動態映射方法,一次一個密等高強度高效加密方法。
[0014]本發明帶來的實質性效果是,將醫學數字圖像進行分解,分為圖像頭信息和圖像二進制信息進入不同加密強度的流程進行分級加密,有效提高加密效率和安全性;通過多級混合加密方法的疊加和算法變換,提高密鑰空間容量和隨機性,加強算法的加密強度;AES的密鑰利用混沌映射動態生成,采用一次一密的高強度加密算法,進一步加大破解難度,保障加密文件的安全性;在加密時不會因為計算精度問題影響圖像的質量,保證加密和解密速度的同時,具有很高的加密強度。
【專利附圖】
【附圖說明】
[0015]圖1是本發明的一種加密過程示意圖;
圖2是本發明的一種文件體部分加密過程示意圖;
圖3是本發明的一種解密過程示意圖。
【具體實施方式】
[0016]下面通過實施例,并結合附圖,對本發明的技術方案作進一步具體的說明。
[0017]實施例:本實施例的一種高強度醫學圖像快速加密方法,如圖1所示,加密流程包括以下步驟:
5001、讀取目標圖像;
5002、對整個圖像進行SHA-256數字摘要運算,得到原始圖像Hash值;
5003、將圖像分解為文件頭部分和文件體部分;
5004、在(263,264-1]集合中隨機獲取一個數I,;5005、將文件頭部分、原始圖像Hash值和隨機數JZ打包得到關鍵數據;
5006、使用RSA公鑰對關鍵數據進行加密,形成加密文件包;
5007、將文件體部分分為32字節大小的數據塊,如果最后一個數據塊小于32字節,則對最后一個數據塊進行補位使其等于32字節,得到的數據塊總數記為《 ;
5008、根據公式毛+7二//毛(7-毛)進行遞歸運算,直至生成η為自然數,々為隨機數XZ的末尾4位十進制數,μ為變化參數,初始值石為密鑰種子,;的計算公式為石二(Jx ~^3)/^3 ;
5009、設定變量i的初始值為I;
S0104fZi+i作為SHA-256的輸入,輸出32字節的定長字符串作為第i個數據塊的AES動態密鑰,然后進入步驟SOll ;
5011、利用AES(高級加密標準,Advanced Encryption Standard)動態密鑰對對應的數據塊進行加密,然后進入步驟S012 ;
5012、判斷i與in的大小,如果i<m,則將i增大1,然后跳轉到步驟SOlO;如果i=m,則進入步驟SO13 ;
5013、將加密文件包和加密后的《個數據塊打包成數字信封,將數字信封發送給對端。 [0018]對文件體的加密過程參見圖2。
[0019]變化參數//為4。
[0020]當圖像文件包含文件尾時,將文件尾視作文件體的一部分進行處理。
[0021]一種與前述的加密方法對應的解密方法,如圖3所示,解密流程包括以下步驟:
5101、接收數字信封并進行解包,得到加密文件包和《個加密后的數據塊;
5102、使用RSA私鑰對加密文件包進行解密,得到關鍵數據;
5103、對關鍵數據進行解包,得到文件頭部分、原始圖像Hash值和隨機數I,;
5104、通過公式?Jx -/0/嚴計算初始值;;
5105、根據公式毛+7二//毛(7-毛)進行遞歸運算,直至生成η為自然數,k為隨機數 的末尾4位十進制數,//為變化參數;
5106、設定變量t的初始值為I;
5107、將作為SHA-256的輸入,輸出32字節的定長字符串作為第t個加密后的數據塊的AES動態密鑰,然后進入步驟S108 ;
5108、利用AES動態密鑰對對應的加密后的數據塊進行解密,然后進入步驟S109;
5109、判斷t與in的大小,如果,則將t增大1,然后跳轉到步驟S107;如果t=m,W\進入步驟SllO ;
5110、將文件頭部分和解密得到的數據塊進行合成;
5111、比較合成后的文件大小和文件頭部分中的文件大小信息兩個數值,如果兩者不一致則將合成后的文件末尾刪除兩個數值的差值,得到大小與文件頭部分中的文件大小相同的完整圖像文件;
5112、對還原后的圖像進行SHA-256數字摘要運算,得到解密圖像Hash值,比對解密圖像Hash值和原始圖像Hash值,如果兩個Hash值相同,則解密成功;如果兩個Hash值不同,則加密或解密或傳送過程出錯。
[0022]本實施例中,運用混沌系統、非對稱加密技術、對稱加密技術、數字摘要技術,通過算法疊加變換,構建一個快速高強度醫學數字圖像加密系統,將圖像數據分解為圖像頭信息和圖像二進制流,分別利用非對稱加密方法和對稱加密方法對兩部分進行加密,具有高強度快速加密數字圖像的優點;在非對稱加密方法中,不直接利用低階混沌系統轉換加密,而是利用Logistic混沌系統產生對稱加密密鑰,具有密鑰空間大、分別均勻等特點,安全性較高;同時,對圖像文件進行數字摘要運算并用公鑰加密,保障圖像的真實性和完整性。
[0023]本文中所描述的具體實施例僅僅是對本發明精神作舉例說明。本發明所屬【技術領域】的技術人員可以對所描述的具體實施例做各種各樣的修改或補充或采用類似的方式替代,但并不會偏離本發明的精神或者超越所附權利要求書所定義的范圍。
[0024]盡管本文較多地使用了文件頭、Hash值、AES加密等術語,但并不排除使用其它術語的可能性。使用這些術語僅僅是為了更方便地描述和解釋本發明的本質;把它們解釋成任何一種附加的限制都是與本發明精神相違背的。
【權利要求】
1.一種高強度醫學圖像快速加密方法,其特征在于,加密流程包括以下步驟: S001、讀取目標圖像; S002、對整個圖像進行SHA-256數字摘要運算,得到原始圖像Hash值; S003、將圖像分解為文件頭部分和文件體部分; S004、在(263,264-1]集合中隨機獲取一個數I,; S005、將文件頭部分、原始圖像Hash值和隨機數I,打包得到關鍵數據; S006、使用RSA公鑰對關鍵數據進行加密,形成加密文件包; S007、將文件體部分分為32字節大小的數據塊,如果最后一個數據塊小于32字節,則對最后一個數據塊進行補位使其等于32字節,得到的數據塊總數記為《 ; S008、根據公式毛+7二//毛(7-毛)進行遞歸運算,直至生成η為自然數,々為隨機數XZ的末尾4位十進制數,μ為變化參數,初始值石為密鑰種子,;的計算公式為石二(Jx ~^3)/^3 ; S009、設定變量i的初始值為I; S0104fZi+i作為SHA-256的 輸入,輸出32字節的定長字符串作為第i個數據塊的AES動態密鑰,然后進入步驟SOll ; S011、利用AES動態密鑰對對應的數據塊進行加密,然后進入步驟S012; S012、判斷i與in的大小,如果i<m,則將i增大1,然后跳轉到步驟SOlO;如果i=m,則進入步驟SO13 ; S013、將加密文件包和加密后的《個數據塊打包成數字信封,將數字信封發送給對端。
2.根據權利要求1所述的一種高強度醫學圖像快速加密方法,其特征在于,所述變化參數i?為4。
3.根據權利要求1或2所述的一種高強度醫學圖像快速加密方法,其特征在于,當圖像文件包含文件尾時,將文件尾視作文件體的一部分進行處理。
4.一種與權利要求1所述的加密方法對應的解密方法,其特征在于,解密流程包括以下步驟: S101、接收數字信封并進行解包,得到加密文件包和《個加密后的數據塊; S102、使用RSA私鑰對加密文件包進行解密,得到關鍵數據; S103、對關鍵數據進行解包,得到文件頭部分、原始圖像Hash值和隨機數X'; S104、通過公式?Jx -/0/嚴計算初始值;; S105、根據公式毛+7二//毛(7-毛)進行遞歸運算,直至生成η為自然數,k為隨機數 的末尾4位十進制數,//為變化參數; S106、設定變量t的初始值為I; S107、將作為SHA-256的輸入,輸出32字節的定長字符串作為第t個加密后的數據塊的AES動態密鑰,然后進入步驟S108 ; S108、利用AES動態密鑰對對應的加密后的數據塊進行解密,然后進入步驟S109; S109、判斷t與in的大小,如果,則將t增大1,然后跳轉到步驟S107;如果t=m,W\進入步驟SllO ; S110、將文件頭部分和解密得到的數據塊進行合成; S111、比較合成后的文件大小和文件頭部分中的文件大小信息兩個數值,如果兩者不一致則將合成后的文件末尾刪除兩個數值的差值,得到大小與文件頭部分中的文件大小相同的完整圖像文件; S112、對還原后的圖 像進行SHA-256數字摘要運算,得到解密圖像Hash值,比對解密圖像Hash值和原始圖像Hash值,如果兩個Hash值相同,則解密成功;如果兩個Hash值不同,則加密或解密或傳送過程出錯。
5.根據權利要求4所述的一種解密方法,其特征在于,所述變化參數//為4。
【文檔編號】H04N1/32GK103973936SQ201410055499
【公開日】2014年8月6日 申請日期:2014年2月19日 優先權日:2014年2月19日
【發明者】李勁松, 周天舒, 潘斌 申請人:浙江大學