一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

基于半张量积压缩感知和混合云的医学图像安全传输方法

2022-07-23 02:21:31 来源:中国专利 TAG:


1.本发明涉及图像加密技术领域,尤其涉及一种基于半张量积压缩感知和混合云的医学图像安全传输方法。


背景技术:

2.随着云技术的发展,人们可以利用云服务器来提高计算效率,实现信息的实时共享。因此,近年来远程医疗技术在我国的农村和城市地区逐渐得到了广泛的应用。通过远程医疗诊断技术,一些资源紧张的地区可以将患者的诊断照片通过云端传输到医疗中心进行诊断,这不仅可以大大降低运送患者的时间和成本,而且可以使医生突破地域范围的限制,共享患者的病历和诊断照片,有利于临床研究的发展。但是,由于互联网是一个开放的平台,要实现医学图像数据的高效传输和存储,还存在一些关键问题需要解决。
3.第一个问题是低功耗的限制,以提高计算效率和节省存储资源。由于压缩感知(compressive sensing,cs)可以同时对稀疏信号进行压缩和采样,并通过求解凸优化过程成功重建信号。因此,如果将cs应用于数据的传输和存储,可以有效降低计算和存储的开销。因此,cs被广泛用于多媒体数据的采集、传输和存储(unde a s,deepthi p p.design and analysis of compressive sensing basedlightweight encryption scheme for multimedia iot.ieeetransactions on circuits and systems ii:express briefs,2019,67(1):167-171.)。
4.第二问题是为了防止图像信息泄露,必须保护图像的隐私性。因此,一些学者基于cs设计了多种加密方案,以保证图像数据在传输和存储中的保密性和安全性。chen等人(chen t h,zhang m,wu j,yuen c,tong y.image encryption and compression based on kronecker compressed sensing and elementary cellular automata scrambling.optics&laser technology,2016,84:118-133.)使用kronecker cs和初等元胞自动机来实现图像压缩和加密。yao等人(yao s y,chen l f,zhong y.an encryption system for color image based on compressive sensing.optics and laser technology,2019,120:105703.)提出了一种基于cs的新型彩色图像加密算法,并使用图像交叉置乱来抵抗统计分析攻击。xie等人(xie y q,yu j y,guo s y,ding q,wang e.image encryption scheme with compressed sensing based on new three-dimensional chaotic system.entropy,2019,21(9):819.)设计了一种基于新三维混沌系统的压缩感知图像加密方案。然而,上述工作中仍存在一些不足之处。chen使用的密钥与明文图像无关,这导致该方案容易受到选择明文攻击。yao和xie在加密过程中没有扩散操作,导致算法安全性降低。同时,为了更安全地进行信号采样,大尺寸的测量矩阵必须每次更新,导致算法的效率有所降低。
5.第三个问题是攻击者可能在传输或存储的过程中篡改信号,从而对合法接收者构成危害。此外,在使用云服务器进行信号处理时,云有时会恶意欺骗用户,随意返回给用户错误的结果,然而部分算法则缺少防止云的恶意欺骗的安全认证。而信息认证技术是实现
信息完整性的重要保障。zhang等人(zhang y s,xiang y,zhang l y,yang l x,zhou j t.efficiently and securely outsourcing compressed sensing reconstruction to a cloud.information sciences,2019,496:150-160.)首先为cs重建设计了一个安全高效的外包方案,有效地验证了数据的真实性。后来,他们利用级联混沌系统和cs提出了一种新的方案(zhang y s,he q,chen g,zhang x p,xiang y.a low-overhead,confidentiality-assured,and authenticated data acquisition framework for iot.ieee transactions on industrial informatics,2019,16(12):7566-7578.),采用不同的认证方法来处理被动和主动的篡改攻击。在此基础上,他们以cs和雾计算为底层框架,设计了工业大数据的安全传输方案(zhang y s,wang p,huang h,zhu y w,xiao d,xiang y.privacy-assured fogcs:chaotic compressive sensing for secure industrial big image data processing in fog computing.ieeetransactions on industrial informatics,2021,17(5):3401-3411.)。上述算法虽然在传输和存储过程中实现了数据的真实性认证,达到了良好的保密性和安全性,但需要两次cs测量和重构才能实现认证,降低了数据传输的效率,不利于物联网大数据的高效处理。


技术实现要素:

6.为了解决目前部分基于压缩感知的图像加密算法中算法安全性有限,以及在云上进行加密存在的一些安全和效率等问题,本发明提供一种基于半张量积压缩感知(semi-tensor productcompressed sensing,stp-cs)和混合云的医学图像安全传输方法。
7.第一方面,本发明提供一种基于半张量积压缩感知和混合云的医学图像加密方法,应用于发送端,包括:
8.步骤1:根据原始医学图像p的哈希密钥和给定的外部密钥生成混沌序列,并利用混沌序列生成测量矩阵;
9.步骤2:对所述原始医学图像p进行边缘检测,根据边缘检测结果将认证图像嵌入至所述原始医学图像p中得到含有认证信息的图像p1,并将嵌入密钥、哈希密钥和外部密钥发送至接收端;
10.步骤3:利用所述混沌序列对所述图像p1进行稀疏和置乱,得到置乱后的稀疏矩阵p3,将所述稀疏矩阵p3上传至边缘云;
11.步骤4:在边缘云上,利用所述测量矩阵对所述稀疏矩阵p3进行测量和量化,得到量化后的矩阵p5;
12.步骤5:在边缘云上,对所述矩阵p5进行编码得到第一认证序列,然后将所述第一认证序列存储至中心云上;
13.步骤6:在边缘云上,利用所述混沌序列对所述矩阵p5进行扩散,得到密文图像,然后将所述密文图像存储至中心云上。
14.进一步地,步骤1中的生成混沌序列具体包括:
15.步骤1.1:利用哈希函数为所述原始医学图像生成哈希密钥,根据所述哈希密钥和给定的外部密钥按照公式(1)生成2d-lscm混沌系统的两组初始值和参数:x0,y0,z0,w0,u0和k0:
[0016][0017]
其中,x0和y0表示2d-lscm混沌系统的其中一组初始值,u0表示该组初始值对应的参数;z0和w0表示2d-lscm混沌系统的另一组初始值,k0表示该组初始值对应的参数;ki表示第i组哈希密钥,i=1,2,

