基于哈希链压缩感知的图像加密和解密方法与流程

文档序号:14424623阅读:327来源:国知局

本发明涉及信息加密技术,尤其涉及一种基于哈希链压缩感知的图像加密和解密方法。



背景技术:

物联网是通过二维码识读设备、射频识别装置、红外感应器、全球定位系统和激光扫描器等信息传感设备,按约定的协议,把任何物品与互联网相连接,进行信息交换和通信,以实现智能化识别、定位、跟踪、监控和管理的一种网络。在物联网中,每一个信息传感设备都可以是一个节点,每个节点与其他多个节点形成发送-接收节点对和接收-发送节点对,以实现无线传感器网络中的数据传输。随着无线传感器网络在各个领域的推广,在诸如军事协同作战、电子政务、工业协同设计、场景监控、远程医疗与教育等传输系统应用场景中,都需要保障传输数据的安全性,以防止数据在传输过程中被第三方恶意拦截、篡改或非法拷贝。

现有的加密算法中,只要数字图像的信号在某个变换域是稀疏的,就可以压缩与采样相结合的方式,通过压缩感知算法以一个与变换基不相关的测量矩阵将变换所得数字图像的高维信号投影到一个低维空间上进行加密传输,然后在解密装置将整个测量矩阵作为密钥,通过求解优化问题就可以从这些少量的投影中以高概率重构出原信号。

然而,无线传感器网络中的一个节点很可能与其他很多个节点形成发送-接收节点对和接收-发送节点对,为了保证数据传输的安全性,该节点在数据传输过程中就需要存储很多个与不同节点进行数据通信的测量矩阵,大量的测量矩阵元素极大的占用了节点的存储空间。而且,随着无线传感器网络规模的扩大,有时节点对之间的数据通信不可直达,需要中继节点来转播,这时数据转播的通信能耗增大、数据传输的安全性也受到了威胁。现有的加密方法中,无法在保证数据安全的同时,减少密钥的空间占用量。



技术实现要素:

本发明提供一种基于哈希链压缩感知的图像加密和解密方法,实现了在保证数据安全的同时,减少密钥的空间占用量。

第一方面,本发明提供一种基于哈希链压缩感知的图像加密方法,应用于加密端,包括:

根据初始密钥生成第一哈希链和第二哈希链;

分别根据所述第一哈希链和所述第二哈希链,获得测量矩阵和加密矩阵;

通过所述测量矩阵对明文图像的稀疏表示矩阵进行压缩测量,得到测量结果矩阵;

根据所述测量结果矩阵和所述加密矩阵,得到加密图像矩阵,所述加密图像矩阵对应密文图像。

第二方面,本发明提供了一种基于哈希链压缩感知的图像解密方法,应用于解密端,包括:

根据与密文图像对应的初始密钥,生成第一哈希链和第二哈希链;

分别根据所述第一哈希链和所述第二哈希链,获得测量矩阵和加密矩阵;

根据所述加密矩阵以及所述密文图像对应的比特矩阵,得到中间解密矩阵,其中,所述密文图像对应的比特矩阵,为将所述密文图像对应的加密图像矩阵的每个元素用8位二进制表示的矩阵;

根据预设的重构算法和所述测量矩阵对所述中间解密矩阵进行重构处理,得到原始图像矩阵,所述原始图像矩阵对应明文图像。

根据本发明的第三方面,提供一种加密端,包括:存储器、处理器以及计算机程序,所述计算机程序存储在所述存储器中,所述处理器运行所述计算机程序执行第一方面及第一方面各种可能的设计的基于哈希链压缩感知的图像加密方法。

根据本发明的第四方面,提供一种可读存储介质,可读存储介质中存储有执行指令,所述执行指令被处理器执行时用于实现第一方面及第一方面各种可能的设计所述的基于哈希链压缩感知的图像加密方法。

本发明提供了一种基于哈希链压缩感知的图像加密和解密方法。通过首先根据初始密钥生成第一哈希链和第二哈希链;分别根据第一哈希链和第二哈希链,获得测量矩阵和加密矩阵;然后通过测量矩阵对明文图像的稀疏表示矩阵进行压缩测量,得到测量结果矩阵;根据测量结果矩阵和加密矩阵,得到加密图像矩阵,加密图像矩阵对应密文图像,整个加密过程中仅需要保存初始密钥,减少了对密钥的存储空间和通信能耗。同时,哈希函数的密钥灵敏度极高,初始密钥值的微小改变都会导致生成完全不同的哈希序列,从而导致测量矩阵和加密矩阵的唯一性。在中继节点处不需要保存测量矩阵,也降低了在中继节点处数据被窃取的可能性,提高了数据传输的安全性。最终实现了在保证数据安全的同时,减少密钥的空间占用量。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图做简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例提供的一种基于哈希链压缩感知的图像加密方法的应用示例;

