CN118211254B - 加密存储方法、解密提取方法、装置、设备及介质 - Google Patents

加密存储方法、解密提取方法、装置、设备及介质 Download PDF

Info

Publication number
CN118211254B
CN118211254B CN202410635594.7A CN202410635594A CN118211254B CN 118211254 B CN118211254 B CN 118211254B CN 202410635594 A CN202410635594 A CN 202410635594A CN 118211254 B CN118211254 B CN 118211254B
Authority
CN
China
Prior art keywords
target
cube storage
module
storage module
information
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
CN202410635594.7A
Other languages
English (en)
Other versions
CN118211254A (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.)
Suzhou Metabrain Intelligent Technology Co Ltd
Original Assignee
Suzhou Metabrain Intelligent 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 Suzhou Metabrain Intelligent Technology Co Ltd filed Critical Suzhou Metabrain Intelligent Technology Co Ltd
Priority to CN202410635594.7A priority Critical patent/CN118211254B/zh
Publication of CN118211254A publication Critical patent/CN118211254A/zh
Application granted granted Critical
Publication of CN118211254B publication Critical patent/CN118211254B/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/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/062Securing storage systems
    • G06F3/0622Securing storage systems in relation to access
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0689Disk arrays, e.g. RAID, JBOD

Landscapes

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

Abstract

本发明提供一种加密存储方法、解密提取方法、装置、设备及介质,涉及电数字数据处理技术领域,该方法包括:基于目标信息中字符的数量,确定目标数值;基于目标数值,获取目标数值阶的目标正方体存储阵列;在目标正方体存储阵列中确定第1个目标正方体存储模块,基于第i个目标正方体存储模块在目标正方体存储阵列中的位置,在目标正方体存储阵列中确定第i+1个目标正方体存储模块;将目标信息中的第i个字符存储于第i个目标正方体存储模块中,将目标信息中的第i+1个字符存储于第i+1个目标正方体存储模块中。本发明提供的加密存储方法、解密提取方法、装置、设备及介质,能提高信息破译难度,能提高信息加密存储的安全性。

Description

