掌桥专利:专业的专利平台
掌桥专利
首页

动态加密与隐藏信息在图像中的实现方法及解密方法

文献发布时间:2024-04-18 20:02:40


动态加密与隐藏信息在图像中的实现方法及解密方法

技术领域

本发明属于图像处理技术领域,具体涉及一种动态加密与隐藏信息在图像中的实现方法及解密方法。

背景技术

图像处理行业是一个与计算机视觉、人工智能等领域密切相关的行业。该行业致力于研究和开发各种图像处理技术,包括图像识别、图像增强、图像压缩等。在图像处理过程中,隐藏信息是一种常见的应用场景,可以用于保护图像中的敏感信息不被泄露或篡改。随着互联网和移动设备的普及,图像传输和存储变得日益普遍。然而,在图像传输和存储过程中,如何确保图像中的敏感信息不被泄露或篡改成为了一个重要的问题。传统的图像隐藏技术通常通过修改图像的像素值来隐藏信息,但这种方法容易被攻击者检测和破解。

发明内容

鉴于以上存在的问题,本发明提供一种动态加密与隐藏信息在图像中的实现方法及解密方法。

为解决上述技术问题,本发明采用如下的技术方案:

本发明第一方面提供一种动态加密与隐藏信息在图像中的实现方法,包括以下步骤:

生成一个随机的动态密钥,用于加密要隐藏的信息;

使用动态密钥对要隐藏的信息进行加密;

提供原始图像作为信息隐藏的载体;

将加密后的信息和动态密钥嵌入到原始图像中得到加密后的图像。

一种可能的实施方式中,所述生成一个随机的动态密钥包括:使用随机数生成算法,生成一个指定长度的随机密钥,所述指定长度基于原图的像素个数计算得出,具体计算规则为:原图高*原图宽/A/8的结果进行向下取整,其中参数A必须为4的倍数。

一种可能的实施方式中,所述将加密后的信息和动态密钥嵌入到原始图像中得到加密后的图像包括:将加密后的信息转换为二进制后增加至图片的末尾,动态秘钥嵌入采用修改图像像素方式实现。

一种可能的实施方式中,所述动态秘钥嵌入采用修改图像像素方式实现包括:图片中的每一个像素包含三个值,分别是RGB值,而RGB的取值范围是0-255,将动态秘钥转换为二进制,然后每隔一定的像素点进行修改,先将该像素点上的RG统一调整为偶数,然后将秘钥的二进制的2位数字分别在对应的RG值上累加,以此类推将秘钥的所有二进制数字分别累加到每隔一定的像素点/4个像素的位置上,至此完成整个动态秘钥的嵌入。

本发明第二方面提供一种动态加密与隐藏信息在图像中的实现装置,包括动态秘钥生成服务单元、信息加密服务单元、原图服务单元和信息嵌入服务单元,其中,所述动态秘钥生成服务单元用于生成一个随机的动态密钥,用于加密要隐藏的信息;所述信息加密服务单元用于使用动态密钥对要隐藏的信息进行加密;所述原图服务单元用于提供原始图像作为信息隐藏的载体;所述信息嵌入服务单元将加密后的信息和动态密钥嵌入到原始图像中得到加密后的图像。

一种可能的实施方式中,所述生成一个随机的动态密钥包括:使用随机数生成算法,生成一个指定长度的随机密钥,所述指定长度基于原图的像素个数计算得出,具体计算规则为:原图高*原图宽/A/8的结果进行向下取整,其中参数A必须为4的倍数。

一种可能的实施方式中,所述将加密后的信息和动态密钥嵌入到原始图像中得到加密后的图像包括:将加密后的信息转换为二进制后增加至图片的末尾,动态秘钥嵌入采用修改图像像素方式实现。

一种可能的实施方式中,所述动态秘钥嵌入采用修改图像像素方式实现包括:图片中的每一个像素包含三个值,分别是RGB值,而RGB的取值范围是0-255,将动态秘钥转换为二进制,然后每隔一定的像素点进行修改,先将该像素点上的RG统一调整为偶数,然后将秘钥的二进制的2位数字分别在对应的RG值上累加,以此类推将秘钥的所有二进制数字分别累加到每隔一定的像素点/4个像素的位置上,至此完成整个动态秘钥的嵌入。

本发明第三方面提供一种解密方法,用于解密根据以上动态加密和隐藏信息在图像中的实现方法任一得到的加密后的图像,包括以下步骤:

读取加密后的图像;

进行密文提取,根据图片原生的大小,再利用当前图片实际的大小,得到密文存储在加密图片中的起始位置,从该位置读取至结尾即可;

