1.基于信息熵更新密钥的感兴趣区域医学图像混沌加密方法,其特征是:该方法由以下步骤实现:步骤一、选择M×N的灰度医学图像作为原始图像Pimg;
步骤二、将原始图像Pimg分为大小为n×n的图像块Bs,获得M×N/(n×n)个图像块,s=
1,2,3,...,M×N/(n×n),其中n为划分的图像块大小;
步骤三、计算步骤二所述图像块Bs内所有像素灰度值的平均值
步骤四、感兴趣区域判别,判别方法如下:
当平均值 时,则图像块Bs为感兴趣区域ROIBr,设置对应的第s个感兴趣区域标志位ROI_flags为1;
当平均值 时,则该图像块Bs为非感兴趣区域RONI,设置对应的第s个感兴趣区域标志位ROI_flags为0;
其中t为感兴趣区域阈值,r为图像感兴趣区域编号,r=1,2,L,sum(ROI_flags);sum(ROI_flags)为Pimg中所有被判别为感兴趣区域的图像块的个数;
步骤五、将步骤四所述r个感兴趣区域ROIBr进行矩阵重排,变形为长度为n×n的感兴趣区域序列SROIBr;
步骤六、将步骤五获得的r个感兴趣区域序列SROIBr按照从上向下的顺序组合成矩阵,获得大小为(n×n)×sum(ROI_flags)感兴趣区域矩阵ROI_M;
步骤七、对步骤六所述感兴趣区域矩阵ROI_M进行二维离散小波变换,获得四个小波子带,分别为低频子带ROIcA,高频子带ROIcH、高频子带ROIcV和高频子带ROIcD;
步骤八、对步骤七获得的低频子带ROIcA转换为带符号十六位整数,然后进行混沌加密,获得低频子带密文矩阵EnROIcA,具体加密方法如下:步骤八一、由用户设定x0,y0,z0,u0,ω0的值作为低频子带加密密钥;
步骤八二、将大小为LL×LH的低频子带ROIcA变形为一维低频子带矩阵SROIcA;计算所述一维低频子带矩阵SROIcA的信息熵H(SROIcA);采用下式进行信息熵初值的更新,获得混沌系统初值:q0=(H(SROIcA)+1)/(1+H(SROIcA)+x0+y0)式中q0为混沌系统初值;
步骤八三、采用步骤八二所述的q0作为混沌映射系统初值,将混沌映射系统迭代Time1次,生成混沌序列Q;Time1的值大于LL×LH;
舍弃所述混沌序列Q的前t1个迭代结果,从第t1+1个值开始顺序选取LL×LH个值作为低频子带置乱序列Q2;
并将所述低频子带置乱序列Q2升序排序,并记录索引值,组成索引序列T;
步骤八四、将步骤八二中所述的一维低频子带矩阵SROIcA按照步骤八三获得的索引序列T进行置乱,获得置乱后的低频子带置乱序列CSROIcA;
步骤八五、采用高维超混沌系统生成混沌扩散序列Y,舍弃混沌扩散序列Y的前t2个值,从t2+1开始顺序选取LL×LH个值作为低频子带密钥流K,并对K做如下处理:K=int16(mod(floor(K×104),256))
式中,mod为取模函数,floor为向下取整,int16为将矩阵内数值转换为带符号的16位整数;
将所述低频子带密钥流K进行下式操作,生成低频子带扩散密钥流K2:K2=bitxor(K(i1),K)
其中i1=1,2,…,LL×LH;
步骤八六、将步骤八五获得的低频子带扩散密钥流K2与步骤八二所述的一维低频子带矩阵SROIcA进行按位异或运算,获得低频子带加密序列K3:将所述低频子带加密序列K3与步骤八四中获得置乱后的低频子带置乱序列CSROIcA进行按比特异或操作,获得低频子带密文序列C;
步骤八七、将步骤八六获得的低频子带密文序列C变形,变成大小为LL×LH的低频子带密文矩阵EnROIcA,用下式表示为:EnROIcA=reshape(C,LL,LH)
步骤九、将低频子带密文矩阵EnROIcA与步骤七中所述高频子带ROIcH,ROIcV,ROIcD进行拼接,获得感兴趣区域ROI2;拼接方法如下式:ROI2=[EnROIcA,ROIcV;ROIcH,ROIcD];
将所述感兴趣区域ROI2进行混沌加密,获得加密后的感兴趣区域密文EnROI;
步骤十、将步骤九所述感兴趣区域密文EnROI归一化处理,获得归一化感兴趣密文normal_EnROI,将所述归一化感兴趣密文normal_EnROI转换成16位无符号整数类型,生成
16位无符号整数感兴趣区域密文EnROI2;
步骤十一、将步骤十所述的16位无符号整数感兴趣区域密文EnROI2,按照步骤四所述判别为感兴趣区域标志位ROI_flags为1的块位置放回,获得最终加密图像EnImg。
2.根据权利要求1所述的基于信息熵更新密钥的感兴趣区域医学图像混沌加密方法,其特征在于,还包括解密方法,具体的解密过程由以下步骤实现:步骤A、将所述加密图像EnImg分为大小为n×n的图像块B2s,共得M×N/(n×n)个图像块,计算所述图像块B2s内所有像素灰度值的平均值步骤B、加密图像的加密区域判别,判别方法如下:
当平均值 时,则该图像块B2s为加密区域EnROIBk;设置对应的加密区域标志位为1;
当平均值 时,则该图像块B2s为非加密区域;设置对应的加密区域标志位EnROI_flagk为0;k为图像加密区域编号,k=1,2,L,sum(EnROI_flagk),其中EnROI_flka为对应的第k个加密区域的标志位,sum(EnROI_flagk)为EnImg中所有被判别为加密区域的图像块的个数;
步骤C、将步骤B中k个加密区域EnROIBk进行矩阵重排,变形为长度为n×n的加密区域序列SEnROIBk;
并将k个加密区域序列SEnROIBk按照从上向下的顺序组合成矩阵,得到大小为(n×n)×sum(EnROI_flagk)加密区域矩阵EnROI3,对所述加密区域矩阵EnROI3进行归一化处理,获得归一化加密区域矩阵normal_EnROI3,将归一化加密区域矩阵normal_EnROI3进行反归一化处理,得到反归一化加密区域矩阵EnROI4,对所述反归一化加密区域矩阵EnROI4转换为带符号十六位整数,然后进行解密,得到解密矩阵DeROI,具体解密方法如下:步骤C1、选择x'd0=10,y'd0=11,z'd0=10,u'd0=10,ω'd0=10作为加密区域解密密钥;
步骤C2、将大小为DLL×DLH的加密区域EnROI4变形为一维加密区域序列SEnROI;
步骤C3、使用高维超混沌系统生成混沌序列DX,从所述混沌序列DX的第dt1个值开始顺序选取DLL×DLH个值作为加密区域解密密钥流DK,并将所述加密区域解密密钥流DK进行逆扩散操作,生成加密区域逆扩散解密密钥流DK2;
步骤C4、将步骤C3中的加密区域逆扩散解密密钥流DK2与步骤C2中一维加密区域序列SEnROI进行置乱,获得置乱后的一维解密序列CDeROI;
步骤C5、以q'd0作为混沌映射系统初值,将混沌映射系统迭代Time2次,生成混沌序列DQ',Time2的值大于DLL×DLH;
舍弃所述混沌序列DQ'的前dt2个迭代结果,从第dt2+1个值开始顺序选取DLL×DLH个值作为感兴趣区域置乱序列DQ'2;将所述感兴趣区域置乱序列DQ'2进行升序排序,并记录索引值为DT2;
步骤C6、将步骤C4中置乱后的一维解密序列CDeROI与步骤C5中索引值DT2进行逆置乱,获得一维逆置乱解密序列C3;
将所述一维逆置乱解密序列C3变形,变成大小为(n×n)×sum(EnROI_flagk)的解密矩阵DeROI;
步骤D、对步骤C获得的解密矩阵DeROI进行二维离散小波变换,获得四个小波子带,分别为密文低频子带ROIcA2,密文高频子带ROIcH2、密文高频子带ROIcV2和密文高频子带ROIcD2,计算所述低频子带ROIcA2矩阵的大小;
步骤E、根据步骤D中的密文低频子带ROIcA2矩阵的大小计算出解密矩阵DeROI中低频子带加密区域EnROIcA2,高频子带解密矩阵DeROIcH、高频子带解密矩阵DeROIcV和高频子带解密矩阵DeROIcD;
步骤F、将步骤E中的低频子带加密区域EnROIcA2按照步骤C进行混沌解密,获得低频子带解密矩阵DeROIcA;
步骤G、将步骤F中低频子带解密矩阵DeROIcA和步骤E中所述高频子带解密矩阵DeROIcH、高频子带解密矩阵DeROIcV和高频子带解密矩阵DeROIcD进行二维离散小波变换重构,获得解密矩阵DeROI2;
步骤H、将步骤G获得的解密矩阵DeROI2,按照步骤B所述判别为加密区域标志位EnROI_flagk为1的块位置放回,获得最终解密图像DeImg。
3.根据权利要求1所述的基于信息熵更新密钥的感兴趣区域医学图像混沌加密方法,其特征在于:步骤九中,对感兴趣区域ROI2进行混沌加密,获得加密后的感兴趣区域密文EnROI的实现过程为:步骤九一、选择x'0,y'0,z'0,u'0,ω'0作为感兴趣区域加密密钥;将大小为RL×RH感兴趣区域ROI2变形为一维感兴趣区域矩阵SROI;
步骤九二、选择Tent映射生成混沌序列,采用下式进行初值更新;q'0为Tent映射混沌系统初值;
q'0=1/(1+x'0+y'0)
其中,将Tent映射混沌系统迭代TimeR1次,生成混沌序列Q'=[q′1,q'2,L,q′tr1];
步骤九三、舍弃所述混沌序列Q'的前tr1个迭代结果,从第tr1+1个值开始顺序选取RL×RH个值作为感兴趣区域置乱序列Q'2;将Q'2升序排序,并记录索引值,组成索引序列T2;
将步骤九一中所述一维感兴趣区域矩阵SROI,按照步骤九三中获得的索引序列T2进行置乱,获得感兴趣区域置乱序列CSROI;
步骤九四、采用高维超混沌系统生成混沌序列,采用步骤九一所述感兴趣区域加密密钥x'0,y'0,z'0,u'0,ω'0作为混沌系统的初始值,迭代TimeR2次,生成五维混沌矩阵W;将高维混沌矩阵转换为一维混沌序列,记为X;
步骤九五、从所述一维混沌序列X的第tr2个值开始顺序选取RL×RH个值作为感兴趣区域密钥流K4,将所述感兴趣区域密钥流K4进行扩散生成感兴趣区域扩散密钥流K5;
步骤九六、将所述感兴趣区域扩散密钥流K5与步骤九一中所述的一维感兴趣区域矩阵SROI按位异或操作,获得感兴趣区域加密序列K6;
将所述感兴趣区域加密序列K6与步骤九三中感兴趣区域置乱序列CSROI进行按比特异或操作,获得置乱的感兴趣区域加密序列C2;
步骤九七、将步骤九六获得的置乱的感兴趣区域加密序列C2变形,获得加密后的感兴趣区域密文EnROI。
4.根据权利要求2所述的基于信息熵更新密钥的感兴趣区域医学图像混沌加密方法,其特征在于:步骤F中,低频子带加密区域EnROIcA2进行混沌解密,获得低频子带解密矩阵DeROIcA的步骤为:步骤F1、选择xd0,yd0,zd0,ud0,ωd0作为低频子带加密区域解密密钥;将大小为DRL×DRH加密区域EnROIcA2变形为一维低频子带加密序列SEnROI2;
步骤F2、选择高维超混沌系统生成混沌序列,采用步骤F1所述加密密钥xd0,yd0,zd0,ud0,ωd0作为混沌系统的初始参数,迭代TimeDR1次,得到高维混沌矩阵DA,将所述高维混沌矩阵DA转换为混沌扩散序列DY;
步骤F3、在步骤F2中的混沌扩散序列DY的第tdr1个值开始顺序选取DRL×DRH个值作为低频子带解密密钥流DK3,将所述低频子带解密密钥流DK3按位异或操作,生成低频子带逆扩散解密密钥流DK4:步骤F4、将步骤F3所述的低频子带逆扩散解密密钥流DK4与步骤F1所述一维低频子带加密序列SEnROI2进行置乱操作,获得置乱后的一维低频子带解密序列CDeROI2;
步骤F5、计算所述置乱后的一维低频子带解密序列CDeROI2的信息熵,用下式表示为:式中,pi表示像素i的概率,H(CDeROI2)为一维低频子带解密序列CDeROI2的信息熵;
步骤F6、采用下式进行信息熵初值更新,生成Tent映射的混沌系统初值qd0:qd0=(H(CDeROI2)+1)/(1+H(CDeROI2)+xd0+yd0)选择Tent映射生成混沌序列,将Tent映射的混沌系统迭代TimeDR2次,生成混沌序列DQ;
步骤F7、舍弃所述混沌序列DQ的前tdr2个迭代结果,从第tdr2+1个值开始顺序选取DRL×DRH个值作为感兴趣区域置乱序列DQ2;
将所述感兴趣区域置乱序列DQ2升序排序,并记录索引值DT;将步骤F4所述的置乱后的一维低频子带解密序列CDeROI2与所述索引值DT进行逆置乱操作,获得一维低频子带逆置乱解密序列C4;
步骤F8、将步骤F7所述的一维低频子带逆置乱解密序列C4变形,获得低频子带解密矩阵DeROIcA。