加密存储方法、解密提取方法、装置、设备及介质
技术领域
本发明涉及电数字数据处理技术领域,尤其涉及一种加密存储方法、解密提取方法、装置、设备及介质。
背景技术
随着信息技术的快速发展,特别是在云计算、大数据、物联网等领域的广泛应用,信息安全问题日益凸显,对加密存储技术的需求也日益迫切。
但是,随着计算机运算能力的提升,相关技术中传统的加密存储方法越来越容易被破译,传统的加密存储方法以难以满足用户日益增加的信息安全需求。
因此,如何提高信息加密存储的安全性,是本领域亟待解决的技术问题。
发明内容
本发明提供一种加密存储方法、解密提取方法、装置、设备及介质,用以解决现有技术中传统的加密存储方法易被破解的缺陷,实现提高信息加密存储的安全性。
本发明提供一种加密存储方法,包括:
基于目标信息中字符的数量,确定所述目标信息对应的目标数值;
基于所述目标数值,获取所述目标信息对应的目标数值阶的目标正方体存储阵列,所述目标正方体存储阵列由多个正方体存储模块组成,所述目标正方体存储阵列中所述正方体存储模块的层数以及每层中所述正方体存储模块的行数和列数均为所述目标数值;
在所述目标正方体存储阵列中确定第1个目标正方体存储模块,基于第i个目标正方体存储模块在所述目标正方体存储阵列中的位置,在所述目标正方体存储阵列中确定第i+1个目标正方体存储模块,所述i依次取1,2,3,…,N-1,所述N表示所述目标信息中字符的数量;
将所述目标信息中的第i个字符存储于所述第i个目标正方体存储模块中,将所述目标信息中的第i+1个字符存储于所述第i+1个目标正方体存储模块中。
根据本发明提供的一种加密存储方法,所述基于第i个目标正方体存储模块在所述目标正方体存储阵列中的位置,在所述目标正方体存储阵列中确定第i+1个目标正方体存储模块,包括:
在基于所述第i个目标正方体存储模块在所述目标正方体存储阵列中的位置,确定与所述第i个目标正方体存储模块相邻的任一正方体存储模块不为目标正方体存储模块的情况下,将所述任一正方体存储模块确定为所述第i+1个目标正方体存储模块。
根据本发明提供的一种加密存储方法,所述基于第i个目标正方体存储模块在所述目标正方体存储阵列中的位置,在所述目标正方体存储阵列中确定第i+1个目标正方体存储模块,包括:
基于所述第i个目标正方体存储模块在所述目标正方体存储阵列中的位置,判断所述第i个目标正方体存储模块的目标方位排列序列中的第j个方位是否有相邻的正方体存储模块,所述j的起始值为1,所述目标方位排列序列中包括多个顺序排列的方位;
在确定所述目标正方体存储阵列中所述第i个目标正方体存储模块的所述第j个方位没有相邻的正方体存储模块的情况下,j增大1,重复执行判断所述第i个目标正方体存储模块的所述第j个方位是否有相邻的正方体存储模块的步骤,直至确定所述第i个目标正方体存储模块的所述第j个方位有相邻的正方体存储模块,
在确定所述第i个目标正方体存储模块的所述第j个方位有相邻的正方体存储模块的情况下,判断所述相邻的正方体存储模块是否为目标正方体存储模块;
在确定所述相邻的正方体存储模块为目标正方体存储模块的情况下,j增大1,重复执行判断所述第i个目标正方体存储模块的所述第j个方位是否有相邻的正方体存储模块的步骤以及判断所述相邻的正方体存储模块是否为目标正方体存储模块的步骤,直至确定所述目标正方体存储阵列中在所述第j个方位所述第i个目标正方体存储模块有相邻的正方体存储模块且所述相邻的正方体存储模块不为目标正方体存储模块,
在确定所述目标正方体存储阵列中在所述第j个方位所述第i个目标正方体存储模块有相邻的正方体存储模块且所述相邻的正方体存储模块不为目标正方体存储模块的情况下,将所述相邻的正方体存储模块确定为所述第i+1个目标正方体存储模块。
根据本发明提供的一种加密存储方法,所述在确定所述目标正方体存储阵列中在所述第j个方位所述第i个目标正方体存储模块有相邻的正方体存储模块且所述相邻的正方体存储模块不为目标正方体存储模块的情况下,将所述相邻的正方体存储模块确定为所述第i+1个目标正方体存储模块之后,所述方法还包括:
在基于所述第i+1个目标正方体存储模块在所述目标正方体存储阵列中的位置,确定在所述目标正方体存储阵列中与所述第i+1个目标正方体存储模块相邻的正方体存储模块均为目标正方体存储模块的情况下,在所述目标正方体存储阵列中重新确定所述第i+1个目标正方体存储模块。
根据本发明提供的一种加密存储方法,所述重新确定所述第i+1个目标正方体存储模块,包括:
基于第i个目标正方体存储模块在所述目标正方体存储阵列中的位置,判断在所述目标正方体存储阵列中,所述第i个目标正方体存储模块的所述目标方位排列序列中的第m+1个方位是否有相邻的正方体存储模块,所述m为重新确定前的第i+1个目标正方体存储模块相对于所述第i个目标正方体存储模块的方位在所述目标方位排列序列中的序号;
在确定所述第i个目标正方体存储模块的所述第m+1个方位没有相邻的正方体存储模块的情况下,m增大1,重复执行判断所述第i个目标正方体存储模块的所述第m+1个方位是否有相邻的正方体存储模块的步骤,直至确定所述第i个目标正方体存储模块的所述第m+1个方位有相邻的正方体存储模块,
在确定所述第i个目标正方体存储模块的所述第m+1个方位有相邻的正方体存储模块的情况下,判断所述相邻的正方体存储模块是否为目标正方体存储模块;
在确定所述相邻的正方体存储模块为目标正方体存储模块的情况下,m增大1,重复执行判断所述第i个目标正方体存储模块的所述第m+1个方位是否有相邻的正方体存储模块的步骤以及判断所述相邻的正方体存储模块是否为目标正方体存储模块的步骤,直至确定所述目标正方体存储阵列中在所述第m+1个方位所述第i个目标正方体存储模块有相邻的正方体存储模块且所述相邻的正方体存储模块不为目标正方体存储模块,
在确定所述目标正方体存储阵列中在所述第m+1个方位所述第i个目标正方体存储模块有相邻的正方体存储模块且所述相邻的正方体存储模块不为目标正方体存储模块的情况下,将所述相邻的正方体存储模块确定为重新确定后的第i+1个目标正方体存储模块。
根据本发明提供的一种加密存储方法,所述基于目标信息中字符的数量,确定所述目标信息对应的目标数值,包括:
计算所述目标信息中字符的数量的两倍,作为中间结果;
将求取立方后所得计算结果不小于所述中间结果且所述求取立方后所得计算结果与所述中间结果之间差值最小的正整数,确定为所述目标数值。
根据本发明提供的一种加密存储方法,所述在所述目标正方体存储阵列中确定第1个目标正方体存储模块,包括:
在所述目标正方体存储阵列中随机选取一个正方体存储模块作为所述第1个目标正方体存储模块,或者,基于用户的输入,在所述目标正方体存储阵列中确定第1个目标正方体存储模块。
根据本发明提供的一种加密存储方法,所述将所述目标信息中的第i个字符存储于所述第i个目标正方体存储模块中,将所述目标信息中的第i+1个字符存储于所述第i+1个目标正方体存储模块中之后,所述方法还包括:
基于各所述目标正方体存储模块在所述目标正方体存储阵列中的位置以及各所述目标正方体存储模块的排列顺序,生成所述目标信息对应的原始密钥信息。
根据本发明提供的一种加密存储方法,所述基于各所述目标正方体存储模块在所述目标正方体存储阵列中的位置以及各所述目标正方体存储模块的排列顺序,生成所述目标信息对应的原始密钥信息,包括:
生成用于指示所述第1个目标正方体存储模块在所述目标正方体存储阵列中的位置的字符,作为所述原始密钥信息的第一位;
生成用于指示第n个目标正方体存储模块相对于第n-1个目标正方体存储模块所在方位的字符,作为所述原始密钥信息的第n位,所述n依次取2,3,…,N
根据本发明提供的一种加密存储方法,所述生成所述目标信息对应的原始密钥信息之后,所述方法还包括:
将所述原始密钥信息转换为十六进制之后,基于预设编码方式对得到的十六进制数进行编码,获得所述目标信息对应的目标密钥信息。
本发明还提供一种解密提取方法,包括:
获取目标信息对应的原始密钥信息;
基于所述原始密钥信息的指示,在所述目标信息对应的目标正方体存储阵列中确定各目标正方体存储模块以及各所述目标正方体存储模块的排列顺序;
按照各所述目标正方体存储模块的排列顺序,依次提取各所述目标正方体存储模块中存储的字符,获得所述目标信息;
其中,所述原始密钥信息是基于如上任一所述的加密存储方法将目标信息存储于所述目标正方体存储阵列之后生成的。
根据本发明提供的一种解密提取方法,所述获取目标信息对应的原始密钥信息,包括:
获取所述目标信息对应的目标密钥信息;
基于预设解码方式对所述目标密钥信息进行解码之后,将获得的解码结果转换为十进制,获得所述原始密钥信息;
其中,所述目标密钥信息是基于如上所述的加密存储方法将所述目标信息存储于所述目标正方体存储阵列之后生成的。
本发明还提供一种加密存储装置,包括:
阶数确定模块,用于基于目标信息中字符的数量,确定所述目标信息对应的目标数值;
阵列获取模块,用于基于所述目标数值,获取所述目标信息对应的目标数值阶的目标正方体存储阵列,所述目标正方体存储阵列由多个正方体存储模块组成,所述目标正方体存储阵列中所述正方体存储模块的层数以及每层中所述正方体存储模块的行数和列数均为所述目标数值;
路径获取模块,用于在所述目标正方体存储阵列中确定第1个目标正方体存储模块,基于第i个目标正方体存储模块在所述目标正方体存储阵列中的位置,在所述目标正方体存储阵列中确定第i+1个目标正方体存储模块,所述i依次取1,2,3,…,N-1,所述N表示所述目标信息中字符的数量;
信息存储模块,用于将所述目标信息中的第i个字符存储于所述第i个目标正方体存储模块中,将所述目标信息中的第i+1个字符存储于所述第i+1个目标正方体存储模块中。
本发明还提供一种解密提取装置,包括:
密钥获取模块,用于获取目标信息对应的原始密钥信息;
密钥解析模块,用于基于所述原始密钥信息的指示,在所述目标信息对应的目标正方体存储阵列中确定各目标正方体存储模块以及各所述目标正方体存储模块的排列顺序;
信息提取模块,用于按照各所述目标正方体存储模块的排列顺序,依次提取各所述目标正方体存储模块中存储的字符,获得所述目标信息;
其中,所述原始密钥信息是基于如上任一所述的加密存储方法将目标信息存储于所述目标正方体存储阵列之后生成的。
本发明还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任一种所述加密存储方法,和/或,所述解密提取方法。
本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述任一种所述加密存储方法,和/或,所述解密提取方法。
本发明还提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如上述任一种所述加密存储方法,和/或,所述解密提取方法。
本发明提供的加密存储方法、解密提取方法、装置、设备及介质,加密存储方法通过基于目标信息中字符的数量,确定目标信息对应的目标正方体存储阵列的阶数之后,获取目标信息对应的目标正方体存储阵列,进而在上述目标正方体存储阵列确定第1个目标正方体存储模块之后,基于第i个目标正方体存储模块在目标正方体存储阵列中的位置,在目标正方体存储阵列中确定第i+1个目标正方体存储模块,进而将目标信息中的第i个字符存储于第i个目标正方体存储模块中,能将信息进行三维空间形式的随机加密存储,能提高信息破译难度,能提高信息加密存储的安全性,能更好地满足用户对于信息安全的需求,能提高用户感知。
附图说明
为了更清楚地说明本发明或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明提供的加密存储方法的流程示意图;
图2是本发明提供的加密存储方法中正方体存储阵列的示意图;
图3是本发明提供的加密存储方法中目标正方体存储阵列中正方体存储模块之间的指向关系示例图;
图4是本发明提供的解密提取方法的流程示意图;
图5是本发明提供的加密存储装置的结构示意图;
图6是本发明提供的解密提取装置的结构示意图;
图7是本发明提供的电子设备的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在发明的描述中,需要说明的是,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。
本申请的描述中,术语“第一”、“第二”等是用于区别类似的对象,而不用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施,且“第一”、“第二”等所区分的对象通常为一类,并不限定对象的个数,例如第一对象可以是一个,也可以是多个。此外,本申请的描述中,“和/或”表示所连接对象的至少其中之一,字符“/”,一般表示前后关联对象是一种“或”的关系。
需要说明的是,相关技术中传统的加密存储方法,可以基于单向加密函数、对称加密算法、RSA(Rivest-Shamir-Adleman)公钥加密算法、ECC(Elliptic CurveCryptography)公钥加密算法以及二维码加密等加密算法,对信息进行加密存储。而上述传统的加密存储方法均为一维或二维的加密存储方法。
传统的一维和二维加密存储方法,在计算复杂度和空间复杂度上均远远低于三维的加密存储方法。随着计算机运算能力的提示,传统的一维和二维加密存储方法越来越容易被破译,导致加密信息的泄露。
并且,随着用户信息安全需求的日益提升,亟需一种更难被破译,更安全地信息加密存储方法。
对此,本发明提供一种加密存储方法,本发明提供的加密存储方法可以对信息进行三维空间形式的随机存储,并设计有多种随机因子,对破译进行误导,从而提高破译的难度,进而提高信息加密存储的安全性,本发明提供的加密存储方法还可以返回密钥信息,供用户进行传递,能更好地满足用户需求。
图1是本发明提供的加密存储方法的流程示意图。下面结合图1描述本发明的加密存储方法。如图1所示,该方法包括:步骤101、基于目标信息中字符的数量,确定目标信息对应的目标数值。
需要说明的是,本发明实施例的执行主体为加密存储装置。
具体地,目标信息为本发明提供的加密存储方法的加密存储对象。即基于本发明提供的加密存储方法可以对目标信息进行加密存储。
可以理解的是,本发明实施例中的目标信息可以为一串字符串。
可以理解的是,本发明实施例中的目标信息可以是根据用户需求确定的,例如目标信息可以为用户的个人敏感信息。本发明实施例中对目标信息不作具体限定。
本发明实施例中可以通过多种方式获取目标信息,例如:可以基于用户的输入,获取目标信息;或者,还可以接收其他电子设备发送的目标信息。本发明实施例中对获取目标信息的具体方式不作限定。
获取目标信息之后,可以通过数理统计的方式,获取目标信息中字符的数量。其中,本发明实施例中可以用N表示目标信息中字符的数量。
可选地,获取目标信息之后,可以基于strlen函数,获取目标信息中字符的数量N。其中,strlen函数会返回一个字符串的长度,即字符串中字符的数量,不包括字符串末尾的空字符 \0。
由于本发明提供的加密存储方法可以将目标信息存储至三维的正方体存储阵列中,因此需要根据目标信息中字符的数量,确定用于存储目标信息的目标正方体存储阵列的阶数,避免上述目标正方体存储阵列中的正方体存储模块不足以存储目标信息中的所有字符。
需要说明的是,本发明实施例中的正方体存储阵列,为由多个正方体存储模块组成的正方体阵列。对于P阶正方体存储阵列而言,上述P阶正方体存储阵列中包括P×P×P个正方体存储单元,上述P阶正方体存储阵列中正方体存储模块的层数以及每一层中正方体存储模块的行数和列数均为P
例如,对于3阶正方体存储阵列而言,上述3阶正方体存储阵列包括27(3×3×3)个正方体存储单元,上述3阶正方体存储阵列的层数以及每一层中的行数和列数均为3。图2是本发明提供的加密存储方法中正方体存储阵列的示意图。3阶正方体存储阵列如图2所示。
由于本发明提供的加密存储方法可以将目标信息存储至三维的正方体存储阵列中,因此需要根据目标信息中字符的数量,确定用于存储目标信息的目标正方体存储阵列的阶数,避免上述目标正方体存储阵列中的正方体存储模块不足以存储目标信息中的所有字符。
需要说明的是,本发明实施例中的正方体存储模块可以存储一个或多个字符。
获取目标信息中字符的数量N之后,可以通过数值计算以及条件判断的方式,确定目标信息对应的目标数值。其中,本发明实施例中可以用x表示目标信息对应的目标数值。
作为一个可选地实施例,基于目标信息中字符的数量,确定目标信息对应的目标数值,包括:计算目标信息中字符的数量的两倍,作为中间结果;
将求取立方后所得计算结果不小于中间结果且求取立方后所得计算结果与中间结果之间差值最小的正整数,确定为目标数值。
具体地,本发明实施例中可以依次判断2N是否不大于27(3×3×3)、64(4×4×4)、125(5×5×5)、216(6×6×6)、…,直至确定2N不大于x×x×x,则可以将x确定为目标数值。其中,x表示大于正整数。
本发明实施例中通过计算目标信息中字符的数量的两倍作为中间结果之后,将求取立方后所得计算结果不小于中间结果且求取立方后所得计算结果与中间结果之间差值最小的正整数,确定为目标数值,能避免将目标信息存储至三维的正方体存储阵列中时,正方体存储阵列中的正方体存储模块不足以存储目标信息中的所有字符,能为信息加密存储提供更准确的存储基础。
步骤102、基于目标数值,获取目标信息对应的目标数值阶的目标正方体存储阵列,目标正方体存储阵列由多个正方体存储模块组成,目标正方体存储阵列中正方体存储模块的层数以及每层中正方体存储模块的行数和列数均为目标数值。
具体地,确定目标信息对应的目标数值x之后,可以基于上述目标数值x,创建目标信息对应的x阶的目标正方体存储阵列。
确定目标信息对应的目标数值x之后,可以基于上述目标数值x,从创建好的正方体存储阵列中,选择x阶的正方体存储阵列,作为目标信息对应的x阶的目标正方体存储阵列。
可以理解的是,上述x阶的目标正方体存储阵列包括x×x×x个正方体存储单元,上述x阶的目标正方体存储阵列中正方体存储模块的层数以及每一层中正方体存储模块的行数和列数均为x
步骤103、在目标正方体存储阵列中确定第1个目标正方体存储模块,基于第i个目标正方体存储模块在目标正方体存储阵列中的位置,在目标正方体存储阵列中确定第i+1个目标正方体存储模块,i依次取1,2,3,…,N-1,N表示目标信息中字符的数量。
具体地,获取目标信息对应的目标正方体存储阵列之后,可以通过多种方式在目标正方体存储阵列中确定第1个目标正方体存储模块,例如可以将目标正方体存储阵列中已预先标记的正方体存储模块,确定为第1个目标正方体存储模块;或者,还可以基于用户的输入,将目标正方体存储阵列中用户指定的正方体存储模块,确定为第1个目标正方体存储模块。
作为一个可选地实施例,在目标正方体存储阵列中确定第1个目标正方体存储模块,包括:在目标正方体存储阵列中随机选取一个正方体存储模块作为第1个目标正方体存储模块,或者,基于用户的输入,在目标正方体存储阵列中确定第1个目标正方体存储模块。
具体地,在目标正方体存储阵列中确定第1个目标正方体存储模块之后,可以基于第1个目标正方体存储模块在目标正方体存储阵列中的位置,通过条件判断的方式,在目标正方体存储阵列中确定第2个目标正方体存储模块。
类似地,在目标正方体存储阵列中确定第2个目标正方体存储模块之后,可以基于第2个目标正方体存储模块在目标正方体存储阵列中的位置,通过条件判断的方式,在目标正方体存储阵列中确定第3个目标正方体存储模块。
以此类推,在目标正方体存储阵列中确定第i个目标正方体存储模块之后,可以基于第i个目标正方体存储模块在目标正方体存储阵列中的位置,通过条件判断的方式,在目标正方体存储阵列中确定第i+1个目标正方体存储模块。
作为一个可选地实施例,基于第i个目标正方体存储模块在目标正方体存储阵列中的位置以及目标方位排列序列,在目标正方体存储阵列中确定第i+1个目标正方体存储模块,包括:在基于第i个目标正方体存储模块在目标正方体存储阵列中的位置,确定与第i个目标正方体存储模块相邻的任一正方体存储模块不为目标正方体存储模块的情况下,将任一正方体存储模块确定为第i+1个目标正方体存储模块。
需要说明的是,本发明实施例中的目标方位排列序列中顺序排列的多个方位,可以包括三维空间中的前方、后方、左方、右方、上方以及下方。本发明实施例中的目标方位排列序列是预定义的。
例如,上述目标方位排列序列可以包括:前方、后方、左方、右方、上方以及下方;上述目标方位排列序列还可以包括:上方、左方、前方、右方、后方以及下方。
需要说明的是,本发明实施例中可以对三维空间中的六个方位进行随机排列之后,作为目标方位排列序列;本发明实施例中还可以由用户定义三维空间中的六个方位的排列顺序,进而可以基于用户的输入的三维空间中的六个方位的排列顺序,作为目标方位排列序列。
具体地,为了便于对本发明实施例的理解,以下通过一个实例,对本发明实施例进行说明。
在目标正方体存储阵列中确定第i个目标正方体存储模块之后,可以基于第i个目标正方体存储模块在目标正方体存储阵列中的位置,判断在目标正方体存储阵列中第i个目标正方体存储模块的前方是否有相邻的正方体存储模块。
若第i个目标正方体存储模块的前方有相邻的正方体存储模块且上述相邻的正方体存储模块不为目标正方体存储模块,则可以将第i个目标正方体存储模块前方相邻的正方体存储模块,确定为第i+1个目标正方体存储模块。
本发明实施例通过将目标正方体存储阵列中与第i个目标正方体存储模块相邻的任一正方体存储模块不为目标正方体存储模块,则将上述任一正方体存储模块确定为第i+1个目标正方体存储模块,打破了传统的信息加密存储方法中存储维度及数据地址连续的概念,以三维立体的方式对数据进行随机性链式存储,进行信息加密存储的随机性强,使得信息加密存储的安全性更高。
作为一个可选地实施例,基于第i个目标正方体存储模块在目标正方体存储阵列中的位置,在目标正方体存储阵列中确定第i+1个目标正方体存储模块,包括:基于第i个目标正方体存储模块在目标正方体存储阵列中的位置,判断第i个目标正方体存储模块的目标方位排列序列中的第j个方位是否有相邻的正方体存储模块,j的起始值为1,目标方位排列序列中包括多个顺序排列的方位;
在确定目标正方体存储阵列中第i个目标正方体存储模块的第j个方位没有相邻的正方体存储模块的情况下,j增大1,重复执行判断第i个目标正方体存储模块的第j个方位是否有相邻的正方体存储模块的步骤,直至确定第i个目标正方体存储模块的第j个方位有相邻的正方体存储模块,在确定第i个目标正方体存储模块的第j个方位有相邻的正方体存储模块的情况下,判断相邻的正方体存储模块是否为目标正方体存储模块;
在确定相邻的正方体存储模块为目标正方体存储模块的情况下,j增大1,重复执行判断第i个目标正方体存储模块的第j个方位是否有相邻的正方体存储模块的步骤以及判断相邻的正方体存储模块是否为目标正方体存储模块的步骤,直至确定目标正方体存储阵列中在第j个方位第i个目标正方体存储模块有相邻的正方体存储模块且相邻的正方体存储模块不为目标正方体存储模块,在确定目标正方体存储阵列中在第j个方位第i个目标正方体存储模块有相邻的正方体存储模块且相邻的正方体存储模块不为目标正方体存储模块的情况下,将相邻的正方体存储模块确定为第i+1个目标正方体存储模块。
具体地,为了便于对本发明实施例的理解,以下以目标方位排列序列包括:前方、后方、左方、右方、上方以及下方为例,对本发明实施例进行说明。
在目标正方体存储阵列中确定第i个目标正方体存储模块之后,可以基于第i个目标正方体存储模块在目标正方体存储阵列中的位置,判断在目标正方体存储阵列中,第i个目标正方体存储模块的前方是否有相邻的正方体存储模块。
若第i个目标正方体存储模块的前方没有相邻的正方体存储模块,则判断在目标正方体存储阵列中,第i个目标正方体存储模块的后方是否有相邻的正方体存储模块。
若第i个目标正方体存储模块的后方有相邻的正方体存储模块,则判断第i个目标正方体存储模块后方相邻的正方体存储模块是否为目标正方体存储模块。
i个目标正方体存储模块后方相邻的正方体存储模块为目标正方体存储模块,则判断在目标正方体存储阵列中,第i个目标正方体存储模块的左方是否有相邻的正方体存储模块。
若第i个目标正方体存储模块的左方有相邻的正方体存储模块,则判断第i个目标正方体存储模块左方相邻的正方体存储模块是否为目标正方体存储模块。
若第i个目标正方体存储模块左方相邻的正方体存储模块不为目标正方体存储模块,则可以将第i个目标正方体存储模块左方相邻的正方体存储模块确定为第i+1个目标正方体存储模块。
且上述相邻的正方体存储模块不为目标正方体存储模块,则可以将第i个目标正方体存储模块在前方上有相邻的正方体存储模块,确定为第i+1个目标正方体存储模块。
作为一个可选地实施例,在确定目标正方体存储阵列中在第j个方位第i个目标正方体存储模块有相邻的正方体存储模块且相邻的正方体存储模块不为目标正方体存储模块的情况下,将相邻的正方体存储模块确定为第i+1个目标正方体存储模块之后,所述方法还包括:在基于第i+1个目标正方体存储模块在目标正方体存储阵列中的位置,确定在目标正方体存储阵列中与第i+1个目标正方体存储模块相邻的正方体存储模块均为目标正方体存储模块的情况下,在目标正方体存储阵列中重新确定第i+1个目标正方体存储模块。
具体地,为了便于对本发明实施例的理解,以下以目标方位排列序列包括:前方、后方、左方、右方、上方以及下方为例,对本发明实施例进行说明。
若基于第i+1个目标正方体存储模块在目标正方体存储阵列中的位置,确定第i+1个目标正方体存储模块的前方没有相邻的正方体存储模块,第i+1个目标正方体存储模块的后方有相邻的正方体存储模块,第i+1个目标正方体存储模块后方相邻的正方体存储模块为目标正方体存储模块,第i+1个目标正方体存储模块的左方没有相邻的正方体存储模块,第i+1个目标正方体存储模块右方相邻的正方体存储模块为目标正方体存储模块,第i+1个目标正方体存储模块的上方和下方相邻的正方体存储模块均为目标正方体存储模块,则目标正方体存储阵列中无法确定第i+2个目标正方体存储模块,需要重新确定第i+1个目标正方体存储模块,才能在目标正方体存储阵列中确定第i+2个目标正方体存储模块。
作为一个可选地实施例,重新确定第i+1个目标正方体存储模块,包括:基于第i个目标正方体存储模块在目标正方体存储阵列中的位置,判断在目标正方体存储阵列中,第i个目标正方体存储模块的目标方位排列序列中的第m+1个方位是否有相邻的正方体存储模块,m为重新确定前的第i+1个目标正方体存储模块相对于第i个目标正方体存储模块的方位在目标方位排列序列中的序号;
在确定第i个目标正方体存储模块的第m+1个方位没有相邻的正方体存储模块的情况下,m增大1,重复执行判断第i个目标正方体存储模块的第m+1个方位是否有相邻的正方体存储模块的步骤,直至确定第i个目标正方体存储模块的第m+1个方位有相邻的正方体存储模块,在确定第i个目标正方体存储模块的第m+1个方位有相邻的正方体存储模块的情况下,判断相邻的正方体存储模块是否为目标正方体存储模块;
在确定相邻的正方体存储模块为目标正方体存储模块的情况下,m增大1,重复执行判断第i个目标正方体存储模块的第m+1个方位是否有相邻的正方体存储模块的步骤以及判断相邻的正方体存储模块是否为目标正方体存储模块的步骤,直至确定目标正方体存储阵列中在第m+1个方位第i个目标正方体存储模块有相邻的正方体存储模块且相邻的正方体存储模块不为目标正方体存储模块,在确定目标正方体存储阵列中在第m+1个方位第i个目标正方体存储模块有相邻的正方体存储模块且相邻的正方体存储模块不为目标正方体存储模块的情况下,将相邻的正方体存储模块确定为重新确定后的第i+1个目标正方体存储模块。
具体地,为了便于对本发明实施例的理解,以下以目标方位排列序列包括:前方、后方、左方、右方、上方以及下方,重新确定前的第i+1个目标正方体存储模块位于第i个目标正方体存储模块后方为例,对本发明实施例进行说明。
若基于第i+1个目标正方体存储模块在目标正方体存储阵列中的位置,确定在目标正方体存储阵列中与第i+1个目标正方体存储模块相邻的正方体存储模块均为目标正方体存储模块,则可以基于第i个目标正方体存储模块在目标正方体存储阵列中的位置,判断在目标正方体存储阵列中,第i个目标正方体存储模块的左方是否有相邻的正方体存储模块。
若第i个目标正方体存储模块的左方没有相邻的正方体存储模块,则判断在目标正方体存储阵列中,第i个目标正方体存储模块的右方是否有相邻的正方体存储模块。
若第i个目标正方体存储模块的右方有相邻的正方体存储模块,则判断第i个目标正方体存储模块右方相邻的正方体存储模块是否为目标正方体存储模块。
i个目标正方体存储模块右方相邻的正方体存储模块为目标正方体存储模块,则判断在目标正方体存储阵列中,第i个目标正方体存储模块的上方是否有相邻的正方体存储模块。
若第i个目标正方体存储模块的上方有相邻的正方体存储模块,则判断第i个目标正方体存储模块上方相邻的正方体存储模块是否为目标正方体存储模块。
若第i个目标正方体存储模块上方相邻的正方体存储模块不为目标正方体存储模块,则可以将第i个目标正方体存储模块上方相邻的正方体存储模块确定为重新确定后的第i+1个目标正方体存储模块。
本发明实施例通过在基于第i+1个目标正方体存储模块在目标正方体存储阵列中的位置,确定在目标正方体存储阵列中与第i+1个目标正方体存储模块相邻的正方体存储模块均为目标正方体存储模块的情况下,在目标正方体存储阵列中重新确定第i+1个目标正方体存储模块,能在寻找第i+2个目标正方体存储模块无解的情况下,通过重新确定第i+1个目标正方体存储模块,避免信息加密存储进程出现错误。
步骤104、将目标信息中的第i个字符存储于第i个目标正方体存储模块中,将目标信息中的第i+1个字符存储于第i+1个目标正方体存储模块中。
需要说明的是,本发明实施例中可以在目标正方体存储阵列中确定了全部N个目标正方体存储模块之后,将目标信息中的第i个字符存储于第i个目标正方体存储模块中,将目标信息中的第i+1个字符存储于第i+1个目标正方体存储模块中。
本发明实施例中还可以在目标正方体存储阵列确定第i个目标正方体存储模块之后,就将目标信息中的第i个字符存储于第i个目标正方体存储模块中,在目标正方体存储阵列确定第i+1个目标正方体存储模块之后,就将目标信息中的第i+1个字符存储于第i+1个目标正方体存储模块中。
本发明实施例通过基于目标信息中字符的数量,确定目标信息对应的目标正方体存储阵列的阶数之后,获取目标信息对应的目标正方体存储阵列,进而在上述目标正方体存储阵列确定第1个目标正方体存储模块之后,基于第i个目标正方体存储模块在目标正方体存储阵列中的位置以及目标方位排列序列,在目标正方体存储阵列中确定第i+1个目标正方体存储模块,进而将目标信息中的第i个字符存储于第i个目标正方体存储模块中,能将信息进行三维空间形式的随机加密存储,能提高信息破译难度,能提高信息加密存储的安全性,能更好地满足用户对于信息安全的需求,能提高用户感知。
作为一个可选地实施例,将目标信息中的第i个字符存储于第i个目标正方体存储模块中之后,所述方法还包括:基于各目标正方体存储模块在目标正方体存储阵列中的位置以及各目标正方体存储模块的排列顺序,生成目标信息对应的原始密钥信息。
具体地,在目标正方体存储阵列中确定了全部N个目标正方体存储模块之后,可以基于各目标正方体存储模块在目标正方体存储阵列中的位置以及各目标正方体存储模块的排列顺序,按照预设的生成规则,生成目标信息对应的原始密钥信息,用于解密提取目标信息。
例如,可以基于各目标正方体存储模块在目标正方体存储阵列中的位置,生成各目标正方体存储模块的标识符,进而可以基于各目标正方体存储模块的排列顺序,顺序排列各目标正方体存储模块的标识符,作为目标信息对应的原始密钥信息;
又例如,可以基于各目标正方体存储模块在目标正方体存储阵列中的位置以及各目标正方体存储模块的排列顺序,用方位标识符表示后一目标正方体存储模块相对于前一目标正方体存储模块的方位,进而可以基于各目标正方体存储模块的排列顺序,顺序排列任意相邻两个目标正方体存储模块对应的方位标识符,作为目标信息对应的原始密钥信息。
本发明实施例通过基于各目标正方体存储模块在目标正方体存储阵列中的位置以及各目标正方体存储模块的排列顺序,生成目标信息对应的原始密钥信息,能为用户提供用于传递的密钥信息,能为用户授权的第三方解密提取信息提供支持。
作为一个可选地实施例,基于各目标正方体存储模块在目标正方体存储阵列中的位置以及各目标正方体存储模块的排列顺序,生成目标信息对应的原始密钥信息,包括:生成用于指示第1个目标正方体存储模块在目标正方体存储阵列中的位置的字符,作为原始密钥信息的第一位;
生成用于指示第n个目标正方体存储模块相对于第n-1个目标正方体存储模块所在方位的字符,作为原始密钥信息的第n位,n依次取2,3,…,N
本发明实施例中原始密钥信息的第一位用于指示第1个目标正方体存储模块在目标正方体存储阵列中的位置的字符,原始密钥信息的其他位用于指示相邻两个目标存储模块之间的方位关系,原始密钥信息中的不同位表示不同的意义,破译时难以推测原始密钥信息所代表的含义,能进一步增大破译难度,能进一步提高信息加密存储的安全性。
作为一个可选地实施例,生成目标信息对应的原始密钥信息之后,方法还包括:将原始密钥信息转换为十六进制之后,基于预设编码方式对得到的十六进制数进行编码,获得目标信息对应的目标密钥信息。
需要说明的是,本发明实施例中预设编码方式可以为base64编码。
本发明实施例通过将原始密钥信息转换为十六进制之后,基于预设编码方式对得到的十六进制数进行编码,获得目标信息对应的目标密钥信息,能提高密钥的安全性,能进一步提高信息加密存储的安全性。
为了便于对本发明提供的加密存储方法的理解,以下通过一个实例对本发明提供的加密存储方法进行说明。本实例中加密存储方法,可以通过执行C语言编写的程序实现。
本实例中,在接收到用户输入的目标信息string之后,可以对目标信息string的字符串长度进行len=strlen(string)计算,目标信息中字符的数量N=len。
为了减少随机路径穷举运算量故:根据目标信息中字符的数量进行判断if(len<=27/2),则目标信息对应的目标数值x=3;if(len<=125/2),则目标信息对应的目标数值x=5,以此类推,确定目标信息对应的目标数值x
基于目标信息对应的目标数值x,可以利用链式模块创建函数,创建目标信息对应的x阶目标正方体存储阵列。
构建x阶目标正方体存储阵列时,目标正方体存储阵列中任一正方体存储模块的指针节点全部指向NULL。
图3是本发明提供的加密存储方法中目标正方体存储阵列中正方体存储模块之间的指向关系示例图。以目标信息对应的目标数值x=3为例,如图3所示,建立2号正方体存储模块时,2号正方体存储模块与1号正方体存储模块的指针节点相互指向,开始建立4号正方体存储模块时,4号正方体存储模块和1号正方体存储模块的指针节点相互指向。
由于正方体存储阵列中的正方体存储模块可能存在上、下、左、右、前、后六个相邻的正方体存储模块,本实例中用{x1,x2,x3,x4,x5,x6}表示正方体存储模块的指针节点状态。其中,x1=1,表示正方体存储模块的指针节点指向上方,x1=0,表示正方体存储模块的指针节点指向null;x2=1,表示正方体存储模块的指针节点指向下方,x2=0,表示正方体存储模块的指针节点指向null;x3=1,表示正方体存储模块的指针节点指向左方,x3=0,表示正方体存储模块的指针节点指向null;x4=1,表示正方体存储模块的指针节点指向右方,x4=0,表示正方体存储模块的指针节点指向null;x5=1,表示正方体存储模块的指针节点指向前方,x5=0,表示正方体存储模块的指针节点指向null;x6=1,表示正方体存储模块的指针节点指向后方,x6=0,表示正方体存储模块的指针节点指向null。
例如,如图2所示,位于正方体存储阵列左上角的正方体存储模块的指针节点状态为{0,1,0,1,0,1},位于正方体存储阵列中心位置的正方体存储模块的指针节点状态为{1,1,1,1,1,1}。
在目标正方体存储阵列中随机选取一个正方体存储模块作为第1个目标正方体存储模块之后,在目标正方体存储阵列中依次确定每一目标正方体存储模块,并输出目标信息对应的原始密钥信息:931240。
其中,若目标信息为abcdef,则931240中的9表示:目标正方体存储阵列中的9号正方体存储模块中存储有字符a;931240中的3表示:表示9号正方体存储模块右方相邻的8号正方体存储模块内存储着字符b;931240中的1表示8号正方体存储模块下方相邻的17号正方体存储模块内存储着字符c;931240中的2表示17号正方体存储模块左方相邻的18号正方体存储模块内存储着字符d;931240中的4表示18号正方体存储模块前方相邻的15号正方体存储模块内存储着字符e;931240中的0表示115号正方体存储模块上方相邻的6号正方体存储模块内存储着字符f。
对目标信息对应的原始密钥信息进行dec->hex转换后再进行base64编码后可以得到目标信息对应的目标密钥信息,并可以将目标信息对应的目标密钥信息输出给用户,用户将目标信息对应的目标密钥信息传递给第三方之后,第三方可以对目标信息对应的目标密钥信息进行base64反译后hex转dec进制后,得到目标信息对应的原始密钥信息,进而可以基于目标信息对应的原始密钥信息,从目标正方体存储阵列中读取目标信息。
本发明提供的加密存储方法采用三维随机路径存储方式对信息进行加密存储,使得攻击者无从下手破解方向,即便是使用穷举法也无法在不知道存储逻辑的前提下进行破译,提高了信息安全。
图4是本发明提供的解密提取方法的流程示意图。下面结合图4描述本发明的解密提取方法。如图4所示,该方法包括:步骤401、获取目标信息对应的原始密钥信息;
步骤402、基于原始密钥信息的指示,在目标信息对应的目标正方体存储阵列中确定各目标正方体存储模块以及各目标正方体存储模块的排列顺序;
步骤403、按照各目标正方体存储模块的排列顺序,依次提取各目标正方体存储模块中存储的字符,获得目标信息;
其中,原始密钥信息是基于如上任一所述的加密存储方法将目标信息存储于目标正方体存储阵列之后生成的。
需要说明的是,本发明实施例的执行主体为解密提取装置。
需要说明的是,本发明提供的解密提取方法为本发明提供的加密存储方法对应的解密提取方法,因此,本发明提供的解密提取方法的发明原理以及具体的执行步骤可以参见上述各实施例的内容,本发明实施例中不再赘述。
作为一个可选地实施例,获取目标信息对应的原始密钥信息,包括:获取目标信息对应的目标密钥信息;
基于预设解码方式对目标密钥信息进行解码之后,将获得的解码结果转换为十进制,获得原始密钥信息;
其中,目标密钥信息是基于如上的加密存储方法将目标信息存储于目标正方体存储阵列之后生成的。
本发明实施例通过基于目标信息对应的原始密钥信息的指示,在目标信息对应的目标正方体存储阵列中确定各目标正方体存储模块以及各目标正方体存储模块的排列顺序,按照各目标正方体存储模块的排列顺序,依次提取各目标正方体存储模块中存储的字符,获得目标信息,能更好地满足用户对于信息安全的需求,能提高用户感知。
图5是本发明提供的加密存储装置的结构示意图。下面结合图5对本发明提供的加密存储装置进行描述,下文描述的加密存储装置与上文描述的本发明提供的加密存储方法可相互对应参照。如图5所示,该装置包括:阶数确定模块501、阵列获取模块502、路径获取模块503和信息存储模块504。
阶数确定模块501,用于基于目标信息中字符的数量,确定目标信息对应的目标数值;
阵列获取模块502,用于基于目标数值,获取目标信息对应的目标数值阶的目标正方体存储阵列,目标正方体存储阵列由多个正方体存储模块组成,目标正方体存储阵列中正方体存储模块的层数以及每层中正方体存储模块的行数和列数均为目标数值;
路径获取模块503,用于在目标正方体存储阵列中确定第1个目标正方体存储模块,基于第i个目标正方体存储模块在目标正方体存储阵列中的位置,在目标正方体存储阵列中确定第i+1个目标正方体存储模块,i依次取1,2,3,…,N-1,N表示目标信息中字符的数量;
信息存储模块504,用于将目标信息中的第i个字符存储于第i个目标正方体存储模块中,将目标信息中的第i+1个字符存储于第i+1个目标正方体存储模块中。
具体地,阶数确定模块501、阵列获取模块502、路径获取模块503和信息存储模块504电连接。
本发明实施例中的加密存储装置,通过基于目标信息中字符的数量,确定目标信息对应的目标正方体存储阵列的阶数之后,获取目标信息对应的目标正方体存储阵列,进而在上述目标正方体存储阵列确定第1个目标正方体存储模块之后,基于第i个目标正方体存储模块在目标正方体存储阵列中的位置,在目标正方体存储阵列中确定第i+1个目标正方体存储模块,进而将目标信息中的第i个字符存储于第i个目标正方体存储模块中,能将信息进行三维空间形式的随机加密存储,能提高信息破译难度,能提高信息加密存储的安全性,能更好地满足用户对于信息安全的需求,能提高用户感知。
图6是本发明提供的解密提取装置的结构示意图。下面结合图6对本发明提供的解密提取装置进行描述,下文描述的解密提取装置与上文描述的本发明提供的解密提取方法可相互对应参照。如图6所示,该装置包括:密钥获取模块601、密钥解析模块602和信息提取模块603。
密钥获取模块601,用于获取目标信息对应的原始密钥信息;
密钥解析模块602,用于基于原始密钥信息的指示,在目标信息对应的目标正方体存储阵列中确定各目标正方体存储模块以及各目标正方体存储模块的排列顺序;
信息提取模块603,用于按照各目标正方体存储模块的排列顺序,依次提取各目标正方体存储模块中存储的字符,获得目标信息;
其中,原始密钥信息是基于如上任一的加密存储方法将目标信息存储于目标正方体存储阵列之后生成的。
具体地,密钥获取模块601、密钥解析模块602和信息提取模块603电连接。
本发明实施例中的解密提取装置,通过基于目标信息对应的原始密钥信息的指示,在目标信息对应的目标正方体存储阵列中确定各目标正方体存储模块以及各目标正方体存储模块的排列顺序,按照各目标正方体存储模块的排列顺序,依次提取各目标正方体存储模块中存储的字符,获得目标信息,能更好地满足用户对于信息安全的需求,能提高用户感知。
图7示例了一种电子设备的实体结构示意图,如图7所示,该电子设备可以包括:处理器(processor)710、通信接口(Communications Interface)720、存储器(memory)730和通信总线740,其中,处理器710,通信接口720,存储器730通过通信总线740完成相互间的通信。处理器710可以调用存储器730中的逻辑指令,以执行加密存储方法和/或解密提取方法。加密存储方法包括:基于目标信息中字符的数量,确定目标信息对应的目标数值;基于目标数值,获取目标信息对应的目标数值阶的目标正方体存储阵列,目标正方体存储阵列由多个正方体存储模块组成,目标正方体存储阵列中正方体存储模块的层数以及每层中正方体存储模块的行数和列数均为目标数值;在目标正方体存储阵列中确定第1个目标正方体存储模块,基于第i个目标正方体存储模块在目标正方体存储阵列中的位置,在目标正方体存储阵列中确定第i+1个目标正方体存储模块,i依次取1,2,3,…,N-1,N表示目标信息中字符的数量;将目标信息中的第i个字符存储于第i个目标正方体存储模块中,将目标信息中的第i+1个字符存储于第i+1个目标正方体存储模块中。解密提取方法包括:获取目标信息对应的原始密钥信息;基于原始密钥信息的指示,在目标信息对应的目标正方体存储阵列中确定各目标正方体存储模块以及各目标正方体存储模块的排列顺序;按照各目标正方体存储模块的排列顺序,依次提取各目标正方体存储模块中存储的字符,获得目标信息;其中,原始密钥信息是基于如上所述的加密存储方法将目标信息存储于目标正方体存储阵列之后生成的。
此外,上述的存储器730中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
另一方面,本发明还提供一种计算机程序产品,所述计算机程序产品包括计算机程序,计算机程序可存储在非暂态计算机可读存储介质上,所述计算机程序被处理器执行时,计算机能够执行上述各方法所提供的加密存储方法和/或解密提取方法。加密存储方法包括:基于目标信息中字符的数量,确定目标信息对应的目标数值;基于目标数值,获取目标信息对应的目标数值阶的目标正方体存储阵列,目标正方体存储阵列由多个正方体存储模块组成,目标正方体存储阵列中正方体存储模块的层数以及每层中正方体存储模块的行数和列数均为目标数值;在目标正方体存储阵列中确定第1个目标正方体存储模块,基于第i个目标正方体存储模块在目标正方体存储阵列中的位置,在目标正方体存储阵列中确定第i+1个目标正方体存储模块,i依次取1,2,3,…,N-1,N表示目标信息中字符的数量;将目标信息中的第i个字符存储于第i个目标正方体存储模块中,将目标信息中的第i+1个字符存储于第i+1个目标正方体存储模块中。解密提取方法包括:获取目标信息对应的原始密钥信息;基于原始密钥信息的指示,在目标信息对应的目标正方体存储阵列中确定各目标正方体存储模块以及各目标正方体存储模块的排列顺序;按照各目标正方体存储模块的排列顺序,依次提取各目标正方体存储模块中存储的字符,获得目标信息;其中,原始密钥信息是基于如上所述的加密存储方法将目标信息存储于目标正方体存储阵列之后生成的。
又一方面,本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各方法提供的加密存储方法和/或解密提取方法。加密存储方法包括:基于目标信息中字符的数量,确定目标信息对应的目标数值;基于目标数值,获取目标信息对应的目标数值阶的目标正方体存储阵列,目标正方体存储阵列由多个正方体存储模块组成,目标正方体存储阵列中正方体存储模块的层数以及每层中正方体存储模块的行数和列数均为目标数值;在目标正方体存储阵列中确定第1个目标正方体存储模块,基于第i个目标正方体存储模块在目标正方体存储阵列中的位置,在目标正方体存储阵列中确定第i+1个目标正方体存储模块,i依次取1,2,3,…,N-1,N表示目标信息中字符的数量;将目标信息中的第i个字符存储于第i个目标正方体存储模块中,将目标信息中的第i+1个字符存储于第i+1个目标正方体存储模块中。解密提取方法包括:获取目标信息对应的原始密钥信息;基于原始密钥信息的指示,在目标信息对应的目标正方体存储阵列中确定各目标正方体存储模块以及各目标正方体存储模块的排列顺序;按照各目标正方体存储模块的排列顺序,依次提取各目标正方体存储模块中存储的字符,获得目标信息;其中,原始密钥信息是基于如上所述的加密存储方法将目标信息存储于目标正方体存储阵列之后生成的。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (14)

