CN110312054B - 图像的加解密方法、及相关装置、存储介质 - Google Patents

图像的加解密方法、及相关装置、存储介质 Download PDF

Info

Publication number
CN110312054B
CN110312054B CN201910579369.5A CN201910579369A CN110312054B CN 110312054 B CN110312054 B CN 110312054B CN 201910579369 A CN201910579369 A CN 201910579369A CN 110312054 B CN110312054 B CN 110312054B
Authority
CN
China
Prior art keywords
image
encrypted
key
salt value
ciphertext
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201910579369.5A
Other languages
English (en)
Other versions
CN110312054A (zh
Inventor
闫斌
张军昌
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zhejiang Dahua Technology Co Ltd
Original Assignee
Zhejiang Dahua Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Zhejiang Dahua Technology Co Ltd filed Critical Zhejiang Dahua Technology Co Ltd
Priority to CN201910579369.5A priority Critical patent/CN110312054B/zh
Publication of CN110312054A publication Critical patent/CN110312054A/zh
Application granted granted Critical
Publication of CN110312054B publication Critical patent/CN110312054B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/32Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device
    • H04N1/32101Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title
    • H04N1/32144Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title embedded in the image data, i.e. enclosed or integrated in the image, e.g. watermark, super-imposed logo or stamp
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/32Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device
    • H04N1/32101Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title
    • H04N1/32144Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title embedded in the image data, i.e. enclosed or integrated in the image, e.g. watermark, super-imposed logo or stamp
    • H04N1/32149Methods relating to embedding, encoding, decoding, detection or retrieval operations
    • H04N1/32267Methods relating to embedding, encoding, decoding, detection or retrieval operations combined with processing of the image
    • H04N1/32272Encryption or ciphering

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Facsimile Transmission Control (AREA)
  • Storage Device Security (AREA)

Abstract

本申请公开了一种图像的加解密方法、相关装置及存储介质,该方法包括:获取待加密图像集的预设管理密钥,根据预设管理密钥及待加密图像集中每张待加密图像的盐值,生成每张待加密图像的衍生密钥;采用衍生密钥对待加密图像进行加密得到密文图像。对待加密图像进行加密时,不同的待加密图像的盐值不同,将不同的盐值和同一预设管理密钥输入密钥衍生函数可以得到不同的衍生密钥。采用不同的衍生密钥对相应的待加密图像进行加密,可以使得图像集加密时的密钥具有多样性,增加了攻击者获取图像加密密钥的难度,故此增加了图像数据的安全性,此外,在密钥管理层面,只需管理极少数甚至一个密钥即可,从而降低了管理员管理密钥的难度。

Description

图像的加解密方法、及相关装置、存储介质
技术领域
本申请涉及图像数据领域,尤其涉及一种图像的加密方法、图像的解密方法、图像的加密装置、图像的解密装置及存储介质。
背景技术
当存储大量图像数据时,为了保证存储图像的安全性,通常选择对图像数据加密。以数据库形式存储图像数据为例,加密方法包括对图像数据库加密或者对图像数据库中的每张图像数据进行加密这两种方法。
采用对图像数据库加密的方法中需要采用统一的预设管理密钥对所有图像数据加密。也即,每张图像数据加密时的加密密钥是相同的。由于预设管理密钥单一,如果预设管理密钥泄露,则整个图像数据库面临安全风险,因此该方法安全性较低。
而采用对每张图像数据进行加密的方法中,每张图像数据的加密密钥都不同,如果图像数据库中的一部分图像数据的加密密钥泄露,其他图像数据的加密密钥泄露的可能性比较小。但是该方法中会生成大量的加密密钥,导致需要管理大量加密密钥,增加了密钥管理工作的难度。
发明内容
本申请实施例提供一种图像的加密方法、图像的解密方法、图像的加密装置、图像的解密装置及存储介质,用于解决现有技术中图像加密时,采用对图像集加密的方法中需要采用统一的预设管理密钥安全性较低、而采用对每张图像进行加密的方法中需要管理大量加密密钥,增加了密钥管理工作的难度等问题。
本申请实施例第一方面提供一种图像的加密方法,所述方法包括:
获取待加密图像集的预设管理密钥;
根据所述预设管理密钥及所述待加密图像集中每张待加密图像的盐值,生成所述每张待加密图像的衍生密钥,其中,所述每张待加密图像的盐值是根据所述每张待加密图像得到的;
采用所述衍生密钥对所述待加密图像进行加密得到密文图像。
在一种可能的实施方式中,根据所述预设管理密钥及所述待加密图像集中每张待加密图像的盐值,生成所述每张待加密图像的衍生密钥,包括:
将待加密图像集中每张待加密图像输入不可逆变换函数,得到每张待加密图像的盐值;
针对每张待加密图像,将预设管理密钥作为密钥衍生函数的密钥值,将该张待加密图像的盐值作为密钥衍生函数的盐值,生成该张待加密图像的衍生密钥。
在一种可能的实施方式中,根据所述预设管理密钥及所述待加密图像集中每张待加密图像的盐值,生成所述每张待加密图像的衍生密钥,包括:
将所述待加密图像集进行分组,获得至少两个待加密图像组;
针对每个待加密图像组,将该待加密图像组中的至少一张图像输入不可逆变换函数得到的盐值作为该待加密图像组内每张待加密图像的盐值;
针对每张待加密图像,将预设管理密钥作为密钥衍生函数的密钥值,将该张待加密图像的盐值作为密钥衍生函数的盐值,生成该张待加密图像组的衍生密钥。
在一种可能的实施方式中,采用所述衍生密钥对所述待加密图像进行加密得到密文图像之后,所述方法还包括:
建立所述盐值与密文图像的对应关系。
在一种可能的实施方式中,采用所述衍生密钥对所述待加密图像进行加密得到密文图像之后,所述方法还包括:
确定所述盐值在密文图像中的位置;
将所述盐值添加至确定的所述位置中。
在一种可能的实施方式中,确定所述盐值在密文图像中的位置,包括:
在密文图像中随机选择位置;
所述方法还包括:
将位置指示信息添加至密文图像中的指定位置,其中,所述位置指示信息用于指示所述盐值在所述密文图像中的位置。
本申请实施例第二方面提供一种图像的加密方法,所述方法包括:
根据用户的触发显示图像管理界面;
响应于用户在图像管理界面输入的预设管理密钥的操作指令,为选择的待加密图像集中的每张待加密图像生成对应的盐值;
根据所述预设管理密钥及所述待加密图像集中每张待加密图像的盐值,生成所述每张待加密图像的衍生密钥;
采用所述衍生密钥对所述每张待加密图像进行加密得到密文图像。
本申请实施例第三方面提供一种图像的解密方法,所述方法包括:
获取待解密密文图像集的预设管理密钥及待解密密文图像集中每张待解密密文图像的盐值;
根据所述预设管理密钥及所述每张待解密密文图像的盐值,生成所述每张待解密密文图像的衍生密钥;
采用所述衍生密钥对所述待解密密文图像进行解密。
在一种可能的实施方式中,所述盐值包含在所述待解密密文图像中,所述获取每张待解密密文图像的盐值,包括:
从所述每张待解密图像密文中提取所述盐值。
在一种可能的实施方式中,所述待解密密文图像中包括所述盐值的位置指示信息,从所述每张待解密密文图像中提取所述盐值,包括:
在所述每张待解密密文图像的指定位置处获取所述盐值的位置指示信息;
从所述位置指示信息指示的所述盐值在所述待解密密文图像中的位置,提取所述盐值。
在一种可能的实施方式中,所述获取每张待解密密文图像的盐值,包括:
根据盐值与密文图像的对应关系,获取所述每张待解密密文图像的盐值。
本申请实施例第四方面提供一种图像的加密装置,所述装置包括:
第一预设管理密钥获取模块,用于获取待加密图像集的预设管理密钥;
第一衍生密钥生成模块,用于根据所述预设管理密钥及所述待加密图像集中每张待加密图像的盐值,生成所述每张待加密图像的衍生密钥,其中,所述每张待加密图像的盐值是根据所述每张待加密图像得到的;
第一图像加密模块,用于采用所述衍生密钥对所述待加密图像进行加密得到密文图像。
在本申请实施例的第五方面提供一种图像的加密装置,所述装置包括:
图像管理页面显示模块,用于根据用户的触发显示图像管理界面;
盐值生成模块,用于响应于用户在图像管理界面输入的预设管理密钥的操作指令,为选择的待加密图像集中的每张待加密图像生成对应的盐值;
第二衍生密钥生成模块,用于根据所述预设管理密钥及所述待加密图像集中每张待加密图像的盐值,生成所述每张待加密图像的衍生密钥;
第二图像加密模块,用于采用所述衍生密钥对所述每张待加密图像进行加密得到密文图像。
在本申请实施例的第六方面提供一种图像的解密装置,所述装置包括:
第二预设管理密钥获取模块,用于获取待解密密文图像集的预设管理密钥;
盐值获取模块,用于获取所述待解密密文图像集中每张待解密密文图像数据的盐值;
第二衍生密钥生成模块,用于根据所述预设管理密钥及所述每张待解密密文图像的盐值,生成所述每张待解密密文图像的衍生密钥;
图像解密模块,用于采用所述衍生密钥对所述待解密密文图像进行解密。
在本申请实施例的第七方面提供一种计算机装置,至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行上述图像的加密方法和图像的解密方法。
本申请实施例中,对待加密图像集进行加密时,获取待加密图像集的预设管理密钥,根据预设管理密钥及待加密图像集中每张待加密图像的盐值,生成每张待加密图像的衍生密钥,其中,每张待加密图像的盐值是根据每张待加密图像得到的;采用衍生密钥对待加密图像进行加密得到密文图像。不同的待加密图像具有不同的盐值,由不同的盐值和同一预设管理密钥可以得到不同的衍生密钥。采用不同的衍生密钥对相应的待加密图像进行加密,可以使得图像加密时的密钥具有多样性,增加了攻击者获取图像加密密钥的难度,故此增加了图像数据的安全性,此外,在密钥管理层面,只需管理极少数甚至一个预设管理密钥即可,从而降低了管理员管理密钥的难度。
本申请的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本申请而了解。本申请的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例中所需要使用的附图作简单地介绍,显而易见地,下面所介绍的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例中图像的加密方法的流程图;
图2为本申请实施例中盐值在密文图像中存储的示意图;
图3为本申请实施例中盐值在密文图像中存储的示意图;
图4为本什么实施例中盐值在密文图像中存储的示意图;
图5为本申请实施例中图像的加密方法的流程图;
图6为本申请实施例中图像的解密方法的流程图;
图7为本申请实施例中从待解密密文图像中提取盐值的示意图;
图8为本申请实施例中从待解密密文图像中提取盐值的示意图;
图9为本申请实施例中应用场景示意图;
图10为本申请实施例中图像数据库中的图像数据进行加密和解密的应用场景示意图;
图11为本申请实施例中人脸图像加密和解密过程的流程图;
图12为本申请实施例中图像的加密装置的结构框图;
图13为本申请实施例中图像的解密装置的结构框图;
图14为本申请实施例中计算装置。
具体实施方式
为了解决现有技术中图像数据加密时,无法同时实现图像数据加密密钥的多样性和降低管理密钥难度,图像数据库的安全性较低的问题。本申请实施例中提供了一种图像的加密方法、图像的解密方法、图像的加密装置、图像的解密装置及存储介质。为了更好的理解本申请实施例提供的技术方案,这里对本申请实施例涉及的一些名称进行解释:
KDF:密钥衍生函数(Key Derivation Function,缩写KDF)是解决加密过程中密钥不满足加密算法对密钥强度要求而进行密钥扩展的一种算法。该算法需要输入密钥值和盐值。其中,密钥值就是管理员预先设置的管理密钥,其中,管理密钥可以是数字、字母、符号等组成的序列,需要管理员安全保管,盐值可以公开存储,密钥衍生算法根据密钥值和盐值生成唯一的衍生密钥,且衍生密钥不能反向推测出密钥值。
预设管理密钥,用于统一管理图像集,作为待加密图像加密时的密钥,也可以作为待解密密文图像解密时的密钥。预设管理密钥与每张待加密图像的盐值生成每张待加密图像的衍生密钥,与每张待解密密文图像的盐值生成每张待解密密文图像的衍生密钥。预设管理密钥可以是一个。当具有多个管理员管理图像时,若每个管理员拥有一个管理密钥,则预设管理密钥为所有管理密钥的集合。
这里对该方案的基本原理做一下简单说明:
为了解决现有技术中采用对图像数据库加密的方法中需要采用统一的预设管理密钥安全性较低、而采用对每张待加密图像进行加密的方法中需要管理大量加密密钥,增加了密钥管理工作的难度等问题。本申请实施例提出了一种能够实现图像加密时的密钥的多样性来增加图像的安全性,并同时降低密钥管理工作的难度的方案。在本方案中,对待加密图像集进行加密时,获取待加密图像集的预设管理密钥,根据预设管理密钥及待加密图像集中每张待加密图像的盐值,生成每张待加密图像的衍生密钥,其中,每张待加密图像的盐值是根据每张待加密图像得到的;采用衍生密钥对待加密图像进行加密得到密文图像。在本申请实施例中,不同的待加密图像的盐值是不同的,盐值具有多样性则即使采用统一的预设管理密钥,生成的衍生密钥也具有多样性。由此实现了采用不同的加密密钥对图像进行加密,进而提高图像数据的安全性。由于整个加密的过程只需要管理极少数甚至一个预设管理密钥故此同时达到了降低密钥管理工作难度的效果。
下面结合附图对本申请实施例提供的图像的加密方法做进一步说明。如图1所述,为该方法的流程示意图,包括以下步骤:
步骤101,获取待加密图像集的预设管理密钥。
步骤102,根据预设管理密钥及待加密图像集中每张待加密图像的盐值,生成每张待加密图像的衍生密钥,其中,每张待加密图像的盐值是根据每张待加密图像得到的。
具体实施时,可以将预设管理密钥作为密钥衍生函数的key值,将每张待加密图像的盐值作为密钥衍生函数的盐值,生成对应每张待加密图像的衍生密钥。
其中,对图像进行加密时,预设管理密钥可以为一个管理员设置的密钥。也可以由多个管理员各自独立设置的密钥按照预设规则组合在一起形成预设管理密钥。如果加密过程中的预设管理密钥是由多个管理员各自独立设置的密钥按照预设规则组合在一起形成的,那么在解密对应图像时,需要获取所有管理员加密过程中各自独立设置的密钥,并将所有密钥按照预设规则组合在一起形成预设管理密钥,采用该预设管理密钥才能正确解密图像,否则不能成功解密图像,大大提高了图像的安全性。
步骤103:采用衍生密钥对待加密图像进行加密得到密文图像。
在一个实施例中,在步骤103中,可以根据衍生密钥和高级加密标准(AdvancedEncryption Standard,缩写AES)算法对待加密图像进行加密,得到密文图像。
相应的,对密文图像解密时需要获取衍生密钥。而衍生密钥的获取同样可以通过密钥衍生函数确定即可。解密与加密过程不同是,加密时不需要生成盐值,只需要之前生成的盐值即可,例如可从密文图像中提取盐值。
本申请实施例中,对待加密图像进行加密时,不同的待加密图像的盐值不同,将不同的盐值和同一预设管理密钥输入密钥衍生函数可以得到不同的衍生密钥。采用不同的衍生密钥对相应的待加密图像进行加密,可以使得图像集加密时的密钥具有多样性,增加了攻击者获取图像加密密钥的难度,故此增加了图像数据的安全性,此外,在密钥管理层面,只需管理极少数甚至一个密钥即可,从而降低了管理员管理密钥的难度。
在一个实施例中,根据预设管理密钥及待加密图像集中每张待加密图像的盐值,生成每张待加密图像的衍生密钥,具体可实施为:将待加密图像集中每张待加密图像输入不可逆变换函数,得到每张待加密图像的盐值;针对每张待加密图像,将预设管理密钥作为密钥衍生函数的密钥值,将该张待加密图像的盐值作为密钥衍生函数的盐值,生成该张待加密图像的衍生密钥。
具体实施时,将待加密图像集中每张待加密图像输入不可逆变换函数,得到的不可逆变换函数输出值为每张待加密图像的盐值。其中,不可逆变换函数可以是哈希函数。哈希函数是把任意长度的输入,通过散列算法,变换成固定长度的输出,该输出值是散列值。不同的输入可能会散列成相同的输出,而不可能从散列值来唯一的确定输入值。因此,不同的待加密图像通过哈希函数得到的输出值是散列值,但是通过输出值无法来唯一的确定输入的待加密图像。
将待加密图像集中每张待加密图像输入不可逆变换函数,得到不可逆变换函数的输出值为待加密图像的盐值。还可以实施为从待加密图像的图像数据中随机提取指定数量的图像数据作为不可逆变换函数的输出值。比如图像数据是a1b2c3d4e5f6的字符串,指定数量的图像数据可以是连续的一段图像数据,如2c3d,也可以是非连续的指定数量的图像数据,如a1e5。本申请实施例中对如何选取一段连续的图像数据和随机选取不连续的图像数据的实施方式并不作限定。此外,本申请实施例中对指定数量的具体值也不作限定。该方法中,通过随机提取指定数量的图像数据,随机过程是不可逆的,故此也能够达到提高图像数据的密钥(即衍生密钥)的安全性的目的。
得到每张待加密图像的盐值后,将预设管理密钥作为密钥衍生函数的密钥值,将每张待加密图像的盐值作为密钥衍生函数的盐值,生成每张待加密图像的衍生密钥。由于密钥衍生函数根据预设管理密钥和待加密图像的盐值可以生成对应待加密图像的唯一的衍生密钥,但衍生密钥不能反向推测出预设管理密钥,同时不同的待加密图像的盐值不同,且通过盐值也无法唯一的确定该盐值对应的待加密图像。故此,该方法加强了密文图像被破译的难度,提高了待加密图像的安全性。
在一个实施例中,为了便于解密密文图像过程中对盐值的提取和使用,该方法在采用衍生密钥对待加密图像进行加密得到密文图像之后,还包括建立盐值与密文图像的对应关系。也即,采用衍生密钥对待加密图像进行加密得到密文图像后,可以建立盐值与密文图像的对应关系。建立盐值与密文图像的对应关系,便于对密文图像进行解密时能够根据盐值与密文图像的对应关系提取出相应的盐值。
建立盐值与密文图像的对应关系能够利于对密文图像进行解密时提取密文图像对应的盐值,但是对大量图像加密后,存储大量密文图像,相应单独存放的盐值与密文图像的对应关系会占用大量存储资源,同时会增加管理成本。因此,为了便于解密密文图像时提取盐值,同时能够降低盐值与密文图像的对应关系对存储资源的占用,本申请实施例中还可以将盐值隐藏在图像数据中存储,具体实施时可以包括以下步骤A1-步骤A2:
步骤A1:确定盐值在密文图像中的位置。
步骤A2:将盐值添加至确定的位置中。
其中,关于步骤A1中盐值的位置确定可包括以下两种方案:
方案1:盐值在密文图像数据中的位置是相同的且是固定的:
1)可以在密文图像数据的开头位置、末端位置和中间位置中选择一种位置,并设置为添加盐值的位置。如图2所示,为本申请实施例中盐值在密文图像数据中存储的示意图。图2中,假设密文图像数据包括data1、data2、data3、data4、data5,标号202所指的位置为盐值在密文图像数据中存储的位置。将盐值203添加至密文图像数据201中确定的位置202中,形成了含有盐值的密文图像数据204,在图2中盐值的位置202设置在了密文图像数据201中data4和data5的之间。
2)可以将所有待加密图像数据进行分组,每组待加密图像数据中具有一个相同且固定位置设置为添加盐值的位置。例如,共有1000份图像,对应1000份图像数据,可以将这1000份图像数据等分为4组,则每组有250份图像数据。针对一组图像数据而言,其盐值的位置选择同前述第1)中方案所述,这里不再赘述。而对于不同的待加密图像数据组,其盐值的位置可以不同。当然,需要说明的是,具体实施时,分组的方式本申请实施例对此不作限定。
通过上述将盐值隐藏在密文图像中的方案,可以避免建立盐值与密文图像数据的对应关系占用大量存储资源,达到节约存储资源的效果。
如果盐值在密文图像数据中的位置是固定的,虽然减少了盐值与密文图像数据的对应关系对存储资源的占用,但是当攻击者破译了盐值在一张密文图像数据的位置时,那么其他盐值在其对应的密文图像中的位置相应也被攻击者掌握,这样会降低密文图像的安全性。因此,本申请实施例中,为了进一步提高图像数据的安全性,盐值的位置也尽可能具有不可预测的多样性,具体可实施为在密文图像数据中随机选择位置用于添加盐值。也即采用如下的方案2。
方案2、确定盐值在密文图像数据中的位置,可具体实施为在密文图像数据中随机选择位置;相应的,将盐值添加至该随机选择的位置上。此外,为了便于解密时提取盐值,本申请实施例中可以引入位置指示信息,位置指示信息用于指示盐值在密文图像中的位置,具体实施时可以将位置指示信息添加至密文图像中的指定位置。
具体实施时,可以为每个盐值随机选择一个位置,将盐值添加在选择的该位置上,也即盐值是连续存储的,读取时读取连续的一段数据即可得到盐值。那么盐值的位置指示信息中仅需要指示盐值位置即可。如图3所示为盐值在密文图像数据存储的示意图,假设密文图像数据包括data1、data2、data3、data4、data5,盐值是由多个数字、字母组成的数据,比如M5N7Ga123,标号301所指的位置为在密文图像数据随机选择的用于连续存储盐值的位置,将盐值203添加至密文图像数据201的位置301中。为了便于解密过程对盐值的提取,可以生成盐值203的位置指示信息302,将位置指示信息302添加至密文图像数据201的指定位置303处,形成了含有盐值203和位置指示信息302的密文图像数据204。可以在密文图像数据的开头位置、末端位置和中间位置中选择一种位置,设置为添加位置指示信息的位置。在图3中,盐值203的位置指示信息302设置在密文图像数据data1和data2之间。
在另一种实施方式中,将至少具有两个数据的盐值划分为多个盐值子集,为每个盐值子集随机选择一个位置,将各盐值子集添加至对应的位置上。如图4所示为本申请实施例中盐值在密文图像数据中存储的示意图。假如密文图像数据201包括data1、data2、data3、data4、data5,盐值203是由多个数字、字母组成的数据,比如M5N7Ga123。将盐值203拆分为三个盐值子集,盐值子集2031为M5,盐值子集2032为N7G,盐值子集2033为a123。标号4011所指的位置为在密文图像数据201随机选择的用于存储盐值子集2031的位置,标号4012所指的位置为在密文图像数据201中随机选择的用于存储盐值子集2032的位置,标号4012所指的位置为在密文图像数据201中随机选择的用于存储盐值子集2033的位置。将盐值子集2031、2032、2033添加至密文图像数据中相应的位置上。
在图4中,存储盐值子集2031的位置4011是在data2和data3之间,存储盐值子集2032的位置4012是在data4和data5之间,存储盐值子集2033的位置4013是紧挨着data5的后面。为了便于解密过程对盐值的提取,可以生成盐值子集2031、2032、2033的位置指示信息302,并将位置指示信息302添加至密文图像数据201的指定位置303处,形成了含有盐值和位置指示信息的密文图像数据204。可以在密文图像数据201的开头位置、末端位置和中间位置中选择一种位置,设置为添加位置指示信息303的位置。在图4中盐值的位置指示信息303设置在了密文图像数据data1和data2之间。
通过在密文图像数据随机选择的位置添加盐值以及在指定的位置添加盐值的位置指示信息,使得添加盐值的位置不具有规律性,当攻击者获取到一张或几张密文图像数据的盐值时,破解其他密文图像数据的盐值添加位置的可能性减小,大大提高了图像数据的安全性。同时在密文图像数据中添加位置指示信息可以便于解密过程中对盐值的准确提取。
在一个实施例中,使用本实施例中的图像数据加密方法可以获取每一张待加密图像的加密密钥,多个加密密钥之间不具有相关性,导致对图像数据破解难度指数增加,提高了图像数据的安全性。同时预设的管理密钥单一,降低了管理员管理密钥的难度。此外,可以将待加密图像进行分组,并生成每组待加密图像的衍生密钥,采用衍生密钥对对应待加密图像数据组进行加密。因此,步骤102根据预设管理密钥及待加密图像集中每张待加密图像的盐值,生成所述每张待加密图像的衍生密钥,可具体实施为如步骤B1-步骤B3:
步骤B1:将待加密图像集进行分组,获得至少两个待加密图像组;
步骤B2:针对每个待加密图像组,将该待加密图像组中的至少一张图像输入不可逆变换函数,得到的盐值作为该待加密图像组内每张待加密图像的盐值。
步骤B3:针对每张待加密图像,将预设管理密钥作为密钥衍生函数的密钥值,将该张待加密图像的盐值作为密钥衍生函数的盐值,生成该张待加密图像组的衍生密钥。
将待加密图像进行分组,针对每个待加密图像组,将该待加密图像组中的至少一张图像数据输入不可逆变换函数,得到的盐值作为该待加密图像组内每张待加密图像的盐值;将不同的盐值和同一预设管理密钥输入密钥衍生函数的盐值,得到不同的衍生密钥,采用不同的衍生密钥对相应的待加密图像组中每张待加密图像进行加密。通过将待加密图像数据进行分组,减少步骤102中计算盐值的次数,相应的可以减少加密过程中生成衍生密钥的次数,节约处理资源。在对应的图像数据组解密过程中,提取盐值的次数相应减少,进而提高了提取盐值的效率及图像的解密效率。
基于与图像的加密方法相同的发明构思,本申请实施例从用户可视化操作的角度出发,还提供了一种图像的加密方法,该方法实施时可包括步骤501-504:
步骤501,根据用户的触发显示图像管理界面;
步骤502,响应于用户在图像管理界面输入的预设管理密钥的操作指令,为选择的待加密图像集中的每张待加密图像生成对应的盐值;
步骤503,根据预设管理密钥及待加密图像集中每张待加密图像的盐值,生成每张待加密图像的衍生密钥;
步骤504,采用衍生密钥对每张待加密图像进行加密得到密文图像。
根据用户的触发显示图像管理界面,对待加密图像进行加密时,用户几个简单的操作即可为不同的待加密图像的生成对应的盐值,然后根据盐值和预设管理密钥即可得到不同图像的各自的衍生密钥。采用不同的衍生密钥对相应的待加密图像进行加密,可以使得图像集加密时的密钥具有多样性,增加了攻击者获取图像加密密钥的难度,故此增加了图像数据的安全性。此外,在用户的管理层面,用户只需管理极少数甚至一个密钥即可,从而降低了用户管理密钥的难度。
前文主要介绍了图像的加密方法,下面结合附图对本申请实施例提供的图像的解密方法做进一步说明。如图6所示,为该方法的流程示意图,包括以下步骤:
步骤601:获取待解密密文图像集的预设管理密钥及待解密密文图像集中每张待解密密文图像的盐值。
其中,在图像的加密过程中,预设管理密钥可以为一个管理员设置的密钥。也可以由多个管理员各自独立设置的密钥按照预设规则组合在一起形成预设管理密钥。在密文图像的解密过程中,需要获取该密文图像对应的预设管理密钥。如果加密过程中的预设管理密钥是由多个管理员各自独立设置的密钥按照预设规则组合在一起形成的,那么在解密对应密文图像时,需要获取所有管理员在加密过程中各自独立设置的密钥,并按照预设规则将所有密钥组合在一起可以形成预设管理密钥,采用该预设管理密钥才能正确解密密文图像,否则不能成功解密该密文图像,大大提高了图像数据的安全性。
步骤602:根据预设管理密钥及每张待解密密文图像的盐值,生成每张待解密密文图像数据的衍生密钥。
步骤603:采用衍生密钥对待解密密文图像进行解密。
其中,可以根据衍生密钥和高级加密标准(Advanced Encryption Standard,缩写AES)算法对待解密密文图像进行解密,得到解密后的图像。
对密文图像进行解密时,不同的待解密图像数据对应不同的盐值。将待解密图像的盐值作为密钥衍生函数的盐值,将不同的盐值和同一预设管理密钥输入密钥衍生函数可以得到不同的衍生密钥。采用不同的衍生密钥对相应的待解密图像进行解密,由于图像解密时的解密密钥具有多样性,增加了攻击者获取图像解密密钥的难度,故此增加了图像的安全性,此外,在密钥管理层面,只需管理极少数甚至一个预设管理密钥即可,从而降低了管理员管理密钥的难度。
在一个实施例中,如前文图像的加密方法所述,当盐值包含在待密文图像中时,盐值在密文图像中的存储位置有两种方案:
方案1:盐值存储在密文图像中固定且相同的位置。
方案2:在密文图像中随机选择位置添加盐值,然后生成盐值的位置指示信息,将该位置指示信息存储在密文图像中固定且相同的位置。
在图像解密过程中,针对采用方案1存储的盐值,在提取盐值时,从待解密密文图像中指定位置处提取盐值。
如图7所示为从每张待解密密文图像提取盐值的示意图。假设包含盐值的待解密密文数据204中包括密文图像数据data1、data2、data3、data4、data5和盐值203。盐值203是在待解密密文图像数据204中的指定位置202处,其中,位置202是位于密文图像数据data4和data5之间,从指定位置202处提取出盐值203,获得不包含盐值203的密文图像数据201。
这样,盐值在密文图像数据中固定且相同的位置,可以减少盐值与密文图像数据的对应关系对存储资源的占用,同时便于在解密密文图像数据过程中对盐值的提取。
针对采用方案2存储的盐值,在提取盐值时,待解密密文图像中包括盐值的位置指示信息,从每张待解密密文图像中提取盐值,包括步骤C1和步骤C2:
步骤C1:在待解密密文图像的指定位置处获取盐值的位置指示信息;
步骤C2:从位置指示信息指示的盐值在待解密密文图像数据中的位置,提取盐值。
其中,如图8所示为从待解密密文图像中提取盐值的示意图。假设包含盐值的待解密密文数据204中包括密文图像数据data1、data2、data3、data4、data5、盐值203和位置指示信息302。位置指示信息302是在待解密密文图像数据204中的指定位置303处,其中,指定位置303是位于密文图像数据data1和data2之间,盐值203是在待解密图像数据204中随机选择的位置301处,其中,位置301是位于密文图像数据data4和data5之间。从指定位置303处提取出位置指示信息302,根据位置指示信息获取盐值302在待解密密文图像数据204中的位置为301,从位置301中提取出盐值203,获得待解密密文图像数据201。
通过密文图像随机选择的位置添加的盐值以及在指定的位置添加盐值的位置指示信息,首先可以减少盐值对存储资源的占用;其实可以使得提取盐值的位置不具有规律性,当攻击者提取到一张或几张密文图像数据的盐值时,破解其他密文图像的盐值提取位置的可能性减小,大大提高了图像数据的安全性。同时密文图像中的位置指示信息便于解密过程中对盐值的准确提取。
在一个实施例中,如果在待解密密文图像数据中既不包含盐值也不包含盐值的指示信息,那么获取每张待解密密文图像对应的盐值,具体可实施为:
根据盐值与密文图像的对应关系,便于解密密文图像时能够根据盐值与密文图像的对应关系提取出相应的盐值。
应用场景示例:
如图9所示为本申请实施例中图像数据库中的图像进行加密和解密的应用场景示意图,其中,该数据库存储大量人脸图像,该场景中包括终端设备901,服务器902和数据库(未示出),其中数据库是由服务器建立的。
如图10所示为本申请实施例中人脸图像加密和解密过程的流程图。下面通过图10对该场景下人脸图像集中的人脸图像进行加密和解密流程进行说明,包括:
步骤1001:终端设备显示管理密钥设置页面,并将用户在管理密钥设置页面输入的预设管理密钥发送给服务器。
具体实施时,如前文所述,当具有多个管理员,且每个管理员具有对应的管理密钥时,需要终端将各管理员的管理密钥均发送给服务器。
步骤1002:服务器将待加密的人脸图像从人脸图像集提取出来,并将待加密人脸图像输入不可逆变换函数,得到每张待加密人脸图像的盐值。
其中,步骤1001和步骤1002的执行先后时间不受限,即可以先执行步骤1001再执行步骤1002,也可以先执行步骤1002再执行步骤1001。
步骤1003:服务器将预设管理密钥作为密钥衍生函数的密钥值,将每张待加密人脸图像的盐值作为密钥衍生函数的盐值,生成该张待加密人脸图像的衍生密钥;
步骤1004:服务器根据衍生密钥对待加密人脸图像进行加密,得到密文人脸图像;
步骤1005:服务器将密文人脸图像存储到人脸图像数据库中;
具体实施时,服务器可以根据密文人脸图像在人脸图像数据库中的位置,用人脸对应的身份证号标识人脸图像在人脸图像数据库中的位置,将身份证号作为对应人脸图像的索引值,并将索引值与人脸图像的对应关系发送至终端设备。
步骤1006:终端设备显示选择解密图像页面,并根据用户在该页面的操作确定待解密的人脸密文图像;
步骤1007:终端设备显示输入预设管理密钥页面,根据用户在预设密钥页面输入的预设管理密钥,并将该预设管理密钥发送给服务器;
步骤1008:服务器从人脸图像数据库获取待解密的人脸密文图像;
具体实施时,服务器根据图像加密过程中设置的索引值与人脸图像的对应关系,输入索引值,就可以获取到与该索引值对应的待解密人脸图像。
步骤1009:服务器从待解密的人脸密文图像中提取盐值;
步骤1010:服务器接收到预设管理密钥及提取的每张待解密密文图像的盐值,生成每张待解密人脸密文图像的衍生密钥;
步骤1011:服务器采用衍生密钥对待解密人脸密文图像进行解密,得到解密后的人脸图像;
步骤1012:服务器将解密后的人脸图像发送至终端设备;
步骤1013:终端设备显示解密后的人脸图像。
基于与图像的加密方法相同的发明构思,本申请实施例还提供了一种图像的加密装置,如图11所示,该装置包括第一预设管理密钥获取模块1101、第一衍生密钥生成模块1102和第一图像加密模块1103,
第一预设管理密钥获取模块1101,用于获取待加密图像集的预设管理密钥;
第一衍生密钥生成模块1102,用于根据预设管理密钥及待加密图像集中每张待加密图像的盐值,生成每张待加密图像的衍生密钥,其中,每张待加密图像的盐值是根据每张待加密图像得到的;
第一图像加密模块1103,用于采用衍生密钥对所述待加密图像进行加密得到密文图像。
在一个实施例中,所述第一衍生密钥生成模块包括:
第一盐值生成子模块,用于将待加密图像集中每张待加密图像输入不可逆变换函数,得到每张待加密图像的盐值;
第一衍生密钥生成子模块,用于针对每张待加密图像,将预设管理密钥作为密钥衍生函数的密钥值,将该张待加密图像的盐值作为密钥衍生函数的盐值,生成该张待加密图像的衍生密钥。
在一个实施例中,第一衍生密钥生成模块,包括:
待加密图像分组子模块,用于将待加密图像集进行分组,获得至少两个待加密图像组;
第二盐值生成子模块,用于针对每个待加密图像组,将该待加密图像组中的至少一张图像输入不可逆变换函数得到的盐值作为该待加密图像组内每张待加密图像的盐值;
第二衍生密钥生成子模块,用于针对每张待加密图像,将预设管理密钥作为密钥衍生函数的密钥值,将该张待加密图像的盐值作为密钥衍生函数的盐值,生成该张待加密图像组的衍生密钥。
在一个实施例中,第一图像加密模块采用衍生密钥对待加密图像进行加密得到密文图像之后,该图像的加密装置还包括,
对应关系建立模块,用于建立盐值与密文图像的对应关系。
在一个实施例中,第一图像加密模块采用衍生密钥对待加密图像进行加密得到密文图像之后,图像的加密装置还包括:
盐值位置确定模块,用于确定盐值在密文图像中的位置;
盐值添加模块,用于将盐值添加至确定的位置中。
在一个实施例中,盐值位置确定模块,用于在密文图像数据中随机选择位置;
图像加密的装置还包括:
位置指示信息添加模块,用于将位置指示信息添加至密文图像中的指定位置,其中,位置指示信息用于指示盐值在密文图像中的位置。
图像的加密装置在具体实施时与图像的加密方法实施时的过程相似,这里不再赘述。
基于与用户可视化角度的图像的加密方法相同的发明构思,本申请实施例还提供了一种图像的加密装置,如图12所示,该装置包括图像管理页面显示模块1201、盐值生成模块1202、第二衍生密钥生成模块1203和第二图像加密模块1204,
图像管理页面显示模块1201,用于根据用户的触发显示图像管理界面;
盐值生成模块1202,用于响应于用户在图像管理界面输入的预设管理密钥的操作指令,为选择的待加密图像集中的每张待加密图像生成对应的盐值;
第二衍生密钥生成模块1203,用于根据预设管理密钥及待加密图像集中每张待加密图像的盐值,生成每张待加密图像的衍生密钥;
第二图像加密模块1204,用于采用衍生密钥对所述每张待加密图像进行加密得到密文图像。
该图像的加密装置在具体实施时与用户可视化的图像的加密方法实施时的过程相似,这里不再赘述。
基于与前文介绍了图像的解密方法相同的发明构思,本申请实施例还提供了一种图像的解密装置。如图13所示,为本申请实施例中图像的解密装置的结构框图,该装置可以包括第二预设管理密钥获取模块1301、盐值获取模块1302、第三衍生密钥生成模块1303和图像数据解密模块1304。
第二预设管理密钥获取模块1301,用于获取待解密密文图像集的预设管理密钥。
盐值获取模块1302,用于待解密密文图像集中每张待解密密文图像的盐值。
第三衍生密钥生成模块1303,用于根据预设管理密钥及每张待解密密文图像的盐值,生成每张待解密密文图像的衍生密钥。
图像解密模块1304,用于采用衍生密钥对待解密密文图像进行解密。
在一个实施例中,盐值包含在待解密密文图像中,盐值获取模块,用于从每张待解密图像密文中提取盐值。
在一个实施例中,待解密密文图像中包括盐值的位置指示信息,盐值获取模块,包括:
位置指示信息获取子模块,用于在每张待解密密文图像的指定位置处获取盐值的位置指示信息;
盐值获取子模块,用于从位置指示信息指示的盐值在待解密密文图像中的位置,提取盐值。
在一个实施例中,盐值获取模块,用于根据盐值与密文图像的对应关系,获取与待解密密文图像数据对应的盐值。
图像数据的加密装置在具体实施时与图像数据的加密方法的过程相同,这里不再赘述。
在介绍了本申请示例性实施方式的图像的加密方法、图像的解密方法,图像的加密装置和图像的解密装置,接下来,介绍根据本申请的另一示例性实施方式的计算装置。
所属技术领域的技术人员能够理解,本申请的各个方面可以实现为***、方法或程序产品。因此,本申请的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“***”。
在一些可能的实施方式中,根据本申请的实施例,计算装置可以至少包括至少一个处理器、以及至少一个存储器。其中,存储器存储有程序代码,当程序代码被处理器执行时,使得处理器执行本说明书上述描述的根据本申请各种示例性实施方式的图像加密方法中的步骤101-103、步骤501-504和图像解密方法中的步骤601-603。
下面参照图14来描述根据本申请的这种实施方式的计算装置140。图14显示的计算装置140仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。该计算装置例如可以是手机、平板电脑等。
如图14所示,计算装置140以通用计算装置的形式表现。计算装置140的组件可以包括但不限于:上述至少一个处理器1401、上述至少一个存储器1402、连接不同***组件(包括存储器1402和处理器1401)的总线1403。
总线1403表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器、***总线、处理器或者使用多种总线结构中的任意总线结构的局域总线。
存储器1402可以包括易失性存储器形式的可读介质,例如随机存取存储器(RAM)14021和/或高速缓存存储器14022,还可以进一步包括只读存储器(ROM)14023。
存储器1402还可以包括具有一组(至少一个)程序模块14024的程序/实用工具14025,这样的程序模块14024包括但不限于:操作***、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
计算装置140也可以与一个或多个外部设备1404(例如指向设备等)通信,还可与一个或者多个使得用户能与计算装置140交互的设备通信,和/或与使得该计算装置140能与一个或多个其它计算装置进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口1405进行。并且,计算装置140还可以通过网络适配器1406与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器1406通过总线1403与用于计算装置140的其它模块通信。应当理解,尽管图中未示出,可以结合计算装置1400使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理器、外部磁盘驱动阵列、RAID***、磁带驱动器以及数据备份存储***等。
在一些可能的实施方式中,本申请提供的图像数据加密方法和解密方法的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当程序产品在计算机设备上运行时,程序代码用于使计算机设备执行本说明书上述描述的根据本申请各种示例性实施方式的图像数据加密方法和解密方法中的步骤,执行如图1中所示的步骤101-103、图5中所示的步骤501-504及图6中所示的步骤601-603。
程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的***、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
本申请实施方式的图像数据加密方法和解密方法可以采用便携式紧凑盘只读存储器(CD-ROM)并包括程序代码,并可以在计算装置上运行。然而,本申请的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行***、装置或者器件使用或者与其结合使用。
可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括——但不限于——电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行***、装置或者器件使用或者与其结合使用的程序。
可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于——无线、有线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本申请操作的程序代码,程序设计语言包括面向对象的程序设计语言—诸如Java、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算装置上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算装置上部分在远程计算装置上执行、或者完全在远程计算装置或服务器上执行。在涉及远程计算装置的情形中,远程计算装置可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算装置,或者,可以连接到外部计算装置(例如利用因特网服务提供商来通过因特网连接)。
应当注意,尽管在上文详细描述中提及了装置的若干单元或子单元,但是这种划分仅仅是示例性的并非强制性的。实际上,根据本申请的实施方式,上文描述的两个或更多单元的特征和功能可以在一个单元中具体化。反之,上文描述的一个单元的特征和功能可以进一步划分为由多个单元来具体化。
此外,尽管在附图中以顺序描述了本申请方法的操作,但是,这并非要求或者暗示必须按照该顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。
本领域内的技术人员应明白,本申请的实施例可提供为方法、***、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。