,32;t1,t2,t3和t4表示给定的外部密钥;

表示按位进行异或运算,|表示按位进行或运算,&表示按位进行与运算;
[0018]
步骤1.2:根据两组所述初始值和对应的参数,利用所述2d-lscm混沌系统生成四个混沌序列,分别记作x0、y0、z0和w0。
[0019]
进一步地,步骤2中的得到含有认证信息的图像p1具体包括:
[0020]
步骤2.1:将所述原始医学图像p分割为若干个相同大小的非重叠图像块b;
[0021]
步骤2.2:采用prewitt边缘检测方法对所有的图像块b进行检测得到图像b
p

[0022]
步骤2.3:计算所述图像b
p
中各个图像块的有效度,将有效度小于预设阈值的图像块记为无意义的图像块;
[0023]
步骤2.4:保存无意义的图像块在所述图像b
p
中的坐标;
[0024]
步骤2.5:选取任意一个无意义的图像块,根据其在所述图像b
p
中的坐标在所述原始医学图像p找到对应位置,将认证图像au嵌入至对应的所述位置得到含有认证信息的图像p1。
[0025]
进一步地,步骤3中的得到置乱后的稀疏矩阵p3具体包括:
[0026]
步骤3.1:利用离散小波变换稀疏基ψ对所述图像p1进行稀疏化,得到稀疏系数矩阵p2;
[0027]
步骤3.2:将所述稀疏系数矩阵p2转换为一维序列l1,对混沌序列z0中各元素按序排列得到索引序列s1,使用所述索引序列s1按照公式(5)对所述一维序列l1进行置乱得到序列l2,将所述序列l2重新组合成与所述原始医学图像大小相同的稀疏矩阵p3;
[0028]
l2(s1(k))=l1(k)
ꢀꢀꢀꢀꢀꢀꢀ
(5)
[0029]
其中,k表示元素坐标。
[0030]
进一步地,步骤1中的利用混沌序列生成测量矩阵具体包括:
[0031]
使用公式(6)对混沌序列x0和y0预处理得到序列x1、y1和xy1,根据序列xy1中各元素取值分别从所述序列x1中和所述序列y1中选取对应位置的元素作为新的序列xy中对应位置的元素以得到新的序列xy,将所述序列xy重新组合成随机矩阵φ1;从所述随机矩阵φ1中选取部分元素构造得到测量矩阵φ;
[0032][0033]
对应地,步骤4具体包括:
[0034]
步骤4.1:使用所述测量矩阵φ按照公式(7)对所述稀疏矩阵p3进行测量得到测量
值矩阵p4;
[0035][0036]
其中,表示半张量积;
[0037]
步骤4.2:利用公式(8)对所述测量值矩阵p4进行量化得到量化后的矩阵p5;
[0038][0039]
其中,min表示测量值矩阵p4的最小值,max表示测量值矩阵p4的最大值,round(x)表示最接近x的整数。
[0040]
进一步地,步骤5中的得到第一认证序列具体包括:
[0041]
从所述矩阵p5的各行中均选择一个元素以构成序列l,按照公式(9)对所述序列l进行编码得到一个二进制序列ds,将所述二进制序列ds作为第一认证序列:
[0042][0043]
其中,i表示元素坐标,mod表示取模运算。
[0044]
进一步地,步骤6中的对所述矩阵p5进行扩散具体包括:
[0045]
步骤6.1:将所述矩阵p5分割成四个大小相同的非重叠矩阵pa、pb、pc和pd,将四个矩阵pa、pb、pc和pd分别转化成四个大小相同的序列pa1、pb1、pc1和pd1;并对混沌序列z0和w0的部分元素进行预处理得到序列z1和w1,将序列z1和w1分别进行分段操作从而各自得到四个大小相同的非重复序列z
a1
、z
b1
、z
c1
、z
d1
和w
a1
、w
b1
、w
c1
、w
d1

[0046]
步骤6.2:对序列pa1、pb1和pc1分别进行按序排列得到索引序列sa、sb和sc;利用所述索引序列sa、sb和sc对应地来对所述序列z
b1
、z
c1
、z
d1
进行置乱得到置乱后的序列z
b2
、z
c2
、z
d2

[0047]
步骤6.3:按照公式(12)将所述序列z
a1
、z
b2
、z
c2
和z
d2
映射到[-7,7]之间的整数,得到四个序列z
a3
、z
b3
、z
c3
和z
d3

[0048][0049]
其中,i表示元素坐标,floor表示向下取整运算,mod表示取模运算;
[0050]
步骤6.4:将序列pa1、pb1、pc1、pd1转化为二进制序列pa2、pb2、pc2、pd2,按照公式(13)使用序列z
a3
、z
b3
、z
c3
、z
d3
来分别控制二进制序列pa2、pb2、pc2、pd2的循环移位,并使用序列w
a1
、w
b1
、w
c1
、w
d1
对循环移位后的序列进行异或操作得到序列pa3、pb3、pc3、pd3;
[0051][0052]
其中,bin2dec(x)表示将二进制字符x转换为十进制数值;circshift(x,[0,y])代表二进制字符x整体向右循环移位y个位置;
[0053]
步骤6.5:将序列pa3、pb3、pc3、pd3重新组合到一起得到矩阵c,所述矩阵c即为密文图像。
[0054]
第二方面,本发明提供一种基于半张量积压缩感知和混合云的医学图像解密方法,应用于接收端,包括:
[0055]
步骤1:接收发送端发送的嵌入密钥、哈希密钥和外部密钥,根据所述哈希密钥和所述外部密钥生成混沌序列;
[0056]
步骤2:从中心云上将密文图像c和第一认证序列下载至边缘云上,然后在边缘云上利用所述混沌序列对密文图像c进行逆扩散,得到矩阵p5′