根据信息嵌入服务的规则,以一定的像素点/4作为像素的分隔点,分别获取其像素点上RGB值中的RG值,判断值是否为偶数,偶数为0,奇数为1,据此一定的像素点提取出二进制值,以此类推读取至最后一个分隔像素点就完成了整个秘钥的二进制提取;

使用提取出的动态密钥和相应的解密算法对密文进行解密。

本发明第四方面提供一种解密装置,用于解密根据以上动态加密和隐藏信息在图像中的实现方法任一得到的加密后的图像,包括加密图片服务单元、密文提取服务单元、秘钥提取服务单元和解密服务单元,其中加密图片服务单元用于读取所述加密后的图像;所述密文提取服务单元用于进行密文提取,根据图片原生的大小,再利用当前图片实际的大小,得到密文存储在加密图片中的起始位置,从该位置读取至结尾即可;所述秘钥提取服务单元用于根据信息嵌入服务的规则,以一定的像素点/4作为像素的分隔点,分别获取其像素点上RGB值中的RG值,判断值是否为偶数,偶数为0,奇数为1,据此一定的像素点提取出二进制值,以此类推读取至最后一个分隔像素点就完成了整个秘钥的二进制提取;所述解密服务单元用于使用提取出的动态密钥和相应的解密算法对密文进行解密。

采用本发明具有如下的有益效果:

(1)通过动态加密和隐藏信息在图像中的实现方法,将加密后的信息和动态密钥一同嵌入到图像中,提高信息的安全性和隐私保护能力。

(2)提供一种更加灵活和可靠的信息隐藏方法,以增强图像隐私保护能力。

(3)可方便的对加密的图像进行解密。

附图说明

图1为本发明一实施例的动态加密与隐藏信息在图像中的实现方法的步骤流程图;

图2为本发明又一实施例的动态加密与隐藏信息在图像中的实现装置的原理框图;

图3为本发明又一实施例的解密方法的步骤流程图;

图4为本发明又一实施例的解密装置的原理框图。

具体实施方式

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

参照图1,所示为本发明一实施例的一种动态加密与隐藏信息在图像中的实现方法的步骤流程图,包括以下步骤:

S101,生成一个随机的动态密钥,用于加密要隐藏的信息;

S102,使用动态密钥对要隐藏的信息进行加密;

S103,提供原始图像作为信息隐藏的载体,确保原始图像的完整性和质量,以便后续的信息嵌入操作,对图片的格式、大小无特别要求;

S104,将加密后的信息和动态密钥嵌入到原始图像中得到加密后的图像。

本发明又一实施例的一种动态加密与隐藏信息在图像中的实现方法,S101中生成一个随机的动态密钥包括:使用随机数生成算法,生成一个指定长度的随机密钥,指定长度基于原图的像素个数计算得出,具体计算规则为:原图高*原图宽/A/8的结果进行向下取整。随机数生成算法可以采用伪随机数生成器(PRNG),确保密钥的随机性和不可预测性,以增强安全性。生成一个指定长度的随机密钥之所以基于原图的像素是因为该动态秘钥信息需要平均分散在原图的像素点中,例如一张1920*1080的图片,以参数A取1000为例,计算出的秘钥长度为:259,该长度是指数字或字母的组合长度,不包含其他特殊字符及中文,得到该长度的秘钥后就需要在信息嵌入服务中每隔A/4个像素点放入转换为二进制的2位数字秘钥。参数A取1000,每1000个像素中刚好存储了8位二进制值,另外选择1000作为间隔是为了避免秘钥的嵌入对原图造成太大的视觉差距,可以视业务场景适当调整该参数,但是参数A必须为4的倍数,因为需要将8位的二进制值均匀分布,该参数越小安全性越高,同时图片质量影响较大;该参数越大安全性越低,同时图片质量影响较小。

本发明又一实施例的一种动态加密与隐藏信息在图像中的实现方法,S104中将加密后的信息和动态密钥嵌入到原始图像中得到加密后的图像包括:将加密后的信息转换为二进制后增加至图片的末尾,动态秘钥嵌入采用修改图像像素方式实现。其中动态秘钥嵌入采用修改图像像素方式实现包括:图片中的每一个像素包含三个值,分别是RGB值,而RGB的取值范围是0-255,将动态秘钥转换为二进制,然后每隔一定的像素点进行修改,先将该像素点上的RG统一调整为偶数,然后将秘钥的二进制的2位数字分别在对应的RG值上累加,以此类推将秘钥的所有二进制数字分别累加到每隔一定的像素点/4个像素的位置上,至此完成整个动态秘钥的嵌入。

