CN109391607B - 数据加解密方法和装置、系统 - Google Patents

数据加解密方法和装置、系统 Download PDF

Info

Publication number
CN109391607B
CN109391607B CN201710694355.9A CN201710694355A CN109391607B CN 109391607 B CN109391607 B CN 109391607B CN 201710694355 A CN201710694355 A CN 201710694355A CN 109391607 B CN109391607 B CN 109391607B
Authority
CN
China
Prior art keywords
data
key
keys
decryption
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
CN201710694355.9A
Other languages
English (en)
Other versions
CN109391607A (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.)
Beijing Jingdong Century Trading Co Ltd
Beijing Jingdong Shangke Information Technology Co Ltd
Original Assignee
Beijing Jingdong Century Trading Co Ltd
Beijing Jingdong Shangke Information 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 Beijing Jingdong Century Trading Co Ltd, Beijing Jingdong Shangke Information Technology Co Ltd filed Critical Beijing Jingdong Century Trading Co Ltd
Priority to CN201710694355.9A priority Critical patent/CN109391607B/zh
Publication of CN109391607A publication Critical patent/CN109391607A/zh
Application granted granted Critical
Publication of CN109391607B publication Critical patent/CN109391607B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0435Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply symmetric encryption, i.e. same key used for encryption and decryption

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)

Abstract

本公开提供了一种数据加密方法,包括:确定与要加密的单一类型数据中的各数据相关联的关联特征字段,其中,对于所述单一类型数据中的至少一部分数据,它们各自的关联特征字段具有不同的字段内容;针对所述单一类型数据生成包括多于一个密钥的一组密钥;针对所述单一类型数据中要编码的某一数据,根据该数据的关联特征字段的内容,从所述一组密钥中选择针对该数据的密钥;以及利用所选择的密钥对所述数据进行加密。对应地,本公开还提供了一种数据解密方法以及对应的数据加解密装置、系统。

Description