Claims (15)

1.一种图像的加密方法,其特征在于,所述方法包括:
获取待加密图像集的预设管理密钥;
根据所述预设管理密钥及所述待加密图像集中每张待加密图像的盐值,生成所述每张待加密图像的衍生密钥,其中,所述每张待加密图像的盐值是根据所述每张待加密图像得到的;其中,针对每张待加密图像,将预设管理密钥作为密钥衍生函数的密钥值,将该张待加密图像的盐值作为密钥衍生函数的盐值,生成该张待加密图像的衍生密钥;
采用所述衍生密钥对所述待加密图像进行加密得到密文图像。
2.根据权利要求1所述的方法,其特征在于,所述每张待加密图像的盐值是通过以下方法确定的:
将待加密图像集中每张待加密图像输入不可逆变换函数,得到每张待加密图像的盐值。
3.根据权利要求1所述的方法,其特征在于,根据所述预设管理密钥及所述待加密图像集中每张待加密图像的盐值,生成所述每张待加密图像的衍生密钥,包括:
将所述待加密图像集进行分组,获得至少两个待加密图像组;
针对每个待加密图像组,将该待加密图像组中的至少一张图像输入不可逆变换函数得到的盐值作为该待加密图像组内每张待加密图像的盐值;
针对每张待加密图像,将预设管理密钥作为密钥衍生函数的密钥值,将该张待加密图像的盐值作为密钥衍生函数的盐值,生成该张待加密图像组的衍生密钥。
4.根据权利要求1所述的方法,其特征在于,采用所述衍生密钥对所述待加密图像进行加密得到密文图像之后,所述方法还包括:
建立所述盐值与密文图像的对应关系。
5.根据权利要求1所述的方法,其特征在于,采用所述衍生密钥对所述待加密图像进行加密得到密文图像之后,所述方法还包括:
确定所述盐值在密文图像中的位置;
将所述盐值添加至确定的所述位置中。
6.根据权利要求5所述的方法,其特征在于,确定所述盐值在密文图像中的位置,包括:
在密文图像中随机选择位置;
所述方法还包括:
将位置指示信息添加至密文图像中的指定位置,其中,所述位置指示信息用于指示所述盐值在所述密文图像中的位置。
7.一种图像的加密方法,其特征在于,所述方法包括:
根据用户的触发显示图像管理界面;
响应于用户在图像管理界面输入的预设管理密钥的操作指令,为选择的待加密图像集中的每张待加密图像生成对应的盐值;其中,所述每张待加密图像的盐值是根据所述每张待加密图像得到的;
根据所述预设管理密钥及所述待加密图像集中每张待加密图像的盐值,生成所述每张待加密图像的衍生密钥,包括:针对每张待加密图像,将预设管理密钥作为密钥衍生函数的密钥值,将该张待加密图像的盐值作为密钥衍生函数的盐值,生成该张待加密图像的衍生密钥;
采用所述衍生密钥对所述每张待加密图像进行加密得到密文图像。
8.一种图像的解密方法,其特征在于,所述方法包括:
获取待解密密文图像集的预设管理密钥及待解密密文图像集中每张待解密密文图像的盐值;其中,所述每张待解密密文图像的盐值是根据所述每张待解密密文图像得到的;
根据所述预设管理密钥及所述每张待解密密文图像的盐值,生成所述每张待解密密文图像的衍生密钥,包括:针对每张待解密密文图像,将预设管理密钥作为密钥衍生函数的密钥值,将该张待解密密文图像的盐值作为密钥衍生函数的盐值,生成该张待解密密文图像的衍生密钥;
采用所述衍生密钥对所述待解密密文图像进行解密。
9.根据权利要求8所述的方法,其特征在于,所述盐值包含在所述待解密密文图像中,获取每张待解密密文图像的盐值,包括:
从所述每张待解密密文图像中提取所述盐值。
10.根据权利要求9所述的方法,其特征在于,所述待解密密文图像中包括所述盐值的位置指示信息,从所述每张待解密密文图像中提取所述盐值,包括:
在所述每张待解密密文图像的指定位置处获取所述盐值的位置指示信息;
从所述位置指示信息指示的所述盐值在所述待解密密文图像中的位置,提取所述盐值。
11.根据权利要求8所述的方法,其特征在于,所述获取每张待解密密文图像的盐值,包括:
根据盐值与密文图像的对应关系,获取所述每张待解密密文图像的盐值。
12.一种图像的加密装置,其特征在于,所述装置包括:
第一预设管理密钥获取模块,用于获取待加密图像集的预设管理密钥;
第一衍生密钥生成模块,用于根据所述预设管理密钥及所述待加密图像集中每张待加密图像的盐值,生成所述每张待加密图像的衍生密钥,其中,所述每张待加密图像的盐值是根据所述每张待加密图像得到的;其中,针对每张待加密图像,将预设管理密钥作为密钥衍生函数的密钥值,将该张待加密图像的盐值作为密钥衍生函数的盐值,生成该张待加密图像的衍生密钥;
第一图像加密模块,用于采用所述衍生密钥对所述待加密图像进行加密得到密文图像。
13.一种图像的加密装置,其特征在于,所述装置包括:
图像管理页面显示模块,用于根据用户的触发显示图像管理界面;
盐值生成模块,用于响应于用户在图像管理界面输入的预设管理密钥的操作指令,为选择的待加密图像集中的每张待加密图像生成对应的盐值;其中,所述每张待加密图像的盐值是根据所述每张待加密图像得到的;
第二衍生密钥生成模块,用于根据所述预设管理密钥及所述待加密图像集中每张待加密图像的盐值,生成所述每张待加密图像的衍生密钥,包括:针对每张待加密图像,将预设管理密钥作为密钥衍生函数的密钥值,将该张待加密图像的盐值作为密钥衍生函数的盐值,生成该张待加密图像的衍生密钥;
第二图像加密模块,用于采用所述衍生密钥对所述每张待加密图像进行加密得到密文图像。
14.一种图像的解密装置,其特征在于,所述装置包括:
第二预设管理密钥获取模块,用于获取待解密密文图像集的预设管理密钥;
盐值获取模块,用于获取所述待解密密文图像集中每张待解密密文图像的盐值;其中,所述每张待解密密文图像的盐值是根据所述每张待解密密文图像得到的;
第三衍生密钥生成模块,用于根据所述预设管理密钥及所述每张待解密密文图像的盐值,生成所述每张待解密密文图像的衍生密钥,包括:针对每张待解密密文图像,将预设管理密钥作为密钥衍生函数的密钥值,将该张待解密密文图像的盐值作为密钥衍生函数的盐值,生成该张待解密密文图像的衍生密钥;
图像解密模块,用于采用所述衍生密钥对所述待解密密文图像进行解密。
15.一种计算机装置,其特征在于,包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如权利要求1-11中任一权利要求所述的方法。
CN201910579369.5A 2019-06-28 2019-06-28 图像的加解密方法、及相关装置、存储介质 Active CN110312054B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910579369.5A CN110312054B (zh) 2019-06-28 2019-06-28 图像的加解密方法、及相关装置、存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910579369.5A CN110312054B (zh) 2019-06-28 2019-06-28 图像的加解密方法、及相关装置、存储介质