具体应用实例中,RGB值例如分别是:255、165和12。将动态秘钥转换为二进制,例:010101010010101,然后每隔1000个像素点进行修改,先将该像素点上的RG统一调整为偶数,比如上述的举例中的255、165和12修改为254、164和12,然后将秘钥的二进制的2位数字分别在对应的RG(不对B做处理)值上累加,范例中的254、164和12分别加上01后的结果为:254、165、12,这样再后续解密服务中只需要判断RG的值是否为偶数即可,即偶数为0,奇数为1,来还原秘钥的二进制值,以此类推将秘钥的所有二进制数字分别累加到每隔1000/4个像素的位置上,至此就完成了整个动态秘钥的嵌入,由于只是对RG进行加减1,因此在图像效果上影响很小。采用将密文转换为二进制后增加至图片的末尾,由于图片本身的大小可以通过各种工具获取,从而可以得到密文追加的起始位置,便于后续提取服务进行处理,该嵌入方式只会影响图像大小,不会影响图像效果。

本发明又一实施例的一种动态加密与隐藏信息在图像中的实现方法,S102中使用动态密钥对要隐藏的信息进行加密可以使用对称加密也可以使用非对称加密。如果使用对称加密,可以选择如AES的算法。如果使用非对称加密,可以选择RSA算法。以上两类算法均需要加入秘钥进行计算,确保加密后的信息在传输和存储过程中不被泄露,该密文长度不可控,因此为了不对图像质量造成影响,采用追加在图片末尾位置的方式进行嵌入。

通过以上设置的动态加密和隐藏信息在图像中的实现方法,将加密后的信息和动态密钥一同嵌入到图像中,提高信息的安全性和隐私保护能力。

与方法实施例对应的,参见图2,所示为本发明又一实施例提供的一种动态加密与隐藏信息在图像中的实现装置原理框图,包括动态秘钥生成服务单元、信息加密服务单元、原图服务单元和信息嵌入服务单元,其中,动态秘钥生成服务单元用于生成一个随机的动态密钥,用于加密要隐藏的信息;信息加密服务单元用于使用动态密钥对要隐藏的信息进行加密;原图服务单元用于提供原始图像作为信息隐藏的载体;信息嵌入服务单元将加密后的信息和动态密钥嵌入到原始图像中得到加密后的图像。

本发明又一实施例的一种动态加密与隐藏信息在图像中的实现装置,动态秘钥生成服务单元中生成一个随机的动态密钥包括:使用随机数生成算法,生成一个指定长度的随机密钥,指定长度基于原图的像素个数计算得出,具体计算规则为:原图高*原图宽/A/8的结果进行向下取整。随机数生成算法可以采用伪随机数生成器(PRNG),确保密钥的随机性和不可预测性,以增强安全性。生成一个指定长度的随机密钥之所以基于原图的像素是因为该动态秘钥信息需要平均分散在原图的像素点中,例如一张1920*1080的图片,以参数A取1000为例,计算出的秘钥长度为:259,该长度是指数字或字母的组合长度,不包含其他特殊字符及中文,得到该长度的秘钥后就需要在信息嵌入服务中每隔A/4个像素点放入转换为二进制的2位数字秘钥。参数A取1000,每1000个像素中刚好存储了8位二进制值,另外选择1000作为间隔是为了避免秘钥的嵌入对原图造成太大的视觉差距,可以视业务场景适当调整该参数,但是参数A必须为4的倍数,因为需要将8位的二进制值均匀分布,该参数越小安全性越高,同时图片质量影响较大;该参数越大安全性越低,同时图片质量影响较小。

本发明又一实施例的一种动态加密与隐藏信息在图像中的实现装置,信息嵌入服务单元中将加密后的信息和动态密钥嵌入到原始图像中得到加密后的图像包括:将加密后的信息转换为二进制后增加至图片的末尾,动态秘钥嵌入采用修改图像像素方式实现。其中动态秘钥嵌入采用修改图像像素方式实现包括:图片中的每一个像素包含三个值,分别是RGB值,而RGB的取值范围是0-255,将动态秘钥转换为二进制,然后每隔一定的像素点进行修改,先将该像素点上的RG统一调整为偶数,然后将秘钥的二进制的2位数字分别在对应的RG值上累加,以此类推将秘钥的所有二进制数字分别累加到每隔一定的像素点/4个像素的位置上,至此完成整个动态秘钥的嵌入。