数据加解密方法和装置、系统
技术领域
本公开涉及计算机技术领域,更具体地,涉及一种数据加解密方法和数据加解密装置、系统。
背景技术
高级加密标准AES(Advanced Encryption Standard),在密码学中又称Rijndael加密法,是美国联邦政府采用的一种区块加密标准。作为一种高性能、高安全性的加密算法,这个标准用来替代原先的数据加密标准DES(Data Encryption Standard),已经被多方分析且广为全世界所使用。经过五年的甄选流程,高级加密标准由美国国家标准与技术研究院(NIST)于2001年11月26日发布于FIPS PUB 197,并在2002年5月26日成为有效的标准。2006年,高级加密标准已然成为对称密钥加密中最流行的算法之一。
AES作为目前较为通用的可逆加解密方案,加解密方一般都是通过共享唯一的密钥来做到本地能支持高性能的加解密。
在实现本发明过程中,发明人发现现有技术中至少存在如下问题。作为示例,AES的这种加解密方共享唯一的密钥的方式,往往是每种类型的数据对应一个密钥,不能对这种类型数据进行更加精细的加密权限划分,在密文数据使用方请求解密数据时,也无法对数据进行细分权限的对应解密,容易造成唯一密钥的泄露以及不必要的数据泄露。
发明内容
有鉴于此,本公开的实施例提供了对单一的数据类型使用大量密钥进行例如对称加密的方案,帮助用户在管理涉密数据的时候,做到更加精准地分配权限,至少部分地解决加解密方共享唯一密钥算法中的密钥泄漏问题,同时避免不必要的数据泄露。
本公开的一个方面提供了一种数据加密方法,该方法包括:确定与要加密的单一类型数据中的各数据相关联的关联特征字段,其中,对于所述单一类型数据中的至少一部分数据,它们各自的关联特征字段具有不同的字段内容;针对所述单一类型数据生成包括多于一个密钥的一组密钥;针对所述单一类型数据中要编码的某一数据,根据该数据的关联特征字段的内容,从所述一组密钥中选择针对该数据的密钥;以及利用所选择的密钥对所述数据进行加密。
根据本公开的实施例,该方法还可包括将密钥索引编码与加密后的数据密文组装成最终密文进行存储。
根据本公开的实施例,该方法还可包括通过对所述关联特征字段运用MurmurHash算法取余来映射不同密钥从而完成密钥的选择。
根据本公开的实施例,该方法还可包括将加密算法版本号组装到最终密文中。
根据本公开的实施例,该方法中使用的一组密钥数量可在20w-50w之间。
本公开的另一个方面提供了一种数据解密方法,该方法包括:确定与要解密的单一类型数据的最终密文相关联的需求特征字段;根据该需求特征字段从一组密钥中选择相应的解密密钥;以及利用所选择的解密密钥对最终密文进行解密。
根据本公开的实施例,该方法还可包括从最终密文中解码出密码索引从而获得解密密钥。
根据本公开的实施例,该方法还可包括通过对所述需求特征字段运用MurmurHash算法取余来映射不同密钥从而完成解密密钥的选择。
根据本公开的实施例,该方法还可包括对最终密文进行加密算法版本号的校验。
本公开的另一个方面提供了一种数据加密装置,该装置包括:被配置成确定与要加密的单一类型数据中的各数据相关联的关联特征字段的确定模块,其中,对于所述单一类型数据中的至少一部分数据,它们各自的关联特征字段具有不同的字段内容;被配置成针对所述单一类型数据生成包括多于一个密钥的一组密钥的密钥生成模块;被配置成针对所述单一类型数据中要编码的某一数据,根据该数据的关联特征字段的内容从所述一组密钥中选择针对该数据的密钥的密钥选择模块;以及被配置成利用所选择的密钥对所述数据进行加密的加密模块。
根据本公开的实施例,该数据加密装置还可包括组装模块,该组装模块被配置成将密钥索引编码和或加密算法版本号与加密后的数据密文组装成最终密文进行存储。
本公开的另一个方面提供了一种数据解密装置,该装置包括被配置成确定与要解密的单一类型数据的最终密文相关联的需求特征字段的确定模块;被配置成根据所述需求特征字段从一组密钥中选择相应的解密密钥的密钥选择模块;以及被配置成利用所选择的解密密钥对最终密文进行解密的解密模块,所述一组密钥包含远大于一个密钥的大量密钥。
根据本公开的实施例,该数据解密装置还可包括解码模块,该解码模块被配置成从最终密文中解码出密码索引从而获得解密密钥,以及校验加密算法版本号。
本公开的另一个方面提供了一种计算机可实现的数据加解密系统,该系统包括一个或多个处理器以及存储装置。存储装置用于存储指令,当指令被一个或多个处理器执行时,执行上述实施例中的各种数据加密方法和/或数据解密方法。
本公开的另一方面提供了一种计算机可读介质,其上存储有计算机可执行代码,当处理器执行所述计算机可执行代码时,执行上面上述实施例中的各种方法。
根据本公开的实施例,可以至少部分地解决/减轻/抑制/甚至避免加解密方共享唯一密钥算法中的密钥泄漏问题以及不必要的数据泄露问题,实现对单一数据类型更精确的加解密权限划分,更有效地保障数据安全性的技术效果。
附图说明
通过以下参照附图对本公开实施例的描述,本公开的上述以及其他目的、特征和优点将更为清楚,在附图中:
图1示意性示出了根据本公开实施例的数据加密方法的流程图;
图2示意性示出了根据本公开实施例的数据解密方法的流程图;
图3示意性示出了根据本公开实施例的数据加密装置的框图;
图4示意性示出了根据本公开实施例的数据解密装置的框图;以及
图5示意性示出了根据本公开实施例的计算机可实现的数据加解密系统的框图。
具体实施方式
以下,将参照附图来描述本公开的实施例。但是应该理解,这些描述只是示例性的,而并非要限制本公开的范围。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本公开的概念。
在此使用的所有术语(包括技术和科学术语)具有本领域技术人员通常所理解的含义,除非另外定义。应注意,这里使用的术语应解释为具有与本说明书的上下文相一致的含义,而不应以理想化或过于刻板的方式来解释。
本公开的实施例利用对需要加密的单一类型的数据的关联特性,通过例如MurmurHash算法来映射大量密钥进行单一数据类型的加解密,提升了密钥的安全性,减低了密钥泄露和数据泄露的概率。
MurmurHash是一种非加密型哈希函数,适用于一般的哈希检索操作。由AustinAppleby在2008年发明,并出现了多个变种,已经发布到了公有领域。与其它流行的哈希函数相比,对于规律性较强的密钥,MurmurHash算法表现出性能更好的随机分布特征。
图1示意性示出了根据本公开实施例的数据加密方法的流程图。
如图1所示,根据该实施例的数据加密方法100包括如下操作。
在操作S110中,确定与要加密的单一类型数据中的各数据相关联的关联特征字段,其中,对于所述单一类型数据中的至少一部分数据,它们各自的关联特征字段具有不同的字段内容。
这里所提及的单一类型数据中的数据类型是指根据例如实际需求和业务类型等来分类的一些敏感性机密数据,诸如涉及个人、企业等用户隐私的诸如手机号码、用户的真实姓名和名称、地址、身份证件、邮箱、账目信息等有加密需求的不同类型的数据。
在本操作中,与单一类型数据关联的关联特征字段的内容不同,意味着会选择不同的密钥来对所关联的对应的数据部分加密。因此,关联特征字段的选取/确定应在满足用户需求、业务意义的基础上,与对需要加密的单一类型数据的加解密权限的精细分配、所设计的密钥组的密钥量级相适应。
在操作S120中,针对所述单一类型数据生成一组密钥,该密钥组包含远大于一个密钥的大量密钥。
作为示例而非限制,在本操作中,针对每个数据类型,随机生成一个密钥组,每个密钥组例如包含2^17或以上个密钥。
根据实施例,这里所生成的密钥组至少包含10,000(本文中简写为1w)以上的密钥数量,优选包含200,000-500,000(i.e.,20w-50w)个密钥数量。这样,在满足一般互联网应用中对单一类型数据进行加密权限细分需求的情况下,还能很好地实现对密钥的高速存储和有效管理。
在操作S130中,针对单一类型数据中要编码的某一数据,根据该数据的关联特征字段的内容,从所述一组密钥中选择针对该数据的密钥。
作为示例而非限制,本操作中,将数据的关联特征字段的不同内容映射到不同的数值,再通过例如MurmurHash算法对该数值执行取余操作,根据余数从密钥组中选择密钥。通过这种方式能够较好地实现在各种不同的原始数据分布情况下(无论是原始数据均匀还是不均匀分布),经过MurmurHash算法映射后的效果是最优的,即,在关联特征字段内容不同的情况下,所选择的密钥也不同并具有良好的随机分布。同时密钥的量级仍然是可管理的。
作为示例而非限制,也可以利用MurmurHash算法之外的其他算法来完成从关联特征字段到密钥的映射、选择,诸如RS Hash算法、JS Hash算法、PJW Hash算法、ELF Hash算法、BKDR Hash算法、SDBM Hash算法、DJB Hash算法、AP Hash算法等等。
在操作S140中,利用所选择的密钥对所述数据进行加密。
作为示例而非限制,利用不同关联特征字段内容A1,A2,...An(其分别与单一类型数据中的不同数据部分D1,D2,...Dn相关联),从所生成的密钥组中选出不同的加密密钥K1,K2,...Kn,实现对单一类型数据中的不同数据部分D1,D2,...Dn的单独加密。例如,可以利用选出不同的加密密钥K1,K2,...Kn对单一类型数据中的不同数据部分D1,D2,...Dn进行AES加密,也可以采用任何其它方式对数据进行加密,诸如DES算法、3DES算法、TDEA算法、Blowfish算法、RC5算法、IDEA算法等,本公开对这里的加密方式不作限制。
这里结合实际应用对本方法进行说明。假设用户需要对订单中的手机号进行加密。这里订单中的手机号即为需要加密的单一数据类型。首先,结合用户需求、密钥量级的考量,选择/确定与订单手机号关联的下单日期作为关联特征字段。针对该单一数据类型(即手机号)随机生成例如50w个密钥。利用与订单手机号关联的下单日期,通过MurmurHash算法取余,为对应的手机号从50w密钥中选择不同的密钥。利用选择出的不同密钥,对对应的手机号执行例如AES加密。可选地,可以将所生成的手机号密文和密钥索引和/或加密算法版本号组装成最终密文进行存储、传送。
在上述数据加密方法中,对单一数据类型采用大量密钥加密,提升了密钥的安全性,也降低了密钥泄露的概率。同一数据类型根据其关联特性不同而使用不同的密钥加密,保证了在解密数据时更细致的权限分配,避免不必要的数据泄露。
根据本公开的实施例,可以将所选择的密钥索引编码到上述加密后的数据密文中,与数据密文一起组装成最终密文进行存储、传送。
通过把密钥索引字段设计到密文里,避免在密文和关联特征字段分离的情况下,导致密文无法解密的情况。
根据本公开的实施例,还可以将加密算法的版本号组装到最终密文中,以便能够从密文中直接判断加密算法的版本。
根据本公开的实施例,最终密文可包括加密算法版本号、密钥索引编码以及原数据密文。
图2示意性示出了根据本公开实施例的数据解密方法的流程图。
如图2所示,根据该实施例的数据解密方法200包括如下操作。
在操作S210中,确定与要解密的单一类型数据的最终密文相关联的需求特征字段。
这里与单一数据类型相关联的需求特征字段对应于上述数据加密方法中的关联特征字段,同关联特征字段,其与解密权限的精细分配、所设计的密钥组的密钥量级有关。
在操作S230中,根据该需求特征字段从一组密钥中选择相应的解密密钥。
作为示例而非限制,通过对所述需求特征字段运用例如MurmurHash算法取余来映射到不同密钥,从而完成解密密钥的选择。这里,如果需求特征字段与上述数据加密方法中的关联特征字段相同,所选择的解密密钥也与对应数据的加密密钥相同。同样,也可以采用除MurmurHash算法之外的其他算法来完成从需求特征字段到解密密钥的映射、选择。
作为备选方式,还可以从最终密文中解码出密码索引来得到解密密钥。这样,即使需求特征字段丢失,也仍然可以解密数据。
在操作S240中,利用所选择的解密密钥对最终密文进行解密。
根据本公开的实施例,还可包括对最终密文进行加密算法版本号的校验。
同样,结合实际应用对本数据解密方法进行说明。假设用户申请解密订单中某几个下单日期(如2017年7月16日、7月19日、7月20日)的用户手机号。这里,需要解密的单一数据类型为用户手机号,其关联的需求特征字段为用户需要的具体几个下单日期。根据用户需求的这几个具体下单日期,利用例如MurmurHash算法取余,从例如上述加密方法的50w个密钥中选取对应的解密密钥(其与该下单日期对手机号加密的加密密钥相同)对密文进行解密,获得这几个具体日期(即2017年7月16日、7月19日、7月20日)中下单的手机号。
这种数据解密方法做到了精细化分配不同密钥给不同需求的用户,降低了共享唯一密钥算法的密钥泄露风险,也避免了不必要的数据泄露。
为使说明书更加简洁,上述实施例中的一些技术特征可适当地应用于以下实施例中而不再赘述。
图3示意性示出了根据本公开实施例的数据加密装置的框图。
如图3所示,根据该实施例的数据加密装置300包括确定模块310、密钥生成模块320、密钥选择模块330以及加密模块340。
确定模块310可以确定与要加密的单一类型数据中的各数据相关联的关联特征字段,其中,对于所述单一类型数据中的至少一部分数据,它们各自的关联特征字段具有不同的字段内容。
密钥生成模块320可以针对该单一类型数据生成包括一组密钥,该组密钥包含至少1w个密钥的大量密钥,优选包含20w-50w个密钥。这在满足一般互联网业务需求的基础上保证了密钥本身的高速存储和有效管理。
密钥选择模块330可以针对所述单一类型数据中要编码的某一数据,根据该数据的关联特征字段的内容,从所述一组密钥中选择针对该数据的密钥。作为示例而非限制,通过例如MurmurHash算法将关联特征字段映射到密钥组中不同的密钥上,同时保证所选择密钥的良好随机分布。
加密模块340可以利用所选择的密钥对所述数据进行加密,例如利用高级加密标准AES加密。
利用上述数据加密装置300,对单一数据类型采用大量密钥加密,提升了密钥的安全性,也降低了密钥泄露的概率。同一数据类型根据其关联特性不同而使用不同的密钥加密,保证了在解密数据时更细致的权限分配,避免不必要的数据泄露。
根据本公开的实施例,数据加密装置300还可以进一步包括组装模块350,用于将密钥索引编码和或加密算法版本号与加密后的数据密文组装成最终密文进行存储、传送。通过将密钥索引随密文一起编码到最终密文中,确保了在关联特征字段丢失的情况下,依然能够获得密钥对密文进行解密。
图4示意性示出了根据本公开实施例的数据解密装置的框图。
如图4所示,根据该实施例的数据解密装置400包括确定模块410、密钥选择模块430以及解密模块440。
确定模块410可以确定与要解密的单一类型数据的最终密文相关联的需求特征字段。这里,需求特征字段对应于数据加密装置中的关联特征字段。
密钥选择模块430可以根据需求特征字段从数据加密装置/方法中使用的一组密钥中选择相应的解密密钥。同样,这里也采用例如MurmurHash算法将用户需要的需求特征字段映射到解密密钥,如果关联特征字段与需求特征字段的内容相同,则所选择的加、解密密钥也相同。
解密模块440被配置成利用所选择的解密密钥对最终密文进行解密。
利用数据解密装置400,可以按照用户实际需求,精细化分配不同密钥给不同需求的用户,解决了共享唯一密钥算法的密钥泄露问题,也避免了不必要的数据泄露。
根据本公开的实施例,数据解密装置400还可以包括解码模块450,用于从最终密文中解码出密码索引从而获得解密密钥,从而帮助用户在需求关联字段丢失的情况下依然能够解密数据。该解码模块450还可以用于对版本号进行校验。
图5示意性示出了根据本公开实施例的计算机可实现的数据加解密系统500的框图。该数据加密系统500包括一个或多个处理器501以及存储装置508。存储装置508用于存储指令,当指令被所述一个或多个处理器501执行时,执行本公开实施例所述的数据加密方法和/或数据解密方法。
图5示出的计算机可实现的数据加解密系统500仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图5所示,在根据该实施例的计算机可实现的数据加解密系统500中,中央处理单元(CPU)501可以根据存储在只读存储器(ROM)502中的程序或者从存储装置508加载到随机访问存储器(RAM)503中的程序而执行各种适当的动作和处理。在RAM 503中,还存储有系统500操作所需的各种程序和数据。CPU 501、ROM 502以及RAM 503通过总线504彼此相连。输入/输出(I/O)接口505也连接至总线504。
系统500还可以包括连接至I/O接口505的以下部件中的一项或多项:包括键盘、鼠标等的输入部分506;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分507;包括硬盘等的存储装置508;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分509。通信部分509经由诸如因特网的网络执行通信处理。驱动器510也根据需要连接至I/O接口505。可拆卸介质511,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器510上,以便于从其上读出的计算机程序根据需要被安装入存储装置508。
特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分509从网络上被下载和安装,和/或从可拆卸介质511被安装。在该计算机程序被中央处理单元(CPU)501执行时,执行本公开实施例的系统中限定的上述功能。
作为另一方面,本公开实施例还提供一种存储有计算机可执行代码的计算机可读介质,当所述计算机可执行代码由处理器执行时,执行本公开实施例所述的数据加、解密方法。该计算机可读介质可以是上述实施例中描述的装置、系统中所包含的;也可以是未装配入该装置、系统中而单独存在的。
需要说明的是,本公开所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本公开中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
本文使用的术语仅仅是为了描述具体实施例,而并非意在限制本公开。此外,在此使用的术语“包括”、“包含”等表明了所述特征、步骤、操作和/或部件的存在,但是并不排除存在或添加一个或多个其他特征、步骤、操作或部件。
附图中的流程图和框图,图示了按照本公开各种实施例的装置、系统、方法和计算机可读介质的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个硬件模块、一个程序段、或代码的一部分,上述模块、程序段、或代码的一部分可包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,流程图、方框中所标注的功能也可以以不同于附图中所标注的顺序发牛。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
以上对本公开的实施例进行了描述。但是,这些实施例仅仅是为了说明的目的,而并非为了限制本公开的范围。尽管在以上分别描述了各实施例,但是这并不意味着各个实施例中的措施不能有利地结合使用。本公开的范围由所附权利要求及其等同物限定。不脱离本公开的范围,本领域技术人员可以做出多种替代和修改,这些替代和修改都应落在本公开的范围之内。

