基于轻量级PRINCE加密算法的医学图像加密

2014-04-29 18:03周路
中国电子商情 2014年8期
关键词:加密算法解密常数

周路

引言:本文主要基于PRINCE算法的设计原理,提出一种适合医学图像的加密方法,能够很好地适应DICOM医学图像数据量大、多维分布的特点。并且把病人隐私信息隐藏在图像数据中,实现了病人隐私的保护。

一、引言

DICOM(Digital Imaging and Communications in Medicine)即医学数字成像和通信,它定义了能满足临床需要的可用于数据交换的医学图像格式。DICOM标准被广泛应用于放射医疗,心血管成像以及放射诊疗诊断设备(X射线,CT,核磁共振,超声等)。

目前常用的加密方法只是将传统的加密算法直接运用在医学图像中, 如DES, AES 等。传统的加密算法将输入明文看作二进制流, 没有考虑医学图像本身的特性, 使得其对医学图像并不十分适用。因此,我们需要寻找一种适合图像数据特点的加密方法, 使得其在满足安全性要求的前提下, 提高加密的效率, 同时保持图像数据格式的兼容性与传输要求。

本文主要基于PRINCE算法的设计原理,提出一种适应医学图像的数据特点加密方法,能够很好地适应DICOM医学图像数据量大、多维分布的特点。

二、PRINCE算法

PRINCE算法是2012年亚密会上由Borgho等人提出的低延时的轻量级密码算法,其明文分组长度为64比特,密钥长度为128比特。 PRINCE算法允许在硬件实现时在一个时钟周期内对数据进行加密,在十分有限(competitive)的芯片面积上是一个很好的方案。同时,传统加密过程中需要反复用一个非常相似的轮函数的情况消失了,这种情况下可以扩宽算法设计的空间。我们的密码算法认为加密的密钥和解密的密钥是相关的(解密密钥=加密密钥异或α)。这个属性我们称他为α-反射,并证明算法抵抗其攻击的稳健性。

三、算法实现

PRINCE是一个具有128位的密钥的64位分组密码。密钥被分成两个64位的部分, ,通过映射扩展到192位。

PRINCE是基于所谓的FX结构,前两个子密钥k0和k0用作美白密钥(whiteningkeys),而密钥k1为64位密钥对一个12轮的分组密码,我们称之为PRINCE核心。

PRINCEcore描述:

PRINCEcore中每一轮都由一个密钥异或(KeyAddition),S盒层(S-Layer),线性层(TheMatrices),和轮常数异或(RCi-Add)组成。

密钥异或(KeyAddition):

在这里,64位状态数组和64位的子密钥进行异或运算。

S盒层(S-Layer):

加密使用一个4-bit的S盒。S盒的操作在十六进制表示法下由下表给出。

线性层(TheMatrices):

M/M'-layer.在M和M'-layer的64位状态被乘以一个64×64矩阵M(resp.M')。我们在下面进行详述。

轮常数异或(RCi-Add):

在RCi-Add步骤中一个64位的轮常数和状态数组进行异或运算。

解密过程:

从这一事实轮常数满足RCI⊕RC11-1=α,其M'是对合矩阵,所以,芯密是这样的逆的PRINCEcore参数化,其中k是等于PRINCEcore参数化与(K⊕α)。我们称这个属PRINCEcore为α反射性能。它遵循即,对于任何的扩展密钥 :

其中,α是64位的常数α=c0ac29b7c97c50dd(十六进制)。因此,对于解密过程只有做了很简单的变动(加密密钥异或α),之后再利用完全相同的程序。

四、DICOM文件加解密流程

DICOM 文件一般由一个 DICOM 文件头和 DICOM数据集合组成. 文件头部分包括许多病人的信息, 如病人姓名、身份证号等。

因此, DICOM 文件需要保密的内容包括两个部分:病人的基本信息和图像信息.

Step1 提取病人信息。对病人基本信息进行整理,提取出需要隐藏的信息,找到该标签的位置;

Step2 信息交换。将Step1中提取的信息与图像数据部分进行交换,实现病人隐私信息的隐藏;

Step3 密钥异或:使用64位状态数组和64位的子密钥进行异或运算;

Step4 S盒置换操作:采用上文给出的一个4-bit的S盒进行置换;

Step5 线性层置换:M/M'-layer.在M和M'-layer的64位状态被乘以一个64×64矩阵M(resp.M');

Step6 轮常数异或:在RCi-Add步骤中一个64位的轮常数和状态数组进行异或运算;

其解密过程为加密算法的逆过程: 首先还原图像像素,然后还原病人信息, 重建DICOM 文件。

五、结论

本文主要基于PRINCE算法的设计原理,提出一种适应医学图像的加密方法,能够很好地适应DICOM医学图像数据量大、多维分布的特点。首先, 将病人基本信息进行整理,提取出需要隐藏的信息,然后与图像数据进行交换, 保障了病人隐私. 其次,使用PRINCE算法对图像进行加密。 实验结果表明, 该加密方案不仅具有良好的加密效果, 而且保持了 DICOM 文件格式的兼容性,适合进行医学图像加密。

(作者单位:四川大学计算机学院)

猜你喜欢
加密算法解密常数
解密“热胀冷缩”
关于Landau常数和Euler-Mascheroni常数的渐近展开式以及Stirling级数的系数
解密“一包三改”
炫词解密
几个常数项级数的和
万有引力常数的测量
基于小波变换和混沌映射的图像加密算法
Hill加密算法的改进
解密“大调解”
对称加密算法RC5的架构设计与电路实现