[0057]
步骤3:在边缘云上,对所述矩阵p5′
进行编码得到第二认证序列,若所述第一认证序列和所述第二认证序列一致,则表示中心云上的所述密文图像c未经篡改并继续后续操作,否则拒绝接收;
[0058]
步骤4:在边缘云上,将所述矩阵p5′
进行逆量化,得到矩阵p4′

[0059]
步骤5:在边缘云上,根据所述混沌序列生成测量矩阵,利用所述测量矩阵对矩阵p4′
进行恢复得到矩阵p3′

[0060]
步骤6:从边缘云上下载矩阵p3′
,利用所述混沌序列对矩阵p3′
进行逆置乱和逆稀疏,得到图像p1′

[0061]
步骤7:利用所述嵌入密钥从所述图像p1′
中提取出认证图像au

并得到解密图像p

,将所述认证图像au

和已拥有的认证图像au进行比较,若比较结果小于设定误差阈值,则认为所述解密图像p

正确。
[0062]
进一步地,所述步骤2中的对密文图像c进行逆扩散具体包括:
[0063]
步骤2.1:将密文图像c分割成四个大小相同的矩阵并将四个矩阵分别转化成四个大小相同的序列pa4、pb4、pc4、pd4;对步骤1中生成的混沌序列z0和w0进行预处理得到序列z1和w1,将序列z1和w1分别进行分段操作从而各自得到四个大小相同的非重复序列z
a1
、z
b1
、z
c1
、z
d1
和w
a1
、w
b1
、w
c1
、w
d1

[0064]
步骤2.2:将序列z
a1
代入公式(12)中得到序列z
a3
,使用序列w
a1
对序列pa4进行异或操作得到二进制序列pa3,按照公式(17)使用序列z
a3
来控制二进制序列pa3的循环移位得到二进制序列pa2,将二进制序列pa2重新转化为十进制序列pa1;
[0065]
步骤2.3:对序列pa1进行按序排列得到索引序列sa,利用所述索引序列sa对所述序列z
b1
进行置乱得到置乱后的序列z
b2
,按照公式(12)得到序列z
b3
,使用序列w
b1
对序列pb4进行异或操作得到二进制序列pb3,按照公式(17)使用序列z
b3
来控制二进制序列pb3的循环移位得到二进制序列pb2,将二进制序列pb2重新转化为十进制序列pb1;
[0066]
对序列pb1进行按序排列得到索引序列sb,利用所述索引序列sb对所述序列z
c1
进行置乱得到置乱后的序列z
c2
,按照公式(12)得到序列z
c3
,使用序列w
c1
对序列pc4进行异或操作得到二进制序列pc3,按照公式(17)使用序列z
c3
来控制二进制序列pc3的循环移位得到二进制序列pc2,将二进制序列pc2重新转化为十进制序列pc1;
[0067]
对序列pc1进行按序排列得到索引序列sc,利用所述索引序列sc对所述序列z
d1
进行置乱得到置乱后的序列z
d2
,按照公式(12)得到序列z
d3
,使用序列w
d1
对序列pd4进行异或操作得到二进制序列pd3,按照公式(17)使用序列z
d3
来控制二进制序列pd3的循环移位得到二进制序列pd2,将二进制序列pd2重新转化为十进制序列pd1;
[0068][0069][0070]
步骤2.4:将序列pa1、pb1、pc1和pd1分别转换成四个相同大小的矩阵pa、pb、pc和pd,并根据公式(18)对四个矩阵重新组合,得到矩阵p5′