图2为本发明实施例提供的一种基于哈希链压缩感知的图像解密方法的应用示例;

图3为本发明实施例提供的一种基于哈希链压缩感知的图像加密方法流程示意图;

图4为本发明实施例提供的一种哈希链矩阵生成器原理示意图;

图5为本发明实施例提供的另一种基于哈希链压缩感知的图像加密方法流程示意图;

图6为本发明实施例提供的一种基于哈希链压缩感知的图像解密方法流程示意图;

图7为本发明提供的一种加密端的装置结构示意图;

图8为本发明提供的另一种加密端的装置结构示意图;

图9为本发明提供的一种解密端的装置结构示意图;

图10为本发明提供的一种加密端的硬件结构示意图;

图11为本发明提供的一种解密端的硬件结构示意图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。

应当理解,在本申请的各种实施例中,各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。

应当理解,在本申请中,“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

应当理解,在本申请中,“与a对应的b”表示b与a相关联,根据a可以确定b。根据a确定b并不意味着仅仅根据a确定b,还可以根据a和/或其他信息确定b。a与b的匹配,是a与b的相似度大于或等于预设的阈值。

取决于语境,如在此所使用的“若”可以被解释成为“在……时”或“当……时”或“响应于确定”或“响应于检测”。

下面以具体地实施例对本发明的技术方案进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例不再赘述。

图1为本发明实施例提供的一种基于哈希链压缩感知的图像加密方法的应用示例。在图2中,用户手持手机给自己拍摄了一个自拍照片作为明文图像,用户的手机作为物联网中的一个节点,在用户将该自拍照片发送给其他节点时,手机作为加密端对自拍照加密得到密文图像。物联网中任一传感器节点检测到新的传感图像后,在进行数字图像传输之前,都需要对图像进行加密。为了防止数字图像在节点保存或传输过程中被第三方恶意拦截、篡改或非法拷贝,本发明提供的一种基于哈希链压缩感知的图像加密和解密方法,主要是在发送方发送数据前,如图1所示,利用初始密钥h0生成哈希链,再以哈希链得到测量矩阵和加密矩阵,从而对明文图像压缩加密得到乱码显示的密文图像并发送。

图2为本发明实施例提供的一种基于哈希链压缩感知的图像解密方法的应用示例。接收方如图2所示,利用初始密钥生成相同的哈希链测量矩阵和加密矩阵,对乱码显示的密文图像进行解密,得到自拍照片。基于哈希链压缩感知的图像加密和解密方法,仅需要保存初始密钥,节省了大量的存储空间和通信能耗。同时,哈希函数的密钥灵敏度极高,初始密钥值的微小改变都会导致生成完全不同的哈希序列,且在中继节点处不保存测量矩阵也降低了在中继节点处数据被窃取的可能性,提高了数据传输的安全性。实现了在保证数据安全的同时,减少密钥的空间占用量。

图3为本发明实施例提供的一种基于哈希链压缩感知的图像加密方法流程示意图。图3所示的执行终端为加密端。加密端具体可以是任一个传感器节点,也可以是接入物联网的终端或服务器。终端可以是移动终端,也可以是固定终端。移动终端包括但不限于手机、个人数字助理(personaldigitalassistant,简称:pda)、平板电脑、便携设备(例如,便携式计算机、袖珍式计算机或手持式计算机)等具有图像采集和加密功能的移动设备。固定终端包括但不限于门禁、智能固定电话、控制台等具有图像采集和加密功能的固定设备。本发明实施例对终端的形式并不限定。图3所示的方法具体可以包括:

s101,根据初始密钥生成第一哈希链和第二哈希链。

具体地,可以是先确定第一迭代次数和第二迭代次数,再根据第一迭代次数生成第一哈希链,根据第二迭代次数生成第二哈希链。

确定第一迭代次数和第二迭代次数的过程可以是:根据明文图像;确定n×n的原始图像矩阵。根据原始图像矩阵的列数n,确定测量矩阵的列数为n,以及加密矩阵的列数为8n。根据预设的压缩比m/n和原始图像矩阵的行数n,确定测量矩阵的行数和加密矩阵的行数均为m,其中,预设的压缩比可以是加密端与解密端预先约定的压缩比。根据测量矩阵的行数m和列数n,以及每个第一哈希序列的元素个数,确定第一迭代次数,以使得第一哈希链的元素个数大于或等于测量矩阵的元素个数m*n。根据加密矩阵的行数m和列数8n,以及每个第二哈希序列的元素个数,确定第二迭代次数,以使得第二哈希链的元素个数大于或等于加密矩阵的元素个数m*8n。