Claims (12)

1.一种数据加密方法(100),包括:
确定(S110)与要加密的单一类型数据中的各数据相关联的关联特征字段,其中,对于所述单一类型数据中的至少一部分数据,它们各自的关联特征字段具有不同的字段内容;
针对所述单一类型数据生成(S120)包括多于一个密钥的一组密钥,所述一组密钥数量在20万-50万之间;
针对所述单一类型数据中要编码的数据,根据该数据的关联特征字段的内容,从所述一组密钥中选择(S130)针对该数据的密钥,所述选择包括:通过对所述关联特征字段运用MurmurHash算法取余来映射不同密钥从而完成对密钥的选择;以及
利用所选择的密钥对所述数据进行加密(S140)。
2.根据权利要求1所述的数据加密方法(100),进一步包括:将密钥索引编码与加密后的数据密文组装成最终密文进行存储。
3.根据权利要求2所述的数据加密方法(100),进一步包括:将加密算法版本号组装到所述最终密文中。
4.一种数据解密方法(200),包括:
确定(S210)与要解密的单一类型数据的最终密文相关联的需求特征字段;
根据所述需求特征字段从包括多于一个密钥的一组密钥中选择(S230)相应的解密密钥,所述一组密钥数量在20万-50万之间,并且所述选择包括:通过对所述需求 特征字段运用MurmurHash算法取余来映射不同密钥从而完成对密钥的选择;以及
利用所选择的解密密钥对最终密文进行解密(S240)。
5.根据权利要求4所述的数据解密方法(200),进一步包括:从最终密文中解码出密码索引从而获得解密密钥。
6.根据权利要求4所述的数据解密方法(200),进一步包括:对最终密文进行加密算法版本号的校验。
7.一种数据加密装置(300),包括:
确定模块(310),被配置成确定与要加密的单一类型数据中的各数据相关联的关联特征字段,其中,对于所述单一类型数据中的至少一部分数据,它们各自的关联特征字段具有不同的字段内容;
密钥生成模块(320),被配置成针对所述单一类型数据生成包括多于一个密钥的一组密钥,所述一组密钥数量在20万-50万之间;
密钥选择模块(330),被配置成针对所述单一类型数据中要编码的数据,根据该数据的关联特征字段的内容,从所述一组密钥中选择(S130)针对该数据的密钥,所述选择包括:通过对所述关联特征字段运用MurmurHash算法取余来映射不同密钥从而完成对密钥的选择;以及
加密模块(340),被配置成利用所选择的密钥对所述数据进行加密。
8.根据权利要求7所述的数据加密装置(300),进一步包括:
组装模块(350),被配置成将密钥索引编码和/或加密算法版本号与加密后的数据密文组装成最终密文进行存储。
9.一种数据解密装置(400),包括:
确定模块(410),被配置成确定与要解密的单一类型数据的最终密文相关联的需求特征字段;
密钥选择模块(430),被配置成根据所述需求特征字段从包括多于一个密钥的一组密钥中选择相应的解密密钥,所述一组密钥数量在20万-50万之间,并且所述选择包括:通过对所述需求 特征字段运用MurmurHash算法取余来映射不同密钥从而完成对密钥的选择;以及
解密模块(440),被配置成利用所选择的解密密钥对最终密文进行解密。
10.根据权利要求9所述的数据解密装置(400),进一步包括:
解码模块(450),从最终密文中解码出密码索引从而获得解密密钥,以及校验加密算法版本号。
11.一种计算机实现的数据加解密系统(500),包括:
一个或多个处理器(501);
存储装置(508),用于存储指令,其中,当所述指令被所述一个或多个处理器执行时,使得所述一个或多个处理器执行前述权利要求1-3所述的数据加密方法和/或权利要求4-6所述的数据解密方法。
12.一种计算机可读介质,其上存储有计算机可执行代码,当所述计算机可执行代码由处理器执行时,使得处理器执行权利要求1-6所述的方法。
CN201710694355.9A 2017-08-14 2017-08-14 数据加解密方法和装置、系统 Active CN109391607B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710694355.9A CN109391607B (zh) 2017-08-14 2017-08-14 数据加解密方法和装置、系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710694355.9A CN109391607B (zh) 2017-08-14 2017-08-14 数据加解密方法和装置、系统