[0071][0072]
第三方面,本发明还提供一种基于半张量积压缩感知和混合云的医学图像安全传输方法,包括:
[0073]
第一卫生中心采用权利要求1-7任一所述的加密方法对原始医学图像进行加密后以传输至第二卫生中心;
[0074]
第二卫生中心采用权利要求8或9所述的解密方法对密文图像进行解密后以进行后续诊断。
[0075]
本发明的有益效果:
[0076]
(1)本发明在混合云环境下设计基于stp-cs的图像安全传输算法,保证了图像在传输过程中的安全性和高效性。首先根据边缘检测,认证信息被嵌入到图像的非敏感区域,以保护数据的真实性;其次利用stp-cs对图像进行测量和加密,从而提高了数据传输的效率。
[0077]
(2)本发明建立了两层认证机制,防止篡改攻击。在明文图像传输到边缘云之前,利用边缘检测算法将认证图像嵌入到明文图像的非重要区域,避免存储在边缘云上的医学图像被篡改和欺骗。在图像传输到中心云之前,认证信息再次被嵌入到图像中,以避免存储在中心云上的图像受到篡改攻击。
[0078]
(3)本发明中扩散操作是一种新的基于混沌序列的自适应循环移位扩散操作。在扩散图像之前,利用量化后矩阵对混沌序列进行预处理,生成控制循环移位的参数,之后用这些生成的参数来控制量化矩阵的循环移位扩散,有效降低了图像相邻像素的相关性,增强了算法的安全性。此外,还对量化的测量值进行了编码,这可以作为防篡改认证。
附图说明
[0079]
图1为本发明实施例提供的基于半张量积压缩感知和混合云的医学图像加密方法的流程示意图;
[0080]
图2为本发明实施例提供的边缘检测及认证图像的嵌入的示意图;
[0081]
图3为本发明实施例提供的扩散过程示意图:(a)位移量序列的生成示意图;(b)为自适应循环移位的示意图;
[0082]
图4为本发明实施例提供的基于半张量积压缩感知和混合云的医学图像解密方法
的流程示意图;
[0083]
图5为本发明实施例提供的基于半张量积压缩感知和混合云的医学图像安全传输方法的流程示意图;
[0084]
图6为本发明实施例提供的加密和解密效果图:(a)明文brone;(b)密文brone;(c)解密brone;
[0085]
图7为本发明实施例提供的brone图像解密密钥敏感性测试结果:(a)t1 10-14
的解密图;(b)t2 10-14
的解密图;(c)t3 10-14
的解密图;(d)t4 10-14
的解密图;
[0086]
图8为本发明实施例提供的:(a)明文图像的直方图;(b)密文图像的直方图;
[0087]
图9为本发明实施例提供的:(a)左上角被嵌入信息的原始图像,(b)左上角含有嵌入信息的解密图像,(c)嵌入信息提取之后的解密图像。
具体实施方式
[0088]
为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0089]
实施例1
[0090]
如图1所示,本发明实施例提供一种基于半张量积压缩感知和混合云的医学图像加密方法,应用于发送端,包括以下步骤:
[0091]
s101:根据原始医学图像p的哈希密钥和给定的外部密钥生成混沌序列,并利用混沌序列生成测量矩阵;
[0092]
s102:对所述原始医学图像p进行边缘检测,根据边缘检测结果将认证图像嵌入至所述原始医学图像p中得到含有认证信息的图像p1,并将嵌入密钥、哈希密钥和外部密钥发送至接收端;
[0093]
具体地,由于云平台是半可信的,因此需要确保云对数据进行处理时候不会随意返回计算结果,因此为了保证数据的真实性,本发明实施例采用在图像上传云平台之前在其中嵌入认证信息。
[0094]
s103:利用所述混沌序列对所述图像p1进行稀疏和置乱,得到置乱后的稀疏矩阵p3,将所述稀疏矩阵p3上传至边缘云;
[0095]
s104:在边缘云上,利用所述测量矩阵对所述稀疏矩阵p3进行测量和量化,得到量化后的矩阵p5;
[0096]
s105:在边缘云上,对所述矩阵p5进行编码得到第一认证序列,然后将所述第一认证序列存储至中心云上;
[0097]
具体地,为了确保中心云返回的结果是正确的,本发明实施例在将图像上传到中心云前对其进行编码,以便后续接收到中心云的返回结果后根据该第一认证序列对该返回结果进行验证。
[0098]
s106:在边缘云上,利用所述混沌序列对所述矩阵p5进行扩散,得到密文图像,然后将所述密文图像存储至中心云上。
[0099]
本发明实施例提供的基于半张量积压缩感知和混合云的医学图像加密方法,首先
和y0;其中n0≥500。
[0113]
按照同样的方法,将另一组初始值z0、w0和参数k0代入公式(2)所示的2d-lscm中迭代m
×
n n0次,舍弃前n0个值,得到两个大小为1
×
mn的混沌序列z0和w0。其中n0≥500,m和n为明文图像的尺寸。
[0114]
s202:对所述原始医学图像p进行边缘检测,根据边缘检测结果将认证图像嵌入至所述原始医学图像p中得到含有认证信息的图像p1,并将嵌入密钥、哈希密钥和外部密钥发送至接收端;本步骤中的得到含有认证信息的图像p1包括以下子步骤:
[0115]
s2021:将所述原始医学图像p分割为若干个相同大小的非重叠图像块b;
[0116]
s2022:采用prewitt边缘检测方法对所有的图像块b进行检测得到图像b
p