Publications (2)

Publication Number Publication Date
CN110312054A CN110312054A (zh) 2019-10-08
CN110312054B true CN110312054B (zh) 2021-08-27

Family

ID=68078018

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910579369.5A Active CN110312054B (zh) 2019-06-28 2019-06-28 图像的加解密方法、及相关装置、存储介质

Country Status (1)

Country Link
CN (1) CN110312054B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111935077B (zh) * 2020-06-23 2022-04-15 联宝(合肥)电子科技有限公司 一种批量数据加密和解密方法、装置以及可读存储介质
CN112165443B (zh) * 2020-08-01 2023-06-02 广东电网有限责任公司广州供电局 一种多密钥信息加密解密方法、装置及存储介质
CN112000967B (zh) * 2020-08-10 2021-10-22 广州以太教育科技有限责任公司 一种机密参数的生成方法及装置
CN113434852A (zh) * 2021-07-23 2021-09-24 网易(杭州)网络有限公司 密码处理方法、密码验证方法及装置、介质及电子设备

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104185847A (zh) * 2012-09-28 2014-12-03 英特尔公司 使用生物计量数据的多因素认证
CN107409049A (zh) * 2014-12-29 2017-11-28 威斯科数据安全国际有限公司 用于保护移动应用的方法和装置
WO2017202451A1 (en) * 2016-05-24 2017-11-30 Bringfeldt Innovation Ab Method for electronically signing a data set
CN109543061A (zh) * 2018-11-16 2019-03-29 西安电子科技大学 一种支持多密钥的加密图像检索方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110086617A (zh) * 2013-06-13 2019-08-02 维萨国际服务协会 用于基于图像的密钥导出的方法和装置
CN104732163B (zh) * 2015-04-03 2017-11-03 宁波工程学院 一种文件夹加密方法及加密文件使用方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104185847A (zh) * 2012-09-28 2014-12-03 英特尔公司 使用生物计量数据的多因素认证
CN107409049A (zh) * 2014-12-29 2017-11-28 威斯科数据安全国际有限公司 用于保护移动应用的方法和装置
WO2017202451A1 (en) * 2016-05-24 2017-11-30 Bringfeldt Innovation Ab Method for electronically signing a data set
CN109543061A (zh) * 2018-11-16 2019-03-29 西安电子科技大学 一种支持多密钥的加密图像检索方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
一种基于HASH函数的密钥管理方案;徐吉斌;《安徽师范大学学报》;20060831;第29卷(第4期);332-334 *