具体应用实例中,RGB值例如分别是:255、165和12。将动态秘钥转换为二进制,例:010101010010101,然后每隔1000个像素点进行修改,先将该像素点上的RG统一调整为偶数,比如上述的举例中的255、165和12修改为254、164和12,然后将秘钥的二进制的2位数字分别在对应的RG(不对B做处理)值上累加,范例中的254、164和12分别加上01后的结果为:254、165、12,这样再后续解密服务中只需要判断RG的值是否为偶数即可,即偶数为0,奇数为1,来还原秘钥的二进制值,以此类推将秘钥的所有二进制数字分别累加到每隔1000/4个像素的位置上,至此就完成了整个动态秘钥的嵌入,由于只是对RG进行加减1,因此在图像效果上影响很小。采用将密文转换为二进制后增加至图片的末尾,由于图片本身的大小可以通过各种工具获取,从而可以得到密文追加的起始位置,便于后续提取服务进行处理,该嵌入方式只会影响图像大小,不会影响图像效果。

本发明又一实施例的一种动态加密与隐藏信息在图像中的实现装置,信息加密服务单元中使用动态密钥对要隐藏的信息进行加密可以使用对称加密也可以使用非对称加密。如果使用对称加密,可以选择如AES的算法。如果使用非对称加密,可以选择RSA算法。以上两类算法均需要加入秘钥进行计算,确保加密后的信息在传输和存储过程中不被泄露,该密文长度不可控,因此为了不对图像质量造成影响,采用追加在图片末尾位置的方式进行嵌入。

通过以上设置的动态加密和隐藏信息在图像中的实现装置,将加密后的信息和动态密钥一同嵌入到图像中,提高信息的安全性和隐私保护能力。

与一种动态加密与隐藏信息在图像中的实现方法对应的,所示为本发明又一实施例的一种解密方法的步骤流程图,用于解密根据以上动态加密和隐藏信息在图像中的实现方法任一得到的加密后的图像,包括以下步骤:

S201,读取加密后的图像;可以利用图像处理库或工具读取加密后的图像,确保图像的完整性和质量,以便后续的解密操作,通用技术即可实现。

S202,进行密文提取,根据图片原生的大小,再利用当前图片实际的大小,得到密文存储在加密图片中的起始位置,从该位置读取至结尾即可得到密文;

S203,根据信息嵌入服务的规则,以一定的像素点/4作为像素的分隔点,分别获取其像素点上RGB值中的RG值,判断值是否为偶数,偶数为0,奇数为1,据此一定的像素点提取出二进制值,以此类推读取至最后一个分隔像素点就完成了整个秘钥的二进制提取。

一具体应用实例中,例如以1000/4作为像素的分隔点,分别获取其像素点上RGB值中的RG值,判断值是否为偶数,偶数为0,奇数为1,这样1000个像素点就可以提取出8位二进制值,以此类推读取至最后一个分隔像素点就完成了整个秘钥的二进制提取工作。

S204,使用提取出的动态密钥和相应的解密算法对密文进行解密。

具体应用实例中,如果使用对称加密,可以使用与信息加密服务相对应的解密算法如AES。如果使用非对称加密,可以使用RSA算法的解密部分。

与解密方法实施例对应的,如图4所示为本发明又一实施例的一种解密装置的原理框图,用于解密根据以上动态加密与隐藏信息在图像中的实现方法任一得到的加密后的图像,包括加密图片服务单元、密文提取服务单元、秘钥提取服务单元和解密服务单元,其中加密图片服务单元用于读取所述加密后的图像;所述密文提取服务单元用于进行密文提取,根据图片原生的大小,再利用当前图片实际的大小,得到密文存储在加密图片中的起始位置,从该位置读取至结尾即可;所述秘钥提取服务单元用于根据信息嵌入服务的规则,以一定的像素点/4作为像素的分隔点,分别获取其像素点上RGB值中的RG值,判断值是否为偶数,偶数为0,奇数为1,据此一定的像素点提取出二进制值,以此类推读取至最后一个分隔像素点就完成了整个秘钥的二进制提取;所述解密服务单元用于使用提取出的动态密钥和相应的解密算法对密文进行解密。

一具体应用实例中,例如以1000/4作为像素的分隔点,分别获取其像素点上RGB值中的RG值,判断值是否为偶数,偶数为0,奇数为1,这样1000个像素点就可以提取出8位二进制值,以此类推读取至最后一个分隔像素点就完成了整个秘钥的二进制提取工作。

具体应用实例中,如果使用对称加密,可以使用与信息加密服务相对应的解密算法如AES。如果使用非对称加密,可以使用RSA算法的解密部分。

应当理解,本文所述的示例性实施例是说明性的而非限制性的。尽管结合附图描述了本发明的一个或多个实施例,本领域普通技术人员应当理解,在不脱离通过所附权利要求所限定的本发明的精神和范围的情况下,可以做出各种形式和细节的改变。

技术分类

06120116587231