Publications (2)

Publication Number Publication Date
CN109391607A CN109391607A (zh) 2019-02-26
CN109391607B true CN109391607B (zh) 2022-04-26

Family

ID=65417410

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710694355.9A Active CN109391607B (zh) 2017-08-14 2017-08-14 数据加解密方法和装置、系统

Country Status (1)

Country Link
CN (1) CN109391607B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112953705B (zh) * 2019-12-10 2022-12-30 中国电信股份有限公司 密钥选择方法及装置、计算机可存储介质
CN110912941A (zh) * 2019-12-27 2020-03-24 北京四达时代软件技术股份有限公司 组播数据的传输处理方法及装置
CN112272086B (zh) * 2020-10-23 2024-06-11 中科美络科技股份有限公司 一种数据加密传输方法、系统及智能终端

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3396634B2 (ja) * 1998-10-21 2003-04-14 日本電信電話株式会社 データ暗号/復号化装置及びそのプログラム記録媒体
CN101340279A (zh) * 2008-07-09 2009-01-07 深圳市金蝶移动互联技术有限公司 数据加密及解密方法、系统及设备
CN102421096A (zh) * 2011-12-22 2012-04-18 厦门雅迅网络股份有限公司 一种基于无线网络的数据安全传输方法
CN104244235A (zh) * 2013-06-20 2014-12-24 中国移动通信集团安徽有限公司 一种电信话单敏感信息加密、解密方法及系统
CN104410616A (zh) * 2014-11-20 2015-03-11 广州日滨科技发展有限公司 数据加密、解密、传输方法和系统

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9135471B2 (en) * 2010-03-10 2015-09-15 Dell Products L.P. System and method for encryption and decryption of data
CN103248474B (zh) * 2012-02-01 2016-08-10 华为技术有限公司 一种流媒体的加密、解密方法和装置
CN104363091B (zh) * 2014-12-01 2017-09-12 国家计算机网络与信息安全管理中心 一种自动检索密钥和选择算法的加解密方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3396634B2 (ja) * 1998-10-21 2003-04-14 日本電信電話株式会社 データ暗号/復号化装置及びそのプログラム記録媒体
CN101340279A (zh) * 2008-07-09 2009-01-07 深圳市金蝶移动互联技术有限公司 数据加密及解密方法、系统及设备
CN102421096A (zh) * 2011-12-22 2012-04-18 厦门雅迅网络股份有限公司 一种基于无线网络的数据安全传输方法
CN104244235A (zh) * 2013-06-20 2014-12-24 中国移动通信集团安徽有限公司 一种电信话单敏感信息加密、解密方法及系统
CN104410616A (zh) * 2014-11-20 2015-03-11 广州日滨科技发展有限公司 数据加密、解密、传输方法和系统

