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