CN112632571B - 数据加密方法、解密方法与装置及存储装置 - Google Patents

数据加密方法、解密方法与装置及存储装置 Download PDF

Info

Publication number
CN112632571B
CN112632571B CN202011399012.8A CN202011399012A CN112632571B CN 112632571 B CN112632571 B CN 112632571B CN 202011399012 A CN202011399012 A CN 202011399012A CN 112632571 B CN112632571 B CN 112632571B
Authority
CN
China
Prior art keywords
random number
target data
decryption
data
encryption
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
CN202011399012.8A
Other languages
English (en)
Other versions
CN112632571A (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.)
Hanshunlian Electronic Technology Nanjing Co ltd
Original Assignee
Hanshunlian Electronic Technology Nanjing 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 Hanshunlian Electronic Technology Nanjing Co ltd filed Critical Hanshunlian Electronic Technology Nanjing Co ltd
Priority to CN202011399012.8A priority Critical patent/CN112632571B/zh
Publication of CN112632571A publication Critical patent/CN112632571A/zh
Application granted granted Critical
Publication of CN112632571B publication Critical patent/CN112632571B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/78Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data

Landscapes

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

Abstract

本申请提供一种数据加密方法、解密方法与装置及存储装置,该方法包括:将目标数据存入保护区之前,根据隐藏区存储的初始随机数和加密算法产生加密密码,其中,保护区和隐藏区分别为存储装置内设置的两个区域,保护区用于存储加密后的目标数据和解密应用程序对应的安装包,保护区为只读存储区域,隐藏区用于存储初始随机数和目标数据的地址信息,安装包对应的解密算法与加密算法相同,接着使用加密密码对目标数据进行加密。从而,可以保护存储装置的保护区存储的目标数据不被未授权的读取装置读取,加密密码不易被破解,加密性能良好。

Description