Also Published As

Publication number Publication date
CN109391607A (zh) 2019-02-26

Similar Documents

Publication Publication Date Title
US11019040B2 (en) Cloud key escrow system
US9037870B1 (en) Method and system for providing a rotating key encrypted file system
US20140281520A1 (en) Secure cloud data sharing
US10965652B2 (en) Secure messaging
CN109391607B (zh) 数据加解密方法和装置、系统
US11997075B1 (en) Signcrypted envelope message
CN111555880A (zh) 数据碰撞方法、装置、存储介质及电子设备
US11146388B2 (en) System and method for application-independent compartmentalized encryption
CN110737905B (zh) 数据授权方法、数据授权装置及计算机存储介质
CN110113162A (zh) 一种敏感信息处理系统、方法及其设备
CN111949998A (zh) 对象检测及请求方法、数据处理系统、装置及存储介质
Jaithunbi et al. Preservation of data integrity in public cloud using enhanced vigenere cipher based obfuscation
CN117390675A (zh) 数据查询方法、电子设备和可读存储介质
CN111639354A (zh) 数据加密方法及装置、数据解密方法及装置、电子设备
CN111404895A (zh) 一种共享数据可读权限分配与回收方法、设备及存储介质
KR101992402B1 (ko) 동형 암호화를 이용한 개인 정보 보호 방법
CN114615087B (zh) 数据共享方法、装置、设备及介质
CN110602075A (zh) 一种加密访问控制的文件流处理的方法、装置及系统
US11468178B1 (en) Embedded obfuscated channel cryptography
CN107707528B (zh) 一种用户信息隔离的方法和装置
CN116204903A (zh) 一种财务数据安全管理方法、装置、电子设备及存储介质
Jyoti et al. Achieving cloud security using hybrid cryptography algorithm
CN108985109A (zh) 一种数据存储方法及装置
CN110619236A (zh) 一种基于文件凭证信息的文件授权访问方法、装置及系统
US10044685B2 (en) Securing enterprise data on mobile devices

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