1.一种加密存储方法,其特征在于,包括:
基于目标信息中字符的数量,确定所述目标信息对应的目标数值;
基于所述目标数值,获取所述目标信息对应的目标数值阶的目标正方体存储阵列,所述目标正方体存储阵列由多个正方体存储模块组成,所述目标正方体存储阵列中所述正方体存储模块的层数以及每层中所述正方体存储模块的行数和列数均为所述目标数值;
在所述目标正方体存储阵列中确定第1个目标正方体存储模块,基于第i个目标正方体存储模块在所述目标正方体存储阵列中的位置,在所述目标正方体存储阵列中确定第i+1个目标正方体存储模块,所述i依次取1,2,3,…,N-1,所述N表示所述目标信息中字符的数量;
将所述目标信息中的第i个字符存储于所述第i个目标正方体存储模块中,将所述目标信息中的第i+1个字符存储于所述第i+1个目标正方体存储模块中;
所述将所述目标信息中的第i个字符存储于所述第i个目标正方体存储模块中,将所述目标信息中的第i+1个字符存储于所述第i+1个目标正方体存储模块中之后,所述方法还包括:
基于各所述目标正方体存储模块在所述目标正方体存储阵列中的位置以及各所述目标正方体存储模块的排列顺序,生成所述目标信息对应的原始密钥信息;
所述基于各所述目标正方体存储模块在所述目标正方体存储阵列中的位置以及各所述目标正方体存储模块的排列顺序,生成所述目标信息对应的原始密钥信息,包括:
生成用于指示所述第1个目标正方体存储模块在所述目标正方体存储阵列中的位置的字符,作为所述原始密钥信息的第一位;
生成用于指示第n个目标正方体存储模块相对于第n-1个目标正方体存储模块所在方位的字符,作为所述原始密钥信息的第n位,所述n依次取2,3,…,N
2.根据权利要求1所述的加密存储方法,其特征在于,所述基于第i个目标正方体存储模块在所述目标正方体存储阵列中的位置,在所述目标正方体存储阵列中确定第i+1个目标正方体存储模块,包括:
在基于所述第i个目标正方体存储模块在所述目标正方体存储阵列中的位置,确定与所述第i个目标正方体存储模块相邻的任一正方体存储模块不为目标正方体存储模块的情况下,将所述任一正方体存储模块确定为所述第i+1个目标正方体存储模块。
3.根据权利要求1所述的加密存储方法,其特征在于,所述基于第i个目标正方体存储模块在所述目标正方体存储阵列中的位置,在所述目标正方体存储阵列中确定第i+1个目标正方体存储模块,包括:
基于所述第i个目标正方体存储模块在所述目标正方体存储阵列中的位置,判断所述第i个目标正方体存储模块的目标方位排列序列中的第j个方位是否有相邻的正方体存储模块,所述j的起始值为1,所述目标方位排列序列中包括多个顺序排列的方位;
在确定所述目标正方体存储阵列中所述第i个目标正方体存储模块的所述第j个方位没有相邻的正方体存储模块的情况下,j增大1,重复执行判断所述第i个目标正方体存储模块的所述第j个方位是否有相邻的正方体存储模块的步骤,直至确定所述第i个目标正方体存储模块的所述第j个方位有相邻的正方体存储模块,
在确定所述第i个目标正方体存储模块的所述第j个方位有相邻的正方体存储模块的情况下,判断所述相邻的正方体存储模块是否为目标正方体存储模块;
在确定所述相邻的正方体存储模块为目标正方体存储模块的情况下,j增大1,重复执行判断所述第i个目标正方体存储模块的所述第j个方位是否有相邻的正方体存储模块的步骤以及判断所述相邻的正方体存储模块是否为目标正方体存储模块的步骤,直至确定所述目标正方体存储阵列中在所述第j个方位所述第i个目标正方体存储模块有相邻的正方体存储模块且所述相邻的正方体存储模块不为目标正方体存储模块,
在确定所述目标正方体存储阵列中在所述第j个方位所述第i个目标正方体存储模块有相邻的正方体存储模块且所述相邻的正方体存储模块不为目标正方体存储模块的情况下,将所述相邻的正方体存储模块确定为所述第i+1个目标正方体存储模块。
4.根据权利要求3所述的加密存储方法,其特征在于,所述在确定所述目标正方体存储阵列中在所述第j个方位所述第i个目标正方体存储模块有相邻的正方体存储模块且所述相邻的正方体存储模块不为目标正方体存储模块的情况下,将所述相邻的正方体存储模块确定为所述第i+1个目标正方体存储模块之后,所述方法还包括:
在基于所述第i+1个目标正方体存储模块在所述目标正方体存储阵列中的位置,确定在所述目标正方体存储阵列中与所述第i+1个目标正方体存储模块相邻的正方体存储模块均为目标正方体存储模块的情况下,在所述目标正方体存储阵列中重新确定所述第i+1个目标正方体存储模块。
5.根据权利要求4所述的加密存储方法,其特征在于,所述重新确定所述第i+1个目标正方体存储模块,包括:
基于第i个目标正方体存储模块在所述目标正方体存储阵列中的位置,判断在所述目标正方体存储阵列中,所述第i个目标正方体存储模块的所述目标方位排列序列中的第m+1个方位是否有相邻的正方体存储模块,所述m为重新确定前的第i+1个目标正方体存储模块相对于所述第i个目标正方体存储模块的方位在所述目标方位排列序列中的序号;
在确定所述第i个目标正方体存储模块的所述第m+1个方位没有相邻的正方体存储模块的情况下,m增大1,重复执行判断所述第i个目标正方体存储模块的所述第m+1个方位是否有相邻的正方体存储模块的步骤,直至确定所述第i个目标正方体存储模块的所述第m+1个方位有相邻的正方体存储模块,
在确定所述第i个目标正方体存储模块的所述第m+1个方位有相邻的正方体存储模块的情况下,判断所述相邻的正方体存储模块是否为目标正方体存储模块;
在确定所述相邻的正方体存储模块为目标正方体存储模块的情况下,m增大1,重复执行判断所述第i个目标正方体存储模块的所述第m+1个方位是否有相邻的正方体存储模块的步骤以及判断所述相邻的正方体存储模块是否为目标正方体存储模块的步骤,直至确定所述目标正方体存储阵列中在所述第m+1个方位所述第i个目标正方体存储模块有相邻的正方体存储模块且所述相邻的正方体存储模块不为目标正方体存储模块,
在确定所述目标正方体存储阵列中在所述第m+1个方位所述第i个目标正方体存储模块有相邻的正方体存储模块且所述相邻的正方体存储模块不为目标正方体存储模块的情况下,将所述相邻的正方体存储模块确定为重新确定后的第i+1个目标正方体存储模块。
6.根据权利要求1所述的加密存储方法,其特征在于,所述基于目标信息中字符的数量,确定所述目标信息对应的目标数值,包括:
计算所述目标信息中字符的数量的两倍,作为中间结果;
将求取立方后所得计算结果不小于所述中间结果且所述求取立方后所得计算结果与所述中间结果之间差值最小的正整数,确定为所述目标数值。
7.根据权利要求1所述的加密存储方法,其特征在于,所述在所述目标正方体存储阵列中确定第1个目标正方体存储模块,包括:
在所述目标正方体存储阵列中随机选取一个正方体存储模块作为所述第1个目标正方体存储模块,或者,基于用户的输入,在所述目标正方体存储阵列中确定第1个目标正方体存储模块。
8.根据权利要求1所述的加密存储方法,其特征在于,所述生成所述目标信息对应的原始密钥信息之后,所述方法还包括:
将所述原始密钥信息转换为十六进制之后,基于预设编码方式对得到的十六进制数进行编码,获得所述目标信息对应的目标密钥信息。
9.一种解密提取方法,其特征在于,包括:
获取目标信息对应的原始密钥信息;
基于所述原始密钥信息的指示,在所述目标信息对应的目标正方体存储阵列中确定各目标正方体存储模块以及各所述目标正方体存储模块的排列顺序;
按照各所述目标正方体存储模块的排列顺序,依次提取各所述目标正方体存储模块中存储的字符,获得所述目标信息;
其中,所述原始密钥信息是基于如权利要求1所述的加密存储方法将目标信息存储于所述目标正方体存储阵列之后生成的。
10.根据权利要求9所述的解密提取方法,其特征在于,所述获取目标信息对应的原始密钥信息,包括:
获取所述目标信息对应的目标密钥信息;
基于预设解码方式对所述目标密钥信息进行解码之后,将获得的解码结果转换为十进制,获得所述原始密钥信息;
其中,所述目标密钥信息是通过将所述原始密钥信息转换为十六进制之后,基于预设编码方式对得到的十六进制数进行编码之后生成的。
11.一种加密存储装置,其特征在于,包括:
阶数确定模块,用于基于目标信息中字符的数量,确定所述目标信息对应的目标数值;
阵列获取模块,用于基于所述目标数值,获取所述目标信息对应的目标数值阶的目标正方体存储阵列,所述目标正方体存储阵列由多个正方体存储模块组成,所述目标正方体存储阵列中所述正方体存储模块的层数以及每层中所述正方体存储模块的行数和列数均为所述目标数值;
路径获取模块,用于在所述目标正方体存储阵列中确定第1个目标正方体存储模块,基于第i个目标正方体存储模块在所述目标正方体存储阵列中的位置,在所述目标正方体存储阵列中确定第i+1个目标正方体存储模块,所述i依次取1,2,3,…,N-1,所述N表示所述目标信息中字符的数量;
信息存储模块,用于将所述目标信息中的第i个字符存储于所述第i个目标正方体存储模块中,将所述目标信息中的第i+1个字符存储于所述第i+1个目标正方体存储模块中;
所述信息存储模块将所述目标信息中的第i个字符存储于所述第i个目标正方体存储模块中,将所述目标信息中的第i+1个字符存储于所述第i+1个目标正方体存储模块中之后,还用于:
基于各所述目标正方体存储模块在所述目标正方体存储阵列中的位置以及各所述目标正方体存储模块的排列顺序,生成所述目标信息对应的原始密钥信息;
所述信息存储模块基于各所述目标正方体存储模块在所述目标正方体存储阵列中的位置以及各所述目标正方体存储模块的排列顺序,生成所述目标信息对应的原始密钥信息,包括:
生成用于指示所述第1个目标正方体存储模块在所述目标正方体存储阵列中的位置的字符,作为所述原始密钥信息的第一位;
生成用于指示第n个目标正方体存储模块相对于第n-1个目标正方体存储模块所在方位的字符,作为所述原始密钥信息的第n位,所述n依次取2,3,…,N
12.一种解密提取装置,其特征在于,包括:
密钥获取模块,用于获取目标信息对应的原始密钥信息;
密钥解析模块,用于基于所述原始密钥信息的指示,在所述目标信息对应的目标正方体存储阵列中确定各目标正方体存储模块以及各所述目标正方体存储模块的排列顺序;
信息提取模块,用于按照各所述目标正方体存储模块的排列顺序,依次提取各所述目标正方体存储模块中存储的字符,获得所述目标信息;
其中,所述原始密钥信息是基于如权利要求1所述的加密存储方法将目标信息存储于所述目标正方体存储阵列之后生成的。
13.一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至8任一项所述加密存储方法,和/或,如权利要求9或10所述解密提取方法。
14.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至8任一项所述加密存储方法,和/或,如权利要求9或10所述解密提取方法。
CN202410635594.7A 2024-05-22 2024-05-22 加密存储方法、解密提取方法、装置、设备及介质 Active CN118211254B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202410635594.7A CN118211254B (zh) 2024-05-22 2024-05-22 加密存储方法、解密提取方法、装置、设备及介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202410635594.7A CN118211254B (zh) 2024-05-22 2024-05-22 加密存储方法、解密提取方法、装置、设备及介质