其中,根据第一迭代次数生成第一哈希链的过程可以是:根据第一迭代次数,以预设的第一哈希函数对初始密钥迭代进行第一哈希处理,获得第一哈希链,其中,每迭代一次第一哈希处理得到一个第一类哈希序列,第一哈希链包括所有第一类哈希序列的元素。

其中,根据第二迭代次数生成第二哈希链的过程可以是:根据第二迭代次数,以预设的第二哈希函数对初始密钥迭代进行第二哈希处理,获得第二哈希链,其中,每迭代一次第二哈希处理得到一个第二类哈希序列,第二哈希链包括所有第二类哈希序列的元素。

图4为本发明实施例提供的一种哈希链矩阵生成器原理示意图。

上述生成第一哈希链的过程和生成第二哈希链的过程,可以同时执行,或者先后执行,本实施例不对生成第一哈希链的过程和生成第二哈希链的过程的先后顺序进行限定。在一种可选的实现方式中,可以是将初始密钥输入图4所示的哈希链矩阵生成器,由哈希链矩阵生成器生成第一哈希链和第二哈希链。其中,生成第一哈希链和第二哈希链的哈希函数可以是相同的,也可以是不同的。可选的哈希函数包括:信息-摘要算法5(message-digestalgorithm5,简称:md5)、安全散列算法-1(securehashalgorithm-1,简称:sha-1)、安全散列算法-256(securehashalgorithm-256,简称:sha-256)或者安全散列算法-512(securehashalgorithm-512,简称:sha-512)。参见图4,哈希链矩阵生成器生成第一哈希链和第二哈希链的过程,都是通过哈希函数对密钥生成哈希序列,再把前一个哈希序列作为密钥,通过哈希函数再生成哈希序列,重复此过程,取每一次得到的哈希序列,得到哈希链。例如图4中n表示哈希函数迭代次数,h0为初始密钥。以h0为初始密钥,进行一次哈希处理,得到哈希序列h1,再以h1作为密钥进行哈希处理,得到哈希序列h2,再以h2作为密钥进行哈希处理得到哈希序列h3,如此迭代n次,最后一次得到哈希序列hn,将得到的所有哈希序列h1,h2,h3,……,hn,作为一个哈希链。在上述哈希链矩阵生成器生成的第一哈希链和第二哈希链中,每个哈希序列都是01组成的比特串。

s102,分别根据第一哈希链和第二哈希链,获得测量矩阵和加密矩阵。

作为一种实现方式,哈希链矩阵生成器将第一哈希链中的元素以预设顺序填入矩阵中,生成m×n的测量矩阵。哈希链矩阵生成器将第二哈希链中的元素以预设顺序填入矩阵中,生成m×8n的加密矩阵。其中,预设顺序为:按行逐个填入的顺序,或者按列逐个填入的顺序。

例如,测量矩阵为192×256的矩阵,而第一哈希链中每个第一哈希序列包含128个元素时,第一哈希函数对应的第一迭代次数为384次。映射函数设置为按行填入时,哈希链矩阵生成器通过映射函数将第一哈希链中1个和第2个第一哈希序列的元素作为矩阵的第一行元素,往后依次取每两个第一哈希序列的元素作为矩阵的第2行、第3行......、第192行,由此生成192×256的测量矩阵。加密矩阵也是以同样的填入方式获得。图4所示哈希链矩阵生成器中映射函数的作用,是按列将哈希链的元素逐个填入矩阵,或者按行将哈希链逐个填入矩阵。其中,得到测量矩阵和加密矩阵的填入顺序均相同,即都是按行或者都是按列填入的方式。

以第一哈希链中哈希序列得到的测量矩阵、以第二哈希链中哈希序列得到的加密矩阵,都具有列相关性低的特性。现有的压缩感知测量矩阵通常使用高斯矩阵、伯努利矩阵或者混沌矩阵作为测量矩阵。在混沌加密中,如果攻击者通过某种方式推测出混沌矩阵中的某一段混沌序列,则可以推算出其前后所有的混沌序列。rc4等传统序列密码中,由于算法简单,很容易遭受查分分析、暴力破解等攻击。而在本实施例中,哈希函数是单向函数,本身便具有不可逆和无冲突的性质,即通过hi不能推测出前一个hi-1,知道hi也无法求出一个hi′使hi和hi′有相同的哈希值。以哈希链得到的矩阵作为测量矩阵和加密矩阵,具有较高的安全性。且密钥灵敏度极高,初始密钥的数值微小扰动,就会生成完全不同的哈希序列,进而使密文图像的安全性得到进一步保障。

