周路
引言:本文主要基于PRINCE算法的設計原理,提出一種適合醫(yī)學圖像的加密方法,能夠很好地適應DICOM醫(yī)學圖像數(shù)據(jù)量大、多維分布的特點。并且把病人隱私信息隱藏在圖像數(shù)據(jù)中,實現(xiàn)了病人隱私的保護。
一、引言
DICOM(Digital Imaging and Communications in Medicine)即醫(yī)學數(shù)字成像和通信,它定義了能滿足臨床需要的可用于數(shù)據(jù)交換的醫(yī)學圖像格式。DICOM標準被廣泛應用于放射醫(yī)療,心血管成像以及放射診療診斷設備(X射線,CT,核磁共振,超聲等)。
目前常用的加密方法只是將傳統(tǒng)的加密算法直接運用在醫(yī)學圖像中, 如DES, AES 等。傳統(tǒng)的加密算法將輸入明文看作二進制流, 沒有考慮醫(yī)學圖像本身的特性, 使得其對醫(yī)學圖像并不十分適用。因此,我們需要尋找一種適合圖像數(shù)據(jù)特點的加密方法, 使得其在滿足安全性要求的前提下, 提高加密的效率, 同時保持圖像數(shù)據(jù)格式的兼容性與傳輸要求。
本文主要基于PRINCE算法的設計原理,提出一種適應醫(yī)學圖像的數(shù)據(jù)特點加密方法,能夠很好地適應DICOM醫(yī)學圖像數(shù)據(jù)量大、多維分布的特點。
二、PRINCE算法
PRINCE算法是2012年亞密會上由Borgho等人提出的低延時的輕量級密碼算法,其明文分組長度為64比特,密鑰長度為128比特。 PRINCE算法允許在硬件實現(xiàn)時在一個時鐘周期內(nèi)對數(shù)據(jù)進行加密,在十分有限(competitive)的芯片面積上是一個很好的方案。同時,傳統(tǒng)加密過程中需要反復用一個非常相似的輪函數(shù)的情況消失了,這種情況下可以擴寬算法設計的空間。我們的密碼算法認為加密的密鑰和解密的密鑰是相關的(解密密鑰=加密密鑰異或α)。這個屬性我們稱他為α-反射,并證明算法抵抗其攻擊的穩(wěn)健性。
三、算法實現(xiàn)
PRINCE是一個具有128位的密鑰的64位分組密碼。密鑰被分成兩個64位的部分, ,通過映射擴展到192位。
PRINCE是基于所謂的FX結構,前兩個子密鑰k0和k0用作美白密鑰(whiteningkeys),而密鑰k1為64位密鑰對一個12輪的分組密碼,我們稱之為PRINCE核心。
PRINCEcore描述:
PRINCEcore中每一輪都由一個密鑰異或(KeyAddition),S盒層(S-Layer),線性層(TheMatrices),和輪常數(shù)異或(RCi-Add)組成。
密鑰異或(KeyAddition):
在這里,64位狀態(tài)數(shù)組和64位的子密鑰進行異或運算。
S盒層(S-Layer):
加密使用一個4-bit的S盒。S盒的操作在十六進制表示法下由下表給出。
線性層(TheMatrices):
M/M'-layer.在M和M'-layer的64位狀態(tài)被乘以一個64×64矩陣M(resp.M')。我們在下面進行詳述。
輪常數(shù)異或(RCi-Add):
在RCi-Add步驟中一個64位的輪常數(shù)和狀態(tài)數(shù)組進行異或運算。
解密過程:
從這一事實輪常數(shù)滿足RCI⊕RC11-1=α,其M'是對合矩陣,所以,芯密是這樣的逆的PRINCEcore參數(shù)化,其中k是等于PRINCEcore參數(shù)化與(K⊕α)。我們稱這個屬PRINCEcore為α反射性能。它遵循即,對于任何的擴展密鑰 :
其中,α是64位的常數(shù)α=c0ac29b7c97c50dd(十六進制)。因此,對于解密過程只有做了很簡單的變動(加密密鑰異或α),之后再利用完全相同的程序。
四、DICOM文件加解密流程
DICOM 文件一般由一個 DICOM 文件頭和 DICOM數(shù)據(jù)集合組成. 文件頭部分包括許多病人的信息, 如病人姓名、身份證號等。
因此, DICOM 文件需要保密的內(nèi)容包括兩個部分:病人的基本信息和圖像信息.
Step1 提取病人信息。對病人基本信息進行整理,提取出需要隱藏的信息,找到該標簽的位置;
Step2 信息交換。將Step1中提取的信息與圖像數(shù)據(jù)部分進行交換,實現(xiàn)病人隱私信息的隱藏;
Step3 密鑰異或:使用64位狀態(tài)數(shù)組和64位的子密鑰進行異或運算;
Step4 S盒置換操作:采用上文給出的一個4-bit的S盒進行置換;
Step5 線性層置換:M/M'-layer.在M和M'-layer的64位狀態(tài)被乘以一個64×64矩陣M(resp.M');
Step6 輪常數(shù)異或:在RCi-Add步驟中一個64位的輪常數(shù)和狀態(tài)數(shù)組進行異或運算;
其解密過程為加密算法的逆過程: 首先還原圖像像素,然后還原病人信息, 重建DICOM 文件。
五、結論
本文主要基于PRINCE算法的設計原理,提出一種適應醫(yī)學圖像的加密方法,能夠很好地適應DICOM醫(yī)學圖像數(shù)據(jù)量大、多維分布的特點。首先, 將病人基本信息進行整理,提取出需要隱藏的信息,然后與圖像數(shù)據(jù)進行交換, 保障了病人隱私. 其次,使用PRINCE算法對圖像進行加密。 實驗結果表明, 該加密方案不僅具有良好的加密效果, 而且保持了 DICOM 文件格式的兼容性,適合進行醫(yī)學圖像加密。
(作者單位:四川大學計算機學院)