[0117]
s2023:计算所述图像b
p
中各个图像块的有效度,将有效度小于预设阈值的图像块记为无意义的图像块;可以理解,有意义的图像块也称为敏感图像块,无意义的图像块也称为非敏感图像块。
[0118]
作为一种可实施方式,以计算图像b
p
中的图像块b
p
(i,j)的有效度为例,计算过程如下:首先计算图像块b
p
(i,j)中的像素值不为零的个数bs(i,j),然后使用s(i,j)=bs(i,j)/ms计算得到其有效度s(i,j);其中,ms表示每个图像块的像素总数。此外,假设在步骤s2021中,每个非重叠图像块b的大小为b
×
b,则可以理解此处的i,j的取值范围为:1≤i≤m/b,1≤j≤n/b。
[0119]
为了说明医学图像p中的某个图像块是否可以嵌入认证图像,首先设定阈值t,并且0≤t≤1,对于图像块b
p
(i,j),当s(i,j)≥t时,表示图像块b
p
(i,j)是有意义的,即不可以嵌入认证图像,将该图像块记为“1”;当s(i,j)<t时,表示图像块b
p
(i,j)是无意义的,即可以嵌入认证图像,将该图像块记为“0”,最终得到一个元素为0或者1的矩阵,即图像b
p
。需要说明的是,有意义的图像块的取值和无意义的图像块的取值只要不同就可,并不局限于“1”和“0”的取值。
[0120]
s2024:保存无意义的图像块在所述图像b
p
中的坐标;
[0121]
s2025:选取任意一个无意义的图像块,根据其在所述图像b
p
中的坐标在所述原始医学图像p找到对应位置,将认证图像au嵌入至对应的所述位置得到含有认证信息的图像p1。
[0122]
可以理解,原始医学图像p中可能含有多个无意义图像块,而只需要将认证图像嵌入至其中一个图像块中即可达到保证数据真实性的目的。
[0123]
例如,将由边缘检测得到的第一个无意义图像块的坐标记作b
p
(i0,j0),根据b
p
(i0,j0)找到原始医学图像p中与之相对应的位置,然后将认证图像au嵌入至对应的所述位置得到含有认证信息的图像p1,如图2所示的边缘检测及认证图像的嵌入的过程示意图。
[0124]
s203:利用所述混沌序列对所述图像p1进行稀疏和置乱,得到置乱后的稀疏矩阵p3,将所述稀疏矩阵p3上传至边缘云;本步骤中的得到置乱后的稀疏矩阵p3具体包括以下子步骤:
[0125]
s2031:利用离散小波变换稀疏基ψ对所述图像p1进行稀疏化,得到稀疏系数矩阵p2;该过程如公式(3)所示:
[0126]
p2=ψ
×
p1×
ψ
′ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(3)
[0127]
s2032:将所述稀疏系数矩阵p2转换为一维序列l1,对大小为1
×
mn的混沌序列z0中
各元素按序排列(例如,按照升序或者按照降序进行排列;本发明实施例中以按照升序排列为例)得到索引序列s1(该过程可采用公式(4)表示)使用所述索引序列s1按照公式(5)对所述一维序列l1进行置乱得到序列l2,将所述序列l2重新组合成与所述原始医学图像大小相同的稀疏矩阵p3;
[0128]
[z
′1,s1]=sort(z0)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(4)
[0129]
l2(s1(k))=l1(k)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(5)
[0130]
其中,k表示元素坐标,1≤k≤mn。
[0131]
s204:在边缘云上,利用所述测量矩阵对所述稀疏矩阵p3进行测量和量化,得到量化后的矩阵p5;
[0132]
在此,首先对步骤s201中的利用混沌序列生成测量矩阵的过程进行介绍,作为一种可实施方式,该过程具体包括:
[0133]
首先,使用公式(6)对大小为1
×
r2的混沌序列x0和y0预处理得到序列x1、y1和xy1,根据序列xy1中各元素取值分别从所述序列x1中和所述序列y1中选取对应位置的元素作为新的序列xy中对应位置的元素以得到新的序列xy,将所述序列xy重新组合成随机矩阵φ1;
[0134][0135]
例如,若xy1(i)=0,则选择混沌序列x1的第i个元素作为序列xy的第i个元素;若xy1(i)=1,则选择混沌序列y1的第i个元素作为序列xy的第i个元素;最后将序列xy组合成大小为r
×
r的随机矩阵φ1。
[0136]
然后,从所述随机矩阵φ1中选取部分元素构造得到测量矩阵φ;
[0137]
例如,选取随机矩阵φ1的部分行序列去构造大小为q
×
r的测量矩阵φ,其中q《r;其中q=m/4,r=m/4,m=cr
×
m,cr为压缩率。
[0138]
对应地,步骤s204具体包括:
[0139]
s2041:使用所述测量矩阵φ按照公式(7)对所述稀疏矩阵p3进行测量得到测量值矩阵p4;
[0140][0141]
其中,表示半张量积;
[0142]
例如,使用测量矩阵φ对稀疏矩阵p3进行测量得到一个大小为m
×
n的测量值矩阵p4;
[0143]
s2042:利用公式(8)对所述测量值矩阵p4进行量化得到量化后的矩阵p5;
[0144][0145]
其中,min表示测量值矩阵p4的最小值,max表示测量值矩阵p4的最大值,round(x)表示最接近x的整数。通过量化,矩阵p5的各元素取值位于0到255之间。
[0146]
s205:在边缘云上,对所述矩阵p5进行编码得到第一认证序列,然后将所述第一认证序列存储至中心云上;
[0147]
具体地,从所述矩阵p5的各行中均选择一个元素以构成序列l,按照公式(9)对所述序列l进行编码得到一个二进制序列ds,将所述二进制序列ds作为第一认证序列:
[0148][0149]
其中,i表示元素坐标,mod表示取模运算。
[0150]
例如,矩阵p5的大小为m
×
n,则依次从m行中各选择一个元素可构成一个大小1
×
m的序列l;更进一步地,l(i)=p5(i,i),1≤i≤m。
[0151]
s206:在边缘云上,利用所述混沌序列对所述矩阵p5进行扩散,得到密文图像,然后将所述密文图像存储至中心云上。本步骤中的对所述矩阵p5进行扩散具体包括以下子步骤:
[0152]
s2061:将所述矩阵p5分割成四个大小相同的非重叠矩阵pa、pb、pc和pd,将四个矩阵pa、pb、pc和pd分别转化成四个大小相同的序列pa1、pb1、pc1和pd1;参见图3中子图(a)的“p(i)
1”阶段;并对混沌序列z0和w0的部分元素进行预处理得到序列z1和w1,将序列z1和w1分别进行分段操作从而各自得到四个大小相同的非重复序列z
a1
、z
b1
、z
c1
、z
d1
和w
a1
、w
b1
、w
c1
、w
d1