测量矩阵和加密矩阵对应的哈希函数可以相同,也可以不同。例如,初始密钥设为0.06,测量矩阵使用md5哈希链矩阵,加密矩阵使用sha-256哈希链矩阵;或者,测量矩阵使用sha-1哈希链矩阵,加密矩阵使用md5哈希链矩阵;或者,测量矩阵使用sha-256哈希链矩阵,加密矩阵使用sha-1哈希链矩阵,本实施例不对使用的哈希函数做限定。

通过初始密钥就能得到测量矩阵和加密矩阵,在后续的密文传输过程中,仅需要保存和传输初始密钥,无需传输测量矩阵或加密矩阵,节省了大量的存储空间和通信能耗。同时,因为哈希函数的密钥灵敏度极高,初始密钥值的微小改变都会导致生成完全不同的哈希序列,所以由哈希链得到的测量矩阵和加密矩阵具有较高的安全性。

s103,通过测量矩阵对明文图像的稀疏表示矩阵进行压缩测量,得到测量结果矩阵。

具体地,可以是根据测量矩阵得到压缩感知模型,将明文图像的稀疏表示矩阵输入压缩感知模型进行压缩感知处理,从压缩感知模型的输出获得测量结果矩阵。可以将测量结果矩阵的元素缩放至0-255的数字范围内,从而得到中间处理图像。中间处理图像可以参见图1所示的示例。

s104,根据测量结果矩阵和加密矩阵,得到加密图像矩阵,加密图像矩阵对应密文图像。

具体地,可以是通过测量结果矩阵和加密矩阵进行异或运算,得到与密文图像对应的加密图像矩阵,从而进一步使能量分布更均匀,同时增强了密文图像的安全性。

本发明实施例提供的一种基于哈希链压缩感知的图像加密方法,通过首先根据初始密钥生成第一哈希链和第二哈希链;分别根据第一哈希链和第二哈希链,获得测量矩阵和加密矩阵;然后通过测量矩阵对明文图像的稀疏表示矩阵进行压缩测量,得到测量结果矩阵;根据测量结果矩阵和加密矩阵,得到加密图像矩阵,加密图像矩阵对应密文图像,整个加密过程中仅需要保存初始密钥,减少了对密钥的存储空间和通信能耗。同时,哈希函数的密钥灵敏度极高,初始密钥值的微小改变都会导致生成完全不同的哈希序列,从而导致测量矩阵和加密矩阵的唯一性。在中继节点处不需要保存测量矩阵,也降低了在中继节点处数据被窃取的可能性,提高了数据传输的安全性。最终实现了在保证数据安全的同时,减少密钥的空间占用量。

图5为本发明实施例提供的另一种基于哈希链压缩感知的图像加密方法流程示意图。在图3中,具体可以是先获得明文图像的稀疏表示矩阵,然后通过所述测量矩阵对明文图像的稀疏表示矩阵进行压缩测量,得到测量结果矩阵。为了详细描述图3所示的实施例,以下结合图5对获得明文图像的稀疏表示矩阵的过程进行说明。如图所示的方法包括:

s201,根据预设的正交稀疏基和明文图像的原始图像矩阵,获得用于对明文图像进行稀疏表示的稀疏图像矩阵。

其中,正交稀疏基与原始图像矩阵均为n×n矩阵。具体地,对于一幅明文图像得到明文图像的原始图像矩阵,然后对明文图像的原始图像矩阵进行稀疏变换,选择一个合适的正交稀疏基。正交稀疏基可以是根据明文图像的原始图像矩阵选取的合适的稀疏矩阵,以使得稀疏图像矩阵达到最稀疏。正交稀疏基可以是离散余弦变换(discretecosinetransform,简称:dct),或者离散小波变换(discretewavelettransformation,简称:dwt),或者离散傅里叶变换(discretefouriertransform,简称:dft)。原始图像矩阵的元素可以是明文图像的像素值。

s202,根据正交稀疏基和稀疏图像矩阵,获得明文图像的稀疏表示矩阵。

具体地,可以是根据如下公式一,获得明文图像的稀疏表示矩阵。

x=ψs公式一