Publications (2)

Publication Number Publication Date
CN118211254A CN118211254A (zh) 2024-06-18
CN118211254B true CN118211254B (zh) 2024-09-03

Family

ID=91454858

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202410635594.7A Active CN118211254B (zh) 2024-05-22 2024-05-22 加密存储方法、解密提取方法、装置、设备及介质

Country Status (1)

Country Link
CN (1) CN118211254B (zh)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117544309A (zh) * 2024-01-10 2024-02-09 厦门身份宝网络科技有限公司 一种明密文混合计算存储和传输方法及系统
CN117786707A (zh) * 2022-09-28 2024-03-29 中国电信股份有限公司 数据加密方法、解密方法、装置、存储介质及电子设备

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10097348B2 (en) * 2016-03-24 2018-10-09 Samsung Electronics Co., Ltd. Device bound encrypted data
CN109327421A (zh) * 2017-08-01 2019-02-12 阿里巴巴集团控股有限公司 数据加密、机器学习模型训练方法、装置及电子设备
CN109787754B (zh) * 2018-12-14 2023-04-18 平安科技(深圳)有限公司 一种数据加解密方法、计算机可读存储介质及服务器
CN117932678A (zh) * 2024-01-29 2024-04-26 中国工商银行股份有限公司 隐私数据存储方法、读取方法、装置和计算机设备

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117786707A (zh) * 2022-09-28 2024-03-29 中国电信股份有限公司 数据加密方法、解密方法、装置、存储介质及电子设备
CN117544309A (zh) * 2024-01-10 2024-02-09 厦门身份宝网络科技有限公司 一种明密文混合计算存储和传输方法及系统