[0153]
例如,矩阵p5的大小为m
×
n,则非重叠矩阵pa、pb、pc和pd的大小均为m/2
×
n/2;对应地,序列pa1、pb1、pc1和pd1的大小均为1
×
mn/4;
[0154]
例如,按照公式(10)对混沌序列z0和w0的前(m
×
n)个元素进行预处理得到序列z1和w1;
[0155][0156]
其中,abs表示取绝对值运算;
[0157]
例如,序列z1和w1的大小为1
×
mn,非重复序列z
a1
、z
b1
、z
c1
、z
d1
和w
a1
、w
b1
、w
c1
、w
d1
的大小均为1
×
mn/4。
[0158]
s2062:对序列pa1、pb1和pc1分别进行按序排列(例如,按照升序或者按照降序进行排列;本发明实施例中以按照升序排列为例)得到索引序列sa、sb和sc;参见图3中的“z(i)
1”阶段;利用所述索引序列sa、sb和sc对应地来对所述序列z
b1
、z
c1
、z
d1
进行置乱得到置乱后的序列z
b2
、z
c2
、z
d2
,置乱过程如公式(11);参见图3中子图(a)的“z(i)
2”阶段;
[0159][0160]
其中v为序列中元素坐标。
[0161]
s2063:按照公式(12)将所述序列z
a1
、z
b2
、z
c2
和z
d2
映射到[-7,7]之间的整数,得到四个序列z
a3
、z
b3
、z
c3
和z
d3
;参见图3中子图(a)的“z(i)
3”阶段;
[0162][0163]
其中,i表示元素坐标,floor表示向下取整运算,mod表示取模运算;在上文举例的基础上,可以理解,1≤i≤mn/4;
[0164]
s2064:将序列pa1、pb1、pc1、pd1转化为二进制序列pa2、pb2、pc2、pd2,按照公式(13)使用序列z
a3
、z
b3
、z
c3
、z
d3
来分别控制二进制序列pa2、pb2、pc2、pd2的循环移位,并使用序列w
a1
、w
b1
、w
c1
、w
d1
对循环移位后的序列进行异或操作得到序列pa3、pb3、pc3、pd3;参见图3中的子图(b);
[0165][0166]
其中,bin2dec(x)表示将二进制字符x转换为十进制数值;circshift(x,[0,y])代表二进制字符x整体向右循环移位y个位置;
[0167]
s2065:将序列pa3、pb3、pc3、pd3重新组合到一起得到矩阵c,所述矩阵c即为密文图像。
[0168]
例如,在上文举例的基础上,序列pa3、pb3、pc3、pd3的大小均为1
×
mn/4,则可以理解,最终密文图像的大小为m
×
n。如图3所示的扩散过程示意图。
[0169]
实施例3
[0170]
对应上述的基于半张量积压缩感知和混合云的医学图像加密方法,如图4所示,本发明实施例提供一种相应的解密方法,应用于接收端,包括以下步骤:
[0171]
s301:接收发送端发送的嵌入密钥、哈希密钥和外部密钥,根据所述哈希密钥和所述外部密钥生成混沌序列;
[0172]
具体地,生成混沌序列的过程可以参考上述实施例2中的步骤s201,可得到混沌序列x0、y0、z0、w0;此处不再赘述。
[0173]
s302:从中心云上将密文图像c和第一认证序列下载至边缘云上,然后在边缘云上利用所述混沌序列对密文图像c进行逆扩散,得到矩阵p5′

[0174]
s303:在边缘云上,对所述矩阵p5′
进行编码得到第二认证序列,若所述第一认证序列和所述第二认证序列一致,则表示中心云上的所述密文图像c未经篡改并继续后续操作,否则拒绝接收;
[0175]
具体地,对矩阵p5′
的各行中均选择一个元素以构成序列l

,按照公式(14)进行编码得到二进制序列ds

,将二进制序列ds

作为第二认证序列;例如,矩阵p5′
的大小为m
×
n,则依次从m行中各选择一个元素可构成一个大小1
×
m的序列l

;更进一步地,l

(i)=p5′
(i,i),1≤i≤m。
[0176]
接着,比较二进制序列ds

和ds,如果|ds-ds

|=0,表明密文图像在中心云存储的期间没有被篡改。
[0177][0178]
s304:在边缘云上,将所述矩阵p5′
进行逆量化,得到矩阵p4′

[0179]
具体地,逆量化过程表示为公式(15)所示:
[0180][0181]
其中,min、max分别代表矩阵p5′
的最小值和最大值。
[0182]
s305:在边缘云上,根据所述混沌序列生成测量矩阵,利用所述测量矩阵对矩阵p4′
进行恢复得到矩阵p3′

[0183]
具体地,生成测量矩阵的过程可以参考上述实施例2中的步骤s204,得到测量矩阵φ;然后根据omp算法,使用测量矩阵φ来恢复矩阵p4′
得到大小为m
×
n的矩阵p3′

[0184]
s306:从边缘云上下载矩阵p3′
,利用所述混沌序列对矩阵p3′
进行逆置乱和逆稀疏,得到图像p1′

[0185]
具体地,对混沌序列z0中各元素按序排列(例如,按照升序或者按照降序进行排列;本发明实施例中以按照升序排列为例)得到索引序列s1;将矩阵p3′
转换为一维序列l2;然后利用索引序列s1对序列l2进行逆置乱得到序列l1(该过程可采用公式(16)表示),最后将序列l1转换为稀疏系数矩阵p2′
;对逆置乱后的稀疏系数矩阵p2′
进行逆稀疏操作,最终得到m
×
n的图像p1′

[0186]
l2(k)=l1(s1(k))
ꢀꢀꢀꢀꢀꢀ
(16)
[0187]
其中,k表示元素坐标;
[0188]
s307:利用所述嵌入密钥从所述图像p1′
中提取出认证图像au

并得到解密图像p

,将所述认证图像au

和已拥有的认证图像au进行比较,若比较结果小于设定误差阈值,则认为所述解密图像p

正确。
[0189]
作为一种可实施方式,上述的步骤s302中的对密文图像c进行逆扩散具体包括:
[0190]
s3021:将密文图像c分割成四个大小相同的矩阵并将四个矩阵分别转化成四个大小相同的序列pa4、pb4、pc4、pd4;对步骤s301中生成的混沌序列z0和w0进行预处理得到序列z1和w1,将序列z1和w1分别进行分段操作从而各自得到四个大小相同的非重复序列z
a1
、z
b1
、z
c1
、z
d1
和w
a1
、w
b1
、w
c1
、w
d1