其中,x为n×n的明文图像的稀疏表示矩阵,ψ为n×n的正交稀疏基,s为n×n的稀疏图像矩阵。本实施例通过明文图像的稀疏表示矩阵实现了对原始图像矩阵的降维和简化,降低了计算复杂程度。

s203,根据初始密钥生成第一哈希链和第二哈希链。

s204,分别根据第一哈希链和第二哈希链,获得测量矩阵和加密矩阵;

本实施例中步骤s201-s202为获取明文图像的稀疏表示矩阵的过程,步骤s203-s204为获取测量矩阵和加密矩阵的过程。其中,本实施例中获取明文图像的稀疏表示矩阵的过程和获取测量矩阵和加密矩阵的过程,并不受所描述的动作顺序的限制,这两个过程可以采用其他顺序或者同时进行。

s205,通过测量矩阵对明文图像的稀疏表示矩阵进行压缩测量,得到测量结果矩阵。

s206,根据测量结果矩阵和加密矩阵,得到加密图像矩阵,加密图像矩阵对应密文图像。

本实施例中步骤s203-s206的具体实现方式可以详见图3所示实施例中的s101-s104,在此不再赘述。

在上述实施例的基础上,通过所述测量矩阵对明文图像的稀疏表示矩阵进行压缩测量,得到测量结果矩阵的过程,具体可以是通过如下公式二得到测量结果矩阵。

y1=αφ1x公式二

其中,y1为测量结果矩阵,φ1为测量矩阵,x为明文图像的稀疏表示矩阵,α为缩放系数,所述缩放系数为使得y1的每一个元素的数值都被缩放至0-255内的系数。公式二可以是一种可选的压缩感知模型。本实施例在以测量矩阵对稀疏表示矩阵进行压缩测量的同时,乘以缩放系数,将测量结果矩阵的每一个元素都缩放至0-255的数值范围内,从而可以得到中间处理图像,并且,可以保证测量结果矩阵中元素以二进制的01表示时,不会超过8位,减小了在后续处理过程中,中间处理图像对应数据占用的空间。

在上述实施例的基础上,根据所述测量结果矩阵和加密矩阵,得到加密图像矩阵的具体过程,可以包括:首先,将测量结果矩阵的每个元素用8位二进制表示,获得m×8n的二进制的测量结果矩阵;然后,通过如下公式三将m×8n的二进制的测量结果矩阵与m×8n的加密矩阵按位进行异或运算,得到m×8n的异或结果矩阵。

y=y2⊕φ2公式三

其中,y为m×8n的异或结果矩阵,y2为m×8n的二进制的测量结果矩阵,⊕为按位做异或运算的算符,φ2为m×8n的加密矩阵。

最后,根据m×8n的异或结果矩阵,获得m×n的加密图像矩阵。

其中,根据m×8n的异或结果矩阵,得到m×n的加密图像矩阵,具体可以是:将m×8n的异或结果矩阵的每8个元素用十进制表示,得到加密图像矩阵。

图6为本发明实施例提供的一种基于哈希链压缩感知的图像解密方法流程示意图。图6所示实施例的执行主体为解密端。解密端具体可以是终端,也可以是服务器。图6所示的方法具体可以包括:

s301,根据与密文图像对应的初始密钥,生成第一哈希链和第二哈希链。

解密端在接收到n×n的密文图像后,可以根据原本预存储的或者从加密端获取的初始密钥,生成第一哈希链和第二哈希链。

具体地,解密端可以是用与加密端相同的哈希链矩阵生成器,并且使用与加密端相同的哈希函数,生成第一哈希链和第二哈希链。先确定第一迭代次数和第二迭代次数,再根据第一迭代次数生成第一哈希链,根据第二迭代次数生成第二哈希链。解密端可以预先与加密端约定以下参数:压缩比m/n、原始图像矩阵的列数n、原始图像矩阵的行数n、第一哈希函数和第二哈希函数。

其中,确定第一迭代次数和第二迭代次数的过程可以是:根据与加密端预先约定的原始图像矩阵的列数n,确定测量矩阵的列数为n,以及加密矩阵的列数为8n。根据与加密端预先约定的压缩比m/n和原始图像矩阵的行数n,确定测量矩阵的行数和加密矩阵的行数均为m。根据测量矩阵的行数m和列数n,以及每个第一哈希序列的元素个数,确定第一迭代次数,以使得第一哈希链的元素个数大于或等于测量矩阵的元素个数m*n。每个第一哈希序列的元素个数由第一哈希函数确定。根据加密矩阵的行数m和列数8n,以及每个第二哈希序列的元素个数,确定第二迭代次数,以使得第二哈希链的元素个数大于或等于加密矩阵的元素个数m*8n。每个第二哈希序列的元素个数由第二哈希函数确定。

参见图4,根据第一迭代次数,以预设的第一哈希函数对初始密钥迭代进行第一哈希处理,获得第一哈希链,其中,每迭代一次第一哈希处理得到一个第一类哈希序列,第一哈希链包括所有第一类哈希序列的元素。

参见图4,根据第二迭代次数,以预设的第二哈希函数对初始密钥迭代进行第二哈希处理,获得第二哈希链,其中,每迭代一次第二哈希处理得到一个第二类哈希序列,第二哈希链包括所有第二类哈希序列的元素。

s302,分别根据第一哈希链和第二哈希链,获得测量矩阵和加密矩阵。

将第一哈希链中的元素以预设顺序填入矩阵中,生成m×n的测量矩阵。将第二哈希链中的元素以相同的预设顺序填入矩阵中,生成m×8n的加密矩阵。其中,预设顺序为:按行逐个填入的顺序,或者按列逐个填入的顺序。在获得测量矩阵和加密矩阵的过程中,以相同的预设顺序填入矩阵。

s303,根据测量矩阵、加密矩阵以及密文图像对应的比特矩阵,得到中间解密矩阵。

其中,密文图像对应的比特矩阵,为将密文图像对应的加密图像矩阵的每个元素用8位二进制表示的矩阵。具体可以是根据如下公式四得到中间解密矩阵。

其中,y′为所述中间解密矩阵,y′=φ1x,φ1为所述测量矩阵,x为原始图像矩阵,φ2为所述加密矩阵,y为所述密文图像对应的比特矩阵,⊕为按位做异或运算的算符,α为与所述密文图像对应的缩放系数。

s304,以预设的重构算法对中间解密矩阵进行重构处理,得到原始图像矩阵,原始图像矩阵对应明文图像。

具体地,可以是通过压缩感知中的常用的重构算法,对中间解密矩阵y′=φ1x进行重构处理,得到原始图像矩阵。重构算法,例如可以是正交匹配追踪算法(orthogonalmatchingpursuit,简称:omp),或者逆小波变换(discretewavelettransformation,简称:idwt)。

加密端和解密端只需要存储初始密钥,通过哈希链矩阵生成器生成哈希链测量矩阵和加密矩阵,大大节省了存储空间,且传输数据量减少,传输安全性高。解密过程简单,解密端将接收到的密文图像的每个像素值处理成8位01比特串与加密矩阵做异或运算,再将每8位01比特变成一个十进制数,得到中间解密矩阵,通过压缩感知重构算法,例如omp算法,恢复原始图像。

图7为本发明提供的一种加密端的装置结构示意图。图7所示的加密端包括:

哈希链生成模块71,用于根据初始密钥生成第一哈希链和第二哈希链;

测量矩阵和加密矩阵获得模块72,用于分别根据所述第一哈希链和所述第二哈希链,获得测量矩阵和加密矩阵;

测量结果矩阵获得模块73,用于通过所述测量矩阵对明文图像的稀疏表示矩阵进行压缩测量,得到测量结果矩阵;

加密图像矩阵获得模块74,用于根据所述测量结果矩阵和所述加密矩阵,得到加密图像矩阵,所述加密图像矩阵对应密文图像。

图7所示实施例的加密端对应地可用于执行图3所示方法实施例中的步骤,其实现原理和技术效果类似,此处不再赘述。

在上述实施例的基础上,哈希链生成模块,具体用于:

根据第一迭代次数,以预设的第一哈希函数对初始密钥迭代进行第一哈希处理,获得第一哈希链,其中,每迭代一次所述第一哈希处理得到一个第一类哈希序列,所述第一哈希链包括所有所述第一类哈希序列的元素;根据第二迭代次数,以预设的第二哈希函数对初始密钥迭代进行第二哈希处理,获得第二哈希链,其中,每迭代一次所述第二哈希处理得到一个第二类哈希序列,所述第二哈希链包括所有所述第二类哈希序列的元素。

在上述实施例的基础上,哈希链生成模块还用于:在根据初始密钥生成第一哈希链和第二哈希链之前,根据明文图像;确定n×n的原始图像矩阵;根据原始图像矩阵的列数n,确定测量矩阵的列数为n,以及加密矩阵的列数为8n;根据预设的压缩比m/n和所述原始图像矩阵的行数n,确定测量矩阵的行数和加密矩阵的行数均为m;根据所述测量矩阵的行数m和列数n,以及每个所述第一哈希序列的元素个数,确定所述第一迭代次数,以使得所述第一哈希链的元素个数大于或等于测量矩阵的元素个数m*n;根据所述加密矩阵的行数m和列数8n,以及每个所述第二哈希序列的元素个数,确定所述第二迭代次数,以使得所述第二哈希链的元素个数大于或等于加密矩阵的元素个数m*8n。