Also Published As

Publication number Publication date
CN118211254A (zh) 2024-06-18

Similar Documents

Publication Publication Date Title
JP6720424B1 (ja) 鍵共有デバイス及び方法
Liu et al. Color image encryption algorithm based on DNA coding and double chaos system
US9313026B2 (en) Key negotiation method and apparatus according to SM2 key exchange protocol
CN111211891B (zh) 一种多维度aes对称加解密方法
CN104270247B (zh) 适用于量子密码系统的高效泛Hash函数认证方法
CN110610105B (zh) 一种云环境下基于秘密共享的三维模型文件的认证方法
CN115664858B (zh) 一种用于网络安全的认证数据加密、解密系统
Wang et al. An image encryption scheme using a chaotic neural network and a network with multistable hyperchaos
CN110543778A (zh) 一种字符数据线性随机加密和解密算法
CN116071164B (zh) 一种基于区块链管理的数字资产溯源方法
CN111859424A (zh) 物理管理平台的数据加密方法、系统、终端及存储介质
CN118211254B (zh) 加密存储方法、解密提取方法、装置、设备及介质
CN107294705B (zh) 一种密钥生成和验证的方法、设备及系统
CN115834163B (zh) 加密数据的秘钥生成方法、装置、设备及存储介质
US8364958B2 (en) Sharing a secret via linear interpolation
CN112994887B (zh) 一种适用于电力物联网终端的通信加密方法及系统
Abukari et al. A new text encryption scheme suitable for combating sniffing attacks in IoT applications via non-supersingular elliptic curves over binary extension fields
Jasra et al. Mapping images over elliptic curve for encryption
Abdul-Jabbar Secure QR-code generation in healthcare
CN116915922B (zh) 图像的传输方法及装置、电子设备和存储介质
Singh et al. DESIGN AND ANALYSIS OF DNA BASED CIPHER FOR IMAGE USING DUAL CHAOTIC MAP.
CN116527400B (zh) 一种多方向置乱的数据加密方法及系统
Yevseiev et al. Research of crypto-code designs construction for using in post quantum cryptography
CN114826619B (zh) 流式系统的数据完整性验证方法、电子设备及存储介质
CN110545181B (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