数据加密方法、解密方法与装置及存储装置
技术领域
本申请涉及数据存储技术领域,尤其涉及一种数据加密方法、解密方法与装置及存储装置。
背景技术
近年来,区块链、物联网、智慧城市与新金融技术服务成为新兴应用发展主力,进而在数据保密与信息安全性上,有着越来越严苛的需求。在各种不同的安全数字存储卡(Secure Digital Card,SD)应用中,为确保SD卡存储的数据的机密性、完整性与可用性,一般会通过信息安全加密技术来进行SD卡的加密与解密,以达到信息运用与传输的安全性。例如,为防止SD卡存储的音乐或电影等数据未经授权被复制,需要将SD卡存储的数据加密。
现有技术中对SD卡存储的数据加密时,采用加密软件进行加密,得到一固定的加密密码,该加密密码携带在SD卡上或者用户购买了SD卡后可以获知该加密密码,用户在读取SD卡存储的数据时,使用已知的加密密码解密后读取。但是,加密密码容易被破解,密码太复杂或者时间长未使用时用户容易忘记。
发明内容
本申请提供一种数据加密方法、解密方法与装置及存储装置,以解决现有技术中加密密码容易被破解,密码太复杂或者时间长未使用时用户容易忘记的问题。
第一方面,本申请提供一种数据加密方法,用于存储装置,该方法包括:
将目标数据存入保护区之前,根据隐藏区存储的初始随机数和加密算法产生加密密码,其中,所述保护区和所述隐藏区分别为所述存储装置内设置的两个区域,所述保护区用于存储加密后的目标数据和解密应用程序对应的安装包,所述保护区为只读存储区域,所述隐藏区用于存储初始随机数和所述目标数据的地址信息,所述安装包对应的解密算法与所述加密算法相同;
使用所述加密密码对所述目标数据进行加密。
可选的,所述根据隐藏区存储的初始随机数和加密算法产生加密密码,包括:
根据所述初始随机数进行N次哈希算法,生成目标随机数,将所述目标随机数确定为所述加密密码,所述N大于1。
可选的,所述根据所述初始随机数进行N次哈希算法,生成目标随机数,包括:
将所述初始随机数按照预设的拆分个数N和所述初始随机数的自然顺序拆分为N个随机数;
对所述N个随机数中的每个随机数分别进行一次哈希算法,得到N个哈希后的随机数;
将所述N个哈希后的随机数按照拆分后的顺序拼接,得到所述目标随机数。
可选的,所述初始随机数的长度根据所述目标数据的大小确定。
第二方面,本申请提供一种数据解密方法,包括:
接收数据读取请求,所述数据读取请求用于请求读取存储装置的保护区存储的目标数据,所述保护区为只读存储区域;
从所述存储装置的隐藏区获取初始随机数和所述目标数据的地址信息;
根据所述初始随机数、所述目标数据的地址信息和已安装的解密应用程序对所述目标数据进行解密,所述解密应用程序对应的安装包存储在所述保护区,所述安装包对应的解密算法与加密算法相同。
可选的,所述根据所述初始随机数、所述目标数据的地址信息和已安装的解密应用程序对所述目标数据进行解密,包括:
根据所述目标数据的地址信息从所述保护区获取所述目标数据;
根据所述初始随机数和所述解密应用程序产生解密密码;
使用所述解密密码对所述目标数据进行解密。
可选的,所述根据所述目标数据的地址信息从所述保护区获取所述目标数据,包括:
若所述目标数据的地址信息为一个,根据所述目标数据的地址信息从所述保护区获取所述目标数据;
若所述目标数据的地址信息为多个,显示多个所述目标数据的地址信息;
接收用户选择的至少一个地址信息,根据所述至少一个地址信息从所述保护区获取对应的所述目标数据。
可选的,所述根据所述初始随机数和所述解密应用程序产生解密密码,包括:
根据所述初始随机数进行N次哈希算法,生成目标随机数,将所述目标随机数确定为所述解密密码,所述N大于1。
可选的,所述根据所述初始随机数进行N次哈希算法,生成目标随机数,包括:
将所述初始随机数按照预设的拆分个数N和所述初始随机数的自然顺序拆分为N个随机数;
对所述N个随机数中的每个随机数分别进行一次哈希算法,得到N个哈希后的随机数;
将所述N个哈希后的随机数按照拆分后的顺序拼接,得到所述目标随机数。
可选的,所述初始随机数的长度根据所述目标数据的大小确定。
第三方面,本申请提供一种存储装置,包括:
保护区和隐藏区,所述保护区用于存储加密后的目标数据和解密应用程序对应的安装包,所述保护区为只读存储区域,所述隐藏区用于存储初始随机数和所述目标数据的地址信息;
所述加密后的目标数通过第一方面及第一方面各可能的设计中任一所述的数据加密方法进行加密。
可选的,所述存储装置还包括非保护区,所述非保护区为读/写存储区域。
第四方面,本申请提供一种电子设备,包括:
处理器;以及
存储器,用于存储所述处理器的可执行指令;
其中,所述处理器配置为经由执行所述可执行指令来执行第二方面及第二方面各可能的设计中任一所述的数据解密方法。
本申请提供的数据加密方法、解密方法与装置及存储装置,通过在将目标数据存入保护区之前,根据隐藏区存储的初始随机数和加密算法产生加密密码,使用该加密密码对目标数据进行加密。保护区和隐藏区分别为存储装置内设置的两个区域,保护区存储加密后的目标数据和解密应用程序对应的安装包,隐藏区存储初始随机数和目标数据的地址信息,安装包对应的解密算法与加密算法相同。从而,可以保护存储装置的保护区存储的目标数据不被未授权的读取装置读取,一方面,由于加密密码是根据隐藏区存储的初始随机数和加密算法产生,解密密码是读取装置根据隐藏区存储的初始随机数和解密应用程序产生,解密算法与加密算法相同,不需要用户输入密码进行解密,用户无需获知密码及输入密码进行认证,对于用户而言方便使用,另一方面,隐藏区对用户不可见,隐藏区存储的初始随机数对用户也是不可见的,加密密码是根据初始随机数和加密算法产生,不易被破解,加密性能良好。另外,隐藏区存储的目标数据的地址信息对用户也是不可见的,因此可以避免目标数据被复制,即使存储装置被恶意复制,复制的目标数据也是加密后的数据,无法解密使用。
附图说明
为了更清楚地说明本申请或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请提供的数据加密方法与解密方法的一种应用场景示意图;
图2为本申请实施例提供的一种存储装置的结构示意图;
图3为本申请实施例提供的一种存储装置的结构示意图;
图4为本申请实施例提供的一种数据加密方法的流程示意图;
图5为本申请实施例提供的一种数据解密方法的流程示意图;
图6为本申请实施例提供的一种数据解密方法中解密APP的安装界面显示示意图;
图7为本申请实施例提供的一种数据解密装置的结构示意图;
图8为本申请实施例提供的一种数据解密装置的结构示意图。
具体实施方式
为使本申请的目的、实施方式和优点更加清楚,下面将结合本申请示例性实施例中的附图,对本申请示例性实施方式进行清楚、完整地描述,显然,所描述的示例性实施例仅是本申请一部分实施例,而不是全部的实施例。
基于本申请描述的示例性实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请所附权利要求保护的范围。此外,虽然本申请中公开内容按照示范性一个或几个实例来介绍,但应理解,可以就这些公开内容的各个方面也可以单独构成一个完整实施方式。
需要说明的是,本申请中对于术语的简要说明,仅是为了方便理解接下来描述的实施方式,而不是意图限定本申请的实施方式。除非另有说明,这些术语应当按照其普通和通常的含义理解。
此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖但不排他的包含,例如,包含了一系列组件的产品或设备不必限于清楚地列出的那些组件,而是可包括没有清楚地列出的或对于这些产品或设备固有的其它组件。
本申请提供的数据加密方法、解密方法与装置及存储装置,其中的存储装置为外置存储装置,存储装置可以插入电子设备使用,电子设备例如为手机、平板电脑、个人计算机、电视或可穿戴设备等。存储装置用于存储数据,可存储的数据例如包括文字、档案、电影、音乐和图片等等。存储装置例如为SD卡等,其中,SD卡是一种基于半导体快闪记忆器的外置存储装置。
为确保存储装置存储的数据的机密性、完整性与可用性,可以使用本申请提供的数据加密方法与解密方法来进行存储装置的加密与解密,以达到信息运用与传输的安全性。
图1为本申请提供的数据加密方法与解密方法的一种应用场景示意图,如图1所示,本应用场景中涉及读取装置和存储装置2,本实施例中以读取装置为电子设备1为例,存储装置2通过读卡器3插入电子设备1上,电子设备1可以读取存储装置2中存储的数据,电子设备还可以将数据写入存储装置2,本申请实施例中,存储装置2中存储的数据(可称为出厂数据)通过本申请提供的数据加密方法进行加密,电子设备要读取存储装置2中已存储的数据时,需要先获取存储装置的保护区存储的解密应用程序对应的安装包,并在电子设备上安装解密应用程序,通过已安装的解密应用程序对要读取存储装置2中已存储的数据进行解密,解密后才能读取。本申请的该应用场景中,在未经授权时,存储装置2中已存储的数据(出厂数据)只能被读取使用,如数据为音乐和电影,则电子设备只能在解密后播放,不能将出厂数据复制到电子设备的本地存储或者复制到其它设备。因此,存储装置2中已存储的数据无法被复制,从而,可以防止存储装置存储的数据(例如音乐或电影等)未经授权被复制。
现有技术中,在对SD卡存储的数据加密时,采用加密软件进行加密,得到一固定的加密密码,该加密密码携带在SD卡上或者用户购买了SD卡后可以获知该加密密码,用户在读取SD卡存储的数据时,使用已知的加密密码解密后读取。由于该加密密码是固定的,容易被破解,另一方面,加密密码太复杂或者时间长未使用时用户容易忘记。为解决这一问题,本申请提供一种数据加密方法、解密方法与装置及存储装置,通过为存储装置设置保护区和隐藏区,隐藏区存储初始随机数和目标数据的地址信息,保护区存储加密后的目标数据和解密应用程序对应的安装包,安装包对应的解密算法与加密算法相同,保护区为只读存储区域,在将目标数据存入保护区之前,根据隐藏区存储的初始随机数和加密算法产生加密密码,使用该加密密码对目标数据进行加密,从而将保护区存储的目标数据加密。
从而,可以保护存储装置的保护区存储的目标数据不被未授权的读取装置读取,一方面,由于加密密码是根据隐藏区存储的初始随机数和加密算法产生,解密密码是读取装置根据隐藏区存储的初始随机数和解密应用程序产生,解密算法与加密算法相同,不需要用户输入密码进行解密,用户无需获知密码及输入密码进行认证,对于用户而言方便使用,另一方面,隐藏区对用户不可见,隐藏区存储的初始随机数对用户也是不可见的,加密密码或解密密码是根据初始随机数和加密算法产生,不易被破解,加密性能良好。另外,隐藏区存储的目标数据的地址信息对用户也是不可见的,因此可以避免目标数据被复制,即使存储装置被恶意复制,复制的目标数据也是加密后的数据,无法解密使用。
下面以具体的实施例对本申请的技术方案进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例不再赘述。
图2为本申请实施例提供的一种存储装置的结构示意图,如图2所示,存储装置2包括保护区21和隐藏区22,保护区21为只读存储区域,只读存储区域只能读取数据,不能写入数据,隐藏区22存储初始随机数和目标数据的地址信息,保护区21用于存储加密后的目标数据和解密应用程序对应的安装包,该安装包对应的解密算法与加密算法相同。
其中,保护区21存储的加密后的目标数据是通过本申请提供的数据加密方法加密的,具体的加密方法可参见下述实施例中的描述。在存储装置插入读取装置后,读取装置(例如为电子设备)读取目标数据时,先从存储装置的保护区21获取解密应用程序对应的安装包,根据安装指令和该安装包安装解密应用程序。然后接收到数据读取请求后,从隐藏区22获取初始随机数和目标数据的地址信息,根据初始随机数、目标数据的地址信息和已安装的解密应用程序对目标数据进行解密。
进一步地,在一种可实施的方式中,存储装置还可以包括非保护区,图3为本申请实施例提供的一种存储装置的结构示意图,如图3所示,本实施例的存储装置还可以包括非保护区23,非保护区23为读写存储区域,可读取数据也可写入数据。通过增加非保护区23,使得存储装置可以写入数据,可以随意读取数据,和普通的存储装置的功能相同。
下面结合附图详细说明本申请提供的数据加密方法和数据解密方法的详细过程。
图4为本申请实施例提供的一种数据加密方法的流程示意图,该方法用于存储装置,如图4所示,本实施例的方法可以包括:
S101、将目标数据存入保护区之前,根据隐藏区存储的初始随机数和加密算法产生加密密码。
其中,保护区和隐藏区分别为存储装置内设置的两个区域,保护区用于存储加密后的目标数据和解密应用程序对应的安装包,保护区为只读存储区域,隐藏区用于存储初始随机数和目标数据的地址信息,安装包对应的解密算法与加密算法相同。
具体来说,本实施例提供的数据加密方法应用于存储装置,该存储装置设置有至少两个区域,分别为保护区和隐藏区,隐藏区对用户不可见,因此隐藏区存储的信息不会被复制,隐藏区存储初始随机数和目标数据的地址信息,保护区存储加密后的目标数据和解密应用程序对应的安装包,解密应用程序对应的安装包是用于读取装置在读取目标数据时解密使用。
需要说明的是,目标数据可以是存储装置的出厂数据,即就是出厂前就将所需存储在存储装置中的目标数据按照本实施例提供的数据加密方法加密后存储。
作为一种可实施的方式,S101中根据隐藏区存储的初始随机数和加密算法产生加密密码,可以为:
根据初始随机数进行N次哈希算法,生成目标随机数,将目标随机数确定为加密密码,N大于1。
具体来说,初始随机数可以是数字组成的随机数,还可以是字母和数字组成的预设长度的字符串,哈希算法(Hash function)为把信息或数据压缩成摘要,使得数据量变小,将数据的格式固定下来。哈希算法将随机数打乱混合,重新建立一个哈希值(hashvalues)。哈希值可以用一个短的随机字母和数字组成的字符串来代表,即为目标随机数。哈希算法具有如下优点:
(1)、初始随机数不需要事前排序。
(2)、在没有碰撞或溢位的情况下,只需一次读取数据即可找到想要找的数据,且搜寻速度与数据量的大小无关。
(3)、保密性高。
(4)、可做数据压缩,节省空间。
具体地,对初始随机数进行多次哈希算法,得到的目标随机数(即加密密码)不易被破解。
进一步地,根据初始随机数进行N次哈希算法,生成目标随机数,具体可以为:
首先,将初始随机数按照预设的拆分个数N和初始随机数的自然顺序拆分为N个随机数。
例如,以N=2为例,初始随机数的长度为512,预设的拆分个数N为2,先将初始随机数按照自然顺序拆分为2个随机数,分别为第一随机数和第二随机数,具体拆分的规则可以预先设置,例如可以按照初始随机数的长度平均拆分,则第一随机数和第二随机数的长度均为256,或者预先设置拆分的2个随机数的长度的比例,按照比例拆分。
接着,对N个随机数中的每个随机数分别进行一次哈希算法,得到N个哈希后的随机数。
具体地,哈希前的随机数的长度不论是多少,经过哈希算法得到的哈希值的长度是固定的,例如为256,还是以N为2为例,对第一随机数进行一次哈希算法,得到哈希后的第一随机数的长度为256,对第二随机数进行一次哈希算法,得到哈希后的第二随机数的长度也为256。
最后,将N个哈希后的随机数按照拆分后的顺序拼接,得到目标随机数。
例如,还是以N为2为例,将哈希后的第一随机数和哈希后的第二随机数按照先后顺序拼接,即可得到目标随机数,目标随机数的长度为256*N。
可以理解的是,N为2时,经过拆分,进行了2次哈希算法,拆分的个数即为进行哈希算法的次数。
可选的,初始随机数的长度根据目标数据的大小确定,例如根据所要存储的目标数据的大小(字节数)设置初始随机数的长度,初始随机数的长度是可变的,因此,对于不同的目标数据,其初始随机数是唯一的,不同的目标数据的加密密码不同,不易被破解。
S102、使用加密密码对目标数据进行加密。
本实施例提供的数据加密方法,通过在将目标数据存入保护区之前,根据隐藏区存储的初始随机数和加密算法产生加密密码,使用该加密密码对目标数据进行加密。保护区和隐藏区分别为存储装置内设置的两个区域,保护区存储加密后的目标数据和解密应用程序对应的安装包,隐藏区存储初始随机数和目标数据的地址信息,安装包对应的解密算法与加密算法相同。从而,可以保护存储装置的保护区存储的目标数据不被未授权的读取装置读取,一方面,由于加密密码是根据隐藏区存储的初始随机数和加密算法产生,解密密码是读取装置根据隐藏区存储的初始随机数和解密应用程序产生,解密算法与加密算法相同,不需要用户输入密码进行解密,用户无需获知密码及输入密码进行认证,对于用户而言方便使用,另一方面,隐藏区对用户不可见,隐藏区存储的初始随机数对用户也是不可见的,加密密码是根据初始随机数和加密算法产生,不易被破解,加密性能良好。另外,隐藏区存储的目标数据的地址信息对用户也是不可见的,因此可以避免目标数据被复制,即使存储装置被恶意复制,复制的目标数据也是加密后的数据,无法解密使用。
图5为本申请实施例提供的一种数据解密方法的流程示意图,该方法用于读取装置,本实施例的执行主体可以为读取装置,如图5所示,本实施例的方法可以包括:
S201、接收数据读取请求,数据读取请求用于请求读取存储装置的保护区存储的目标数据,保护区为只读存储区域。
具体地,读取装置读取的存储装置包括保护区和隐藏区,保护区存储加密后的目标数据和解密应用程序对应的安装包,隐藏区存储初始随机数和目标数据的地址信息,安装包对应的解密算法与加密算法相同。
可以理解的是,读取装置在接收数据读取请求之前,需要安装解密应用程序(application,APP),具体地,还可以包括:
检测到插入存储装置时,从保护区获取解密应用程序对应的安装包,接收安装指令,根据该安装包安装解密应用程序。
以读取装置为电子设备为例,图6为本申请实施例提供的一种数据解密方法中解密APP的安装界面显示示意图,如图6所示,读卡器3通过USB接口连接电子设备1,存储装置2插入到读卡器3中后,电子设备1从存储装置2的保护区获取解密应用程序对应的安装包,在电子设备的当前界面显示载入解密应用程序对应的安装包的按键,响应于用户点击该载入按键后,根据该安装包安装解密应用程序。
S202、从存储装置的隐藏区获取初始随机数和目标数据的地址信息。
S203、根据初始随机数、目标数据的地址信息和已安装的解密应用程序对目标数据进行解密,解密应用程序对应的安装包存储在保护区,安装包对应的解密算法与加密算法相同。
具体地,作为一种可实施的方式,根据初始随机数、目标数据的地址信息和已安装的解密应用程序对目标数据进行解密,可以为:
S2031、根据目标数据的地址信息从保护区获取目标数据。
其中,目标数据的地址信息可以为一个或多个,即目标数据可以为一个或多个,例如目标数据为影片和档案,可以为多个影片和多个档案,则每个影片对应一个地址信息,每个档案对应一个地址信息。
若目标数据的地址信息为一个,则直接根据目标数据的地址信息从保护区获取目标数据。若目标数据的地址信息为多个,显示多个目标数据的地址信息,即在当前显示界面显示多个目标数据的地址信息,用户选择至少一个地址信息后,响应于用户选择操作,接收用户选择的至少一个地址信息,根据至少一个地址信息从保护区获取对应的目标数据。
S2032、根据初始随机数和解密应用程序产生解密密码。
具体地,作为一种可实施的方式,根据初始随机数和解密应用程序产生解密密码,可以为:
根据初始随机数进行N次哈希算法,生成目标随机数,将目标随机数确定为解密密码,N大于1。
具体来说,初始随机数可以是数字组成的随机数,还可以是字母和数字组成的预设长度的字符串,哈希算法(Hash function)为把信息或数据压缩成摘要,使得数据量变小,将数据的格式固定下来。哈希算法将随机数打乱混合,重新建立一个哈希值(hashvalues)。哈希值可以用一个短的随机字母和数字组成的字符串来代表,即为目标随机数。
进一步地,根据初始随机数进行N次哈希算法,生成目标随机数,具体可以为:
首先,将初始随机数按照预设的拆分个数N和初始随机数的自然顺序拆分为N个随机数。
例如,以N=2为例,初始随机数的长度为512,预设的拆分个数N为2,先将初始随机数按照自然顺序拆分为2个随机数,分别为第一随机数和第二随机数,具体拆分的规则可以预先设置,例如可以按照初始随机数的长度平均拆分,则第一随机数和第二随机数的长度均为256,或者预先设置拆分的2个随机数的长度的比例,按照比例拆分。
接着,对N个随机数中的每个随机数分别进行一次哈希算法,得到N个哈希后的随机数。
具体地,哈希前的随机数的长度不论是多少,经过哈希算法得到的哈希值的长度是固定的,例如为256,还是以N为2为例,对第一随机数进行一次哈希算法,得到哈希后的第一随机数的长度为256,对第二随机数进行一次哈希算法,得到哈希后的第二随机数的长度也为256。
最后,将N个哈希后的随机数按照拆分后的顺序拼接,得到目标随机数。
例如,还是以N为2为例,将哈希后的第一随机数和哈希后的第二随机数按照先后顺序拼接,即可得到目标随机数,目标随机数的长度为256*N。
可以理解的是,N为2时,经过拆分,进行了2次哈希算法,拆分的个数即为进行哈希算法的次数。
可选的,初始随机数的长度根据目标数据的大小确定,例如根据所要存储的目标数据的大小(字节数)设置初始随机数的长度,初始随机数的长度是可变的,因此,对于不同的目标数据,其初始随机数是唯一的,不同的目标数据的加密密码不同,不易被破解。
可以理解的是,初始随机数相同,安装包对应的解密算法与加密算法相同,从而解密过程与加密过程相同,得到的加密密码与解密密码相同,才可以对目标数据解密。
S2033、使用解密密码对目标数据进行解密。
本实施例提供的数据解密方法,通过在接收用于请求读取存储装置的保护区存储的目标数据的数据读取请求后,先从存储装置的隐藏区获取初始随机数和目标数据的地址信息,根据初始随机数、目标数据的地址信息和已安装的解密应用程序对目标数据进行解密,解密应用程序对应的安装包存储在存储装置的保护区,安装包对应的解密算法与加密算法相同。从而,可实现对存储装置的保护区存储的加密的目标数据进行解密并读取,一方面,由于解密密码是读取装置根据隐藏区存储的初始随机数和解密应用程序产生,解密算法与加密算法相同,不需要用户输入密码进行解密,用户无需获知密码及输入密码进行认证,对于用户而言方便使用,另一方面,隐藏区对用户不可见,隐藏区存储的初始随机数对用户也是不可见的,解密密码是根据初始随机数和加密算法产生,不易被破解,加密性能良好。另外,隐藏区存储的目标数据的地址信息对用户也是不可见的,因此可以避免目标数据被复制,即使存储装置被恶意复制,复制的目标数据也是加密后的数据,无法解密使用。
本申请实施例还提供一种存储装置,可参见图2或图3所示,存储装置包括保护区和隐藏区,保护区用于存储加密后的目标数据和解密应用程序对应的安装包,保护区为只读存储区域,隐藏区用于存储初始随机数和目标数据的地址信息,其中,加密后的目标数据可通过图4所示实施例中所示的数据加密方法进行加密,可以是在存储装置出厂前加密。
其中,保护区存储的目标数据是被保护数据,目标数据无法被删除,无法格式化,无法被复制。
本实施例提供的存储装置,通过为存储装置设置保护区和隐藏区,隐藏区存储初始随机数和目标数据的地址信息,保护区存储加密后的目标数据和解密应用程序对应的安装包,安装包对应的解密算法与加密算法相同,保护区为只读存储区域,在将目标数据存入保护区之前,根据隐藏区存储的初始随机数和加密算法产生加密密码,使用该加密密码对目标数据进行加密,从而将保护区存储的目标数据加密。从而可以保护存储装置的保护区存储的目标数据不被未授权的读取装置读取,一方面,由于加密密码是根据隐藏区存储的初始随机数和加密算法产生,解密密码是读取装置根据隐藏区存储的初始随机数和解密应用程序产生,解密算法与加密算法相同,不需要用户输入密码进行解密,用户无需获知密码及输入密码进行认证,对于用户而言方便使用,另一方面,隐藏区对用户不可见,隐藏区存储的初始随机数对用户也是不可见的,加密密码或解密密码是根据初始随机数和加密算法产生,不易被破解,加密性能良好。另外,隐藏区存储的目标数据的地址信息对用户也是不可见的,因此可以避免目标数据被复制,即使存储装置被恶意复制,复制的目标数据也是加密后的数据,无法解密使用。
本申请实施例还提供一种数据解密装置,图7为本申请实施例提供的一种数据解密装置的结构示意图,如图7所示,本实施例的装置可以包括:接收模块31、获取模块32和处理模块33,其中,
接收模块31用于接收数据读取请求,数据读取请求用于请求读取存储装置的保护区存储的目标数据,保护区为只读存储区域。
获取模块32用于从存储装置的隐藏区获取初始随机数和目标数据的地址信息。
处理模块33用于根据初始随机数、目标数据的地址信息和已安装的解密应用程序对目标数据进行解密,解密应用程序对应的安装包存储在保护区,安装包对应的解密算法与加密算法相同。
可选的,处理模块33用于:根据目标数据的地址信息从保护区获取目标数据;
根据初始随机数和解密应用程序产生解密密码;
使用解密密码对目标数据进行解密。
进一步地,处理模块33用于:若目标数据的地址信息为一个,根据目标数据的地址信息从保护区获取目标数据;
若目标数据的地址信息为多个,显示多个目标数据的地址信息;
接收用户选择的至少一个地址信息,根据至少一个地址信息从保护区获取对应的目标数据。
进一步地,处理模块33用于:根据初始随机数进行N次哈希算法,生成目标随机数,将目标随机数确定为解密密码,N大于1。
进一步地,处理模块33具体用于:将初始随机数按照预设的拆分个数N和初始随机数的自然顺序拆分为N个随机数;
对N个随机数中的每个随机数分别进行一次哈希算法,得到N个哈希后的随机数;
将N个哈希后的随机数按照拆分后的顺序拼接,得到目标随机数。
本实施例提供的装置可用于执行上述的数据解密方法,其实现方式和技术效果类似,本实施例此处不再赘述。
图8为本申请实施例提供的一种数据解密装置的结构示意图,如图8所示,本实施例的装置可以包括:处理器41和存储器42,
其中,存储器42用于存储处理器41的可执行指令。
处理器41配置为经由执行可执行指令来执行上述方法实施例中的数据解密方法。
可选地,存储器42既可以是独立的,也可以跟处理器41集成在一起。
当存储器42是独立于处理器41之外的器件时,本实施例的数据解密装置还可以包括:
总线43,用于连接存储器42和处理器41。
可选地,本实施例的装置还可以包括:通信接口44,该通信接口44可以通过总线43与处理器41连接。处理器41可以控制通信接口44来实现数据解密装置的上述的接收数据读取请求的功能。
本申请还提供一种计算机可读存储介质,计算机可读存储介质中存储有计算机执行指令,当其在计算机上运行时,使得计算机执行如上述实施例的数据解密方法。
在本申请所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。例如,以上所描述的设备实施例仅仅是示意性的,例如,模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能模块可以集成在一个处理单元中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个单元中。上述模块成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能模块的形式实现的集成的模块,可以存储在一个计算机可读取存储介质中。上述软件功能模块存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(英文:processor)执行本申请各个实施例方法的部分步骤。
应理解,上述处理器可以是中央处理单元(英文:Central Processing Unit,简称:CPU),还可以是其他通用处理器、数字信号处理器(英文:Digital Signal Processor,简称:DSP)、专用集成电路(英文:Application Specific Integrated Circuit,简称:ASIC)等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合发明所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
存储器可能包含高速RAN存储器,也可能还包括非易失性存储NVN,例如至少一个磁盘存储器,还可以为U盘、移动硬盘、只读存储器、磁盘或光盘等。
总线可以是工业标准体系结构(Industry Standard Architecture,ISA)总线、外部设备互连(Peripheral CoNponent,PCI)总线或扩展工业标准体系结构(ExtendedIndustry Standard Architecture,EISA)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,本申请附图中的总线并不限定仅有一根总线或一种类型的总线。
上述计算机可读存储介质可以是由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAN),电可擦除可编程只读存储器(EEPRON),可擦除可编程只读存储器(EPRON),可编程只读存储器(PRON),只读存储器(RON),磁存储器,快闪存储器,磁盘或光盘。存储介质可以是通用或专用计算机能够存取的任何可用介质。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:RON、RAN、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上各实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述各实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。

Claims (3)

1.一种数据加密解密方法,其特征在于,用于存储装置,其中,加密过程包括:
将目标数据存入保护区之前,根据隐藏区存储的初始随机数和加密算法产生加密密码,其中,所述保护区和所述隐藏区分别为所述存储装置内设置的两个区域,所述保护区用于存储加密后的目标数据和解密应用程序对应的安装包,所述保护区为只读存储区域,所述隐藏区用于存储初始随机数和所述目标数据的地址信息,所述安装包对应的解密算法与所述加密算法相同;
使用所述加密密码对所述目标数据进行加密;
所述根据隐藏区存储的初始随机数和加密算法产生加密密码,包括:
根据所述初始随机数进行N次哈希算法,生成目标随机数,将所述目标随机数确定为所述加密密码,所述N大于1;
所述根据所述初始随机数进行N次哈希算法,生成目标随机数,包括:
将所述初始随机数按照预设的拆分个数N和所述初始随机数的自然顺序拆分为N个随机数;
对所述N个随机数中的每个随机数分别进行一次哈希算法,得到N个哈希后的随机数;
将所述N个哈希后的随机数按照拆分后的顺序拼接,得到所述目标随机数;
解密过程包括:
接收数据读取请求,所述数据读取请求用于请求读取存储装置的保护区存储的目标数据,所述保护区为只读存储区域;
从所述存储装置的隐藏区获取初始随机数和所述目标数据的地址信息;
根据所述初始随机数、所述目标数据的地址信息和已安装的解密应用程序对所述目标数据进行解密,所述解密应用程序对应的安装包存储在所述保护区,所述安装包对应的解密算法与加密算法相同;
所述根据所述初始随机数、所述目标数据的地址信息和已安装的解密应用程序对所述目标数据进行解密,包括:
根据所述目标数据的地址信息从所述保护区获取所述目标数据;
根据所述初始随机数和所述解密应用程序产生解密密码;
使用所述解密密码对所述目标数据进行解密;
所述根据所述初始随机数和所述解密应用程序产生解密密码,包括:
根据所述初始随机数进行N次哈希算法,生成目标随机数,将所述目标随机数确定为所述解密密码,所述N大于1;
所述根据所述初始随机数进行N次哈希算法,生成目标随机数,包括:
将所述初始随机数按照预设的拆分个数N和所述初始随机数的自然顺序拆分为N个随机数;
对所述N个随机数中的每个随机数分别进行一次哈希算法,得到N个哈希后的随机数;
将所述N个哈希后的随机数按照拆分后的顺序拼接,得到所述目标随机数。
2.根据权利要求1所述的方法,其特征在于,所述根据所述目标数据的地址信息从所述保护区获取所述目标数据,包括:
若所述目标数据的地址信息为一个,根据所述目标数据的地址信息从所述保护区获取所述目标数据;
若所述目标数据的地址信息为多个,显示多个所述目标数据的地址信息;
接收用户选择的至少一个地址信息,根据所述至少一个地址信息从所述保护区获取对应的所述目标数据。
3.一种存储装置,其特征在于,包括:
保护区和隐藏区,所述保护区用于存储加密后的目标数据和解密应用程序对应的安装包,所述保护区为只读存储区域,所述隐藏区用于存储初始随机数和所述目标数据的地址信息;
所述加密后的目标数通过权利要求1或2所述的数据加密解密方法进行加密。
CN202011399012.8A 2020-12-04 2020-12-04 数据加密方法、解密方法与装置及存储装置 Active CN112632571B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011399012.8A CN112632571B (zh) 2020-12-04 2020-12-04 数据加密方法、解密方法与装置及存储装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011399012.8A CN112632571B (zh) 2020-12-04 2020-12-04 数据加密方法、解密方法与装置及存储装置

Publications (2)

Publication Number Publication Date
CN112632571A CN112632571A (zh) 2021-04-09
CN112632571B true CN112632571B (zh) 2024-04-09

Family

ID=75307725

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011399012.8A Active CN112632571B (zh) 2020-12-04 2020-12-04 数据加密方法、解密方法与装置及存储装置

Country Status (1)

Country Link
CN (1) CN112632571B (zh)

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20050074811A (ko) * 2004-01-14 2005-07-19 삼성전자주식회사 사용자 암호 분실시 사용자 인증 수행 방법 및 장치
CN1716841A (zh) * 2004-06-14 2006-01-04 上海安创信息科技有限公司 高性能密码算法SoC芯片
CN103380589A (zh) * 2011-06-13 2013-10-30 松下电器产业株式会社 终端装置、服务器装置、内容记录控制系统、记录方法以及记录许可与否控制方法
KR101879758B1 (ko) * 2017-06-14 2018-08-17 주식회사위즈베라 사용자 단말기별 사용자 디지털 인증서 발급 방법 및 그 인증서에 의한 인증 방법
CN109558340A (zh) * 2018-11-15 2019-04-02 北京计算机技术及应用研究所 一种基于可信认证的安全固态盘加密系统及方法
CN109949035A (zh) * 2019-03-15 2019-06-28 智链万源(北京)数字科技有限公司 区块链数据隐私控制方法、装置及系统
CN110378129A (zh) * 2019-06-18 2019-10-25 苏州浪潮智能科技有限公司 一种哈希加解密运算方法、系统、设备及计算机存储介质
CN110650011A (zh) * 2019-10-29 2020-01-03 江苏亨通问天量子信息研究院有限公司 基于量子密钥的加密存储方法和加密存储卡
CN111767553A (zh) * 2020-05-29 2020-10-13 上海橙群微电子有限公司 数据加密解密方法、mcu及电子设备、可读存储介质
CN111950030A (zh) * 2020-09-01 2020-11-17 宁波富万信息科技有限公司 基于区块链的数据共享存储方法、终端设备和存储介质

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI479358B (zh) * 2012-10-11 2015-04-01 Phison Electronics Corp 資料保護方法、行動通訊裝置與記憶體儲存裝置
DE102016002549A1 (de) * 2016-01-18 2017-07-20 Roland Harras Verfahren zur mehrschichtig geschützten Sicherung von (Anmelde-) Daten insbesondere Passwörtern

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20050074811A (ko) * 2004-01-14 2005-07-19 삼성전자주식회사 사용자 암호 분실시 사용자 인증 수행 방법 및 장치
CN1716841A (zh) * 2004-06-14 2006-01-04 上海安创信息科技有限公司 高性能密码算法SoC芯片
CN103380589A (zh) * 2011-06-13 2013-10-30 松下电器产业株式会社 终端装置、服务器装置、内容记录控制系统、记录方法以及记录许可与否控制方法
KR101879758B1 (ko) * 2017-06-14 2018-08-17 주식회사위즈베라 사용자 단말기별 사용자 디지털 인증서 발급 방법 및 그 인증서에 의한 인증 방법
CN109558340A (zh) * 2018-11-15 2019-04-02 北京计算机技术及应用研究所 一种基于可信认证的安全固态盘加密系统及方法
CN109949035A (zh) * 2019-03-15 2019-06-28 智链万源(北京)数字科技有限公司 区块链数据隐私控制方法、装置及系统
CN110378129A (zh) * 2019-06-18 2019-10-25 苏州浪潮智能科技有限公司 一种哈希加解密运算方法、系统、设备及计算机存储介质
CN110650011A (zh) * 2019-10-29 2020-01-03 江苏亨通问天量子信息研究院有限公司 基于量子密钥的加密存储方法和加密存储卡
CN111767553A (zh) * 2020-05-29 2020-10-13 上海橙群微电子有限公司 数据加密解密方法、mcu及电子设备、可读存储介质
CN111950030A (zh) * 2020-09-01 2020-11-17 宁波富万信息科技有限公司 基于区块链的数据共享存储方法、终端设备和存储介质

Also Published As

Publication number Publication date
CN112632571A (zh) 2021-04-09

Similar Documents

Publication Publication Date Title
US10841628B1 (en) System and techniques for digital data lineage verification
US9148415B2 (en) Method and system for accessing e-book data
CN106778283B (zh) 一种系统分区关键数据的保护方法及系统
JP2005536951A (ja) デジタル機器においてデジタル文書にセキュリティ保護を施す装置、システムおよび方法
CN109660352B (zh) 一种基于区块链的分销关系记录方法、装置及终端设备
CN111917540B (zh) 一种数据加解密方法、装置、移动终端和存储介质
US11080368B2 (en) Digital rights management system and digital rights protection method
KR20100031497A (ko) 메모리로부터 헤더 데이터를 저장 및 액세싱하는 방법
CN111143869A (zh) 应用程序包处理方法、装置、电子设备及存储介质
CN104579689A (zh) 一种软密钥系统及实现方法
US8738924B2 (en) Electronic system and digital right management methods thereof
TW201340692A (zh) 用以保護並安全地傳遞媒體內容之方法,裝置,及系統
US11735319B2 (en) Method and system for processing medical data
CN106203141A (zh) 一种应用的数据处理方法和装置
CN115795538A (zh) 脱敏文档的反脱敏方法、装置、计算机设备和存储介质
CN111368322B (zh) 一种文件解密方法、装置、电子设备和存储介质
KR101156102B1 (ko) 보안기능이 구비된 메모리 카드 리더기 및 이를 이용한 데이터 암호화 방법
CN112632571B (zh) 数据加密方法、解密方法与装置及存储装置
CN111857756A (zh) 一种基于硬件加密的安全刷机方法及系统
CN111177674A (zh) 设备验证方法及设备
CN111143879A (zh) 一种Android平台SD卡文件保护方法、终端设备及存储介质
CN107918739B (zh) 一种数据的保护方法、装置及存储介质
JP4906739B2 (ja) 権利ファイル記述の保護方法
CN110516468B (zh) 一种虚拟机内存快照加密的方法和装置
CN101617318A (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