Also Published As

Publication number Publication date
CN110312054A (zh) 2019-10-08

Similar Documents

Publication Publication Date Title
CN110312054B (zh) 图像的加解密方法、及相关装置、存储介质
CN112751852B (zh) 数据传输方法及相关设备
US20170295013A1 (en) Method for fulfilling a cryptographic request requiring a value of a private key
CN107038383B (zh) 一种数据处理的方法和设备
CN110768787B (zh) 一种数据加密、解密方法及装置
CN101340279B (zh) 数据加密及解密方法、***及设备
CN109474423A (zh) 数据加解密方法、服务器及存储介质
CN111835511A (zh) 数据安全传输方法、装置、计算机设备及存储介质
US9021259B2 (en) Encrypted database system, client terminal, encrypted database server, natural joining method, and program
US11283778B2 (en) Data exchange system, method and device
CN113364760A (zh) 一种数据加密处理方法、装置、计算机设备及存储介质
CN107294709A (zh) 一种区块链数据处理方法、装置及***
CN109040090A (zh) 一种数据加密方法及装置
CN105450620A (zh) 一种信息处理方法及装置
CN107590396B (zh) 数据处理方法及装置、存储介质、电子设备
US9641328B1 (en) Generation of public-private key pairs
CN107800716B (zh) 一种数据处理方法及装置
CN104463012A (zh) 虚拟机镜像文件的导出、导入方法及装置
CN110929291A (zh) 一种存取文本文件的方法、装置和计算机可读存储介质
US10572635B2 (en) Automatic correction of cryptographic application program interfaces
CN109005184A (zh) 文件加密方法及装置、存储介质、终端
CN117240625B (zh) 一种涉及防篡改的数据处理方法、装置及电子设备
CN113794706B (zh) 数据的处理方法、装置、电子设备及可读存储介质
CN113722741A (zh) 数据加密方法及装置、数据解密方法及装置
CN112632585A (zh) 一种网页数据传输***、方法、装置、介质和设备

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant