法律状态公告日
法律状态信息
法律状态
2019-11-22
授权
授权
2018-12-25
实质审查的生效 IPC(主分类):H04N19/13 申请日:20180807
实质审查的生效
2018-11-30
公开
公开
技术领域
本发明属于多媒体信息保护领域,更具体地,涉及一种基于同态加密的JPEG图像密文下解压缩方法及系统。
背景技术
云计算时代的到来,使得越来越多的多媒体数据被存储在云端,并通过云计算进行分布式处理和分析。然而公共云计算是由第三方远程控制,云用户无法直接管理或监控计算资源和客户数据的使用情况,可能存在隐私泄露。云用户失去对数据的控制使得隐私保护成为云计算的关键问题。
为了保护云上多媒体隐私信息,关键点在于加密。同态加密采用专门设计的加密形式,允许在密文上执行计算,所生成的加密结果解密后与明文上执行的操作结果相匹配。利用同态加密特点,若将同态加密运用到云上多媒体数据的隐私保护上,可以做到有效保护隐私,同时不影响其功能。用户可使用同态加密技术加密多媒体数据后交由服务器进行运算。
JPEG(Joint Photographic Experts Group)是第一个国际图像压缩标准,被广泛应用,网站上80%的图像都采用了JPEG压缩标准。图像存储和传输形式大部分是JPEG,而云端常需处理解压缩图像,故需在密文下实现JPEG图像解压缩。
同态密文下,JPEG解码过程中无法确定匹配的码字,因此无法确定解出来的系数个数,也就无法确定解码结果,成为JPEG密文下解压缩的难点。因此,如何实现基于同态密文的JPEG图像密文下解压缩是目前亟需解决的技术难题。
发明内容
针对现有技术的以上缺陷或改进需求,本发明提供了一种基于同态加密的JPEG图像密文下解压缩方法及系统,由此解决同态密文下,JPEG解码过程中无法确定匹配的码字,进而无法确定解出来的系数个数,也就无法确定解码结果的技术问题。
为实现上述目的,按照本发明的一个方面,提供了一种基于同态加密的JPEG图像密文下解压缩方法,包括:
通过单指令多数据流SIMD方式对JPEG图像的熵编码码流打包,并对打包后的码流进行同态加密得到同态加密后的密文码流;
对所述密文码流进行哈夫曼解码,解码出64个离散余弦变换DCT系数;
对所述DCT系数进行反量化,通过左移方式实现反量化的乘法,对反量化后的DCT系数使用整数逆DCT变换,得到解码像素值,然后对所述解码像素值进行处理,得到最终解压缩结果。
优选地,所述通过单指令多数据流SIMD方式对JPEG图像的熵编码码流打包,并对打包后的码流进行同态加密得到同态加密后的密文码流,包括:
通过SIMD将D个明文码流加密成一个密文码流,对每个明文码流的的第i位,形成一个D维向量并加密成第i个密文,在加密过程中,若明文码流中的某一位用尽,则用0填充,得到包含N个密文的密文码流,N是D个明文码流中最长明文码流的比特数。
优选地,所述对所述密文码流进行哈夫曼解码,解码出64个离散余弦变换DCT系数,包括:
(a)将所述密文码流和哈夫曼码表中每个码字进行比较,以对哈夫曼码表中的每个码字计算出是否匹配的一个加密布尔值[b],其中,若b=1,则表示匹配,若b=0,则表示不匹配;
(b)对于每个码字wi,均产生一个包含m个比特的DCT系数[C(wi)],将各码字对应的DCT系数[C(wi)]乘以标识该码字是否匹配的布尔值
(c)去掉所述密文码流中匹配码字的码流以产生新的码流,并用所述新的码流替换步骤(a)中的密文码流,返回执行步骤(a),直至得到64个DCT系数。
优选地,在步骤(c)中,所述去掉所述密文码流中匹配码字的码流以产生新的码流,包括:
对于每个码字wi,该码字wi有ni个比特,当前输入的密文码流为
优选地,所述对所述DCT系数进行反量化,通过左移方式实现反量化的乘法,包括:
对于每个DCT系数,通过左移方式将该DCT系数乘以量化表中对应的数得到反量化的DCT系数。
优选地,所述对反量化后的DCT系数使用整数逆DCT变换,得到解码像素值,包括:
对反量化后的DCT系数采用两次一维的HEVC整数逆DCT变换,得到解码像素值,其中,两次整数逆DCT变换的缩放因子分别是2-6和2-9,对应的运算分别是右移6比特和右移9比特。
优选地,所述对所述解码像素值进行处理,得到最终解压缩结果,包括:
对所述解码像素值进行处理,得到最终解压缩结果,以保证像素值在[0,255]范围内。
按照本发明的另一方面,提供了一种基于同态加密的JPEG图像密文下解压缩系统,包括:
JPEG码流加密模块,用于通过单指令多数据流SIMD方式对JPEG图像的熵编码码流打包,并对打包后的码流进行同态加密得到同态加密后的密文码流;
JPEG解压缩模块,用于对所述密文码流进行哈夫曼解码,解码出64个离散余弦变换DCT系数;对所述DCT系数进行反量化,通过左移方式实现反量化的乘法,对反量化后的DCT系数使用整数逆DCT变换,得到解码像素值,然后对所述解码像素值进行处理,得到最终解压缩结果。
总体而言,通过本发明所构思的以上技术方案与现有技术相比,能够取得下列有益效果:
1、本发明通过JPEG图像码流加密对JPEG图像进行同态加密,保护图像的隐私信息不被泄露的同时可以对密文进行相关计算,原始图像经过加密方案后形成加密码流;通过对密文码流进行解压缩将加密后的码流解压缩成密文像素值,在不需要密钥即不泄露图像的隐私信息的前提,可以得到图像的密文像素值。
2、由于不同码流段解压缩流程相同,采用SIMD技术,将D个明文打包成一个密文。通过解码SIMD得到的密文块,对应于解码所有相应的明文块。SIMD大大减少了加密次数和JPEG图像的密文总数。
3、本发明中改进的哈夫曼解码的基本思想是静态控制迭代解码程序,一次迭代解码出一个系数,解决了原始JPEG解压缩方案中解码系数个数不确定问题。对于8×8的密文码流块,如果解码出的DCT系数个数小于64则继续进行迭代过程,否则的话,哈夫曼解码过程结束。
附图说明
图1是本发明实施例提供的一种基于同态加密的JPEG图像密文下解压缩方法的流程示意图;
图2是本发明实施例提供的一种JPEG图像码流加密方法的流程示意图;
图3是本发明实施例提供的一种加密码流下哈夫曼解码过程的流程示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。
本发明提供了多媒体信息保护领域的一种基于同态加密的JPEG图像密文下解压缩方法及系统,其目的在于对JPEG图像数据进行同态加密,云计算平台在没有同态秘钥的前提下能够对密文进行解压缩过程,然后处理原始图像,并将密文结果反馈给用户端,用户端可以对密文结果进行同态解密,得到处理后的明文结果。从而实现了既保护云上JPEG图像涉及到的隐私信息不泄露,又使得云计算平台能够为用户端提供存储和计算能力。
本发明的整体思路在于,通过单指令多数据流(Single Instruction MultipleData,SIMD)方式对JPEG图像熵编码码流打包,并对码流进行同态加密;对密文码流进行哈夫曼解码,将分支操作通过多次迭代过程转化为线性操作,一次迭代产生一个系数,进而解码出8×8个离散余弦变换(Discrete Cosine Transform,DCT)系数;通过对哈夫曼码表所有的码字进行匹配,得到对应的系数和新的码流,然后整合形成最终系数和新的码流;对DCT系数进行反量化,左移方式实现反量化的乘法;使用整数逆DCT变换,得到解码像素值;对像素进行有效化处理,得到最终解压缩结果。
如图1所示,为本发明实施例提供的一种方法流程示意图,主要包括JPEG图像码流加密和JPEG图像密文下解压缩。
如图2所示,为JPEG图像码流加密流程图,用于对JPEG图像熵编码码流进行同态加密,利用对码流进行解压缩过程操作相同的特点,采用SIMD(Single InstructionMultiple Data)方式,将D个明文打包成一个密文。比如D=256,SIMD将256个明文熵编码数据段(Entropy-Coded Segments,ECS)打包加密成一个密文ECS,对每个明文ECS的第i位,形成一个256维向量并加密成第i个密文,如果ECS位用尽,用0填充,得到N个密文的加密ECS,N是D个明文ECS中最长明文ECS的比特数。SIMD大大减少了加密次数和JPEG图像的密文总数。
在本发明实施例中,JPEG图像码流加密过程中需要对图像熵编码码流进行加密,哈夫曼码表和量化表保持明文,既保护图像隐私,又可进行解压缩运算。
在本发明实施例中,在加密方案中,SIMD可以将多个明文加密成单个密文。
在本发明实施例中,在加密方法中,通过解码SIMD得到的密文块,密文块对应于解码所有相应的明文块。
在本发明实施例中,在加密方法中,对解码中需要使用的哈夫曼码表和量化表不加密,保持明文。
JPEG图像密文下解压缩,用于对密文码流进行解压缩,得到密文像素值,具体步骤如下:
第一步:进行哈夫曼解码,解出8×8个DCT系数,解码流程如图3所示。每次迭代之前检查是否已经解码出8×8个系数,如果是则该块解码过程完成;如果否,则执行一次迭代过程,解码过程是逐个比特计算,迭代过程具体步骤如下:
1)码流匹配码表。每次迭代,将密文比特流和哈夫曼码表中每个码字比较,计算出一个加密的布尔值,以表示码字是否匹配。哈夫曼码表中所有的码字有且只有一个是匹配的。对当前哈夫曼码表每个码字计算出是否匹配的一个密文比特[b],用于表示当前码字是否匹配,“[x]”表示比特x加密后的密文。对于n位码字,a0,a1,...,an-1,加密比特流的前n位,[bits]0,[bits]1,....,[bits]n-1,并且输出加密的比特[b],如果是码字匹配比特流,则b=1,否则b=0。
2)计算出当前迭代输出的一个DCT系数;哈夫曼表中码字在迭代过程中产生零值系数或非零系数。在迭代中,对于每个码字wi,都产生一个包含m个比特的DCT系数[C(wi)],使用比特方式表示则为:
3)产生一个新的码流,用于下一次迭代过程。代替原始JPEG解码过程中采用一个加密的计数器来指明码流开始位置的方法,采用丢弃步骤1)中匹配码字的码流的方法产生新的码流,这样每次迭代从新码流的开始位置即可。对于每个码字wi,有ni个比特,迭代输入的码流
第二步:对解出的64个密文DCT系数,进行反量化操作。每个8X8的密文码流块通过哈夫曼解码得到64个量化DCT系数,每个量化DCT系数通过乘以量化表(表示JPEG默认的量化表)中对应的数(8比特表示的[1,255]的整数)得到反量化的系数。通过左移方式实现密文乘以明文,比如[C]*3=[C]<<1+[C]。
第三步:对反量化后的系数,进行整数逆DCT变换,得到像素值。JPEG的逆DCT变换是浮点数变换,同态加密不支持浮点运算。采用高效率视频编码(High Efficiency VideoCoding,HEVC)中的整数逆DCT变换,图像是二维的数据,故采用两次一维的DCT变换,两次的缩放因子分别是2-6和2-9,对应的运算分别是右移6比特和9比特。
第四步:对第三步产生的像素进行有效化处理,得到最终像素值。逆DCT变换得到10比特的值,而最终需要得到的像素是8比特表示,因为像素可能超出有效范围[0,255],不能直接通过去掉最高二位的比特来得到最终的像素值。假定输入
Vin=b9b8b7b6b5b4b3b2b1b0
低8比特表示为
U8=b8b7b6b5b4b3b2b1b0
则最终的输出像素值为:
[Uout]=([1]-[b9])*([1]-[8])*[U8]+[b8]*[255]
本发明实施例还提供了一种基于同态加密的JPEG图像密文下解压缩系统,包括:
JPEG码流加密模块,用于通过单指令多数据流SIMD方式对JPEG图像的熵编码码流打包,并对打包后的码流进行同态加密得到同态加密后的密文码流;
JPEG解压缩模块,用于对密文码流进行哈夫曼解码,解码出64个离散余弦变换DCT系数;对DCT系数进行反量化,通过左移方式实现反量化的乘法,对反量化后的DCT系数使用整数逆DCT变换,得到解码像素值,然后对解码像素值进行处理,得到最终解压缩结果。
在本发明实施例中,各模块的具体实施方式可以参考方法实施例的描述,本发明实施例将不做复述。
本领域的技术人员容易理解,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
机译: 屏幕图像传输方法,图像解压缩方法,屏幕图像传输系统,图像解压缩系统,屏幕图像传输程序,图像解压缩程序,图像压缩方法,图像压缩系统和图像压缩程序
机译: 用于压缩和解压缩彩色数字视频数据的视频电信系统和方法技术领域本发明涉及一种用于压缩电信系统视频中数字彩色视频数据的方法,该方法具有用于生成视频信号的装置,该装置是用于生成视频信号的装置。将视频信号转换为多个彩色视频帧速率,每个帧图像由多个扫描线组成,扫描线由多个像素组成,图像中的每个像素由彩色数字分量组成(该方法包括确定功能的步骤);基于彩色数字(b)的三个分量中的至少一个的亮度像素,基于两个像素之间的亮度差异,针对当前图像表的扫描线中的至少大部分像素,确定至少一个参数决策。与每条扫描线中至少一个像素相距预定距离的像素,以及至少(c)比较决策参数与
机译: 在部分解压缩中处理jpeg图像的方法和装置