测量矩阵和加密矩阵获得模块,具体用于:

将所述第一哈希链中的元素以预设顺序填入矩阵中,生成m×n的测量矩阵;将所述第二哈希链中的元素以所述预设顺序填入矩阵中,生成m×8n的加密矩阵;其中,所述预设顺序为:按行逐个填入的顺序,或者按列逐个填入的顺序。

图8为本发明提供的另一种加密端的装置结构示意图。在图7所示装置的基础上,图8所示的加密端还包括:稀疏图像矩阵获取模块75,用于:

根据预设的正交稀疏基和明文图像的原始图像矩阵,获得用于对明文图像进行稀疏表示的稀疏图像矩阵;根据如下公式一,获得所述明文图像的稀疏表示矩阵;

x=ψs公式一

其中,x为所述明文图像的稀疏表示矩阵,ψ为所述正交稀疏基,s为所述稀疏图像矩阵。

测量结果矩阵获得模块具体用于:

通过如下公式二得到所述测量结果矩阵;

y1=αφ1x公式二

其中,y1为所述测量结果矩阵,φ1为所述测量矩阵,x为所述明文图像的稀疏表示矩阵,α为缩放系数,所述缩放系数为使得y1的每一个元素的数值都被缩放至0-255内的系数。

加密图像矩阵获得模块,具体用于:

将所述测量结果矩阵的每个元素用8位二进制表示,获得二进制的测量结果矩阵;通过如下公式三得到异或结果矩阵;

y=y2⊕φ2公式三

其中,y为所述异或结果矩阵,y2为所述二进制的测量结果矩阵,⊕为按位做异或运算的算符,φ2为所述加密矩阵;根据所述异或结果矩阵,得到所述加密图像矩阵。

其中,所述加密图像矩阵获得模块根据所述异或结果矩阵,得到所述加密图像矩阵,具体包括:将所述异或结果矩阵的每8个元素用十进制表示,得到加密图像矩阵。

图9为本发明提供的一种解密端的装置结构示意图。如图9所示的结构,可以包括:

第一哈希链和第二哈希链获取模块91,用于根据与密文图像对应的初始密钥,生成第一哈希链和第二哈希链;

测量矩阵和加密矩阵获取模块92,用于分别根据所述第一哈希链和所述第二哈希链,获得测量矩阵和加密矩阵;

中间解密矩阵获取模块93,用于根据所述加密矩阵以及所述密文图像对应的比特矩阵,得到中间解密矩阵,其中,所述密文图像对应的比特矩阵,为将所述密文图像对应的加密图像矩阵的每个元素用8位二进制表示的矩阵;

原始图像矩阵获取模块94,用于根据预设的重构算法和所述测量矩阵对所述中间解密矩阵进行重构处理,得到原始图像矩阵,所述原始图像矩阵对应明文图像。

图9所示实施例的解密端对应地可用于执行图6所示方法实施例中的步骤,其实现原理和技术效果类似,此处不再赘述。

在图9所示实施例的基础上,中间解密矩阵获取模块,具体用于:

根据如下公式四得到中间解密矩阵;

其中,′为所述中间解密矩阵,y′=φ1x,φ1为所述测量矩阵,x为原始图像矩阵,φ2为所述加密矩阵,y为所述密文图像对应的比特矩阵,⊕为按位做异或运算的算符,α为与所述密文图像对应的缩放系数。

在上述实施例的基础上,第一哈希链和第二哈希链获取模块91,具体用于:

根据明文图像;确定n×n的原始图像矩阵;根据原始图像矩阵的列数n,确定测量矩阵的列数为n,以及加密矩阵的列数为8n;根据预设的压缩比m/n和所述原始图像矩阵的行数n,确定测量矩阵的行数和加密矩阵的行数均为m;根据所述测量矩阵的行数m和列数n,以及每个所述第一哈希序列的元素个数,确定所述第一迭代次数,以使得所述第一哈希链的元素个数大于或等于测量矩阵的元素个数m*n;根据所述加密矩阵的行数m和列数8n,以及每个所述第二哈希序列的元素个数,确定所述第二迭代次数,以使得所述第二哈希链的元素个数大于或等于加密矩阵的元素个数m*8n;根据第一迭代次数,以预设的第一哈希函数对初始密钥迭代进行第一哈希处理,获得第一哈希链,其中,每迭代一次所述第一哈希处理得到一个第一类哈希序列,所述第一哈希链包括所有所述第一类哈希序列的元素;根据第二迭代次数,以预设的第二哈希函数对初始密钥迭代进行第二哈希处理,获得第二哈希链,其中,每迭代一次所述第二哈希处理得到一个第二类哈希序列,所述第二哈希链包括所有所述第二类哈希序列的元素。