[0191]
例如,若密文图像c的大小为m
×
n,序列pa4、pb4、pc4、pd4的大小均为1
×
mn/4;
[0192]
例如,按照公式(10)对混沌序列z0和w0进行预处理得到序列z1和w1;
[0193][0194]
例如,若序列z1和w1的大小均为1
×
mn,则非重复序列z
a1
、z
b1
、z
c1
、z
d1
和w
a1
、w
b1
、w
c1
、w
d1
的大小均为1
×
mn/4。
[0195]
s3022:将序列z
a1
代入公式(12)中得到序列z
a3
,使用序列w
a1
对序列pa4进行异或操作得到二进制序列pa3,按照公式(17)使用序列z
a3
来控制二进制序列pa3的循环移位得到二进制序列pa2,将二进制序列pa2重新转化为十进制序列pa1;
[0196]
s3023:对序列pa1进行按序排列得到索引序列sa,利用所述索引序列sa对所述序列z
b1
进行置乱得到置乱后的序列z
b2
,按照公式(12)得到序列z
b3
,使用序列w
b1
对序列pb4进行异或操作得到二进制序列pb3,按照公式(17)使用序列z
b3
来控制二进制序列pb3的循环移位得到二进制序列pb2,将二进制序列pb2重新转化为十进制序列pb1;
[0197]
对序列pb1进行按序排列得到索引序列sb,利用所述索引序列sb对所述序列z
c1
进行置乱得到置乱后的序列z
c2
,按照公式(12)得到序列z
c3
,使用序列w
c1
对序列pc4进行异或操作得到二进制序列pc3,按照公式(17)使用序列z
c3
来控制二进制序列pc3的循环移位得到二进制序列pc2,将二进制序列pc2重新转化为十进制序列pc1;
[0198]
对序列pc1进行按序排列得到索引序列sc,利用所述索引序列sc对所述序列z
d1
进行
置乱得到置乱后的序列z
d2
,按照公式(12)得到序列z
d3
,使用序列w
d1
对序列pd4进行异或操作得到二进制序列pd3,按照公式(17)使用序列z
d3
来控制二进制序列pd3的循环移位得到二进制序列pd2,将二进制序列pd2重新转化为十进制序列pd1;
[0199][0200][0201]
s3024:将序列pa1、pb1、pc1和pd1分别转换成四个相同大小的矩阵pa、pb、pc和pd,并根据公式(18)对四个矩阵重新组合,得到矩阵p5′

[0202][0203]
作为一种可实施方式,上述的步骤s307具体包括:
[0204]
s3071:将图像p1′
分割为若干个相同大小(例如大小为b
×
b)的非重叠图像块b


[0205]
s3072:根据所述嵌入密钥从所有的非重叠图像块b

中找到对应的嵌入有认证图像的图像块并在图像p1′
中确定该图像块的位置以提取出认证图像au

并得到解密图像p


[0206]
例如,嵌入密钥b
p
(1,1)即对应图像p1′
中的左上角位置大小为b
×
b的图像块,从中解密得到认证图像au

并得到解密图像p


[0207]
s3073:根据公式(19)计算认证图像au和au

的l2范数距离μ;或者,分别计算得到认证图像au和au

的峰值信噪比并计算得到二者之间的峰值信噪比差值;
[0208][0209]
s3074:若μ值小于设定误差阈值ε1,则认为所述解密图像p

正确;或者若所述峰值信噪比差值的绝对值小于设定误差阈值ε2,则认为所述解密图像p

正确。否则就认为加密图像已被篡改,拒绝此次解密结果。
[0210]
需要说明的是,由于把认证信息从解密图像中提取出来会留下一个全黑矩阵块,此时可采用该矩阵块的周围像素对该全黑矩阵块进行补全。
[0211]
实施例4
[0212]
如图5所示,本发明实施例提供一种基于半张量积压缩感知和混合云的医学图像安全传输方法,总体流程包括了八个步骤,其中前四个步骤是第一卫生中心把患者的医学图像传输到第二卫生中心的过程,后四个步骤是第二卫生中心对得到的医学影像进行诊断,然后把诊断结果以图像的方式加密传输到第一卫生中心的过程。具体如下:
[0213]
(1)第一卫生中心(例如下级卫生中心)到第二卫生中心(例如医学诊断中心)的过程:
[0214]
下级卫生中心按照上述实施例中加密方法中的相关步骤使用本地服务器对原始医学图像进行预处理后上传至对应的边缘云服务器,所述预处理包括对所述原始医学图像
进行边缘检测和嵌入认证信息,以及进行稀疏和置乱;
[0215]
在边缘云服务器上,按照上述实施例中加密方法中的相关步骤对预处理后图像进行stp-cs测量、量化、扩散和编码,然后将扩散后的密文图像和编码后的第一认证序列上传至中心云进行存储;
[0216]
按照上述实施例中解密方法中的相关步骤从中心云将密文数据和第一认证序列下载至边缘云服务器上,在边缘云服务器上对所述密文数据进行部分解密并将部分解密后的密文数据传输至医学诊断中心;所述部分解密过程包括对密文数据进行逆扩散、编码、比较认证序列的一致性、逆量化和stp-cs重构;
[0217]
医学诊断中心按照上述实施例中解密方法中的相关步骤对部分解密后的密文数据进行逆置乱、逆稀疏、认证图像提取和认证图像一致性比较以得到解密图像并判断解密图像的正确性。
[0218]
(2)第二卫生中心(例如医学诊断中心)到第一卫生中心(例如下级卫生中心)的过程:
[0219]
医学影像诊断中心对认证通过的解密图像进行诊断,得到诊断结果图像;
[0220]
参照上述第(1)过程中,对“诊断结果图像”进行同样处理,具体包括:
[0221]
医学诊断中心按照上述实施例中加密方法中的相关步骤使用本地服务器对诊断结果图像进行预处理后上传至对应的边缘云服务器,所述预处理包括对所述诊断结果图像进行边缘检测和嵌入认证信息,以及进行稀疏和置乱;
[0222]
在边缘云服务器上,按照上述实施例中加密方法中的相关步骤对预处理后图像进行stp-cs测量、量化、扩散和编码,然后将扩散后的密文图像和编码后的第一认证序列上传至中心云进行存储;
[0223]
按照上述实施例中解密方法中的相关步骤从中心云将密文数据和第一认证序列下载至边缘云服务器上,在边缘云服务器上对所述密文数据进行部分解密并将部分解密后的密文数据传输至下级卫生中心;所述部分解密过程包括对密文数据进行逆扩散、编码、比较认证序列一致性、逆量化和stp-cs重构;
[0224]
下级卫生中心按照上述实施例中解密方法中的相关步骤对部分解密后的密文数据进行逆置乱、逆稀疏、认证图像提取和认证图像一致性比较以得到解密图像并判断解密图像的正确性。
[0225]
为了验证本发明提供的基于半张量积压缩感知和混合云的医学图像安全传输方法的有效性,本发明提供有下述实验结果。
[0226]
实验仿真平台如下:cpu:intel(r)core(tm)i7-6700,3.40ghz;memory:8.00gb;operating system:windows10;coding tool:matlab2016a。本实验使用的参数如下:外部密钥t1=0.354564、t2=0.154354、t3=0.254168、t4=0.445635,采用omp重建方法。在实验仿真中,选取大小为512
×
512“brone”作为测试的明文图像。
[0227]
由图6可知,在cr=0.5时,得到尺寸缩小为明文图像二分之一的类噪声的密文图像,从中无法得到有用信息,明文图像信息得以保护,经过解密得到的图像与原始图像几乎一样,具有较好的图像视觉质量。由于密文图像是明文图像的50%,那么在传输密文图像时,节约了更多的传输带宽和存储空间,更加方便在网络中传输。
[0228]
(一)密钥空间分析
[0229]
本发明所提出加密方法的密钥主要包括:(1)给定的外部密钥:t1、t2、t3、t4;(3)由sha-256函数产生的256位哈希值。
[0230]
假设计算机的计算精度为10-14
,则本发明方法的密钥空间约为(10
14
)4=10
56
》2
186
,如果再加上256位的哈希值,整体密钥空间远远超过了2
100
,所以该方法的密钥空间足够大,可以抵抗暴力攻击。
[0231]
(二)密钥敏感性分析
[0232]
一个安全的密码系统应该具有良好的密钥敏感性,即密钥的微小变化会引起密码图像的剧烈变化。在本节中,选取图6(a)的brone明文图像、图6(b)的brone密文图像、图6(c)的brone解密图像参与测试。在测试中,使用具有微小变化的参数t1 10-14
,t2 10-14
,t3 10-14
,t4 10-14
解密图6(b)中的brone密文图像,结果如图7(a)-(d)所示。
[0233]
由图7可知,因为本发明方法中含有认证图像像素提取这一部分,所以密钥改变得到的解密图像含有一个全黑图像块,但是由于认证图像根据边缘检测被嵌在不敏感区域,所以不会对正确解密图像造成影响,这一点可以从图6(c)中可以看出。同时从图7可以得出结论,稍微改变解密密钥会得到无意义的类噪声图像。因此,该方案对密钥具有很高的敏感性,使得攻击者很难通过暴力手段获取有用的信息。
[0234]
(三)直方图分析
[0235]
图8给出图像brone的明文图像和相应的密文图像(cr=0.5)的直方图。由图可知,明文图像直方图高低起伏,而密文图像的直方图非常均匀且与明文图像的直方图显著不同,这使得攻击者通过统计攻击分析密文图像变得十分困难。
[0236]
(四)信息熵分析
[0237]
信息熵反应了测试信息的随机性和不可预测性。信息源m的信息熵h(m)可以定义为:
[0238][0239]
式中,p(mi)表示mi的概率。对于具有256个灰度级的密文图像,通过公式(20)得到信息熵的理论值为h(m)=8。因此,密文信息熵越接近8,密文的表现越随机,表明密码系统泄漏信息的概率越小。
[0240]
在cr=0.5,对512
×
512的brone图像进行信息熵测试,从表1中可知,密文图像信息熵值达到7.9985,这表明了本文的密文图像随机性高和提出的加密算法的有效性。
[0241]
表1明文图像和密文图像信息熵测试
[0242][0243]
(五)云平台重构安全性分析
[0244]
本发明提供的安全传输方法中,在数据从下级卫生中心传输到医疗诊断中心的过程中,先在下级卫生中心进行嵌入信息和部分加密,然后将部分加密后的图像传输到下级卫生中心侧的边缘云进行二次加密,再传输到中心云进行存储。其次,医疗诊断中心侧的边
缘云从中心云得到密文数据之后先进行部分解密和编码认证,认证通过后将部分解密后的密文图像发送医疗诊断中心进行第二次解密和认证判断,最后得到原始医学图像并进行诊断;当数据从医疗诊断中心传输到下级卫生中心的过程中,运用相同的算法进行传输诊断结果数据,最后下级卫生中心得到诊断结果数据。
[0245]
因为云是一个开放性的数据交互平台,因此提出的算法必须要确保隐私数据的安全。在本发明方法中,传输到边缘云和中心云的图像数据都是预先处理过的类噪声图像,并且边缘云和中心云输出的图像数据也是无意义的类噪声图像,明文图像信息无法从这些类噪声图像中获得。因此,云无法获取明文图像任何信息,保证了图像的隐私性和安全性。
[0246]
此外,云在某些情况下会随意返回给错误计算的结果,在云上解密还需要考虑云是否欺骗了用户。因此,为了防止云欺骗,使用了两次认证来对云返回的结果进行判断。第一次是在边缘云进行认证,判断中心云返回给的结果是否正确;第二次是在本地端进行嵌入信息的认证,判断边缘云返回给的结果是否正确。图9是对“brone”图像进行嵌入信息和提取信息的结果。
[0247]
由图可知,通过对图像中含有的小尺寸的认证信息的嵌入和提取,可以判断云是否欺骗了用户,即把提取的认证信息和用户拥有的认证信息进行相似度比较,如果认证通过,说明云返回给的图像数据是正确的;如果认证失败,说明云欺骗了用户,拒绝云返回的结果。此外,本实验所采用的认证信息的尺寸是32
×
32,在具体的操作中,用户可以根据所使用图像的特征和自己的需求自由选择嵌入认证信息的尺寸。
[0248]
因此,本发明提出的基于stp-cs和混合云的医学图像安全传输方法不仅可以保证图像在传输过程中的安全性和高效性,而且可以防止云恶意欺骗用户。
[0249]
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献