测量矩阵和加密矩阵获取模块92,具体用于:

将所述第一哈希链中的元素以预设顺序填入矩阵中,生成m×n的测量矩阵;将所述第二哈希链中的元素以所述预设顺序填入矩阵中,生成m×8n的加密矩阵;其中,预设顺序为:按行逐个填入的顺序,或者按列逐个填入的顺序。

图10为本发明提供的一种加密端的硬件结构示意图。如图10所示,该加密端包括:处理器1011以及存储器1012;其中

存储器1012,用于存储计算机程序,该存储器还可以是闪存(flash)。

处理器1011,用于执行存储器存储的执行指令,以实现上述基于哈希链压缩感知的图像加密方法中加密端执行的各个步骤。具体可以参见前面方法实施例中的相关描述。

可选地,存储器1012既可以是独立的,也可以跟处理器1011集成在一起。

当所述存储器1012是独立于处理器1011之外的器件时,所述加密端还可以包括:

总线1013,用于连接所述存储器1012和处理器1011。图10的加密端还可以进一步包括发送器(图中未画出),用于向物联网的其他节点发送处理器1011生成的密文图像。

本发明还提供一种可读存储介质,可读存储介质中存储有执行指令,当加密端的至少一个处理器执行该执行指令时,加密端执行上述的各种实施方式提供的加密方法。其中,可读介质包括计算机存储介质和通信介质,其中通信介质包括便于从一个地方向另一个地方传送计算机程序的任何介质。存储介质可以是通用或专用计算机能够存取的任何可用介质。一种示例性的存储介质耦合至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以位于专用集成电路(applicationspecificintegratedcircuits,简称:asic)中。另外,该asic可以位于用户设备中。当然,处理器和存储介质也可以作为分立组件存在于通信设备中。

本发明还提供一种程序产品,该程序产品包括执行指令,该执行指令存储在可读存储介质中。加密端的至少一个处理器可以从可读存储介质读取该执行指令,至少一个处理器执行该执行指令使得加密端实施上述的各种实施方式提供的加密方法。

图11为本发明提供的一种解密端的硬件结构示意图。如图11所示,该解密端包括:处理器1111以及存储器1112;其中

存储器1112,用于存储计算机程序,该存储器还可以是闪存(flash)。

处理器1111,用于执行存储器存储的执行指令,以实现上述基于哈希链压缩感知的图像解密方法中解密端执行的各个步骤。具体可以参见前面方法实施例中的相关描述。

可选地,存储器1112既可以是独立的,也可以跟处理器1111集成在一起。

当所述存储器1112是独立于处理器1111之外的器件时,所述解密端还可以包括:

总线1113,用于连接所述存储器1112和处理器1111。图11的解密端还可以进一步包括接收器(图中未画出),用于从物联网的其他节点接收密文图像。

本发明还提供一种可读存储介质,可读存储介质中存储有执行指令,当解密端的至少一个处理器执行该执行指令时,解密端执行上述的各种实施方式提供的解密方法。其中,可读介质包括计算机存储介质和通信介质,其中通信介质包括便于从一个地方向另一个地方传送计算机程序的任何介质。存储介质可以是通用或专用计算机能够存取的任何可用介质。一种示例性的存储介质耦合至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以位于专用集成电路(applicationspecificintegratedcircuits,简称:asic)中。另外,该asic可以位于用户设备中。当然,处理器和存储介质也可以作为分立组件存在于通信设备中。

本发明还提供一种程序产品,该程序产品包括执行指令,该执行指令存储在可读存储介质中。解密端的至少一个处理器可以从可读存储介质读取该执行指令,至少一个处理器执行该执行指令使得解密端实施上述的各种实施方式提供的解密方法。

在上述加密端或解密端的实施例中,应理解,处理器可以是中央处理单元(英文:centralprocessingunit,简称:cpu),还可以是其他通用处理器、数字信号处理器(英文:digitalsignalprocessor,简称:dsp)、专用集成电路(英文:applicationspecificintegratedcircuit,简称:asic)等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。

最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1